@font-face {
    font-family: "Geometria";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: local("Geometria"),url("https://cdn.rustravelforum.com/local/templates/rustravel-2024/fonts/Geometria/Geometria-Light.woff2") format("woff2"),url("https://cdn.rustravelforum.com/local/templates/rustravel-2024/fonts/Geometria/Geometria-Light.woff") format("woff"),url("https://cdn.rustravelforum.com/local/templates/rustravel-2024/fonts/Geometria/Geometria-Light.eot") format("embedded-opentype")
}

@font-face {
    font-family: "Geometria";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local("Geometria"),url("https://cdn.rustravelforum.com/local/templates/rustravel-2024/fonts/Geometria/Geometria.woff2") format("woff2"),url("https://cdn.rustravelforum.com/local/templates/rustravel-2024/fonts/Geometria/Geometria.woff") format("woff"),url("https://cdn.rustravelforum.com/local/templates/rustravel-2024/fonts/Geometria/Geometria.eot") format("embedded-opentype")
}

@font-face {
    font-family: "Geometria";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: local("Geometria"),url("https://cdn.rustravelforum.com/local/templates/rustravel-2024/fonts/Geometria/Geometria-Medium.woff2") format("woff2"),url("https://cdn.rustravelforum.com/local/templates/rustravel-2024/fonts/Geometria/Geometria-Medium.woff") format("woff"),url("https://cdn.rustravelforum.com/local/templates/rustravel-2024/fonts/Geometria/Geometria-Medium.eot") format("embedded-opentype")
}

@font-face {
    font-family: "Geometria";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: local("Geometria"),url("https://cdn.rustravelforum.com/local/templates/rustravel-2024/fonts/Geometria/Geometria-Bold.woff2") format("woff2"),url("https://cdn.rustravelforum.com/local/templates/rustravel-2024/fonts/Geometria/Geometria-Bold.woff") format("woff"),url("https://cdn.rustravelforum.com/local/templates/rustravel-2024/fonts/Geometria/Geometria-Bold.eot") format("embedded-opentype")
}

*,
html,
body{
    padding: 0;
    margin: 0;
    font-family: "Geometria";
}

.img-responsive{
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

.contaiter-fest {
    max-width: 1160px;
    padding: 0 20px;
    margin: 0 auto;
}

.title-chapter{
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    color: #ffffff;
}


.fest-wrap {
    background-color: #00B5C9;
    background: url('../img/fest-page-2025/decore-fest-top.png') top right no-repeat;
    background: url('../img/fest-page-2025/decore-fest-top.png') top right no-repeat, linear-gradient(180deg, #00B5C9 0%, #00CCBC 100%);
    background-size: 49%;
    font-size: 18px;
    color: #fff; 
}

.fest-wrap p{
    line-height: 1.5;
}

.fest-section--intro{
    position: relative;
    z-index: 1;
    overflow: hidden;
    margin: 0 0 5px 0;
    padding-top: 50px;
    padding-bottom: 70px;
}

.cloud-1{
    position: absolute;
    top: 5%;
    right: 2%;
    max-width: 20%;
    max-width: 247;
}

.cloud-2{
    position: absolute;
    left: -140px;
    bottom: -25px;
    max-width: 381px;
    width: 25%;
}

.cloud-3{
    position: absolute;
    left: 40%;
    bottom: 30px;
}

.cloud-4{
    position: absolute;
    right: -60px;
    bottom: -20px;
}


.fest-intro{
    display: flex;
    color: #ffffff;
    padding-top: 75px;
}

.fest-intro__content{
    width: 58%;
    max-width: 690px;
    margin-top: 54px;
}

.fest-intro:after{
    content: "";
    display: block;
    width: 42%;
    max-width: 496px;
    /* width: 26vw; */
    aspect-ratio: 496 / 678;
    background-image: url(../img/fest-page-2025/top-travel.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: -6.5%;
}

.fest-intro .title-chapter{
    color: #16164E;
    margin-bottom: 12px;
}

.fest-intro__title {
    font-size: 84px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 20px;
    letter-spacing: -1.6px;
}

.fest-intro .fest-links{
    margin-top: 48px;
}

.fest-section--event{
    position: relative;
    padding-top: 0;
}

.flight{
    position: absolute;
    left: 0px;
    top: -223px;
    z-index: 2;
    width: 50%;
    max-width: 572px;
}

.grid-decor{
    position: absolute;
    right: 5%;
    top: 190px;
    z-index: 0;
}

.fest-links{
    display: flex;
    gap: 20px;
}

.fest-btn{
    color: #fff;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 130px;
    min-height: 56px;
    padding: 0px 20px;
    border-radius: 10px;
    background: #ED6A15;
    text-decoration: none;
    box-shadow: 75px 75px 43px rgba(219, 104, 81, 0.03), 42px 42px 36px rgba(219, 104, 81, 0.1), 19px 19px 27px rgba(219, 104, 81, 0.17), 5px 5px 15px rgba(219, 104, 81, 0.2), 0px 0px 0px rgba(219, 104, 81, 0.2);
    transition: all 0.3s;
}

.fest-btn:hover{
    background: rgba(0,0,0,0);
}


.fest-btn--active{
    background: #ED6A15;
    border: 2px solid #ED6A15;
}

.fest-btn--youth {
    background: #9891C6;
    border: 2px solid #9891C6;
}

.fest-title{
    font-size: 50px;
    font-weight: 700;
    color: #16164E;
}

.fest-title--center{
    text-align: center;
}

.fest-event{
    color: #fff;
    font-size: 18px;
}

.fest-event p{
    line-height: 24px;
}

.fest-event__row {
    display: flex;
    flex-wrap: wrap;
    gap: 1%;
    justify-content: space-evenly;
    /* margin-top: 14px; */
    gap: 54px 10px;
}

.fest-event__item {
    width: 24%;
    text-align: center;
}

.fest-event__item--big{
    width: 100%;
    display: flex;
    align-items: center;
    /* justify-content: inherit; */
    gap: 0px;
    max-width: 910px;
    /* margin-bottom: 45px; */
}

.fest-event__item--big .fest-event__tl{
    color: #fff;
}

.fest-event__item--big .fest-event__num{
    margin-bottom: 0;
    display: flex;
}

.fest-event__item--big .fest-event__num .number{
    width: 360px;
    display: block;
    text-align: right;
}

.fest-event__num {
    display: inline-flex;
    font-size: 84px;
    line-height: 1.15;
    font-weight: 700;
    position: relative;
    letter-spacing: -2px;
    margin-bottom: 13px;
    z-index: 1;
}

/* .fest-event__num {
  opacity: 0;
}

.fest-event__num.viz {
  opacity: 1;
  transition: 1s;
} */

.fest-event__num::before {
    content: "";
    display: block;
    width: 79px;
    height: 79px;
    background-color: #ED6A15;
    border-radius: 34px 10px 24px 10px;
    position: absolute;
    top: -11px;
    right: -5px;
    z-index: -1;
}

.fest-event__num .number{
    width: 100%;
}

.fest-event__item:nth-child(2) .fest-event__num::before{
    border-radius: 10px 24px 10px 34px;
}

.fest-event__item:nth-child(3) .fest-event__num::before{ 
    right: 32px;
}

.fest-event__item:nth-child(4) .fest-event__num::before {
    right: 24px;
}

.fest-event__item:nth-child(5) .fest-event__num::before{
    border-radius: 10px 34px 10px 24px;
    right: -10px;
}

.fest-event__item:nth-child(2) .fest-event__num  .number{
    width: 110px;
/*    width: 52px;*/
}

.fest-event__item:nth-child(3) .fest-event__num .number{ 
    width: 155px;
}

.fest-event__item:nth-child(4) .fest-event__num  .number{ 
    width: 90px;
}

.fest-event__item:nth-child(5) .fest-event__num  .number{ 
    width: 105px;
}

.fest-event__tl {
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    color: #1E1D4C;
    margin-bottom: 9px;
}

.fest-section--map{
    position: relative;
    padding-top: 24px;
    padding-bottom: 210px;
    margin-top: 100px;
    margin-bottom: 60px;
    padding-bottom: 14vw;
    overflow: hidden;
    z-index: 1;
}

.train-decor{
    position: absolute;
    right: 0;
    top: 0px;
    width: 50%;
    max-width: 740px;
}

.fest-map__pic{
    display: block;
    border-radius: 10px;
    overflow: hidden;
    line-height: 0;
    margin-top: 30px;
    margin-bottom: 40px;
}

.fest-map .fest-btn{
    width: 230px;
}

.people-decor {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
    z-index: -1;
}

.fest-section--gallery{
    margin-top: 115px;
    margin-bottom: 50px;
}

.fest-section--gallery .fest-title {
    margin-bottom: 43px;
}

.fest-gall-2024{
    display: flex;
    flex-wrap: wrap;
    gap: 20px 20px;
}

.fest-gall-item{
    display: block;
    width: calc(33.3% - 14px);
    padding: 20px 20px 79px;
    background: #fff;
    border: 11px 10px solid #fff;
    /* border-bottom: 50px solid #fff; */
    box-sizing: border-box;
}

.fest-gall-item img{
    display: block;
    max-width: 100%;
    height: auto;
}


.fest-section--event .title-chapter{
    margin-bottom: 15px;
}


/*Tabs*/

.tabs-fest-menu {
    display: block;
    list-style: none;
    padding: 0;
}

.tabs-fest-menu li::before{
    display: none;
}
.tabs-fest-menu:after {
    content: "";
    display: table;
    clear: both;
}
.tabs-fest-menu li {
    font-size: 15px;
    font-weight: 700;
    display: inline-block;
    border-bottom: 1px dotted #fff;
    cursor: pointer;
    color: #fff;
    margin-right: 27px;
}

.tabs-fest-menu li:not(.active):hover {
    color: #16164E;
    border-color: #16164E;  
}

.tabs-fest-menu .active {
    color: #16164E;
    border-color: #16164E;    
    cursor: default;
}

.tabs-fest .tabs-fest-cont {
    box-sizing: border-box;
    color: #fff;
    margin-top: 40px;
}

.tabs-fest .tabs-fest-cont .fest-links{
    margin-top: 38px;
}

.tabs-fest .tabs-fest-cont .tab-pane {
    padding: 20px 25px;
    background-color: #5f007e;
    border-radius: 15px;
}

.tabs-fest .tabs-fest-cont .tab-pane li::before{
    color: #fff;
}

.tabs-fest-wrap .tabs-fest-img{
    width: 35%;
    display: block;
    max-width: 375px;
    background-color: #FFF;
    padding: 20px 20px 75px 20px;
    box-sizing: border-box;
}

.tabs-fest-wrap {
    display: flex;
    margin-top: 7px;
    gap: 5.5%;
    align-items: flex-start;
}

.tabs-fest-wrap .tabs-fest-txt{
    width: 55%;
    max-width: 620px;
}

.tabs-fest-wrap .tabs-fest-cont  .fest-btn{
    width: 330px;
}


.tabs-fest-title {
    font-size: 20px;
    font-weight: 700;
    color: #14183E;
    margin-bottom: 20px;
    text-transform: uppercase;
}

.tabs-fest-pane h4 {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 1px;
}

.tabs-fest-pane p {
 margin-bottom: 20px;
 font-size: 16px;
 line-height: 1.25;
}

.fest-section--prizes{
    position: relative;
    margin-top: 35px;
}

.fest-prizes-img{
    width: 35%;
    max-width: 352px;
    margin-top: 65px;
}

.fest-prizes{
    width: 60%;
    max-width: 580px;
}

.fest-prizes .tabs-fest-cont  .fest-btn{
    width: 235px;
}

.fest-prizes .tabs-fest {
    margin: 25px 0 50px 0;
}

.fest-prizes .fest-title {
    margin-bottom: 20px;
}

.umbrella-decor{
    position: absolute;
    top: 200px;
    top: 15vw;
    left: 0;
    max-width: 319px;
    width: 30%;
}

.fest-prizes-wrap{
    display: flex;
    max-width: 980px;
    margin: 0 auto;
    justify-content: space-between;
}

.fest-prizes__list{
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    text-align: center;
    color: #fff;
    width: 100%;
    justify-content: space-between;
    padding: 0 25px !important;
}

.fest-prizes__list .fest-prizes__list-txt{
    display: block;
    margin-top: 20px;
    font-size: 20px;
}

.fest-prizes__list .swiper-button-prev:after, 
.fest-prizes__list .swiper-button-next:after {
    font-size: 20px;
    font-weight: 700;
    color: #14183E;
}

.fest-prizes__list .swiper-button-next {
    right: -7px;
}

.fest-prizes__list .swiper-button-prev {
    left: -7px;
}

.fest-section--guide{
    position: relative;
    margin-top: 63px;
}

.ball-decore {
    position: absolute;
    width: 25vw;
    max-width: 316px;
    height: 196px;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}

.fest-guide-wrap{
    display: flex;
    gap: 3%;
}

.fest-guide{
    max-width: 670px;
    width: 60%;
}


.fest-guide .fest-title{
    margin-bottom: 20px;
}

.fest-guide .fest-links{
    margin-top: 36px;
}

/* .swiper {
  width: 100%;
  //height: 340px;
} */

.swiper-slide {
  /* display: flex;
  align-items: center;
  justify-content: center; */
  /*height: auto !important;*/
}

.fest-section--social{
    position: relative;
    padding-bottom: 175px;
    margin: 50px 0;
    background-image: url("../img/fest-page-2025/grid2-img.png");
    background-repeat: no-repeat;
    background-position: 15% 85%;
    overflow: hidden;
}

.tree-decore{
    position: absolute;
    right: 0;
    bottom: 23%;
    max-width: 356px;
    width: 30%;
}

.fest-social{
    background: rgba(255, 255, 255, 0.2);
    border-radius: 129px 20px  20px 20px;
    padding: 65px 0 50px;
    position: relative;
}

.auto-decor{
    position: absolute;
    bottom: -203px;
}

.fest-social-list{
    display: flex;
    justify-content: center;
    list-style: none;
    margin: 50px 0 10px;
    gap: 25px 105px;
}

.fest-social h2.fest-title,
.fest-social p {
	margin: 0px 40px 20px 40px;
}

.fest-social-list > li a{
    text-decoration: none;
}

.fest-social-list > li a span{
    display: inline-block;
    margin-top: 10px;
}

.fest-social-list a {
    color: #fff;
}

.fest-section-faq{
    padding-bottom: 0;
    margin-top: 90px;
}

.fest-faq-wrap{
    display: flex;
    align-items: flex-start;
    gap: 7%;
}

.fest-faq-content{
    width: 60%;
    max-width: 670px;
}

.fest-faq-img{
    width: 30%;
    max-width: 305px;
    margin-top: 20px;
    line-height: 0;
}

.fest-faq-content .fest-title{
    margin-bottom: 25px;
}

.fest-faq details{
    position: relative;
    margin-bottom: 10px;
}

.fest-faq details:before {
    content: "";
    width: 24px;
    height: 24px;
    font-size: 24px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    position: absolute;
    top: -10px;
    right: 0;
    pointer-events: none;
    background-image: url("../img/fest-page-2025/plus.svg");
    background-size: contain;
}

.fest-faq details:open:before {
    background-image: url("../img/fest-page-2025/minus.svg");
}

.fest-faq summary{
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 10px;
    padding-right: 50px;
}

.fest-faq summary span{
    border-bottom: 1px dotted #fff;
}

.fest-faq summary + p {
    margin-bottom: 20px;
    line-height: 1.25;
    font-size: 16px;
    padding-right: 50px;
}

.fest-faq summary::marker{
    content: "";
    display: none;
}

.fest-faq summary::-webkit-details-marker {
    display: none
}

.fest-section--reviews{
    margin-top: 195px;
}

.fest-reviews-wrap{
    display: flex;
    justify-content: flex-start;
    gap: 0 8.5%;
}

.fest-reviews-img{
    margin-top: 155px;
    display: block;
    text-align: right;
}

.fest-reviews-slider{
    width: 505px;
    padding-right: 30px;
    position: relative;
    margin-top: 27px;
}

.review-item {
    height: 400px;
}

.review-item__content {
    -webkit-line-clamp: 10;
}

.fest-reviews{
    width: calc(100% - 575px);
    max-width: 430px;
}

.review-item{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border:2px solid #fff;
    border-radius: 10px;
    color: #fff;
    padding: 27px 30px;
    height: 440px;
}

.myVerticalSwiper .swiper-slide{
    opacity: 0;
}

.myVerticalSwiper .swiper-slide.swiper-slide-active{
    opacity: 1;
}

.myVerticalSwiper .swiper-slide.swiper-slide-active + .swiper-slide{
    opacity: 1;
    margin-top: -120%;
    margin-left: 45px;
    z-index: -1;
}

.myVerticalSwiper .swiper-slide-active .review-item{
    background-color: #fff;
    color: #5E6282;
}

.review-item__content{
    margin-bottom: 16px;
    line-height: 1.45;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 12;
    -webkit-box-orient: vertical;
    overflow: hidden;
}


.myVerticalSwiper .swiper-slide .review-item .review-item__name{
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 10px;
}

.myVerticalSwiper .swiper-slide .review-item .review-item__location{
    font-size: 14px;
    font-weight: 700;
}

.myVerticalSwiper .swiper-slide-active .review-item .review-item__name{
    color: #14183E;
}

.myVerticalSwiper .swiper-slide-active .review-item .review-item__location{
    color: rgba(20, 24, 62, 40%);
}

.myVerticalSwiper .swiper-button-prev{
    left: auto;
    right: 0;
    top: 51%;
    transform: rotate(-90deg);
}

.myVerticalSwiper .swiper-button-prev:after,
.myVerticalSwiper .swiper-button-next:after{
    font-size: 20px;
    font-weight: 700;
    color: #14183E;
}

.myVerticalSwiper .swiper-button-next{
    left: auto;
    top:32%;
    right: 0;
    transform: rotate(-90deg);
}

.swiper.myVerticalSwiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    display: block;
    padding: 0px 100px 0 0;
    max-height: 550px;
} 

.fest-section--reviews{
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.cort-decor{
    width: 100%;
    position: absolute;
    bottom: 15%;
    z-index: -1;
    text-align: center;
}

.apply-form-wrap{
    display: none;
    width: 100%;
    height: 100%;
    position: fixed;
    overflow: auto;
    background-color: rgba(0, 204, 188, 0.8);
    /* align-items: center; */
    justify-content: center;
    padding: 100px 30px 30px 30px;
    z-index: 1000;
    left: 0;
    top: 0;
}

.apply-form-wrap.active{
    display: flex;
}

.apply-form{
    width: 100%;
    max-width: 1160px;
    position: relative;
}

.apply-form-close{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 4px solid #14183E;
    position: absolute;
    cursor: pointer;
    top: 30px;
    left: 70px;
    z-index: 10;
}

.apply-form-close:before, 
.apply-form-close:after {
    content: ""; 
    position: absolute; 
    width: 24px; 
    height: 4px; 
    background: #14183E;
}
.apply-form-close:before {
    transform: rotate(45deg);
}
.apply-form-close:after {
    transform: rotate(-45deg);
}

body.modal-open {
    overflow: hidden;
}

.apply-form .tourist-form__wrapper{
    background-color: #63C7C6;
    border-radius: 130px 20px 20px 20px;
    padding: 60px 32%;
    overflow: visible;
}

.apply-form .tourist-form__wrapper::before{
    content: "";
    display: block;
    width: 28%;
    max-width: 369px;
    padding-top: 28%;
    background-image:url(/local/templates/rustravel-2024/img/fest-page-2025/apply-form-img1.png);
    background-size: cover;
    position: absolute;
    left: 0;
    bottom: 0;
}

.apply-form .tourist-form__wrapper::after{
    content: "";
    display: block;
    width: 28%;
    max-width: 340px;
    padding-top: 39%;
    background-image:url(/local/templates/rustravel-2024/img/fest-page-2025/apply-form-img2.png);
    background-size: cover;
    position: absolute;
    right: -35px;
    top: -90px;
}

.apply-form .tourist-form__block:nth-child(3):before{
    content: "Подай заявку";
    font-size: 50px;
    font-weight: 700;
    color: #14183E;
    text-align: center;
    display: block;
    margin-bottom: 15px;
}

.apply-form .tourist-form__btn {
    width: 100%;
    color: #fff;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 130px;
    min-height: 68px;
    padding: 0px 20px;
    border-radius: 10px;
    background: #9891C6;
    border: 2px solid #9891C6;
    text-decoration: none;
    box-shadow: 75px 75px 43px rgba(219, 104, 81, 0.03), 42px 42px 36px rgba(219, 104, 81, 0.1), 19px 19px 27px rgba(219, 104, 81, 0.17), 5px 5px 15px rgba(219, 104, 81, 0.2), 0px 0px 0px rgba(219, 104, 81, 0.2);
    transition: all 0.3s;
}

.apply-form  .tourist-form__help{
    display: none;
}

.apply-form .tourist-form__btn:hover {
    background-color: transparent;
}

.apply-form .tourist-form__inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.apply-form  .input-field__label{
    display: none;
}

.apply-form  .tourist-form__input{
    width: 100%;
    margin: 0 0 20px;
}

.apply-form .input-field__textarea, 
.apply-form .input-field__input {
    padding: 20px 20px;
}

.square-checkbox__title {
    font-size: 15px;
}

.square-checkbox__title a {
    display: inline-block;
    color: #fff;
    font-weight: 600;
}


@media only screen and (max-width: 1700px) {
    .ball-decore {
        /*top: 90%;*/
        right: -7%;
        width: 15vw;
    }
}

@media only screen and (max-width: 1400px) {
    .ball-decore {
        top: 115%;
        right: 0;
    }
}

@media only screen and (max-width: 991px) {
    .fest-intro__title {
        font-size: 60px;
    }

    .flight {
        display: none;
    }

    .fest-section--intro::before{
        content: '';
        display: block;
        width:45%;
        max-width: 500px;
        height: 200px;
        background-image: url("../img/fest-page-2025/flight-decor-mob.svg");
        background-repeat: no-repeat;
        background-size: contain;
        position: absolute;
        top: 5%;
        left: 0;
        z-index: -1;
    }

    .fest-intro:after {
        margin-left: 10px;
    }

    .cloud-3 {
        left: 55%;
    }
    .fest-event__item--big {
        flex-direction: column;
        width: 100% !important;
    }

    .fest-event__item {
        width: 45%;
        text-align: center;
    }

    .fest-section--map {
        padding-top: 80px;
        margin-top: 80px;
        padding-bottom: 16vw;
    }

    .train-decor {
        width: 70%;
        max-width: 740px;
    }

    .people-decor img{
        object-fit: cover;
        max-width: none;
        width: 155%;
    }

    .umbrella-decor{
        display: none;
    }

    .fest-gall-item {
        padding: 10px 10px 40px;
    }
    .fest-reviews-wrap {
    gap: 0 4%;
}
.fest-reviews {
    width: calc(100% - 455px);
    max-width: 434px;
}
.fest-reviews-slider {
    width: 425px;
    padding-right: 0px;
}
.myVerticalSwiper .swiper-slide.swiper-slide-active + .swiper-slide {
    margin-top: -136%;
}

    .fest-faq-wrap {
        display: flex;
        align-items: flex-end;
    }

    .ball-decore{
        display: none;
    }

    .fest-title {
        font-size: 42px;
    }

    .apply-form .tourist-form__block:nth-child(3):before{
        font-size: 32px;
    }

    .apply-form .tourist-form__wrapper::before{
        display: none;
    }

    .apply-form .tourist-form__wrapper {
        padding: 30px 10% 30px 10%;
    }

    .apply-form .tourist-form__wrapper::after {
        width: 90px;
        max-width: initial;
        height: 140px;
        padding-top: 0;
        right: -15px;
        top: -90px;
    }

    .apply-form .tourist-form__checkboxes {
        padding-left: 0;
    }
}

@media only screen and (max-width: 800px) {
    .fest-intro {
        flex-direction: column-reverse;
        padding-top: 0;
    }
    .fest-intro:after {
        margin: 0 auto;
    }

    .cloud-1 {
        width: 100px;
        max-width: none;
        top:10px;
    }

    .cloud-2 {
        left: -78px;
        top: 15%;
        bottom: auto;
        width: 170px;
    }

    .fest-intro__content {
        width: 100%;
        max-width: none;
        margin-top: 25px;
    }

    .cloud-3,
    .cloud-4 {
        display: none;
    }

    .fest-btn,
    .fest-map .fest-btn,
    .tabs-fest-wrap .tabs-fest-cont .fest-btn,
    .fest-prizes .tabs-fest-cont .fest-btn {
        width: 100%;
        padding: 0 10px;
    }

    .grid-decor{
        display: none;
    }

    .fest-section--map {
        padding-bottom: 0;
    }

    .people-decor {
        position: static;
    }

    .tabs-fest-wrap .tabs-fest-txt {
        width: 100%;
        max-width: none;
    }

    .tabs-fest-wrap .tabs-fest-img{
        display: none;
    }

    .people-decor img {
        object-fit: cover;
        max-width: none;
        width: 150%;
        margin-left: -35%;
    }

    .fest-prizes-wrap {
        max-width: none;
        flex-direction: column;
    }

    .fest-prizes-img{
        width: 100%;
        max-width: 352px;
        margin: 0 auto;
    }

    .fest-prizes {
        width: 100%;
        max-width: none;
    }

    .umbrella-decor {
        display: block;
        top: 100px;
    }

    .fest-guide-wrap {
        display: flex;
        flex-direction: column-reverse;
        gap: 7%;
    }

    .fest-guide {
        max-width: none;
        width: 100%;
        margin-top: 30px;
    }

    .fest-gall-item {
        width: calc(50% - 14px);
    }

    .fest-section--reviews {
        padding-bottom: 280px;
    }

    .fest-reviews-img {
        max-width: 240px;
    }

    .fest-social {
        padding: 65px 0 120px;
    }

    .fest-faq-wrap {
        flex-direction: column;
    }

    .fest-faq-content {
        width: 100%;
        max-width: none;
    }

    .fest-faq-img {
        width: 100%;
        max-width: 280px;
        margin-left: auto;
        margin-right: auto;
    }

    .fest-section--social {
        background-image: none;
    }

    .tabs-fest-menu li {
        margin-right: 15px;
        margin-bottom: 8px;
    }

    
    .fest-section--reviews {
        margin-top: 100px;
        padding-bottom: 44vw;
    }

    .fest-reviews-wrap {
        flex-direction: column;
    }

    .fest-reviews-img {
        margin-top: 0;
        position: absolute;
        bottom: 0;
        max-width: 40%;
    }

    .fest-reviews {
        width: 100%;
        max-width: none;
    }

     .fest-reviews-slider {
        width: 505px;
        margin-left: auto;
        margin-right: auto;
    }

    .myVerticalSwiper .swiper-slide.swiper-slide-active + .swiper-slide {
        margin-top: -110%;
    }

    .cort-decor {
        bottom: 5%;
    }
}

@media only screen and (max-width: 575px) {
    .fest-event__item {
        width: 100%;
    }
    .fest-event__num {
        font-size: 50px;
    }

    .fest-event__num::before {
        width: 70px;
        height: 70px;
    }

    .fest-event__num::before {
        top: -22px;
        right: -28px;
    }

    .fest-event__item:nth-child(2) .fest-event__num::before{
        border-radius: 10px 24px 10px 34px;
        top: -31px;
        right: -23px;
    }

    .fest-event__item:nth-child(3) .fest-event__num::before{
        right: -24px;
        top: -33px;
    }

    .fest-event__item:nth-child(4) .fest-event__num::before {
        right: 35px;
        top: -30px;
    }

    .fest-event__item:nth-child(5) .fest-event__num::before{
        border-radius: 10px 34px 10px 24px;
        right: -10px;
        top: -10px;
    }

    .fest-event__item--big .fest-event__num .number {
        width: 220px;
    }

        .fest-event__item:nth-child(2) .fest-event__num  .number{
        width: 30px;
    }

    .fest-event__item:nth-child(3) .fest-event__num .number{ 
        width: 100px;
    }

    .fest-event__item:nth-child(4) .fest-event__num  .number{ 
        width: 50px;
    }

    .fest-event__item:nth-child(5) .fest-event__num  .number{ 
        width: 65px;
    }

    .fest-reviews-slider {
        width: 425px;
    }

    .swiper.myVerticalSwiper {
       height: 680px;
       max-height: initial;
    }

    .review-item {
        height: 490px;
    }

    .review-item__content {
        -webkit-line-clamp: 14;
    }

    .myVerticalSwiper .swiper-slide.swiper-slide-active + .swiper-slide {
        margin-top: -180%;
    }

    .apply-form .tourist-form__wrapper {
        border-radius: 75px 20px 20px 20px;
        padding: 30px 15px 30px 15px;
    }

    .apply-form .input-field__textarea, 
    .apply-form .input-field__input {
        padding: 10px 20px;
    }

    .apply-form .tourist-form__btn{
        min-height: 46px;
    }

    .apply-form-close {
		top: -25px;
		left: -1px;
    }
}

@media only screen and (max-width: 480px) {
    .fest-intro__title {
        font-size: 36px;
    }
    .fest-title {
        font-size: 36px;
    }
    .fest-intro:after {
        width: 100%;
        max-width: 285px;
    }

    .fest-wrap {
        background-size: 100%;

    }

    .fest-prizes-img {
        max-width: 190px;
    }

    .fest-section--intro::before {
        width: 150px;
        max-width: none;
        height: 105px;
        top: 30px;
    }

    .fest-section--map {
        padding-top: 80px;
        margin-top: 30px;
        margin-bottom: 75px;
    }

    .train-decor img{
        display: none;
    }

    .train-decor{
        width: 95%;
        max-width: 380px;
        height: 46px;
        background-image: url(../img/fest-page-2025/train-decor-mob.svg);
        background-repeat: no-repeat;
    } 

    .fest-map__pic {
        margin-bottom: 30px;
    }

    .people-decor img{
        display: none;
    }

    .people-decor{
        width: 100%;
        height: 0;
        padding-top: 57%;
        background-image: url(../img/fest-page-2025/decor-peoples-mob.png);
        background-size: cover;
        background-repeat: no-repeat;
        margin-top: 30px;
    }
    
    .fest-section--event .title-chapter {
        margin-bottom: 5px;
    }

    .tabs-fest-wrap .tabs-fest {
        margin: 10px 0 50px 0;
    }

    .tabs-fest-title {
        margin-bottom: 13px;
    }

    .tabs-fest .tabs-fest-cont .fest-links {
        margin-top: 20px;
    }

    .fest-section--prizes {
        margin-top: 18px;
    }
    .fest-prizes {
        margin-top: 38px;
    }
    .fest-prizes .fest-title {
        margin-bottom: 8px;
    }
    .fest-prizes-wrap .tabs-fest .tabs-fest-cont .fest-links {
        margin-top: 45px;
    }

    .umbrella-decor img{
        display: none;
    }

    .umbrella-decor{
        width: 118px;
        height: 100px;
        top: 40px;
        background-image: url("../img/fest-page-2025/umbrella-decor-mob.svg");
        background-size: cover;
    }

    .fest-section--guide {
        margin-top: 15px;
    }

    .fest-guide-img {
        max-width: 240px;
    }

    .fest-guide {
        margin-top: 23px;
    }

    .fest-guide .fest-title {
        margin-bottom: 10px;
    }

    .fest-guide .fest-links {
        margin-top: 20px;
    }

    .ball-decore img{
        display: none;
    }

    .ball-decore{
        display: block;
        width: 99px;
        height: 50px;
        top: -35%;
        background-image: url("../img/fest-page-2025/ball-decore-mob.svg");
        background-size: cover;
    }

    .cort-decor img{
        display: none;
    }

    .cort-decor {
        display: block;
        width: 100%;
        height: 0;
        padding-top: 18%;
        background-image: url(../img/fest-page-2025/cort-decor-mob.svg);
        background-size: cover;
        bottom: 10%;
    }

    .fest-section--gallery {
        margin-top: 58px;
        margin-bottom: 50px;
    }

    .fest-section--gallery .fest-title {
        margin-bottom: 28px;
        padding: 0 25px;
    }

    .fest-gall-item:nth-child(n+7) {
        display: none;
    }

    .fest-section--reviews {
        margin-top: 64px;
    }

    .fest-social {
        padding: 50px 0 110px;
        border-radius: 80px 20px 20px 20px;
    }

    .auto-decor {
        position: absolute;
        bottom: -116px;
        width: 185px;
    }

    .tree-decore {
        position: absolute;
        right: -66px;
        bottom: 18%;
        max-width: none;
        width: 215px;
    }
    .fest-section-faq {
        padding-bottom: 0;
        margin-top: 65px;
    }

    .fest-faq-img {
        width: 100%;
        max-width: 200px;
        margin-left: auto;
        margin-right: auto;
        margin-top: 55px;
    }

    .fest-section--reviews {
        padding-bottom: 35vw;
    }

    .fest-reviews-slider {
        width: 320px;
    }

    .myVerticalSwiper .swiper.myVerticalSwiper {
        padding-right: 50px;
    }

    .review-item {
        height: 410px;
        padding: 15px 15px;
    }

    .review-item__content {
        -webkit-line-clamp: 14;
        font-size: 16px;
    }

    .myVerticalSwiper .swiper-slide.swiper-slide-active + .swiper-slide {
        margin-top: -220%;
        margin-left: 15px;
    }

}

.pb-0{padding-bottom: 0 !important;}

.fest-section-faq .fest-faq ::before,
.fest-section-faq .fest-faq summary{
	cursor: pointer;
}
.fest-partners-slider .swiper-slide{
    width: auto !important;
}

.fest-partners-slider .swiper-slide-images{
    width: 100%;
    display: flex;
    gap: 30px;
    justify-content: center;
}

.fest-partners-slider .swiper-slide-categ{
    text-align: center;
    text-transform: uppercase;
    color: #9A9998;
    font-size: 14px;
}

.fest-partners-slider .swiper-wrapper {
    transition-timing-function: linear;
}

.fest-partners-wrap {
    position: relative;
    background-color: #FFF;
    border-radius: 20px 100px 20px 100px;
    padding: 30px 80px !important;
}

.fest-partners-wrap .swiper-button-prev:after, 
.fest-partners-wrap .swiper-button-next:after {
    font-size: 20px;
    font-weight: 700;
    color: #14183E;
}

.fest-partners-wrap  .swiper-button-prev{
    left: 40px;
}

.fest-partners-wrap  .swiper-button-next{
    right: 40px;
}

@media screen and (max-width: 900px) {
    .fest-partners-wrap {
        padding: 30px 40px !important;
    }
    .fest-partners-wrap  .swiper-button-prev{
        left: 10px;
    }

    .fest-partners-wrap  .swiper-button-next{
        right: 10px;
    }
}