.app{display:flex; flex-direction: column; min-height:100vh;}
.app-main{padding-top:4rem; flex:1 1 auto;}
.app-footer{flex:0 0 auto;}
.app-wrapper{max-width:var(--wrap-width); margin:0 auto;}
.app-image{border-radius: var(--radial-lg)}
.app-main .app-widget:first-child{padding-top:0;}

.home-intro {background: linear-gradient(to bottom, var(--color-fill-darker) 0%, var(--color-fill) 100% ); padding-top:4rem; position:relative;}
.home-intro .container-fluid{ position:relative; z-index: 2;}
.home-intro::after {content:''; display:block; position:absolute; top:20%; right:0; height:50%; width:100%; background: url(../images/intro_back.jpg) no-repeat 50% 50%; opacity: .15;  background-size:contain; mix-blend-mode: multiply;} 
.home-intro__title{font-size:2.25rem; line-height: 1.1; font-weight: bold; margin:1rem 0;}
.home-intro__subtitle{font-size:1.25rem; line-height: 1.2; font-weight: bold; text-wrap: balance}
.home-intro__text{ text-wrap: balance}
.home-intro__picture{margin:2rem 0 2rem; position:relative; padding-top:1rem;}
.home-intro .btn{width:100%;}

.home-intro__flags{display:flex; gap:1rem; justify-content: center; position:absolute; width:100%; height:4rem; top:0; z-index: -1; }
.home-intro__flags svg{animation: waveFlag 10s linear infinite alternate;  border-radius: var(--radial-card); overflow: hidden; position:relative;}
.home-intro__flags svg:nth-child(2){animation-delay:.5s; top:-.5rem; }
.home-intro__flags svg:nth-child(3){animation-delay:1s; top:-.25rem; }

@keyframes waveFlag {
    0% {transform: translate(0, 0);}
    25% {transform: translate(-3px, -1rem);}
    50% {transform: translate(0, -2rem);}
    75% {transform: translate(2px, -1rem);}
    100% {transform: translateY(0, 0);}
}

@media screen and (min-width:47em){
    
    .home-intro {position:relative; overflow: hidden; padding-bottom:4rem; padding-top:6rem;}
    .home-intro__title{font-size:3rem;}
    .home-intro .btn{width:auto;}
    .home-intro__picture{position:absolute; left:50%; top:60%; transform: translateY(-50%); width:60%; max-width: 55rem;}

    .home-intro__flags svg:nth-child(2){top:-1rem; }
    .home-intro__flags svg:nth-child(3){top:-.5rem; }

}
@media screen and (min-width:63em){
    .home-intro__title{font-size:3rem; margin:1rem 0;}
    .home-intro__subtitle{font-size:1.75rem; margin-bottom:1rem; }
    .home-intro__flags{height:6rem;}
    .home-intro::after{ height:80%; width:50vw; top:10%; opacity: .25; }
}
@media screen and (min-width:74em){
    .home-intro {padding-top:0;}
    .home-intro__title{font-size:4rem; margin:2rem 0;}
    .home-intro__subtitle{font-size:2rem; margin-bottom:2rem; }
    .home-intro__row { min-height:100vh; align-items: center; }
    .home-intro__caption{max-width: 50rem;}
    .home-intro__text{max-width: 40rem;}
    .home-intro {padding-bottom:0; margin-bottom:-2rem;}
}

.app-widget--feature .app-widget__title{max-width:100%;}
.feature-numbers {display:flex;}
.feature-numbers li{ padding-right:2rem;}
.feature-list li {padding:1.7rem 2rem 1rem; max-width:30rem; border-radius:var(--radial-card); margin:1rem 0 1rem auto; background:var(--color-light); position:relative;}
.feature-list strong{display:block; margin-bottom:.5rem;}
.feature-numbers__item{font-size:2rem; line-height:1; margin-bottom:1rem; font-weight: bold; display:block;}
.feature-numbers__item span{color:var(--color-brand);}
.feature-numbers__str{font-weight: bold; display:block; line-height: 1.3;}
.feature-numbers__text{margin-top:.5rem; margin-bottom:2rem; }
.feature-max{font-size:2rem; font-weight: bold; line-height:1.2;}

@media screen and (min-width:47em){
    .feature-list li:nth-child(2n){left:-2rem;}
}

@media screen and (min-width:63em){
    .feature-numbers__item{font-size:3rem; }
    .feature-list li { margin:2rem auto;}
}


html.lenis,
html.lenis body { height: auto;}

.lenis.lenis-smooth [data-lenis-prevent] {overscroll-behavior: contain;}
.lenis.lenis-stopped {overflow: clip;}
.lenis.lenis-smooth iframe {pointer-events: none;}

.loader{top:0; left:0; position: absolute;  width: 100%; height: 100%;}
.loader img{width: 2rem;  height: 2rem; position: absolute;  top: 0; left: 0; right: 0; bottom: 0;  margin: auto;}

.breadcrumbs-list{font-size:.74rem; margin:0; padding:0; display:flex; align-items: center; max-width: 100%;}
.breadcrumbs-list__item {padding:0 .25rem; }
.breadcrumbs-list__item:last-child{ display:block;  max-width: 100%;overflow:hidden; }
.breadcrumbs-list__link:hover {color:var(--color-brand);}
.breadcrumbs-list__item>a{white-space: nowrap;}
.breadcrumbs-list__item>span{color:var(--color-ghost); white-space: nowrap;  max-width: 100%; display:block; overflow:hidden;  text-overflow: ellipsis;}
.breadcrumbs-list .sep{width:4px; height:4px; margin:0 .5rem; opacity: .375; color:inherit}

.page-title{font-weight:900; font-size:2rem; margin:var(--size) 0; line-height:1.1; text-wrap: balance;}
.page-title--max{margin:1.5rem 0;}
.page-title__context{font-size:.75em; opacity: .75; display:block; margin-top:.5rem;}

.card{padding:var(--size); background:var(--color-light);  border-radius: var(--radial-card);}


.app-widget{padding:2rem 0;}
.app-widget__title, .app-content h2{font-size:2rem; font-weight: bold; line-height:1.2; margin:1rem 0 1.5rem;}
.app-widget__label{font-size:.75rem; font-weight:bold; text-transform: uppercase; padding-left:3rem; position:relative;}
.app-widget__label::before{content:''; display: block; width:2rem; position:absolute; left:0; top:0; bottom:0; border-radius: 2px; right:auto; margin:auto; height:.125rem; background:var(--color-brand);}
.app-widget .links{font-size:.75rem;}
.app-widget .links .svg-icon{margin-left:1rem; transition: transform .25s ease;}
.app-widget .links a:hover .svg-icon{transform:translateX(.5rem);}
.app-widget .links a:hover{color:var(--color-brand);}
.app-widget__desc{margin-bottom:2rem;}

.app-widget__body--full .swiper{ padding:0 2rem;}

.app-content h2{font-size:2rem; font-weight: bold; line-height:1.2; margin:1rem 0 3rem;}
.app-content img{border-radius: var(--radial-lg); margin:1rem 0;}
.app-content .no-margin{margin:0;}

.w-info-feature__list li{padding:0 1rem; margin-bottom:3rem; width: 50%; max-width: 25rem;}
.w-info-feature__list strong{display:block; max-width: 10rem; font-size:1.25rem; line-height:1.3; margin-bottom:.5rem;}
.w-info-feature__list span{display:block; max-width: 18rem;}
.w-info-feature__list li svg {display: block; width:2rem; height:2rem; margin-bottom:1rem;}

.w-info-feature__numbers li {margin-bottom:2rem;}
.w-info-feature__numbers li span {display: block; max-width: 10rem;}
.w-info-feature__numbers strong{font-size:3rem; line-height:1; font-weight: bold; display: block; color:var(--color-brand); margin-bottom:.5rem;}

.step-list{--gap: 1rem; display:flex; gap:var(--gap); flex-wrap: wrap; counter-reset: number;}
.step-list__item{display:block; counter-increment: number;}
.step-list__item::before{content: counter(number, decimal-leading-zero); font-weight: 900; display: block; font-size:1.5rem; margin-top:-1rem; color:var(--color-grey);}
.step-list__item strong{display:block; margin:.5rem 0;}
.step-list__item .btn-link{display:block; font-size:.875rem; opacity: .5; margin-top:.5rem;}
.step-list__item .btn-link:hover{opacity:1; color:var(--color-brand);}

.size-source{width:3rem; height:3rem;}


.page-intro__caption{padding-left:20%; margin-top:1.5rem; position:relative; font-weight:500;}
.page-intro__caption::after{content: ''; display: block; width: 16%; height: 2px;  background: currentColor; position: absolute; top: .75rem;  left: 0;}

.thumbs{display:flex; gap:.25rem; margin:.25rem 0;}
.thumbs__link{display:block; border:1px solid transparent; border-radius: var(--radial-small); cursor:pointer;}
.thumbs__link.swiper-slide{width:fit-content;}
.thumbs__image{display:flex;border-radius: var(--radial-small); width:6rem; height:auto;}

.accordion__item{border-bottom:var(--border); padding-bottom:1rem;}
.accordion__title{padding-top:1rem; font-weight: bold; font-size:1.25rem; cursor:pointer; position:relative;}
.accordion__title::after{content:'+'; font-weight: 300; font-size:2rem; line-height: 1.2; display: block; position:absolute; right:0; bottom:0; display:inline-flex; align-items: center; transition:transform .25s ease;}
.accordion__content{padding-top:1rem; display:none;}
.is-active .accordion__content{display:block; transition:opacity .5s ease, display .3s ease allow-discrete;}
.is-active .accordion__title::after{transform: rotate(45deg);}

@starting-style {
    .accordion__item.is-active .accordion__content {
      opacity: 0;
    } 
}

.app-loader{display:flex; align-items: center; width:100%; height:100%; position:absolute; top:0; left:0; justify-content: center;}
.app-loader__image{width:2rem; height:2rem;}

.app-video{display:inline-flex; position:relative; border:1rem solid var(--color-light); box-shadow:0 1rem 2rem -1rem rgba(0,0,0,.2); width: 100%; aspect-ratio: 16/9; border-radius: var(--radial-card); overflow: hidden;}
.app-video img{position:absolute; top:0; left:0; width:100%; height:100%; object-fit: cover;}
.app-video__play{display:block; position:absolute; top:0; left:0; right:0; bottom:0; margin:auto;}
.app-video .youtube{position: absolute;  top: 0; left: 0; width: 100%; height: 100%;}
.app-video-modal{position:fixed; display:flex; justify-content: center; top:0; left:0; width:100%; height:100%; padding:1rem; z-index: var(--z-modal); background:transparent;}
.app-video-modal__close{width:2rem; height:2rem; position:absolute; top:1rem; right:1rem; z-index:var(--z-modal); color:var(--color-base)}
.app-video__inner{width:100%; height:100%; }
.app-video__inner .video-block{width:100%; height:100%; object-fit: cover;}

body.modal-open{height:100%; overflow: hidden;}

.app-video-modal video{max-width: 100%;}

.video-block{margin:auto; max-height:100%;}

.pagebar{margin-top:1rem; margin-bottom:1rem; gap:.5rem}
.pagebar__link{ display:inline-flex; align-items: center; justify-content: center; min-width:2rem; height:2rem; border-radius: 50%;}
.pagebar__link .svg-icon{ width:.85rem; height:.9rem;}
.pagebar__link:hover:not(.pagebar__link--current, .disabled){background:var(--color-brand); color:var(--color-fill);}
.pagebar__link--current{background:var(--color-light); font-weight: bold;}
.pagebar__link.disabled{ color:var(--color-ghost); opacity: .5;}

.app-table{width: 100%; margin:1rem 0;}
.app-table__row, .app-table__header{ padding:0; }
.app-table__row:nth-child(2n){background:var(--color-light);}
.app-table__cell{ padding:1rem;}
.app-table__header{font-weight:bold; text-align: left;}
.app-table__header .app-table__cell{border-bottom: var(--border);}
.app-note{margin:1rem 0; font-style: italic; line-height: 1.3; color:var(--color-ghost);}
.table-footer__right{text-align: right;}

.cat-nav{ margin-top:-1rem; margin-right:-1rem;}
.cat-nav-list{display:flex; align-items: center; margin-bottom:2rem; padding:.5rem 0; max-width: 100%; overflow:visible; overflow-x: auto;}
.cat-nav-list__item{margin-right:.5rem; white-space:nowrap; }
.cat-nav-list__item a{padding:.5rem 1rem; border-radius: 1.5rem; border:var(--border); }
.cat-nav-list__item a:hover{color:var(--color-brand); background:var(--color-abs-gray-opacity); border-color:var(--color-brand);}

.ft_date{display:flex; flex-wrap:wrap;}
.ft_date label{width:100%;}
.ft_date input{width:50%!important;}
.ft_date select{width:24%!important;}

.share-content__btn{display:inline-flex; align-items: center;}
.share-content__btn svg{width:1rem; height:1rem; margin-right:.25rem;}
.share-content__btn span{margin-left:.5rem;}

.share-list{padding:0; margin:.25rem .5rem; list-style: none;}
.share-list__item{margin:.75rem 0; font-size: 1rem;}
.share-list__item a{ display:inline-flex; align-items: center;}
.share-list__item span{ line-height: 1;}
.share-list__icon{width:1.25rem; height:1.25rem; margin-right:.5rem;}
.js-coply-link .share-list__icon{width:1.5rem; height:1.5rem;}

.nav-tabs{display:inline-flex; gap:1rem; border-bottom:var(--border); margin-bottom:1rem;}
.nav-tabs .nav-item{display:block; padding: 0;}
.nav-tabs .nav-link{padding:.5rem 0; display:inline-block; color:var(--color-fill-invert); border-bottom:1px solid transparent;}
.nav-tabs .nav-link.active{padding:.5rem 0; display:inline-block; color:var(--color-base); border-color:var(--color-base)}
.tab-pane{display:none}
.tab-pane.active{display:block}

.col-sm, .col-sm-auto{padding:0 1rem;}
.text-muted{color:var(--color-grey); }
.form-control.search{border:var(--border); padding:1rem; border-radius: .25rem; width:100%; display:block;}
.small{font-size:.75rem;}
.py-3{padding-top:1rem; padding-bottom:1rem;}
.border-bottom{border-bottom: var(--border);}
.text-success{color:rgb(57, 190, 146)}
.badge{ background:var(--color-ghost); padding:.25rem; border-radius: 1rem; font-size:.75em; line-height:1; display:inline-block; min-width:1rem;}

.modal {display:none; position:fixed; top:0; left:0; width:100%; height:100%; z-index: var(--z-modal);}
.modal.show{display:block;}
.modal-backdrop{width:100%; height:100%; left:0; top:0; position:fixed; background:var(--color-fill); z-index:var(--z-backmodal); opacity:.8}

.modal-dialog{display:flex; height:100%; align-items: center; justify-content: center; margin:1rem;}
.modal-content{border-radius: var(--radial-card); padding:var(--size); background-color: var(--color-light); position:relative; box-shadow: 0 2rem 4rem var(--color-shadow); opacity: 0; transform: scale(.5); transition:transform .5s ease, opacity .5s ease;}
.modal-header{margin-bottom:1rem; margin-top:1rem;}
.modal-title{font-weight: bold; margin:0; font-size:1.5rem; line-height:1.2;}
.show .modal-content{transform: scale(1); opacity: 1;}
.modal-body__form{max-width: 32rem; margin:auto;}

.modal__close{display:block; position:absolute; top:1rem; right:1rem; opacity: .5;}
.modal__close .svg-icon{width:1.25rem; height:1.25rem;}
.modal__close:hover{opacity: 1;}
.modal-compact .modal-content{max-width: 30rem;}

.edit_wlinks{position:relative; display:flex; justify-content: flex-end;}
.edit_wlinks a{display: block; padding:.25rem; }

.content-block h2{font-size:1.5rem; font-weight: 900;}
.contacts-page h2{margin:2rem 0 0;}

.app-content h2, .app-content h3{margin:0; margin-bottom:.5rem;}
.app-content ul, .app-content p{margin:0; margin-bottom:2rem;}
.app-content ul{padding-left:1.5rem; margin-top:1rem;}
.app-content ul>li{margin-bottom:1rem; position: relative;}
.app-content ul>li:before{content:''; display: block; width:.4rem; height:.4rem; border-radius: 4px; background-color: var(--color-base); opacity: .4; position: absolute; left:-1.25rem; top:.6rem;}
.app-content .bad-list>li{padding-left:.5rem;}
.app-content .bad-list>li:before, .app-content .bad-list>li:after{content:''; display: block; width:.8rem; height:4px; border-radius: 4px; background-color: var(--color-brand); opacity:1; position: absolute; left:-1.25rem; top:.65rem;}
.app-content .bad-list>li:before{transform:rotate(45deg)}
.app-content .bad-list>li:after{transform:rotate(-45deg)}

.app-content h2, .app-content h3{font-weight: 900; margin-top:1.5rem;}
.app-content h2{font-size:1.5rem; line-height:1.1; }
.app-content h3{font-size:1.25rem;line-height:1.3; }

.app-content__max{font-size:1.5rem;}


.cat-description{padding:2rem 0; margin-bottom:2rem; margin-top:2rem;}
.cat-description h2{font-size:2rem; font-weight:700; line-height:1.2; }
.car-logos__item{display:inline-flex; width:auto!important; }
.size-carlogos{ width:6rem; height:4rem;}


.app-overfix{position: fixed; bottom:0; left:0; width:100%; padding:1rem; z-index: var(--z-modal);}

.container-half{max-width: 60rem; margin:auto; padding:0 1rem;}
.container-half .container{width: 100%; padding:0;}

.bottom-form{background:url(../images/qform-xs.jpg) no-repeat 100% 100%; background-size:contain; padding-bottom:20rem!important; margin-bottom:-4rem; position:relative;}
.bottom-form::before{content:''; display:block; position:absolute; bottom:0; left:0; width:100%; height:5rem; background:var(--color-abs-gradient);}
.bottom-form .icms-forms__wrap{background:var(--color-light); padding:var(--size); border-radius: var(--radial-card); max-width: 30rem; margin:auto;}
.bottom-form .icms-forms__wrap h4{font-size:2rem; line-height:1; font-weight: bold; margin: 0 0 1rem;}


@media (prefers-color-scheme: dark) {
.bottom-form:after{content:''; display:block; z-index: 1; position:absolute; top:0; left:0; width:100%; transform:scale(1,-1); height:5rem; background:var(--color-abs-gradient); }

}


@media screen and (max-width: 63em) {
    table {border: 0; }
    table caption {font-size: 1.3em; }
    table thead { border: none; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px;}
    .app-table__row { border: var(--border); display: block; margin-bottom: 2rem; background:transparent!important;}
    .app-table__cell { border-bottom: var(--border); display: block;  font-size: .875em; padding:.75rem 1rem;  text-align: right; }
    .app-table__cell:nth-child(2n){background:var(--color-light); }
    .app-table__cell::before {content: attr(data-label); float: left; opacity: .75; font-weight: bold; text-transform: uppercase; }
    .app-table__cell:last-child { border-bottom: 0; border-radius: 0 0 1rem 1rem;}

    .cat-nav{ margin-top:-1rem; margin-right:0;}
    
}

@media screen and (min-width:47em){
    .page-intro__content{padding-top:2rem;}
    .app-widget{padding:4rem 0;}
    .app-widget__title, .app-content h2{ font-size:3rem; line-height:1.1; margin-bottom:2rem;}
    .app-content h2{margin:2rem 0 1rem; max-width:100%;}
    .step-list__item{width: calc(50% - var(--gap)/2);}
    .app-video__play{width:6rem; height:6rem;}
    .w-info-feature__numbers {display:flex;}
    .w-info-feature__numbers li {margin-bottom:2rem; padding:0 1rem; width:33.33%;}
    .bottom-form{background:url(../images/qform.jpg) no-repeat 100% 0; background-size:cover; padding-bottom:10rem!important; margin-bottom:-4rem; position:relative;}
    .bottom-form .icms-forms__wrap h4{font-size:3rem;}
}
@media screen and (min-width:63em) and (max-width:80em){
    .page-intro__caption{ max-width:80%; margin-left:0; padding-left:0;}
    .page-intro__caption::after{display: none;}
}
@media screen and (min-width:63em) {
    .app-main{padding-top:5rem;}
    .page-title{font-size:3rem;}
    .app-widget__title{ max-width: 80%; }
    .app-widget__title--full{max-width:100%;}
    .app-widget__desc{display:block; max-width: 30rem; position: relative; padding-left:20%;}
    .app-widget__desc:after{content: ''; display: block; width: 16%; height: 2px; background: currentColor; position: absolute; top: .75rem; left: 0;}

    .app-content__grid{display:grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(3, 1fr); gap:1rem; grid-template-rows: masonry; align-tracks: end ;}
    .app-content__grid>p:nth-child(2){order:-1; grid-row: 1 / 3;}
    .app-content__grid>p:nth-child(4){grid-row: 2 / 4;}

    .page-intro__caption{margin-top:2.5rem;}
    .page-intro__btn{margin-top:1rem;}


    .step-list{position:relative; padding-bottom:20rem; }
    .step-list__item strong{font-size:1.25rem; line-height: 1.2;}

    .about-page .page-title{font-size:5rem;}
    .about-page-content .content-block{display:grid; gap:4rem; grid-template-columns: repeat(2, 1fr); max-width: 80rem; margin:5rem auto;}
    .about-page-content .content-block p:nth-child(3){order:4; margin-top:-10rem; text-align: right;}
    .about-page-content .content-note{ font-size:1.5rem; }

    .app-content h2, .app-content h3{ margin-top:2rem;}
    .app-content h2{font-size:2.5rem; line-height: 1;}
    .app-content h3{font-size:1.75rem; line-height: 1.5;}
    .app-content__max{font-size:2rem; line-height:1.3;}

    .content-block--center{max-width: 50rem; margin:auto; text-align: center; margin-bottom:4rem;}
    .content-block--center p:first-child{font-weight: bold; font-size:1.5rem; margin-bottom:4rem;}

    .cat-description{margin-bottom:4rem; padding:4rem 0;}
    .cat-description h2{margin-bottom:2rem; line-height:1.2;max-width:50rem;}
    .cat-nav-list__item{margin-right:1rem; }
    .cat-description--rent ul{padding:0;}
    .cat-description--rent ul>li:before{display:none;}
    
    .services-category .page-title--max{margin-bottom:2rem;}

    .container-half{padding:0 2rem;}
}

@media screen and (min-width:82em) {
    .pagebar{margin-top:2rem; margin-bottom:2rem; gap:1rem}
    .pagebar__link{min-width:2.5rem; height:2.5rem;}
    .pagebar__link .svg-icon{ width:1rem; height:1rem;}

    .container-fluid{padding-left:5%; padding-right:5%;}
    .page-title--max{font-size:4.5vw; line-height: 1;}
    
    .page-intro__caption{ max-width:70%; margin-left:0;}
    .page-intro__btn{margin-top:2rem;}
    .app-video__play{width:8rem; height:8rem;}

    .w-info-feature__numbers {display:block;}
    .w-info-feature__numbers li {padding:0; width:100%;}

    .app-content h2{font-size:3rem;}
    .app-content h3{font-size:2rem;}
    .about-page-content .content-block{gap:4rem 14vw; margin:6rem auto;}
    .about-page-content .content-note{margin-left:40%; margin-bottom:4rem; margin-top:-9rem; }

    .step-list{padding-bottom:0; }
    .step-widget{background:url(../images/step-bg.webp) no-repeat 0 75%; background-size:50vw auto;}
    @media (prefers-color-scheme: dark) {
        .step-widget{background:url(../images/step-bg-dark.webp) no-repeat 0 75%;}
    }


    .app-video-modal__close{top:1.25rem; right:1.25rem; }
}


@media screen and (min-width:100em) {

    .app-widget__title{ max-width: 60%;  margin-bottom:3rem;}
    .app-widget__title--full{max-width:100%;}
}