/* ## Root styling -> for variable
---------------------------------------------------------------------- */

:root {
	--main-color: #133416;
	--main-color-limegreen: #D1F951;
	--main-color-lightbeige: #EFEDE0;
	--main-color-medium-green: #147A1C;
	--logo-color: #133416;
	--dark: #5e5e5e;
	--light: #fff;
	--border: #8c8c8c;
	--office-text: #5e5e5e;
	--office-background: #ffffff;
	--office-background-hover: #f5f5f5;
	--office-border: #8c8c8c;
	--button-spacing: 12px;
	--black: #000000;
	--white: #fff;
	--small-radius: .5rem;
	--error: #FF0000;
	--placeholder: unset;
}

/*@media (prefers-color-scheme: dark){
	:root {
		--main-color: #133416;
		--main-color-limegreen: #D1F951;
		--main-color-lightbeige: #EFEDE0;
		--main-color-medium-green: #47CB51;
		--logo-color: #fff;
		--dark: #fff;
		--light: #151515;
		--border: #959595;
		--office-text: #fff;
		--office-background: #2f2f2f;
	--office-background-hover: #464646;
		--office-border: #2f2f2f;
		--black: #fff;
		--white: #000000;
		--error: #FF6969;
		--placeholder: #C4C4C4;
	}
}*/

/* ## Box Sizing
---------------------------------------------------------------------- */
#components-reconnect-modal {
	display: contents;
}

*,
*:before,
*:after {
	padding: 0;
	margin: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/* # Defaults
---------------------------------------------------------------------- */

html {
	font-size: 62.5%; /* 10px browser default */
}

html, body {
	height: 100%;
}

::-moz-selection {
	background-color: var(--black);
	color: var(--light);
}

::selection {
	background-color: var(--black);
	color: var(--light);
}

::-moz-placeholder {
	font-weight: 300;
	opacity: .5;
}

::-webkit-input-placeholder {
	font-weight: 300;
	opacity: .5;
}

h1, h2, h3, h4, h5, h6, p, a, button, li, label {
	margin: 0;
	font-weight: normal;
	line-height: normal;
	font-family: Sora;
}

p, button, a, li, label {
	font-size: 14px;
	font-size: 1.4rem;
}

.entry-title {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 600;
}

h3 {
	font-size: 1.6rem;
	font-weight: 600;
}

strong {
	font-weight: normal;
	display: flex;
	gap: 1rem;
	align-items: center;
	font-size: 14px;
	font-size: 1.4rem;
}

a,
button,
input {
	-webkit-transition: all 0.1s ease-in-out;
	-moz-transition: all 0.1s ease-in-out;
	-ms-transition: all 0.1s ease-in-out;
	-o-transition: all 0.1s ease-in-out;
	transition: all 0.1s ease-in-out;
}

body {
	background-color: var(--light);
	color: var(--dark);
	font-family: 'Sora', 'Roboto Slab', serif;
	-webkit-font-smoothing: antialiased;
	overflow-y: scroll;
	display: flex;
	flex-direction: column
}

	body > .page {
		display: grid;
		grid-template-columns: minmax(0, 700px);
		grid-template-areas: 'form';
		height: 100%;
	}

.container {
	grid-area: form;
	container-type: inline-size;
}

.carousel-container {
	display: none;
}

header svg {
	fill: var(--logo-color);
}

header h1 a {
	display: flex;
	width: fit-content;
}

.container {
	padding: 3rem 5vw;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	justify-content: space-between;
}

	.container > div {
		display: flex;
		flex-direction: column;
		gap: 2rem;
	}

.login-section-container {
	display: grid;
	gap: 2rem;
}

	.login-section-container > form {
		display: grid;
		gap: 2rem;
	}

		.login-section-container > form .validation-summary-valid {
			display: none;
		}

fieldset {
	border: unset;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: unset;
}

legend {
	font-size: 14px;
	font-size: 1.4rem;
	float: left;
	color: var(--dark);
	padding: 0;
}

fieldset label {
	display: grid;
	position: relative;
}

input {
	border: 1px solid var(--border);
	border-radius: var(--small-radius);
	color: var(--dark);
	font-size: 14px;
	font-size: 1.4rem;
	padding: 8px;
	width: 100%;
	background-color: transparent;
}

	input::placeholder {
		color: var(--placeholder);
	}

.input-container:has(.show-password) input {
	background-position: calc(100% - 33px) 50% !important;
	padding: 8px 33px 8px 8px;
}



@-moz-document url-prefix() {
	input:is(:hover, :focus),
	select:is(:hover, :focus),
	textarea:is(:hover, :focus) {
		outline: 2px solid var(--black);
	}
}

.input-container {
	position: relative;
	display: grid;
}

	.input-container button {
		position: absolute;
		right: 1px;
		padding: .6rem;
		background-color: transparent;
		display: grid;
		top: 50%;
		transform: translateY(-50%);
		border: unset;
		border-radius: var(--small-radius);
		cursor: pointer;
	}

.Securety-token {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

	.Securety-token a {
		padding: var(--button-spacing);
		border: 1px solid var(--office-border);
		align-items: center;
		color: var(--office-text);
		background-color: var(--office-background);
		border-radius: var(--small-radius);
		font-size: 14px;
		font-size: 1.4rem;
		width: fit-content;
		margin: 0 !important;
	}

		.Securety-token a:hover {
			--office-background: var(--office-background-hover);
		}

		.Securety-token a:is(:hover, :focus) {
			text-decoration: unset;
		}

.show-password svg {
	display: none;
	fill: var(--dark);
}

.show-password .bi-eye {
	display: inline;
}

.show-password.toggled .bi-eye {
	display: none;
}

.show-password.toggled .bi-eye-slash {
	display: inline;
}

a {
	margin: 0;
	line-height: normal;
	text-align: right;
	color: var(--main-color-medium-green);
	text-decoration: none;
}

	a:hover,
	a:focus {
		--main-color-medium-green: #309F39;
		text-decoration: underline;
	}

.forgot-password-container {
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
}

	.forgot-password-container > * {
		width: fit-content;
	}

.img-container {
	display: grid;
	align-items: center;
	justify-content: center;
}

.qr-code {
	width: 20rem;
	height: auto;
	border: 1px solid var(--black);
	border-radius: 1rem;
}

.form__pincode {
	display: flex;
	gap: 1.5rem;
}

	.form__pincode input {
		text-align: center;
	}

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

		.form__pincode input[type=number] {
			-moz-appearance: textfield;
		}



input[type="submit"] {
	background-color: var(--main-color-limegreen) !important;
	border: 0;
	color: var(--main-color) !important;
	cursor: pointer;
	padding: var(--button-spacing);
	text-transform: uppercase;
	width: auto;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: var(--small-radius) !important;
	width: 100%;
	font-size: 14px;
	font-size: 1.4rem;
	font-family: Sora;
	font-weight: 500;
}

	input[type="submit"]:is(:hover, :focus) {
		--main-color-limegreen: #A1CF0B;
	}

.office-365-login {
	display: flex;
	gap: var(--button-spacing);
	padding: var(--button-spacing);
	border: 1px solid var(--office-border);
	border-radius: var(--small-radius);
	/*	box-shadow: rgba(0, 0, 0, 0.25) 0px 2px 6px;*/
	font-family: 'Segoe UI', Sora, Roboto;
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--office-text);
	background-color: var(--office-background);
}

	.office-365-login:hover {
		--office-background: var(--office-background-hover);
	}

	.office-365-login:is(:hover, :focus) {
		text-decoration: unset;
	}

	.office-365-login img {
		/*		width: 2.5rem;*/
		width: 2rem;
	}

	.office-365-login span {
		text-align: center;
		width: 100%;
	}

.MyDebitan {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

	.MyDebitan > a {
		padding: var(--button-spacing);
		border: 1px solid var(--office-border);
		align-items: center;
		color: var(--office-text);
		background-color: var(--office-background);
		border-radius: var(--small-radius);
		font-size: 14px;
		font-size: 1.4rem;
		width: fit-content;
	}

		.MyDebitan > a:hover {
			--office-background: var(--office-background-hover);
		}

		.MyDebitan > a:is(:hover, :focus) {
			text-decoration: unset;
		}

.alt-devider {
	--color: #ccc;
	display: flex;
	align-items: center;
	gap: 2rem;
}

	.alt-devider hr {
		width: 100%;
		border-radius: 500px;
		border: 1px solid var(--color);
		margin: 0;
	}

	.alt-devider p {
		color: var(--color);
	}

/* error notivication
---------------------------------------------------------------------- */

#validate-two-factor-authentication-btn {
	background-color: #D1F951;
	border-radius: 50px;
	color: black;
}

	#validate-two-factor-authentication-btn:hover {
		background-color: #333;
		color: white;
	}

.validation-summary-errors,
.validation-summary-valid {
	display: none;
}

.wrongCredsContainer {
	animation-direction: alternate;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	animation-iteration-count: 1;
	animation-name: shake;
	animation-timing-function: ease-in-out;
	color: var(--error);
	display: flex;
	gap: 1rem;
	align-items: center;
	font-weight: 500;
}

@keyframes shake {
	10%, 90% {
		transform: translate3d(-1px, 0, 0);
	}

	20%, 80% {
		transform: translate3d(2px, 0, 0);
	}

	30%, 50%, 70% {
		transform: translate3d(-4px, 0, 0);
	}

	40%, 60% {
		transform: translate3d(4px, 0, 0);
	}
}

/* list
---------------------------------------------------------------------- */

ol,
ul {
	margin: 0;
	padding: 0;
	container-type: inline-size;
}

.debitan-data {
	display: grid;
	gap: .5rem;
}

	.debitan-data > * {
		display: flex;
		gap: .5rem;
		align-items: center;
		font-size: 14px;
		font-size: 1.4rem;
		line-height: normal;
		list-style-type: none;
	}

	.debitan-data i {
		width: 2rem;
		text-align: center;
	}

.instructions {
	display: grid;
	gap: .5rem;
	padding-left: 16.33px;
}

@container (min-width: 480px) {
	.debitan-data {
		grid-template-columns: auto 1fr;
		column-gap: 1rem;
	}
}

@media only screen and (min-width: 400px) {
	.office-365-login {
		grid-template-columns: 2.5rem 1fr 2.5rem;
	}
}

@media only screen and (max-width: 768px) {
	.office-365-login {
		transform: unset !important;
	}
}

@media only screen and (min-width: 700px) {
	body > .page {
		grid-template-columns: 1fr 1fr;
		grid-template-areas: 'carousel form';
	}

	.container {
		padding: 3rem 3vw;
	}

	.carousel-container {
		grid-area: carousel;
		display: grid;
	}

	/* carousel -> left side of login page
---------------------------------------------------------------------- */

	.carousel-container {
		position: relative;
		width: 100%;
		row-gap: 1rem;
		display: grid;
		margin: 0;
		height: 100%;
		align-items: end;
		background-color: var(--main-color)
	}

		.carousel-container > * {
			grid-row-start: 1;
			grid-column-start: 1;
		}

		.carousel-container .carousel-inner {
			grid-column: 1/-1;
			height: 100%;
		}

		.carousel-container .carousel-inner {
			display: grid;
			grid-auto-flow: column;
			grid-auto-columns: 100%;
			overflow-x: auto;
			overflow-y: hidden;
			overscroll-behavior-inline: contain;
			scroll-snap-type: inline mandatory;
			position: relative;
			gap: 1rem;
		}

			.carousel-container .carousel-inner::-webkit-scrollbar {
				display: none;
			}

		.carousel-container .carousel-item {
			scroll-snap-align: start;
			display: grid;
			border-radius: inherit;
		}

		.carousel-container img {
			inline-size: 100%;
			aspect-ratio: 16/9;
			object-fit: cover;
			border-radius: inherit;
			height: 100%;
			opacity: 33.33%;
			-webkit-user-select: none;
			-khtml-user-select: none;
			-moz-user-select: none;
			-o-user-select: none;
			user-select: none;
		}

		.carousel-container .img-1 {
			object-position: 70%
		}

		.carousel-container .img-2 {
			object-position: 50%
		}

		.carousel-container .img-3 {
			object-position: 70%
		}

	.top-content {
		display: flex;
		flex-direction: column;
		padding: 3rem 3vw;
		gap: 3rem;
	}

	.content {
		display: flex;
		flex-direction: column;
		gap: 5px;
	}

	.top-content h2,
	.top-content p {
		font-size: 2rem;
		line-height: normal;
		position: relative;
		max-width: 800px;
		color: #ffffff;
	}

	.top-content h2 {
		font-weight: 600;
	}

	.top-content p {
		font-size: 14px;
		font-size: 1.4rem;
	}

	.btn-container {
		display: flex;
		justify-content: space-between;
	}

	.carousel-control {
		display: grid;
		border: unset;
		background-color: transparent;
		padding: .5rem;
		cursor: pointer;
		z-index: 3;
		position: relative;
		border-radius: .5rem;
		border: 1px solid #ffffff;
	}

	@media (hover: hover) and (pointer: fine) {
		.carousel-control-prev[data-title]::after,
		.carousel-control-prev[data-title]::before,
		.carousel-control-next[data-title]::after,
		.carousel-control-next[data-title]::before {
			--color: rgba(255, 255, 255, 0.8);
			pointer-events: none;
			position: absolute;
			color: black;
			opacity: 0;
			transition: opacity 0.3s ease;
		}

		.carousel-control-prev[data-title]::after {
			content: attr(data-title);
			top: 50%;
			padding: 5px 10px;
			border-radius: 5px;
			white-space: nowrap;
			left: calc(100% + 5px);
			transform: translateY(-50%);
			background-color: var(--color);
		}

		.carousel-control-prev[data-title]::before {
			content: "";
			top: 50%;
			right: -5px;
			transform: translateY(-50%) rotate(270deg);
			border-width: 5px;
			border-style: solid;
			border-color: transparent transparent var(--color) transparent;
		}

		.carousel-control-next[data-title]::after {
			content: attr(data-title);
			top: 50%;
			padding: 5px 10px;
			border-radius: 5px;
			white-space: nowrap;
			right: calc(100% + 5px);
			transform: translateY(-50%);
			background-color: var(--color);
		}

		.carousel-control-next[data-title]::before {
			content: "";
			top: 50%;
			left: -5px;
			transform: translateY(-50%) rotate(90deg);
			border-width: 5px;
			border-style: solid;
			border-color: transparent transparent var(--color) transparent;
		}

		.carousel-control-prev[data-title]:is(:hover, :focus)::after,
		.carousel-control-prev[data-title]:is(:hover, :focus)::before,
		.carousel-control-next[data-title]:is(:hover, :focus)::after,
		.carousel-control-next[data-title]:is(:hover, :focus)::before {
			opacity: 1;
		}
	}
}

.form-row {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

@media only screen and (min-width: 1000px) {
	body > .page {
		grid-template-columns: 1fr minmax(0, 520px);
		grid-template-areas: 'carousel form';
	}
}

@media only screen and (min-width: 1200px) {
	body > .page {
		grid-template-columns: 1fr 1fr minmax(0, 520px);
		grid-template-areas: 'carousel carousel form';
	}
}
