body, h1, h2, h3, h4, h5 {
    font-family: 'ShieldSans';
	line-height: 1.5;
}

h1 {
    font-family: 'Topgolf Condensed';
	font-weight: bold;
}

#kc-page-title {
	font-size: 1.75rem;
}

.login-tt a {
	color: #1A9ED5
}

/*
 Subtitle
*/

div.subtitle {
	margin-left: 12px;
	margin-right: 12px;
	margin-top: 0;
	text-align: left;
}

span.subtitle .required {
	color: unset;
}

/*
	Body
*/


@media (min-width: 768px) {
	.login-tt body {
		background: url('../../img/background.png') no-repeat center center fixed;
		background-size: cover;
	}

	.login-tt .tt-body {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 100%;
	}
}

@media (max-width: 767px) {
	.kcBodyClass {
		padding: 0 !important;
	}
	.kcLoginClass {
		padding: 0;
		margin: 0;
	}

	.login-pf-page .card-pf {
		padding-top: 1rem;
	}

	#kc-locale {
		top: 10px;
	}

	#kc-content, #kc-username {
		padding-left: 2rem !important;
		padding-right: 2rem !important;
	}

	.login-pf-page {
		min-height: 100%;
	}

	.card-pf {
		flex-grow: 1;
	}
	
}

/* Top bar */


.logo {
    width: 100%;
}

img.logo, div.toptracer-logo-text {
    height: 3.5rem;
    width: auto;
    margin: 0 auto;
    max-width: 100%;
}

div.toptracer-logo-text {
    background-image: url(../../img/tt-logo-blue.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

div.toptracer-logo-text span {
    display: none;
}

#kc-header {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-grow: 0;
}

/* Main Card */

.kcFormCardClass.card-pf {
	padding: 0;
	margin: 0;
}

/* Top & Bottom bar */

.contactUs {
	background-color: #F4F5F6;
}

#kc-content, #kc-username {
	padding-left: 2rem;
	padding-right: 2rem;
}

/*
	Prefilled username box
*/

#kc-username {
	display: flex;

	align-items: center;
	justify-content: space-between;
	border-radius: 0.5rem;
	background-color: #F3F4F5;
	margin-left: 2rem;
	margin-right: 2rem;
	padding: 0.5rem 1rem 0.5rem 1rem;
	text-align: left;
}

#kc-username .kc-login-tooltip {
	font-size: 1rem;
}

/* Client & Realm Logo */

.login-tt-page-header {
	flex-grow: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-basis: 3.5rem;
	padding: 1rem 2rem 1rem 2rem;
}

.login-tt-page-header .clientLogo img {
	width: auto;
	height: 2rem;
}


/*
	Form Box
*/

.widePage {
	flex-basis: 1000px !important;
}

.login-pf-page {
	border-radius: 0.6rem;
    padding: 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
    flex-basis: 500px;
    margin: auto 0;
}

.login-pf-page .login-pf-page-header {
	margin-bottom: 1rem;
}

#kc-header-wrapper {
	display: flex;
	align-items: center;
}

.login-tt-page-header {
	background-color: #F4F5F6;
}

.card-pf {
	border: unset;
    box-shadow: unset;
	max-width: unset;
	margin: 0;
}

/* Contact Us */

.contactUs {
	display: flex;
	flex-direction: column;
	justify-items: center;
	align-items: center;

	padding-top: 1rem;
	padding-bottom: 1rem;
	
	font-size: 1rem;
}

#kc-footer {
	flex-grow: 0;
}

#kc-footer p {
	color: #000000;
}

/*
	Inputs
*/

#kc-content .form-group label {
	/* Fix label being behind input on some pages */
	z-index: 200;

	position: absolute;
	margin-top: -0.6rem;
	margin-left: 1rem;
	background-color: #FFF;
	padding-left: 0.5rem;
	padding-right: 0.5rem;
	
	font-weight: normal;
	
}

.pf-c-form-control {
	--pf-c-form-control--Height: 3rem;
	--pf-c-form-control--BorderRadius: 0.5rem;
    --pf-global--spacer--form-element: 0.5rem;
	padding-left: 1rem;
	padding-right: 1rem;
    border-color: #c4c4c4;
    --pf-c-form-control--BorderBottomColor: var(--pf-global--BorderColor--300);
	transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
}

.pf-c-form-control:focus {
    --pf-c-form-control--focus--BorderBottomWidth: 1px;

	border-color: #0088ce;
	outline: 0;
	box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(0,136,206,.6);
}

.pf-c-form-control:active, .pf-c-form-control:focus, .pf-c-form-control:hover {
    --pf-c-form-control--BorderBottomColor: var(--pf-global--BorderColor--300);
}

.pf-c-input-group .pf-c-form-control {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.pf-c-input-group .pf-c-button::after {
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
    border-color: #c4c4c4;
}

.tt-form-buttons-wrapper {
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: space-evenly;
}

/*
	Buttons
*/

.tt-c-button {
	border-radius: .5rem;
	min-width: 10rem;
	height: 2.75rem;
	
	font-weight: 700;

    --pf-c-button--m-primary--BackgroundColor: #1a9ed5;

	background-image: none;
	background-repeat: unset;
	border: none;

	box-shadow: 0px 3px 1px -2px #00000033,
				0px 2px 2px 0px #00000024,
				0px 1px 5px 0px #0000001F;
}

.tt-c-button:hover {
    --pf-c-button--m-primary--hover--BackgroundColor: rgb(15, 99, 136);
}

.tt-c-button:active {
    --pf-c-button--m-primary--active--BackgroundColor: rgb(11, 79, 108);
}

/*
Social
*/

.kc-social-links {
	padding: 0 1rem 0 1rem;
	margin-top: 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.kc-social-provider-logo {
	float: unset;
}

.kc-social-icon-text {
	left: unset;
}

.kc-social-links > .kc-social-item {
	margin: 0;
}

.kc-social-links .kc-social-item {
	height: 3rem;
	align-items: center;

	background-color: #FFFFFF;
	border-radius: 0.5rem;
	border: solid 1px #747775;
	padding: 0.5rem 1rem 0.5rem 1rem;
	display: flex;
	color: #2C3843;

    --pf-c-button--after--BorderColor: transparent;
}

.kc-social-links .kc-social-item i {
	flex: 0 0;
	align-self: center;
	font-size: 1.5rem;
}

.kc-social-links .kc-social-item span {
	flex: 1 0;
	font-weight: bold;
}

/*
    Signup
*/

.login-tt-signup #kc-info-wrapper {
    background-color: unset;
    text-align: center;
}

#kc-registration {
	font-weight: bold;
	font-size: 1rem;
}

/*
	Separator
*/

.separator {
	display: flex;
	align-items: center;
	text-align: center;
	color: #15222E;
	font-size: 0.9rem;
	font-weight: bold;
	text-transform: uppercase;
	gap: 2rem;
	margin-top: 1rem;
	margin-bottom: 1rem;
}

.separator::before,
.separator::after {
	content: '';
	flex: 1;
	border-bottom: 1px solid #5B646D;
}

.separator:not(:empty)::before {
	margin-right: .25em;
}

.separator:not(:empty)::after {
	margin-left: .25em;
}

/*
	form buttons
*/

#kc-form-buttons {
	margin-top: 0;

	display: flex;
	justify-content: space-evenly;
}

/*
	About Toptracer Account
*/

.login-pf-page .card-pf p {
	color: #000000;
}

.tt-about-account {
	font-size: 0.875rem;
}

/*
	Fixed username component
*/

.tt-username-box {
	background: #F3F4F5;
	border-radius: 0.5rem;
	padding: 1rem 2rem 1rem 2rem;
	font-size: 1.7rem;
	font-weight: bold;

	display: flex;
	align-items: center;
}

#kc-attempted-username {
	overflow: hidden;
	text-overflow: ellipsis;
}

.tt-username-box #kc-attempted-username {
	flex-grow: 1;
	text-align: left;
	font-size: inherit;
	margin: 0;
	font-weight: bold;
}

.tt-username-box #reset-login {
	font-size: 1.5rem;
}

/*
	Try another way
*/

#kc-select-try-another-way-form {
	margin-top: 1rem;
	text-align: center;
}

/*
	Rember me toggle
*/

#kc-form-options {
	flex-grow: 1;
}

.checkbox label {
	padding-left: 0 !important;
	margin-top: 0 !important;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.checkbox label::before {
	content: '';
	position: relative;
	display: inline-block;
	width: 40px;
	height: 14px;
	background-color: #a8a8a9 !important;
	transition: all 0.3s;
	border-radius: 14px;
}

.checkbox label::after {
	content: '';
	position: absolute;
	width: 20px;
	height: 20px;
	border-radius:50%;
	background-color: #ebeced;
	top: 0px;
	left: 0px;
	transition: all 0.3s;
	box-shadow: 0px 2px 1px -1px #00000033, 0px 1px 1px 0px #00000024, 0px 1px 3px 0px #0000001F;
}

.checkbox label:has(input:checked)::before {
	background-color: #84d8f0 !important;
}
.checkbox label:has(input:checked)::after {
	background-color: #00acde !important;
}

.checkbox label:has(input:checked)::after {
	left: 20px;
}

.checkbox input {
	display: none;
}

/*
Contact us
*/
.contact-card {
	width: 100%;
	max-width: 600px;
	margin: auto;
}

.contact-form input,
.contact-form textarea {
	width: 100%;
	padding: 10px;
	margin-bottom: 15px;
}

.contact-form textarea {
	resize: vertical;
	min-height: 100px;
}

.contact-form button {
	width: 100%;
	padding: 10px;
}

/*
Terms and conditions / privacy policy
*/

#kc-registration-terms-text {
	font-size: 16px;
	max-height: unset;
    overflow-y: unset;
    overflow-x: unset;
	margin-left: 0;
	margin-right: 0;
}

#termsAccepted {
	margin: unset;
	margin-top: -0.1rem;
	margin-left: 0.5rem;
	vertical-align: text-top;
}

input[type="checkbox"] {
	box-sizing: border-box;
	width: 24px;
	height: 24px;
	margin: 6px;
	appearance: none;
	background-image: url('data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M19%205V19H5V5H19ZM19%203H5C3.9%203%203%203.9%203%205V19C3%2020.1%203.9%2021%205%2021H19C20.1%2021%2021%2020.1%2021%2019V5C21%203.9%2020.1%203%2019%203Z%22%20fill%3D%22%2315222E%22%20fill-opacity%3D%220.56%22%2F%3E%3C%2Fsvg%3E');
}

input[type="checkbox"]:checked {
  background-size: cover;
  padding: 2px;
}

input[type="checkbox"]:not(:disabled):checked {
  background-image: url('data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M19%203H5C3.89%203%203%203.9%203%205V19C3%2020.1%203.89%2021%205%2021H19C20.11%2021%2021%2020.1%2021%2019V5C21%203.9%2020.11%203%2019%203ZM10%2017L5%2012L6.41%2010.59L10%2014.17L17.59%206.58L19%208L10%2017Z%22%20fill%3D%22%2300a2da%22%20fill-opacity%3D%221%22%2F%3E%3C%2Fsvg%3E');
}


label[for="termsAccepted"] {
	margin: 0 0 0 0 !important;
	font-size: 16px;
}

/*
Form actions
*/

.form-actions {
	display: flex;
	gap: 1rem;
	justify-content: center;
	flex-wrap: wrap;
}