html {
  overflow: hidden auto;
}

@media screen and (max-width: 1500px) {
  :root {
    --column: calc(((100vw - (var(--padding) * 2)) - (var(--gap) * 9)) / 10);
    --column_11: var(--column_10);
    --column_12: var(--column_10);
  }

  #intro .main.small .content {
    width: var(--column_4);
    padding-left: 0;
  }
}

@media screen and (max-width: 1350px) {
  :root {
    --column: calc(((100vw - (var(--padding) * 2)) - (var(--gap) * 7)) / 8);
    --column_9: var(--column_8);
    --column_10: var(--column_8);
    --column_11: var(--column_8);
    --column_12: var(--column_8);
    --padding: 5vw;
  }

  #intro .main.small .content {
    width: var(--column_5);
    margin-left: 0;
  }
}

@media screen and (max-width: 1080px) {
  :root {
    --font-size-small: 15px; /*16px*/
    --font-size-base: 15px; /*15px*/
    --font-size-h1: 30px; /*36px*/
    --font-size-h2: 24px; /*34px*/
    --font-size-h2-bigger: 28px; /*36px*/
    --font-size-h2-intro: 20px; /*20px*/
    --font-size-h3: 15px; /*15px*/
    --font-size-h3-intro: 24px; /*36px*/
    --header-height: 80px; /*60px*/
    --header-logo-padding-y: 1rem; /*1rem*/
    --header-padding-x: 1rem; /*1rem*/

    --top: 3rem;
  }

  #intro .bg-white {
    max-width: 100vw;
    padding-right: var(--padding);
    background-color: var(--header-bg-color);
    margin-top: auto;
  }

  #intro .main.small .content {
    width: 100%;
  }

  .main.small {
    width: 100%;
  }

  #intro {
    background-position: 75% center;
  }

  footer .main {
    gap: var(--top);
  }

  footer .flex:not(.flex .flex) {
    flex-direction: column;
    align-items: flex-start;
  }

  footer .icon {
    width: 3rem;
    height: 2rem;
    object-fit: contain;
  }
}

.mobile-menu-button {
  display: none;
}

.mobile-menu {
  opacity: 0;
  pointer-events: none;
  display: none;
}

.mobile-menu:not(.open) * {
  pointer-events: none !important;
}

.mobile-menu:not(.open) .close-mobile-menu * {
  pointer-events: none !important;
}

@media screen and (hover: none), (max-width: 1080px) {
  body.menu-open .mobile-menu {
    overflow-y: auto;
    overflow-x: hidden;
    padding: var(--top) var(--padding);
    max-height: 100vh;
  }

  .mobile-menu-button {
    height: 40px;
    width: 40px;
  }

  .mobile-menu-button svg path {
    stroke: var(--text-color);
  }
  .mobile-menu-button {
    display: block;
  }

  .mobile-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000000e6;
    z-index: 6000;
    min-height: -moz-min-content;
    min-height: min-content;
    color: #fff;
    max-height: 100vh;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    display: flex;
    overflow-y: scroll;
  }

  .mobile-menu.open {
    opacity: 1;
    transform: translate(0);
    pointer-events: all;
  }

  .mobile-menu.open * {
    pointer-events: all !important;
  }

  .mobile-menu.open ul a[href="#"]:hover,
  .mobile-menu.open ul:hover a[href="#"] {
    cursor: default !important;
    pointer-events: none !important;
  }

  .mobile-menu .link-wrapper {
    display: flex;
    flex-direction: column;
    position: relative;
    max-height: 100vh;
    max-width: 100%;
  }

  .mobile-menu ul {
    margin: 0;
    padding: 0;
    display: flex;
    gap: var(--gap);
    flex-direction: column;
  }

  .mobile-menu ul ul {
    padding-left: var(--gap);
    margin-top: var(--gap);
  }

  .mobile-menu .link-wrapper a {
    width: 100%;
    position: relative;
  }

  .mobile-menu .link-wrapper a.current-menu-item {
    pointer-events: none;
  }

  .mobile-menu .link-wrapper a.current-menu-item span {
    position: relative;
  }

  .mobile-menu .link-wrapper a.current-menu-item span:after {
    content: "";
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    width: 100%;
    height: 3px;
    background-color: var(--color-primary);
    opacity: 1;
    transition: all 0.3s ease;
  }

  .mobile-menu .link-wrapper .dropdown-wrapper {
    /* text-align: center */
  }

  .mobile-menu .link-wrapper .dropdown-wrapper a {
    display: block;
  }

  .mobile-menu .link-wrapper .dropdown-wrapper .dropdown {
    /* text-align: center */
  }

  .mobile-menu .close-mobile-menu {
    position: fixed;
    top: var(--padding);
    right: var(--padding);
    height: 40px;
    width: 40px;
  }

  header .header-container .header-row .site-menu {
    display: none !important;
  }
}

@media screen and (max-width: 1080px) {
  .special-carousel-main {
    padding: 0;
  }
}

@media (max-width: 530px) {
  .quote-text {
    font-size: 1rem;
  }
}

@media screen and (min-width: 1201px) {
  .main .standart-left-margin {
    margin-left: calc(
      (var(--content-width-wide) - var(--content-width-medium)) / 2
    );
  }
}

@media screen and (min-width: 1200px) {
  .main .standart-right-margin {
    margin-right: 6rem;
  }
}

@media screen and (max-width: 1200px) {
  .main.wide {
    max-width: 120ch;
  }
}

@media screen and (min-width: 1200px) {
  .main-wrapper > section.content-section {
    padding: var(--content-section-padding) 0px;
  }
}

@media screen and (max-width: 1080px) {
  .main-wrapper > section .counter {
    font-size: 4rem;
  }
}

@media screen and (max-width: 350px) {
  .main-wrapper > section .counter {
    font-size: 2.8rem;
  }
}

@media (max-width: 1080px) {
  .main-wrapper section.hero-section {
    position: relative;
    top: auto;
    transform: none !important;
  }
}

@media screen and (max-width: 1080px) {
  .main-wrapper section.hero-section .play-pause-overlay {
    pointer-events: all;
  }

  .main-wrapper section.hero-section .play-pause-overlay > svg {
    opacity: 1 !important;
  }
}

@media screen and (max-width: 1080px) {
  .main-wrapper section.hero-section main {
    padding-bottom: 2rem !important;
  }
}

@media screen and (max-width: 1080px) {
  .main-wrapper section.hero-section main h1 {
    line-height: 1.05;
    font-size: clamp(3vw, var(--font-size-h1), 10vw);
  }
}

@media (max-width: 1080px) {
  section.hero-section-image {
    position: relative;
    top: auto;
    transform: none !important;
  }
}

@media screen and (max-width: 1000px) {
  .contact input::-moz-placeholder,
  .contact textarea::-moz-placeholder {
    color: transparent;
  }

  .contact input::placeholder,
  .contact textarea::placeholder {
    color: transparent;
  }
}

@media (min-width: 1080px) {
  .cookie-banner {
    max-height: 70vh;
    bottom: 1rem;
    left: 1rem;
    right: 1rem;
  }
}
