:root {

}

body { font-family: Arial, sans-serif; font-size: 1rem; font-weight: 400; color: var(--novomatic-dark); background: #fff; }

#visitor_host_lastname,
#visitor_host_firstname,
#purpose_id,
#visitor_lastname,
#visitor_firstname,
#visitor_email{
    
    border-color: blue;
    animation: must-fill-input-border 3s linear infinite;
    
}
@keyframes must-fill-input-border {
    0%{border-color: blue;}
    50%{border-color: var(--novomatic-blue-light);}
    100%{border-color: blue;}
}
.ulclear { margin:0; padding:0; list-style:none; }

/*.form-control::-webkit-input-placeholder { color: #005c9b; }*/
/*.form-control::-moz-placeholder { color: #005c9b; }*/
/*.form-control:-ms-input-placeholder { color: #005c9b; }*/
/*.form-control:-moz-placeholder { color: #005c9b; }*/

.btn { --novomatic-btn-padding-x: clamp(1rem, 1.89vw, 36px); --novomatic-btn-padding-y: .75rem; text-transform: uppercase; --novomatic-btn-border-width: 0; }
/*.btn-lg { --novomatic-btn-padding-x: 1rem; }*/
.btn-primary { --novomatic-btn-hover-bg: var(--novomatic-blue-light) }

.py-6 { padding-top: 4rem!important; padding-bottom: 4rem!important; }
.py-lg { --padding-y: clamp(30px, 5.25vw, 100px); padding-top: var(--padding-y); padding-bottom: var(--padding-y); }
.link-overlay { position: absolute; z-index: 3; top: 0; right: 0; bottom: 0; left: 0; background-color: transparent; text-decoration: none; font-size: 0; line-height: 0; }

.main-title { color: var(--novomatic-blue); font-size: 2.25rem; line-height: 1.2; font-weight: 700; margin-bottom: 2rem; }
.main-title>span { display: block; font-size: 1.25rem; font-weight: 400; margin-top: 5px; }

.title-lg { font-size: 2.625rem; }
.title-lg>span { font-size: 2.625rem; }

.title-decor { position: relative; padding-bottom: 1.5rem;  }
.title-decor:after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 4.5rem; height: 3px; background-color: var(--novomatic-blue-light) }

.text-lg { font-size: 1.5rem; line-height: 1.2; }

header { box-shadow: 0 0 8px 0 rgba(0,0,0,.1); }
header .navbar { padding: 0 0 1.25rem 0; align-items: flex-end; }
header .collapse { padding-top: .5rem; }
header .navbar-brand { padding: 0 0; }
header .navbar-nav { --novomatic-nav-link-font-weight: 700; --novomatic-nav-link-font-size: .875rem;
    --novomatic-nav-link-color: var(--novomatic-dark); --novomatic-nav-link-hover-color: var(--novomatic-blue-light);
    --novomatic-navbar-active-color: var(--novomatic-blue-light);
}
header .navbar-nav .nav-link { text-transform: uppercase;  }
header .top { display: flex; }
header .lang-box { margin-left: auto; }
/*header .lang-box { position: absolute; top: 0; right: 0; }*/

.lang-box { display: flex; }
.lang-box .nav-link { padding: .5rem .625rem; text-transform: uppercase; font-size: 11px; font-weight: 700; background-color: var(--novomatic-gray-200); color: var(--novomatic-dark); }
.lang-box .nav-link+.nav-link { margin-left: 1px; }
.lang-box .nav-link:hover { background-color: var(--novomatic-blue-light); color: #fff; }
.lang-box .nav-link.active { background-color: var(--novomatic-blue); color: #fff; }

.form-starter.home-widget { background: url(../images/bg-home-01.jpg) 50% 50% no-repeat scroll var(--novomatic-light); background-size: cover; }
.form-starter.home-widget .text { color: var(--novomatic-blue);}
.form-starter {}
.form-starter .buttons { --gap: 1.5rem; display: flex; justify-content: center; align-items: center; gap: var(--gap); margin-top: 4.4rem;  }
.form-starter .buttons a { flex: 0 1 25%; display: grid; grid-template-columns: 1fr; grid-template-rows: 1fr; text-decoration: none; color: var(--novomatic-dark);
    transition: color 0.3s 0s ease; }
.form-starter .buttons a>* { grid-area: 1 / 1 / 2 / 2; }
.form-starter .buttons a .wrap { z-index: 2; align-self: center; padding: .5rem 1rem; }
.form-starter .buttons a .subtitle { display: block; margin: 0; font-size: 1.375rem; line-height: 1.1; font-weight: 700; text-transform: uppercase; padding-bottom: .875rem; }
.form-starter .buttons a .title-decor:after { transition: background-color 0.3s 0s ease; }
.form-starter .buttons a svg { display: block; width: 100%; height: 100%; color: #fff; filter: drop-shadow(0 3px 0 rgba(207, 214, 218, 1));
    transition: color 0.3s 0s ease; }
.form-starter .buttons a:hover { color: #fff; }
.form-starter .buttons a:hover svg { color: var(--novomatic-blue-light) }
.form-starter .buttons a:hover .title-decor:after { background-color: #fff; }

.text-widget .text { color: var(--novomatic-blue-dark); }
.text-widget .col-img { position: relative; }
.text-widget .col-img>img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }

footer { background-color: var(--novomatic-blue-dark); color: #fff; }
footer .logo { max-width: 175px; }
footer .nav { --novomatic-nav-link-padding-x: .5rem; --novomatic-nav-link-padding-y: .25rem;
    --novomatic-nav-link-color: #fff; --novomatic-nav-link-hover-color: var(--novomatic-blue-light); --novomatic-nav-link-font-size: 13px; }
footer :not(.bottom)>.nav .nav-link { position: relative; }
footer :not(.bottom)>.nav .nav-link:after { content: ''; position: absolute; top: 50%; left: 0; width: 1px; height: 1rem; transform: translateY(-50%); }
footer :not(.bottom)>.nav .nav-link + .nav-link:after { background-color: var(--novomatic-blue-light); }
footer .bottom .nav-link { text-transform: uppercase; }

.navbar-toggler { color: #fff; background-color: var(--novomatic-blue-light); }
.navbar-toggler svg { display: block; width: 25px; }

.page-image { height: clamp(75px, 11.56vw, 220px); background: 50% 0 no-repeat scroll transparent; background-size: cover; }

/*.form-starter.home-widget .buttons { display: none; }*/

/*.ii { display: flex; flex-wrap: nowrap; }*/

.stepper { overflow: hidden; }
.step-wrapper {  --novomatic-gutter-x: 1rem;  display: flex; flex-wrap: nowrap; margin: 0 calc(-.5 * var(--novomatic-gutter-x)); }
.step { --marker-size: 32px; --marker-color: #fff;
    flex: 0 1 25%; position: relative; text-align: center; padding: 0 calc(var(--novomatic-gutter-x) * .5); font-size: 12px; font-weight: 400; color: #a8a8a8; line-height: 1.2; }
.step-marker { position: relative; z-index: 2; margin: 0 auto 15px auto; width: var(--marker-size); height: var(--marker-size); background-color: var(--marker-color); border-radius: 100vw; }
.step-title {}
.step:before,
.step:after { content: ''; position: absolute; top: calc(var(--marker-size) / 2); height: 4px; transform: translateY(-50%); }
.step:not(:first-child):before { width: 100%; right: 50%; background-color: var(--marker-color); }
.step.active { --marker-color: var(--novomatic-blue-light); color: var(--novomatic-dark); font-weight: 700; }

.main-form .text { color: var(--novomatic-blue); }

.form-control {}
.form-control,
.form-select { border-radius: 0; }
.col-form-label { font-size: .875rem; font-weight: 700; color: #555555; }

.form-check { display: flex; align-items: center; flex-wrap: wrap; padding-left: 0; }
.form-check .form-check-input { width: 2rem; height: 2rem; margin-left: 0; }
.form-check-input { margin-top: 0; }
.form-check-input[type=checkbox] { border-radius: 0; }
.form-check-label { flex: 1; margin-left: 1rem; font-weight: 700; font-size: 13px; }
.form-check .invalid-feedback { width: 100%; }

.user-form textarea.form-control { height: 114px; }

.text-sm { font-size: 11px; }

.doc-accept { margin-bottom: 2.5rem; padding-bottom: 2.5rem; border-bottom: 1px solid #cacaca; flex-wrap: wrap; }
.doc-accept svg { color: var(--novomatic-blue-light); width: 18px; height: 18px; margin: 0 1rem; }
.doc-accept .form-check-input { flex: 0 0 2rem; }
.doc-accept .form-check-label { font-size: .875rem; margin-left: 0;}
.doc-accept a { display: inline-block; color: #555555; text-decoration: none; }
.doc-accept a:hover { color: var(--novomatic-blue-light); text-decoration: underline; }


@media (min-width: 576px) {
    html { font-size: 14px; }
}
@media (min-width: 768px) {
    html { font-size: 14px; }
}
@media (min-width: 992px) {
    html { font-size: 14px; }
    header .navbar-brand { width: 190px; }

}
@media (min-width: 1200px) {
    html { font-size: 16px; }
    header .navbar-brand { width: auto; }
}

@media (min-width: 1400px) {
    html { font-size: 16px; }

}

@media (min-width: 768px) and (max-width: 991.98px) {

}

@media (min-width: 390px) and (max-width: 575.98px) {

}

@media (min-width: 576px) and (max-width: 767.98px) {

}

@media (min-width: 576px) and (max-width: 991.98px) {

}

@media (min-width: 992px) and  (max-width: 1199.98px) {

}

@media (max-width: 389.98px) {

}

@media (max-width: 575.98px) {
    html { font-size: 14px; }

    .form-starter .buttons a .subtitle { font-size: 12px!important; }
    .text-widget .col-img>img { position: static; }
}

@media (max-width: 767.98px) {
    :root {
        --swiper-pagination-bullet-size: 12px;
        --swiper-pagination-bullet-horizontal-gap: 3px;
    }

    .btn {  }

    .main-title { font-size: 1.71rem; }
    .main-title>span { font-size: 1.14rem; margin-top: 0; }
    .title-lg { font-size: 2rem; }
    .title-lg>span { font-size: 2rem; }

    .title-decor {  }

    .form-starter .buttons { flex-wrap: wrap; }
    .form-starter .buttons a { flex: 1 1 calc(50% - var(--gap)); width: calc(50% - var(--gap)); max-width: 240px; }

    .step-wrapper { --novomatic-gutter-x: 6px; }
    .step { --marker-size: 22px; font-size: 10px; }

}

@media (max-width: 991.98px) {
    header .top { display: none; }
    header .navbar { padding: 1rem 0; align-items: center; }
    header .navbar-brand { width: 130px; }

    .form-starter .buttons { --gap: 10px; margin-top: 2.5rem; }
    .form-starter .buttons a .wrap { padding: 5px 5px; }

    .doc-accept { margin-bottom: 1.5rem; padding-bottom: 1.5rem; }
    .doc-accept svg { margin: 0 .5rem; }

    .offcanvas-navigation { --novomatic-navbar-active-color: var(--novomatic-blue-light); }
    .offcanvas-navigation.offcanvas-end { width: 80%; max-width: 400px; }
    .offcanvas-navigation .offcanvas-title img { max-width: 120px; }
    .offcanvas-navigation .dropdown-menu { --novomatic-dropdown-bg: var(--novomatic-gray-200); }
}

@media (max-width: 1199.98px) {
    .form-starter .buttons a .subtitle { font-size: 1rem; }
}
@media (max-width: 1399.98px) {

}


/**/
div.errormark { display: none; width: 16px; height: 16px; }
div.errormark a {display: block; background: transparent url(../images/icons/error.png) no-repeat; width: 16px; height: 16px; }
div.errors { position: relative; background: #ffecec; border: solid 1px #ffffff; padding: 10px; margin-bottom: 10px; }
div.errors strong { color: #000000; }
div.errors .error-close { position: absolute; width: 17px; height: 17px; top: 0px; right: 0px; display: block; background: url(../images/icons/error_close_icon.png) no-repeat; }
div.error-text { margin-top: 5px; }


/**/
.assets .row>div>div { padding: 1rem; aspect-ratio: 2 / 1; }
.assets .row>.w-100 { margin-top: 0!important; }
.assets .b { background-color: var(--novomatic-blue); color: #fff; }
.assets .bl { background-color: var(--novomatic-blue-light); color: #fff; }
.assets .bd { background-color: var(--novomatic-blue-dark); color: #fff; }
.assets .g7 { background-color: var(--novomatic-gray-700); color: #fff; }
.assets .d { background-color: var(--novomatic-dark); color: #fff; }
.assets .gl { background-color: var(--novomatic-light); }
.assets .g2 { background-color: var(--novomatic-gray-200); }
.assets .desc { color: var(--novomatic-gray-700); }
.asset-btn div { display: flex; gap: 30px; margin-bottom: 30px; }
.asset-icon { display: flex; gap: 30px; }
.asset-icon div {}
.asset-icon div svg { display: block; width: 4rem; height: 4rem; }
.asset-icon div svg.btn-bg { width: 300px; height: 140px; color: var(--novomatic-blue-light); }
.asset-icon div svg.btn-bg { filter: drop-shadow(0 0 3px rgba(207, 214, 218, 1)); }