body { margin: 0; }
* { box-sizing: border-box; backface-visibility: hidden; }
a { text-decoration: none; color: inherit; }
button, [id$="-toggle"] { cursor: pointer; }
img { max-width: 100% }

/* ============================== INPUTS ============================== */

button, input, select { margin: 0; font: inherit; color: inherit; border: none; -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; -o-appearance: none; appearance: none; }
button:focus, input:focus, select:focus { outline: 0; box-shadow: 0 0 2px 2px #888; transition: none; }
input { transition: background-color 0.4s; }
input.invalid, input.invalid + .check { border-color: #f33; background-color: #fdd; }
input[type="checkbox"] { width: 0; height: 0; transform: scale(0); position: absolute; }
input[type="checkbox"]:focus + .check { box-shadow: 0 0 1px 1px #888; }
input[type="checkbox"]:checked + .check path{ opacity: 1; }
.check { font-size: 30px; width: 1em; height: 1em; padding: 0.15em; border: 2px solid; border-radius: 3px; display: inline-block; vertical-align: middle; }
.check path { fill: currentColor; opacity: 0; }

/* ============================== HAMBURGER + OVERLAY ============================== */

.hamburger { font-size: 30px; display: none; width: 1em; height: 1em; position: absolute; z-index: 10; top: 0; right: 0; padding: 0.5em; box-sizing: content-box; cursor: pointer; }
.hamburger hr { height: 0.125em; width: 1em; position: absolute; border: none; border-radius: 0.1em; color: inherit; background: currentColor; transition: 0.5s; transform: translate(0, -50%) scale(1.01); transform-origin: center; }
.hamburger hr:nth-child(1) { top: 0.2em; }
.hamburger hr:nth-child(2) { top: 0.5em; }
.hamburger hr:nth-child(3) { top: 0.8em; }
.hamburger.active hr:nth-child(1) { transform: translate(0, 0.3em) rotate(45deg) scaleX(1.2); }
.hamburger.active hr:nth-child(2) { width: 0; opacity: 0; }
.hamburger.active hr:nth-child(3) { transform: translate(0, -0.3em) rotate(-45deg) scaleX(1.2); }

.overlay { z-index: -1; position: fixed; top: 0; right: 0; bottom: 0; left: 0; background: rgba(0, 0, 0, 0.95); pointer-events: none; opacity: 0; transition: opacity 1s, z-index 1s 0s; }
.modal-active .overlay { z-index: 10; pointer-events: all; transition: opacity 0.5s; opacity: 1; }

/* ============================== FORMS + TOOLTIPS ============================== */

.form-group { position: relative; }
.captcha:not(:empty) { margin-bottom: 15px; }
.bd-values { display: flex; width: 100%; }
.bd-day, .bd-year { flex: 2 10%; }
.bd-month { flex: 3 20%; }
.bd-values select:nth-child(2) { margin: 0 6px; }
.terms-group { display: flex; font-size: 10px; }
.terms-group .check { align-self: flex-start; flex: none; margin-right: 10px; }
.terms-rarr { font: 30px/1 monospace; position: absolute; top: 0; right: 100%; opacity: 0; transition: opacity 0.3s ease-in; pointer-events: none; }
#agree.invalid ~ .terms-rarr { opacity: 1; animation: rarr 0.7s ease-in-out infinite alternate; }
#rememberMe ~ span { vertical-align: middle; }

@keyframes rarr {
	0% { transform: translate(-35%); }
	100% { transform: translate(35%); }
}

.tooltip {
	position: absolute;
	top: 100%;
	width: 100%;
	z-index: 3;
	pointer-events: none;
	text-align: center;
	color: #ccc;
	background: #000;
	font-size: 0.8125rem;
	padding: 3px;
	opacity: 0;
	transition: 0.3s ease-in-out 0.3s;
}
.tooltip.active { opacity: 1; box-shadow: 0 0 10px -1px #000; transition: 0.3s ease-in-out; }
.error {
	display: block;
	overflow: hidden;
	opacity: 0;
	color: #f33;
	font-size: 0.8125rem;
	transition: all 0.5s ease-in-out;
	max-height: 0;
}
.error.active { opacity: 1; max-height: 60px; margin-top: 5px; }

/* ============================== FORGOT PASSWORD MODAL ============================== */

.PasswordRecovery { display: none; max-width: 480px; padding: 16px 32px; z-index: 11; background: white; position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 100%; }
.PasswordRecovery.active { display: block; }
.PasswordRecovery h3 { font-size: 30px; text-align: center; padding: 16px 0; margin: 0; }

.PasswordRecovery .close { font-size: 30px; transition: 0.3s; width: 1em; height: 1em; padding: 0.5em; box-sizing: content-box; position: absolute; top: 0; right: 0; cursor: pointer; backface-visibility: hidden; }
.PasswordRecovery .close::before,
.PasswordRecovery .close::after { height: 0.15em; border-radius: 1em; content: ''; display: block; position: absolute; left: 0.5em; top: 0.9em; width: 1em; background: currentColor; }
.PasswordRecovery .close::before { transform: rotate(45deg); }
.PasswordRecovery .close::after { transform: rotate(-45deg); }
.PasswordRecovery .close:hover { transform: rotate(90deg); }

.passWillBeSent { max-height: 0; opacity: 0; font-size: 14px; transition: 0.2s; text-align: center; }
.passWillBeSent.active { max-height: 80px; opacity: 1; }
.passWillBeSent .checkmark { color: #00c800; font-size: 24px; }

.custom_footer_content:empty { display: none; }
/*483030.1.508.3.fc81bce*/