/*! HTML5 Boilerplate v9.0.1 | MIT License | https://html5boilerplate.com/ */
/* main.css 3.0.0 | MIT License | https://github.com/h5bp/main.css#readme */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */
/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */
html {
  color: #222;
  font-size: 1em;
  line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Customize the background color to match your design.
 */
::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */
textarea {
  resize: vertical;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */
/* ==========================================================================
   Helper classes
   ========================================================================== */
/*
 * Hide visually and from screen readers
 */
.hidden,
[hidden] {
  display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */
.visually-hidden {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* 1 */
}

/*
 * Extends the .visually-hidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */
.visually-hidden.focusable:active,
.visually-hidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */
.invisible {
  visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * The use of `table` rather than `block` is only necessary if using
 * `::before` to contain the top-margins of child elements.
 */
.clearfix::before,
.clearfix::after {
  content: "";
  display: table;
}

.clearfix::after {
  clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */
@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}
@media print, (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 1.25dppx), (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}
/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */
@media print {
  *,
  *::before,
  *::after {
    background: #fff !important;
    color: #000 !important;
    /* Black prints faster */
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]::after {
    content: " (" attr(href) ")";
  }
  abbr[title]::after {
    content: " (" attr(title) ")";
  }
  /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */
  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: "";
  }
  pre {
    white-space: pre-wrap !important;
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}
/**
 * Swiper 12.2.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2026 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: May 27, 2026
 */
:root {
  --swiper-theme-color:#007aff;
}

:host {
  display: block;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
}

.swiper {
  display: block;
  list-style: none;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  padding: 0;
  position: relative;
  z-index: 1;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  box-sizing: initial;
  display: flex;
  height: 100%;
  position: relative;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  width: 100%;
  z-index: 1;
}

.swiper-android .swiper-slide, .swiper-ios .swiper-slide, .swiper-wrapper {
  transform: translateZ(0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  display: block;
  flex-shrink: 0;
  height: 100%;
  position: relative;
  transition-property: transform;
  width: 100%;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
  .swiper-cube-shadow, .swiper-slide {
    transform-style: preserve-3d;
  }
}

.swiper-css-mode {
  > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    &::-webkit-scrollbar {
      display: none;
    }
  }
  > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
  }
  &.swiper-horizontal {
    > .swiper-wrapper {
      scroll-snap-type: x mandatory;
    }
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-inline-start: var(--swiper-slides-offset-before);
      scroll-margin-inline-start: var(--swiper-slides-offset-before);
    }
    > .swiper-wrapper > .swiper-slide:last-child {
      margin-inline-end: var(--swiper-slides-offset-after);
    }
  }
  &.swiper-vertical {
    > .swiper-wrapper {
      scroll-snap-type: y mandatory;
    }
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-block-start: var(--swiper-slides-offset-before);
      scroll-margin-block-start: var(--swiper-slides-offset-before);
    }
    > .swiper-wrapper > .swiper-slide:last-child {
      margin-block-end: var(--swiper-slides-offset-after);
    }
  }
  &.swiper-free-mode {
    > .swiper-wrapper {
      scroll-snap-type: none;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: none;
    }
  }
  &.swiper-centered {
    > .swiper-wrapper:before {
      content: "";
      flex-shrink: 0;
      order: 9999;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: center center;
      scroll-snap-stop: always;
    }
  }
  &.swiper-centered.swiper-horizontal {
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-inline-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper:before {
      height: 100%;
      min-height: 1px;
      width: var(--swiper-centered-offset-after);
    }
  }
  &.swiper-centered.swiper-vertical {
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-block-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper:before {
      height: var(--swiper-centered-offset-after);
      min-width: 1px;
      width: 100%;
    }
  }
}

.swiper-3d {
  .swiper-slide-shadow, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left, .swiper-slide-shadow-right, .swiper-slide-shadow-top {
    height: 100%;
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 10;
  }
  .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.1490196078);
  }
  .swiper-slide-shadow-left {
    background-image: linear-gradient(270deg, rgba(0, 0, 0, 0.5019607843), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-right {
    background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.5019607843), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-top {
    background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.5019607843), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-bottom {
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5019607843), rgba(0, 0, 0, 0));
  }
}

.swiper-lazy-preloader {
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top: 4px solid rgba(0, 0, 0, 0);
  box-sizing: border-box;
  height: 42px;
  left: 50%;
  margin-left: -21px;
  margin-top: -21px;
  position: absolute;
  top: 50%;
  transform-origin: 50%;
  width: 42px;
  z-index: 10;
}

.swiper-watch-progress .swiper-slide-visible, .swiper:not(.swiper-watch-progress) {
  .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s linear infinite;
  }
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color:#fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color:#000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(1turn);
  }
}
@font-face {
  font-family: Roboto;
  src: url("./Roboto.woff2");
  font-display: swap;
}
html, body {
  background: #18191b;
  color: #fff;
  font-size: 22px;
  font-family: Roboto;
  font-weight: 400;
  line-height: 140%;
  letter-spacing: -1%;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
}

* {
  box-sizing: border-box;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3 {
  margin-top: 0;
  line-height: 100%;
  font-weight: 600;
}

h1,
h2 {
  font-size: 36px;
}

a {
  color: #c3c3c3;
  text-decoration: none;
}
a:hover {
  border-bottom: solid 1px rgba(255, 255, 255, 0.25);
}

::selection {
  background: #aaa;
  text-shadow: none;
}

::placeholder {
  color: #999;
  font-weight: normal;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #6c757d;
  margin: 20px 0;
  padding: 0;
}

audio, canvas, iframe, img, svg, video {
  vertical-align: middle;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

textarea {
  resize: vertical;
}

.pseudo {
  border: 0;
  border-bottom: dotted 1px #000;
}
.pseudo:hover {
  border-bottom: 0;
}

.std-btn {
  display: block;
  cursor: pointer;
  color: #fff;
  font-size: 16px;
  line-height: 20px;
  border: solid 1px #56585c;
  background: #2c2b2b;
  padding: 16px 30px;
  text-decoration: none;
  text-align: center;
}

.fade-in-1 {
  animation: fadeIn ease 1s;
}

.fade-out-1 {
  animation: fadeOut ease 1s;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.lite-gray {
  background: #2c2b2b;
}

.container {
  width: 1640px;
  margin: 0 auto;
}

body {
  display: flex;
  flex-direction: column;
  align-content: center;
}

main {
  padding: 40px 0;
}
main section {
  padding: 60px 0;
}

footer .base-wrapper {
  display: flex;
  padding-top: 32px;
  border-top: solid 1px #6c757d;
}
footer .base-wrapper > .contacts {
  background: transparent url(./logo.svg) no-repeat scroll left top;
  padding-right: 20px;
}
footer .base-wrapper .contacts {
  flex: 0 0 395px;
  display: flex;
  flex-direction: column;
  justify-content: end;
}
footer .base-wrapper .contacts dd {
  margin: 6px 0 16px;
}
footer .base-wrapper .links {
  flex-grow: 1;
  font-size: 20px;
  line-height: 100%;
}
footer .base-wrapper .footer-menu,
footer .base-wrapper .services-menu {
  margin-bottom: 60px;
}
footer .base-wrapper .footer-menu .title,
footer .base-wrapper .services-menu .title {
  font-size: 14px;
}
footer .base-wrapper .footer-menu ul,
footer .base-wrapper .services-menu ul {
  list-style: none;
  margin: 10px 0 10px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 50px;
}
footer .base-wrapper .misc {
  display: flex;
  justify-content: space-between;
}
footer .base-wrapper .misc .contacts {
  display: flex;
  flex-basis: auto;
}
footer .addit-wrapper {
  display: flex;
  justify-content: center;
  gap: 60px;
  margin: 60px 0;
  font-size: 14px;
}

.contacts dt {
  font-size: 14px;
  font-weight: 300;
  line-height: 100%;
}
.contacts dd {
  font-size: 18px;
  font-weight: 600;
  line-height: 100%;
  margin-left: 0;
}

.social-links {
  display: flex;
  gap: 16px;
  margin: 0 16px;
}
.social-links .circle {
  display: block;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  flex-shrink: 0;
}
.social-links .vk {
  background: transparent url("data:image/svg+xml,%3csvg%20width='24'%20height='15'%20viewBox='0%200%2024%2015'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M12.9892%2014.8839C4.83817%2014.8839%200.190667%209.30692%200%200.0119169H4.09933C4.23042%206.82825%207.23342%209.71208%209.61675%2010.3079V0.0119169H13.4658V5.88683C15.8134%205.63658%2018.2921%202.95533%2019.1263%200H22.9634C22.6505%201.52982%2022.0255%202.97869%2021.1275%204.25607C20.2294%205.53346%2019.0776%206.61192%2017.7439%207.42408C19.2322%208.16485%2020.5466%209.21272%2021.6003%2010.4986C22.6541%2011.7844%2023.4233%2013.2791%2023.8572%2014.8839H19.6268C18.7211%2012.0597%2016.4569%209.867%2013.4658%209.56908V14.8839H13.0011H12.9892Z'%20fill='white'/%3e%3c/svg%3e") no-repeat scroll center center;
  background-color: #333;
}
.social-links .mail {
  background: transparent url("data:image/svg+xml,%3csvg%20width='21'%20height='17'%20viewBox='0%200%2021%2017'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1.88533%2016.3333C1.34789%2016.3333%200.8995%2016.1537%200.540167%2015.7943C0.180833%2015.435%200.000777778%2014.9862%200%2014.448V1.88533C0%201.34789%200.180056%200.8995%200.540167%200.540166C0.900278%200.180833%201.34828%200.000777778%201.88417%200H19.1158C19.6525%200%2020.1005%200.180055%2020.4598%200.540166C20.8192%200.900278%2020.9992%201.34867%2021%201.88533V14.4492C21%2014.9858%2020.8199%2015.4342%2020.4598%2015.7943C20.0997%2016.1544%2019.6517%2016.3341%2019.1158%2016.3333H1.88533ZM10.5%208.302L19.8333%202.19917L19.474%201.16667L10.5%207L1.526%201.16667L1.16667%202.19917L10.5%208.302Z'%20fill='white'/%3e%3c/svg%3e") no-repeat scroll center center;
  background-color: #333;
}
.social-links .tg {
  background: transparent url("data:image/svg+xml,%3csvg%20width='26'%20height='22'%20viewBox='0%200%2026%2022'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1.78736%209.27598C8.76667%206.23521%2013.4206%204.23054%2015.7493%203.26199C22.3979%200.496568%2023.7795%200.0161854%2024.68%200.000153783C24.878%20-0.00316587%2025.3208%200.0459164%2025.6077%200.27867C25.8499%200.475202%2025.9165%200.74069%2025.9484%200.927024C25.9803%201.11336%2026.02%201.53783%2025.9884%201.8695C25.6281%205.65515%2024.0692%2014.8419%2023.276%2019.0819C22.9404%2020.876%2022.2796%2021.4776%2021.6399%2021.5364C20.2496%2021.6644%2019.1938%2020.6176%2017.8473%2019.7349C15.7401%2018.3537%2014.5498%2017.4939%2012.5044%2016.146C10.1407%2014.5883%2011.673%2013.7322%2013.0201%2012.3331C13.3726%2011.9669%2019.4983%206.39512%2019.6169%205.88967C19.6317%205.82646%2019.6455%205.59082%2019.5055%205.4664C19.3655%205.34197%2019.1589%205.38452%2019.0098%205.41836C18.7985%205.46633%2015.4323%207.69124%208.91132%2012.0931C7.95585%2012.7492%207.09041%2013.0689%206.31501%2013.0521C5.46019%2013.0336%203.81586%2012.5688%202.59347%2012.1714C1.09416%2011.6841%20-0.0974648%2011.4264%200.00629874%2010.5987C0.0603452%2010.1676%200.654034%209.72667%201.78736%209.27598Z'%20fill='white'/%3e%3c/svg%3e") no-repeat scroll center center;
  background-color: #333;
}

.std-btn.contacts-btn {
  width: 395px;
  border-radius: 60px;
}
.std-btn.contacts-btn::after {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 6px solid #fff;
  margin-left: 14px;
}

.close-btn {
  cursor: pointer;
  font-size: 32px;
}

section .grid {
  list-style: none;
  margin: 32px 0 0;
  padding: 0;
  display: grid;
  grid-auto-rows: 356px;
  gap: 23px;
}
section .grid li {
  cursor: pointer;
  position: relative;
  overflow: hidden;
  background-color: #2c2b2b;
  border-radius: 0;
  transition: border-radius 0.5s ease;
  will-change: border-radius;
}
section .grid li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to bottom, rgb(0, 0, 0) 0%, transparent 20%);
  z-index: 1;
  pointer-events: none;
}
section .grid li::after {
  content: "";
  position: absolute;
  right: 32px;
  bottom: 30px;
  z-index: 2;
  background: transparent url("data:image/svg+xml,%3csvg%20width='64'%20height='64'%20viewBox='0%200%2064%2064'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M44.8101%2033.3394H14.3168C13.9428%2033.3394%2013.6294%2033.2133%2013.3766%2032.9611C13.1238%2032.7088%2012.9983%2032.3939%2013%2032.0165C13.0018%2031.639%2013.1273%2031.3241%2013.3766%2031.0718C13.6259%2030.8196%2013.9393%2030.6935%2014.3168%2030.6935H44.8101L30.4865%2016.3047C30.2284%2016.0472%2030.0941%2015.7429%2030.0836%2015.3918C30.073%2015.0408%2030.2117%2014.7206%2030.4996%2014.4314C30.7893%2014.1491%2031.1001%2014.0054%2031.4319%2014.0001C31.7637%2013.9965%2032.0745%2014.1403%2032.3642%2014.4314L48.3759%2030.5188C48.6059%2030.7517%2048.7674%2030.9881%2048.8604%2031.228C48.9535%2031.4696%2049%2031.7325%2049%2032.0165C49%2032.3005%2048.9535%2032.5633%2048.8604%2032.805C48.7691%2033.0466%2048.6085%2033.283%2048.3785%2033.5141L32.3642%2049.6015C32.1184%2049.8485%2031.819%2049.9808%2031.4661%2049.9984C31.1115%2050.0161%2030.7893%2049.8838%2030.4996%2049.6015C30.21%2049.3105%2030.0651%2048.9965%2030.0651%2048.6596C30.0651%2048.3209%2030.21%2048.006%2030.4996%2047.715L44.8101%2033.3394Z'%20fill='white'/%3e%3c/svg%3e") no-repeat scroll center center;
  width: 36px;
  height: 36px;
  opacity: 0;
  transform: translateX(-400px);
  transition: opacity 0.1s ease, transform 0.75s ease;
  will-change: transform, opacity;
}
section .grid li .label {
  position: relative;
  padding: 16px;
  z-index: 3;
  color: #c3c3c3;
  transition: color 0.5s ease;
}
section .grid li:hover {
  border-radius: 30px;
}
section .grid li:hover .label {
  color: #fff;
}
section .grid li:hover::after {
  opacity: 1;
  transform: translateX(0);
}

section.about .steps,
section.about .howto {
  list-style: none;
  margin: 32px 0;
}
section.about .steps {
  display: flex;
  padding: 0;
  font-size: 26px;
  font-stretch: condensed;
}
section.about .steps li {
  margin-right: 32px;
}
section.about .steps li::before {
  display: inline-block;
  vertical-align: middle;
  content: "";
  background: transparent url("data:image/svg+xml,%3csvg%20width='64'%20height='64'%20viewBox='0%200%2064%2064'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M44.8101%2033.3394H14.3168C13.9428%2033.3394%2013.6294%2033.2133%2013.3766%2032.9611C13.1238%2032.7088%2012.9983%2032.3939%2013%2032.0165C13.0018%2031.639%2013.1273%2031.3241%2013.3766%2031.0718C13.6259%2030.8196%2013.9393%2030.6935%2014.3168%2030.6935H44.8101L30.4865%2016.3047C30.2284%2016.0472%2030.0941%2015.7429%2030.0836%2015.3918C30.073%2015.0408%2030.2117%2014.7206%2030.4996%2014.4314C30.7893%2014.1491%2031.1001%2014.0054%2031.4319%2014.0001C31.7637%2013.9965%2032.0745%2014.1403%2032.3642%2014.4314L48.3759%2030.5188C48.6059%2030.7517%2048.7674%2030.9881%2048.8604%2031.228C48.9535%2031.4696%2049%2031.7325%2049%2032.0165C49%2032.3005%2048.9535%2032.5633%2048.8604%2032.805C48.7691%2033.0466%2048.6085%2033.283%2048.3785%2033.5141L32.3642%2049.6015C32.1184%2049.8485%2031.819%2049.9808%2031.4661%2049.9984C31.1115%2050.0161%2030.7893%2049.8838%2030.4996%2049.6015C30.21%2049.3105%2030.0651%2048.9965%2030.0651%2048.6596C30.0651%2048.3209%2030.21%2048.006%2030.4996%2047.715L44.8101%2033.3394Z'%20fill='white'/%3e%3c/svg%3e") no-repeat scroll -10px center;
  background-size: 48px;
  width: 58px;
  height: 26px;
}
section.about .card {
  display: flex;
}
section.about .caption {
  padding: 32px;
}
section.about .figure {
  flex: 0 0 600px;
  height: 600px;
  background: transparent url(./personal.png) no-repeat scroll center center;
  background-size: cover;
}
section.about .desc {
  font-stretch: condensed;
  font-size: 28px;
  border-bottom: solid 1px #6c757d;
  padding-bottom: 32px;
}
section.about .howto {
  padding: 0;
}
section.about .howto li {
  text-indent: 28px;
  background: transparent url("data:image/svg+xml,%3csvg%20width='22'%20height='22'%20viewBox='0%200%2022%2022'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='0.5'%20y='0.5'%20width='21'%20height='21'%20stroke='%23DDDDDD'%20class='checkbox-box'/%3e%3cpath%20d='M18.5001%206.83333L8.50008%2016.8333L3.91675%2012.25L5.09175%2011.075L8.50008%2014.475L17.3251%205.65833L18.5001%206.83333Z'%20fill='%23DDDDDD'%20class='checkbox-check'/%3e%3c/svg%3e") no-repeat scroll left 4px;
  background-size: 22px;
}
section.about .btn-container {
  margin: 60px 0;
}
section.about .btn-container .std-btn {
  width: 100%;
}
section.about .btn-container .std-btn::after {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 6px solid #fff;
  margin-left: 14px;
}

section.services ul {
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(4, 356px);
}
section.services ul li:nth-child(1) {
  background: transparent url(./service-01.png) no-repeat scroll center center;
  background-size: cover;
}
section.services ul li:nth-child(2) {
  background: transparent url(./service-02.png) no-repeat scroll center center;
  background-size: cover;
}
section.services ul li:nth-child(3) {
  background: transparent url(./service-03.jpg) no-repeat scroll center center;
  background-size: cover;
}
section.services ul li:nth-child(4) {
  background: transparent url(./service-04.png) no-repeat scroll center center;
  background-size: cover;
}
section.services ul li:nth-child(5) {
  grid-column: 2/span 2;
  background: transparent url(./service-05.png) no-repeat scroll center center;
  background-size: cover;
  background-position: center;
}
section.services ul li:nth-child(6) {
  grid-column: 1/span 3;
  background: transparent url(./service-06.png) no-repeat scroll center center;
  background-size: cover;
  background-position: 50% -875px;
}
section.services ul li:nth-child(7) {
  grid-column: 1/span 2;
  background: transparent url(./service-07.png) no-repeat scroll center center;
  background-size: cover;
  background-position: 50% -175px;
}
section.services ul li:nth-child(8) {
  background: transparent url(./service-08.png) no-repeat scroll center center;
  background-size: cover;
}

section.projects ul {
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 356px);
}
section.projects ul li:nth-child(1) {
  background: transparent url(./project-01.png) no-repeat scroll center center;
  background-size: cover;
}
section.projects ul li:nth-child(2) {
  grid-column: 2/span 2;
  background: transparent url(./project-02.png) no-repeat scroll center center;
  background-size: cover;
}
section.projects ul li:nth-child(3) {
  grid-column: 1/span 2;
  background: transparent url(./project-03.jpg) no-repeat scroll center center;
  background-size: cover;
}
section.projects ul li:nth-child(4) {
  background: transparent url(./project-04.png) no-repeat scroll center center;
  background-size: cover;
}

section.partners ul {
  list-style: none;
  margin: 32px 0 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 100px;
}

section.options ul {
  list-style: none;
  margin: 32px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
}
section.options ul li {
  flex: 0 0 calc((100% - 64px) / 3);
  padding: 110px 32px 64px;
  border: solid 1px #515151;
  background-size: 40px 40px;
}
section.options ul li:nth-child(1) {
  background: transparent url("data:image/svg+xml,%3csvg%20width='36'%20height='36'%20viewBox='0%200%2036%2036'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M0%202.625H16.875V8.25H20.625V2.625H24.375V8.25H28.125V6H31.875V8.25H36V12H31.875V16.125H36V33.375H0V2.625ZM28.125%2016.125V12H24.375V16.125H28.125ZM16.875%2012H20.625V16.125H16.875V12ZM3.75%2029.625V12H13.125V19.875H32.25V29.625H3.75Z'%20fill='white'/%3e%3c/svg%3e") no-repeat scroll 32px 32px;
  background-color: #000;
}
section.options ul li:nth-child(2) {
  background: transparent url("data:image/svg+xml,%3csvg%20width='45'%20height='45'%20viewBox='0%200%2045%2045'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M9.24586%2045H26.4423C30.1074%2045%2031.8431%2043.1405%2031.8431%2039.4393V36.1631H35.2968C38.9451%2036.1631%2040.7692%2034.3037%2040.7692%2030.6024V5.56071C40.7692%201.85946%2038.9451%200%2035.2968%200H18.1888C14.5406%200%2012.6996%201.85946%2012.6996%205.56071V8.83687H9.24586C5.59765%208.83687%203.75586%2010.6963%203.75586%2014.3976V39.4393C3.75586%2043.1582%205.59765%2045%209.24586%2045ZM22.422%206.25179C21.6426%206.25179%2021.289%205.7375%2021.289%205.20714V4.83429C21.289%204.28545%2021.6426%203.78964%2022.422%203.78964H31.0644C31.8254%203.78964%2032.1975%204.28545%2032.1975%204.83429V5.20634C32.1975%205.7383%2031.8254%206.25098%2031.0644%206.25098L22.422%206.25179ZM9.38809%2042.1489C7.56398%2042.1489%206.60773%2041.1573%206.60773%2039.3862V14.4321C6.60773%2012.6964%207.56398%2011.6879%209.40497%2011.6879H15.5507V21.9592C15.5507%2024.1907%2016.6837%2025.2884%2018.8799%2025.2884H28.992V39.3854C28.992%2041.1565%2028.0358%2042.1481%2026.194%2042.1481L9.38809%2042.1489ZM19.2158%2022.6149C18.5086%2022.6149%2018.225%2022.3321%2018.225%2021.641V12.2384L28.4432%2022.6157L19.2158%2022.6149Z'%20fill='white'/%3e%3c/svg%3e") no-repeat scroll 32px 32px;
  background-color: #515151;
}
section.options ul li:nth-child(3) {
  background: transparent url("data:image/svg+xml,%3csvg%20width='39'%20height='39'%20viewBox='0%200%2039%2039'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M34.8867%207.99805H14.3203C13.6462%207.99805%2013.1016%208.54268%2013.1016%209.2168V18.2051H4.11328C3.43916%2018.2051%202.89453%2018.7497%202.89453%2019.4238V29.7832C2.89453%2030.4573%203.43916%2031.002%204.11328%2031.002H24.6797C25.3538%2031.002%2025.8984%2030.4573%2025.8984%2029.7832V20.7949H34.8867C35.5608%2020.7949%2036.1055%2020.2503%2036.1055%2019.5762V9.2168C36.1055%208.54268%2035.5608%207.99805%2034.8867%207.99805ZM23.3086%2028.4121H15.6914V20.7949H23.3086V28.4121ZM33.5156%2018.2051H25.8984V10.5879H33.5156V18.2051Z'%20fill='white'/%3e%3c/svg%3e") no-repeat scroll 32px 32px;
  background-color: #18191b;
}
section.options ul li:nth-child(4) {
  background: transparent url("data:image/svg+xml,%3csvg%20width='32'%20height='36'%20viewBox='0%200%2032%2036'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M2.08356%202.1096C-2.11928e-07%204.2174%200%207.6122%200%2014.4V21.6C0%2028.3878%20-2.11928e-07%2031.7826%202.08356%2033.8904C4.16711%2035.9982%207.51822%2036%2014.2222%2036H17.7778C24.4818%2036%2027.8347%2036%2029.9164%2033.8904C31.9982%2031.7808%2032%2028.3878%2032%2021.6V14.4C32%207.6122%2032%204.2174%2029.9164%202.1096C27.8329%200.00179987%2024.4818%200%2017.7778%200H14.2222C7.51822%200%204.16533%20-2.14577e-07%202.08356%202.1096ZM8.88889%2013.05C8.53527%2013.05%208.19613%2013.1922%207.94608%2013.4454C7.69603%2013.6986%207.55556%2014.042%207.55556%2014.4C7.55556%2014.758%207.69603%2015.1014%207.94608%2015.3546C8.19613%2015.6078%208.53527%2015.75%208.88889%2015.75H23.1111C23.4647%2015.75%2023.8039%2015.6078%2024.0539%2015.3546C24.304%2015.1014%2024.4444%2014.758%2024.4444%2014.4C24.4444%2014.042%2024.304%2013.6986%2024.0539%2013.4454C23.8039%2013.1922%2023.4647%2013.05%2023.1111%2013.05H8.88889ZM8.88889%2020.25C8.53527%2020.25%208.19613%2020.3922%207.94608%2020.6454C7.69603%2020.8986%207.55556%2021.242%207.55556%2021.6C7.55556%2021.958%207.69603%2022.3014%207.94608%2022.5546C8.19613%2022.8078%208.53527%2022.95%208.88889%2022.95H17.7778C18.1314%2022.95%2018.4705%2022.8078%2018.7206%2022.5546C18.9706%2022.3014%2019.1111%2021.958%2019.1111%2021.6C19.1111%2021.242%2018.9706%2020.8986%2018.7206%2020.6454C18.4705%2020.3922%2018.1314%2020.25%2017.7778%2020.25H8.88889Z'%20fill='white'/%3e%3c/svg%3e") no-repeat scroll 32px 32px;
  background-color: #18191b;
}
section.options ul li:nth-child(5) {
  background: transparent url("data:image/svg+xml,%3csvg%20width='41'%20height='41'%20viewBox='0%200%2041%2041'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M37.6006%209.65104C37.5084%209.47161%2037.375%209.3165%2037.2115%209.19835C37.0479%209.0802%2036.8588%209.00234%2036.6594%208.97112C36.4601%208.9399%2036.2562%208.9562%2036.0643%209.01869C35.8725%209.08118%2035.6981%209.1881%2035.5554%209.33073L30.6354%2014.2539C30.3939%2014.492%2030.0684%2014.6254%2029.7293%2014.6254C29.3902%2014.6254%2029.0648%2014.492%2028.8233%2014.2539L26.6964%2012.1239C26.5774%2012.0049%2026.483%2011.8636%2026.4186%2011.7082C26.3542%2011.5527%2026.321%2011.3861%2026.321%2011.2178C26.321%2011.0495%2026.3542%2010.8829%2026.4186%2010.7274C26.483%2010.5719%2026.5774%2010.4307%2026.6964%2010.3117L31.5956%205.41171C31.7424%205.26486%2031.8514%205.08451%2031.9131%204.8862C31.9748%204.68788%2031.9873%204.47755%2031.9496%204.2733C31.912%204.06906%2031.8252%203.87704%2031.6969%203.71377C31.5685%203.5505%2031.4024%203.42088%2031.2128%203.33608C27.5124%201.68167%2022.8935%202.54491%2019.981%205.43573C17.5066%207.89253%2016.7691%2011.7315%2017.9591%2015.9684C18.0232%2016.1944%2018.0236%2016.4336%2017.9601%2016.6598C17.8967%2016.8859%2017.7718%2017.0901%2017.5995%2017.2497L4.2681%2029.4255C3.74874%2029.8918%203.32983%2030.4591%203.03691%2031.0926C2.74399%2031.7261%202.58321%2032.4127%202.56437%2033.1104C2.54553%2033.8081%202.66903%2034.5024%202.92733%2035.1508C3.18564%2035.7992%203.57333%2036.3882%204.06676%2036.8819C4.5602%2037.3755%205.14902%2037.7635%205.79733%2038.0221C6.44563%2038.2806%207.13982%2038.4045%207.83755%2038.3859C8.53527%2038.3674%209.22191%2038.2069%209.85558%2037.9143C10.4892%2037.6216%2011.0566%2037.203%2011.5232%2036.6838L23.8296%2023.3228C23.9869%2023.1527%2024.1876%2023.0287%2024.4101%2022.9642C24.6326%2022.8997%2024.8685%2022.8972%2025.0924%2022.9568C26.2987%2023.2873%2027.5429%2023.4588%2028.7936%2023.4669C31.4682%2023.4669%2033.8153%2022.6013%2035.5082%2020.9333C38.6432%2017.8446%2039.1213%2012.6059%2037.6006%209.65104ZM7.96691%2035.807C7.43951%2035.8645%206.90725%2035.757%206.44358%2035.4992C5.97991%2035.2414%205.60769%2034.846%205.37829%2034.3676C5.14889%2033.8892%205.07362%2033.3515%205.16287%2032.8285C5.25213%2032.3055%205.5015%2031.8232%205.87657%2031.448C6.25165%2031.0727%206.73393%2030.8232%207.25686%2030.7338C7.7798%2030.6443%208.3176%2030.7194%208.79605%2030.9486C9.2745%2031.1779%209.67001%2031.5499%209.92799%2032.0135C10.186%2032.4771%2010.2937%2033.0093%2010.2363%2033.5368C10.1732%2034.1171%209.91382%2034.6584%209.50113%2035.0712C9.08845%2035.4841%208.54719%2035.7436%207.96691%2035.807Z'%20fill='white'/%3e%3c/svg%3e") no-repeat scroll 32px 32px;
  background-color: #2c2b2b;
}
section.options ul li:nth-child(6) {
  background: transparent url("data:image/svg+xml,%3csvg%20width='32'%20height='41'%20viewBox='0%200%2032%2041'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M14.1818%200C14.2783%200%2014.3704%200.0388819%2014.4386%200.107533C14.5068%200.176185%2014.5455%200.268983%2014.5455%200.366071V13.1786C14.5455%2014.3436%2015.0044%2015.4618%2015.8227%2016.2856C16.6411%2017.1094%2017.7518%2017.5714%2018.9091%2017.5714H31.6364C31.7328%2017.5714%2031.825%2017.6103%2031.8932%2017.679C31.9614%2017.7476%2032%2017.8404%2032%2017.9375V35.1429C32%2036.6963%2031.3866%2038.1856%2030.2955%2039.284C29.2043%2040.3825%2027.7249%2041%2026.1818%2041H5.81818C4.2751%2041%202.79567%2040.3825%201.70455%2039.284C0.613425%2038.1856%200%2036.6963%200%2035.1429V5.85714C0%204.30373%200.613425%202.81439%201.70455%201.71596C2.79567%200.617533%204.2751%200%205.81818%200H14.1818ZM18.0545%201.6519L31.1295%2014.485C31.1546%2014.5099%2031.1726%2014.5422%2031.1795%2014.5765C31.1862%2014.6107%2031.1817%2014.6473%2031.1682%2014.6795C31.1544%2014.7116%2031.1318%2014.7401%2031.1023%2014.7595C31.0725%2014.7792%2031.0358%2014.7891%2031%2014.7893H19.2C18.8142%2014.7893%2018.4432%2014.6383%2018.1705%2014.3706C17.8981%2014.103%2017.7456%2013.7398%2017.7455%2013.3616V1.77773C17.7457%201.74269%2017.7574%201.70845%2017.7773%201.67935C17.7971%201.65051%2017.8241%201.6264%2017.8568%201.613C17.8899%201.59956%2017.9285%201.59703%2017.9636%201.60385C17.9981%201.61074%2018.0295%201.6277%2018.0545%201.6519Z'%20fill='white'/%3e%3c/svg%3e") no-repeat scroll 32px 32px;
  background-color: #000;
}
section.options ul li:nth-child(7) {
  background: transparent url("data:image/svg+xml,%3csvg%20width='30'%20height='35'%20viewBox='35%202%2030%2035'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M48.5%2021.5H51.5V26H56V18.5H59L50%2011L41%2018.5H44V26H48.5V21.5ZM50%203.5L63.5%209.5V18.5C63.5%2026.825%2057.74%2034.61%2050%2036.5C42.26%2034.61%2036.5%2026.825%2036.5%2018.5V9.5L50%203.5Z'%20fill='white'/%3e%3c/svg%3e") no-repeat scroll 32px 32px;
  background-color: #064d78;
}
section.options ul li:nth-child(8) {
  background: transparent url("data:image/svg+xml,%3csvg%20width='32'%20height='45'%20viewBox='0%200%2032%2045'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.28571%2045H29.7143C30.9714%2045%2032%2043.9875%2032%2042.75V4.5C32%202.025%2029.9429%200%2027.4286%200H4.57143C2.05714%200%200%202.025%200%204.5V42.75C0%2043.9875%201.02857%2045%202.28571%2045ZM18.2857%209H22.8571V13.5H18.2857V9ZM18.2857%2018H22.8571V22.5H18.2857V18ZM18.2857%2027H22.8571V31.5H18.2857V27ZM9.14286%209H13.7143V13.5H9.14286V9ZM9.14286%2018H13.7143V22.5H9.14286V18ZM9.14286%2027H13.7143V31.5H9.14286V27Z'%20fill='white'/%3e%3c/svg%3e") no-repeat scroll 32px 32px;
  background-color: #18191b;
}
section.options ul li:nth-child(9) {
  background: transparent url("data:image/svg+xml,%3csvg%20width='37'%20height='37'%20viewBox='0%200%2037%2037'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_338_3054)'%3e%3cpath%20d='M9.33151%2034.7739V24.7923L0.0878906%2029.819L9.33151%2034.7739ZM19.1862%200.161568C18.8043%20-0.053856%2018.1931%20-0.053856%2017.8112%200.161568L8.26198%205.33188L26.6728%2015.3134V35.3484L36.2219%2030.1781C36.6039%2029.9628%2036.9095%2029.46%2036.9095%2029.0292V9.78403L19.1862%200.161568ZM8.64391%2010.7176L0.0878906%2015.3134L13.3803%2022.5662V37L21.9364%2032.4042C22.3183%2032.1888%2022.6239%2031.6861%2022.6239%2031.2552V17.5396L10.019%2010.7177C9.6371%2010.5023%209.02592%2010.5023%208.64399%2010.7177'%20fill='white'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_338_3054'%3e%3crect%20width='37'%20height='37'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e") no-repeat scroll 32px 32px;
  background-color: #32566c;
}
section.options ul li .title {
  font-stretch: condensed;
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 32px;
}
section.options ul li .desc {
  font-size: 16px;
  line-height: 140%;
}
section.options ul li .desc p {
  margin: 0 0 8px;
}
section.options ul li .desc p:last-child {
  margin-bottom: 0;
}

section.contacts {
  display: flex;
  gap: 18px;
}
section.contacts > * {
  display: flex;
}
section.contacts .map-wrapper {
  max-height: 605px;
  align-items: center;
  overflow: hidden;
  flex: 0 0 1087px;
  filter: grayscale(100%);
  transition: filter 0.3s ease;
}
section.contacts .map-wrapper:hover {
  filter: grayscale(0%);
}
section.contacts .map-wrapper img {
  width: 100%;
  height: auto;
}
section.contacts .request-form-wrapper {
  flex-direction: column;
  flex-grow: 1;
  background: #2c2b2b;
  padding: 32px;
}
section.contacts .request-form-wrapper .title {
  font-size: 28px;
  font-stretch: condensed;
  margin-bottom: 32px;
}
section.contacts .request-form-wrapper .control {
  margin-bottom: 16px;
}
section.contacts .request-form-wrapper .control input[type=text],
section.contacts .request-form-wrapper .control input[type=email],
section.contacts .request-form-wrapper .control input[type=tel],
section.contacts .request-form-wrapper .control textarea {
  width: 100%;
  background: #515151;
  border: none;
  border-radius: 25px;
  padding: 12px 12px 12px 16px;
  color: #fff;
  font-size: 18px;
}
section.contacts .request-form-wrapper .control input[type=text]::placeholder,
section.contacts .request-form-wrapper .control input[type=email]::placeholder,
section.contacts .request-form-wrapper .control input[type=tel]::placeholder,
section.contacts .request-form-wrapper .control textarea::placeholder {
  color: #aaa;
  font-size: 18px;
  font-weight: 400;
}
section.contacts .request-form-wrapper .control textarea {
  height: 190px;
}
section.contacts .request-form-wrapper .control label {
  font-size: 13px;
  font-weight: 300;
  line-height: 140%;
  display: inline-block;
}
section.contacts .request-form-wrapper .control:last-child {
  margin-top: auto;
}
section.contacts .request-form-wrapper .privacy input[type=checkbox] {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  white-space: nowrap;
  clip-path: inset(100%);
  clip: rect(0 0 0 0);
  overflow: hidden;
}
section.contacts .request-form-wrapper .privacy input[type=checkbox] + svg {
  width: 14px;
  height: 14px;
  margin-right: 10px;
}
section.contacts .request-form-wrapper .privacy input[type=checkbox] + svg .checkbox-check {
  opacity: 0;
}
section.contacts .request-form-wrapper .privacy input[type=checkbox]:checked + svg .checkbox-check {
  opacity: 1;
}
section.contacts .request-form-wrapper .form-status {
  margin-top: 12px;
  font-size: 14px;
  color: #aaa;
  min-height: 20px;
}
section.contacts .request-form-wrapper .std-btn {
  width: 100%;
  border-radius: 60px;
  background: #3d3d3d;
  padding: 12px;
}
section.contacts .request-form-wrapper .std-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
section.contacts .request-form-wrapper .std-btn::after {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 6px solid #fff;
  margin-left: 14px;
}

#main-menu {
  position: fixed;
  z-index: 50;
  top: 0;
  right: 0;
  bottom: 0;
  width: 50%;
  background: #fff;
  color: #18191b;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 32px;
  transition: transform 0.3s ease-in-out;
  transform: translateX(100%);
}
#main-menu a {
  color: #18191b;
}
#main-menu a:hover {
  border-bottom-color: #18191b;
}
#main-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 20px;
}
#main-menu .contacts {
  margin-bottom: 40px;
}
#main-menu .social-links {
  margin: 0;
}
#main-menu .std-btn {
  color: #fff;
}
#main-menu .close-btn {
  position: absolute;
  top: 32px;
  right: 32px;
}

header {
  width: 100%;
  height: 100vh;
  min-height: 100%;
  position: relative;
}
header .swiper {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100vh;
  z-index: 1;
}
header .swiper .swiper-slide {
  position: relative;
  width: 100%;
  height: 100%;
}
header .swiper .swiper-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.3) 35%, transparent 65%);
  z-index: 1;
  pointer-events: none;
}
header .swiper .swiper-slide video {
  pointer-events: none;
}
header .swiper .swiper-slide .slogan {
  position: absolute;
  left: calc((100vw - 1640px) / 2);
  bottom: 80px;
  font-size: 36px;
  font-weight: 400;
  font-stretch: condensed;
  width: 100%;
  max-width: 450px;
  z-index: 2;
}
header .swiper video,
header .swiper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
header .swiper .swiper-pagination {
  position: absolute;
  bottom: 24px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  gap: 8px;
  z-index: 4;
}
header .swiper .swiper-pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: background 0.3s;
}
header .swiper .swiper-pagination .swiper-pagination-bullet-active {
  background: #fff;
}
header .logo,
header .main-menu {
  position: absolute;
  top: 0;
  width: calc(423px + (100vw - 1640px) / 2);
  height: 124px;
}
header .logo:hover,
header .main-menu:hover {
  border: none;
}
header .logo {
  left: 0;
  z-index: 3;
  background: transparent url(./logo.svg) no-repeat scroll center center;
  background-position-x: calc((100vw - 1640px) / 2);
  background-color: rgba(0, 0, 0, 0.8);
  background-size: 143px;
}
header .main-menu {
  right: 0;
  z-index: 5;
  background-color: rgba(0, 0, 0, 0.8);
  display: flex;
  justify-content: end;
  align-items: center;
  gap: 45px;
}
header .main-menu .burger,
header .main-menu .search {
  width: 20px;
  height: 20px;
  cursor: pointer;
}
header .main-menu .burger {
  background: transparent url("data:image/svg+xml,%3csvg%20width='52'%20height='52'%20viewBox='0%200%2052%2052'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M12.9023%2020.2852H39.0977C39.3529%2020.2852%2039.5671%2020.1986%2039.7402%2020.0254C39.9134%2019.8522%2040%2019.638%2040%2019.3828C40%2019.1458%2039.9134%2018.9362%2039.7402%2018.7539C39.5671%2018.5716%2039.3529%2018.4805%2039.0977%2018.4805H12.9023C12.6471%2018.4805%2012.4329%2018.5716%2012.2598%2018.7539C12.0866%2018.9362%2012%2019.1458%2012%2019.3828C12%2019.638%2012.0866%2019.8522%2012.2598%2020.0254C12.4329%2020.1986%2012.6471%2020.2852%2012.9023%2020.2852ZM39.0977%2025.4531H12.9023C12.6471%2025.4531%2012.4329%2025.5397%2012.2598%2025.7129C12.0866%2025.8861%2012%2026.1003%2012%2026.3555C12%2026.5924%2012.0866%2026.8021%2012.2598%2026.9844C12.4329%2027.1667%2012.6471%2027.2578%2012.9023%2027.2578H39.0977C39.3529%2027.2578%2039.5671%2027.1667%2039.7402%2026.9844C39.9134%2026.8021%2040%2026.5924%2040%2026.3555C40%2026.1003%2039.9134%2025.8861%2039.7402%2025.7129C39.5671%2025.5397%2039.3529%2025.4531%2039.0977%2025.4531ZM39.0977%2032.4258H12.9023C12.6471%2032.4258%2012.4329%2032.5124%2012.2598%2032.6855C12.0866%2032.8587%2012%2033.0638%2012%2033.3008C12%2033.556%2012.0866%2033.7702%2012.2598%2033.9434C12.4329%2034.1165%2012.6471%2034.2031%2012.9023%2034.2031H39.0977C39.3529%2034.2031%2039.5671%2034.1165%2039.7402%2033.9434C39.9134%2033.7702%2040%2033.556%2040%2033.3008C40%2033.0638%2039.9134%2032.8587%2039.7402%2032.6855C39.5671%2032.5124%2039.3529%2032.4258%2039.0977%2032.4258Z'%20fill='white'/%3e%3c/svg%3e") no-repeat scroll center center;
}
header .main-menu .search {
  background: transparent url("data:image/svg+xml,%3csvg%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M13.6074%2020.4727C14.4115%2020.4727%2015.1753%2020.3366%2015.8989%2020.0645C16.6226%2019.7923%2017.2689%2019.415%2017.8379%2018.9326L22.9961%2024.0908C23.0579%2024.1527%2023.126%2024.196%2023.2002%2024.2207C23.2744%2024.2454%2023.3486%2024.2578%2023.4229%2024.2578C23.5094%2024.2578%2023.5868%2024.2454%2023.6548%2024.2207C23.7228%2024.196%2023.7878%2024.1527%2023.8496%2024.0908C23.9733%2023.9671%2024.0352%2023.8218%2024.0352%2023.6548C24.0352%2023.4878%2023.9733%2023.3486%2023.8496%2023.2373L18.6914%2018.0791C19.1738%2017.5101%2019.5542%2016.8607%2019.8325%2016.1309C20.1108%2015.401%2020.25%2014.6341%2020.25%2013.8301C20.25%2012.9147%2020.0706%2012.055%2019.7119%2011.251C19.3656%2010.4469%2018.8924%209.74495%2018.2925%209.14502C17.6925%208.54508%2016.9906%208.07194%2016.1865%207.72559C15.3825%207.36686%2014.5228%207.1875%2013.6074%207.1875C12.6921%207.1875%2011.8324%207.36686%2011.0283%207.72559C10.2119%208.07194%209.50374%208.54508%208.90381%209.14502C8.30387%209.74495%207.83073%2010.4469%207.48438%2011.251C7.13802%2012.0674%206.96484%2012.9271%206.96484%2013.8301C6.96484%2014.7578%207.13802%2015.6237%207.48438%2016.4277C7.83073%2017.2318%208.30387%2017.9338%208.90381%2018.5337C9.50374%2019.1336%2010.2119%2019.6068%2011.0283%2019.9531C11.8324%2020.2995%2012.6921%2020.4727%2013.6074%2020.4727ZM13.6074%208.39355C14.3496%208.39355%2015.0547%208.54199%2015.7227%208.83887C16.3783%209.12337%2016.9535%209.50993%2017.4482%209.99854C17.943%2010.4871%2018.3327%2011.0654%2018.6172%2011.7334C18.9017%2012.389%2019.0439%2013.0879%2019.0439%2013.8301C19.0439%2014.5846%2018.9017%2015.2897%2018.6172%2015.9453C18.3327%2016.6133%2017.943%2017.1916%2017.4482%2017.6802C16.9535%2018.1688%2016.3783%2018.5553%2015.7227%2018.8398C15.0547%2019.1243%2014.3496%2019.2666%2013.6074%2019.2666C12.8529%2019.2666%2012.1478%2019.1243%2011.4922%2018.8398C10.8242%2018.5553%2010.2459%2018.1657%209.75732%2017.6709C9.26872%2017.1761%208.88216%2016.6009%208.59766%2015.9453C8.31315%2015.2897%208.1709%2014.5846%208.1709%2013.8301C8.1709%2013.0879%208.31315%2012.389%208.59766%2011.7334C8.88216%2011.0654%209.27181%2010.4871%209.7666%209.99854C10.2614%209.50993%2010.8366%209.12337%2011.4922%208.83887C12.1478%208.54199%2012.8529%208.39355%2013.6074%208.39355Z'%20fill='white'/%3e%3c/svg%3e") no-repeat scroll center center;
}

@media screen and (min-width: 1640px) {
  header .main-menu .burger {
    margin-right: calc((100vw - 1640px) / 2);
  }
}
@media screen and (max-width: 1750px) {
  .container {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }
  header .swiper .swiper-slide .slogan {
    left: 20px;
    min-width: 450px;
  }
  header .logo {
    width: 200px;
    background-position-x: 20px;
  }
  header .main-menu {
    width: auto;
    padding: 0 20px 0 40px;
  }
  section.options ul li {
    flex-basis: calc(33% - 20px);
  }
  section.options ul li:nth-child(n) {
    background-position-x: 20px;
  }
  section.contacts .map-wrapper {
    max-width: 66%;
  }
}
@media screen and (max-width: 1500px) {
  section.about .figure {
    max-width: 33%;
  }
  section.services ul li:nth-child(5) {
    background-position: 50% 70%;
  }
  section.services ul li:nth-child(6) {
    background-position: 50% -600px;
  }
  section.services ul li:nth-child(7) {
    background-position: 50% -175px;
  }
  section.partners ul {
    flex-wrap: wrap;
  }
  section.contacts .request-form-wrapper .control textarea {
    height: auto;
  }
  footer .base-wrapper .footer-menu ul,
  footer .base-wrapper .services-menu ul {
    gap: 20px;
  }
}
@media screen and (max-width: 1300px) {
  section.services ul li:nth-child(5) {
    background-position: 50% 70%;
  }
  section.contacts .request-form-wrapper {
    padding: 20px;
  }
  section.contacts .request-form-wrapper .control {
    margin-bottom: 5px;
  }
  .std-btn.contacts-btn {
    width: auto;
  }
  footer .base-wrapper .contacts {
    flex-basis: 33%;
  }
}
@media screen and (max-width: 1150px) {
  .social-links {
    margin: 0;
  }
  section.about .steps {
    display: block;
  }
  section.about .steps li {
    margin-right: 20px;
    margin-bottom: 20px;
  }
  section.about .caption {
    padding: 20px;
  }
  section.services ul li:nth-child(5) {
    background-position: 50% 50%;
  }
  footer .base-wrapper .misc {
    display: block;
  }
}
@media screen and (max-width: 900px) {
  main section {
    padding: 30px 0;
  }
  section .grid {
    display: block;
  }
  section .grid li {
    height: 356px;
    margin-bottom: 20px;
  }
  header .logo,
  header .main-menu {
    width: 50%;
    height: 84px;
  }
  header .swiper .swiper-slide .slogan {
    font-size: 24px;
    width: calc(100vw - 40px);
    min-width: calc(100vw - 40px);
    right: 20px;
    bottom: 60px;
  }
  #main-menu {
    width: 100%;
  }
  #main-menu ul {
    font-size: 32px;
    line-height: 140%;
  }
  section.about .steps li {
    margin-right: 20px;
  }
  section.about .steps li::before {
    width: 36px;
  }
  section.about .card {
    display: block;
  }
  section.about .figure {
    width: 100%;
    max-width: none;
  }
  section.services ul li:nth-child(6), section.services ul li:nth-child(7) {
    background-position-y: 50%;
  }
  section.options ul {
    display: block;
  }
  section.options ul li {
    margin-bottom: 20px;
    padding: 100px 20px 34px;
  }
  section.contacts {
    display: block;
  }
  section.contacts .map-wrapper {
    width: 100%;
    max-width: none;
  }
  footer .base-wrapper {
    display: block;
  }
  footer .base-wrapper > .contacts {
    background-position-x: 50%;
    padding-right: 0;
    padding-top: 100px;
  }
  footer .base-wrapper .contacts {
    width: 100%;
  }
  footer .base-wrapper .contacts,
  footer .base-wrapper .footer-menu,
  footer .base-wrapper .services-menu {
    margin-bottom: 40px;
  }
  footer .base-wrapper .misc {
    display: block;
  }
  footer .addit-wrapper {
    margin: 40px 0;
  }
}
@media screen and (max-width: 500px) {
  header .logo {
    background-position-x: 5px;
  }
  header .swiper .swiper-slide .slogan {
    width: calc(100vw - 20px);
    min-width: calc(100vw - 20px);
  }
  footer .addit-wrapper {
    display: block;
    text-align: center;
  }
  section.about .caption {
    padding: 10px;
  }
  section.about .desc {
    padding-bottom: 20px;
  }
  section.about .steps {
    font-size: 20px;
  }
  section.about .steps li {
    margin-right: 20px;
    margin-bottom: 10px;
  }
  section.about .steps li::before {
    background-size: 40px;
  }
  section.about .howto {
    margin: 20px 0;
  }
  section.about .howto,
  section.about p {
    font-size: 18px;
    line-height: 140%;
  }
  section.about .howto li {
    background-position-y: 6px;
    background-size: 16px;
  }
  .social-links {
    flex-wrap: wrap;
    justify-content: center;
  }
  .social-links .contacts-btn {
    width: 100%;
  }
}
.hidden {
  display: none !important;
}

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}

.invisible {
  visibility: hidden;
}

.clearfix:before {
  content: " ";
  display: table;
}
.clearfix:after {
  content: " ";
  display: table;
  clear: both;
}

@media print {
  * {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  *:before, *:after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a {
    text-decoration: underline;
  }
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^="#"]:after, a[href^="javascript:"]:after {
    content: "";
  }
  pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr {
    page-break-inside: avoid;
  }
  img {
    page-break-inside: avoid;
    max-width: 100% !important;
  }
  p, h2, h3 {
    orphans: 3;
    widows: 3;
  }
  h2, h3 {
    page-break-after: avoid;
  }
}