/* Блоки гл. страницы */
section {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 70px 0 70px 0;
}

section:last-child {
    margin: 70px 0 0 0;
}

.dataCont {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Заголовок */
.zagolovok {
    font-size: 44px;
    font-weight: 200;
    margin-bottom: 60px;
    display: flex;
    align-items: center;
}

.zagLogo {
    width: 40px;
    margin: 0px 10px 0 20px;
}





/* Лицевая страница */

.intro {
    display: flex;
    position: relative;
    max-width: 1200px;
    min-width: 1200px;
    height: calc(100vh - 300px);
    margin-bottom: 80px;
}

.introBG {
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: flex-end;
}

.introIMG {
    width: 1280px;
    height: 100%;
    background: url(/ZBR/index/introBG.png) no-repeat;
    background-position: 0px -180px;
    background-size: cover;
    opacity: 0.4;
}

.dataCont h1 {
    font-size: 80px;
    font-weight: 800;
    font-style: italic;
    margin: 0;
    text-shadow: 2px 0 5px #02f34880;
}

.dataCont h2 {
    font-size: 30px;
    font-weight: 500;
    margin: 0;
}

.btnSign {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 210px;
    height: 50px;
    min-height: 50px;
    margin-top: 40px;
    border-radius: 24px;
    background: linear-gradient(45deg, #3cfd47, #2aff9b);
    font-size: 20px;
    font-weight: 500;
    color: black;
    transition: .3s all;
    user-select: none;
    -webkit-user-select: none;
    box-shadow: 0 0 14px var(--main-color);
    cursor: pointer;
}

.btnSign:hover {
    scale: 0.95;
}





/* Наши преимущества */

.cardCont {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 50px;
}

.cCard {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 190px;
}

.cCard img {
    width: 60px;
    user-select: none;
    -webkit-user-select: none;
}

.cardCircle {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #071917;
    border-radius: 50%;
    width: 100px;
    height: 100px;
    margin-bottom: 20px;
}

.cCard h1 {
    margin: 0 0 8px 0;
    font-size: 22px;
    font-weight: 400;
    text-align: center;
}

.cCard p {
    font-size: 18px;
    font-weight: 200;
    text-align: center;
}





/* Прайс */

.priceSelector {
    display: flex;
    height: 50px;
    border-radius: 32px;
    border: var(--main-color) 1px solid;
    justify-content: space-evenly;
    position: relative;
    margin-bottom: 30px;
}

.priceSelector p {
    padding: 14px;
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    width: 163px;
    height: 50px;
    text-align: center;
}

.pSelected {
    position: absolute;
    left: 0px;
    top: -1px;
    z-index: -1;
    width: 163px;
    height: 50px;
    border-radius: 32px;
    background: #071917;
    transition: .3s all;
}

/* Таблички с ценами */
.price {
    display: flex;
    border-radius: 16px;
    border: #19202a 1px solid;
    background-color: rgba(0, 0, 0, .2);
    flex-wrap: wrap;
    justify-content: center;
}

.additionalBox {
    padding: 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 320px;
    transition: .3s all;
}

.additionalBox.hidden {
    padding: 0px !important;
    width: 0px !important;
    scale: 0 !important;
    display: none;
}

.priceBox {
    padding: 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 320px;
    transition: .3s all;
}

.priceBox.hidden {
    padding: 0px !important;
    width: 0px !important;
    scale: 0 !important;
    display: none;
}

.priceBoxLine {
    height: 100%;
    width: 1px;
    background: #19202a;
}

.priceBox h1 {
    margin: 30px 0 8px 0;
    font-size: 24px;
    font-weight: 500;
    text-align: center;
}

.addH1 {
    margin: 30px 0 73px 0 !important;
    max-height: 29px;
}

.cost {
    font-size: 40px;
    font-weight: 200;
    margin-bottom: 16px;
}

.priceOrderBtn {
    background: white;
    color: black;
    border-radius: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: .3s all;
    padding: 10px;
    user-select: none;
    -webkit-user-select: none;
    cursor: pointer;
    width: 100%;
    height: 40px;
    margin-bottom: 8px;
    font-weight: 600;
}

.priceOrderBtn:hover {
    scale: 0.95;
}

.priceHelpBtn {
    border: 1px white solid;
    color: white;
    border-radius: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: .3s all;
    padding: 10px;
    user-select: none;
    -webkit-user-select: none;
    cursor: pointer;
    width: 100%;
    height: 40px;
    font-weight: 500;
}

.priceHelpBtn:hover {
    scale: 0.95;
}

.priceLine {
    width: 100%;
    height: 1px;
    background: #19202a;
    margin: 32px 0 32px 0;
}

.includedBox {
    width: 100%;
}

.includedBox h1 {
    color: var(--main-color);
    font-size: 16px;
    margin: 0 0 8px 0;
}

.incBox {
    display: flex;
    align-items: center;
    margin: 0px 0px 20px 10px;
    font-weight: 300;
}

.incBox img {
    width: 10px;
    margin-right: 10px;
}





/* Отзывы */

.reviewsCont {
    display: flex;
    gap: 30px;
    align-items: center;
}

.reviews {
    display: flex;
    align-items: center;
    max-width: 1020px;
    overflow: hidden;
}

.reviewsSlider {
    display: flex;
    align-items: center;
    gap: 30px;
    transition: .3s all;
}

.reviewBox {
    width: 320px;
    height: 300px;
    padding: 14px;
    border: #19202a 1px solid;
    border-radius: 16px;
    background-color: rgba(0, 0, 0, .2);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    position: relative;
}

.reviewTop {
    display: flex;
    align-items: flex-start;
    margin-bottom: 16px;
}

.rFace {
    width: 70px;
    margin-right: 20px;
    position: relative;
}

.rFace img {
    border-radius: 50%;
}

.rFace::before {
    content: '';
    width: 30px;
    height: 30px;
    background-image: url(/ZBR/index/2gis/2gis.png);
    position: absolute;
    left: 42px;
    top: 36px;
    background-size: contain;
}

.rNameBox {
    display: flex;
    flex-direction: column;
}

.rNameBox h1 {
    margin: 0 0 4px 0;
    font-size: 22px;
    font-weight: 400;
    white-space: nowrap;
}

.rNameBox p {
    font-size: 14px;
    font-weight: 300;
    color: var(--gray-color);
}

.starBox {
    background-image: url(/ZBR/index/2gis/star.png);
    width: 138px;
    height: 24px;
    background-size: contain;
    margin-bottom: 6px;
}

.reviewBottom {
    padding: 0 10px 0 10px;
}

.reviewBottom p {
    margin-bottom: 10px;
    color: var(--gray-text);
}

.reviewBottom a {
    position: absolute;
    bottom: 14px;
}

.rewArrow {
    width: 60px;
    transition: .3s all;
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
}

.rewArrow.L {
    -moz-transform: scale(-1, -1);
    -o-transform: scale(-1, -1);
    -webkit-transform: scale(-1, -1);
    transform: scale(-1, -1);
}

.rewArrow:hover {
    scale: 0.9;
}





/* Карта */

.mapa {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.mapCont {
    position: relative;
    width: 800px;
    height: 500px;
}

.mapa iframe {
    width: inherit;
    height: inherit;
    border-radius: 16px;
}

.mapHelper {
    width: 100%;
    height: 100%;
    background: rgb(0 0 0 / 90%);
    position: absolute;
    border-radius: 12px;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: .5s all;
}

.mapHelpHide {
    opacity: 0;
}

.mapHelper::before {
    content: 'Нажмите для взаимодействия с картой';
    font-size: 32px;
    font-weight: 200;
    transition: .3s all;
}

.mapHelper:hover::before {
    scale: 1.05;
}





/* Инструкторы */

.instructors {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.instructors h1 {
    margin: 0;
    font-weight: 300;
    font-size: 28px;
}

.instrCont {
    display: flex;
    position: relative;
    max-width: 1010px;
    height: 500px;
    overflow: hidden;
}

.iSliderCont {
    display: flex;
    transition: .3s all;
}

.instImg {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 300px;
    transition: .3s all;
    user-select: none;
    -webkit-user-select: none;
}

.instImg.iCen {
    margin: 0 50px 0 50px;
}

img.iSec {
    filter: brightness(30%);
    width: 90% !important;
}

.instImg img {
    width: 300px;
    border: 2px white solid;
    border-radius: 16px;
    transition: .3s all;
}

.iArrow {
    position: absolute;
    left: 50%;
    top: 48%;
    z-index: 999;
    width: 20px;
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
}

.iArrow.L {
    transform: translateX(calc(-50% - 188px));
}

.iArrow.R {
    transform: translateX(calc(50% + 158px));
}

/* Анимация ФИО */
.instNameBlock {
    display: flex;
    align-items: center;
    -webkit-perspective: 300px;
    -moz-perspective: 300px;
    perspective: 300px;
}

.instNameBlock h1 {
    position: relative;
    top: 0;
    left: 0;
}

.FIO_is-visible {
    opacity: 1;
    -webkit-animation: zoom-in 0.8s;
    -moz-animation: zoom-in 0.8s;
    animation: cubic-bezier(0.215, 0.610, 0.355, 1.000) zoom-in 0.8s;
}

.FIO_is-hidden {
    opacity: 0;
    -webkit-animation: zoom-out 0.8s;
    -moz-animation: zoom-out 0.8s;
    animation: cubic-bezier(0.22, 0.61, 0.36, 1) zoom-out 0.4s;
}

@keyframes zoom-in {
    0% {
        opacity: 0;
        -webkit-transform: translateZ(100px);
        -moz-transform: translateZ(100px);
        -ms-transform: translateZ(100px);
        -o-transform: translateZ(100px);
        transform: translateZ(100px);
    }

    100% {
        opacity: 1;
        -webkit-transform: translateZ(0);
        -moz-transform: translateZ(0);
        -ms-transform: translateZ(0);
        -o-transform: translateZ(0);
        transform: translateZ(0);
    }
}

@keyframes zoom-out {
    0% {
        opacity: 1;
        -webkit-transform: translateZ(0);
        -moz-transform: translateZ(0);
        -ms-transform: translateZ(0);
        -o-transform: translateZ(0);
        transform: translateZ(0);
    }

    100% {
        opacity: 0;
        -webkit-transform: translateZ(-100px);
        -moz-transform: translateZ(-100px);
        -ms-transform: translateZ(-100px);
        -o-transform: translateZ(-100px);
        transform: translateZ(-100px);
    }
}





/* Автомобили */

.autoPark {
    display: flex;
    align-items: center;
    gap: 50px;
}

.autoCont {
    display: flex;
    max-width: 540px;
    overflow: hidden;
    position: relative;
}

/* .autoCont::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    width: 20px;
    height: 300px;
    background: linear-gradient(90deg, rgba(10, 13, 18, 1) 0%, rgba(10, 13, 18, 0) 100%);
}

.autoCont::after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2;
    width: 20px;
    height: 300px;
    background: linear-gradient(270deg, rgba(10, 13, 18, 1) 0%, rgba(10, 13, 18, 0) 100%);
} */

.autoSlider {
    display: flex;
    transition: .5s all;
    gap: 20px;
    transform: translateX(20px);
}

.autoImgBlock {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.autoImgBlock p {
    margin-top: 40px;
    position: relative;
    bottom: 10px;
}

.autoImgBlock span {
    background: #102918;
    border-radius: 8px;
    padding: 4px;
}

.autoSlider img {
    width: 500px;
    height: 290px;
    user-select: none;
    -webkit-user-select: none;
}

.autoName {
    margin-top: 30px;
    font-size: 48px;
    font-weight: 300;
}

.aArrow {
    width: 20px;
    transition: .3s all;
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
}





/* FAQ Часто задаваемые вопросы */

.faq {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 50%;
    padding: 40px;
    border-radius: 16px;
    background-color: rgba(0, 0, 0, .4);
    box-shadow: 0 50px 80px rgb(0 0 0 / 50%);
}

.faq h1 {
    margin: 0 0 60px 0;
    font-size: 44px;
    font-weight: 200;
    text-align: center;
}

.faqCont {
    width: 100%;
}

.faqBlock {
    display: flex;
    flex-direction: column;
    margin: 40px 0 40px 0;
}

.faqTop {
    display: flex;
    justify-content: space-between;
    align-items: center;
    user-select: none;
    -webkit-user-select: none;
    cursor: pointer;
    margin-bottom: 20px;
}

.faqTop h1 {
    font-size: 20px;
    margin: 0;
    text-align: left;
}

.faqTop img {
    width: 20px;
    transform: rotate(90deg);
    transition: .3s all;
}

.faqText {
    display: none;
    height: 0px;
    overflow: hidden;
    opacity: 0;
    transition: .3s all;
}

.faqText.faqOpen {
    opacity: 1;
}





/* Footer */
.footer {
    display: flex;
    width: 90%;
    align-items: flex-start;
    justify-content: space-evenly;
    color: var(--gray-text);
    position: relative;
    font-size: 14px;
    font-weight: 400;
    padding: 12px;
    border-radius: 16px;
    background-color: rgba(0, 0, 0, .4);
    box-shadow: 0 50px 80px rgb(0 0 0 / 50%);
}

.footerBlock {
    display: flex;
    flex-direction: column;
}

.footerBlock h1 {
    font-size: 24px !important;
    font-weight: 300 !important;
    margin: 0 0 20px 0;
}

.footerBlock a {
    margin: 10px 0 10px 0;
}

.footerBlock img {
    width: 250px;
    margin-bottom: 27px;
    margin-top: 3px;
}

.fMail {
    margin-bottom: 30px !important;
}

.fCopyright {
    position: relative;
    bottom: -30px;
    padding-bottom: 10px;
}





/* Phone */

@media (max-width: 767px) {
    .intro {
        max-width: unset;
        min-width: unset;
        height: unset;
        flex-direction: column;
    }

    .introIMG {
        background-position: -150px -270px;
    }

    .dataCont {
        align-items: center;
    }

    .dataCont h1 {
        font-size: 40px;
        text-align: center;
    }

    .dataCont h2 {
        font-size: 18px;
    }

    .cardCont {
        flex-direction: column;
    }

    .zagolovok {
        font-size: 34px;
        text-align: center;
        padding: 14px;
        gap: 14px;
        flex-direction: column;
    }

    .priceSelector {
        width: 300px;
        height: 250px;
        align-items: center;
        flex-direction: column;
        overflow: hidden;
    }

    .pSelected {
        top: 0;
        width: 300px;
        height: 50px;
        border-radius: unset;
    }

    .price {
        width: 300px;
    }

    .priceBox {
        width: 3000px;
    }

    .rewArrow {
        display: none;
    }

    .mapCont {
        width: 300px;
    }

    .mapHelper::before {
        font-size: 24px;
        text-align: center;
    }

    /* Автопарк */
    .autoPark {
        position: relative;
    }

    .aArrow {
        position: absolute;
        bottom: 2px;
        z-index: 4;
    }

    .aArrow:first-of-type {
        left: -8px;
    }

    .aArrow:nth-of-type(2) {
        right: -8px;
    }

    .autoCont {
        max-width: 300px;
    }

    .autoSlider {
        transform: unset;
    }

    .autoSlider img {
        width: 300px;
        height: unset;
    }

    /* FAQ */
    .faq {
        width: 90%;
        padding: 40px 10px 10px 10px;
    }

    .faq h1 {
        font-size: 28px;
    }

    .faqTop h1 {
        font-size: 18px;
    }

    /* Footer */
    .footer {
        flex-direction: column;
        gap: 30px;
    }

    .fCopyright {
        position: unset;
        margin-top: 14px;
    }

    .footerBlock {
        align-items: center;
        width: 100%;
    }
}

/* Map on big phones */
@media (min-width: 400px) and (max-width: 767px) {
    .mapCont {
        width: 380px;
    }
}

/* Phone & iPad */
@media (min-width: 320px) and (max-width: 1279px) {

    /* Отзывы */
    .reviewBox {
        width: 300px;
        height: 340px;
    }

    .reviews {
        max-width: 300px;
    }

    .rewArrow {
        display: none;
    }

    .rNameBox h1 {
        white-space: unset;
    }

    /* Slider */
    .instrCont {
        max-width: 300px;
        height: unset;
        margin-bottom: 14px;
    }

    .instImg img {
        width: 300px;
    }

    .iArrow {
        left: unset;
    }

    .iArrow.L {
        left: 30px;
        transform: unset;
    }

    .iArrow.R {
        right: 30px;
        transform: unset;
    }

    .zagLogo {
        margin: 0;
    }

    /* Footer */
    .fAbout {
        text-align: center;
    }
}

/* iPad screen */
@media (min-width: 768px) and (max-width: 1279px) {
    .intro {
        max-width: unset;
        min-width: unset;
        height: unset;
    }

    .introIMG {
        background-position: 0px -220px;
    }

    .dataCont h1 {
        font-size: 60px;
    }

    .dataCont h2 {
        font-size: 24px;
    }

    .price {
        height: unset;
        min-width: 240px;
    }

    .priceBox {
        width: 240px;
    }

    .faq {
        width: 90%;
    }
}