/*
Visitors CSS
*/

/* Visitors Hero
========================= */
.hero-container { display: flex; justify-content: center; width: 100%; padding: 0; }
.hero { display: block;background-color: #fff; position: relative; width: 100%; height: 100vh; overflow: hidden; z-index: 999; }
.hero-block { display: block; width: 100%; height: 0; }
.hero-block .hero-bg { background-repeat: no-repeat; background-position: 50% 50%; background-size: cover; position: absolute; left: 0px; right: 0px; top: 0px; bottom: 0px; width: 100%; height: 100%; overflow: hidden; }

/* Visitors Services
========================= */
.visitors-overview { display: flex; flex-direction: column; align-items: center; margin: 0 2em; padding: 3.5em 0 1em; }
.visitors-inner { display: flex; flex-direction: column; max-width: 1480px; width: 100%; }
.visitors-title { display: flex; flex-direction: column; align-items: flex-start; margin: 0; padding: 0.5em 0; }
.visitors-title span { color: #1a1a1a; font-family: 'Mulish', sans-serif; font-size: 3.6rem; font-weight: 600; line-height: 1.2; letter-spacing: .05em; text-transform: uppercase; }
.visitors-details { display: flex; flex-direction: column; padding: 1em 0 .5em; }
.visitors-details p { color: #1a1a1a; font-family: 'Mulish', sans-serif; font-size: 1.8rem; line-height: 1.4; margin: 0; padding: 0 0 1em; }
.visitors-details p:last-of-type { padding: 0; }

/* Registration Banner
========================= */
.reg-banner { clear: both; padding: 3em 0 2em; position: relative; width: 100%; }
.reg-banner-block { display: flex; flex-direction: column; margin: 0 2em; padding: 0; }

.reg-banner-desktop-block { display: block; margin: 0 auto; max-width: 1480px; width: 100%; }
.reg-banner-desktop-block a { display: block; }
.reg-banner-desktop-block img { width: 100%; }

.reg-banner-tablet-block { display: none; }
.reg-banner-tablet-block a { display: block; }
.reg-banner-tablet-block img { max-width: 100%; }

.reg-banner-mobile-block { display: none; }
.reg-banner-mobile-block a { display: block; }
.reg-banner-mobile-block img { max-width: 100%; }

/* Responsive
--------------------------------------------- */
@media only screen and (min-width: 1980px) {
.hero { height: 700px; }
}

@media only screen and (min-width: 2500px) {
.hero { height: 750px; }
}

@media only screen and (max-width: 1480px) {
.visitors-overview { padding: 3em 0 1em; }
.reg-banner { padding: 2em 0 1em; }
}

@media only screen and (max-width: 1280px) {
.visitors-overview { padding: 2.5em 0 1em; }
.reg-banner { padding: 1.5em 0 1em; }
.visitors-title span { font-size: 3.2rem; }
}

@media only screen and (max-width: 1140px) {
.visitors-title span { font-size: 3rem; }
}

@media only screen and (max-width: 1080px) {
.reg-banner { padding: 1.5em 0 0.5em; }
.reg-banner-desktop-block { display: none; }
.reg-banner-tablet-block { display: block; position: relative; margin: 0 auto; max-width: 650px; width: 100%; }
}

@media only screen and (max-width: 1023px) {
.hero { max-height: calc(100vw * 0.39101); }
.visitors-overview { padding: 2.5em 0 0.5em; }
.visitors-title span { font-size: 2.8rem; }
}

@media only screen and (max-width: 880px) {
.hero { max-height: calc(100vw * 0.39773); }
}

@media only screen and (max-width: 768px) {
.hero-container { padding: 0; }
.hero { max-height: calc(100vw * 0.39064); }
.visitors-overview { padding: 2em 0 .5em; }
.visitors-title span { font-size: 2.6rem; }
}

@media only screen and (max-width: 719px) {
.visitors-title span { font-size: 2.4rem; }
.reg-banner { padding: 1em 0 0.5em; }
}

@media only screen and (max-width: 640px) {
.hero { max-height: calc(100vw * 0.4297); }
.visitors-overview { margin: 0 1.5em; }
.visitors-title span { font-size: 2.2rem; }
.visitors-details { padding: 1em 0 0; }
.visitors-details p { font-size: 1.7rem; }
.reg-banner { padding: 1.5em 0 1em; }
.reg-banner-block { margin: 0 1.5em; }
.reg-banner-tablet-block { display: none; }
.reg-banner-mobile-block { display: block; }
}

@media only screen and (max-width: 480px) {
.hero { max-height: calc(100vw * 0.46874999); }
.visitors-overview { padding: 1.5em 0 .5em; }
.visitors-title span { font-size: 2.1rem; }
.reg-banner { padding: 1.5em 0 0.5em; }
}

@media only screen and (max-width: 420px) {
.hero { max-height: calc(100vw * 0.4762); }
}