@font-face {
    font-family: 'Raleway';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/raleway-v28-latin_cyrillic-regular.woff2') format('woff2'),
        url('../fonts/raleway-v28-latin_cyrillic-regular.woff') format('woff');
}

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}

html {
    box-sizing: border-box;
}

*, *::after, *::before {
    box-sizing: inherit;
}

body {
    min-width: 320px;
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    color: rgb(243, 243, 243);
    background-color: #1A1A1D;
    font-feature-settings: 'pnum' on, 'lnum' on;
}

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

.visually-hidden {
    position: fixed;
    transform: scale(0);
}

.container {
    max-width: 1312px;
    padding: 0 48px;
    margin: 0 auto;
}

.slider_bottom {
    display: none;
}

@media (max-width: 560px) {
    .container {
        padding: 0 24px;
    }
    body {
        background-color: #000;
    }
    .slider_bottom {
        display: block;
        width: 100%;
    }
    .error_404 {
        display: none;
    }
}


/* SNOW */

  
  .snow-toggle {
    display: flex;
    flex-direction: row;
    padding: 0;
    margin: 0;
    gap: 40px;
    border: 0;
  }
  
  .snow-toggle__label {
    padding-bottom: 10px;
  }
  
  .snow-toggle__item {
    position: relative;
    display: flex;
    align-items: center;
    cursor: pointer;
  }
  
  .snow-toggle__text::before {
    content: "";
    position: absolute;
    left: 0;
    top: calc(50% - 12px);
    width: 25px;
    height: 25px;
    border: 1px solid #FFFFFF;
    border-radius: 50%;
  }
  
  .snow-toggle__control {
    width: 25px;
    height: 25px;
    opacity: 0;
    margin-right: 15px;
  }
  
  .snow-toggle__control:focus + .snow-toggle__text::before {
    border-color: #C56FFF;
  }
  
  .snow-toggle__control:checked + .snow-toggle__text::before {
    background-color: #FFFFFF;
    background: radial-gradient(
      circle,
      #FFFFFF 0%,
      #FFFFFF 40%,
      transparent 50%,
      transparent 100%
    );
  }
  
  .snow {
    --animation-name: snowfall;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 100;
    display: flex;
    justify-content: space-between;
    pointer-events: none;
  }
  
  .snow__flake {
    position: relative;
    top: -1.5em;
    color: #c1dcec;
    animation-name: var(--animation-name);
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    will-change: transform;
  }
  
  @keyframes snowfall {
    0% {
      transform: translateY(0);
    }
  
    100% {
      transform: translateY(calc(100vh + 1.5em));
    }
  }