@import"fonts.css";
@import"reset.css";
@import"global.css";
@import"header.css";
@import"footer.css";
@import"media.css";

/* /////////////////////////////////////////////////////////// */


.about__inner {
    display: grid;
    grid-template-columns: 1fr 1.05fr;
    grid-template-rows: repeat(2, auto);
    gap: 40px;
}
.about__img{
    overflow: hidden;
    border-radius: var(--border-radius);
    position: relative;
    grid-row: 1/-1;
}

.about__img>img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 10% 50%;
}
.about__img-control {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 10px;
    max-width: 300px;
    bottom: 4.7%;
    left: 5%;
    text-align: left;
    background: #977d99e6;
    border-radius: var(--border-radius);
    padding: 15px 20px;
    color: var(--general-bg);
}
.about__img-button {
    position: relative;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 78px;
    height: 78px;
    background: var(--general-bg);
    border-radius: 50%;
}
.about__img-button:before {
    content: '';
    border: 1px solid var(--accent-color2);
    border-radius: 50px;
    position: absolute;
    inset: 5px;
    opacity: 0;

    transition: all .2s;
}

.about__img-button:hover:before {
    opacity: 1;
}

.about__body {
    max-width: 623px;
    width: 100%;
}
.about__heading {
    margin-bottom: 30px;
}

.about__grid {
    display: grid;
    gap: 32px;
    grid-template-columns: 1fr 1.1fr;
}
.about__grid-item {
    display: flex;
    gap: 15px;
    justify-content: start;
    background: var(--accent-bg);
    border-radius: var(--border-radius);
    padding: 29px 24px;
    align-items: center;
}
.about__grid-img{
    border: 1px solid var(--general-text);
    border-radius: 50%;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
}
/* ////////////////////////////////////////////////// */

.program__top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 60px;
    gap: 30px 16px;
    flex-wrap: wrap;
}

.program__title {
    margin-bottom: 20px;
}

.tab-controls {
    display: flex;
    flex-direction: row;
    gap: 26px;
    justify-content: flex-end;
    margin: 10px 0;
    white-space: nowrap;
}

.tab-controls__link {
    display: block;
    border-radius: 100px;
    padding: 14px 30px;
    box-shadow: 0 4px 20px 0 #cec3b94d;

    transition: var(--transition);
}

.tab-controls__link:hover {
    background: var(--accent-bg);
}

.tab-controls__link--active{
    background: var(--accent-bg);
    box-shadow: 0 4px 20px 0 #cec3b94d;
}
.tab-content {
    display: none;
}
.tab-content--show{
    display: block;
}
.accordion-list {
    margin-bottom: 40px;
}
.accordion-list__item {
    border: 1px solid var(--accent-color);
    border-radius: 20px;
    margin-bottom: 30px;
}
.accordion-list__item:last-child {
    margin-bottom: 0;
}

.accordion-list__control {
    padding: 40px 30px;
    width: 100%;
    background: #00000000;

    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    
}

.accordion-list__item--opened .accordion-list__control{
    padding-bottom: 20px;
}

.accordion-list__control-title {
    text-align: left;
    line-height: .9;
    font-family: 'Gabriola';
    font-size: 42px;
    color: var(--general-text);
    transition: var(--transition);
}
.accordion-list__control-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1.5px solid var(--accent-color);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;

    transition: var(--transition);
}

.accordion-list__control-icon svg{
    margin-left: 2px;
    transition: var(--transition);
}

.accordion-list__control-icon path{
    transition: var(--transition);
}

.accordion-list__control:hover .accordion-list__control-icon {
    transform: rotate(90deg);
    background: var(--accent-color);
}
.accordion-list__control:hover .accordion-list__control-icon path{
    fill: var(--general-bg);
}

.accordion-list__item--opened .accordion-list__control-icon {
    transform: rotate(90deg);
    background: var(--accent-color);
}
.accordion-list__item--opened .accordion-list__control-icon path{
    fill: var(--general-bg);
}


.accordion-list__content {
    transition: var(--transition);
    max-height: 0;
    overflow: hidden;
}

.accordion-content {
    padding: 0 30px 40px;
    display: flex;
    gap: 80px;
}
.accordion-content__col:first-child {
    max-width: 507px;
    width: 100%;
}
.accordion-content__title {
    line-height: 1.6;
    text-transform: uppercase;
    color: var(--accent-color2);
    margin-bottom: 20px;
}

.accordion-content__item {
    margin-bottom: 20px;
    display: flex;
}
.accordion-content__item:last-child {
    margin-bottom: 0;
}

.accordion-content__icon {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid var(--accent-color2);
    margin-right: 8px;
    flex-shrink: 0;
}

.accordion-content__text {
    max-width: 274px;
    width: 100%;
}

.program__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
}
.program__img img{
    width: 100%;
}
.program__action {
    display: grid;
    grid-template: repeat(3, auto) / 1.65fr 1fr ;
    gap: 40px;
    max-width: 501px;
    width: 100%;
    flex-shrink: 0;
}
.program__discount {
    grid-row: 1 / 3;
    border-radius: var(--border-radius);
    background: var(--accent-bg);
    font-size: 20px;
    padding: 40px; 
}
.program__discount span{
    font-size: 16px;
    margin-left: 35%;
}

.program__discount-value{
    display: block;
    font-family: 'Gabriola';
    font-size: 74px;
    line-height: .82;
    text-align: center;
    color: var(--accent-color);

    margin: 0 0 7px -13%;
    animation: discount-scale .8s linear infinite alternate;
    transform-origin: 0 0;
}

@keyframes discount-scale{
    0%{
        transform: scale(1);
        color: var(--accent-color);
    }
    100%{
        transform: translateX(3%) scale(1.1);
        color: #ff9138;
    }
}

.discount-value--big{
    flex-shrink: 1;
    animation: scale 1.2s infinite alternate-reverse;
}
.program__price {
    max-width: 173px;
    width: 100%;

}
.program__price-text {
    text-transform: uppercase;
    color: var(--accent-color2);
    
}
.program__price-value {
    font-family: 'Gabriola';
    font-size: 32px;
    line-height: .9;
}
.program__price-value-big {
    font-family: 'Gabriola';
    font-size: 50px;
    line-height: .9;
}

.program_button{
    grid-column: 1 / -1 ;
}


.gallery__inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    margin-bottom: 40px;
    justify-content: space-between;
}
.gallery__img {
    justify-self: center;
    align-self: center;
}

.gallery__img img{
    max-width: 100%;
}
.gallery__info {
    max-width:  380px;
}
.gallery__content{
    display: flex;
    gap: 30px;
    align-items: end;
    justify-content: space-between;
}

.gallery__nav{
    font-family: 'Gabriola';
    display: flex;
    gap: 98px;
    align-items: center;
    font-size: 42px;
    line-height: .9;
    position: relative;
}

.gallery__nav--mobile{
    display: none;
}

.gallery__next,
.gallery__prev{
    cursor: pointer;
    background: #00000000;
    border: 1.5px solid var(--accent-color);
    border-radius: var(--border-radius);
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;

    transition: var(--transition);
}

.swiper-button-disabled.gallery__next,
.swiper-button-disabled.gallery__prev{
    border: 1px solid #E1D9E1;
    cursor: auto;
}

.swiper-button-disabled.gallery__next path,
.swiper-button-disabled.gallery__prev path{
    fill: #E1D9E1;
}

.swiper-button-disabled.gallery__next:hover ,
.swiper-button-disabled.gallery__prev:hover {
    fill: #E1D9E1;
}
.gallery__next svg,
.gallery__prev svg{
    margin-left: 2px;
    transition: var(--transition);
}

.gallery__next path,
.gallery__prev path{
    transition: var(--transition);
}

.gallery__next:hover,
.gallery__prev:hover {
    background: var(--accent-color);
}
.gallery__next:hover path,
.gallery__prev:hover path{
    fill: var(--general-bg);
}
.gallery__pagination{
    display: flex;
    position: absolute;
    top: 50%;
    left: 50%;
    bottom: auto;
    transform: translate(-50%, -50%);
    width: auto;
}



.gallery__title {
    margin-bottom: 20px;
}
.gallery__wrapper {
    display: flex;
    align-items: center;
}

.gallery__slide{
    border-radius: var(--border-radius);
    overflow: hidden;
    max-width: 100%;
}
.gallery__slide img{
    width: 100%;
}
/* ////////// */

.testimonials__inner {
    display: flex;
    align-items: end;
    justify-content: space-between;
    margin-bottom: 40px;
    gap: 30px;
}
.testimonials__info {
    max-width: 632px;
}
.testimonials__title {
    margin-bottom: 20px;
}


.testimonials__nav{
    display: flex;
    gap: 30px;
    align-items: center;
}
.swiper-button-disabled.testimonials__next,
.swiper-button-disabled.testimonials__prev{
    border: 1px solid #E1D9E1;
    cursor: auto;
}

.swiper-button-disabled.testimonials__next path,
.swiper-button-disabled.testimonials__prev path{
    fill: #E1D9E1;
}

.swiper-button-disabled.testimonials__next:hover ,
.swiper-button-disabled.testimonials__prev:hover {
    fill: #E1D9E1;
}


.testimonials__next,
.testimonials__prev{
    cursor: pointer;
    background: #00000000;
    border: 1.5px solid var(--accent-color);
    border-radius: var(--border-radius);
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;

    transition: var(--transition);
}

.testimonials__next svg,
.testimonials__prev svg{
    margin-left: 2px;
    transition: var(--transition);
}

.testimonials__next path,
.testimonials__prev path{
    transition: var(--transition);
}

.testimonials__next:hover,
.testimonials__prev:hover {
    background: var(--accent-color);
}
.testimonials__next:hover path,
.testimonials__prev:hover path{
    fill: var(--general-bg);
}
.testimonials__slider {
    overflow: visible;
}

.testimonials__wrapper {
    margin-bottom: 40px;
}

.testimonials__slide{
    background: var(--accent-bg);
    border-radius: var(--border-radius);
    display: flex;
    padding: 30px 30px 40px;
    gap: 30px;
    transition: var(--transition);
    opacity: 0;
    height: auto;
}

.swiper-slide-prev.testimonials__slide{
    opacity: .5;
}
.swiper-slide-next.testimonials__slide{
    opacity: .5;
}

.testimonials__slide.swiper-slide{
    transform: scale(.9);
}

.swiper-slide-active.testimonials__slide{
    transform: scale(1);
    opacity: 1;
}

.testimonials__student{
    max-width: 165;
    gap: 10%;
    flex-shrink: 0;
    text-align: center;
}
.testimonials__stugent-img{
    border-radius: var(--border-radius);
    overflow: hidden;
    margin-bottom: 20px;
}
.testimonials__stugent-img img{
    width: 100%;
}
.testimonials__stugent-name {
    text-transform: uppercase;
    margin-bottom: 5px;
}
.testimonials__stugent-info p{
    text-transform: uppercase;
}
.testimonials__stugent-inst{
    margin: 0 auto;
    color: var(--accent-color2);
}

.testimonials_quote span{
    display: block;
    line-height: .9;
    font-size: 32px;
    font-family: "Gabriola";
    margin-bottom: 10px;
}
.testimonials__scrollbar.swiper-scrollbar{
    position: static;
    width: 100%;
    height: 7px;
}
.testimonials__scrollbar{
    background: var(--accent-bg);
}
.testimonials__scrollbar .swiper-scrollbar-drag{
    background: var(--accent-color);
}
/* ////////////////////////////////// */

.contacts {
    background: url("../img/decor/BG-contact.png") 50% 0% / cover no-repeat;
    padding: 140px 0;
}

.contacts__inner {
    display: flex;
    align-items: end;
    gap: 84px;
    position: relative;
    z-index: 1;
}
.contacts__img {
    position: relative;

}
.contacts__inner:before{
    content: url("../img/decor/berries.png");
    position: absolute;
    top: -4%;
    left: 0%;
}
.contacts__inner:after{
    content: url("../img/decor/Berries2.png");
    position: absolute;
    top: 4%;
    right: 0%;
}

.contacts__img img{
    width: 100%;
    filter: drop-shadow(0 4px 30px 0 #c6b0a14d);
}
.contacts__body {
    max-width: 420px;
    width: 100%;
}
.contacts__title {
    margin-bottom: 20px;
}

.contacts__text {
    margin-bottom: 40px;
}

.contact__form-label {
    margin-bottom: 10px;
}

.contact__input {
    display: block;
    width: 100%;
    background: #00000000;
    border: 1px solid var(--input-color);
    border-radius: 100px;
    padding: 19px 42px 19px 28px;
    font-style: 16px;
    margin-bottom: 10px;
    transition: var(--transition);
    margin-bottom: 20px;
}

.contact__input:hover{
    border-color: var(--accent-color);
}
.contact__input:hover::placeholder{
    color: var(--accent-color);
}
.contact__check-label{
    display: flex;
    gap: 5px;
    max-width: 100%;
    width: 100%;
    font-style: 13px;
    margin-bottom: 20px;
    align-items: start;
}
.contact__check-label a{
    text-decoration: underline;
}
.contact__check-label a:hover{
    color: var(--accent-color);
}

.contacts__checkbox{
    appearance: none;
    width: 16px;
    height: 16px;
    border: 1.5px solid var(--input-color);
    flex-shrink: 0;
    transition: var(--transition);
    border-radius: 4px;
    cursor: pointer;
    position: relative;
}
.contacts__checkbox:before{
    content: '';
    position: absolute;
    inset: 0;
    background: url("../img/icons/Check.svg") 50% 50% no-repeat;
    opacity: 0;
    transition: var(--transition);
}
.contacts__checkbox:checked:before{
    opacity: 1;
}

.contacts__checkbox:hover{
    border-color:var(--accent-color);
}
.contacts__checkbox:checked{
    background: var(--accent-color);
    border: 1.5px solid var(--accent-color);
}

/* //////////////////////////////////// */

@media (max-width: 1200px) {
    .hero__img-control {
        position: static;
        max-width: 377px;
        margin-top: 30px;
    }
    .hero__img{
        margin: 0;
    }
    /* ////////////////////////////// */

    .contacts__inner:after{
        top: -15%;
        right: 0%;
    }
    /* ////////////////////////////// */
    .footer__inner{
        grid-template-columns: repeat(3, auto);
        justify-content: space-between;
        grid-template-rows: auto auto;
        grid-template: repeat(2, auto)/ repeat(3, auto);
    }
    .footer__col:last-child{
        grid-column: 1/-1;
        text-align: center;
    }
}

@media(max-width: 1100px){
    .about__img{
        grid-row: auto;
    }
    .about__body{
        align-self: center;
    }
    .about__grid{
        grid-column: 1/-1;
    }
    /* //////////////////////// */
    .accordion-list__control {
        padding: 25px 30px;
    
    }
    .accordion-list__control-title {
        font-size: 35px;
    }

    .accordion-content{
        gap: 30px;
    }

    .contacts__inner{
    align-items: center;
    gap: 30px;
    }
}

@media (max-width: 900px) {
    .nav {
        position: fixed;
        inset: 0;
        z-index: 10;
        background: var(--general-bg);
        padding: 26vh 15px 30px;
        gap: 0vh 40vh;
        font-style: 24px;

        transform: translateY(-50%);
        opacity: 0;
        visibility: hidden;
        transition: all .3s;
    }
    
    .nav_list{
        flex-direction: column;
        align-items: center;
    }

    .body--opened-menu .nav{
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
    }

    .burger-icon {
        display: flex;
    }
    /* /////////////////////// */
    .program__action {
        grid-template: repeat(3, auto) / minmax(280px, 1fr) 1fr ;
        max-width: none;
    }
    .program__price{
        max-width: none;
    }
    .program__img{
        display: none;
    }
    .gallery__img{
        display: none;
    }

    .gallery__inner{
        grid-template: none;
    }

    .gallery__info{
        max-width: none;
        grid-template: 1 / -1;
    }
    .testimonials__scrollbar.swiper-scrollbar{
        width: 50%;
        margin: 0 auto;
    }
    .contacts__img{
        display: none;
    }
    .contacts__inner{
        justify-content: center;
    }
}

@media (max-width: 800px) {
    
    .hero__content{
        display: flex;
        max-width: none;
        flex-direction: column;
        align-items: center;
        text-align: center;
        width: 100%;
    }

    .hero__img{
        display: none;
    }
    .hero__img-control--mobile{
        display: none;
        margin: 0 0 30px;
    }
    .hero__img-control--mobile{
        display: flex;
    }

    .about__inner{
        grid-template: none;
    }
    .about__img{
        max-width: 500px;
        justify-self: center;;
    }
    .about__body{
        text-align: center;
        justify-self: center;
    }
    .about__grid{
        grid-template: none;
    }
    .program__title{
        text-align: center;;
    }

    .program__top{
        text-align: center;
        justify-content: center;
    }
    
/* //////////////////////////////////////////// */
    .tab-controls{
        flex-wrap: wrap;
        justify-content: center;
        gap:10px;
    }
    .tab-controls__link{
        padding: 6px 20px;
    }
    .accordion-content{
        flex-direction: column;
        }
    .accordion-content__col:first-child{
    max-width: none;
    }
    .accordion-content__text{
        max-width: none;
    }
    /* //// */
    .testimonials__inner {
        flex-direction: column;
        align-items: stretch;
    }
    .testimonials__nav{
        align-self: end;
    }
/* //////////////////////////////////////////// */
    .footer__inner{
        grid-template: none;
        justify-content: center;
        text-align: center;
        gap: 0;
    }
    .footer__col:first-child{
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-bottom: 40px;
    }
    .footer__col:nth-child(2){
        margin-bottom: 40px;
    }
    .footer__col:nth-child(3){
        margin-bottom: 10px;
    }
}

@media(max-width: 600px){

    .main__program,
    .main__gallery,
    .main__testimonials{
        padding: 0 0 80px;
    }
    .title{
        font-size: 12vw;
    }
    .header__hero {
        padding-bottom: 60px;
    }

    .about__grid{
        gap: 15px;
    }
    .about__grid-item{
        padding: 10px 15px;
    }
    .about__img-control{
        bottom: 0;
        left: 0;
        max-width: none;
        border-radius: 0 20px 0 20px;
        padding: 10px 15px;
    }
/* ///////////////////////////////// */
    .program__top{
        margin-bottom: 20px;
    }
    .accordion-content{
        gap: 40px;
        height: 100%;
        }
        
    .tab-controls{
        flex-wrap: wrap;
        justify-content: center;
        gap:10px;
    }
    .tab-controls__link{
        padding: 6px 20px;
    }
    .accordion-list__item{
        margin-bottom: 10px;
    }

    .accordion-list__control {
        padding: 17px 30px;
    }

    .accordion-list__control-title {
        font-size: 30px;
    }
    .accordion-list__control-icon{
    width: 26px;
    height: 26px;
    }
    .accordion-list__control-icon svg{
        width: 11px;
        }
    .program__action {
        grid-template: repeat(3, auto) / auto auto ;
        gap: 15px;
        }

    .program__discount{
        grid-column: 1 / -1;
        grid-row: auto;
        justify-self: center;
    }
    
    .gallery__content{
        flex-direction: column;
    }
    .gallery__inner{
        margin-bottom: 20px;
    }
    /* //////////////////// */
    .testimonials__inner{
        margin-bottom: 20px;
    }

    .testimonials__slide{
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .contacts__title,
    .contact__text{
        text-align: center;
    }
    .contacts__inner:before{
        content: url("../img/decor/berries.png");
        position: absolute;
        top: -27%;
        left: 0%;
        transform: scale(0.7);
    }
    .contacts{
        padding: 80px 0;
    }
}

@media(max-width: 450px){
    .header__hero {
        padding-bottom: 60px;
    }
    .hero__title{
        font-size: 12vw;
    }
    .modal__img{
        width: 50%;
        margin-top: -45px;
    }
    .modal__title{
        font-size: 35px;
    }
    .modal__window{
        padding: 0 15px 45px;
    }
    /* ////////////// */
    
    .accordion-list__control {
        padding: 17px 15px;
    
    }
    .accordion-list__control-title {
        font-size: 30px;
    }
    .accordion-content{
        padding: 0 15px 30px;
    }
    .accordion-content__item{
        margin-bottom: 10px;
    }
    .program__action{
        grid-template: none ;
        text-align: center;
    }
    /* //////////////// */
    .testimonials__slide{
        padding: 20px 10px 30px;
    }
}
