@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,600,700&amp;display=swap);

.fnt-small {
	font-size: .75em
}

.fnt-medium {
	font-size: .875em
}

.fnt-normal {
	font-size: 1em
}

.fnt-large {
	font-size: 2em
}

*,
::after,
::before {
	box-sizing: border-box
}

html {
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-ms-overflow-style: scrollbar;
	-webkit-tap-highlight-color: transparent
}

body,
html {
	height: 100%;
	margin: 0
}

body {
	font-family: "Open Sans", sans-serif;
	font-size: 5vw;
	font-weight: 400;
	line-height: 1.4;
	text-align: left;
	scroll-behavior: smooth
}

article,
aside,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
	display: block
}

[tabindex="-1"]:focus {
	outline: 0 !important
}

hr {
	overflow: visible;
	box-sizing: content-box;
	width: 100%;
	height: 0;
	line-height: 0;
	border-width: 1px 0 0 0;
	border-style: solid;
	border-color: #959595
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-top: 0;
	margin-bottom: .35rem;
	line-height: 1.4
}

p {
	margin-top: 0;
	margin-bottom: 1rem;
	line-height: 1.4
}

abbr[data-original-title],
abbr[title] {
	border-bottom: 0;
	cursor: help;
	text-decoration: underline
}

address {
	margin-bottom: 1rem;
	font-style: normal;
	line-height: inherit
}

dl,
ol,
ul {
	margin: 0;
	padding: 0;
	list-style-type: none
}

ol ol,
ol ul,
ul ol,
ul ul {
	margin-bottom: 0
}

dt {
	font-weight: 700
}

dd {
	margin-bottom: .5rem;
	margin-left: 0
}

blockquote {
	margin: 0 0 1rem
}

dfn {
	font-style: italic
}

b,
strong {
	font-weight: bolder
}

small {
	font-size: 80%
}

sub,
sup {
	position: relative;
	font-size: 75%;
	line-height: 0;
	vertical-align: baseline
}

sub {
	bottom: -.25em
}

sup {
	top: -.5em
}

a {
	background-color: transparent;
	text-decoration: none;
	-webkit-text-decoration-skip: objects
}

a:hover {
	text-decoration: none
}

a:not([href]):not([tabindex]) {
	color: inherit;
	text-decoration: none
}

a:not([href]):not([tabindex]):focus,
a:not([href]):not([tabindex]):hover {
	color: inherit;
	text-decoration: none
}

a:focus {
	outline: 0
}

code,
kbd,
pre,
samp {
	font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
	font-size: 1em
}

pre {
	overflow: auto;
	margin-top: 0;
	margin-bottom: 1rem;
	-ms-overflow-style: scrollbar
}

figure {
	margin: 0 0 1rem
}

img {
	display: block;
	max-width: 100%;
	border-style: none;
	vertical-align: middle
}

svg {
	overflow: hidden;
	vertical-align: middle
}

table {
	border-collapse: collapse
}

caption {
	padding-top: .75rem;
	padding-bottom: .75rem;
	caption-side: bottom;
	color: gray;
	text-align: left
}

th {
	text-align: inherit
}

label {
	display: inline-block;
	margin-bottom: 0
}

button {
	border-radius: 0
}

button,
input,
optgroup,
select,
textarea {
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit
}

button:focus,
input:focus,
select:focus,
textarea:focus {
	outline: 0
}

button,
input {
	overflow: visible
}

button,
select {
	text-transform: none
}

[type=reset],
[type=submit],
button,
html [type=button] {
	-webkit-appearance: none
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
	padding: 0;
	border-style: none
}

input[type=checkbox],
input[type=radio] {
	box-sizing: border-box;
	padding: 0
}

input[type=date],
input[type=datetime-local],
input[type=month],
input[type=time] {
	-webkit-appearance: listbox
}

select:-moz-focusring {
	color: transparent;
	text-shadow: 0 0 0 #000
}

textarea {
	overflow: auto;
	resize: vertical
}

fieldset {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0
}

legend {
	display: block;
	width: 100%;
	max-width: 100%;
	margin-bottom: .5rem;
	padding: 0;
	font-size: 1.5rem;
	line-height: inherit;
	color: inherit;
	white-space: normal
}

progress {
	vertical-align: baseline
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height: auto
}

[type=search] {
	outline-offset: -2px;
	-webkit-appearance: none
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
	-webkit-appearance: none
}

::-webkit-file-upload-button {
	font: inherit;
	-webkit-appearance: button
}

output {
	display: inline-block
}

summary {
	display: list-item;
	cursor: pointer
}

template {
	display: none
}

[hidden] {
	display: none !important
}

.input,
.select,
.textarea {
	width: 100%;
	color: #585858;
	border: none;
	background-color: #fff;
	-webkit-appearance: none
}

.input.rounded,
.select.rounded,
.textarea.rounded {
	border-radius: .375em
}

.input,
.select {
	height: 2.5em;
	padding: 0 1.25em 0 .85em;
	font-size: 1rem;
	line-height: 1.25em
}

.input::-webkit-input-placeholder {
	color: #959595
}

.input::-moz-placeholder {
	color: #959595
}

.input:-ms-input-placeholder {
	color: #959595
}

.input:-moz-placeholder {
	color: #959595
}

.field {
	position: relative;
	display: flex;
	justify-content: center;
	width: 100%;
	margin: .5em auto
}

.field .plh {
	position: absolute;
	left: .85em;
	font-size: 1rem;
	color: #959595;
	transition: all .3s;
	transform-origin: 0 100%;
	pointer-events: none
}

.field .input {
	height: 3.25em;
	padding-top: 1.5em;
	padding-bottom: .6em;
	font-size: 1rem
}

.field .input:placeholder-shown~.plh {
	top: 50%;
	transform: scale(1, 1) translateY(-50%);
	text-transform: none
}

.field .input:focus~.plh {
	color: #000
}

.field .input::-webkit-input-placeholder {
	color: transparent !important
}

.field .input::-moz-placeholder {
	color: transparent !important
}

.field .input:-ms-input-placeholder {
	color: transparent !important
}

.field .input:-moz-placeholder {
	color: transparent !important
}

.field .input:focus~.plh,
.field .plh {
	top: 0;
	transform: scale(.65, .65) translateY(-25%);
	text-transform: uppercase
}

.label-input {
	position: relative;
	padding-left: 1.5rem
}

.label-input label {
	display: flex;
	align-items: center;
	min-height: 1rem;
	cursor: pointer
}

.label-input label::after,
.label-input label::before {
	position: absolute;
	display: block;
	content: "";
	transition: .3s
}

.label-input label::before {
	top: 50%;
	left: 0;
	width: 1rem;
	height: 1rem;
	border-radius: 3px;
	background-color: #fff;
	transform: translateY(-50%)
}

.label-input label::after {
	top: calc(50% - .1rem);
	left: .2rem;
	width: .65rem;
	height: .45rem;
	opacity: 0;
	border: 2px solid #000;
	border-top: none;
	border-right: none;
	transform: translateY(-50%) rotate(-45deg)
}

.label-input input[type=checkbox] {
	visibility: hidden;
	float: left;
	width: 0;
	margin: 0 0 0 -1rem
}

.label-input input[type=checkbox]:checked+label::after {
	opacity: 1
}

.button {
	display: flex;
	align-items: center;
	transition: ease-in-out .15s
}

.button:hover {
	transform: scale(1.05);
	transform-origin: 50% 50%
}

.cnt-form {
	padding: 1em
}

.cnt-form form {
	align-items: center
}

.cnt-form.steps form {
	align-items: center
}

.cnt-form.steps form>* {
	display: none
}

.cnt-form .single-form .button.next {
	display: none
}

.initial-step .validation-errors {
	display: none !important
}

.g-recaptcha {
	justify-content: center !important
}

.text-form {
	margin-top: .25em;
	margin-bottom: 0;
	color: #fff;
	text-shadow: .125em .1875em .1875em #000;
	text-align: center
}

.text-form.recaptcha {
	max-width: 19em
}

.icon-show-password.img-contain {
	width: 1em;
	height: 1em;
	position: absolute;
	top: 50%;
	right: .5em;
	display: none;
	font-size: 1em;
	border-radius: 1em;
	transform: translateY(-50%);
	background-image: url(../../../general-assets/icon-eye-slash.svg)
}

@media screen and (-webkit-min-device-pixel-ratio:2) and (min-aspect-ratio:3/2) {
	.icon-show-password.img-contain {
		font-size: .7em;
		right: .7em
	}
}

@media screen and (pointer:coarse) and (min-height:500px) and (min-width:500px) {
	.icon-show-password.img-contain {
		font-size: 1.3em
	}
}

@media screen and (hover:hover) and (pointer:fine) {
	.icon-show-password.img-contain {
		font-size: 1.5em;
		right: .7em
	}
}

.icon-show-password.active {
	background-image: url(../../../general-assets/icon-eye.svg)
}

.icon-show-password.animate {
	animation: pulse-light .3s ease-in-out
}

.icon-show-password.show-icon {
	display: inline-block
}

.validation-errors {
	position: absolute;
	top: -.5em;
	right: -1em;
	display: none;
	width: 15em;
	padding: .5em;
	font: 400 12px/1.3 Arial, sans-serif;
	color: #fff;
	border-radius: .33em;
	background: red;
	text-align: center
}

.has-error .validation-errors {
	z-index: 1;
	display: block
}

.flx {
	display: flex
}

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

.flx-c-column {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center
}

.flx-row {
	display: flex;
	flex-direction: row
}

.flx-w {
	display: flex;
	flex-wrap: wrap
}

.flx-c {
	display: flex;
	align-items: center;
	justify-content: center
}

.flx-a-c {
	display: flex;
	align-items: center
}

.mar-t-0 {
	margin-top: 0
}

.mar-t-05 {
	margin-top: .5em
}

.mar-t-1 {
	margin-top: 1em
}

.mar-b-0 {
	margin-bottom: 0
}

.mar-l-a {
	margin-left: auto
}

.mar-r-a {
	margin-right: auto
}

.txt-up {
	text-transform: uppercase
}

.txt-bold {
	font-weight: 700
}

.txt-semibold {
	font-weight: 600
}

.txt-u {
	text-decoration: underline
}

.text-center {
	text-align: center
}

.hide {
	display: none !important;
	animation: fadeOut .3s ease-in-out forwards
}

.show {
	display: flex !important;
	animation: fadeIn .3s ease-in-out forwards
}

.overlay {
	position: fixed !important;
	z-index: -1;
	top: 0;
	left: 0;
	display: flex;
	width: 100vw;
	height: 100vh;
	background: rgba(0, 0, 0, .4)
}

.overlay.active {
	z-index: 999999999;
	overflow: auto
}

.page {
	position: relative;
	z-index: 0;
	min-height: 100%
}

.page>* {
	position: relative;
	z-index: 1;
	order: 1
}

.page.open {
	position: fixed;
	width: 100%;
	overflow: hidden
}

.img-contain,
.img-cover {
	position: relative;
	background-repeat: no-repeat
}

.img-contain {
	background-position: center center;
	background-size: contain
}

.img-cover {
	background-position: top center;
	background-size: cover
}

.img-cover-sprite {
	background-position: left center;
	background-size: cover
}

.grecaptcha-badge {
	display: none !important
}

.col-white {
	color: #fff
}

.display-up {
	animation: displayUp .3s ease-in-out forwards
}

@keyframes displayUp {
	from {
		opacity: 0;
		transform: translateY(20px)
	}

	to {
		opacity: 1;
		transform: translateY(0)
	}
}

.hide-up {
	animation: hideUp .3s ease-in-out forwards
}

@keyframes hideUp {
	from {
		opacity: 1;
		transform: translateY(0)
	}

	to {
		opacity: 0;
		transform: translateY(20px)
	}
}

.display-down {
	animation: displayDown .3s ease-in-out forwards
}

@keyframes displayDown {
	from {
		opacity: 0;
		transform: translateY(-20px)
	}

	to {
		opacity: 1;
		transform: translateY(0)
	}
}

.hide-down {
	animation: hideDown .3s ease-in-out forwards
}

@keyframes hideDown {
	from {
		opacity: 1;
		transform: translateY(0)
	}

	to {
		opacity: 0;
		transform: translateY(-20px)
	}
}

.display-left {
	animation: displayLeft .3s ease-in-out forwards
}

@keyframes displayLeft {
	from {
		opacity: 0;
		transform: translateX(-20px)
	}

	to {
		opacity: 1;
		transform: translateX(0)
	}
}

.hide-left {
	animation: hideLeft .3s ease-in-out forwards
}

@keyframes hideLeft {
	from {
		opacity: 1;
		transform: translateX(0)
	}

	to {
		opacity: 0;
		transform: translateX(-20px)
	}
}

.display-right {
	animation: displayRight .3s ease-in-out forwards
}

@keyframes displayRight {
	from {
		opacity: 0;
		transform: translateX(20px)
	}

	to {
		opacity: 1;
		transform: translateX(0)
	}
}

.hide-right {
	animation: hideRight .3s ease-in-out forwards
}

@keyframes hideRight {
	from {
		opacity: 1;
		transform: translateX(0)
	}

	to {
		opacity: 0;
		transform: translateX(20px)
	}
}

@keyframes bounce {
	50% {
		transform: translateY(-5px) scaleX(1.03)
	}

	100% {
		transform: translateY(0) scaleX(1)
	}
}

@keyframes fadeIn {
	from {
		opacity: 0
	}

	to {
		opacity: 1
	}
}

@keyframes fadeOut {
	from {
		opacity: 1
	}

	to {
		opacity: 0
	}
}

.fade-in {
	animation: fadeIn .3s ease-in-out forwards
}

.fade-out {
	animation: fadeOut .3s ease-in-out forwards
}

@keyframes bounceInLeft {

	60%,
	75%,
	90%,
	from,
	to {
		animation-timing-function: cubic-bezier(.215, .61, .355, 1)
	}

	0% {
		opacity: 0;
		transform: translate3d(-10em, 0, 0)
	}

	60% {
		opacity: 1;
		transform: translate3d(.5em, 0, 0)
	}

	75% {
		transform: translate3d(-.25em, 0, 0)
	}

	90% {
		transform: translate3d(.125em, 0, 0)
	}

	to {
		transform: translate3d(0, 0, 0)
	}
}

@keyframes pulse-light {
	0% {
		box-shadow: 0 0 0 0 rgba(91, 91, 91, .6)
	}

	70% {
		box-shadow: 0 0 0 10px rgba(91, 91, 91, 0)
	}

	100% {
		box-shadow: 0 0 0 0 rgba(91, 91, 91, 0)
	}
}

@keyframes anime {
	0% {
		background-position: 0 50%
	}

	50% {
		background-position: 100% 50%
	}

	100% {
		background-position: 0 50%
	}
}

@keyframes pulse-btn {
	0% {
		transform: scale(1)
	}

	100% {
		transform: scale(1.2)
	}
}

@keyframes slideInUp {
	0% {
		transform: translateY(100%)
	}

	100% {
		transform: translateY(0)
	}
}

.invisible {
	opacity: 0
}

.visible {
	opacity: 1
}

.delay-1s {
	-webkit-animation-delay: 1s;
	animation-delay: 1s;
	-webkit-animation-delay: var(--animate-delay);
	animation-delay: var(--animate-delay)
}

.delay-2s {
	-webkit-animation-delay: 2s;
	animation-delay: 2s;
	-webkit-animation-delay: var(--animate-delay);
	animation-delay: var(--animate-delay)
}

.sk-fading-circle {
	position: relative;
	width: 75px;
	height: 75px;
	margin: auto
}

.sk-fading-circle .sk-circle {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}

.sk-fading-circle .sk-circle:before {
	display: block;
	width: 15%;
	height: 15%;
	margin: 0 auto;
	border-radius: 100%;
	background-color: #fff;
	content: "";
	animation: sk-circleFadeDelay 1.2s infinite ease-in-out both
}

.sk-fading-circle .sk-circle2 {
	transform: rotate(30deg)
}

.sk-fading-circle .sk-circle2::before {
	animation-delay: -1.1s
}

.sk-fading-circle .sk-circle3 {
	transform: rotate(60deg)
}

.sk-fading-circle .sk-circle3::before {
	animation-delay: -1s
}

.sk-fading-circle .sk-circle4 {
	transform: rotate(90deg)
}

.sk-fading-circle .sk-circle4::before {
	animation-delay: -.9s
}

.sk-fading-circle .sk-circle5 {
	transform: rotate(120deg)
}

.sk-fading-circle .sk-circle5::before {
	animation-delay: -.8s
}

.sk-fading-circle .sk-circle6 {
	transform: rotate(150deg)
}

.sk-fading-circle .sk-circle6::before {
	animation-delay: -.7s
}

.sk-fading-circle .sk-circle7 {
	transform: rotate(180deg)
}

.sk-fading-circle .sk-circle7::before {
	animation-delay: -.6s
}

.sk-fading-circle .sk-circle8 {
	transform: rotate(210deg)
}

.sk-fading-circle .sk-circle8::before {
	animation-delay: -.5s
}

.sk-fading-circle .sk-circle9 {
	transform: rotate(240deg)
}

.sk-fading-circle .sk-circle9::before {
	animation-delay: -.4s
}

.sk-fading-circle .sk-circle10 {
	transform: rotate(270deg)
}

.sk-fading-circle .sk-circle10::before {
	animation-delay: -.3s
}

.sk-fading-circle .sk-circle11 {
	transform: rotate(300deg)
}

.sk-fading-circle .sk-circle11::before {
	animation-delay: -.2s
}

.sk-fading-circle .sk-circle12 {
	transform: rotate(330deg)
}

.sk-fading-circle .sk-circle12::before {
	animation-delay: -.1s
}

@keyframes sk-circleFadeDelay {

	0%,
	100%,
	39% {
		opacity: 0
	}

	40% {
		opacity: 1
	}
}

body {
	font-size: 4.44445vw
}

@media screen and (-webkit-min-device-pixel-ratio:2) and (min-aspect-ratio:3/2) {
	body {
		font-size: 2.05128vw
	}
}

@media screen and (pointer:coarse) and (min-height:500px) and (min-width:500px) {
	body {
		font-size: 2.083328vw
	}
}

@media screen and (pointer:coarse) and (min-height:500px) and (min-width:500px) and (min-aspect-ratio:5/4) {
	body {
		font-size: 1.5625vw
	}
}

@media screen and (hover:hover) and (pointer:fine) {
	body {
		font-size: 1.1713vw
	}
}

@media screen and (hover:hover) and (pointer:fine) and (min-width:1400px) {
	body {
		font-size: .833335vw
	}
}
