/* rubik-regular - latin */
@font-face {
	font-family: 'Rubik';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/rubik-v19-latin-regular.eot');
	/* IE9 Compat Modes */
	src: local(''), url('../fonts/rubik-v19-latin-regular.eot?#iefix') format('embedded-opentype'),
		/* IE6-IE8 */
		url('../fonts/rubik-v19-latin-regular.woff2') format('woff2'),
		/* Super Modern Browsers */
		url('../fonts/rubik-v19-latin-regular.woff') format('woff'),
		/* Modern Browsers */
		url('../fonts/rubik-v19-latin-regular.ttf') format('truetype'),
		/* Safari, Android, iOS */
		url('../fonts/rubik-v19-latin-regular.svg#Rubik') format('svg');
	/* Legacy iOS */
}

/* rubik-500 - latin */
@font-face {
	font-family: 'Rubik';
	font-style: normal;
	font-weight: 500;
	src: url('../fonts/rubik-v19-latin-500.eot');
	/* IE9 Compat Modes */
	src: local(''), url('../fonts/rubik-v19-latin-500.eot?#iefix') format('embedded-opentype'),
		/* IE6-IE8 */
		url('../fonts/rubik-v19-latin-500.woff2') format('woff2'),
		/* Super Modern Browsers */
		url('../fonts/rubik-v19-latin-500.woff') format('woff'),
		/* Modern Browsers */
		url('../fonts/rubik-v19-latin-500.ttf') format('truetype'),
		/* Safari, Android, iOS */
		url('../fonts/rubik-v19-latin-500.svg#Rubik') format('svg');
	/* Legacy iOS */
}

/* rubik-600 - latin */
@font-face {
	font-family: 'Rubik';
	font-style: normal;
	font-weight: 600;
	src: url('../fonts/rubik-v19-latin-600.eot');
	/* IE9 Compat Modes */
	src: local(''), url('../fonts/rubik-v19-latin-600.eot?#iefix') format('embedded-opentype'),
		/* IE6-IE8 */
		url('../fonts/rubik-v19-latin-600.woff2') format('woff2'),
		/* Super Modern Browsers */
		url('../fonts/rubik-v19-latin-600.woff') format('woff'),
		/* Modern Browsers */
		url('../fonts/rubik-v19-latin-600.ttf') format('truetype'),
		/* Safari, Android, iOS */
		url('../fonts/rubik-v19-latin-600.svg#Rubik') format('svg');
	/* Legacy iOS */
}

body {
	background: #2e3244;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	min-height: 100vh;
	margin: 0;
}

* {
	font-family: 'Rubik', sans-serif;
}

a {
    color: #1FA0F0;
    transition: color 0.2s ease;;
    text-decoration: none;
    cursor: pointer;
}

a:hover {
	color: #1FA0F0;
    transition: color 0.2s ease;;
	text-decoration: none;
	cursor: pointer;
}

p {
	margin: 0;
}

.boundingBox {
	background: #2e3244;
	border-radius: 12px;
	margin: 0 auto;
    padding: 0 2rem;
}

.logo {
	width: 124px;
	margin: 32px auto;
	image-rendering: -moz-crisp-edges;
	image-rendering: -o-crisp-edges;
	image-rendering: -webkit-optimize-contrast;
	image-rendering: crisp-edges;
}

.main-wrapper {
	width: 90%;
}

.text-wrapper {
	overflow-wrap: normal;
	word-wrap: normal;
	hyphens: manual;
	width: 20rem;
}

.title {
	margin-bottom: .25rem;
}

input[type="password"], input[type="text"], input[type="number"] {
	position: relative;
	background: #35394e;
	height: 42px;
	border-radius: 8px;
	border: none;
	color: white;
	font-size: 16px;
	padding-left: 16px;
	padding-right: 40px;
    box-sizing: border-box;
    width: 100%;
	-moz-appearance: textfield;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.inputError {
	border: 1px solid #FF6060 !important;
}

input::placeholder {
	color: #8289a3;
	font-size: 16px;
}

.inputLabel {
	font-size: 14px;
	margin: 0 0.5rem 12px 0;
	color: white;
}

.inputVerticalSpacing {
	padding-top: 24px;
}

.button {
	background: #1fa0f0;
	border: none;
	height: 2.7rem;
	color: white;
	border-radius: 10px;
	font-weight: 500;
	font-size: 0.875rem;
	width: 100%;
	margin: 0 auto;
	transition: opacity 0.2s ease;
}

.button-secondary {
    background: #35394e;
    color: #9fa6c1;
}

.button:hover {
	cursor: pointer;
}

.button:disabled {
	opacity: 0.5;
	transition: opacity 0.2s ease;
}

.button:disabled:hover {
	cursor: not-allowed;
}

.passwordVisualizer {
	position: absolute;
	color: white;
	left: 100%;
	margin-left: -35px;
}

.passwordVisualizer:hover {
	cursor: pointer;
}

.passwordInput {
	position: relative;
}

.submitButton{
	margin-top: 2rem;
	margin-bottom: 2rem;
}

input[type="checkbox"]:hover {
	cursor: pointer;
}

input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	background-color: #35394e;
	transition: background-color 0.25s ease;
	margin: 0;
	width: 24px;
	height: 24px;
	border-radius: 6px;
	display: grid;
	place-content: center;
	margin-right: 8px;
}

input[type="checkbox"]::before {
	content: "";
	width: 24px;
	height: 24px;
	opacity: 0;
	box-shadow: inset 24px 24px white;
	transition: opacity 0.25s ease;
	border-radius: 6px;
	clip-path: polygon(28.04% 52.11%, 39.1% 62.94%, 72.11% 29.22%, 76.63% 33.64%, 39.05% 72.01%, 23.48% 56.76%);
}

input[type="checkbox"]:checked {
	background: #1fa0f0;
	transition: background-color 0.25s ease;
}

input[type="checkbox"]:checked::before {
	opacity: 1;
	transition: opacity 0.25s ease;
}

.registerText {
	padding-bottom: 2rem;
}

.registerLink {
	color: #1fa0f0;
	margin-left: 5px;
}

.error-message {
	font-size: 14px;
}

.forgotPassword {
	color: #8289a3;
	transition: color 0.2s ease;
}

.forgotPassword:hover {
	color: #1FA0F0;
	transition: color 0.2s ease;
}

.extraOptions {
	font-size: 14px;
	display: flex;
	margin: 24px auto auto;
	align-items: center;
	gap: 10px;
}

.remember-me {
	cursor: pointer;
	user-select: none;
}

.backToLogin {
	margin-bottom: 1rem;
	color: #1fa0f0;
	margin-left: 4px;
}

.alreadyHaveAccount {
	color: #8289a3;
}

.title {
	font-size: 16px;
	color: white;
	margin-bottom: 0.375rem;
}

.description {
	font-size: 14px;
	color: #8289a3;
	margin-bottom: 1.25rem;
}

.description-no-margin {
    font-size: 14px;
    color: #8289a3;
}

.submitButtonBottom {
	margin: 1rem 0 1rem 0;
}

/* Common */
.flex {
	display: flex;
}

.flex-col {
	flex-direction: column;
}

.justify-center {
	justify-content: center;
	margin: 0 auto;
}

.justify-between {
	justify-content: space-between;
}

.items-center {
	align-items: center;
}

.hidden {
	display: none;
}

.block {
	display: block;
}

.vertical-gap {
	gap: 10px;
}

.p-2 {
    padding: 1rem;
}

.mb-1 {
	margin-bottom: 0.25rem;
}

.mb-2 {
    margin-bottom: 0.5rem;
}

.mb-2\.5 {
    margin-bottom: 0.625rem;
}

.mb-4 {
    margin-bottom: 1rem;
}

.mb-5 {
    margin-bottom: 1.25rem;
}

.mt-5 {
    margin-top: 1.25rem;
}

.mt-6 {
    margin-top: 1.5rem;
}

.mb-6 {
    margin-bottom: 1.5rem;
}

.mb-8 {
    margin-bottom: 2rem;
}

.mr-1 {
	margin-right: 0.25rem;
}

.gap-2 {
    gap: 0.5rem;
}

.mt-2 {
	margin-top: 1rem;
}

.mt-6 {
	margin-top: 1.5rem;
}

.mt-8 {
	margin-top: 2rem;
}

.w-full {
	width: 100%;
}

.min-w-full {
    min-width: 100%;
}

.font-sm {
	font-size: 0.875rem;
}

/* Text colours */

.text-primary {
	color: white;
}

.text-secondary {
	color: #8289a3;
}

.text-error {
	color: #FF2842;
}

.text-center {
	text-align: center;
}

.alert {
	border-radius: 6px;
	font-weight: lighter;
    color: white;
}

.alert-error {
    outline: #FF2842 solid 1px;
    background: rgba(255, 40, 66, 0.2);
}

.alert-warning {
    outline: #f1ad55 solid 1px;
    background: #f1ad5529;
}

.alert-success {
	outline: #28ff89 solid 1px;
	background: rgba(40, 255, 137, 0.2);
}

.alert-info {
    outline: #1fa0f0 solid 1px;
    background: rgba(31, 160, 240, 0.2);
}

.auth-change-alert {
    border-radius: 8px;
    line-height: 1.5;
    text-align: left;
    margin-bottom: 1rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.auth-change-alert-title {
    font-weight: 600;
    font-size: 1rem;
    color: white;
}

.alert strong {
    font-weight: 600;
}

.auth-change-alert {
    border-radius: 8px;
    line-height: 1.5;
    text-align: left;
    margin-bottom: 1rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.auth-change-alert-title {
    font-weight: 600;
    font-size: 1rem;
    color: white;
}


@media only screen and (min-width: 768px) {
	.registerNameFields {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
        gap: 1rem;
	}

    body {
		background: #1f2333;
	}

	.boundingBox {
        max-width: 400px;
    }

	.extraOptions {
		margin-top: 24px;
		font-size: 14px;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}

	.alert-error, .alert-success, .alert-info, .alert-warning {
		margin: 2rem auto;
	}

}

.cta {
	padding:0.85rem;
	border-radius:0.75rem;
	margin-bottom:0.5rem;
	margin-top:0.5rem;
	text-align: center;
}

.cta.cta-secondary {
	background-color: #35394E;
	color:#8289A3;
}
.cta.cta-secondary:hover {
	background-color: #35394E;
	color: white;
}

@media only screen and (max-width: 768px) {
	.no-list-padding {
		padding-left: 0;
	}

	.registerNameFields {
		display: flex;
		flex-direction: column;
	}

	.button, .content-width {
		width: 100%;
	}

	.boundingBox {
		padding: 0 1rem;
	}

	.extraOptions {
		gap: 15px;
		align-items: center;
		justify-content: space-between;
		margin: 24px auto auto;
	}

	#password, .passwordInput, .inputVerticalSpacing, .email, .full-width-input {
		width: 100%;
	}

	.text-wrapper {
		width: 80%;
	}
}

.cursor-pointer {
    cursor: pointer;
}

#kc-select-try-another-way-form {
    width: 100%;
    display: flex;
    justify-content: center;
}

.clickable-box {
    background-color: #35394e;
    padding: 1rem;
    border-radius: 12px;
    border: 1px #4d5162 solid;
}
.clickable-box:hover {
	background-color: #3e4259;
}

.inline-button {
    width: auto;
    display: inline-flex;
    align-items: center;
    padding: 1.5rem;
}

ul {
    padding: 0;
}

li {
    color: #FFFFFF;
    list-style: none;
}

#kc-info-wrapper {
	margin-bottom: 32px;
	border-top: 2px solid rgb(53, 57, 78);
	padding-top: 16px;
	color: #8289a3;
	text-align:center;
}