/* reduce autocomplete browser styling */

input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
	--autofill-color: var(--color-text);
	
	font-size: 1rem;
	transition: background-color 5000s ease-in-out 0s;
	-webkit-text-fill-color: var(--color-text);
}

/* html, body */

:root {
	--scrollbar-dark: rgba(0, 0, 0, .12);
	--scrollbar-primary: #E5EEC9;
}

@supports (scrollbar-width: thin) {
    html {
		scrollbar-width: thin;
	}
}

@supports (scrollbar-color: var(--scrollbar-primary)) {
	html {
		scrollbar-color: var(--scrollbar-primary);
	}
}

html::-webkit-scrollbar {
	background-color: transparent;
}

html::-webkit-scrollbar:horizontal {
	height: 8px;
}

html::-webkit-scrollbar:vertical {
	width: 8px;
}

html::-webkit-scrollbar-track {
	border-radius: 0 2px 2px 0;
	background-color: transparent;
	overflow: hidden;
}

html::-webkit-scrollbar-thumb {
	box-shadow: inset 0 0 6px var(--scrollbar-dark);
	border-radius: 2px;
	background-color: var(--scrollbar-primary);
}

.login-pf {
	--min-body-width: 320px;
	
	--color-primary: #88C351;
	--color-primary-light: #B7D06D;
	
	--color-board-dark: rgba(240,249,255,1);
	--color-board-middle: rgba(197,218,238,1);
	--color-board-light: rgba(184,211,237,1);
	
	--color-white: rgb(255, 255, 255);
	--color-gray-c: rgb(245, 245, 245);
	--color-gray-e: rgba(0, 0, 0, .4);
	--color-gray-j: rgba(0, 0, 0, .16);
	--color-text: rgba(0,0,0,.9);
	--color-input-underline: rgba(0, 0, 0, .3);
	
	--color-app-notifi-bg: rgb(252, 238, 210);
	--color-app-notifi-border: rgb(242 169 30);
	
	--pf-c-alert__icon--Color: rgb(177, 14, 30);
	
	--header-tablet-width: 50%;
	--board-tablet-width: 50%;
	--header-desktop-width: 65%;
	--board-desktop-width: 35%;
	
	--logo-mobile-bottom: 4rem;
	--logo-tablet-bottom: 1rem;
	--logo-desktop-bottom: 1rem;
	
	--color-bg-app-title: #fff9;
	--color-bg-login-info: #fffa;
	
	--color-warning: #ff7800;
	
	height: 100%;
	background: none;
}

.login-pf body {
	margin: 0;
	min-width: var(--min-body-width);
    background: var(--color-white) none;
	font-family: Roboto, serif;
	background-color: var(--color-white);
}

.login-pf body *:not(style):not(script) {
      -webkit-tap-highlight-color: transparent;
}

.login-pf body *:not(style):not(script):focus {
	outline: none !important;
}

/* pf-page */

.login-pf-page {
	display: flex;
    width: 100vw;
	min-width: var(--min-body-width);
    height: 100%;
    padding: 0;
	background-color: var(--color-white);																											
	overflow-y: auto;
}

@media (max-width: 767px) {
	.login-pf-page {
		flex-wrap: wrap;
		align-content: baseline;
	}
}

@media (min-width: 768px) {
	.login-pf-page {
		position: fixed;
		flex-direction: row-reverse;
		justify-content: flex-end;
	}
}

/*
@media (min-width: 768px) and (max-width: 1399px) {
	.login-pf-page {
		max-width: var(--header-tablet-width);
	}
}

@media (min-width: 1400px) {
	.login-pf-page {
		max-width: var(--header-desktop-width);
	}
}
*/

/* pf-page-head - title amd image */

#kc-header {
	display: flex;
	flex-wrap: wrap;
	align-content: center;
    justify-content: center;
	white-space: normal;
	width: 100%;
}

#kc-header-wrapper {
	text-transform: unset;
    line-height: 1;
    padding: 0;
	font-family: 'PT Sans Narrow', sans-serif;
}

.login-info {
	flex-basis: 100%;
	font-size: 1rem;
	color: var(--color-text);
	pointer-events: none;
	text-align: center;
}

.login-info p {
	margin: 0 !important;
	color: inherit !important;
	font-size: inherit !important;
}

.login-pf-page .login-pf-page-header {
	margin: 0;
}

@media (max-width: 767px) {
	#kc-header {
		flex-shrink: 0;
		min-height: 60px;
		padding: 0 !important;
		text-align: unset;
		background-color: var(--color-gray-c);
	}
	
	.login-pf-page .login-pf-page-header {
		flex-basis: 100%;
	}
	
	#kc-header-wrapper {
		margin: 1rem calc(100px + 2rem);
		width: calc(100% - 4rem - 200px);
		line-height: 1.75rem;
		letter-spacing: .125rem;
		text-align: center;
		font-size: 1.5rem;
		font-weight: 700;
		color: var(--color-text);
		pointer-events: none;
	}
	
	.login-info {
		margin: 1rem;
		width: calc(100% - 2rem);
	}
}

@media (orientation: landscape) and (max-width: 767px){
	#kc-header-wrapper {
		margin: 1rem 0 1rem 0;
		width: 100%;
		text-align: center;
	}
}

@media (orientation: portrait) and (max-width: 479px) {
	#kc-header-wrapper {
		text-align: center;
		width: 100%;
		margin: 1rem;
	}
}

@media (orientation: portrait) and (min-width: 480px) and (max-width: 767px) {
	.login-info {
		flex-basis: calc(80% - 4rem);
		margin: 1rem 0;
	}
}

@media (min-width: 768px) {
	#kc-header {
		position: fixed;
		height: 100%;
	}
	
	.login-pf-page .login-pf-page-header {
		margin: 0;
		/*
		background: rgb(240,249,255);
		background: -webkit-radial-gradient(70% 10%, ellipse cover, var(--color-board-dark) 0%, var(--color-board-middle) 65%, var(--color-board-light) 100%);
		background: radial-gradient(ellipse at 70% 10%, var(--color-board-dark) 0%, var(--color-board-middle) 65%, var(--color-board-light) 100%);
		*/
		background-image: url('../img/board_bg.jpg?v=1.1');
		background-size: auto;
		background-position: right top;
	}
	
	#kc-header-wrapper {
		/*transform: translateY(6rem);*/
		flex-basis: 100%;
		margin: 0 3rem;
		padding: 5rem 3rem;
		background-color: var(--color-bg-app-title);
		color: var(--color-text);
		cursor: default;
		font-size: 2.75rem;
		font-weight: 600;
		letter-spacing: 0;
	}
	
	.login-info {
		margin: 0 3rem;
		padding: 1rem 3rem;
		background-color: var(--color-bg-login-info);
		color: var(--color-text);
	}
}

@media (min-width: 768px) and (max-width: 1399px) {
	.login-pf-page .login-pf-page-header {
		flex-basis: var(--header-tablet-width);
	}
	
	#kc-header {
		left: var(--header-tablet-width);
		width: var(--board-tablet-width);	
	}
}

@media (min-width: 1400px) {
	.login-pf-page .login-pf-page-header {
		flex-basis: var(--board-desktop-width);
	}
	
	#kc-header {
		left: var(--header-desktop-width);
		width: var(--board-desktop-width);	
	}
}

/* break direct */

.break-direct {
	display: flex;
	flex-basis: 100%;
}

/* card-pf - login */

.card-pf {
	display: flex;
	flex-wrap: wrap;
    align-items: center;
	align-content: space-between;
    justify-content: center;
	margin: 0;
	box-shadow: none;
	max-width: unset;
	border: 0;
	background-color: var(--color-white);
}

@media (max-width: 767px) {
	.login-pf-page .card-pf {
		align-items: baseline;
		flex-grow: 1;
		flex-basis: 100%;
		/*height: calc(100% - 72px);*/
	}
	
	.login-pf-page .login-pf-header {
		margin: 0 0 3rem;
	}
	
	.login-pf-page .login-pf-header h1 {
		margin: 0 !important;
		font-weight: 500;
		font-size: 1.25rem;
	}
}

@media (orientation: landscape) and (max-width: 479px) {
	.login-pf-page .card-pf {
		padding: 1rem 1rem 0;
	}
}

@media (orientation: portrait) and (max-width: 479px) {
	.login-pf-page .card-pf:not(.--show-login-maintenance) {
		padding: 5rem 1rem 0;
	}
	
	.login-pf-page .card-pf.--show-login-maintenance {
		padding: 1rem 1rem 0;
	}
}

@media (orientation: landscape) and (min-width: 480px) and (max-width: 767px) {
	.login-pf-page .card-pf {
		padding: 1rem 2rem 0;
	}
}

@media (orientation: portrait) and (min-width: 480px) and (max-width: 767px) {
	.login-pf-page .card-pf:not(.--show-login-maintenance) {
		padding: 7rem 2rem 0;
	}
	
	.login-pf-page .card-pf.--show-login-maintenance {
		padding: 2rem 2rem 0;
	}
}

@media (min-width: 768px) {
	.login-pf-page .card-pf {
		position: relative;
		flex-wrap: wrap;
		align-content: space-between;
		padding: 1rem 1rem 0;
		height: 100%;
	}
	
	.login-pf-page .login-pf-header {
		margin: 0 0 3rem;
	}
	
	.login-pf-page .login-pf-header h1 {
		margin: 0;
		font-weight: 500;
	}
}

@media (min-width: 768px) and (max-width: 1399px) {
	.login-pf-page .card-pf {
		flex-basis: var(--header-tablet-width);
		/*left: calc(var(--board-tablet-width) * -1);*/
	}
}

@media (min-width: 1400px) {
	.login-pf-page .card-pf {
		flex-basis: var(--header-desktop-width);
		/*left: calc(var(--board-desktop-width) * -1);*/
	}
}

.--top-section {
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
	min-height: 80%;
}

.login-pf-page .card-pf:not(.--show-login-maintenance) .--top-section {
	align-items: center;
}

.login-pf-page .card-pf.--show-login-maintenance .--top-section {
	align-items: flex-start;
}

.--bottom-section {
	display: flex;
    align-items: center;
	justify-content: center;
	width: 100%;
	padding-bottom: .25rem;
	min-height: 3rem;
}

/* yms logo */

.kc-yms-logo {
	display: flex;   
	flex-basis: calc(90px + 1rem);
	justify-content: center;
	margin-bottom: .5rem;
}

.kc-yms-logo .--logo {
	width: 90px;
	height: auto;
}

/* kc-login-wrapper */

@media (max-width: 767px) {
	.kc-login-wrapper {
		width: 100%;
		max-width: var(--min-body-width);
		min-width: calc(var(--min-body-width) - 2rem);
	}
}

@media (min-width: 768px) {
	.kc-login-wrapper {
		width: var(--min-body-width);
		min-width: var(--min-body-width);
	}
}

/*
@media (min-width: 1400px) {
	.kc-login-wrapper.--show-login-maintenance {
		transform: translateY(-15%);
	}
}
*/

#kc-content-wrapper {
	margin-bottom: 1rem;
}

.pf-c-button.pf-m-primary {
	padding: .9rem 1.5rem;
    border-radius: 4px;
    font-size: 1rem;
	font-weight: 600;
}

.pf-c-button.pf-m-primary:hover,
.pf-c-button.pf-m-primary:visited,				  
.pf-c-button.pf-m-primary:focus,
.pf-c-button.pf-m-primary:active {
	background-color: var(--color-primary-light);
}

/* locale - set language */

a#kc-current-locale-link {
	display: inline-flex;
    align-items: flex-end;
}

a#kc-current-locale-link::after {
	content: 'arrow_drop_down';
}

a#kc-current-locale-link:hover,
a#kc-current-locale-link:visited,
a#kc-current-locale-link:focus,
a#kc-current-locale-link:active {
	text-decoration: none;
}

#kc-locale ul {
    top: 1.5rem;
}

@media (min-width: 768px) {
	#kc-locale {
		z-index: 500;
		width: 100%;
		align-self: flex-start;
	}
}

.pf-c-dropdown__menu-item {
	display: flex;
	align-items: center;
}

.pf-c-dropdown__menu-item .--label {
	padding-left: .5rem;
}

.pf-c-dropdown__menu-item .lang-icon {
	display: inline-block;
	width: 32px;
	height: 32px;
	background-size: cover;
}

.--sk-lang-icon {
	background-image: url('../img/sk-flag.png');
}

.--en-lang-icon {
	background-image: url('../img/en-flag.png');
}

/* buttons */

.pf-c-button.pf-m-primary {
	background-color: var(--color-primary);
	box-shadow: 0 1px 3px var(--color-gray-j), 0 1px 2px var(--color-gray-e);
}

.pf-c-button.pf-m-primary:hover,
.pf-c-button.pf-m-primary.pf-m-hover {
	background-color: var(--color-primary-light);
}

.pf-c-button.--registration {
	margin-top: 1rem;
}

.pf-c-button.--registration:hover {
	color: var(--color-white) !important;
}

#kc-login[disabled] {
	color: var(--color-white);
}

/* dropdown */

.pf-c-dropdown__menu {
	border-radius: 4px;
	border: 0;
}

/* form control - inputs */

.pf-c-form-control:not([type=radio]) {
	--pf-c-form-control--invalid--BackgroundPosition: calc(100% - .25rem) .7rem;
	
    font-size: 1rem;
	font-family: Roboto, serif;
    color: var(--color-text);
    padding: .25rem 1.5rem 0 0 !important;
    line-height: 1;
	border: 0;
	border-bottom: 1px solid var(--color-input-underline);	
	background-color: transparent !important;						  
}

.pf-c-form-control:not([type=radio]):focus {
	padding: .25rem 1.5rem 0 0 !important;
}

.pf-c-form-control--underline-effect {
	position: relative;
	z-index: 10;
	bottom: 2px;
	width: 100%;
	overflow: hidden;
	border-bottom: 2px solid var(--color-primary);
	opacity: 0;
	transform: scale(.5, 0);
	transform-origin: 50%;
	transition: transform .3s cubic-bezier(.25, .8, .25, 1), opacity 1s cubic-bezier(.25, .8, .25, 1), border-color .3s cubic-bezier(.25, .8, .25, 1);
}

.pf-c-form-control:not([type=radio]):not([aria-invalid="true"]):hover,
.pf-c-form-control:not([type=radio]):not([aria-invalid="true"]):focus {
	border-bottom: 1px solid var(--color-input-underline);	
}

.pf-c-form-control:focus + .pf-c-form-control--underline-effect {
	opacity: 1;
	transform: scaleX(1);
}

.pf-c-form-control[aria-invalid="true"]:focus + .pf-c-form-control--underline-effect {
	border-bottom-color: var(--pf-c-alert__icon--Color);
}

@media (orientation: landscape) and (max-width: 967px) {
	#kc-form-login .form-group.login-pf-settings,
	#kc-form-buttons {
		margin: 0 !important;
	}
}

/* form-group floating label */

.form-group.--floating-label {
	display: flex;
	flex-wrap: wrap;
	position: relative;
}

.form-group.--floating-label input {
	order: 2;
}

.form-group.--floating-label label {
	order: 1;
	position: absolute;
	top: .4rem;
    font-size: 1rem;
	transition: transform .3s cubic-bezier(.25, .8, .25, 1), scale .3s cubic-bezier(.25, .8, .25, 1);
	transform-origin: 0 0;
}

.form-group.--floating-label .pf-c-form-control--underline-effect {
	order: 3;
}

.form-group.--floating-label  .pf-c-form__helper-text {
	order: 4;
}

.form-group.--floating-label input:focus ~ label,
.form-group.--floating-label input:not(:placeholder-shown) ~ label,
.form-group.--floating-label input:not(:-webkit-autofill) ~ label {
	transform: translateY(-1.5rem) scale(.8) perspective(0);
}

.form-group.--floating-label input[aria-invalid="true"] ~ label {
	color: var(--pf-c-alert__icon--Color);
}

.--required-marker {
	padding: 0 0 0 .15rem;
    color: var(--pf-c-alert__icon--Color);
}

#kc-form-login .form-group:not(:first-of-type) {
    margin-top: 1.5rem;
}

/* browser support */

.--browser-support {
	position: static;
    left: unset;
    flex-basis: calc(100% - 60px - 1rem);
}

.--browser-support .--inner {
	padding-left: 76px;
    text-align: center;
}

/* alert */

.kc-login-wrapper .pf-c-alert {
	display: flex;
    align-items: baseline;
	padding: 0 .5rem;
	margin-bottom: 1.5rem;
}

.kc-login-wrapper .pf-c-alert__icon {
	padding: 0 0 0 .5rem;
	transform: translateY(.05rem);
}

/* pseudo icons */

a#kc-current-locale-link::after {
  direction: ltr;
  display: inline-block;
  font-family: 'Material Icons', serif;
  font-size: 24px;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-height: 1;
  text-transform: none;
  white-space: nowrap;
  word-wrap: normal;
  font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}

#showHidePass, #showHidePassNew, #showHidePassConfirm{
	display: inline-block;
	position: absolute;
    right: 0;
    top: 0.5rem;
	width: 24px;
	height: 24px;
    cursor: pointer;
}

.eye-icon {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCIgZmlsbD0iIzAwMDAwMCI+PHBhdGggZD0iTTAgMGgyNHYyNEgwVjB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTEyIDZjMy43OSAwIDcuMTcgMi4xMyA4LjgyIDUuNUMxOS4xNyAxNC44NyAxNS43OSAxNyAxMiAxN3MtNy4xNy0yLjEzLTguODItNS41QzQuODMgOC4xMyA4LjIxIDYgMTIgNm0wLTJDNyA0IDIuNzMgNy4xMSAxIDExLjUgMi43MyAxNS44OSA3IDE5IDEyIDE5czkuMjctMy4xMSAxMS03LjVDMjEuMjcgNy4xMSAxNyA0IDEyIDR6bTAgNWMxLjM4IDAgMi41IDEuMTIgMi41IDIuNVMxMy4zOCAxNCAxMiAxNHMtMi41LTEuMTItMi41LTIuNVMxMC42MiA5IDEyIDltMC0yYy0yLjQ4IDAtNC41IDIuMDItNC41IDQuNVM5LjUyIDE2IDEyIDE2czQuNS0yLjAyIDQuNS00LjVTMTQuNDggNyAxMiA3eiIvPjwvc3ZnPg==") !important;
}

.eye-off-icon {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCIgZmlsbD0iIzAwMDAwMCI+PHBhdGggZD0iTTAgMGgyNHYyNEgwVjB6bTAgMGgyNHYyNEgwVjB6bTAgMGgyNHYyNEgwVjB6bTAgMGgyNHYyNEgwVjB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTEyIDZjMy43OSAwIDcuMTcgMi4xMyA4LjgyIDUuNS0uNTkgMS4yMi0xLjQyIDIuMjctMi40MSAzLjEybDEuNDEgMS40MWMxLjM5LTEuMjMgMi40OS0yLjc3IDMuMTgtNC41M0MyMS4yNyA3LjExIDE3IDQgMTIgNGMtMS4yNyAwLTIuNDkuMi0zLjY0LjU3bDEuNjUgMS42NUMxMC42NiA2LjA5IDExLjMyIDYgMTIgNnptLTEuMDcgMS4xNEwxMyA5LjIxYy41Ny4yNSAxLjAzLjcxIDEuMjggMS4yOGwyLjA3IDIuMDdjLjA4LS4zNC4xNC0uNy4xNC0xLjA3QzE2LjUgOS4wMSAxNC40OCA3IDEyIDdjLS4zNyAwLS43Mi4wNS0xLjA3LjE0ek0yLjAxIDMuODdsMi42OCAyLjY4QzMuMDYgNy44MyAxLjc3IDkuNTMgMSAxMS41IDIuNzMgMTUuODkgNyAxOSAxMiAxOWMxLjUyIDAgMi45OC0uMjkgNC4zMi0uODJsMy40MiAzLjQyIDEuNDEtMS40MUwzLjQyIDIuNDUgMi4wMSAzLjg3em03LjUgNy41bDIuNjEgMi42MWMtLjA0LjAxLS4wOC4wMi0uMTIuMDItMS4zOCAwLTIuNS0xLjEyLTIuNS0yLjUgMC0uMDUuMDEtLjA4LjAxLS4xM3ptLTMuNC0zLjRsMS43NSAxLjc1Yy0uMjMuNTUtLjM2IDEuMTUtLjM2IDEuNzggMCAyLjQ4IDIuMDIgNC41IDQuNSA0LjUuNjMgMCAxLjIzLS4xMyAxLjc3LS4zNmwuOTguOThjLS44OC4yNC0xLjguMzgtMi43NS4zOC0zLjc5IDAtNy4xNy0yLjEzLTguODItNS41LjctMS40MyAxLjcyLTIuNjEgMi45My0zLjUzeiIvPjwvc3ZnPg==");
}

/* break full */

.--break-full.--hidden {
	display: none !important;
}

.--break-full {
	display: inline-flex;
	flex-basis: 100%;
}

@media (min-width: 768px) {
	.--break-full.--h3 {
		height: 3rem;
	}
}

/* login maintenance */

.--login-maintenance {
	margin: 1rem 0 1rem;
    padding: 1rem;
    border-radius: 4px;
    background-color: var(--color-app-notifi-bg);
	color: var(--color-text);
    box-shadow: inset 0 0 0 1px var(--color-app-notifi-border);
	max-width: 767px;
}

.--login-maintenance h1, .--login-maintenance h2 {
    display: flex;
    justify-content: center;
	font-size: 1.15rem;
    font-weight: 500;
	margin: 0;
	color: var(--color-warning);
}

.--login-maintenance p:empty, .--login-maintenance p:has(br) {
	margin: 0 !important;
}

.--login-maintenance p {
	font-size: .9rem !important;
	color: var(--color-text) !important;
	margin: 0 0 .15rem 0 !important;
}

.--login-maintenance p:last-child {
	margin: 0 !important;
}

@media (max-width: 479px) {
	.--login-maintenance {
		width: 100%;
		max-width: var(--min-body-width);
		min-width: calc(var(--min-body-width) - 2rem);
	}
}

@media (min-width: 480px) and (max-width: 1399px) {
	.--login-maintenance {
		width: 80%;
		min-width: var(--min-body-width);
		font-size: 1rem;
	}
}

@media (min-width: 1400px) {
	.--login-maintenance {
		width: 80%;
		min-width: var(--min-body-width);
		/*transform: translateY(-50%);*/
		font-size: 1rem;
	}
}

#kc-social-providers h2 {
	margin: 2rem 0 1rem;
	font-size: 1.15rem;
	font-weight: 400;
}

.kc-social-links .pf-c-button {
	width: 100%;
}

.social-provider-button:not(:first-child) {
	margin-top: .5rem;
}
