@font-face {font-family: "Cocon"; src: url("Cocon-Light.woff") format("woff"); font-weight: 300; font-style: normal;}@font-face {font-family: "Cocon"; src: url("Cocon-Regular.woff") format("woff"); font-weight: 400; font-style: normal;}@font-face {font-family: "Cocon"; src: url("Cocon-Bold.woff") format("woff"); font-weight: 700; font-style: normal;}[data-field="tlk-title"] {font-family: "Arial", "Arial", Roboto, "Open Sans", sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Oxygen, Cantarell, "Helvetica Neue";font-weight: 700;} [data-field="tlk-text"] {font-weight: 400;} body {font-family: "Arial", "Arial", Roboto, "Open Sans", sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Oxygen, Cantarell, "Helvetica Neue";} .tlk-userbar, .tlk-userbar__popup, .tlk-menu, .tlk-popup, .tlk-switcher {font-family: "Arial", "Arial", Roboto, "Open Sans", sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Oxygen, Cantarell, "Helvetica Neue" !important;}

.header, .banner, #CalltouchWidgetFrame, body .footer, .tabbar {display: none !important;}
.container, .text {max-width: 100% !important; padding-left: 0 !important; padding-right: 0 !important;}
.text-content__text {-webkit-box-flex: 0; -ms-flex: 0 1 100%; flex: 0 1 100%;}
section:first-child {margin-top: 0 !important;}

.fest_wrap {display: flex; justify-content: center;}
.fest_inside {width: 100%; max-width: 1400px; padding: 48px 24px; margin: 0 auto;}

/* header */

.fest_header {position: relative; z-index: 99;}
.fest_header._move {position: fixed; top: 0; left: 0; width: 100%; box-sizing: border-box; }
.fest_header .fest_inside {padding: 24px 24px 0 24px;}

.fest_header .fest_wrap {background: rgba(255, 255, 255, 0.3); -webkit-backdrop-filter: blur(15px); backdrop-filter: blur(15px); border-radius: 40px; border: 1px solid #fff; padding: 12px; box-sizing: border-box; display: flex; justify-content: space-between;}
.fest_header .fest_logo {display: flex;}
.fest_header .fest_logo img:nth-child(1) {width: 100% !important; max-width: 100% !important; height: 50px !important; border-radius: 0 !important;}
.fest_header .fest_logo img:nth-child(2) {display: none;}
.fest_navigation {display: flex;}
.fest_header menu {display: flex; align-content: center; flex-wrap: wrap; gap: 24px;}
.fest_header menu a {color: #333 !important; font-family: 'Cocon'; text-shadow: 0 1px 0 #fff;}
.fest_header menu a:hover {color: #572F8E !important;}
.fest_header img {width: auto; height: 50px;}
.fest_header .fest_contact {display: flex; flex-wrap: nowrap; gap: 24px; font-family: 'Cocon';}
.fest_header .fest_contact a {color: #333 !important; text-shadow: 0 1px 0 #fff;}
.fest_header .fest_contact .header__phone-link {padding: 0 12px 0 0;}
.fest_header .fest_contact .day_btn {display: none; background-color: #572F8E; border: 1px solid #540793; color: #fff !important; border-radius: 100px; text-shadow: none !important; font-family: 'Cocon'; align-items: center; padding: 0 20px;}
.fest_header .fest_contact .day_btn:hover {background-color: #360261; color: #fff !important;}

.fest_scroll .fest_header .fest_contact {padding: 0;}
.fest_scroll .fest_header .fest_contact .day_btn {display: flex;}
.fest_scroll .fest_header .fest_inside .fest_wrap {box-shadow: 0 5px 30px #b4b4b4;}
.fest_scroll .fest_header .fest_contact .header__phone-link {padding: 0;}
/* end header */

/* promo */
.fest_promo {margin-top: calc(var(--fest-header-height, 100px) * -1); width: 100%; box-sizing: border-box; display: flex; justify-content: center; background: linear-gradient(45deg, #ffede8, #e1e3ff, #f1eaec, #f7e2e7, #eee1fc, #e6eefe, #f4dbea, #e8eef2); background-size: 600% 100%; animation: gradient 10s linear infinite; animation-direction: alternate;}
@keyframes gradient {
    0% {background-position: 0%}
    100% {background-position: 100%}
}
.fest_promo .fest_inside {height: 100vh; display: flex; align-items: center;}
.fest_promo .fest_title {font-family: 'Cocon'; color: #572F8E !important; font-size: 60px; text-transform: none; font-weight: 400; line-height: 100%; margin: 0 !important; padding: 0 !important;}
.fest_promo .fest_sub_title {font-family: 'Cocon'; font-size: 22px; display: block; padding: 16px 0; color: #333 !important;}
.first-view-title {opacity: 1; transform: translateY(0px); animation: first-view-title 1s linear infinite; animation-iteration-count: 1;}
@keyframes first-view-title {
    0% {transform: translateY(24px); opacity: 0;} 
    100% {transform: translateY(0); opacity: 1;}
}

.second-view-title {opacity: 0; transform: translateY(0px); animation: second-view-title 1s linear infinite; animation-iteration-count: 1; animation-delay: 1s; animation-fill-mode: forwards;}
@keyframes second-view-title {
    0% {transform: translateY(24px); opacity: 0;} 
    100% {transform: translateY(0); opacity: 1;}
}


.promo {padding: 100px 0 0 0; display: flex; gap: 40px; flex-wrap: nowrap; align-items: center;}
.promo .promo_section:nth-child(1) {width: 40%;}
.promo .promo_section:nth-child(2) {width: 30%;}
.promo .promo_section:nth-child(3) {width: 30%; display: flex; flex-direction: column; align-items: center;}
.promo .promo_section img {width: 100% !important; max-width: 100% !important; height: auto !important; border-radius: 24px 8px 24px 8px;}
.promo .promo_section video {border-radius: 24px 8px 24px 8px; box-shadow: 0 0 50px #c4a4de;}

.fest_calendar {display: flex; flex-direction: column; align-items: center; font-family: 'Cocon';}
.fest_calendar div {display: flex;}
.fest_calendar .fest_date {display: flex; flex-direction: row; gap: 16px;}
.fest_calendar .fest_date .fd_a {font-size: 120px; color: #572F8E; line-height: 64px;}
.fest_calendar .fest_date .fd_b {display: flex; flex-direction: column;}
.fest_calendar .fest_date .fd_c {font-size: 40px; text-transform: uppercase; color: #572F8E; padding: 10px 0;}
.fest_calendar .fest_date .fd_d {font-size: 20px; text-transform: uppercase; color: #333}
.fest_calendar .fest_date_description {font-size: 16px; color: #333; padding: 20px 0 0 0;}
.fest_calendar .timeg {font-family: 'Cocon'; font-size: 14px; color: #333; padding: 12px 0 8px 0;}

.map-link {display: contents;}
.map-link svg {position: relative; top: 1px;}
.map-link .description {border-bottom: 1px dashed #ff5c00;}
.map-link:hover .description {border-bottom: transparent;}

.call-to-action {display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 20px 0 0 0;}
.promo .day_btn {border-radius: 100px; padding: 16px 30px !important; font-family: 'Cocon'; background-color: #ff5c00; color: #fff !important;}
.fest-free {display: flex; align-items: center; gap: 8px; font-size: 14px; color: #348b00; font-family: 'Cocon';}
.fest-bonus {padding: 10px 0 0 0; font-size: 14px; color: #348b00; font-family: 'Cocon'; text-align: center; line-height: 110%;}
/* end promo */

.fest_wrap_title {font-family: 'Cocon'; color: #572F8E; text-align: center; font-size: 48px; line-height: 100%; padding: 16px 0;}

.message_wrap {text-align: center;}
.message_wrap p {width: 100%; max-width: 60%; margin: 0 auto;}


/* about */
#about {background-image: url(about_bg.jpg); background-position: 50% 100%; background-repeat: no-repeat;}
.feature_list {display: flex; flex-wrap: wrap; justify-content: center; gap: 50px; padding: 48px 0 0 0;}
.feature_list .feature_item {border: 1px solid #ddd; border-radius: 24px; flex: 0 0 calc(30% - 20px); box-sizing: border-box; padding: 64px 24px 48px 24px; background: rgba(255, 255, 255, 0.7); -webkit-backdrop-filter: blur(15px); backdrop-filter: blur(15px); text-align: center;}
.feature_list .fi_icon {border: 1px solid #ddd; border-radius: 100px; background-color: #fff; display: flex; align-items: center; margin: 0 auto; width: 64px; height: 64px;}
.feature_list .fi_icon img {width: 100% !important; max-width: 100% !important; height: 42px !important; border-radius: 0 !important;}
.feature_list .fi_title {font-family: 'Cocon'; color: #572F8E; font-size: 20px; padding: 48px 0 16px 0;}
.feature_list .fi_description {color: #333;}
.feature_list .fi_sub_description {padding: 12px 0 0 0;}
.feature_list .fi_sub_description a {border-bottom: 1px dashed #ff5c00;}
.feature_list .fi_sub_description a:hover {border-bottom: transparent;}

/* end about */



/* fest_links */
.fest_links .fest_inside {}
.fest_links .fest_wrap_title {color: #333; font-size: 32px;}
.calendar-options {display: flex; justify-content: center; gap: 16px; padding: 32px;}
.calendar-btn {border: 3px solid #ddd; border-radius: 100px; padding: 8px 16px 8px 12px; display: flex; align-items: center; gap: 12px;}
.calendar-btn:hover {background-color: #f2f2f2;}
.calendar-btn img {width: 32px !important; height: 32px !important; border-radius: 0 !important;}
.calendar-btn .description {text-align: left;}
/* end fest_links */



/* info */
#info {background: linear-gradient(45deg, #ffede8, #e1e3ff, #f1eaec, #f7e2e7, #eee1fc, #e6eefe, #f4dbea, #e8eef2); background-size: 600% 100%; animation: gradient 10s linear infinite; animation-direction: alternate;}

#info_promo {padding: 32px 0 0 0;}
#info_promo .fest_wrap_title {color: #fff;}
#info_promo .info_promo_wrap {background-color: #5A188C; padding: 24px; border-radius: 24px;}
#info_promo .feature_list {padding: 16px 0 0 0;}
#info_promo .feature_list .feature_item {background: rgba(255, 255, 255, 1); flex: 0 0 calc(33.33% - 35px); padding: 48px 24px}
#info_promo .feature_list .feature_item:last-child {width: 100%; flex: 0 0 calc(100%);}
.feature_list .fi_title {padding: 24px 0 16px 0;}

#info_promo .feature_list .feature_item:last-child .fi_description {padding: 0 0 16px 0;}
#info_promo .popup-link {background-color: #572F8E; border: 1px solid #540793; color: #fff !important; border-radius: 100px; text-shadow: none !important; font-family: 'Cocon'; align-items: center; padding: 16px 32px;}

#info .info_list {display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; padding: 16px 0 0 0;}
#info .info_item {padding: 24px; border-radius: 24px; background-color: #fff; transition: transform 0.3s, box-shadow 0.3s;}
#info .info_item:hover {background-color: #fff4f4; transform: translateY(-5px);}
#info .info_item .s_icon {width: 60px; height: 60px; margin-bottom: 15px; background-color: #f0f0f0; border-radius: 50%; display: flex; align-items: center; justify-content: center;}
#info .info_item .event-title {font-family: 'Cocon'; color: #333; font-size: 18px; padding: 0 0 16px 0;}
#info .info_item .event-description {color: #333;}
/* end info */

.rules_list {display: flex; flex-direction: column; gap: 4px;}
.rules_list .rules_list_item {line-height: 120%; display: block; text-align: left; font-size: 14px;}
.rules_list .rules_list_item span {display: block; padding: 0 0 0 15px;}
.rules_list a {text-decoration: underline !important; font-size: 12px; color: #572F8E !important;}
.rules_list a:hover {text-decoration: none !important;}
.rules_list .popup-link {display: inline; padding: 0; border: 0; background-color: transparent; color: #333; text-transform: none; font-weight: normal; font-family: inherit; font-size: inherit; border-radius: 0 !important; text-decoration: none !important; border-bottom: 1px dashed #572F8E;}
.rules_list .popup-link:hover {border-bottom: 1px dashed #fff;}

.reg_link {text-align: center;}
.reg_link .fest_inside {padding: 0;}
.reg_link .popup-link {background-color: #572F8E; border: 1px solid #540793; color: #fff !important; border-radius: 100px; text-shadow: none !important; font-family: 'Cocon'; align-items: center; padding: 16px 32px;}
.reg_link .popup-link:hover {background-color: #360261;}

.intro-section {height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 20px; background: linear-gradient(135deg, #e6d4ff 0%, #d8c4ff 100%);}
.intro-title {font-size: 3.5rem; color: #7b1fa2; margin-bottom: 20px; text-shadow: 2px 2px 4px rgba(0,0,0,0.1);}
.intro-subtitle {font-size: 1.5rem; color: #512da8; max-width: 800px; margin-bottom: 40px;}
.scroll-hint {position: absolute; bottom: 40px; color: #7b1fa2; font-size: 1.1rem; animation: bounce 2s infinite;}
        
@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
    40% {transform: translateY(-10px);}
    60% {transform: translateY(-5px);}
}
        
#reviews section {margin: 0 !important; padding: 24px 0;}
.section-title {text-align: center; font-size: 2.8rem; color: #7b1fa2; margin-bottom: 60px; position: relative;}
.section-title:after {content: ''; position: absolute; bottom: -15px; left: 50%; transform: translateX(-50%); width: 150px; height: 4px; background: linear-gradient(to right, #ab47bc, #7b1fa2); border-radius: 2px;}
.reviews-container {display: grid; grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); gap: 40px;}
.review-card {backdrop-filter: blur(10px); border-radius: 24px; padding: 24px; opacity: 0; transform: scale(0.9); transition: opacity 0.8s ease, transform 0.8s ease; border: 3px solid #f4f4f4; position: relative;}
.review-card.visible {opacity: 1; transform: scale(1);}
.review-header {display: flex; justify-content: space-between; align-items: flex-start; align-items: center; margin-bottom: 20px; padding-bottom: 15px; border-bottom: 1px solid #f0e6f5;}
.reviewer_icon {display: flex; width: 60px; height: 60px; overflow: hidden; border-radius: 100px;}
.reviewer_icon img {width: 100% !important; max-width: 100% !important; height: 60px !important; border-radius: 0 !important; object-fit: cover !important;}
.reviewer-name {font-family: 'Cocon'; color: #333; font-size: 18px;}
.review-date {font-family: 'Cocon'; color: #ab47bc; font-size: 0.9rem; font-weight: 500;}
.review-rating {color: #ffb300; margin-bottom: 15px; font-size: 1.2rem;}
.review-text {color: #333; margin-bottom: 20px;}
.review-highlight {color: #7b1fa2; font-style: italic; font-size: 0.95rem; padding-top: 15px; border-top: 1px dashed #e6d4ff; display: none;}
.highlight {background-color: rgba(171, 71, 188, 0.1); color: #7b1fa2; padding: 2px 6px; border-radius: 4px; font-weight: 500;}
       
        
.fest_footer {display: flex; flex-direction: column; gap: 40px; flex-wrap: nowrap; align-items: center;}
.fest_footer .fest_inside {display: flex; flex-wrap: wrap; gap: 48px; justify-content: space-between; align-items: center;}
.fest_footer .social_links_list {display: flex; gap: 48px; justify-content: center;}
.fest_footer .fest_social_link {display: flex; flex-direction: row; align-items: center; gap: 16px;}
.fest_footer .fest_social_link .decription {font-size: 14px; line-height: 100%; font-family: 'Cocon'; color: #333;}
.fest_footer .fest_social_link:hover .decription {color: #ab47bc;}
.fest_footer .f_vk .icon, .fest_footer .f_tg .icon {background-position: 50% 50%; background-repeat: no-repeat; background-size: cover; width: 32px; min-width: 32px; height: 32px; min-height: 32px; display: block;}
.fest_footer .f_vk .icon {background-image: url(vk.svg);}
.fest_footer .f_tg .icon {background-image: url(tg.svg);}
.fest_footer p {text-align: left; width: 100%;}
.fest_footer .fest_terms {display: inline-block; color: #333 !important; border-bottom: 1px solid #333; font-size: 14px; line-height: 100%; font-family: 'Cocon';}
.fest_footer .fest_terms:hover {text-decoration: none; color: #572F8E !important; border-bottom: 1px solid #fff;}

/* gallery */
.fest_gallery .fest_inside {padding: 0 24px;}
.fest_gallery .gallery__head {gap: 0;}
.fest_gallery .gallery__title {font-family: 'Cocon'; font-weight: 400; color: #333; font-size: 32px; line-height: 100%; text-transform: inherit; width: 100%; text-align: center; text-indent: 130px;}
/* end gallery */

.fest_video .fest_wrap_title {font-family: 'Cocon'; font-weight: 400; line-height: 100%; color: #333; font-size: 32px; text-align: center;}

.video_list {display: flex; gap: 60px; width: 70%; margin: 0 auto; padding: 10px 0 0 0;}
.video_list .section video {border-radius: 10px; overflow: hidden; width: 100%; max-width: 100%;}
.video_list .caption {display: block; text-align: center;}


#program {background-image: url(about_bg2.jpg); background-position: 50% 150px; background-repeat: no-repeat;}
.fest_tabs {display: flex; justify-content: center; padding: 24px 0 0 0; gap: 8px;}
.fest_tabs .tab_btn {font-family: 'Cocon'; font-size: 18px; color: #572F8E; padding: 12px 24px; background-color: #f8f8f8; border: 2px solid #ddd; border-radius: 100px; transition: all 0.3s ease 0s; -moz-transition: all 0.3s ease 0s; -webkit-transition: all 0.3s ease 0s;}
.fest_tabs .tab_btn:hover {border: 2px solid #572F8E;}
.fest_tabs .active {background-color: #572F8E; color: #fff; border: 2px solid #572F8E; font-weight: 400 !important;}


.fest_tab { display: none; }
.fest_tab.active { display: block; }

.program_list {display: flex; flex-wrap: wrap; justify-content: center; gap: 50px; padding: 32px 0 0 0; width: 70%; margin: 0 auto;}
.program_list .program_item {border: 1px solid #ddd; border-radius: 24px; flex: 0 0 calc(50% - 25px); box-sizing: border-box; padding: 32px 24px; background: rgba(255, 255, 255, 0.7); -webkit-backdrop-filter: blur;}
.program_list .pi_title {font-family: 'Cocon'; color: #572F8E; font-size: 20px; font-weight: 400; padding: 0 0 24px 0;}

/* form */
.popup__title {font-family: 'Cocon'; color: #572F8E;}
form[data-id="form-65"] {display: flex; flex-wrap: wrap; gap: 16px;justify-content: space-between;}
form[data-id="form-65"] .md-constructor-form__label {text-transform: inherit; font-size: 12px; line-height: 100%; margin: 0;}
form[data-id="form-65"] .js-constructor-form-input, form[data-id="form-65"] .select__title {border: 1px solid #bbb; font-size: 12px;}
form[data-id="form-65"] .md-constructor-form__field {width: 100%; display: flex; flex-direction: column; gap: 6px;}
form[data-id="form-65"] .md-constructor-form__field--date, form[data-id="form-65"] .md-constructor-form__field--phone, form[data-id="form-65"] .md-constructor-form__field--dropdown {width: 47%;}
form[data-id="form-65"] .form-element-wrapper, form[data-id="form-65"] .input-date, form[data-id="form-65"] .md-constructor-form__custom-radio {margin: 0;}
form[data-id="form-65"] .input-date__icon {width: 20px; height: 20px; fill: #777;}
form[data-id="form-65"] .md-constructor-form__field--radio {display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 16px;}
form[data-id="form-65"] .md-constructor-form__custom-radio label {font-size: 11px; line-height: 100%; white-space: nowrap; padding: 5px 30px 5px 5px;}
form[data-id="form-65"] .md-constructor-form__custom-radio label::before {right: 2px}
form[data-id="form-65"] .md-constructor-form__custom-radio label::after {right: 6px;}
form[data-id="form-65"] .md-constructor-form__field--button {flex-direction: row;}
form[data-id="form-65"] .md-constructor-form__btn-block {margin: 0 !important; gap: 4px !important;}
form[data-id="form-65"] .md-constructor-form__btn-block button {width: 100%; box-sizing: border-box; font-family: 'Cocon';}
form[data-id="form-65"] .btn-block__data-processing-user {font-size: 11px;}
form[data-id="form-65"] .js-captcha-block {padding: 0 !important; transform: scale(0.9);}
form[data-id="form-65"] .error-text._active {margin-top: 3px; font-size: 11px;}
/* end form */

.partners_list {display: flex; gap: 24px; flex-wrap: unset; justify-content: center; padding: 24px 0 48px 0; align-items: center;}
.partners_list img {width: 100% !important; max-width: 100% !important; height: 42px !important; border-radius: 0 !important;}

.alert-bar__container {padding: 0 24px !important; max-width: 1440px !important;}

@media (max-width: 1300px) {
    .fest_header .fest_logo img {height: 40px !important;}
    .fest_header menu a {font-size: 14px;}
}

@media (max-width: 980px) {
    .fest_header menu {display: none;}

    form[data-id="form-65"] .md-constructor-form__field {width: 100% !important;}
    form[data-id="form-65"] .md-constructor-form__field--button {flex-direction: column;}
    .fest_inside {padding: 24px 12px;}
    /* header */
    .fest_header .fest_inside {padding: 12px 12px 0 12px;}
    .fest_header .fest_logo img:nth-child(1) {display: none;}
    .fest_header .fest_logo img:nth-child(2) {display: inline-block; width: 100% !important; max-width: 100% !important; height: 40px !important; border-radius: 0 !important; }
    .fest_header .fest_contact {gap: 16px;}
    .fest_header .fest_contact .header__phone-link {width: 40px; height: 40px; overflow: hidden; font-size: 0; background-image: url(phone.svg);
    box-sizing: border-box; background-size: 46%; background-repeat: no-repeat; background-position: 50% 50%; border-radius: 100px; background-color: #572F8E; fill: #fff}
    .fest_header .fest_contact .popup-link {display: flex; font-size: 11px; padding: 0 16px;}
    /* end header */
    .reviews-container {grid-template-columns: 1fr;}
    .promo {flex-direction: column; padding: 80px 0 0 0; gap: 20px;}
    .fest_promo .fest_inside {height: auto;}
    .promo .promo_section:nth-child(1) {width: 100%;}
    .promo .promo_section:nth-child(2) {width: 100%; order: 2;}
    .promo .promo_section:nth-child(3) {width: 100%; order: 1;}
    .promo p {text-align: center;}
    .fest_promo .fest_sub_title {font-size: 18px; padding: 20px 0 8px 0; text-align: center;}
    .fest_promo .fest_title {font-size: 36px; padding: 8px 0; text-align: center}
    .fest_calendar .fest_date .fd_a {font-size: 75px; line-height: 62px;}
    .about_wrap {flex-direction: column; width: 100%; gap: 0;}
    .about_wrap .section {width: 100%;}
    .about_wrap img {display: none;}
    .fest_wrap {padding: 0;}
    .fest_wrap_title {font-size: 24px; padding: 16px 0 0 0; line-height: 100%;}
    .message_wrap p {max-width: 100%; padding: 24px 0 0 0;}
    .feature_list {gap: 30px; padding: 24px 0 0 0;}
    .feature_list .feature_item {width: 100%; flex: auto; padding: 30px 12px 30px 12px;}
    .feature_list .fi_title {padding: 24px 0 16px 0;}
    .fest_links {padding: 0 12px;}
    .fest_links .fest_wrap_title {font-size: 24px;}
    .fest_links p {text-align: center;}
    .calendar-options {flex-direction: column;}
    .calendar-btn {box-sizing: border-box; width: 100%;}
    .fest_gallery .fest_inside {padding: 0 12px;}
    .video_list {flex-direction: column; gap: 24px; padding: 24px 0 0 0; width: 100%;}
    .fest_gallery .gallery__title {text-indent: 0; text-align: left;}
    .fest_tabs {flex-wrap: wrap; padding: 32px 0 16px 0}
    .fest_tabs .tab_btn {font-size: 12px; padding: 4px 10px;}
    .program_list {width: 100%; padding: 10px 0 0 0; gap: 30px;}
    .program_list .program_item {flex: 0 0 calc(100%); width: 100%;}
    #info {padding: 0 0 20px 0;}
    #info .info_list {grid-template-columns: repeat(1, 1fr);}
    #info_promo .feature_list .feature_item {flex: 0 0 calc(100%); width: 100%;}    
    .review-card {padding: 16px;}
    .reviewer-name {font-size: 14px;}
    .review-date {font-size: 12px;}
    .reviewer_icon {width: 50px; height: 50px;;}
    .reviewer_icon img {height: 50px !important;}
    .fest_footer .social_links_list {flex-direction: column; gap: 24px;}


    .partners_list {flex-wrap: wrap;}

    .fest_promo {margin-top: calc(var(--fest-header-height, 78px) * -1)};
    .alert-bar__container {padding: 0 12px !important}
}


.popup-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.6); backdrop-filter: blur(3px); display: flex; justify-content: center; align-items: center; visibility: hidden; opacity: 0; transition: opacity 0.25s ease, visibility 0.25s; z-index: 1000; padding: 15px;}
.popup-overlay.active { visibility: visible; opacity: 1; display: flex;}
.popup-content {background-color: #fff; width: 100%; max-width: 600px; max-height: 80vh; border-radius: 24px; box-shadow: 0 35px 70px rgba(0, 0, 0, 0.3); position: relative; transform: scale(0.8); transition: transform 0.3s cubic-bezier(0.18, 0.89, 0.32, 1.28); margin: 12px; border: 1px solid rgba(255,255,255,0.4); display: flex; flex-direction: column; overflow: hidden;}
.active .popup-content { transform: scale(1); }
.popup-header {display: flex; flex-direction: row; justify-content: space-between; align-items: center; padding: 8px 16px; box-shadow: 0 0 20px #bbb; position: relative;}
.popup-header a {border-bottom: 1px dashed #ff5c00;}
.popup-header a:hover, .popup-header a:active {border-bottom: 1px dashed #fff;}
.popup-close-btn { background: none; border: 2px solid #572F8E; font-size: 32px; line-height: 1; cursor: pointer; color: #572F8E; transition: color 0.2s; padding: 5px; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 50%; margin-left: auto; }
.popup-close-btn:hover { color: #fff; background-color: #572F8E;}
.popup-body {background-color: #f4f4f4; padding: 0 16px 16px 16px; overflow-y: auto; max-height: calc(80vh - 80px); scrollbar-width: thin; scrollbar-color: #94a3b8 #e2e8f0; }
.popup-body::-webkit-scrollbar { width: 8px; }
.popup-body::-webkit-scrollbar-track { background: #e2e8f0; border-radius: 10px; }
.popup-body::-webkit-scrollbar-thumb { background: #94a3b8; border-radius: 10px; }
.popup-body::-webkit-scrollbar-thumb:hover { background: #64748b; }

.popup-wrap {}

.popup-message {text-transform: uppercase; text-align: center; font-size: 24px; font-family: 'Cocon'; color: #333; padding: 24px 0 16px 0;}
.popup-sub-message {color: #ff5c00; text-align: center; padding: 16px 0 8px 0; font-family: 'cocon';}


.fest_event_list { display: flex; flex-direction: column; gap: 8px;}
.fest_event_list_item {display: flex; flex-wrap: nowrap; gap: 16px; border: 2px solid #E9DDF8; padding: 16px; border-radius: 16px; background: #fff;}

.fe_time, .fe_info { display: flex; flex-direction: column; gap: 8px;}

.fe_time {width: 180px;}
    .fe_time_item {font-family: 'Cocon'; font-size: 18px; color: #333; display: inline-block; padding: 1px 8px 4px 8px; border-radius: 8px; background-color: #f2f2f2; text-align: center;}
    .fe_time_item sup {font-size: 12px; display: inline-block; position: relative; top: 2px; margin: 0 4px 0 2px;}
.fe_info {width: 100%;}
    .fe_title {font-family: 'Cocon'; font-size: 18px; color: #572F8E; line-height: 120%;}
    .fe_sub_title {color: #333; font-weight: bold; line-height: 120%;}
    .fe_description, .fe_sub_description {font-size: 14px; line-height: 120%;}

    .extrem_time .fe_time {width: 180px; flex-wrap: wrap; flex-direction: initial;}
    .extrem_time .fe_info {width: 100%;}
    .extrem_time .fe_time .fe_time_item {font-size: 14px; padding: 1px 4px 4px 4px;}
    .extrem_time .fe_time .fe_time_item sup {font-size: 10px; margin: 0 2px 0 1px;}

    .popup-btn_wrap {text-align: center; padding: 48px 0 0 0; display: flex; justify-content: center;}
    .popup-btn_wrap .popup-btn-start {background: linear-gradient(45deg, #ffede8, #e1e3ff, #f1eaec, #f7e2e7, #eee1fc, #e6eefe, #f4dbea, #e8eef2); background-color: rgba(0, 0, 0, 0); background-size: auto; border: 1px solid #f8f8f8; color: #333 !important; border-radius: 100px; text-shadow: none !important; font-family: 'Cocon'; align-items: center; padding: 16px 24px; display: flex; gap: 16px; box-shadow: 0 5px 30px #b4b4b4; animation: gradient 5s linear infinite; animation-direction: normal; animation-direction: alternate; background-size: 600% 100%;}
    .popup-btn_wrap .popup-btn-start:hover {background-size: 6000% 100%;}
    .popup-btn_wrap .popup-btn-start img {width: 100% !important; max-width: 100% !important; height: 42px !important; border-radius: 0 !important;}
    .popup-btn_wrap .popup-btn-start span {text-wrap: nowrap !important;}

    
@media (max-width: 980px) {
    .fest_event_list_item {padding: 12px 8px;}
    .popup-content {max-height: 85vh; margin: 0 !important; border-radius: 8px;} 
    .popup-header {box-shadow: 0 0 20px #ccc; position: relative; padding: 8px;} 
    .popup-body { padding: 16px 8px; max-height: calc(85vh - 70px); } 
    .popup-message { font-size: 18px; } 
    .popup-close-btn { top: 5px; right: 10px; font-size: 36px; } 
    .fe_title {font-size: 14px;}
    .extrem_time .fe_time {gap: 4px;}
    .extrem_time .fe_time .fe_time_item {font-size: 12px; padding: 1px 2px 4px 4px;}
    .fe_description, .fe_sub_description {font-size: 12px;}
    .popup-btn_wrap .popup-btn-start span {font-size: 14px; display: inline-block;}
    .popup-btn_wrap {padding: 16px 0;}
}