@media (max-width: 1920px) {
  .product-swiper,
  .main-swiper {
    width: 44vw;
  }
}

@media (max-width: 1440px) {
  html {
    font-size: 0.7692307692vw;
  }
}

@media (max-width: 1024px) {
  html {
    font-size: 1.2820512821vw;
  }

  .xl-hidden {
    display: none;
  }

  .xl-block {
    display: block;
  }

  .menu-opened-html {
    overflow: hidden;
  }

  .menu-opened-html body {
    overflow: hidden;
  }

  i {
    width: 2.2rem;
  }

  .size-52 {
    font-size: 4.1rem;
  }

  h1,
  .h1 {
    font-weight: 500;
    font-size: 3.2rem;
    line-height: 140%;
  }

  h2,
  .h2 {
    font-weight: 400;
    font-size: 2rem;
  }

  h3,
  .h3 {
    font-size: 1.6rem;
  }

  .btn {
    font-size: 1.6rem;
  }

  .btn i {
    width: 2.2rem;
    height: 2.2rem;
    font-size: 2.2rem;
  }

  .section-padding {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .menu {
    position: fixed;
    top: 6rem;
    left: 0;
    width: 100%;
    height: auto;
    max-height: calc(100% - 6rem);
    background: var(--white);
    overflow: auto;
    padding-bottom: 2.4rem;
    -webkit-transform: translateY(-120%);
    transform: translateY(-120%);
    transition: -webkit-transform var(--time);
    transition: transform var(--time);
    transition: transform var(--time), -webkit-transform var(--time);
  }

  .menu.menu--open {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  .menu-list {
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 0;
  }

  .menu-list > li {
    padding-top: 1.2rem;
    padding-bottom: 1.2rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: start;
    align-items: flex-start;
    width: 100%;
    border-bottom: 1px solid var(--l-grey);
  }

  .menu-list > li.opened {
    border-bottom: 0;
    padding-bottom: 0;
  }

  .out .menu-list > li.opened .menu-submenu {
    display: -ms-flexbox;
    display: flex;
  }

  .menu-submenu {
    position: relative;
    left: 0;
    max-width: 100%;
  }

  .menu-submenu i {
    font-size: 2.2rem;
  }

  .menu-submenu li {
    border-bottom: 1px solid var(--l-grey);
    width: 100%;
  }

  .menu-submenu li:last-child {
    border: 0;
  }

  .menu-submenu a {
    gap: 0;
    letter-spacing: -0.02em;
  }

  .menu-button {
    display: block;
    margin-left: 3rem;
  }

  .menu-header-copy {
    display: block;
  }

  .menu-header-copy .header-info {
    display: -ms-flexbox;
    display: flex;
  }

  .main-wrapper {
    -ms-flex-direction: column;
    flex-direction: column;
    padding-top: 14.4rem;
    padding-bottom: 8rem;
  }

  .main-inner {
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .main-block {
    max-width: 45.5rem;
  }

  .main-list {
    font-size: 1.6rem;
  }

  .product-swiper,
  .main-swiper {
    width: 100%;
    position: relative;
    padding-left: 4rem;
    padding-top: 6rem;
  }

  .product-swiper .swiper-pagination,
  .main-swiper .swiper-pagination {
    left: 4rem;
  }

  .product-swiper .swiper-pagination-bullet,
  .main-swiper .swiper-pagination-bullet {
    width: 0.6rem;
    height: 0.6rem;
  }

  .main-swiper-inner {
    height: 16rem;
    padding: 1.2rem;
  }

  .main-subtitle {
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 140%;
  }

  .main-sublist {
    font-weight: 300;
    font-size: 1.2rem;
    line-height: 140%;
    color: #fff;
  }

  .main-subbg {
    width: 14.9rem;
    height: 10.5rem;
    right: 0.7rem;
    bottom: -0.9rem;
  }

  .mcatalog-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.2rem;
    row-gap: 2.4rem;
  }

  .mcatalog-item {
    grid-column: 1 span;
  }

  .mcatalog-desc {
    margin-top: 2rem;
  }

  .mcatalog-btn {
    min-width: 19.2rem;
    font-size: 2rem;
  }

  .mcatalog-btn i {
    font-size: 2.8rem;
  }

  .mabout-block {
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .mabout-img {
    max-width: 66rem;
    width: 100%;
  }

  .mabout-item {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .mabout-number {
    font-size: 5.4rem;
  }

  .mdir-list {
    grid-template-columns: repeat(2, 1fr);
  }

  .mdir-item:nth-child(3n+3) {
    grid-column: 2 span;
  }

  .why {
    padding-bottom: 4.6rem;
  }

  .why-bg {
    top: 6.7rem;
    bottom: 2rem;
  }

  .why-inner {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .why-title {
    font-size: 2rem;
    font-weight: 400;
  }

  .why-desc {
    margin-top: 1.2rem;
    margin-left: auto;
  }

  .why-list {
    padding-top: 3.2rem;
  }

  .why-subdesc {
    font-size: 1.2rem;
  }

  .partners-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 2.5rem 1.6rem;
  }

  .partners-list li {
    width: 11.8rem;
  }

  .mcontact-inner {
    grid-template-columns: 1.09fr 1.17fr;
    gap: 1.2rem;
  }

  .mcontact-list {
    gap: 1.6rem;
  }

  .mcontact-item {
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 140%;
    padding-left: 5.7rem;
  }

  .mcontact-map {
    height: 16.8rem;
  }

  .mcontact-desc {
    margin-bottom: 2.4rem;
  }

  .mcontact-info {
    padding-top: 2.4rem;
    font-size: 1.2rem;
    font-weight: 300;
  }

  .mcontact-inputfile {
    margin-top: 2.4rem;
  }

  .mcontact-submit {
    margin-top: 2.4rem;
    font-size: 2rem;
  }

  .mcontact-submit i {
    font-size: 2.8rem;
  }

  .mcontact-fileslabel {
    margin-top: 2.4rem;
  }

  .header {
    will-change: auto;
  }

  .header-padding {
    padding-top: 8.2rem;
  }

  .out {
    -webkit-transform: none;
    transform: none;
  }

  .header-info {
    display: none;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 1.6rem;
    margin-top: 1.2rem;
  }

  .footer-bot {
    font-size: 1.2rem;
    gap: 2rem;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

@media (max-width: 500px) {
  html {
    font-size: 2.6315789474vw;
  }

  .container {
    padding-right: 1.6rem;
    padding-left: 1.6rem;
  }

  h1,
  .h1 {
    font-size: 2rem;
  }

  .menu-button {
    margin-left: 0;
    width: 2.6rem;
    height: 2rem;
    margin-right: 0.5rem;
  }

  .main-bg::before {
    background-image: url("data:image/svg+xml,%3Csvg width='380' height='633' viewBox='0 0 380 633' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='380' height='633' fill='url(%23paint0_radial_398_2964)'/%3E%3Cdefs%3E%3CradialGradient id='paint0_radial_398_2964' cx='0' cy='0' r='1' gradientTransform='matrix(-273.956 -203.396 27.3461 -589.881 341.644 418.499)' gradientUnits='userSpaceOnUse'%3E%3Cstop/%3E%3Cstop offset='1' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E%0A");
  }

  .main-wrapper {
    padding-top: 10.4rem;
    padding-bottom: 4rem;
  }

  .main-list {
    font-size: 1.4rem;
  }

  .main-list li i {
    font-size: 2rem;
  }

  .product-swiper,
  .main-swiper {
    padding-left: 0;
  }

  .product-swiper .swiper-slide,
  .main-swiper .swiper-slide {
    padding-left: 1.6rem;
  }

  .product-swiper .swiper-pagination,
  .main-swiper .swiper-pagination {
    left: 0;
    padding-left: 1.6rem;
  }

  .main-swiper-inner {
    padding: 0.8rem;
    height: 14.7rem;
  }

  .main-sublist {
    font-size: 1rem;
  }

  .main-subbg {
    width: 10.8rem;
    height: 7.4rem;
    right: 0;
    bottom: 0;
  }

  .mcatalog-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .mcatalog-img {
    width: 22rem;
    height: 16rem;
  }

  .mabout-list {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 2.4rem;
  }

  .mabout-item {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .mabout-item:first-child {
    -ms-flex-align: end;
    align-items: flex-end;
    text-align: end;
  }

  .mabout-item:nth-child(4n+1),
  .mabout-item:nth-child(4n+3) {
    padding-left: 0;
    border-left: 0;
    -ms-flex-align: end;
    align-items: flex-end;
    text-align: end;
  }

  .mabout-item:nth-child(4n+2) {
    padding-right: 0;
  }

  .mabout-item:nth-child(4n+4) {
    padding-right: 0;
  }

  .mdir-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .why-bg {
    bottom: 2rem;
  }

  .why-desc {
    font-size: 1.2rem;
    padding-top: 0;
    max-width: 18.2rem;
    font-weight: 300;
  }

  .why-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.6rem;
  }

  .why-img {
    width: 2.2rem;
    height: 2.2rem;
  }

  .why-subdesc {
    font-size: 1.2rem;
    min-height: 5rem;
  }

  .partners-list {
    gap: 2.4rem 1.2rem;
  }

  .partners-list li {
    width: 10.8rem;
    height: 3.6rem;
  }

  .mcontact-inner {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 3.2rem;
  }

  .mcontact-left {
    padding-top: 0;
  }

  .mcontact-list {
    gap: 1.6rem;
    margin-top: 2.4rem;
  }

  .header-padding {
    padding-top: 6.4rem;
  }

  .header-logo {
    width: 7.1rem;
    height: 4rem;
  }

  .footer-bot {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 0.8rem;
  }
}

@media (hover: hover) and (pointer: fine) {
  button:hover,
  a:hover {
    opacity: 0.6;
  }

  .menu-list a:hover {
    opacity: 1;
    color: var(--d-red);
  }

  .footer-bot a:hover {
    opacity: 1;
    color: var(--red);
  }
}