:root{
	--color1: #1a689b;
	--backColorLight: #38a3e9;
	--backColor:#eaeef4;
	--backColorDisabled: #F0F0F0;
	--colorDisabled: #A3A3A3;

/*	--color1: #a30;
	--backColorLight: #d71;
	--backColor:#9d9;
/*	green
	--color1: #252;
	--backColorLight: #479952;
	--backColor:#9d9;

*/
}
body {
	background: url('images/back-n4m.png') no-repeat center center fixed;
	background-size: cover;
	overflow-x: hidden;
	overflow-y:auto;
	font-family: 'Barlow', sans-serif;
}

*{
	margin:0;
	padding:0;
	box-sizing: border-box;
}
h1 {
	color: var(--color1);
	font-size: 30px;
	font-weight: bold;
}
h2{
	color: var(--color1);
    font-size: 22px;
    font-weight: normal;
    width: 100%;
    text-align: right;
    padding-right: 34px;
}

a {
	color:var(--color1);
	text-decoration: none;
}

#main {
	position: absolute;
	top: 45%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 350px;
	box-shadow: 0px 2px 20px #432;
	background-color: #fffd;
	border-radius: 5px;
	overflow: hidden;
}
#header{
    height: 80px;
    padding: 0px 0 0 0;
    box-shadow: 0px 2px 8px 0px rgb(200, 200, 200);
    margin-bottom: 10px;
    margin-top: -8px;
}	

#lng{
	min-width: 45px;
	width: 0px;
	z-index: 999999999999;
	position: absolute;
	top: 17px;
	right: 10px;
	font-size: 16px;
	float:left;
	text-transform: uppercase;
}
#lng>p:first-child{
	padding:10px;
	width: 40px;
	float: left;
	line-height: 20px;
	color: var(--color1);
	cursor: pointer;
	border-left: 1px black solid;
}
#lng>div{
	float:left; clear:left;
	margin-top:10px;
	padding: 0px 5px;
	border: 1px var(--color1) solid;
	width:40px;
	background-color:#fff;
	height:0px;
	overflow: hidden;
	opacity: 0;
	transition: .8s;
}
#lng:hover >div{
	height: auto;
	padding:10px 5px;
	opacity: 1;
}
#lng>div > a{
	display:block;
	width:100%;
	text-align:center;
}
/* --- Forms */
form{
	width: 100%;
	padding:15px 10%;
}

input[type="text"], input[type="email"], input[type="password"]{
	display: inline-block;
	border: 1px solid #969696;
	height:30px;
	margin: 0 0 28px 0;
	height: 30px;
	width: 100%;
	
	padding-left: 10px;
	border-radius: 5px;
	color: var(--color1);
}
input[name="firstName"], input[name="lastName"]{
	width: 47%;
}
input[name="lastName"]{
	float: right;
}

#eye, .eye{
	position:relative;
	float: right;
	background-image: url('icons/eye.png');
	background-repeat: no-repeat;
	background-position: center;
	margin:-63px 5px 0 0;
	height:42px; width:30px;
	cursor: pointer;
	z-index: 1000;
	opacity:.3;
}

label{
	display:inline-block;
	margin: 10px 0 0 30px;
	font-size: 15px;
}

input[type="checkbox"]{
	display: none;
}
input[type="checkbox"] + label {
	display:block;
	margin:10px 0 0 33px;
	height: 22px; width:22px;
	background-color: #969696;
	border-radius: 50%;
	cursor: pointer;
}
input[type="checkbox"]:checked + label {
	background-color: var(--color1);
	background-image: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 -2 25 25' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.414 11L4 12.414l5.414 5.414L20.828 6.414 19.414 5l-10 10z' fill='%23fff' fill-rule='nonzero'/%3E%3C/svg%3E ");
}
button{
	background-color: var(--backColorLight);
	color: white;
	cursor: pointer;
	height: 30px; width: 100%;
	border: none;
	margin: 5px auto 10px auto;
	border-radius: 15px;

}
button:disabled{
	color:var(--colorDisabled);
	background-color: var(--backColorDisabled);
}

button:disabled:hover {
    color: var(--colorDisabled);
    background-color: var(--backColorDisabled);
    cursor: not-allowed;
}

button[name="cmdResendCode"]:disabled::after{
	content: " (" attr(timeout) "s)";
}
label + input[type="submit"]{
	margin-top:55px;
}
::placeholder {
    color: #969696;
}

hr {
	position:relative;
	background-color: rgb(230, 230, 230);
	height: 3px;
	width: 100%;
	margin: 0 0 15px 0;
	border: none;
}

.contBellow{
	clear: both;
	width:100%;
	text-align: center;
	line-height: 22px;
	font-style: italic;
	margin-bottom: 20px;
}
.contBellow > p {
    color: #969696;
    text-align: center;
    margin-top: 9px;
}

.info, .badMsg{
	display:block;
	padding: 10px;
	width:auto;
	text-align:center;
	color: #888;
}
.badMsg{
	color:red;
}
.info{
    background-color: #d2ebd2;
    color: #060;
    border-radius: 5px;
    padding: 12px;
    margin-bottom: 20px;
    font-weight: 500;
    font-size: .90em;
	line-height: 1.5em;
}
div.pwdLegend{
	margin-top: -15px;
	width: 100%;
	font-size: 0.9em;
	font-style: italic;
	color: red;
}
div.pwdLegend>span{
	margin-right:20px;
}
div.pwdLegend>span::before{
	display: inline-block;
	margin-right:5px;
	content:"\2718";
}
div.pwdLegend>span[is-valid]::before{
	content:"\2714";
}

div.pwdLegend>span[is-valid]{
	color:#060;
}

/* =============================================
   N4M Login Design
   ============================================= */

.page-wrapper {
	position: relative;
	width: 100vw;
	height: 100vh;
	overflow: hidden;
}

.page-overlay {
	position: absolute;
	top: 7.5%;
	left: 43%;
	right: 0;
	height: 84%;
	background: rgba(7, 11, 16, 0.13);
	pointer-events: none;
}

.page-content {
	position: absolute;
	left: 47.3%;
	top: 16.6%;
}

/* Override old #main styles when inside page-wrapper */
.page-wrapper #main {
	position: absolute;
	top: 16.6%;
	left: 47.3%;
	transform: none;
	width: auto;
	box-shadow: none;
	background-color: transparent;
	border-radius: 0;
	overflow: visible;
}

.page-title {
	font-family: 'Outfit', sans-serif;
	font-size: 40px;
	font-weight: 700;
	color: #fff;
	margin-bottom: 25px;
	white-space: nowrap;
	line-height: 1;
}

.login-card {
	background: #ffffff;
	border-radius: 10px;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.15);
	width: 584px;
	padding: 30px;
}

.login-card .field {
	margin-bottom: 10px;
	position: relative;
}

.login-card .field:last-of-type {
	margin-bottom: 0;
}

.login-card .field label {
	display: block;
	font-size: 16px;
	font-weight: 400;
	color: #000;
	margin: 0 0 5px 0;
}

.login-card .field input[type="text"],
.login-card .field input[type="email"],
.login-card .field input[type="password"] {
	display: block;
	width: 450px;
	height: 50px;
	border: 1px solid #d8d8d8;
	border-radius: 8px;
	padding: 0 40px 0 17px;
	font-size: 16px;
	color: #000;
	background: #ffffff;
	outline: none;
	margin: 0;
}

.login-card .field input:focus {
	box-shadow: 0 3px 7px 0 rgba(0, 0, 0, 0.20); 
}

.login-card .field input::placeholder {
	color: #818181;
}

.login-card #eye {
	position: absolute;
	bottom: 8px;
	left: 418px;
	float: none;
	margin: 0;
	height: 24px;
	width: 24px;
	opacity: 0.4;
}

.card-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 20px;
}

.btn-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #5df97e;
	color: #030303;
	font-size: 16px;
	font-weight: 700;
	border: none;
	border-radius: 20px;
	padding: 10px 30px;
	cursor: pointer;
	text-decoration: none;
	white-space: nowrap;
	height: auto;
	width: auto;
	margin: 0;
	line-height: 1;
	transition: all 0.3s;
}

.btn-primary:hover {
	background: #103D31;
	color: #5DF97E;
}

.btn-outline {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	color: #D8D8D8;
	font-size: 16px;
	font-weight: 700;
	border: 1px solid #aeabab;
	border-radius: 20px;
	padding: 10px 30px;
	cursor: pointer;
	white-space: nowrap;
	height: auto;
	width: auto;
	margin: 0;
	line-height: 1;
	transition: all 0.3s;
}

.btn-outline--dark {
	color: #030303;
}

.btn-outline:hover {
	border-color: transparent;
	background: #5DF97E;
	color: #103D31;
}

.btn-outline:disabled {
	border-color: #D8D8D8;
}

.link {
	font-size: 16px;
	color: #0fa92f;
	text-decoration: underline;
	text-underline-offset: 2px;
	white-space: nowrap;
}

.page-actions {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-top: 40px;
}

.page-content .badMsg {
	display: flex;
	align-items: center;
	gap: 12px;
	background: rgba(237, 79, 79, 0.20);
	color: #ed4f4f;
	font-size: 16px;
	font-weight: 700;
	padding: 0 30px;
	height: 68px;
	margin: -30px -30px 25px -30px;
	border-radius: 8px 8px 0 0;
}

.page-content .badMsg::before {
	content: '!';
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	background: #ed4f4f;
	color: #ffffff;
	border-radius: 50%;
	width: 19px;
	height: 19px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
}

/* Language switcher override for new design */
.page-wrapper #lng {
	position: absolute;
	top: -40px;
	right: 0;
	left: auto;
	width: auto;
	min-width: 40px;
	font-size: 14px;
	text-transform: uppercase;
	float: none;
	z-index: 100;
}

.page-wrapper #lng > p:first-child {
	color: rgba(255,255,255,0.7);
	border-left: 1px solid rgba(255,255,255,0.3);
	padding: 6px 10px;
	width: auto;
	float: none;
	line-height: 1;
}

.page-wrapper #lng > div {
	position: absolute;
	right: 0;
	top: 100%;
	float: none;
	clear: none;
	background: rgba(7,11,16,0.92);
	border: 1px solid rgba(255,255,255,0.2);
	border-radius: 4px;
	padding: 5px;
	width: auto;
	min-width: 40px;
	height: auto;
	overflow: visible;
	opacity: 0;
	transition: opacity 0.2s;
	pointer-events: none;
}

.page-wrapper #lng:hover > div {
	opacity: 1;
	pointer-events: auto;
	padding: 5px;
}

.page-wrapper #lng > div > a {
	display: block;
	color: rgba(255,255,255,0.7);
	padding: 4px 8px;
	text-align: center;
}

.page-wrapper #lng > div > a:hover {
	color: #5df97e;
	text-decoration: none;
}

/* =============================================
   Registrace firmy — subtitle + select fields
   ============================================= */

.page-wrapper--subtitle .page-title {
	margin-bottom: 10px;
}

.page-subtitle {
	font-size: 16px;
	font-weight: 400;
	color: #ffffff;
	line-height: normal;
	white-space: nowrap;
	margin-bottom: 28px;
}

.login-card .field .select-wrap {
	position: relative;
	width: 450px;
}

.login-card .field .select-wrap::after {
	content: '';
	position: absolute;
	right: 17px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 7px solid #818181;
}

.login-card .field select {
	display: block;
	width: 100%;
	height: 40px;
	border: 1px solid #d8d8d8;
	border-radius: 8px;
	padding: 0 40px 0 17px;
	font-size: 16px;
	color: #030303;
	background: #ffffff;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	cursor: pointer;
	margin: 0;
}

.login-card .field--error > label {
	color: #ed4f4f;
	font-weight: 700;
}

.login-card .field--error .select-wrap select {
	border-color: #ed4f4f;
}

.login-card .field--error .select-wrap::after {
	border-top-color: #ed4f4f;
}

.field-error-badge {
	display: inline-flex;
	align-items: center;
	background: #ed4f4f;
	color: #ffffff;
	font-size: 16px;
	font-weight: 400;
	border-radius: 8px;
	padding: 0 17px;
	height: 49px;
	margin-top: 8px;
	white-space: nowrap;
}

/* =============================================
   Register page — two-column & password field
   ============================================= */

.login-card form {
	padding: 0;
	width: 100%;
}

.login-card .field-row {
	display: flex;
	gap: 20px;
	width: 450px;
	margin-bottom: 10px;
}

.login-card .field-row .field {
	flex: 1;
	margin-bottom: 0;
}

.login-card .field-row .field input {
	width: 100%;
	padding-right: 10px;
}

.login-card .pwd-input-wrap {
	position: relative;
	width: 450px;
}

.login-card .pwd-input-wrap input {
	width: 100%;
}

.login-card .pwd-input-wrap #eye {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 8px;
	left: auto;
	bottom: auto;
	height: 24px;
	width: 24px;
	float: none;
	margin: 0;
	opacity: 0.4;
}

.login-card .pwd-input-wrap + .pwdLegend {
	margin-top: 6px;
	width: 450px;
}

.login-card .field input[bad] {
	border-color: #ed4f4f;
}

.reg-hint {
	font-size: 16px;
	color: rgba(255, 255, 255, 0.75);
}