@font-face {
  font-family: 'Novelist-Display';
  src: url('font/novelist-display-webfont.woff2') format('woff2'),
    url('font/novelist-display-webfont.woff') format('woff');
  font-display: swap;
}

:root {
  --lblue25: #ADC3E3;
  --gray25: #DAD8D5;
  --gray25-transparent: rgba(218, 216, 213, .85);
  --bronze25: #5B5946;
  --lbronze25: #C6994A;
  --blue25: #273269;
  --salmon25: #D6A790;
  --red25: #E25E37;
  --golos: "Golos Text", sans-serif;
  --novelist: "Novelist-Display";
}

html,
body {
  font-family: var(--golos);
}

.uk-h1,
.uk-h2,
.uk-h3,
.uk-h4,
.uk-h5,
.uk-h6,
.uk-heading-2xlarge,
.uk-heading-large,
.uk-heading-medium,
.uk-heading-small,
.uk-heading-xlarge,
h1,
h2 {
  color: var(--blue25);
  font-family: var(--novelist);
}

h3,
h4,
h5,
h6 {
  font-family: var(--golos);
}

.uk-link,
a {
  color: var(--blue25);
  text-decoration: none;
  cursor: pointer;
}

/* TOPLINE */

.actualdate {
  color: white;
}

.actualdate.act_date_l {
  background-color: var(--bronze25);
  color: white;
}

.topline-links>a {
  color: var(--bronze25);
}

#header .nav-overlay.search-block {
  background: var(--blue25);
}

#header .uk-width-expand input::placeholder {
  color: #fff;
}

#header {
  background: rgba(37, 49, 104, 0.7);
  transition: all .3s ease;
}

#header.zero {
  background: rgba(37, 49, 104, 0);
  transition: all .3s ease;
}

#header .uk-navbar-nav a {
  color: white;
}

#header .uk-navbar-dropdown {
  width: auto;
  padding: 25px;
  padding-top: 0;
  background: black;
  color: white;
  box-shadow: 0 5px 12px rgb(0 0 0 / 15%);
  top: 55px !important;
  margin-top: 0;
  left: -1.5rem !important;
}

/* HERO */

.hero {
  background: var(--blue25);
  position: relative;
  padding-top: 4.5rem;
  padding-bottom: 10.5rem;
  overflow: hidden;
}

.hero .col_main {
  padding: 3rem 0 6rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 75rem;
  position: relative;
}

.hero .first-screen {
  position: relative;
  z-index: 1;
}

.hero .first-screen img {
  width: 100%;
  height: auto;
}

.hero_tree_l,
.hero_tree_r,
.flying_owl {
  position: absolute;
  z-index: 0;
}

section.hero>div.hero_tree_l {
  max-width: 99999px;
  height: 1300px;
  aspect-ratio: 1.04 / 1;
  background: url(images/fest2025/black_tree_l.svg) center no-repeat;
  background-size: contain;
  top: 30px;
  left: -220px;
}

section.hero>div.hero_tree_r {
  max-width: 99999px;
  height: 1200px;
  aspect-ratio: 1.87 / 1;
  background: url(images/fest2025/black_tree_r.svg) left top no-repeat;
  background-size: contain;
  top: -160px;
  right: -830px;
}


/* INTRO */

#main-container section.intro {
  position: relative;
  padding-top: 15rem;
  padding-bottom: 6rem;
  background-color: var(--lblue25);
  color: var(--blue25);
}

#main-container section.intro.blue {
  background-color: var(--blue25);
  color: white;
  padding-top: 6rem;
  padding-bottom: 0;
  position: relative;
}

.intro .introheader {
  margin: 3rem auto;
  position: relative;

  h2 {
    color: var(--blue25);
    font-size: 9rem;
    line-height: 1;
  }
}

section.intro.blue .introheader h2 {
  color: white;
}

.videotrailer {
  border-radius: 1.5rem;
  overflow: hidden;
  margin-bottom: 2rem;
  margin-top: 1.5rem;
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 0;
  cursor: pointer;
  position: relative;
  z-index: 0;
}

.videotrailer video {
  width: 100%;
}

.intro .introheader .videotrailer {
  margin-top: 2.5rem;
  margin-bottom: 4.5rem;
}

.twocol p {
  font-size: 1.2rem;
}

.intro .twocol h3 {
  font-family: var(--golos);
  font-size: 2rem;
  line-height: 1.1;
  color: var(--blue25);
}

.intro .twocol p>a {
  text-decoration: underline;
}

.intro .features {
  display: flex;
  justify-content: space-between;
  margin-top: 6rem;
}

section.intro>div {
  position: relative;
  z-index: 1;
}

section.intro>div.abon-banner {
  position: absolute;
  top: -200px;
  left: calc(50% - 397px);

  a {
    display: block;
    transition: all .3s ease;
  }

  a:hover {
    transform: scale(1.05);
  }
}

section.intro>div.blue_tree_r,
section.intro>div.blue_tree_l,
section.intro>div.intro_owl,
section.intro>div.animasha_bird {
  position: absolute;
  max-width: 99999px;
  z-index: 0;
}

section.intro>div.blue_tree_l {
  height: 1590px;
  aspect-ratio: 1 / 1.93;
  background: url(images/fest2025/blue_tree_l.svg) center no-repeat;
  background-size: contain;
  top: 350px;
  left: -190px;
}

section.intro>div.blue_tree_r {
  height: 1185px;
  aspect-ratio: 1 / 1.03;
  background: url(images/fest2025/blue_tree_r.svg) center no-repeat;
  background-size: contain;
  top: 750px;
  right: -60px;
}

section.intro>div.animasha_bird {
  height: 1023px;
  aspect-ratio: 1 / 3.1;
  background: url(images/fest2025/animasha_r_bird.png) center no-repeat;
  background-size: contain;
  top: 500px;
  left: 0;
}

section.intro>div.intro_owl {
  height: 352px;
  aspect-ratio: 1 / 1.06;
  background: url(images/fest2025/intro_owl.svg) center no-repeat;
  background-size: contain;
  top: 400px;
  right: 0;
}

/* CTA */

#main-container section.cta_abonement {
  background-color: var(--gray25);
  background-image: url(images/fest2025/tree-brunch-lblue.svg);
  background-size: 1170px 494px;
  background-position: top -100px right 0;
  background-repeat: no-repeat;
  padding-top: 9rem;
  padding-bottom: 9rem;
}

.ab_cta_wrapper>a {
  color: var(--blue25);
  border: 1px solid var(--blue25);
}

.abcta_butt div {
  border-color: var(--blue25);
  background-color: var(--blue25);
  color: white;
}

.ab_cta_wrapper .bird {
  position: absolute;
  width: 108px;
  height: 90px;
  background: url(images/fest2025/bird.png) center no-repeat;
  background-size: contain;
  top: -88px;
  right: 10%;
}

/* PROGRAM */

.program25 {
  background-color: black;
  color: white;
  padding: 6rem 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  margin-top: 0 !important;
  position: relative;
}

.program25>div>h2 {
  font-size: 8rem;
  text-align: center;
  color: white;
}

.program25>div>h4 {
  font-size: 1.2rem;
  text-align: center;
  color: white;
  font-family: var(--golos);
  line-height: 1.3;
}

section.program25>div.animasha_l {
  position: absolute;
  max-width: 99999px;
  z-index: 0;
  height: 868px;
  aspect-ratio: 1 / 3.21;
  background: url(images/fest2025/animasha_l.png) center no-repeat;
  background-size: contain;
  bottom: 250px;
  right: 0;
}

/* FAQ */

.section-faq {
  background-color: var(--bronze25);
  color: white;
  margin-top: 0;
  padding-top: 6rem;
}

.section-faq h2 {
  font-size: 7.5rem;
  text-align: center;
  color: white;
  text-transform: uppercase;
}

.fabrika-multfilmov-faq {
  max-width: calc(900px + 6rem);
}

.fabrika-multfilmov-faq {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.fabrika-multfilmov-faq .uk-accordion-title {
  padding: 0 3rem;
  border: none;
  font-size: 1.3rem;
  line-height: 1.2;
  letter-spacing: 0;
  color: white;
  font-weight: normal;
}

.fabrika-multfilmov-faq .uk-accordion-content {
  padding: 1rem 3rem 1em;
}

.fabrika-multfilmov-faq li {
  padding: 1rem 0;
}

.fabrika-multfilmov-faq li:not(:first-child) {
  border-top: 2px solid white;
}

.fabrika-multfilmov-faq .uk-accordion-content p {
  color: white;
}

.fabrika-multfilmov-faq .uk-accordion-title::before,
.fabrika-multfilmov-faq .uk-accordion-title:hover::before {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23fff%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23fff%22%20width%3D%221%22%20height%3D%2213%22%20x%3D%226%22%20y%3D%220%22%20%2F%3E%0A%3C%2Fsvg%3E");
}

.fabrika-multfilmov-faq .uk-open>.uk-accordion-title::before {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23fff%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%3C%2Fsvg%3E");
}

.faq_outro a {
  color: white;
  text-decoration: underline;
}

/* СТРАНИЦА АБОНЕМЕНТ */

#abonent-header h1 {
  font-family: var(--novelist);
  font-size: 10rem;
  line-height: 0.8;
  color: white;
}

#abonent-header {
  background: var(--blue25) url(images/fest2025/header_stat_bg.png) center no-repeat;
  background-size: cover;
  padding: 13rem 0 6rem;
  text-align: center;
}

.abonement section.buy-btn .btn-buy-subscription {
  padding: 20px 30px;
  font-size: 1.5rem;
  text-decoration: none;
  line-height: 1.5;
  border-radius: 1.5rem;
  background-color: var(--lbronze25);
  text-transform: uppercase;
  display: block;
}

a.btn-buy-subscription:hover {
  color: white !important;
}

.abonement section.buy-btn h3 {
  text-align: center;
  margin: 2rem 0;
  font-size: 1.2rem;
  color: white;
}

.abonement_img div {
  margin-top: 3rem;
}

.abonement #main-container section.intro {
  background-color: var(--lblue25);
  padding: 6rem 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  margin-top: 0 !important;
}

.abonement .important-info {
  background-color: var(--bronze25);
  color: white;
}

.abonement .important-info .t-name {
  font-family: var(--golos);
  font-weight: 400;
  color: var(--gray25);
}

.abonement .important-info .t-title {
  font-family: var(--novelist) !important;
  font-weight: normal !important;
  color: white;
}

.abonement .important-info .t503 .t-section__topwrapper {
  margin-bottom: 30px;
}

.abonement .important-info .t503__title {
  margin-top: 0;
  line-height: 1;
  color: var(--gray25);
}

.abonement .important-info .t-descr {
  font-family: var(--golos);
  font-weight: 300;
  color: var(--gray25);
  line-height: 1.1;

  a {
    color: inherit;
    text-decoration: underline;
  }
}

.abonement .important-info .t-col_3 {
  padding-bottom: 3rem;
}

.abonement .important-info .t503__descr {
  margin-top: 5px;
}

.abonement .important-info .t503__wrapper .imp-img {
  height: 110px;
  display: flex;
  align-items: center;
  justify-content: center;

  .t503__img {
    width: auto;
    height: auto;
    max-width: 70%;
  }
}

.abonement_img {
  padding: 0;
}

/* FOOTER */

#footer .t-descr {
  font-family: var(--golos);
  font-weight: 400;
}

#footer .sp-form[sp-id="205772"] {
  font-family: var(--golos) !important;
  font-weight: normal !important;
}

@media all and (max-width: 768px) {

  .hero .col_main {
    padding: 0 3vw 3rem;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    margin-top: 0;
  }

  section.hero>div.hero_tree_l {
    height: 400px;
    top: -30px;
    left: -180px;
  }

  section.hero>div.hero_tree_r {
    height: 400px;
    top: -60px;
    right: -450px;
  }

  section.intro>div.abon-banner {
    top: -97px;
    left: 0;
    width: 100%;

    a {
      max-width: 90%;
      margin: 0 auto;

      img {
        width: 100%;
        height: auto;
      }
    }
  }

  #main-container section.intro {
    padding-top: 6rem;
    padding-bottom: 3rem;
  }

  .intro .introheader,
  .intro .introheader.nobotpad {
    padding: 3rem 1rem 0;
    margin: 0;
  }

  .intro .introheader .videotrailer {
    margin-top: 1.5rem;
    margin-bottom: 3rem;
  }

  .intro .features {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-top: 0;
    gap: 1.5rem;
  }

  section.intro>div.blue_tree_l {
    height: 1590px;
    top: 350px;
    left: -300px;
  }

  section.intro>div.blue_tree_r {
    height: 1185px;
    top: 800px;
    right: -900px;
  }

  section.intro>div.intro_owl {
    height: 120px;
    top: 150px;
    right: 0;
  }

  section.intro>div.animasha_bird {
    height: 500px;
    top: auto;
    bottom: 0;
    left: -150px;
  }

  #main-container section.cta_abonement {
    background-size: 800px auto;
    background-position: top -100px right 0;
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .abonementposter {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }

  .program25>div>h2 {
    font-size: 16vw;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
  }

  .section-faq h2 {
    font-size: 16vw;
    margin-top: 0;
    margin-bottom: 1.5rem;
    line-height: .9;
  }

  .program25>div>h4 {
    font-size: 3vw;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .program-grid {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    gap: 1.5rem;
  }

  section.program25>div.animasha_l {
    height: 200px;
    bottom: 0;
    right: 0;
  }

  .intro .introheader h2 {
    font-size: 12vw;
  }

  #main-container section.intro.blue {
    padding-top: 1.5rem;
    padding-bottom: 3rem;
  }

  .section-faq-wrapper.uk-container {
    padding-left: 0;
    padding-right: 0;
  }

  .fabrika-multfilmov-faq .uk-accordion-title {
    font-size: 1.1rem;
    padding: 0 1rem;
  }

  .fabrika-multfilmov-faq .uk-accordion-content {
    padding: 1rem 1rem 1em;
  }

  #rec350161043 .t447 .t-container {
    padding-top: 3rem;
  }

  #rec350161043 .t447 .t-container hr.t-clear {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  #abonent-header {
    background: var(--blue25) url(images/fest2025/header_stat_bg.png) center no-repeat;
    background-size: cover;
    padding: 4.5rem 0 3rem;
  }

  .collections_container .collections_item {
    padding: 1rem 0;
  }

  #abonent-header h1 {
    font-size: 16vw;
  }

  .abonement #main-container section.intro {
    padding: 1.5rem 0;
  }

  #rec361622406 {
    padding-top: 3rem !important;
    margin-top: 0;
  }

  .t-name_md {
    font-size: 1.6rem !important;
    font-family: var(--golos) !important;
    line-height: 1 !important;
    font-weight: normal !important;
    margin-top: 0 !important;
  }

  /* MOBILE MENU */

  .uk-offcanvas-bar.uk-offcanvas-bar-animation {
    background: var(--blue25);
    padding: 9vw;
  }

  .uk-offcanvas-bar .uk-nav a {
    padding: 0;
    margin: 6px 0;
    color: #fff !important;
    font: normal normal 7vw/1.3 var(--golos);
    text-transform: uppercase;
  }

  .offcanvas-footer {
    position: absolute;
    bottom: 9vw;
    left: 9vw;
  }

}