/*
Theme Name: GSI
*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

body.compensate-for-scrollbar {
  overflow: hidden;
}

.fancybox-active {
  height: auto;
}

.fancybox-is-hidden {
  left: -9999px;
  margin: 0;
  position: absolute !important;
  top: -9999px;
  visibility: hidden;
}

.fancybox-container {
  -webkit-backface-visibility: hidden;
  height: 100%;
  left: 0;
  outline: none;
  position: fixed;
  -webkit-tap-highlight-color: transparent;
  top: 0;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  transform: translateZ(0);
  width: 100%;
  z-index: 99992;
}

.fancybox-container * {
  box-sizing: border-box;
}

.fancybox-bg,
.fancybox-inner,
.fancybox-outer,
.fancybox-stage {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.fancybox-outer {
  -webkit-overflow-scrolling: touch;
  overflow-y: auto;
}

.fancybox-bg {
  background: #1e1e1e;
  opacity: 0;
  transition-duration: inherit;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71);
}

.fancybox-is-open .fancybox-bg {
  opacity: 0.9;
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
}

.fancybox-caption,
.fancybox-infobar,
.fancybox-navigation .fancybox-button,
.fancybox-toolbar {
  direction: ltr;
  opacity: 0;
  position: absolute;
  transition: opacity 0.25s ease, visibility 0s ease 0.25s;
  visibility: hidden;
  z-index: 99997;
}

.fancybox-show-caption .fancybox-caption,
.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-nav .fancybox-navigation .fancybox-button,
.fancybox-show-toolbar .fancybox-toolbar {
  opacity: 1;
  transition: opacity 0.25s ease 0s, visibility 0s ease 0s;
  visibility: visible;
}

.fancybox-infobar {
  color: #ccc;
  font-size: 13px;
  -webkit-font-smoothing: subpixel-antialiased;
  height: 44px;
  left: 0;
  line-height: 44px;
  min-width: 44px;
  mix-blend-mode: difference;
  padding: 0 10px;
  pointer-events: none;
  top: 0;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.fancybox-toolbar {
  right: 0;
  top: 0;
}

.fancybox-stage {
  direction: ltr;
  overflow: visible;
  transform: translateZ(0);
  z-index: 99994;
}

.fancybox-is-open .fancybox-stage {
  overflow: hidden;
}

.fancybox-slide {
  -webkit-backface-visibility: hidden;
  display: none;
  height: 100%;
  left: 0;
  outline: none;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 44px;
  position: absolute;
  text-align: center;
  top: 0;
  transition-property: transform, opacity;
  white-space: normal;
  width: 100%;
  z-index: 99994;
}

.fancybox-slide:before {
  content: "";
  display: inline-block;
  font-size: 0;
  height: 100%;
  vertical-align: middle;
  width: 0;
}

.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--current,
.fancybox-slide--next,
.fancybox-slide--previous {
  display: block;
}

.fancybox-slide--image {
  overflow: hidden;
  padding: 44px 0;
}

.fancybox-slide--image:before {
  display: none;
}

.fancybox-slide--html {
  padding: 6px;
}

.fancybox-content {
  background: #fff;
  display: inline-block;
  margin: 0;
  max-width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 44px;
  position: relative;
  text-align: left;
  vertical-align: middle;
}

.fancybox-slide--image .fancybox-content {
  animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
  -webkit-backface-visibility: hidden;
  background: transparent;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  left: 0;
  max-width: none;
  overflow: visible;
  padding: 0;
  position: absolute;
  top: 0;
  transform-origin: top left;
  transition-property: transform, opacity;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  z-index: 99995;
}

.fancybox-can-zoomOut .fancybox-content {
  cursor: zoom-out;
}

.fancybox-can-zoomIn .fancybox-content {
  cursor: zoom-in;
}

.fancybox-can-pan .fancybox-content,
.fancybox-can-swipe .fancybox-content {
  cursor: grab;
}

.fancybox-is-grabbing .fancybox-content {
  cursor: grabbing;
}

.fancybox-container [data-selectable=true] {
  cursor: text;
}

.fancybox-image,
.fancybox-spaceball {
  background: transparent;
  border: 0;
  height: 100%;
  left: 0;
  margin: 0;
  max-height: none;
  max-width: none;
  padding: 0;
  position: absolute;
  top: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 100%;
}

.fancybox-spaceball {
  z-index: 1;
}

.fancybox-slide--iframe .fancybox-content,
.fancybox-slide--map .fancybox-content,
.fancybox-slide--pdf .fancybox-content,
.fancybox-slide--video .fancybox-content {
  height: 100%;
  overflow: visible;
  padding: 0;
  width: 100%;
}

.fancybox-slide--video .fancybox-content {
  background: #000;
}

.fancybox-slide--map .fancybox-content {
  background: #e5e3df;
}

.fancybox-slide--iframe .fancybox-content {
  background: #fff;
}

.fancybox-iframe,
.fancybox-video {
  background: transparent;
  border: 0;
  display: block;
  height: 100%;
  margin: 0;
  overflow: hidden;
  padding: 0;
  width: 100%;
}

.fancybox-iframe {
  left: 0;
  position: absolute;
  top: 0;
}

.fancybox-error {
  background: #fff;
  cursor: default;
  max-width: 400px;
  padding: 40px;
  width: 100%;
}

.fancybox-error p {
  color: #444;
  font-size: 16px;
  line-height: 20px;
  margin: 0;
  padding: 0;
}

.fancybox-button {
  background: rgba(30, 30, 30, 0.6);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  display: inline-block;
  height: 44px;
  margin: 0;
  padding: 10px;
  position: relative;
  transition: color 0.2s;
  vertical-align: top;
  visibility: inherit;
  width: 44px;
}

.fancybox-button,
.fancybox-button:link,
.fancybox-button:visited {
  color: #ccc;
}

.fancybox-button:hover {
  color: #fff;
}

.fancybox-button:focus {
  outline: none;
}

.fancybox-button.fancybox-focus {
  outline: 1px dotted;
}

.fancybox-button[disabled],
.fancybox-button[disabled]:hover {
  color: #888;
  cursor: default;
  outline: none;
}

.fancybox-button div {
  height: 100%;
}

.fancybox-button svg {
  display: block;
  height: 100%;
  overflow: visible;
  position: relative;
  width: 100%;
}

.fancybox-button svg path {
  fill: currentColor;
  stroke-width: 0;
}

.fancybox-button--fsenter svg:nth-child(2),
.fancybox-button--fsexit svg:first-child,
.fancybox-button--pause svg:first-child,
.fancybox-button--play svg:nth-child(2) {
  display: none;
}

.fancybox-progress {
  background: #ff5268;
  height: 2px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  transform: scaleX(0);
  transform-origin: 0;
  transition-property: transform;
  transition-timing-function: linear;
  z-index: 99998;
}

.fancybox-close-small {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: #ccc;
  cursor: pointer;
  opacity: 0.8;
  padding: 8px;
  position: absolute;
  right: -12px;
  top: -44px;
  z-index: 401;
}

.fancybox-close-small:hover {
  color: #fff;
  opacity: 1;
}

.fancybox-slide--html .fancybox-close-small {
  color: currentColor;
  padding: 10px;
  right: 0;
  top: 0;
}

.fancybox-slide--image.fancybox-is-scaling .fancybox-content {
  overflow: hidden;
}

.fancybox-is-scaling .fancybox-close-small,
.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {
  display: none;
}

.fancybox-navigation .fancybox-button {
  background-clip: content-box;
  height: 100px;
  opacity: 0;
  position: absolute;
  top: calc(50% - 50px);
  width: 70px;
}

.fancybox-navigation .fancybox-button div {
  padding: 7px;
}

.fancybox-navigation .fancybox-button--arrow_left {
  left: 0;
  left: env(safe-area-inset-left);
  padding: 31px 26px 31px 6px;
}

.fancybox-navigation .fancybox-button--arrow_right {
  padding: 31px 6px 31px 26px;
  right: 0;
  right: env(safe-area-inset-right);
}

.fancybox-caption {
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.85) 0, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.15) 65%, rgba(0, 0, 0, 0.075) 75.5%, rgba(0, 0, 0, 0.037) 82.85%, rgba(0, 0, 0, 0.019) 88%, transparent);
  bottom: 0;
  color: #eee;
  font-size: 14px;
  font-weight: 400;
  left: 0;
  line-height: 1.5;
  padding: 75px 44px 25px;
  pointer-events: none;
  right: 0;
  text-align: center;
  z-index: 99996;
}

@supports (padding: max(0px)) {
  .fancybox-caption {
    padding: 75px max(44px, env(safe-area-inset-right)) max(25px, env(safe-area-inset-bottom)) max(44px, env(safe-area-inset-left));
  }
}

.fancybox-caption--separate {
  margin-top: -50px;
}

.fancybox-caption__body {
  max-height: 50vh;
  overflow: auto;
  pointer-events: all;
}

.fancybox-caption a,
.fancybox-caption a:link,
.fancybox-caption a:visited {
  color: #ccc;
  text-decoration: none;
}

.fancybox-caption a:hover {
  color: #fff;
  text-decoration: underline;
}

.fancybox-loading {
  animation: a 1s linear infinite;
  background: transparent;
  border: 4px solid #888;
  border-bottom-color: #fff;
  border-radius: 50%;
  height: 50px;
  left: 50%;
  margin: -25px 0 0 -25px;
  opacity: 0.7;
  padding: 0;
  position: absolute;
  top: 50%;
  width: 50px;
  z-index: 99999;
}

@keyframes a {
  to {
    transform: rotate(1turn);
  }
}

.fancybox-animated {
  transition-timing-function: cubic-bezier(0, 0, 0.25, 1);
}

.fancybox-fx-slide.fancybox-slide--previous {
  opacity: 0;
  transform: translate3d(-100%, 0, 0);
}

.fancybox-fx-slide.fancybox-slide--next {
  opacity: 0;
  transform: translate3d(100%, 0, 0);
}

.fancybox-fx-slide.fancybox-slide--current {
  opacity: 1;
  transform: translateZ(0);
}

.fancybox-fx-fade.fancybox-slide--next,
.fancybox-fx-fade.fancybox-slide--previous {
  opacity: 0;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.fancybox-fx-fade.fancybox-slide--current {
  opacity: 1;
}

.fancybox-fx-zoom-in-out.fancybox-slide--previous {
  opacity: 0;
  transform: scale3d(1.5, 1.5, 1.5);
}

.fancybox-fx-zoom-in-out.fancybox-slide--next {
  opacity: 0;
  transform: scale3d(0.5, 0.5, 0.5);
}

.fancybox-fx-zoom-in-out.fancybox-slide--current {
  opacity: 1;
  transform: scaleX(1);
}

.fancybox-fx-rotate.fancybox-slide--previous {
  opacity: 0;
  transform: rotate(-1turn);
}

.fancybox-fx-rotate.fancybox-slide--next {
  opacity: 0;
  transform: rotate(1turn);
}

.fancybox-fx-rotate.fancybox-slide--current {
  opacity: 1;
  transform: rotate(0deg);
}

.fancybox-fx-circular.fancybox-slide--previous {
  opacity: 0;
  transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
}

.fancybox-fx-circular.fancybox-slide--next {
  opacity: 0;
  transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
}

.fancybox-fx-circular.fancybox-slide--current {
  opacity: 1;
  transform: scaleX(1) translateZ(0);
}

.fancybox-fx-tube.fancybox-slide--previous {
  transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
}

.fancybox-fx-tube.fancybox-slide--next {
  transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
}

.fancybox-fx-tube.fancybox-slide--current {
  transform: translateZ(0) scale(1);
}

.fancybox-share {
  background: #f4f4f4;
  border-radius: 3px;
  max-width: 90%;
  padding: 30px;
  text-align: center;
}

.fancybox-share h1 {
  color: #222;
  font-size: 35px;
  font-weight: 700;
  margin: 0 0 20px;
}

.fancybox-share p {
  margin: 0;
  padding: 0;
}

.fancybox-share__button {
  border: 0;
  border-radius: 3px;
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  line-height: 40px;
  margin: 0 5px 10px;
  min-width: 130px;
  padding: 0 15px;
  text-decoration: none;
  transition: all 0.2s;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  white-space: nowrap;
}

.fancybox-share__button:link,
.fancybox-share__button:visited {
  color: #fff;
}

.fancybox-share__button:hover {
  text-decoration: none;
}

.fancybox-share__button--fb {
  background: #3b5998;
}

.fancybox-share__button--fb:hover {
  background: #344e86;
}

.fancybox-share__button--pt {
  background: #bd081d;
}

.fancybox-share__button--pt:hover {
  background: #aa0719;
}

.fancybox-share__button--tw {
  background: #1da1f2;
}

.fancybox-share__button--tw:hover {
  background: #0d95e8;
}

.fancybox-share__button svg {
  height: 25px;
  margin-right: 7px;
  position: relative;
  top: -1px;
  vertical-align: middle;
  width: 25px;
}

.fancybox-share__button svg path {
  fill: #fff;
}

.fancybox-share__input {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #d7d7d7;
  border-radius: 0;
  color: #5d5b5b;
  font-size: 14px;
  margin: 10px 0 0;
  outline: none;
  padding: 10px 15px;
  width: 100%;
}

.fancybox-thumbs {
  background: #ddd;
  bottom: 0;
  display: none;
  margin: 0;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  padding: 2px 2px 4px;
  position: absolute;
  right: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  top: 0;
  width: 212px;
  z-index: 99995;
}

.fancybox-thumbs-x {
  overflow-x: auto;
  overflow-y: hidden;
}

.fancybox-show-thumbs .fancybox-thumbs {
  display: block;
}

.fancybox-show-thumbs .fancybox-inner {
  right: 212px;
}

.fancybox-thumbs__list {
  font-size: 0;
  height: 100%;
  list-style: none;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0;
  position: absolute;
  position: relative;
  white-space: nowrap;
  width: 100%;
}

.fancybox-thumbs-x .fancybox-thumbs__list {
  overflow: hidden;
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar {
  width: 7px;
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track {
  background: #fff;
  border-radius: 10px;
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb {
  background: #2a2a2a;
  border-radius: 10px;
}

.fancybox-thumbs__list a {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background-color: rgba(0, 0, 0, 0.1);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  cursor: pointer;
  float: left;
  height: 75px;
  margin: 2px;
  max-height: calc(100% - 8px);
  max-width: calc(50% - 4px);
  outline: none;
  overflow: hidden;
  padding: 0;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  width: 100px;
}

.fancybox-thumbs__list a:before {
  border: 6px solid #ff5268;
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: 99991;
}

.fancybox-thumbs__list a:focus:before {
  opacity: 0.5;
}

.fancybox-thumbs__list a.fancybox-thumbs-active:before {
  opacity: 1;
}

:root {
  --font: "Montserrat", sans-serif;
  --base: #222222;
  --white: #FFFFFF;
  --blue: #2bc2be;
  --blue2: #3a526a;
  --gray: #656565;
  --gray2: #888888;
}

* {
  box-sizing: border-box;
  text-decoration: none;
  word-break: break-word;
}

*:hover,
*:focus {
  outline: 0;
}

body {
  background: var(--white);
  font: 400 14px/1.35 var(--font);
  color: var(--base);
}

body::-webkit-scrollbar {
  width: 10px;
  height: 0;
  background: var(--white);
}

body::-webkit-scrollbar-thumb {
  width: 10px;
  background: var(--blue2);
  border-radius: 10px;
}

body.hidden {
  overflow: hidden;
}

@supports not selector(::-webkit-scrollbar) {
  body {
    scrollbar-width: thin;
    scrollbar-color: var(--blue2) var(--white);
  }
}

#app {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.wrapper {
  width: 100%;
  max-width: 1200px;
  padding: 0 15px;
  margin: 0 auto;
}

.overflowH {
  overflow: hidden;
}

a {
  color: var(--blue);
  transition: 0.25s;
}

a:hover {
  color: var(--blue2);
}

button {
  border: none;
  background: none;
  margin: 0;
  padding: 0;
  font: 500 14px/1.2 var(--font);
  color: var(--blue);
  cursor: pointer;
  transition: 0.25s;
}

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

svg {
  transition: 0.25s;
}

strong {
  font-weight: 600;
}

h1,
.h1 {
  font: 600 48px/1.1 var(--font);
}

h2,
.h2 {
  font: 600 36px/1.2 var(--font);
}

.h2-mob {
  font: 600 36px/1.2 var(--font);
}

h3,
.h3 {
  font: 600 24px/1.2 var(--font);
}

h4,
.h4 {
  font: 500 20px/1.2 var(--font);
}

h5,
.h5 {
  font: 500 18px/1.2 var(--font);
}

h6,
.h6 {
  font: 500 16px/1.2 var(--font);
}

.textGray {
  color: var(--gray);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  max-width: 100%;
  min-height: 40px;
  background: var(--blue);
  border-radius: 5px;
  border: none;
  padding: 4px 24px;
  font: 500 14px/1.2 var(--font);
  color: var(--white);
  cursor: pointer;
  transition: 0.25s;
}

.btn__text {
  max-width: 100%;
}

.btn__icon {
  flex-shrink: 0;
  margin-left: 10px;
  width: 24px;
  height: 24px;
}

.btn__icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: var(--white);
}

.btn:hover {
  background: var(--blue2);
  color: var(--white);
}

.btn_full {
  width: 100%;
}

.btn_sm {
  min-height: 36px;
  padding-left: 16px;
  padding-right: 16px;
}

.btn_md {
  min-height: 48px;
  padding: 8px 40px;
  font-size: 16px;
}

.btn_lg {
  min-height: 56px;
  padding: 8px 48px;
  font-size: 18px;
}

.btn_border {
  background: transparent;
  border: 1px solid var(--blue);
  color: var(--blue);
}

.btn_border .btn__icon svg {
  stroke: var(--blue);
}

.btn_border:hover {
  background: var(--blue2);
  border-color: var(--blue2);
  color: var(--white);
}

.btn_border:hover .btn__icon svg {
  stroke: var(--white);
}

.btn_borderW {
  background: transparent;
  border: 1px solid var(--white);
  color: var(--white);
}

.btn_borderW .btn__icon svg {
  stroke: var(--white);
}

.btn_borderW:hover {
  background: var(--white);
  border-color: var(--white);
  color: var(--blue2);
}

.btn_borderW:hover .btn__icon svg {
  stroke: var(--blue2);
}

.swiper-button-disabled {
  pointer-events: none;
  cursor: default;
  opacity: 0.5;
}

.arrow {
  width: 40px;
  height: 40px;
  background: var(--blue);
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  cursor: pointer;
  transition: 0.25s;
}

.arrow svg {
  width: 24px;
  height: 24px;
  fill: var(--white);
}

.arrow:hover {
  background: var(--blue2);
}

input {
  width: 100%;
  height: 50px;
  background: var(--white);
  border: 1px solid var(--gray2);
  border-radius: 5px;
  padding: 0 15px;
  font: 400 16px/1.2 var(--font);
  color: var(--base);
  transition: 0.15s;
}

input::placeholder {
  font: 400 16px/1.2 var(--font);
  color: var(--gray2);
}

input:hover {
  border-color: var(--gray);
}

input:focus {
  border-color: var(--blue);
}

input[type=number] {
  -moz-appearance: textfield;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

textarea {
  width: 100%;
  min-height: 120px;
  background: var(--white);
  border: 1px solid var(--gray2);
  border-radius: 5px;
  padding: 12px 15px;
  font: 400 16px/1.2 var(--font);
  color: var(--base);
  resize: vertical;
  transition: 0.15s;
}

textarea::placeholder {
  font: 400 16px/1.2 var(--font);
  color: var(--gray2);
}

textarea:hover {
  border-color: var(--gray);
}

textarea:focus {
  border-color: var(--blue);
}

.radio__input {
  display: none;
}

.radio__text {
  display: block;
  position: relative;
  padding-left: 28px;
  font: 500 16px/1.25 var(--font);
  cursor: pointer;
}

.radio__text::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 16px;
  height: 16px;
  border: 2px solid var(--blue);
  border-radius: 50%;
}

.radio__text::after {
  display: none;
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  width: 10px;
  height: 10px;
  background: var(--blue);
  border-radius: 50%;
}

.radio__input:checked + .radio__text::after {
  display: block;
}

.formFileButton__input {
  display: none;
}

.formFileButton.hidden {
  display: none;
}

.formFileResult {
  display: none;
}

.formFileResult.active {
  display: flex;
  align-items: center;
}

.formFileResult__file {
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.formFileResult__close {
  flex-shrink: 0;
  width: 24px;
  display: flex;
  align-items: center;
  margin-left: 8px;
  transition: 0.25s;
}

.formFileResult__close svg {
  fill: var(--base);
}

.formFileResult__close:hover {
  transform: rotate(-90deg);
}

.formFileResult__close:hover svg {
  fill: #FF0000;
}

.social {
  display: flex;
  align-items: center;
}

.social__item {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  margin-right: 4px;
}

.social__item:last-child {
  margin-right: 0;
}

.social__item img {
  width: 20px;
}

.social__item:hover {
  background: var(--blue);
}

.textBlock {
  font-size: 16px;
  line-height: 1.5;
}

.textBlock h1,
.textBlock h2,
.textBlock h3,
.textBlock h4,
.textBlock h5,
.textBlock h6 {
  margin-top: 40px;
  margin-bottom: 20px;
}

.textBlock h1:last-child,
.textBlock h2:last-child,
.textBlock h3:last-child,
.textBlock h4:last-child,
.textBlock h5:last-child,
.textBlock h6:last-child {
  margin-bottom: 0;
}

.textBlock h1:first-child,
.textBlock h2:first-child,
.textBlock h3:first-child,
.textBlock h4:first-child,
.textBlock h5:first-child,
.textBlock h6:first-child {
  margin-top: 0;
}

.textBlock strong {
  color: var(--base);
}

.textBlock p {
  margin-bottom: 16px;
}

.textBlock p:last-child {
  margin-bottom: 0;
}

.textBlock a {
  color: var(--blue);
  text-decoration: underline;
}

.textBlock a:hover {
  color: var(--blue2);
}

.textBlock ul {
  margin-bottom: 16px;
}

.textBlock ul:last-child {
  margin-bottom: 0;
}

.textBlock ul li {
  display: block;
  position: relative;
  padding-left: 20px;
  margin-bottom: 4px;
}

.textBlock ul li:last-child {
  margin-bottom: 0;
}

.textBlock ul li::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 8px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--base);
}

.textBlock ol {
  list-style-type: decimal;
  margin-left: 20px;
  margin-bottom: 16px;
}

.textBlock ol:last-child {
  margin-bottom: 0;
}

.textBlock ol li {
  margin-bottom: 4px;
}

.textBlock ol li:last-child {
  margin-bottom: 0;
}

.textBlock_sm {
  font-size: 14px;
}

.textBlock_sm p {
  margin-bottom: 8px;
}

.textBlock_sm ul {
  margin-bottom: 8px;
}

.textBlock_sm ul li {
  margin-bottom: 2px;
}

.textBlock_sm ul li::before {
  top: 9px;
}

.textBlock_sm ol {
  margin-bottom: 8px;
}

.textBlock_sm ol li {
  margin-bottom: 2px;
}

.overlay {
  display: none;
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}

.modal {
  display: none;
  position: fixed;
  z-index: 100;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 520px;
  max-width: calc(100% - 20px);
  max-height: calc(100% - 20px);
  background: var(--white);
  border-radius: 10px;
  padding: 40px;
  padding-top: 60px;
  overflow: auto;
  -ms-overflow-style: none;
  overflow-y: scroll;
  scrollbar-width: none;
}

.modal::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.modal_md {
  width: 700px;
}

.modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 40px;
  height: 40px;
  background: var(--blue);
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.modal__close svg {
  width: 20px;
  height: 20px;
  fill: var(--white);
}

.modal__close:hover {
  background: var(--blue2);
}

.modal__head {
  margin-bottom: 32px;
}

.modal__head:last-child {
  margin-bottom: 0;
}

.modal__title {
  font-size: 30px;
  margin-bottom: 16px;
}

.modal__title:last-child {
  margin-bottom: 0;
}

.modal__inputs {
  display: grid;
  grid-column-gap: 12px;
  grid-row-gap: 16px;
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 24px;
}

.modal__inputs .formFile {
  grid-column: span 2;
}

.modal__input {
  grid-column: span 2;
}

.modal__input.half {
  grid-column: unset;
}

.modal__captcha {
  display: flex;
  justify-content: center;
  margin-bottom: 12px;
}

.modal__btn {
  display: flex;
  justify-content: center;
}

.modal__agreement {
  text-align: center;
  font-size: 12px;
  color: var(--gray);
  margin-top: 12px;
}

.searchOverlay {
  display: none;
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}

.searchModal {
  display: none;
  position: fixed;
  z-index: 100;
  top: 12px;
  left: 50%;
  transform: translate(-50%, 0);
  width: 1170px;
  max-width: calc(100% - 24px);
  max-height: calc(100% - 24px);
  background: var(--white);
  border-radius: 5px;
  padding: 24px;
  overflow: auto;
  -ms-overflow-style: none;
  overflow-y: scroll;
  scrollbar-width: none;
}

.searchModal::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.searchModal__results {
  display: none;
  padding-top: 12px;
}

.searchModal__results.active {
  display: block;
}

.searchModal__result {
  min-height: 40px;
  border-top: 1px solid var(--gray2);
  padding: 8px 0;
  display: flex;
  align-items: center;
  font-weight: 500;
  color: var(--base);
}

.searchModal__result:first-child {
  border-top: none;
}

.searchModal__result:hover {
  color: var(--blue);
}

.searchForm {
  display: flex;
  align-items: center;
}

.searchForm__input {
  width: 100%;
}

.searchForm__close {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  background: var(--blue);
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 16px;
}

.searchForm__close svg {
  width: 24px;
  height: 24px;
  fill: var(--white);
}

.mobMenu {
  display: none;
  position: fixed;
  z-index: 52;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--white);
  overflow: auto;
  -ms-overflow-style: none;
  overflow-y: scroll;
  scrollbar-width: none;
}

.mobMenu::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.mobMenu__close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 40px;
  height: 40px;
  background: var(--blue);
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mobMenu__close svg {
  width: 20px;
  height: 20px;
  fill: var(--white);
}

.mobMenu__inner {
  min-height: 100%;
  padding: 24px 15px;
  padding-top: 48px;
  display: flex;
  flex-direction: column;
}

.mobMenu__bottom {
  margin: auto;
  margin-bottom: 0;
  width: 100%;
}

.mobileMenuServices {
  margin-bottom: 40px;
}

.mobileMenuServices__item {
  display: block;
  padding: 10px 0;
  padding-left: 16px;
  font: 500 16px/1.2 var(--font);
  color: var(--base);
  position: relative;
}

.mobileMenuServices__item::before {
  content: "";
  position: absolute;
  top: 14px;
  left: 0;
  border: 5px solid transparent;
  border-left-color: var(--base);
}

.mobileMenuServices__item:hover {
  color: var(--blue);
}

.mobileMenuServices__item:hover::before {
  border-left-color: var(--blue);
}

.mobileMenuServices__more {
  margin-top: 8px;
}

.mobileMenu {
  display: grid;
  grid-column-gap: 12px;
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 16px;
}

.mobileMenu__item {
  display: block;
  padding: 8px 0;
  font: 500 16px/1.2 var(--font);
}

.header {
  background: var(--white);
  padding: 12px 0;
}

.header__wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.header__logo {
  width: 150px;
  display: flex;
  align-items: center;
}

.header__data {
  display: flex;
  align-items: flex-start;
}

.header__buttons {
  display: flex;
  align-items: center;
}

.header__btn {
  margin-right: 12px;
}

.header__btn:last-child {
  margin-right: 0;
}

.header__right {
  display: none;
}

.header__search {
  width: 40px;
  height: 40px;
  border: 1px solid var(--blue);
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 16px;
}

.header__search svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: var(--blue);
}

.header__burger {
  width: 40px;
  height: 40px;
  background: var(--blue);
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.header__burger img {
  width: 28px;
}

.headerData {
  display: flex;
  align-items: flex-start;
  margin-right: 48px;
}

.headerData:last-child {
  margin-right: 0;
}

.headerData__icon {
  flex-shrink: 0;
  width: 24px;
  margin-right: 12px;
}

.headerData__icon svg {
  width: 24px;
  height: 24px;
  fill: var(--blue);
}

.headerData__content {
  max-width: 100%;
}

.headerData__item {
  color: var(--gray);
  margin-bottom: 4px;
}

.headerData__item:last-child {
  margin-bottom: 0;
}

.headerData__item a {
  font: 600 16px/1.2 var(--font);
  color: var(--base);
}

.headerData__item a:hover {
  color: var(--blue);
}

.menu {
  position: sticky;
  z-index: 50;
  top: 0;
  left: 0;
  width: 100%;
  background: var(--blue2);
}

.menu__wrap {
  display: flex;
  align-items: center;
  position: relative;
}

.menu__right {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  margin-left: 60px;
}

.menu__social {
  margin-right: 12px;
}

.menu__search {
  width: 40px;
  height: 40px;
  background: var(--blue);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.menu__search svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: var(--white);
}

.menu__search:hover {
  background: var(--white);
}

.menu__search:hover svg {
  stroke: var(--blue);
}

.desktopMenu {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.desktopMenu__item_submenu:hover .desktopSubmenu {
  display: block;
}

.desktopMenu__link {
  min-height: 60px;
  display: flex;
  align-items: center;
  text-transform: uppercase;
  font: 400 15px/1.2 var(--font);
  color: var(--white);
}

.desktopMenu__link:hover {
  color: var(--blue);
}

.desktopSubmenu {
  display: none;
  position: absolute;
  z-index: 51;
  top: 100%;
  left: 0;
  width: 100%;
  background: #2d445a;
  border-radius: 0 0 5px 5px;
  padding: 20px;
}

.desktopSubmenu__wrap {
  display: grid;
  grid-gap: 12px;
  grid-template-columns: repeat(4, 1fr);
}

.desktopSubmenu__more {
  margin-top: 20px;
}

.desktopSubmenuItem {
  background: var(--blue);
  border-radius: 5px;
  padding: 16px;
  display: flex;
  align-items: center;
  color: var(--white);
}

.desktopSubmenuItem__icon {
  flex-shrink: 0;
  width: 60px;
  display: flex;
  align-items: center;
  margin-right: 12px;
}

.desktopSubmenuItem__icon img {
  width: 100%;
}

.desktopSubmenuItem__text {
  width: 100%;
  font-weight: 500;
}

.desktopSubmenuItem:hover {
  background: var(--white);
  color: var(--blue2);
}

.footer {
  margin: auto;
  margin-bottom: 0;
  width: 100%;
  background: #353535;
  color: var(--gray2);
}

.footer__content {
  padding: 40px 0;
}

.footer__wrap {
  display: flex;
  align-items: flex-start;
}

.footer__bottom {
  background: #1b1b1b;
  padding: 24px 0;
  text-align: center;
}

.footer__bottom p {
  margin-bottom: 8px;
}

.footer__bottom p:last-child {
  margin-bottom: 0;
}

.footer__bottom p a {
  color: var(--white);
}

.footer__bottom p a:hover {
  color: var(--blue);
}

.footerLeft {
  flex-shrink: 0;
  width: 360px;
  margin-right: 40px;
}

.footerLeft__logo {
  width: 160px;
  margin-bottom: 16px;
}

.footerLeft__text {
  font-weight: 600;
  line-height: 1.6;
}

.footerBlock {
  width: calc((100% - 400px) / 2);
  padding-right: 40px;
}

.footerBlock:last-child {
  padding-right: 0;
}

.footerBlock__title {
  text-transform: uppercase;
  color: var(--white);
  margin-bottom: 24px;
}

.footerContacts__item {
  margin-bottom: 12px;
}

.footerContacts__item a {
  color: var(--gray2);
}

.footerContacts__item a:hover {
  color: var(--white);
}

.footerMenu__item {
  display: block;
  position: relative;
  padding-left: 16px;
  font-size: 16px;
  color: var(--gray2);
  margin-bottom: 12px;
}

.footerMenu__item:last-child {
  margin-bottom: 0;
}

.footerMenu__item::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  border: 5px solid transparent;
  border-left-color: var(--gray2);
}

.footerMenu__item:hover {
  color: var(--white);
}

.footerMenu__item:hover::before {
  border-left-color: var(--white);
}

.section {
  padding: 60px 0;
}

.section.section_noPad {
  padding: 0;
}

.section.section_noPadT {
  padding-top: 0;
}

.section.section_noPadB {
  padding-bottom: 0;
}

.section_smPad {
  padding: 30px 0;
}

.section_smPadT {
  padding-top: 30px;
}

.section_smPadB {
  padding-bottom: 30px;
}

.section_blue {
  background: #588aa0;
  color: var(--white);
}

.section_blue2 {
  background: #256782;
  color: var(--white);
}

.section_gray {
  background: #EEEEEE;
}

.sectionHead {
  margin-bottom: 40px;
}

.sectionHead__title {
  margin-bottom: 16px;
}

.sectionHead__title:last-child {
  margin-bottom: 0;
}

.sectionHead_arrows {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.sectionHead__content {
  max-width: 100%;
}

.sectionHead__arrows {
  flex-shrink: 0;
  margin-left: 20px;
  display: flex;
  align-items: center;
}

.sectionHead__arrows .arrow {
  margin-right: 12px;
}

.sectionHead__arrows .arrow:last-child {
  margin-right: 0;
}

.crumbs {
  color: var(--gray);
  margin-bottom: 24px;
}

.crumbs a {
  color: var(--blue);
}

.crumbs a:hover {
  color: var(--blue2);
}

.showMoreBtn {
  margin-top: 40px;
  display: flex;
  justify-content: center;
}

.showMoreBtn .btn {
  min-width: 320px;
}

.mainBanner {
  position: relative;
  overflow: hidden;
}

.mainBanner__wrap {
  display: flex;
  flex-wrap: nowrap;
}

#mainBannerPrev {
  position: absolute;
  z-index: 4;
  top: 50%;
  left: 20px;
  transform: translate(0, -50%);
}

#mainBannerNext {
  position: absolute;
  z-index: 4;
  top: 50%;
  right: 20px;
  transform: translate(0, -50%);
}

.mainBannerItem {
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
  width: 100%;
  min-height: 500px;
  padding: 40px 0;
  display: flex;
  align-items: center;
}

.mainBannerItem::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(43, 194, 190, 0.1);
}

.mainBannerItem__bg {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mainBannerItem .wrapper {
  position: relative;
  z-index: 3;
}

.mainBannerBlock {
  width: 500px;
  max-width: 100%;
  background: var(--blue2);
  border-left: 12px solid var(--blue);
  border-radius: 5px;
  padding: 32px;
  color: var(--white);
}

.mainBannerBlock__sup {
  text-transform: uppercase;
  color: var(--blue);
  margin-bottom: 16px;
}

.mainBannerBlock__title {
  margin-bottom: 24px;
}

.mainBannerBlock__list {
  font-size: 18px;
  margin-bottom: 20px;
}

.mainBannerBlock__list li {
  display: block;
  position: relative;
  padding-left: 24px;
  margin-bottom: 8px;
}

.mainBannerBlock__list li:last-child {
  margin-bottom: 0;
}

.mainBannerBlock__list li::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  width: 14px;
  height: 3px;
  background: var(--blue);
  border-radius: 3px;
}

/* УСЛУГИ */

.servicesWrap {
  display: grid;
  grid-gap: 20px;
  grid-template-columns: repeat(3, 1fr);
}

.servicesItem {
  border: 1px solid rgba(136, 136, 136, 0.5);
  border-radius: 5px;
  padding: 15px;
  display: flex;
  flex-direction: column;
}

.servicesItem__image {
  position: relative;
  overflow: hidden;
  border-radius: 5px;
  margin-bottom: 12px;
}

.servicesItem__image::before {
  content: "";
  display: block;
  padding-top: 60%;
}

.servicesItem__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.servicesItem__title {
  display: block;
  color: var(--base);
  margin-bottom: 20px;
}

.servicesItem__btn {
  margin: auto;
  margin-bottom: 0;
  width: 100%;
}

.servicesSlider {
  overflow: hidden;
}

.servicesSlider__wrap {
  display: flex;
  flex-wrap: nowrap;
}

.servicesSlider .servicesItem {
  flex-shrink: 0;
}

.servicesSliderAll {
  margin-top: 32px;
  display: flex;
  justify-content: center;
}

/* ПРЕИМУЩЕСТВА */

.advan {
  display: grid;
  grid-column-gap: 20px;
  grid-row-gap: 40px;
  grid-template-columns: repeat(4, 1fr);
}

.advanItem__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-bottom: 12px;
}

.advanItem__icon img {
  width: 100px;
}

.advanItem__title {
  text-align: center;
}

.advan2 {
  display: grid;
  grid-column-gap: 20px;
  grid-row-gap: 40px;
  grid-template-columns: repeat(3, 1fr);
}

.advan2_four {
  grid-template-columns: repeat(4, 1fr);
}

.advan2Item__icon {
  width: 64px;
  display: flex;
  align-items: center;
  margin-bottom: 16px;
}

.advan3 {
  display: grid;
  grid-column-gap: 20px;
  grid-row-gap: 40px;
  grid-template-columns: repeat(3, 1fr);
}

.advan3Item {
  text-align: center;
}

.advan3Item__icon {
  display: flex;
  align-items: center;
  justify-content: center;
}

.advan3Item__icon img {
  width: 120px;
}

.advan3Item__title {
  color: var(--blue);
  margin-bottom: 12px;
}

/* Блок с видео */

.videos {
  display: grid;
  grid-gap: 20px;
  grid-template-columns: repeat(2, 1fr);
}

.videos:has(.videosItem:only-child) {
  display: block;
}

.videosItem {
  position: relative;
  border-radius: 5px;
  overflow: hidden;
}

.videosItem::before {
  content: "";
  display: block;
  padding-top: 60%;
}

.videosItem:only-child {
  width: 75%;
  margin: 0 auto;
}

.videosItem__preview {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.videosItem__preview:hover .videosItem__play img {
  transform: scale(1.1);
}

.videosItem__image {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.videosItem__play {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.videosItem__play img {
  width: 90px;
  transition: 0.25s;
}

.videosItem__video {
  display: none;
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.videosItem__video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.phoneBtnBlock {
  text-align: center;
}

.phoneBtnBlock__title {
  font-weight: 400;
  margin-bottom: 24px;
}

.phoneBtnBlock__phone {
  margin-bottom: 24px;
}

.phoneBtnBlock__phone a {
  color: var(--white);
}

.phoneBtnBlock__phone a:hover {
  color: var(--blue);
}

.clientsSlider {
  overflow: hidden;
}

.clientsSlider__wrap {
  display: flex;
  flex-wrap: nowrap;
}

.clientsSlide {
  flex-shrink: 0;
  border-radius: 5px;
  overflow: hidden;
  display: flex;
  align-items: center;
}

.clientsSlide img {
  width: 100%;
}

/* ПОРТФОЛИО */

.projectsWrap {
  display: grid;
  grid-column-gap: 24px;
  grid-row-gap: 48px;
  grid-template-columns: repeat(3, 1fr);
}

.projectsItem__image {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 5px;
  margin-bottom: 16px;
}

.projectsItem__image::before {
  content: "";
  display: block;
  padding-top: 65%;
}

.projectsItem__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.projectsItem__head {
  display: block;
  margin-bottom: 16px;
}

.projectsItem__head:last-child {
  margin-bottom: 0;
}

.projectsItem__title {
  display: block;
  color: var(--base);
  margin-bottom: 12px;
}

.projectsItem__title:last-child {
  margin-bottom: 0;
}

.projectsItem__subtitle {
  display: block;
  color: var(--gray);
}

.projectsItem__btn {
  display: block;
}

.projectsSlider {
  overflow: hidden;
}

.projectsSlider__wrap {
  display: flex;
  flex-wrap: nowrap;
}

.projectsSlider .projectsItem {
  flex-shrink: 0;
}

.projectsSliderAll {
  margin-top: 32px;
  display: flex;
  justify-content: center;
}

/* О КОМПАНИИ */

.aboutDigits {
  display: grid;
  grid-gap: 20px;
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 60px;
}

.aboutDigits:last-child {
  margin-bottom: 0;
}

.aboutDigit {
  background: var(--white);
  border-radius: 5px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  padding: 16px;
}

.aboutDigit__digit {
  color: var(--blue);
  margin-bottom: 12px;
}

.aboutDigit__digit:last-child {
  margin-bottom: 0;
}

.aboutDigit__text {
  color: var(--gray);
}

.contentBlock {
  display: grid;
  grid-gap: 30px;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
  margin-bottom: 60px;
}

.contentBlock:last-child {
  margin-bottom: 0;
}

.contentBlock__image {
  border-radius: 10px;
  position: relative;
  overflow: hidden;
}

.contentBlock__image::before {
  content: "";
  display: block;
  padding-top: 65%;
}

.contentBlock__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.contentBlock:nth-child(2n) .contentBlock__image {
  order: -1;
}

.galleryBlock {
  display: grid;
  grid-gap: 12px;
  grid-template-columns: repeat(5, 1fr);
}

.galleryBlock_four {
  grid-template-columns: repeat(4, 1fr);
}

.galleryBlock__img {
  border-radius: 5px;
  position: relative;
  overflow: hidden;
  transition: 0.25s;
  cursor: zoom-in;
}

.galleryBlock__img::before {
  content: "";
  display: block;
  padding-top: 100%;
}

.galleryBlock__img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.galleryBlock__img:hover {
  transform: scale(1.03);
}

.galleryBlock__img.type2::before {
  padding-top: 75%;
}

/* ОТЗЫВЫ */

.reviewsWrap {
  display: grid;
  grid-column-gap: 20px;
  grid-row-gap: 50px;
  grid-template-columns: repeat(4, 1fr);
}

.reviewsItem {
  color: var(--base);
  cursor: zoom-in;
}

.reviewsItem__image {
  display: block;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  border-radius: 5px;
  position: relative;
  overflow: hidden;
  margin-bottom: 12px;
  transition: 0.25s;
}

.reviewsItem__image::before {
  content: "";
  display: block;
  padding-top: 141%;
}

.reviewsItem__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.reviewsItem__title {
  display: block;
}

.reviewsItem:hover {
  color: var(--blue);
}

.reviewsItem:hover .reviewsItem__image {
  transform: scale(1.03);
}

/* ЛИЦЕНЗИИ */

.licenseWrap {
  display: grid;
  grid-column-gap: 20px;
  grid-row-gap: 50px;
  grid-template-columns: repeat(4, 1fr);
}

.licenseItem {
  color: var(--base);
  cursor: zoom-in;
}

.licenseItem__image {
  display: block;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  border-radius: 5px;
  position: relative;
  overflow: hidden;
  margin-bottom: 12px;
  transition: 0.25s;
}

.licenseItem__image::before {
  content: "";
  display: block;
  padding-top: 141%;
}

.licenseItem__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.licenseItem__title {
  display: block;
}

.licenseItem:hover {
  color: var(--blue);
}

.licenseItem:hover .licenseItem__image {
  transform: scale(1.03);
}

.licenseItem_horizontal .licenseItem__image::before {
  padding-top: 72%;
}

/* КОНТАКТЫ */

.contactsPage {
  display: flex;
  align-items: flex-start;
}

.contactsPage__left {
  flex-shrink: 0;
  width: 440px;
  margin-right: 40px;
}

.contactsPage__right {
  width: 100%;
}

.contactsPage__rightHead {
  margin-bottom: 24px;
}

.contactsPage__rightTitle {
  margin-bottom: 16px;
}

.contactsPage__rightTitle:last-child {
  margin-bottom: 0;
}

.contactsPage__map {
  width: 100%;
  height: 440px;
  border-radius: 5px;
  overflow: hidden;
}

.contactsPage__map iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.contactsPageItem {
  border: 1px solid rgba(136, 136, 136, 0.5);
  border-radius: 5px;
  padding: 16px;
  display: flex;
  align-items: flex-start;
  margin-bottom: 20px;
}

.contactsPageItem:last-child {
  margin-bottom: 0;
}

.contactsPageItem__icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 16px;
}

.contactsPageItem__icon svg {
  width: 100%;
  height: 100%;
  fill: var(--blue);
}

.contactsPageItem__content {
  width: 100%;
  padding-top: 4px;
}

.contactsPageItem__title {
  font-weight: 600;
  margin-bottom: 16px;
}

.contactsPageItem__text {
  font-size: 16px;
  margin-bottom: 8px;
}

.contactsPageItem__text:last-child {
  margin-bottom: 0;
}

.contactsPageItem__text a {
  font-weight: 500;
  font-size: 20px;
}

.contactsForm {
  background: rgba(43, 194, 190, 0.125);
  border-radius: 10px;
  padding: 40px;
  display: flex;
  align-items: flex-start;
}

.contactsForm__head {
  flex-shrink: 0;
  width: 360px;
  margin-right: 40px;
}

.contactsForm__title {
  margin-bottom: 16px;
}

.contactsForm__title:last-child {
  margin-bottom: 0;
}

.contactsForm__content {
  width: 100%;
}

.contactsForm__inputs {
  display: grid;
  grid-gap: 12px;
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 24px;
}

.contactsForm__input {
  grid-column: span 2;
}

.contactsForm__input.half {
  grid-column: unset;
}

.contactsForm .formFile {
  grid-column: span 2;
}

.contactsForm__captcha {
  margin-bottom: 12px;
}

.contactsForm__submit {
  margin-bottom: 12px;
}

.contactsForm__agreement {
  font-size: 12px;
  color: var(--gray);
}

.contactsForm__agreement a {
  color: var(--base);
  text-decoration: underline;
}

.contactsForm__agreement a:hover {
  color: var(--blue);
}

/* СТРАНИЦА ОШИБКИ */

.errorSection {
  padding: 100px 0;
}

.errorBlock {
  text-align: center;
}

.errorBlock__digit {
  font: 800 150px/1 var(--font);
  color: var(--blue);
  margin-bottom: 16px;
}

.errorBlock__title {
  margin-bottom: 48px;
}

.errorBlock__btn {
  display: flex;
  justify-content: center;
}

/* СТРАНИЦА "СПАСИБО" */

.thanksSection {
  padding: 100px 0;
}

.thanksBlock {
  text-align: center;
}

.thanksBlock__title {
  margin-bottom: 16px;
}

.thanksBlock__subtitle {
  margin-bottom: 40px;
}

.thanksBlock__btn {
  display: flex;
  justify-content: center;
}

/* ЦЕНЫ */

.pricesBlock {
  margin-bottom: 60px;
}

.pricesBlock:last-child {
  margin-bottom: 0;
}

.pricesBlock__title {
  margin-bottom: 20px;
}

.pricesTable {
  background: var(--white);
  border: 1px solid rgba(136, 136, 136, 0.5);
  border-radius: 5px;
  overflow: hidden;
  font-weight: 500;
}

.pricesTable__head {
  padding: 0 16px;
  display: flex;
  font-weight: 700;
  font-size: 15px;
  color: var(--gray2);
}

.pricesTable__row {
  padding: 0 16px;
  display: flex;
}

.pricesTable__row:nth-child(2n) {
  background: rgba(43, 194, 190, 0.08);
}

.pricesTable__col {
  min-height: 50px;
  padding: 8px 0;
  display: flex;
  align-items: center;
}

.pricesTable__col:first-child {
  width: 100%;
  padding-right: 20px;
  font-weight: 600;
}

.pricesTable__col:nth-child(2) {
  flex-shrink: 0;
  width: 190px;
  padding-right: 12px;
}

.pricesTable__col:nth-child(3) {
  flex-shrink: 0;
  width: 190px;
  padding-right: 12px;
}

.pricesTable__col:nth-child(4) {
  flex-shrink: 0;
  width: 150px;
  padding-right: 12px;
}

.pricesTable__col:nth-child(5) {
  flex-shrink: 0;
  width: 200px;
}

.serviceBanner {
  display: grid;
  grid-gap: 30px;
  grid-template-columns: repeat(12, 1fr);
  align-items: start;
}

.serviceBanner__text {
  grid-column: span 7;
}

.serviceBanner__image {
  grid-column: span 5;
  border-radius: 5px;
  overflow: hidden;
  display: flex;
  align-items: center;
}

.serviceBanner__image img {
  width: 100%;
}

.serviceSteps {
  display: grid;
  grid-gap: 30px;
  grid-template-columns: repeat(3, 1fr);
}

.serviceStep__head {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
}

.serviceStep__digit {
  flex-shrink: 0;
  font: 800 48px/1 var(--font);
  color: var(--blue);
  margin-right: 16px;
}

.serviceStep__title {
  font-weight: 600;
}

.serviceStep__text {
  color: var(--gray);
}

.serviceProject {
  padding: 32px 0;
}

.serviceProject__wrap {
  display: grid;
  grid-gap: 24px;
  grid-template-columns: repeat(12, 1fr);
  align-items: start;
}

.serviceProject__mobTitle {
  display: none;
}

.serviceProject__image {
  grid-column: span 4;
  order: 2;
}

.serviceProject__content {
  grid-column: span 8;
  order: 1;
}

.serviceProject__title {
  margin-bottom: 20px;
}

.serviceProject__text {
  color: var(--gray);
}

.serviceProject:nth-child(2n-1) {
  background: #f5f8fa;
}

.serviceProject:nth-child(2n-1) .serviceProject__image {
  order: 1;
}

.serviceProject:nth-child(2n-1) .serviceProject__content {
  order: 2;
}

.pageFormSection {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.pageForm {
  width: 800px;
  max-width: 100%;
  background: var(--white);
  border-radius: 10px;
  padding: 40px;
  color: var(--base);
  margin: 0 auto;
}

.pageForm__head {
  margin-bottom: 32px;
}

.pageForm__head:last-child {
  margin-bottom: 0;
}

.pageForm__title {
  font-size: 30px;
  margin-bottom: 16px;
}

.pageForm__title:last-child {
  margin-bottom: 0;
}

.pageForm__inputs {
  display: grid;
  grid-column-gap: 12px;
  grid-row-gap: 16px;
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 24px;
}

.pageForm__inputs .formFile {
  grid-column: span 2;
}

.pageForm__input {
  grid-column: span 2;
}

.pageForm__input.half {
  grid-column: unset;
}

.pageForm__captcha {
  margin-bottom: 12px;
}

.pageForm__submit {
  width: 100%;
}

.pageForm__agreement {
  text-align: center;
  font-size: 12px;
  color: var(--gray);
  margin-top: 12px;
}

.serviceBanner2 {
  display: grid;
  grid-gap: 60px;
  grid-template-columns: repeat(2, 1fr);
}

.serviceBanner2__text {
  margin-bottom: 20px;
}

.serviceBanner2__image {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.serviceBanner2__image img {
  width: 100%;
}

.serviceBanner2Gallery {
  display: grid;
  grid-gap: 12px;
  grid-template-columns: repeat(2, 1fr);
}

.serviceBanner2Gallery__item {
  border-radius: 5px;
  position: relative;
  overflow: hidden;
}

.serviceBanner2Gallery__item::before {
  content: "";
  display: block;
  padding-top: 100%;
}

.serviceBanner2Gallery__item img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.servicePartners {
  display: grid;
  grid-gap: 12px;
  grid-template-columns: repeat(7, 1fr);
}

.servicePartners__item {
  border-radius: 5px;
  position: relative;
  overflow: hidden;
}

.servicePartners__item::before {
  content: "";
  display: block;
  padding-top: 100%;
}

.servicePartners__item img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.serviceWhat {
  display: grid;
  grid-gap: 20px;
  grid-template-columns: repeat(4, 1fr);
}

.serviceWhatItem {
  background: rgba(43, 194, 190, 0.1);
  border-radius: 5px;
  padding: 20px;
  text-align: center;
}

.serviceWhatItem__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

.serviceWhatItem__icon img {
  width: 64px;
}

.service13Form {
  display: grid;
  grid-gap: 30px;
  grid-template-columns: repeat(2, 1fr);
}

.service13Form__title {
  font-weight: 500;
  margin-bottom: 48px;
  position: relative;
}

.service13Form__title::after {
  content: "";
  position: absolute;
  top: calc(100% + 12px);
  left: 0;
  width: 80px;
  height: 3px;
  background: var(--blue);
}

.service13Form__phone {
  font: 600 36px/1.2 var(--font);
  margin-bottom: 16px;
}

.service13Form__phone:last-child {
  margin-bottom: 0;
}

.service13Form__phone a {
  color: var(--white);
}

.service13Form__mail {
  font: 500 24px/1.2 var(--font);
}

.service13Form__mail a {
  color: var(--white);
  text-decoration: underline;
}

.service13FormBlock__input {
  margin-bottom: 16px;
}

.service13FormBlock__submit {
  width: 100%;
}

.service13FormBlock__agreement {
  font-size: 12px;
  color: var(--white);
  margin-top: 12px;
}

.service13FormBlock__agreement a {
  color: var(--white);
}

.service13FormBlock__agreement a:hover {
  text-decoration: underline;
}

.service13FormBlock__captcha {
  margin-bottom: 12px;
}

.servProduct {
  background: #EFEFEF;
  border-radius: 5px;
  padding: 20px;
  display: flex;
  align-items: flex-start;
  margin-bottom: 24px;
}

.servProduct:last-child {
  margin-bottom: 0;
}

.servProduct__images {
  flex-shrink: 0;
  width: 400px;
  position: relative;
  margin-right: 32px;
}

.servProduct__images:has(.servProductSlide:only-child) .servProduct__arrows {
  display: none;
}

.servProduct__arrows {
  position: absolute;
  z-index: 5;
  bottom: 8px;
  left: 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 8px;
}

.servProduct__arrows .arrow {
  margin-right: 8px;
}

.servProduct__arrows .arrow:last-child {
  margin-right: 0;
}

.servProduct__content {
  width: 100%;
  padding: 8px 0;
}

.servProduct__title {
  color: var(--blue);
  margin-bottom: 20px;
}

.servProduct__text {
  margin: 0;
  -webkit-line-clamp: 12;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.servProduct__text.active {
  -webkit-line-clamp: 100;
}

.servProduct__buttons {
  padding-top: 20px;
  display: flex;
  align-items: center;
}

.servProduct__buttons .btn {
  margin-right: 12px;
}

.servProduct__buttons .btn:last-child {
  margin-right: 0;
}

.servProduct__more {
  display: none;
}

.servProduct__more.visible {
  display: inline-flex;
}

.servProductSlider {
  overflow: hidden;
}

.servProductSlider__wrap {
  display: flex;
  flex-wrap: nowrap;
}

.servProductSlide {
  flex-shrink: 0;
  border-radius: 5px;
  position: relative;
  overflow: hidden;
}

.servProductSlide::before {
  content: "";
  display: block;
  padding-top: 100%;
}

.servProductSlide img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.socialWidget {
  position: fixed;
  z-index: 40;
  bottom: 24px;
  right: 12px;
}

.socialWidgetIcon {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  cursor: pointer;
}

.socialWidgetIcon::before {
  display: none;
  content: '';
  position: absolute;
  bottom: 100%;
  left: 0;
  width: 100%;
  height: 120px;
  background: transparent;
}

.socialWidgetIcon__icon {
  width: 60px;
  height: 60px;
  background: var(--blue2);
  border: 1px solid var(--white);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-bottom: 12px;
  transition: 0.25s;
  animation: socialWidgetAnim 4s ease-in-out infinite;
}

.socialWidgetIcon__icon svg {
  width: 24px;
  height: 24px;
  fill: var(--white);
}

.socialWidgetIcon__text {
  white-space: nowrap;
  background: var(--white);
  border-radius: 4px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
  padding: 4px 8px;
  text-align: center;
  font-weight: 500;
  font-size: 12px;
  transition: 0.25s;
}

.socialWidget__list {
  display: none;
  position: absolute;
  bottom: calc(100% + 12px);
  left: 50%;
  transform: translate(-50%, 0);
}

.socialWidget__item {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  transition: 0.25s;
}

.socialWidget__item img {
  width: 60px;
  max-width: unset;
}

.socialWidget__item:last-child {
  margin-bottom: 0;
}

.socialWidget__item:hover {
  transform: scale(1.15);
}

.socialWidget:hover .socialWidgetIcon::before {
  display: block;
}

.socialWidget:hover .socialWidgetIcon__icon {
  background: var(--blue);
}

.socialWidget:hover .socialWidgetIcon__text {
  background: var(--blue);
  color: var(--white);
}

.socialWidget:hover .socialWidget__list {
  display: flex;
  flex-direction: column;
  align-items: center;
}

@keyframes socialWidgetAnim {
  0%, 16%, 100% {
    transform: scale(1);
  }

  8% {
    transform: scale(1.2);
  }
}

/* КОНФИГУРАТОР */

.configuratorEquip {
  padding-bottom: 32px;
  border-bottom: 1px solid #EFEFEF;
}

.configuratorEquip__title {
  margin-bottom: 24px;
}

.configuratorEquip__wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.configuratorEquipItem {
  background: #EFEFEF;
  border-radius: 5px;
  padding: 8px;
  padding-right: 16px;
  display: flex;
  align-items: center;
  color: var(--blue);
}

.configuratorEquipItem__image {
  flex-shrink: 0;
  width: 60px;
  border-radius: 4px;
  overflow: hidden;
  display: flex;
  align-items: center;
  margin-right: 16px;
}

.configuratorEquipItem__text {
  max-width: 100%;
  font: 500 16px/1.2 var(--font);
}

.configuratorEquipItem:not(.active):hover {
  transform: scale(1.04);
}

.configuratorEquipItem.active {
  background: var(--blue);
  color: var(--white);
}

.configurator__block {
  display: none;
}

.configurator__block.active {
  display: block;
}

.configurator__step {
  padding: 32px 0;
  border-bottom: 1px solid #EFEFEF;
}

.configurator__step:last-child {
  border-bottom: none;
}

.configurator__title {
  margin-bottom: 24px;
}

.equipType__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 20px;
}

.equipType__tab {
  max-width: 100%;
  min-height: 40px;
  border: 1px solid var(--blue);
  border-radius: 5px;
  padding: 8px 16px;
  font: 500 14px/1.2 var(--font);
  color: var(--blue);
}

.equipType__tab:not(.active):hover {
  border-color: var(--blue2);
  color: var(--blue2);
}

.equipType__tab.active {
  background: var(--blue);
  color: var(--white);
}

.equipType__block {
  display: none;
}

.equipType__block.active {
  display: block;
}

.equipType__radio {
  display: block;
  margin-bottom: 12px;
}

.equipType__radio:last-child {
  margin-bottom: 0;
}

.configuratorResult {
  background: var(--blue2);
  border-radius: 12px;
  padding: 40px;
  color: var(--white);
}

.configuratorResult__title {
  margin-bottom: 24px;
}

.configuratorResultTable {
  font-size: 16px;
}

.configuratorResultTable__row {
  display: flex;
  align-items: flex-start;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}

.configuratorResultTable__col:first-child {
  flex-shrink: 0;
  width: 240px;
  padding-right: 12px;
  font-weight: 500;
}

.configuratorResultTable__col:last-child {
  width: 100%;
}

.equipVersions {
  display: grid;
  grid-gap: 16px;
  grid-template-columns: repeat(2, 1fr);
}

.equipVersion {
  background: #EFEFEF;
  border: 4px solid #EFEFEF;
  border-radius: 8px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  cursor: pointer;
  transition: 0.25s;
}

.equipVersion__input {
  display: none;
}

.equipVersion__head {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
}

.equipVersion__image {
  flex-shrink: 0;
  width: 90px;
  display: flex;
  align-items: center;
  margin-right: 12px;
}

.equipVersion__info {
  width: 100%;
}

.equipVersion__subtitle {
  margin-top: 4px;
}

.equipVersion__text {
  margin-bottom: 16px;
}

.equipVersion__text:last-child {
  margin-bottom: 0;
}

.equipVersion__price {
  margin: auto;
  margin-bottom: 0;
  width: 100%;
}

.equipVersion__price span {
  font: 400 14px/1.35 var(--font);
  color: var(--gray);
}

.equipVersion:not(.active):hover {
  transform: scale(1.025);
}

.equipVersion.active {
  border-color: var(--blue);
}

.configuratorSum {
  padding-top: 32px;
  margin-bottom: 24px;
}

.configuratorSum__title {
  margin-bottom: 16px;
}

.configuratorSum__wrap {
  display: flex;
  align-items: center;
}

.configuratorSum__data {
  width: 100%;
}

.configuratorSum__total {
  font: 600 24px/1.2 var(--font);
  margin-bottom: 2px;
}

.configuratorSum__total span {
  font-size: 14px;
}

.configuratorSumAmount {
  flex-shrink: 0;
  margin-right: 20px;
  display: flex;
  align-items: center;
}

.configuratorSumAmount__btn {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  background: var(--blue);
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font: 500 32px/1 var(--font);
  color: var(--white);
}

.configuratorSumAmount__btn:hover {
  background: #179996;
}

.configuratorSumAmount__input {
  margin: 0 8px;
  text-align: center;
}

@media screen and (max-width: 1299px) {
  .mainBannerItem {
    padding-left: 80px;
  }
}

@media screen and (max-width: 1199px) {
  .crumbs {
    font-size: 12px;
    margin-bottom: 16px;
  }

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

@media screen and (max-width: 1099px) {
  h1,
  .h1 {
    font-size: 32px;
  }

  h2,
  .h2 {
    font-size: 28px;
  }

  .h2-mob {
    font-size: 26px;
  }

  h3,
  .h3 {
    font-size: 20px;
  }

  h4,
  .h4 {
    font-size: 18px;
  }

  h5,
  .h5 {
    font-size: 16px;
  }

  h6,
  .h6 {
    font-size: 16px;
  }

  .textBlock {
    font-size: 14px;
  }

  .textBlock ul li::before {
    top: 9px;
  }

  .searchModal {
    top: 0;
    left: 0;
    transform: none;
    width: 100%;
    max-width: 100%;
    max-height: 100%;
    border-radius: 0;
    padding: 16px 15px;
  }

  .searchForm__close {
    margin-left: 8px;
  }

  .searchForm__close svg {
    width: 20px;
    height: 20px;
  }

  .header {
    position: sticky;
    z-index: 50;
    top: 0;
    left: 0;
    width: 100%;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    padding: 8px 0;
  }

  .header__logo {
    width: 110px;
  }

  .header__data,
  .header__buttons {
    display: none;
  }

  .header__right {
    display: flex;
    align-items: center;
  }

  .menu {
    display: none;
  }

  .footer__content {
    padding: 32px 0;
  }

  .footer__wrap {
    display: block;
  }

  .footer__bottom {
    padding: 16px 0;
    font-size: 12px;
  }

  .footer__bottom p {
    margin-bottom: 12px;
  }

  .footerLeft {
    width: 100%;
    margin-right: 0;
    margin-bottom: 32px;
    text-align: center;
  }

  .footerLeft__logo {
    margin: 0 auto;
    margin-bottom: 12px;
  }

  .footerBlock {
    width: 100%;
    padding: 0;
    margin-bottom: 32px;
  }

  .footerBlock:last-child {
    margin-bottom: 0;
  }

  .footerBlock__title {
    margin-bottom: 20px;
  }

  .section {
    padding: 40px 0;
  }

  .section_smPad {
    padding: 20px 0;
  }

  .section_smPadT {
    padding-top: 20px;
  }

  .section_smPadB {
    padding-bottom: 20px;
  }

  .sectionHead {
    margin-bottom: 32px;
  }

  .sectionHead__title {
    margin-bottom: 12px;
  }

  .sectionHead__arrows {
    margin-left: 12px;
  }

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

  .clientsSlider {
    transform: translate(-15px, 0);
    width: calc(100% + 30px);
    padding: 0 15px;
  }

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

  .aboutDigits {
    grid-gap: 12px;
    grid-template-columns: repeat(3, 1fr);
  }

  .contentBlock {
    grid-gap: 20px;
    grid-template-columns: 1fr;
    margin-bottom: 40px;
  }

  .contentBlock__image {
    order: 2;
    border-radius: 5px;
  }

  .contentBlock__text {
    order: 1;
  }

  .contentBlock:nth-child(2n) .contentBlock__image {
    order: 2;
  }

  .contentBlock:nth-child(2n) .contentBlock__text {
    order: 1;
  }

  .galleryBlock {
    grid-gap: 12px;
    grid-template-columns: repeat(3, 1fr);
  }

  .reviewsWrap {
    grid-template-columns: repeat(3, 1fr);
  }

  .licenseWrap {
    grid-template-columns: repeat(3, 1fr);
  }

  .contactsPage {
    display: block;
  }

  .contactsPage__left {
    width: 100%;
    margin-right: 0;
    margin-bottom: 40px;
  }

  .contactsPage__map {
    height: 400px;
  }

  .contactsPageItem__icon {
    width: 32px;
    height: 32px;
    margin-right: 12px;
  }

  .contactsPageItem__text {
    font-size: 14px;
  }

  .contactsPageItem__text a {
    font-size: 18px;
  }

  .contactsForm {
    padding: 24px 16px;
    display: block;
  }

  .contactsForm__head {
    width: 100%;
    margin-right: 0;
    margin-bottom: 32px;
  }

  .contactsForm__title {
    margin-bottom: 12px;
  }

  .pricesBlock {
    margin-bottom: 40px;
  }

  .pricesBlock__title {
    margin-bottom: 16px;
  }

  .pricesBlock__table {
    transform: translate(-15px, 0);
    width: calc(100% + 30px);
    padding: 0 15px;
    padding-bottom: 8px;
    overflow: auto;
  }

  .pricesTable {
    flex-shrink: 0;
    width: 800px;
    font-size: 12px;
  }

  .pricesTable__head {
    font-size: 13px;
    padding: 0 12px;
  }

  .pricesTable__row {
    padding: 0 12px;
  }

  .pricesTable__col {
    min-height: 40px;
  }

  .pricesTable__col:nth-child(2) {
    width: 140px;
    padding-right: 8px;
  }

  .pricesTable__col:nth-child(3) {
    width: 160px;
    padding-right: 8px;
  }

  .pricesTable__col:nth-child(4) {
    width: 100px;
    padding-right: 8px;
  }

  .pricesTable__col:nth-child(5) {
    width: 120px;
  }

  .serviceBanner {
    grid-gap: 20px;
    grid-template-columns: 1fr;
  }

  .serviceBanner__text {
    grid-column: unset;
    order: 2;
  }

  .serviceBanner__image {
    grid-column: unset;
    order: 1;
  }

  .serviceBanner__image img {
    max-width: 560px;
  }

  .serviceSteps {
    grid-template-columns: 1fr;
  }

  .serviceStep__title {
    font-size: 18px;
  }

  .serviceProject {
    padding: 24px 0;
  }

  .serviceProject__wrap {
    grid-gap: 16px;
    grid-template-columns: 1fr;
  }

  .serviceProject__mobTitle {
    display: block;
    order: 1;
    font-size: 24px;
  }

  .serviceProject__image {
    grid-column: unset;
  }

  .serviceProject__image img {
    width: 100%;
    max-width: 560px;
  }

  .serviceProject__content {
    grid-column: unset;
    order: 3;
  }

  .serviceProject__title {
    display: none;
  }

  .serviceProject:nth-child(2n-1) .serviceProject__image {
    order: 2;
  }

  .serviceProject:nth-child(2n-1) .serviceProject__content {
    order: 3;
  }

  .servicePartners {
    grid-template-columns: repeat(4, 1fr);
  }

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

  .servProduct__images {
    width: 280px;
    margin-right: 24px;
  }

  .servProduct__text {
    -webkit-line-clamp: 8;
  }
}

@media screen and (max-width: 767px) {
  .btn_md {
    padding-left: 24px;
    padding-right: 24px;
  }

  .btn_lg {
    padding-left: 24px;
    padding-right: 24px;
  }

  .formFileButton {
    width: 100%;
  }

  .formFileButton__btn {
    width: 100%;
  }

  .modal {
    border-radius: 5px;
    padding: 20px;
    padding-top: 40px;
  }

  .modal__close {
    top: 8px;
    right: 8px;
    width: 32px;
    height: 32px;
  }

  .modal__close svg {
    width: 18px;
    height: 18px;
  }

  .modal__head {
    margin-bottom: 24px;
  }

  .modal__title {
    margin-bottom: 12px;
  }

  .modal__input.half {
    grid-column: span 2;
  }

  .modal__submit {
    width: 100%;
  }

  .showMoreBtn {
    margin-top: 24px;
  }

  .showMoreBtn .btn {
    min-width: unset;
    width: 100%;
  }

  #mainBannerPrev {
    top: auto;
    bottom: 20px;
    left: 50%;
    transform: translate(-50px, 0);
  }

  #mainBannerNext {
    top: auto;
    bottom: 20px;
    right: 50%;
    transform: translate(50px, 0);
  }

  .mainBannerItem {
    padding-top: 32px;
    padding-bottom: 70px;
    padding-left: 0;
  }

  .mainBannerBlock {
    border-left-width: 8px;
    padding: 20px;
  }

  .mainBannerBlock__list {
    font-size: 16px;
  }

  .mainBannerBlock__list li::before {
    top: 9px;
  }

  .servicesWrap {
    grid-template-columns: 1fr;
  }

  .servicesSlider {
    transform: translate(-15px, 0);
    width: calc(100% + 30px);
    padding: 0 15px;
  }

  .servicesSlider .servicesItem {
    width: 300px;
    margin-right: 16px;
  }

  .servicesSlider .servicesItem:last-child {
    margin-right: 0;
  }

  .servicesSliderAll {
    margin-top: 24px;
  }

  .servicesSliderAll .btn {
    width: 100%;
  }

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

  .advanItem__icon img {
    width: 80px;
  }

  .advanItem__title {
    font-size: 16px;
  }

  .advanItem br {
    display: none;
  }

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

  .advan3 {
    grid-template-columns: 1fr;
  }

  .videos {
    grid-gap: 16px;
    grid-template-columns: 1fr;
  }

  .videosItem__play img {
    width: 70px;
  }

  .phoneBtnBlock__btn .btn {
    width: 100%;
  }

  .projectsWrap {
    grid-template-columns: 1fr;
  }

  .projectsItem__subtitle {
    font-size: 12px;
  }

  .projectsSlider {
    transform: translate(-15px, 0);
    width: calc(100% + 30px);
    padding: 0 15px;
  }

  .projectsSlider .projectsItem {
    width: 250px;
    margin-right: 12px;
  }

  .projectsSlider .projectsItem:last-child {
    margin-right: 0;
  }

  .projectsSliderAll {
    margin-top: 24px;
  }

  .projectsSliderAll .btn {
    width: 100%;
  }

  .aboutDigits {
    grid-gap: 8px;
    grid-template-columns: repeat(2, 1fr);
  }

  .aboutDigit {
    padding: 12px;
  }

  .aboutDigit__digit {
    margin-bottom: 8px;
  }

  .aboutDigit__text {
    font-size: 12px;
  }

  .galleryBlock {
    grid-gap: 8px;
    grid-template-columns: repeat(2, 1fr);
  }

  .reviewsWrap {
    grid-column-gap: 8px;
    grid-row-gap: 32px;
    grid-template-columns: repeat(2, 1fr);
  }

  .reviewsItem__image {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  }

  .reviewsItem__title {
    font-size: 14px;
  }

  .licenseWrap {
    grid-column-gap: 8px;
    grid-row-gap: 32px;
    grid-template-columns: repeat(2, 1fr);
  }

  .licenseItem__image {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  }

  .licenseItem__title {
    font-size: 14px;
  }

  .contactsForm__input {
    grid-column: span 2;
  }

  .contactsForm__input.half {
    grid-column: span 2;
  }

  .contactsForm__submit .btn {
    width: 100%;
  }

  .errorBlock__digit {
    font-size: 100px;
  }

  .errorBlock__btn .btn {
    width: 100%;
  }

  .thanksBlock__btn .btn {
    width: 100%;
  }

  .pageForm {
    border-radius: 5px;
    padding: 20px;
  }

  .pageForm__head {
    margin-bottom: 24px;
  }

  .pageForm__title {
    margin-bottom: 12px;
  }

  .pageForm__input.half {
    grid-column: span 2;
  }

  .serviceBanner2 {
    grid-gap: 20px;
    grid-template-columns: 1fr;
  }

  .serviceBanner2Gallery {
    grid-gap: 8px;
  }

  .servicePartners {
    grid-gap: 8px;
    grid-template-columns: repeat(2, 1fr);
  }

  .serviceWhat {
    grid-gap: 8px;
    grid-template-columns: 1fr;
  }

  .service13Form {
    grid-gap: 60px;
    grid-template-columns: 1fr;
  }

  .service13Form__title {
    margin-bottom: 32px;
  }

  .service13Form__title::after {
    top: calc(100% + 6px);
    height: 2px;
  }

  .service13Form__phone {
    font-size: 30px;
  }

  .service13Form__mail {
    font-size: 20px;
  }

  .servProduct {
    display: block;
    padding: 16px;
  }

  .servProduct__images {
    width: 100%;
    margin-right: 0;
    margin-bottom: 16px;
  }

  .servProduct__text {
    -webkit-line-clamp: 4;
  }

  .socialWidget {
    bottom: 16px;
    right: 16px;
  }

  .socialWidgetIcon__icon {
    width: 70px;
    height: 70px;
    margin: 0;
  }

  .socialWidgetIcon__icon svg {
    width: 32px;
    height: 32px;
  }

  .socialWidgetIcon__text {
    display: none;
  }

  .socialWidget__item img {
    width: 70px;
  }
}

@media (max-width: 576px) {
  .fancybox-thumbs {
    width: 110px;
  }

  .fancybox-show-thumbs .fancybox-inner {
    right: 110px;
  }

  .fancybox-thumbs__list a {
    max-width: calc(100% - 10px);
  }
}

@media (max-height: 576px) {
  .fancybox-slide {
    padding-left: 6px;
    padding-right: 6px;
  }

  .fancybox-slide--image {
    padding: 6px 0;
  }

  .fancybox-close-small {
    right: -6px;
  }

  .fancybox-slide--image .fancybox-close-small {
    background: #4e4e4e;
    color: #f2f4f6;
    height: 36px;
    opacity: 1;
    padding: 6px;
    right: 0;
    top: 0;
    width: 36px;
  }

  .fancybox-caption {
    padding-left: 12px;
    padding-right: 12px;
  }

@supports (padding: max(0px)) {
    .fancybox-caption {
      padding-left: max(12px, env(safe-area-inset-left));
      padding-right: max(12px, env(safe-area-inset-right));
    }
}
}