@font-face {
  font-family: 'UNCAGE';
  src: url('fonts/Uncage.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Глобальное скрытие скроллбаров для всех браузеров */
::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
}
html, body, * {
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE и Edge */
}

  html, body {
    height: 100%;
    margin: 0;
    padding: 0;
    font-family: 'Montserrat', Arial, sans-serif;
    background: var(--Black, #0D0D0D);
    color: #E6E6E6;
  }
  @media (min-width: 360px) and (max-width: 768px){
    body {
      min-width: 360px;
      max-width: 768px;
      margin: 0;
      box-sizing: border-box;

      div{
        box-sizing: border-box;
      }
    }

    .main-content{
      max-width: 768;
      width: 100%;
      box-sizing: border-box;
    }
  }

  @media (max-width: 768px) {
    .main-content,
    .gallery-block,
    .friends-block,
    .join-block,
    .footer {
      box-sizing: border-box;
      width: 100%;
      max-width: 100vw;
      margin-left: 0;
      margin-right: 0;
      padding-left: 0;
      padding-right: 0;
    }
  } 

  .main-content {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    align-self: center;
    max-width: 768px;
  }

  .first-block {
    height: 100vh;
    min-height: 100vh;
    max-height: 100vh;
    width: 100vw;
    min-width: 360px;
    /* max-width: 768px; */
    margin: 0 auto;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    overflow: hidden;
    /* background: radial-gradient(106.63% 142.04% at 100% 0%, var(--Rose-300, rgba(204, 109, 242, 0.20)) 0%, rgba(204, 109, 242, 0.00) 100%), radial-gradient(36.62% 98.13% at 60.57% 67.11%, var(--Violet-300, rgba(99, 80, 217, 0.20)) 0%, rgba(99, 80, 217, 0.00) 100%), linear-gradient(180deg, rgba(13, 13, 13, 0.00) 0%, var(--Black, #0D0D0D) 100%), url("assets/frame1.png") lightgray 50% / cover no-repeat; */
    /* background-blend-mode: normal, normal, normal, luminosity;  */
  }
  .first-block__video-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0;
  }
  .first-block__video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    background: #0D0D0D;
  }
  .first-block__gradient {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
    background: linear-gradient(270deg, var(--Black, #0D0D0D) 0%, rgba(13, 13, 13, 0.00) 49.94%, var(--Black, #0D0D0D) 99.88%), linear-gradient(180deg, rgba(13, 13, 13, 0.00) 80.88%, var(--Black, #0D0D0D) 100%), radial-gradient(106.63% 142.04% at 100% 0%, var(--Rose-300, rgba(204, 109, 242, 0.20)) 0%, rgba(204, 109, 242, 0.00) 100%), radial-gradient(36.62% 98.13% at 60.57% 67.11%, var(--Violet-300, rgba(99, 80, 217, 0.20)) 0%, rgba(99, 80, 217, 0.00) 100%);
  }
  .first-block__content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  .header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 8px 0 8px;
    /* height: 64px; */
    z-index: 11;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    z-index: 100;
    background: linear-gradient(180deg, #0D0D0D 0%, rgba(13, 13, 13, 0.00) 100%);
  }
  .logo-small {
    width: 55px;
    display: flex;
    align-items: center;
  }
  .burger {
    margin-right: 16px;
    width: 40px;
    height: 40px;
    background: none;
    border: none;
    padding: 0;
    display: flex;
    align-items: center;
    cursor: pointer;
  }

  .first-block__center {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1 1 auto;
    min-height: 70vh;
    width: 100%;
    position: relative;
    z-index: 1;
  }
  .first-block__logo-big {
    width: auto;
    height: auto;
    padding-bottom: 32px;
    margin-top: -16px;
  }
  .first-block__desc {
    width: 328px;
    color: var(--Gray-100, #E6E6E6);
    text-align: center;
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%;
    text-transform: uppercase;
    margin: 0 auto;
  }
  .first-block__scroll {
    position: absolute;
    left: 50%;
    bottom: 40px;
    transform: translateX(-50%);
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    z-index: 2;
  }
  .first-block__scroll img {
    width: 40px;
    height: 40px;
    display: block;
  }

  .gallery-block.fest-block{
    padding-top: 16px;
    margin-top: 0;
  }

  .gallery-block {
    box-sizing: border-box;
    position: relative;
    margin: 32px 0 0 0;
    padding: 32px 0 0 0;
    background: none;
    overflow: visible;
  }
  .gallery-block__decor {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    width: 100%;
    pointer-events: none;
  }

  .gallery-block.fest-block .gallery-block__decor{
    top: calc(100% - 195px);
    right: calc(-100% + 180px);
    left: auto;
    
  }

  .gallery-block.online-block .gallery-block__decor {
    top: calc(100% - 150px);
    right: calc(-100% + 110px);
    left: auto;
  }
  .gallery-block.master-block .gallery-block__decor{
  top: calc(100% - 195px);
  right: 0;
  left: auto;
  }

  .gallery-block.play-block .gallery-block__decor {
    top: calc(100% - 215px);
    right: 0;
    left: auto;
  }

  .gallery-block__content {
    box-sizing: border-box;
    /* убираю position: relative, чтобы не создавать новый stacking context */
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0;
  }
  .gallery-block__title {
    color: var(--Rose-200, #D794F5);
    text-align: center;
    font-family: 'UNCAGE', serif;
    font-size: 32px;
    font-style: normal;
    font-weight: 400;
    line-height: 130%;
    text-transform: uppercase;
    margin: 0;
    padding: 0 16px;
    width: 100%;
  }
  .gallery-block:nth-of-type(even) .gallery-block__title {
    text-align: right;
    position: relative;
    right: 28px ;
  }
  .gallery-block:nth-of-type(odd) .gallery-block__title {
    text-align: left;
  }
  .gallery-block__subtitle {
    color: var(--Gray-500, #868686);
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%;
    text-transform: uppercase;
    margin-bottom: 12px;
    padding: 0 16px;
    width: calc(100% - 16px);
    text-align: center;
  }
  .gallery-block:nth-of-type(even) .gallery-block__subtitle {
    text-align: right;  
    padding-right: 0;
  }
  .gallery-block:nth-of-type(odd) .gallery-block__subtitle {
    text-align: left;
  }
  .gallery-block__gallery {
    max-width: 100vw;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: row;
    gap: 12px;
    overflow-x: auto;
    /* cursor: grab; */
    width: 768px;
    margin-bottom: 16px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    /* Скрыть скроллбары */
      scrollbar-width: none; /* Firefox */
      -ms-overflow-style: none; /* IE и Edge */    
  }

  .gradient{
    position: relative;
  }

  .start-gradient{
    z-index: 2;
    width: 64px;
    height: 198px;
    position: absolute;
    left: 0px;
    top: 0;
    background: linear-gradient(90deg, var(--Black, #0D0D0D) 0%, rgba(13, 13, 13, 0.00) 100%);
  }

  .end-gradient{ 
    z-index: 2;
    width: 64px;
    height: 198px;
    position: absolute;
    right: 0px;
    top: 0;
    background: linear-gradient(270deg, var(--Black, #0D0D0D) 0%, rgba(13, 13, 13, 0.00) 100%);
  }

  .gallery-block__gallery::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Opera */
  } 


  .gallery-block__gallery img {
    position: relative;
    left: 16px;
    width: 264px;
    height: 198px;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: 16px;
    flex-shrink: 0;
    /* scroll-snap-align: center; */
    box-shadow: 0 2px 12px rgba(0,0,0,0.15);
  }
  .gallery-block__button {
    position: relative;
    z-index: 5;
    margin: 0 16px;
    width: calc(100% - 32px);
    padding: 16px 0;
    border-radius: 16px;
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.2s, border 0.2s;
    backdrop-filter: blur(8px);
  }
  .gallery-block__button.active {
    color: var(--White, #FFF);
    border-radius: 16px;
    border: 1px solid #6350D9;
    background: linear-gradient(135deg, var(--White, rgba(255, 255, 255, 0.15)) 0%, var(--Violet-300, rgba(99, 80, 217, 0.15)) 100%);
    backdrop-filter: blur(8px);
  }
  .gallery-block__button.inactive {
    pointer-events: none;
    opacity: 0.95;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.10) 0%, rgba(61, 61, 61, 0.10) 100%);
    backdrop-filter: blur(8px);
    color: var(--White, #FFF);
    text-align: center;
    leading-trim: both;
    text-edge: cap;
    font-family: Montserrat;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%; /* 16px */
    text-transform: uppercase;
  }
  /* @media (max-width: 400px) {
    .gallery-block__gallery img {
      width: 264px;
      height: 198px;
      aspect-ratio: 4/3;
    }
    .gallery-block__title {
      font-size: 22px;
    }
  }  */

  .friends-block {
    margin: 128px 16px 0 16px;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .friends-block__title {
    margin-top: 0;
    color: var(--Violet-200, #9081E5);
    text-align: center;
    font-family: 'UNCAGE', serif;
    font-size: 48px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
    text-transform: uppercase;
    margin-bottom: 16px;
  }
  .friends-block__desc {
    padding: 0 16px;
    color: var(--Gray-200, #CFCFCF);
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 32px;
    max-width: 700px;
  }
  .friends-block__desc .accent {
    color: var(--Violet-200, #9081E5);
  }
  .friends-block__logos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    gap: 24px 32px;
    align-self: stretch;
    width: 100%;
    max-width: 752px;
    margin-bottom: 32px;
  }
  .friends-block__logos img {
    max-width: 120px;
    max-height: 48px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 2px 8px rgba(0,0,0,0.10));
    background: transparent;
  }
  .friends-block__button {
    margin: 0 16px;
    width: calc(100% - 32px);
    padding: 16px 0;
    border-radius: 16px;
    border: 1px solid #6350D9;
    background: linear-gradient(135deg, rgba(255,255,255,0.15) 0%, rgba(99,80,217,0.15) 100%);
    color: var(--White, #FFF);
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    margin: 0 auto;
    display: block;
    backdrop-filter: blur(8px);
    transition: background 0.2s, border 0.2s;
  } 

  .join-block {
    max-width: 736px;
    width: 100%;
    position: relative;
    margin: 128px 16px 0 16px;
    padding: 0 0 64px 0;
    display: flex;
    flex-direction: column;
    align-items: center;

    .join-photos-wrapper{
      display: none;
    }

    .join-text-wrapper{
      display: flex;
      flex-direction: column;
      width: 100%;
    }

  }
  .join-block__title {
    margin-top: 0;
    color: var(--Rose-200, #D794F5);
    text-align: center;
    font-family: 'UNCAGE', serif;
    font-size: 48px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
    text-transform: uppercase;
    margin-bottom: 16px;
  }
  .join-block__desc {
    color: var(--Gray-200, #CFCFCF);
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%;
    text-transform: uppercase;
    text-align: center;
    max-width: 480px;

    a{
      color: var(--Rose-200, #D794F5);
      font-family: Montserrat;
      font-size: 14px;
      font-style: normal;
      font-weight: 500;
      line-height: 130%;
      text-decoration-line: underline;
      text-decoration-style: solid;
      text-decoration-skip-ink: auto;
      text-decoration-thickness: auto;
      text-underline-offset: auto;
      text-underline-position: from-font;
      text-transform: uppercase;
    }
  }
  .join-block__button {
    width: 100%;
    padding: 16px 0;
    border-radius: 16px;
    border: 1px solid #CC6DF2;
    background: linear-gradient(135deg, rgba(255,255,255,0.15) 0%, rgba(204,109,242,0.15) 100%);
    color: var(--White, #FFF);
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    margin: 0 auto;
    display: block;
    backdrop-filter: blur(8px);
    transition: background 0.2s, border 0.2s;
    z-index: 2;
  }
  .join-block__decor {
    rotate: 10deg;
    position: absolute;
    right: 0px;
    bottom: 60px;
    width: 145px;
    height: 154.988px;
    aspect-ratio: 132.10 / 136.99;
    background: url(assets/Flowers-join.svg);
    z-index: 1;
    pointer-events: none;
  }

  .join-block__content{
    border-radius: 32px;
    border: 1px solid #CC6DF2;
    display: flex;
    padding: 24px 16px 16px 16px;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    align-self: stretch;
    margin-left: 16px;
    margin-right: 16px;
  }
  .footer {
    display: flex;
    flex-direction: column;
    padding: 48px 0px 0px 16px;
    /* justify-content: center; */
    align-items: flex-start;
    align-content: flex-start;
    gap: 30px 6px;
    align-self: stretch;
    flex-wrap: wrap;
    background: radial-gradient(176.54% 100% at 50% 100%, var(--Violet-300, #6350D9) 0%, var(--Rose-300, #CC6DF2) 50%, rgba(215, 148, 245, 0.00) 100%);
  }

  .footer-desctop-logo{
    display: none;
  }

  .footer-content{
    position: relative;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      max-width: 768px;
      width: 100%;
  }

  .footer__logo-socials {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
  }
  .footer__logo {
    max-width: 120px;
    width: 100%;
    height: auto;
  }
  .footer__socials {
    display: flex;
    align-items: flex-start;
  }
  .footer__social img {
    width: 40px;
    height: 40px;
    display: block;
    filter: drop-shadow(0 2px 8px rgba(0,0,0,0.10));
  }
  .footer__org-block {
    margin-top: 16px;
    display: flex;
    flex-direction: column;
  }
  .footer__org-grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-template-rows: auto auto;
    gap: 0px 16px;
  }

  .footer__org-title{
    color: var(--White, #FFF);
    font-family: UNCAGE;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%; /* 16.8px */
    margin-bottom: 8px;
  }

  .footer__org-name {
    color: rgba(255, 255, 255, 0.75);
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%;
    margin-bottom: 2px;
  }
  .footer__org-link-wrap {
    /* для выравнивания ссылок в сетке */
  }
  .footer__org-link {
    color: #FFF;
    font-family: 'TT Commons Pro Expanded', Arial, sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 130%;
    text-decoration: none;
    text-transform: lowercase;
    letter-spacing: 0.01em;
  }
  .footer__legal {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    margin-top: 8px;
    margin-bottom: 48px;
  }
  .footer__legal-title {
    color: #FFF;
    font-family: 'TT Commons Pro Expanded', Arial, sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 130%;
    margin-bottom: 2px;
  }
  .footer__legal-desc {
    color: rgba(255, 255, 255, 0.75);
    font-family: 'Montserrat', Arial, sans-serif;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%;
  }
  .footer__decor {
    background-image: url("assets/Flowers-futer.png");
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    pointer-events: none;
    z-index: 1;
    width: 160.239px;
    height: 312px;
    aspect-ratio: 160.24/312.00;
  }

  .line{
    width: 540px;
    height: 1px;
    background: #FFF;
    margin-top: 16px;
  }

  html, body {
    overflow-x: hidden;
  }

  @media (max-width: 360.99px) {
    .footer__org-block {
      display: flex;
      flex-direction: column;
    }
    .footer__org-grid {
      display: flex;
      flex-direction: column;
      gap: 0;
    }
    /* .footer__org-name:nth-child(1) { order: 1; }
    .footer__org-link-wrap:nth-child(3) { order: 2; }
    .footer__org-name:nth-child(2) { order: 3; }
    .footer__org-link-wrap:nth-child(4) { order: 4; } */

    .footer__org-name{
      margin-bottom: 0;
    }
    .footer__org-link-wrap{
      margin-bottom: 2px;
    }

    .line{
      width: 324px;
    }
  }

  .burger-menu {
    display: none;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    position: fixed;
    top: 0; left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(13, 13, 13, 0.75);
    backdrop-filter: blur(8px);
    z-index: 10;
    /* padding: 32px 0 0 0; */
    box-sizing: border-box;
  }
  .burger-menu.open {
    min-width: 360px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .burger-menu__close {
    position: absolute;
    top: 8px;
    right: 8px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    z-index: 11;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .burger-menu__close img {
    width: 40px;
    height: 40px;
  }
  .burger-menu__nav {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    gap: 24px;
  }
  .burger-menu__link {
    color: var(--Rose-200, #D794F5);
    text-align: center;
    font-family: UNCAGE, serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
    text-transform: uppercase;
    text-decoration: none;
    transition: color 0.2s;
    display: block;
  }
  .burger-menu__link--rose200 { color: var(--Rose-200, #D794F5); }
  .burger-menu__link--rose100 { color: var(--Rose-100, #E2BAF9); }
  .burger-menu__link--violet100 { color: var(--Violet-100, #BEB0F0); }
  .burger-menu__link--violet200 { color: var(--Violet-200, #9081E5); }

  body.menu-open {
    overflow: hidden;
    touch-action: none;
  }

  a.gallery-block__button,
  a.friends-block__button,
  a.join-block__button {
    display: block;
    text-align: center;
    text-decoration: none;
    max-width: 736px;
    /* width: calc(100% - 32px); */
  }

/* Для планшета */

@media (min-width: 769px) and (max-width: 1279px) {
  body {
    max-width: 1279px;
    display: flex;
    flex-direction: column;
  }

  .footer{
    max-width: 1279px;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;

    .footer__decor{
      background-image: url("assets/Flowers-footer-tablet.png"); 
      background-repeat: no-repeat;
      background-size: contain;
      width: 235px;
      height: 310px;
      aspect-ratio: auto;
    }
  }

  .gallery-block__decor img {
    display: none;
  }

  .gallery-block.fest-block .gallery-block__decor{
    top: 139px;
    right: -108px;
    width: 293px;
    aspect-ratio: 1 / 1;
    background-image: url("assets/Flowers-fest-tablet.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }

  .gallery-block.online-block .gallery-block__decor{
    top: 197px;
    right: -106px;
    width: 240px;
    aspect-ratio: 1 / 1;
    background-image: url("assets/Flowers-online-tablet.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }

  .gallery-block.master-block .gallery-block__decor{
    top: 184px;
    left: -90px;
    width: 230px;
    aspect-ratio: 1 / 1;
    background-image: url("assets/Flowers-master-tablet.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }

  .gallery-block.play-block .gallery-block__decor{
    top: 212px;
    left: -60px;
    width: 230px;
    aspect-ratio: 1 / 1;
    background-image: url("assets/Flowers-play-tablet.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
} 

/* Десктоп */

@media (min-width: 1280px) {
  html, body {
    height: 100%;
    min-height: 100vh;
  }

  .header-wrapper {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    display: block;
   }

   .header {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    /* width: 1200px; */
    width: 1280px;
    padding-left: 40px;
    padding-right: 40px;
    height: 64px;
  } 

  .header .logo-small{
    position: relative;
    left: 40px;
    width: 110px;
    height: 48px;
  }

    .first-block {
      width: 100%;
      max-width: 1280px;
      min-height: 100vh;   
      max-height: 100vh;
      margin: 0 auto;
      display: block;
      position: relative;
      background: linear-gradient(270deg, var(--Black, #0D0D0D) 0%, rgba(13, 13, 13, 0.00) 49.94%, var(--Black, #0D0D0D) 99.88%), linear-gradient(180deg, rgba(13, 13, 13, 0.00) 80.88%, var(--Black, #0D0D0D) 100%), radial-gradient(106.63% 142.04% at 100% 0%, var(--Rose-300, rgba(204, 109, 242, 0.20)) 0%, rgba(204, 109, 242, 0.00) 100%), radial-gradient(36.62% 98.13% at 60.57% 67.11%, var(--Violet-300, rgba(99, 80, 217, 0.20)) 0%, rgba(99, 80, 217, 0.00) 100%), url("assets/frame1.png") lightgray 50% / cover no-repeat;



      .first-block__desc {
        width: 580px;
        color: var(--Gray-100, #E6E6E6);
        text-align: center;
        font-family: Montserrat;
        font-size: 20px;
        font-style: normal;
        font-weight: 500;
        line-height: 130%; /* 26px */
        text-transform: uppercase;
      }
      .first-block__logo-big{
        margin-top: -130px;
      }
    }

    .first-block__gradient {
      background: linear-gradient(270deg, var(--Black, #0D0D0D) 0%, rgba(13, 13, 13, 0.00) 49.94%, var(--Black, #0D0D0D) 99.88%), linear-gradient(180deg, rgba(13, 13, 13, 0.00) 80.88%, var(--Black, #0D0D0D) 100%), radial-gradient(106.63% 142.04% at 100% 0%, var(--Rose-300, rgba(204, 109, 242, 0.20)) 0%, rgba(204, 109, 242, 0.00) 100%), radial-gradient(36.62% 98.13% at 60.57% 67.11%, var(--Violet-300, rgba(99, 80, 217, 0.20)) 0%, rgba(99, 80, 217, 0.00) 100%);
    }

    .burger-menu.open{
      left: 50%;
      top: 0;
      transform: translateX(-50%);
      max-width: 1280px;
    }

    .burger-menu__close{
      top: 20px;
      right: 44px;
      img{
        width: 48px;
        height: 48px;
      }
    }

    .burger {
      width: 48px;
      height: 48px;
      margin-right: 40px;
    }

  body{
    display: flex;
    flex-direction: column;
  }

  .main-content{
    max-width: 1280px;
    padding: 64px 40px 96px 40px;
  }

  .gallery-block.fest-block {
    padding-top: 0;
    margin-top: 0;
  }

  .event_wraper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 64px 64px;
    max-width: 1280px;
    margin: 0 auto;

    .gallery-block{
      margin: 0;
      padding: 0;
    }

    .gallery-block__gallery {
      max-width: 568px;
    }

    .gallery-block__decor img {
      display: none;
    }
  
    .gallery-block.fest-block .gallery-block__decor{
      top: 150px;
      right: -90px;
      width: 293px;
      aspect-ratio: 1 / 1;
      background-image: url("assets/Flowers-fest-tablet.png");
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
    }
  
    .gallery-block.online-block .gallery-block__decor{
      top: 184px;
      right: -90px;
      width: 230px;
      aspect-ratio: 1 / 1;
      background-image: url("assets/Flowers-online-tablet.png");
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
    }
  
    .gallery-block.master-block .gallery-block__decor{
      transform: scaleX(-1);
      top: 184px;
      right: -90px;
      width: 230px;
      aspect-ratio: 1 / 1;
      background-image: url("assets/Flowers-master-tablet.png");
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
    }
  
    .gallery-block.play-block .gallery-block__decor{
      transform: scaleX(-1);
      top: 227px;
      right: -60px;
      width: 190px;
      aspect-ratio: 1 / 1;
      background-image: url("assets/Flowers-play-tablet.png");
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
    }

    .gallery-block:nth-of-type(n) .gallery-block__title {
      text-align: left;
      right: 0;
    }
    .gallery-block:nth-of-type(n) .gallery-block__subtitle {
      text-align: left;
    }
  }

  .friends-block__logos{
    max-width: 874px;
  }

  a.friends-block__button{
    max-width: 267px;
    display: flex;
    padding: 24px 48px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 16px;
    border: 1px solid #9081E5;
    background: linear-gradient(135deg, var(--White, rgba(255, 255, 255, 0.15)) 0%, var(--Violet-200, rgba(144, 129, 229, 0.15)) 100%);
    backdrop-filter: blur(8px);
    color: var(--White, #FFF);
    text-align: center;
    leading-trim: both;
    text-edge: cap;
    font-family: Montserrat;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%; /* 16px */
    text-transform: uppercase;
  }

  .join-block {
    height: 346px;
    max-width: 1200px;
    width: 100%;
    position: relative;
    margin: 128px 0px 0 0px;
    padding: 0;
    display: flex;
    flex-direction: row;
    align-items: flex-start;

    .join-block__decor{
      display: none;
    }

    .join-text-wrapper{
      height: 346px;
      margin-right: 64px;
      display: flex;
      flex-direction: column;
      width: 100%;
      align-items: flex-start;

      .join-block__title {
        text-align: left;
        margin-bottom: 36px;
        color: var(--Rose-200, #D794F5);
        leading-trim: both;
        text-edge: cap;
        font-family: UNCAGE;
        font-size: 64px;
        font-style: normal;
        font-weight: 400;
        line-height: 100%; /* 64px */
        text-transform: uppercase;
      }

      .join-block__content{
        border: none;
        align-items: flex-start;
        padding: 0;
        margin: 0;
        gap: 0;

        .join-block__desc {
          text-align: left;
          margin-bottom: 44px;
          color: rgba(255, 255, 255, 0.80);
          font-family: Montserrat;
          font-size: 20px;
          font-style: normal;
          font-weight: 500;
          line-height: 130%; /* 26px */
          text-transform: uppercase;

          a{
            color: var(--Rose-200, #D794F5);
            font-family: Montserrat;
            font-size: 20px;
            font-style: normal;
            font-weight: 500;
            line-height: 130%;
            text-decoration-line: underline;
            text-decoration-style: solid;
            text-decoration-skip-ink: auto;
            text-decoration-thickness: auto;
            text-underline-offset: auto;
            text-underline-position: from-font;
            text-transform: uppercase;
          }
          }

          .join-block__button{
            width: 184px;
            height: 10px;
            display: flex;
            padding: 24px 48px;
            justify-content: center;
            align-items: center;
            border-radius: 16px;
            /* border: 1px solid #CC6DF2;
            background: linear-gradient(135deg, var(--White, rgba(255, 255, 255, 0.15)) 0%, var(--Rose-300, rgba(204, 109, 242, 0.15)) 100%);
            backdrop-filter: blur(8px); */
            margin: 0;
          }
      }
    }

    .join-photos-wrapper{
      display: flex;
      flex-direction: row;
      justify-content: space-between;

      .join-photos__decor{
        z-index: 1;
        position: absolute;
        right: 210px;
        top: -115px;
        width: 240px;
        height: 317px;
        background-image: url("assets/Flowers-join-photo.png");
      }

      .img1{
        z-index: 0;
        height: 346px;
      }
      .img2{
        width: 252px;
        height: 346px;
        z-index: 2;
      }
    }
  }

  /* .footer{
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;

    .footer-desctop-logo{
      display: flex;
      width: 252.794px;
      aspect-ratio: 252.79/113.00;
      background-image: url("assets/footer_logo.svg");
      background-repeat: no-repeat;
      position: relative;
      top: 20px;
      left: -100px;
    }

    .footer-content{
      .footer__logo{
          display: none;
        }

      .footer__logo-socials{
        position: absolute;
        right: 450px;
        top: 2px;

        .footer__socials{
          display: grid;
          grid-template-columns: 1fr 1fr;
          grid-template-rows: 1fr 1fr;  
        }
      }
    }

    .line{
      width: 427px;
    }

     .footer__decor{
      background-image: url("assets/Flowers-footer-desktop.png"); 
      background-repeat: no-repeat;
      background-size: contain;
      width: 600px;
      height: 257px;
      top: -62px;
      left: 430px;
    }  
  } */

  .gallery-block__title{
    color: var(--Rose-200, #D794F5);
    text-align: right;
    leading-trim: both;
    text-edge: cap;
    font-family: UNCAGE;
    font-size: 32px;
    font-style: normal;
    font-weight: 400;
    line-height: 130%; /* 41.6px */
    text-transform: uppercase;
  }
  .gallery-block__subtitle{
    color: var(--Gray-500, #868686);
    text-align: right;
    leading-trim: both;
    text-edge: cap;
    font-family: Montserrat;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%; /* 18.2px */
    text-transform: uppercase;
  }


}

@media (min-width: 769px) and (max-width: 1279px) {
  .first-block__gradient {
    background: linear-gradient(270deg, var(--Black, #0D0D0D) 0%, rgba(13, 13, 13, 0.00) 49.94%, var(--Black, #0D0D0D) 99.88%), linear-gradient(180deg, rgba(13, 13, 13, 0.00) 80.88%, var(--Black, #0D0D0D) 100%), radial-gradient(106.63% 142.04% at 100% 0%, var(--Rose-300, rgba(204, 109, 242, 0.20)) 0%, rgba(204, 109, 242, 0.00) 100%), radial-gradient(36.62% 98.13% at 60.57% 67.11%, var(--Violet-300, rgba(99, 80, 217, 0.20)) 0%, rgba(99, 80, 217, 0.00) 100%);
  }
}

.header:has(+ .burger-menu.open) .burger {
  display: none !important;
}
.header:has(+ .burger-menu.open){
  position: absolute;
  top: 0;
  left: 0;
  width: fit-content;
  height: 40px;
  background: none;
}

@media (min-width: 1280px) {
  .header:has(+ .burger-menu.open) {
    position: fixed;
    top: 8px;
    left: 32px;
    width: 110px;
    height: 48px;
  }

  body.menu-open .footer{
    background:  rgba(13, 13, 13, 0.75),
    radial-gradient(176.54% 100% at 50% 100%, var(--Violet-300, #6350D9) 0%, var(--Rose-300, #CC6DF2) 50%, rgba(215, 148, 245, 0.00) 100%); 
    backdrop-filter: blur(8px);
  }
} 

/* ховеры */

.gallery-block__button.active:hover{
  border-radius: 16px;
  border: 1px solid #CC6DF2;
  background: linear-gradient(135deg, var(--White, rgba(255, 255, 255, 0.90)) 0%, var(--Rose-300, rgba(204, 109, 242, 0.90)) 100%);
  box-shadow: 0px 0px 24px 0px rgba(215, 148, 245, 0.50);
  backdrop-filter: blur(8px);color: var(--Gray-900, #252525);
  text-align: center;
  leading-trim: both;
  text-edge: cap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 700;
  text-transform: uppercase;
}

.friends-block__button:hover{
  border-radius: 16px;
  border: 1px solid #9081E5;
  background: linear-gradient(135deg, var(--White, rgba(255, 255, 255, 0.90)) 0%, var(--Violet-200, rgba(144, 129, 229, 0.90)) 100%);
  box-shadow: 0px 0px 24px 0px rgba(144, 129, 229, 0.50);
  backdrop-filter: blur(8px);
  color: var(--Gray-900, #252525);
  text-align: center;
  leading-trim: both;
  text-edge: cap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 700;
  text-transform: uppercase;
}


.join-block__button:hover{
  border-radius: 16px;
  border: 1px solid #9081E5;
  background: linear-gradient(135deg, var(--White, rgba(255, 255, 255, 0.90)) 0%, var(--Violet-200, rgba(144, 129, 229, 0.90)) 100%);
  box-shadow: 0px 0px 24px 0px rgba(144, 129, 229, 0.50);
  backdrop-filter: blur(8px);
  color: var(--Gray-900, #252525);
  text-align: center;
  leading-trim: both;
  text-edge: cap;
  font-family: Montserrat;
  font-style: normal;
  font-weight: 700;
  text-transform: uppercase;
}

.gallery-block.online-block .gallery-block__content,
.gallery-block.play-block .gallery-block__content{
  .gradient{
    width: 100%;
  }
  img{
    width: 100%;
    height: 198px;
    aspect-ratio: auto;
    justify-self: center;
  }
}


  .footer{
    display: flex;
    flex-direction: row;
    width: 100%;
    justify-content: center;

    .footer-content{
      max-width: 1216px;
      width: 100%;
    }

    .line{
      width: 100%;
      max-width: 904px;
      margin-bottom: 12px;
    }

    .footer-desctop-logo{
      margin-bottom: 24px;
      display: flex;
      background-image: url("assets/logo_middle.svg");
      background-size: contain;
      width: 88px;
      height: 40px;
      aspect-ratio: auto;
      top: 0;
      left: 0;
    }

    .footer__org-block{
      margin: 0;
    }

    .footer_wrapper_top{
      width: 100%;
      max-width: 928px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 24px;
    }

    .org_wrapper,
    .dep_wrapper{
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 6px 24px;
    }

    .footer_wrapper_bottom{
      gap: 12px;
      width: 100%;
      max-width: 928px;
      display: grid;
      grid-template-columns: 1fr 1fr 2fr;
    }


    .footer__decor{
      background-image: url("assets/Flowers-pc-new.png");
      position: absolute;
      width: 245px;
      height: 298px;
      bottom: 0px;
      right: 0px;
    }

    .footer__org-title{
      color: var(--White, #FFF);
      font-family: UNCAGE;
      font-size: 14px;
      font-style: normal;
      font-weight: 400;
      line-height: 140%; /* 19.6px */

      margin-bottom: 8px;
    }

    .footer__org-name{
      color: #FFF;
      font-family: Montserrat;
      font-size: 12px;
      font-style: normal;
      font-weight: 500;
      line-height: 140%; /* 16.8px */
    }

    .footer__org-link-wrap{
      color: #FFF;
      font-family: Montserrat;
      font-size: 12px;
      font-style: normal;
      font-weight: 700;
      line-height: 130%; /* 15.6px */
    }

    .info{
      display: flex;
      /* width: 416px; */
      align-items: flex-start;
      align-content: flex-start;
      gap: 4px 16px;
      flex-wrap: wrap;

      color: rgba(255, 255, 255, 0.75);
      font-family: Montserrat;
      font-size: 12px;
      font-style: normal;
      font-weight: 500;
      line-height: 140%; /* 16.8px */
    }

    .footer__legal{
      align-items: flex-start;
    }
  }


@media (min-width: 769px) and (max-width: 1279px) {
  .footer{
    .footer-content{
      max-width: 100%;
    }

    .nc,
    .footer__org-name,
    .footer__org-link-wrap{
      width: fit-content;
    }

    .footer_wrapper_top,
    .footer_wrapper_bottom{
      display: flex;
      flex-direction: column;
    }

    .dep_wrapper{
      display: flex;
      flex-direction: row;
      gap: 24px;
    }

    .org_wrapper{
      max-width: 500px;
    }

    .line{
      max-width: 600px;
    }

    .footer__socials{
      position: absolute;
      top: 0px;
      left: 110px;
    }

    .footer__legal{
      flex-direction: row;
      gap: 24px;
      justify-content: flex-start;
      margin-bottom: 0;
    }

    .info{
      max-width: 550px;
      margin-bottom: 48px;
    }

    .footer__decor{
      background-image: url("assets/flower-tablet-new.png");
      position: absolute;
      right: -131px;
      bottom: 0px;
      width: 300px;
      height: 465px;
    }
  }
}

@media (max-width: 768px){

  .footer{
    .footer_wrapper_top,
    .footer_wrapper_bottom,
    .org_wrapper,
    .dep_wrapper{
      display: flex;
      flex-direction: column;
    }

    .footer__socials{
      position: absolute;
      top: 0px;
      left: 110px;
    }

    .footer__legal{
      margin-bottom: 12px;
    }

    .info{
      max-width: 300px;
      margin-bottom: 48px;
    }

    .line{
      max-width: 256px;
    }

    .footer__decor{
      background-image: url("assets/flower-mob-new.png");
      position: absolute;
      right: -142px;
      bottom: 0px;
      width: 299px;
      height: 575px;
      aspect-ratio: auto;
    }
  }
}

.event_wraper .gallery-block.master-block .gallery-block__content img{
  width: 447px;
}

.fwcr{
  text-align: center;
  align-self: center;
  margin-bottom: 48px;

  color: var(--White, #FFF);
  font-family: UNCAGE;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;

  a{
    color: #FFF;
    font-family: Montserrat;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
    /* text-transform: uppercase; */
  }
}

@media (max-width: 1279px) {
  .fwcr{
  max-width: 600px;
  text-align: left;
  align-self: flex-start;
}
}

@media (min-width: 360px) and (max-width: 768px){
  .fwcr{
    max-width: 256px;
  }
}

@media (min-width: 1280px) {
  .fwcr{
    max-width: 904px;
    position: relative;
    right: 160px;
  }
}

.scroll-left-btn{
  cursor: pointer;
  z-index: 10;
  display: flex;
  width: 32px;
  height: 32px;
  /* transform: rotate(90deg); */
  padding: 8px;
  align-items: center;
  gap: 6.667px;
  position: absolute;
  left: 8px;
  top: 83px;
  border-radius: 20px;
  border: 1px solid #6E6E6E;
  background: 
  url("assets/left-arrow.svg") 4px 7px / 16px 16px no-repeat,
  linear-gradient(135deg, var(--Gray-400, rgba(158, 158, 158, 0.15)) 0%, var(--Gray-600, rgba(110, 110, 110, 0.15)) 100%);
  box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.50);
  backdrop-filter: blur(10.666666030883789px);
}

.scroll-right-btn{
  cursor: pointer;
  z-index: 10;
  display: flex;
  width: 32px;
  height: 32px;
  /* transform: rotate(-90deg); */
  padding: 8px;
  align-items: center;
  gap: 6.667px;
  position: absolute;
  right: 8px;
  top: 83px;
  border-radius: 20px;
  border: 1px solid #6E6E6E;
  background: 
  url("assets/right-arrow.svg") 7px 6px / 16px 16px no-repeat,
  linear-gradient(135deg, var(--Gray-400, rgba(158, 158, 158, 0.15)) 0%, var(--Gray-600, rgba(110, 110, 110, 0.15)) 100%);
  box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.50);
  backdrop-filter: blur(10.666666030883789px);
}

@media (max-width: 1279px){
  .scroll-left-btn,
  .scroll-right-btn{
    display: none;
  }
}