@charset "UTF-8";

:root {
  --font-family: "Helvetica Neue", sans-serif
}

@font-face {
  font-family: "Helvetica Neue";
  src: url(../themes/demo/assets/fonts/helvetica/HelveticaNeueBoldCondensed.eot);
  src: local("Helvetica Neue Condensed Bold"), local(HelveticaNeueBoldCondensed), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueBoldCondensed.eot?#iefix) format("embedded-opentype"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueBoldCondensed.woff2) format("woff2"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueBoldCondensed.woff) format("woff"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueBoldCondensed.ttf) format("truetype");
  font-weight: 700;
  font-style: normal
}

@font-face {
  font-family: "Helvetica Neue";
  src: url(../themes/demo/assets/fonts/helvetica/HelveticaNeueBlackCondensed.eot);
  src: local("Helvetica Neue Condensed Black"), local(HelveticaNeueBlackCondensed), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueBlackCondensed.eot?#iefix) format("embedded-opentype"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueBlackCondensed.woff2) format("woff2"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueBlackCondensed.woff) format("woff"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueBlackCondensed.ttf) format("truetype");
  font-weight: 900;
  font-style: normal
}

@font-face {
  font-family: "HelveticaNeueCyr";
  src: url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Bold.eot);
  src: local(HelveticaNeueCyr-Bold), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Bold.eot?#iefix) format("embedded-opentype"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Bold.woff2) format("woff2"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Bold.woff) format("woff"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Bold.ttf) format("truetype");
  font-weight: 700;
  font-style: normal
}

@font-face {
  font-family: "HelveticaNeueCyr";
  src: url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Light.eot);
  src: local(HelveticaNeueCyr-Light), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Light.eot?#iefix) format("embedded-opentype"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Light.woff2) format("woff2"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Light.woff) format("woff"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Light.ttf) format("truetype");
  font-weight: 300;
  font-style: normal
}

@font-face {
  font-family: "HelveticaNeueCyr";
  src: url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Medium.eot);
  src: local(HelveticaNeueCyr-Medium), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Medium.eot?#iefix) format("embedded-opentype"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Medium.woff2) format("woff2"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Medium.woff) format("woff"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Medium.ttf) format("truetype");
  font-weight: 500;
  font-style: normal
}

@font-face {
  font-family: "HelveticaNeueCyr";
  src: url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-MediumItalic.eot);
  src: local(HelveticaNeueCyr-MediumItalic), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-MediumItalic.eot?#iefix) format("embedded-opentype"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-MediumItalic.woff2) format("woff2"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-MediumItalic.woff) format("woff"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-MediumItalic.ttf) format("truetype");
  font-weight: 500;
  font-style: italic
}

@font-face {
  font-family: "HelveticaNeueCyr";
  src: url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-LightItalic.eot);
  src: local(HelveticaNeueCyr-LightItalic), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-LightItalic.eot?#iefix) format("embedded-opentype"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-LightItalic.woff2) format("woff2"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-LightItalic.woff) format("woff"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-LightItalic.ttf) format("truetype");
  font-weight: 300;
  font-style: italic
}

@font-face {
  font-family: "HelveticaNeueCyr";
  src: url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-HeavyItalic.eot);
  src: local(HelveticaNeueCyr-HeavyItalic), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-HeavyItalic.eot?#iefix) format("embedded-opentype"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-HeavyItalic.woff2) format("woff2"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-HeavyItalic.woff) format("woff"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-HeavyItalic.ttf) format("truetype");
  font-weight: 900;
  font-style: italic
}

@font-face {
  font-family: "HelveticaNeueCyr";
  src: url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Black.eot);
  src: local(HelveticaNeueCyr-Black), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Black.eot?#iefix) format("embedded-opentype"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Black.woff2) format("woff2"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Black.woff) format("woff"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Black.ttf) format("truetype");
  font-weight: 900;
  font-style: normal
}

@font-face {
  font-family: "HelveticaNeueCyr";
  src: url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Heavy.eot);
  src: local(HelveticaNeueCyr-Heavy), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Heavy.eot?#iefix) format("embedded-opentype"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Heavy.woff2) format("woff2"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Heavy.woff) format("woff"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Heavy.ttf) format("truetype");
  font-weight: 900;
  font-style: normal
}

@font-face {
  font-family: "HelveticaNeueCyr";
  src: url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Italic.eot);
  src: local(HelveticaNeueCyr-Italic), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Italic.eot?#iefix) format("embedded-opentype"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Italic.woff2) format("woff2"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Italic.woff) format("woff"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Italic.ttf) format("truetype");
  font-weight: 500;
  font-style: italic
}

@font-face {
  font-family: "HelveticaNeueCyr";
  src: url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Roman.eot);
  src: local(HelveticaNeueCyr-Roman), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Roman.eot?#iefix) format("embedded-opentype"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Roman.woff2) format("woff2"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Roman.woff) format("woff"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Roman.ttf) format("truetype");
  font-weight: 300;
  font-style: normal
}

@font-face {
  font-family: "HelveticaNeueCyr";
  src: url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-BlackItalic.eot);
  src: local(HelveticaNeueCyr-BlackItalic), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-BlackItalic.eot?#iefix) format("embedded-opentype"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-BlackItalic.woff2) format("woff2"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-BlackItalic.woff) format("woff"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-BlackItalic.ttf) format("truetype");
  font-weight: 900;
  font-style: italic
}

@font-face {
  font-family: "HelveticaNeueCyr";
  src: url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-UltraLightItalic.eot);
  src: local(HelveticaNeueCyr-UltraLightItalic), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-UltraLightItalic.eot?#iefix) format("embedded-opentype"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-UltraLightItalic.woff2) format("woff2"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-UltraLightItalic.woff) format("woff"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-UltraLightItalic.ttf) format("truetype");
  font-weight: 200;
  font-style: italic
}

@font-face {
  font-family: "HelveticaNeueCyr";
  src: url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-BoldItalic.eot);
  src: local(HelveticaNeueCyr-BoldItalic), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-BoldItalic.eot?#iefix) format("embedded-opentype"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-BoldItalic.woff2) format("woff2"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-BoldItalic.woff) format("woff"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-BoldItalic.ttf) format("truetype");
  font-weight: 700;
  font-style: italic
}

@font-face {
  font-family: "HelveticaNeueCyr";
  src: url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-ThinItalic.eot);
  src: local(HelveticaNeueCyr-ThinItalic), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-ThinItalic.eot?#iefix) format("embedded-opentype"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-ThinItalic.woff2) format("woff2"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-ThinItalic.woff) format("woff"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-ThinItalic.ttf) format("truetype");
  font-weight: 100;
  font-style: italic
}

@font-face {
  font-family: "HelveticaNeueCyr";
  src: url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-UltraLight.eot);
  src: local(HelveticaNeueCyr-UltraLight), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-UltraLight.eot?#iefix) format("embedded-opentype"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-UltraLight.woff2) format("woff2"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-UltraLight.woff) format("woff"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-UltraLight.ttf) format("truetype");
  font-weight: 200;
  font-style: normal
}

@font-face {
  font-family: "HelveticaNeueCyr";
  src: url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Thin.eot);
  src: local(HelveticaNeueCyr-Thin), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Thin.eot?#iefix) format("embedded-opentype"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Thin.woff2) format("woff2"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Thin.woff) format("woff"), url(../themes/demo/assets/fonts/helvetica/HelveticaNeueCyr-Thin.ttf) format("truetype");
  font-weight: 100;
  font-style: normal
}

* {
  padding: 0;
  margin: 0;
  border: 0
}

*,
:before,
:after {
  box-sizing: border-box
}

:focus,
:active {
  outline: none
}

a:focus,
a:active {
  outline: none
}

nav,
footer,
header,
aside {
  display: block
}

html,
body {
  height: 100%;
  width: 100%;
  font-size: 100%;
  line-height: 1;
  font-size: 0.875em;
  -ms-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%
}

input,
button,
textarea {
  font-family: inherit
}

input::-ms-clear {
  display: none
}

button {
  cursor: pointer
}

button::-moz-focus-inner {
  padding: 0;
  border: 0
}

a,
a:visited {
  text-decoration: none
}

a:hover {
  text-decoration: none
}

ul li {
  list-style: none
}

img {
  vertical-align: top
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: 300
}

html {
  scroll-behavior: smooth
}

body {
  background: #fff;
  color: #151515;
  height: 100%;
  font-size: 1.0em;
  font-family: var(--font-family)
}

body.hidden {
  overflow: hidden
}

.wrapper {
  min-height: 100vh;
  overflow: hidden;
  display: flex;
  flex-direction: column
}

.page {
  flex: 1 0 auto;
  margin-top: 84.8px
}

@media (max-width: 1200px) {
  .page {
    margin-top: 74px
  }
}

@media (max-width: 480px) {
  .page {
    margin-top: 60px
  }
}

._container {
  max-width: 1246px;
  padding: 0 15px;
  margin: 0 auto
}

section {
  margin-top: 80px
}

@media (max-width: 480px) {
  section {
    margin-top: 50px
  }
}

.main {
  height: calc(100vh - 84.8px);
  position: relative;
  margin-top: 0
}

@media (max-width: 1200px) {
  .main {
    height: calc(100vh - 74px)
  }
}

@media (max-width: 480px) {
  .main {
    height: calc(100vh - 60px)
  }
}

.main::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #131313a6
}

.main__container {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 1
}

.main__title {
  font-weight: 300;
  font-size: 4.0em;
  line-height: 109%;
  color: #fff;
  max-width: 520px;
  margin-bottom: 20px
}

@media (max-width: 767px) {
  .main__title {
    font-size: 3.125em
  }
}

@media (max-width: 480px) {
  .main__title {
    font-size: 2.5em;
    margin-bottom: 15px
  }
}

.main__text {
  font-weight: 300;
  font-size: 1.5em;
  line-height: 125%;
  color: #d7d7d7;
  margin-bottom: 30px;
  max-width: 460px
}

@media (max-width: 480px) {
  .main__text {
    font-size: 1.125em;
    margin-bottom: 20px
  }
}

.main__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  font-size: 1.0em;
  text-align: center;
  color: #242d4c;
  line-height: 1.3;
  padding: 16px 40px;
  border-radius: 60px;
  background-color: #fff;
  transition: .5s
}

@media (max-width: 480px) {
  .main__button {
    font-size: 0.875em;
    padding: 14px 30px
  }
}

.main__button:hover {
  box-shadow: 0 0 20px #fff
}

.main__video {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover
}

@media (max-width: 480px) {
  .main__video {
    object-position: 30% center
  }
}

.fixed-items {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 99;
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}

@media (max-width: 480px) {
  .fixed-items {
    right: 10px;
    bottom: 10px;
    row-gap: 5px;
  }
}

.fixed-items img {
  width: 70px;
  height: 70px;
  transition: .5s;
}

.fixed-items a {
  transition: .5s;
}

.fixed-items a:hover {
  transform: scale(1.1);
}

@media (max-width: 480px) {
  .fixed-items img {
    width: 50px;
    height: 50px
  }
}

.header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 99;
  box-shadow: 0 0 5px 0 #0000001f;
  background: #fff;
  padding: 20px 0
}

@media (max-width: 480px) {
  .header {
    padding: 15px 0
  }
}

.header__body {
  display: flex;
  align-items: center;
  justify-content: space-between
}

.header__logo img,
.menu__logo img {
  height: 33px;
  transition: .5s;
}

.header__logo:hover img {
  transform: scale(1.1);
}

@media (max-width: 480px) {
  .header__logo img {
    height: 30px
  }
}

.header__content {
  display: flex;
  align-items: center;
  column-gap: 20px
}

@media (max-width: 1200px) {
  .header__content {
    display: none
  }
}

.header__items {
  display: flex;
  align-items: center;
  column-gap: 30px;
  margin-right: 40px
}

.header__item {
  font-weight: 300;
  font-size: 1.0625em;
  color: #151515;
  line-height: 1.3;
  transition: .5s;
  position: relative;
}

.header__item::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 0;
  height: 2px;
  background-color: #242d4c;
  transition: width .5s ease-in-out;
}

.header__item:hover::after {
  width: 100%;
}

.header__langs-wrapper {
  display: flex;
  align-items: center;
  column-gap: 8px;
  padding-top: 5px;
}

@media (max-width: 480px) {
  .header__langs-wrapper {
    margin-top: 5px
  }
}

.header__langs {
  font-weight: 300;
  font-size: 1.0625em;
  letter-spacing: .02em;
  color: #151515;
  appearance: none;
  margin-top: -4px
}

.header__phone {
  display: flex;
  align-items: center;
  column-gap: 6px
}

.header__phone img {
  transition: .5s;
}

.header__phone:hover img {
  transform: rotate(20deg);
}

.header__phone:hover span {
  color: #242d4c
}

.header__phone span {
  font-weight: 300;
  font-size: 1.0625em;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: #151515;
  transition: .5s
}

.header__phone img {
  margin-top: -4px
}

.header__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  font-size: 1.0em;
  text-align: center;
  color: #fff;
  line-height: 1.3;
  padding: 12px 50px;
  background: #242d4c;
  border-radius: 60px;
  transition: .5s
}

.header__button:hover {
  box-shadow: 0 0 20px #242d4c
}

.header__mobile {
  display: none
}

@media (max-width: 1200px) {
  .header__mobile {
    display: flex;
    align-items: center;
    column-gap: 20px
  }
}

.menu {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  z-index: 99;
  padding: 30px;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  transition: .8s;
  transform: translateX(-100%);
  padding-bottom: 120px;
  row-gap: 50px;
  overflow-y: auto;
}

.menu.active {
  transform: translateX(0)
}

.menu__close {
  position: absolute;
  right: 20px;
  top: 15px;
  font-size: 3.125em;
  color: #bbb;
  cursor: pointer
}

@media (max-width: 480px) {
  .menu__close {
    font-size: 2.5em;
    right: 15px;
    top: 10px
  }
}

.menu__items {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 25px
}

.menu__bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 15px
}

.title {
  font-weight: 300;
  font-size: 2.75em;
  line-height: 120%;
  color: #151515;
  margin-bottom: 40px
}

@media (max-width: 480px) {
  .title {
    font-size: 2.275em;
    margin-bottom: 25px
  }
}

.title::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background-color: #151515;
  margin-top: 20px
}

@media (max-width: 480px) {
  .title::after {
    margin-top: 15px
  }
}

.services__items {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px
}

@media (max-width: 767px) {
  .services__items {
    grid-template-columns: 1fr 1fr
  }
}

@media (max-width: 520px) {
  .services__items {
    grid-template-columns: 1fr;
  }
}

.item-services {
  border: 1px solid #e4e4e4;
  border-radius: 15px;
  display: flex;
  flex-direction: column;
  transition: .5s;
}

.item-services__image img {
  width: 100%;
  border-radius: 15px;
}

.item-services__content {
  padding: 30px 20px 24px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border-radius: 15px;
}

@media (max-width: 480px) {
  .item-services__content {
    padding: 20px 15px 15px
  }
}

.item-services__title {
  font-weight: 500;
  font-size: 1.4375em;
  line-height: 126%;
  color: #151515;
  margin-bottom: 15px
}

@media (max-width: 480px) {
  .item-services__title {
    margin-bottom: 10px
  }
}

.item-services__text {
  font-weight: 300;
  font-size: 1.0em;
  line-height: 125%;
  color: #666;
  margin-bottom: 24px;
  flex-grow: 1
}

.item-services:hover .item-services__title,
.item-services:hover .item-services__text {}

.item-services:hover {
  border: 1px solid #242d4c;
  scale: 1.02;
}

@media (max-width: 480px) {
  .item-services__text {
    margin-bottom: 15px
  }
}

.item-services__line {
  width: 37px;
  height: 2px;
  background: #424b5a
}

.why {
  padding: 40px 0 70px;
  background: #242d4c;
  overflow: hidden
}

@media (max-width: 992px) {
  .why {
    padding: 50px 0
  }
}

.why__container {
  position: relative
}

.why__container::after {
  content: "";
  display: block;
  position: absolute;
  left: 15px;
  right: 15px;
  top: -40px;
  bottom: -70px;
  background: url(../themes/demo/assets/images/why_bg.svg) center / 100% no-repeat
}

@media (max-width: 992px) {
  .why__container::after {
    display: none
  }
}

.why__title {
  font-weight: 300;
  font-size: 2.75em;
  color: #fff;
  line-height: 1.3;
  margin-bottom: 90px;
  padding: 0 50px
}

@media (max-width: 992px) {
  .why__title {
    margin-bottom: 50px;
    padding: 0
  }
}

@media (max-width: 480px) {
  .why__title {
    font-size: 1.875em;
    margin-bottom: 20px
  }
}

.why__items {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  column-gap: 120px;
  row-gap: 84px;
  padding: 0 50px
}

@media (max-width: 992px) {
  .why__items {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    padding: 0
  }
}

@media (max-width: 480px) {
  .why__items {
    grid-template-columns: 1fr;
    row-gap: 20px
  }

  .why__item:not(:last-child) {
    padding-bottom: 20px;
    border-bottom: 1px solid #ffffff1a
  }
}

.item-why__image {
  margin-bottom: 28px
}

@media (max-width: 480px) {
  .item-why__image {
    margin-bottom: 20px
  }
}

.item-why__title {
  font-weight: 300;
  font-size: 1.125em;
  color: #fff;
  line-height: 1.3;
  margin-bottom: 14px
}

@media (max-width: 480px) {
  .item-why__title {
    margin-bottom: 10px
  }
}

.item-why__text {
  font-weight: 300;
  font-size: 0.875em;
  line-height: 129%;
  color: #c0c7de
}

.reviews__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: 15px;
  row-gap: 20px;
  margin-bottom: 40px;
}

.reviews__title {
  margin-bottom: 0;
}

@media (max-width: 480px) {
  .reviews__top {
    margin-bottom: 25px;
    flex-direction: column;
    align-items: start;
  }
}

.reviews__items-wrapper {
  position: relative
}

.reviews__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: .5s
}

.reviews__arrow.swiper-button-disabled {
  opacity: .5
}

.reviews__prev {
  left: -50px
}

.reviews__next {
  right: -50px
}

.reviews .swiper-slide {
  height: auto
}

.item-reviews {
  padding: 35px 25px;
  border-radius: 15px;
  background: #f8f8f8;
  height: 100%
}

@media (max-width: 480px) {
  .item-reviews {
    padding: 30px 20px
  }
}

.item-reviews__title {
  font-weight: 300;
  font-size: 1.1875em;
  line-height: 130%;
  color: #151515;
  margin-bottom: 10px
}

.item-reviews__stars {
  margin-bottom: 20px
}

.item-reviews__text {
  font-weight: 300;
  font-size: 0.875em;
  line-height: 157%;
  color: #444;
  display: flex;
  flex-direction: column;
  row-gap: 10px
}

.swiper-pagination-progressbar {
  position: relative !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  margin-top: 50px !important;
  height: 2px !important;
  background-color: #e6e6e6
}

@media (max-width: 480px) {
  .swiper-pagination-progressbar {
    margin-top: 20px !important
  }
}

.swiper-pagination-progressbar.swiper-pagination-lock {
  display: none !important
}

.swiper-pagination-progressbar-fill {
  background-color: #242d4c !important
}

.form__body {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  border-radius: 15px;
  background: #f8f8f8
}

@media (max-width: 992px) {
  .form__body {
    grid-template-columns: 1fr
  }
}

.form__items {
  padding: 45px 90px;
  background: url(../themes/demo/assets/images/form.jpg) center / cover no-repeat;
  border-radius: 15px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  row-gap: 30px
}

@media (max-width: 992px) {
  .form__items {
    padding: 40px 30px
  }
}

@media (max-width: 480px) {
  .form__items {
    padding-inline: 30px 20px;
    row-gap: 20px
  }
}

.form__item:not(:last-child) {
  padding-bottom: 30px;
  border-bottom: 1px solid #fff6
}

@media (max-width: 480px) {
  .form__item:not(:last-child) {
    padding-bottom: 20px
  }
}

.form__content {
  padding: 80px
}

@media (max-width: 992px) {
  .form__content {
    padding: 40px 30px
  }
}

@media (max-width: 480px) {
  .form__content {
    padding: 30px 20px
  }
}

.form__text {
  font-weight: 300;
  font-size: 1.125em;
  line-height: 133%;
  color: #555;
  margin-bottom: 40px
}

@media (max-width: 480px) {
  .form__text {
    font-size: 1.0em;
    margin-bottom: 20px
  }
}

.form__inputs {
  display: flex;
  flex-direction: column;
  row-gap: 30px;
  max-width: 350px
}

@media (max-width: 480px) {
  .form__inputs {
    row-gap: 20px
  }
}

.form__input input {
  width: 100%;
  font-weight: 300;
  font-size: 1.375em;
  line-height: 100%;
  color: #151515;
  padding-bottom: 15px;
  border-bottom: 1px solid silver;
  background-color: transparent
}

@media (max-width: 480px) {
  .form__input input {
    font-size: 1.125em;
    margin-bottom: 10px
  }
}

.form__input input::placeholder {
  color: #999
}

.form__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.0625em;
  text-align: center;
  color: #fff;
  line-height: 1.3;
  padding: 15px 80px;
  border-radius: 60px;
  background: #242d4c;
  transition: .5s;
}

@media (max-width: 480px) {
  .form__button {
    font-size: 0.9375em;
    padding: 12px 40px;
    width: 100%;
  }
}

.form__button:hover {
  box-shadow: 0 0 20px #242d4c
}

.item-form__image {
  margin-bottom: 15px
}

@media (max-width: 480px) {
  .item-form__image {
    margin-bottom: 10px
  }
}

.item-form__text {
  font-weight: 300;
  font-size: 1.4375em;
  line-height: 133%;
  color: #fff;
  max-width: 290px;
  display: flex;
  flex-direction: column;
  row-gap: 5px
}

@media (max-width: 480px) {
  .item-form__text {
    font-size: 1.125em
  }
}

.item-form__text a {
  color: inherit
}

#newForm_forms_flash .close,
#modalForm_forms_flash .close {
  display: none
}

#newForm_forms_flash p,
#modalForm_forms_flash p {
  font-size: 1.0em;
  margin-bottom: 20px;
  margin-top: -20px;
  line-height: 1.3;
  color: green
}

#modalForm_forms_flash p {
  margin-top: 0;
}

@media (max-width: 480px) {

  #contactForm_forms_flash p,
  #modalForm_forms_flash p {
    margin-top: 0
  }
}

.gallery__items {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px
}

@media (max-width: 767px) {
  .gallery__items {
    grid-template-columns: 1fr 1fr
  }
}

.gallery__item {
  display: block
}

@media (max-width: 767px) {
  .gallery__item {
    height: 250px;
    width: 100%
  }
}

@media (max-width: 480px) {
  .gallery__item {
    height: 150px
  }

  .gallery__item:first-child {
    height: 200px
  }
}

.gallery__item:first-child {
  grid-column: 1 / 3
}

.gallery__item img {
  width: 100%
}

@media (max-width: 767px) {
  .gallery__item img {
    height: 100%;
    object-fit: cover;
    border-radius: 15px
  }
}

@media (max-width: 480px) {
  .gallery__item img {
    border-radius: 10px
  }
}

.clients__items-wrapper {
  position: relative
}

.clients__item {
  padding: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e4e4e4;
  border-radius: 15px;
  height: 100px
}

@media (max-width: 480px) {
  .clients__item {
    border-radius: 10px;
    height: 80px
  }
}

.clients__item img {
  max-width: 100%;
  max-height: 100%
}

.clients__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: .5s;
  cursor: pointer;
}

.clients__arrow svg,
.charters__arrow svg,
.history__arrow svg {
  transition: .5s;
  cursor: pointer;
}

.clients__arrow svg:hover,
.charters__arrow svg:hover,
.history__arrow svg:hover {
  transform: scale(1.1);
}

.clients__arrow.swiper-button-disabled {
  opacity: .5
}

.clients__prev {
  left: -50px
}

.clients__next {
  right: -50px
}

.footer {
  background: #242d4c;
  padding: 55px 0 30px;
  border-radius: 30px 30px 0 0
}

.footer a {
  transition: .5s;
}

.footer a:hover {
  opacity: 0.5;
}

@media (max-width: 480px) {
  .footer {
    padding: 30px 0 15px;
    border-radius: 15px 15px 0 0
  }
}

.footer__body {
  display: flex;
  align-items: start;
  justify-content: space-between;
  column-gap: 120px
}

@media (max-width: 992px) {
  .footer__body {
    column-gap: 50px
  }
}

@media (max-width: 767px) {
  .footer__body {
    flex-direction: column;
    row-gap: 30px
  }
}

.footer__logo img {
  width: 166px
}

@media (max-width: 480px) {
  .footer__body {
    flex-direction: row;
    align-items: center
  }

  .footer__logo img {
    width: 132px
  }
}

.footer__content {
  display: flex;
  column-gap: 65px
}

@media (max-width: 992px) {
  .footer__content {
    column-gap: 30px
  }
}

@media (max-width: 767px) {
  .footer__content {
    flex-wrap: wrap;
    row-gap: 20px
  }
}

@media (max-width: 480px) {
  .footer__content {
    display: none
  }
}

.footer__nav-title {
  font-weight: 300;
  font-size: 1.0em;
  color: #ffffffb3;
  line-height: 1.3;
  margin-bottom: 15px
}

.footer__nav-title::after {
  content: "";
  display: block;
  height: 2px;
  width: 12px;
  background-color: #ffffffb3;
  margin-top: 10px
}

.footer__nav-items {
  display: flex;
  flex-direction: column;
  row-gap: 10px
}

.footer__nav-item {
  font-weight: 300;
  font-size: 0.875em;
  line-height: 130%;
  color: #fff
}

.footer__to-top {
  cursor: pointer;
  transition: .5s;
}

.footer__to-top:hover {
  transform: scale(1.1);
}

.footer__foot {
  display: flex;
  align-items: center;
  gap: 5px;
  padding-top: 25px;
  margin-top: 40px;
  border-top: 1px solid #fff3
}

@media (max-width: 480px) {
  .footer__foot {
    padding-top: 15px;
    margin-top: 70px
  }
}

.footer__foot span {
  font-weight: 300;
  font-size: 0.8125em;
  color: #fff
}

.footer__foot a {
  display: flex;
  align-items: center;
  justify-content: center
}

.block__body {
  display: flex;
  align-items: center;
  margin: 0 -50px
}

@media (max-width: 992px) {
  .block__body {
    flex-direction: column;
    align-items: start;
    row-gap: 30px
  }
}

@media (max-width: 480px) {
  .block__body {
    row-gap: 20px
  }
}

.block__image {
  flex: 0 0 50%;
  padding: 0 50px
}

.block__image img {
  width: 100%
}

.block__content {
  flex: 1 0 50%;
  padding: 0 50px
}

.block__text {
  font-weight: 300;
  font-size: 1.1875em;
  line-height: 147%;
  color: #666;
  display: flex;
  flex-direction: column;
  row-gap: 10px
}

@media (max-width: 480px) {
  .block__text {
    font-size: 0.875em
  }
}

.block__text ul {
  display: flex;
  flex-direction: column;
  row-gap: 10px;
  padding-left: 30px
}

.block__text li {
  list-style: disc
}

.history {
  padding: 50px 0 100px;
  background: #242d4c;
  overflow: hidden
}

@media (max-width: 480px) {
  .history {
    padding: 30px 0 50px
  }
}

.history__container {
  position: relative
}

.history__container::before {
  content: "";
  display: block;
  position: absolute;
  left: 15px;
  top: -50px;
  bottom: -100px;
  width: 1px;
  background-color: #ffffff1a
}

.history__container::after {
  content: "";
  display: block;
  position: absolute;
  right: 15px;
  top: -50px;
  bottom: -100px;
  width: 1px;
  background-color: #ffffff1a
}

.history__title {
  padding: 0 58px;
  font-weight: 300;
  font-size: 1.25em;
  color: #fff;
  padding-bottom: 25px;
  border-bottom: 1px solid #ffffff1a;
  margin-bottom: 60px
}

@media (max-width: 992px) {
  .history__title {
    padding: 0 30px;
    padding-bottom: 25px
  }
}

@media (max-width: 480px) {
  .history__title {
    padding: 0 20px;
    padding-bottom: 15px;
    font-size: 1.125em;
    margin-bottom: 30px
  }
}

.history__pagination {
  padding: 0 58px;
  margin-top: 40px
}

@media (max-width: 992px) {
  .history__pagination {
    padding: 0 30px
  }
}

@media (max-width: 480px) {
  .history__pagination {
    margin-top: 25px;
    padding: 0 20px
  }
}

.history__pagination .swiper-pagination-bullet {
  background-color: #fff !important;
  transition: .5s
}

.item-history {
  display: flex;
  align-items: center;
  column-gap: 60px;
  padding: 0 58px
}

@media (max-width: 992px) {
  .item-history {
    padding: 0 30px
  }
}

@media (max-width: 480px) {
  .item-history {
    padding: 0 20px
  }
}

.item-history__title {
  color: #fff
}

@media (max-width: 480px) {
  .item-history__title {
    font-size: 1.625em
  }
}

.item-history__title::after {
  background-color: #fff
}

.item-history__text {
  font-weight: 300;
  font-size: 1.1875em;
  line-height: 147%;
  color: #c0c7de;
  display: flex;
  flex-direction: column;
  row-gap: 10px
}

@media (max-width: 480px) {
  .item-history__text {
    font-size: 0.875em
  }
}

.item-history__image {
  flex: 0 0 30%
}

@media (max-width: 767px) {
  .item-history__image {
    display: none
  }
}

.item-history__image img {
  width: 100%
}

.charters__items-wrapper {
  position: relative
}

.charters__item {
  border: 10px solid #828282;
  border-radius: 15px;
  display: block
}

@media (max-width: 480px) {
  .charters__item {
    border-width: 5px
  }
}

.charters__item img {
  width: 100%
}

.charters__arrow,
.history__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: .5s
}

.charters__arrow.swiper-button-disabled,
.history__arrow.swiper-button-disabled {
  opacity: .5
}

.charters__prev,
.history__prev {
  left: -50px
}

.charters__next,
.history__next {
  right: -50px
}

.service {
  height: calc(100vh - 84.8px);
  position: relative;
  margin-top: 0;
  padding: 50px 0 background-position:center;
  background-size: cover;
  background-repeat: no-repeat;
}

@media (max-width: 1200px) {
  .service {

    height: calc(100vh - 74px)
  }
}

@media (max-width: 480px) {
  .service {
    height: calc(100vh - 60px)
  }
}

.service::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #131313a6
}

.service__container {
  position: relative;
  z-index: 1;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center
}

.service__title {
  font-weight: 300;
  font-size: 3.25em;
  line-height: 115%;
  color: #fff;
  max-width: 700px;
  margin-bottom: 30px
}

@media (max-width: 480px) {
  .service__title {
    font-size: 2.125em;
    margin-bottom: 20px
  }
}

.service__text {
  font-weight: 400;
  font-size: 1.0625em;
  line-height: 159%;
  color: #d7d7d7;
  max-width: 705px
}

@media (max-width: 480px) {
  .service__text {
    font-size: 0.875em
  }
}

.service__text strong {
  font-weight: 300;
  line-height: 147%;
  position: relative;
  display: block;
  margin-top: 50px
}

@media (max-width: 480px) {
  .service__text strong {
    margin-top: 30px
  }
}

.service__text strong::before {
  content: "";
  display: block;
  background-color: #b4b4b4;
  margin-bottom: 15px;
  width: 32px;
  height: 1px
}

.numbers__items {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 15px
}

@media (max-width: 1100px) {
  .numbers__items {
    grid-template-columns: 1fr 1fr 1fr
  }
}

@media (max-width: 767px) {
  .numbers__items {
    grid-template-columns: 1fr 1fr
  }
}

@media (max-width: 480px) {
  .numbers__items {
    grid-template-columns: 1fr;
    gap: 10px
  }
}

.number {
  padding: 30px 20px;
  border-radius: 15px;
  background: #f8f8f8
}

.number__number {
  height: 51px;
  width: 51px;
  background: url(../themes/demo/assets/images/number.svg) center / 100% no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  font-size: 1.1875em;
  line-height: 116%;
  color: #242d4c;
  margin-bottom: 20px
}

.number__title {
  font-weight: 300;
  font-size: 1.1875em;
  line-height: 116%;
  color: #151515;
  margin-bottom: 15px
}

.number__title::after {
  content: "";
  display: block;
  width: 33px;
  height: 1px;
  background-color: #151515;
  margin-top: 10px
}

.number__text {
  font-weight: 300;
  font-size: 0.875em;
  line-height: 107%;
  color: #666;
  display: flex;
  flex-direction: column;
  row-gap: 10px
}

.header-hover {
  position: relative;
  overflow: hidden
}

.header-hover:hover {
  overflow: visible
}

.header-hover:hover .header-hover__items {
  opacity: 1
}

.header-hover__title {
  font-weight: 300;
  font-size: 1.0625em;
  color: #151515;
  line-height: 1.3;
  cursor: pointer
}

.header-hover__hidden {
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translateY(100%)
}

.header-hover__items {
  width: 300px;
  padding: 15px;
  border-radius: 15px;
  display: flex;
  flex-direction: column;
  row-gap: 10px;
  background-color: #fff;
  box-shadow: 0 0 20px -15px #151515;
  margin-top: 15px;
  transition: .5s;
  opacity: 0;
  align-items: start;
}

.header-hover__item {
  font-weight: 300;
  font-size: 0.9375em;
  color: #151515;
  line-height: 1.3;
  transition: .5s;
  position: relative;
}

.header-hover__item::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 0;
  height: 2px;
  background-color: #242d4c;
  transition: width .5s ease-in-out;
}

.header-hover__item:hover::after {
  width: 100%;
}

.menu-hover {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center
}

.menu-hover__title {
  font-weight: 300;
  font-size: 1.0625em;
  color: #151515;
  line-height: 1.3;
  cursor: pointer;
  text-align: center
}

.menu-hover__hidden {
  display: none
}

.menu-hover__items {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 10px;
  margin-top: 15px
}

.menu-hover__item {
  font-weight: 300;
  font-size: 0.9375em;
  color: #151515;
  line-height: 1.3;
  transition: .5s;
  text-align: center
}

.menu-hover__item:hover {
  color: #242d4c
}

.schedule {
  margin-top: 60px
}

@media (max-width: 480px) {
  .schedule {
    margin-top: 40px
  }
}

.schedule__body {
  display: grid;
  grid-template-columns: 176px 1fr;
  align-items: start;
  column-gap: 32px
}

@media (max-width: 767px) {
  .schedule__body {
    grid-template-columns: 1fr;
    gap: 20px
  }
}

.schedule__items {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 32px
}

@media (max-width: 992px) {
  .schedule__items {
    grid-template-columns: 1fr 1fr;
    gap: 20px
  }
}

@media (max-width: 550px) {
  .schedule__items {
    grid-template-columns: 1fr
  }
}

.categories {
  padding: 20px;
  border: 1px solid #dedede;
  border-radius: 10px;
  overflow: hidden
}

.categories__title {
  font-weight: 300;
  font-size: 0.875em;
  line-height: 130%;
  color: #666;
  margin-bottom: 30px;
  position: relative
}

.categories__title::after {
  content: "";
  display: block;
  position: absolute;
  left: -20px;
  right: -20px;
  height: 1px;
  bottom: -15px;
  background-color: #dedede
}

.categories__items {
  display: flex;
  flex-direction: column;
  row-gap: 20px
}

.categories__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  cursor: pointer
}

.categories__item::after {
  content: "";
  display: block;
  position: absolute;
  left: -15px;
  right: -15px;
  top: -7px;
  bottom: -7px;
  border-radius: 10px;
  background: #242d4c;
  z-index: -1;
  opacity: 0;
  transition: .5s
}

.categories__item.active::after {
  opacity: 1
}

.categories__item.active span {
  color: #fff
}

.categories__item.active svg path {
  stroke: #fff
}

.categories__item span {
  font-weight: 300;
  font-size: 1.1875em;
  line-height: 126%;
  color: #151515;
  transition: .5s
}

.categories__item svg path {
  transition: .5s
}

.item-schedule {
  padding: 40px 30px;
  border-radius: 10px;
  background: #f8f8f8;
  display: none;
  position: relative;
  overflow: hidden
}

@media (max-width: 480px) {
  .item-schedule {
    padding: 30px 20px
  }
}

.item-schedule::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 8px;
  background: #242d4c
}

.item-schedule.active {
  display: block
}

.item-schedule__title {
  font-weight: 500;
  font-size: 1.1875em;
  line-height: 126%;
  color: #151515;
  margin-bottom: 15px
}

.item-schedule__text {
  font-weight: 300;
  font-size: 0.875em;
  line-height: 143%;
  color: #666;
  display: flex;
  flex-direction: column;
  row-gap: 10px
}

.contacts {
  margin-top: 60px
}

@media (max-width: 480px) {
  .contacts {
    margin-top: 40px
  }
}

.contacts__body {
  display: grid;
  grid-template-columns: 1fr 220px;
  padding: 20px 60px 20px 20px;
  border: 1px solid #dedede;
  border-radius: 15px;
  gap: 55px
}

@media (max-width: 767px) {
  .contacts__body {
    display: flex;
    flex-direction: column-reverse;
    row-gap: 20px;
    padding-right: 20px
  }
}

.contacts__map {
  height: 417px;
  border-radius: 15px;
  overflow: hidden
}

@media (max-width: 480px) {
  .contacts__map {
    margin-left: -20px;
    margin-right: -20px;
    border-radius: 0 0 15px 15px;
    height: 450px;
  }
}

.contacts__map iframe,
.contacts__map div {
  height: 100%;
  width: 100%
}

.contacts__items {
  display: flex;
  flex-direction: column;
  justify-content: center;
  row-gap: 20px
}

.contacts__item {
  position: relative
}

.contacts__item:not(:last-child) {
  padding-bottom: 20px;
  border-bottom: 1px solid #dedede
}

.contact__image {
  margin-bottom: 14px
}

.contact__text {
  font-weight: 300;
  font-size: 1.125em;
  line-height: 133%;
  color: #151515;
  display: flex;
  flex-direction: column;
  row-gap: 5px
}

.contact__text a {
  color: inherit
}

@media (max-width: 480px) {
  .contact__text {
    font-size: 1.0em
  }
}

.modal {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #15151550;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99;
  padding: 10px;
  display: none
}

.modal.active {
  display: flex
}

.modal__body {
  padding: 70px 50px;
  background-color: #fff;
  border-radius: 20px;
  position: relative
}

@media (max-width: 767px) {
  .modal__body {
    padding: 30px 15px
  }
}

.modal__close {
  position: absolute;
  top: 15px;
  right: 20px;
  font-size: 2.5em;
  color: #bbb;
  background-color: transparent;
  cursor: pointer
}

@media (max-width: 480px) {
  .modal__close {
    font-size: 1.875em;
    top: 10px;
    right: 15px
  }
}

.modal__title {
  margin-bottom: 20px;
  font-size: 2.1875em
}

@media (max-width: 480px) {
  .modal__title {
    font-size: 1.5625em
  }
}

.modal__text {
  max-width: 500px;
  font-family: var(--font-family);
  font-weight: 300;
  font-size: 0.9375em;
  line-height: 135%;
  color: #444;
  margin-bottom: 20px
}

@media (max-width: 480px) {
  .modal__text {
    font-size: 0.875em
  }
}

.modal__inputs {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 1fr;
  grid-template-areas: "a b" "c c"
}

.modal__input:first-child {
  grid-area: a
}

.modal__input:nth-child(2) {
  grid-area: b
}

.modal__input:nth-child(3) {
  grid-area: c
}

.modal__input input {
  width: 100%;
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 0.875em;
  line-height: 171%;
  color: #151515;
  padding: 18px 13px 16px;
  border-radius: 10px;
  background: #e8ecf2
}

.modal__input input::placeholder {
  color: #828282
}

.modal__button {
  font-family: var(--font-family);
  font-weight: 700;
  font-size: 1.0em;
  text-align: center;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 15px 40px 13px;
  margin-top: 25px;
  border-radius: 10px;
  transition: .5s;
  background: #242d4c
}

.modal__button:hover {
  box-shadow: 0 0 20px #242d4c
}

.hack10-loading-wrapper {
  height: 100vh;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99
}

.hack10-loading-wrapper-mobile {
  height: 100vh;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99
}

.banner {
  width: 100%;
  height: 100%;
  object-fit: cover
}

img {
  pointer-events: none;
  user-drag: none;
  -webkit-user-drag: none;
  user-select: none;
  -webkit-user-select: none;
}

select {
  font-family: var(--font-family);
  background-color: transparent;
}


.notfound__container {
  display: flex;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  padding-top: 0px
}

.notfound__title {
  font-size: 7.5em;
  font-weight: 400;
  line-height: 120px;
  text-align: center
}

.notfound__subtitle {
  font-size: 2.5em;
  font-weight: 300;
  line-height: 94px;
  text-align: center;
  text-transform: uppercase
}

.notfound__text {
  font-size: 1.0625em;
  font-weight: 400;
  line-height: 21px;
  letter-spacing: 0;
  text-align: center;
  color: #888
}

.notfound__button {
  margin-top: 47px;
  align-self: center
}

@media (max-width: 480px) {
  .notfound__title {
    font-size: 5.0em;
    line-height: 80px;
  }

  .notfound__subtitle {
    font-size: 1.625em;
    line-height: 1.3;
    margin: 20px 0 20px;
  }

  .notfound__text {
    font-size: 1.25em;
  }

  .notfound__container {
    padding: 0 15px;
  }
}

.forms.active .formsuccess,
.forms2.active .formsuccess2 {
  background: green;
  padding: 10px;
  margin-bottom: 10px;
  color: #fff;
  font-size: 0.875em;
  font-family: var(--font-family);
}

.g-form__preloader,
.g-form__preloader2 {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  display: none;
  justify-content: center;
  align-items: center;
  background: #ffffff6b;
  z-index: -5;
}

.g-form__preloader_content,
.g-form__preloader_content2 {
  width: 100px;
  height: 100px;
  border: 3px dashed #242d4c;
  border-radius: 50%;
  animation: loadAnim 3s infinite linear;
}

.g-form__preloader.active,
.g-form__preloader2.active {
  display: flex;
  z-index: 99;
}

@keyframes loadAnim {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}


@media (min-width: 1700px) {
  ._container {
    max-width: 100%;
    width: 80vw;
  }

  .schedule__items {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

.header-langs {
  position: relative;
}

.header-langs__title {
  color: #777;
  font-size: 1.0em;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  text-transform: uppercase;
  cursor: pointer;
  transition: .3s;
  display: flex;
  align-items: center;
  column-gap: 6px;
}

.header-langs__title:hover {
  color: #242d4c;
}

.header-langs__title img {
  transition: .5s;
}

.header-langs__title.active img {
  transform: rotate(180deg);
}

.header-langs__list {
  position: absolute;
  bottom: 0;
  left: 0;
  min-width: 100%;
  transform: translateY(100%);
  background-color: #fff;
  box-shadow: 0 0 20px -15px #151515;
  display: none;
  flex-direction: column;
}

.header-langs__lang {
  display: block;
  padding: 5px 10px;
  color: #777;
  font-size: 0.9375em;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  text-transform: uppercase;
  transition: .3s;
}

.header-langs__lang:hover {
  background-color: #242d4c;
  color: #fff;
}

@media (max-width: 480px) {
  .header-langs__title {
    font-size: 0.875em;
  }
}

@media (min-width: 1600px) {
  body {
    font-size: clamp(0.875em, 0.9625vw, 1.05em);
  }

  body {
    font-size: clamp(1.0em, 1.1vw, 1.2em);
  }

  .main__title {
    font-size: clamp(5.0em, 5.4vw, 5.8em);
  }

  .main__title {
    font-size: clamp(4.125em, 4.4375vw, 4.75em);
  }

  .main__title {
    font-size: clamp(3.5em, 3.75vw, 4.0em);
  }

  .main__text {
    font-size: clamp(1.5em, 1.65vw, 1.8em);
  }

  .main__text {
    font-size: clamp(1.125em, 1.2375vw, 1.35em);
  }

  .main__button {
    font-size: clamp(1.0em, 1.1vw, 1.2em);
  }

  .main__button {
    font-size: clamp(0.875em, 0.9625vw, 1.05em);
  }

  .header__item {
    font-size: clamp(1.0625em, 1.16875vw, 1.275em);
  }

  .header__langs {
    font-size: clamp(1.0625em, 1.16875vw, 1.275em);
  }

  span {
    font-size: clamp(1.0625em, 1.16875vw, 1.275em);
  }

  .header__button {
    font-size: clamp(1.0em, 1.1vw, 1.2em);
  }

  .menu__close {
    font-size: clamp(3.125em, 3.4375vw, 3.75em);
  }

  .menu__close {
    font-size: clamp(2.5em, 2.75vw, 3.0em);
  }

  .title {
    font-size: clamp(3.75em, 4.025vw, 4.3em);
  }

  .title {
    font-size: clamp(2.875em, 3.0625vw, 3.25em);
  }

  .item-services__title {
    font-size: clamp(1.4375em, 1.58125vw, 1.725em);
  }

  .item-services__text {
    font-size: clamp(1.0em, 1.1vw, 1.2em);
  }

  .why__title {
    font-size: clamp(2.75em, 3.025vw, 3.3em);
  }

  .why__title {
    font-size: clamp(1.875em, 2.0625vw, 2.25em);
  }

  .item-why__title {
    font-size: clamp(1.125em, 1.2375vw, 1.35em);
  }

  .item-why__text {
    font-size: clamp(0.875em, 0.9625vw, 1.05em);
  }

  .item-reviews__title {
    font-size: clamp(1.1875em, 1.30625vw, 1.425em);
  }

  .item-reviews__text {
    font-size: clamp(0.875em, 0.9625vw, 1.05em);
  }

  .form__text {
    font-size: clamp(1.125em, 1.2375vw, 1.35em);
  }

  .form__text {
    font-size: clamp(1.0em, 1.1vw, 1.2em);
  }

  input {
    font-size: clamp(1.375em, 1.5125vw, 1.65em);
  }

  input {
    font-size: clamp(1.125em, 1.2375vw, 1.35em);
  }

  .form__button {
    font-size: clamp(1.0625em, 1.16875vw, 1.275em);
  }

  .form__button {
    font-size: clamp(0.9375em, 1.03125vw, 1.125em);
  }

  .item-form__text {
    font-size: clamp(1.4375em, 1.58125vw, 1.725em);
  }

  .item-form__text {
    font-size: clamp(1.125em, 1.2375vw, 1.35em);
  }

  p {
    font-size: clamp(1.0em, 1.1vw, 1.2em);
  }

  .footer__nav-title {
    font-size: clamp(1.0em, 1.1vw, 1.2em);
  }

  .footer__nav-item {
    font-size: clamp(0.875em, 0.9625vw, 1.05em);
  }

  span {
    font-size: clamp(0.8125em, 0.89375vw, 0.975em);
  }

  .block__text {
    font-size: clamp(1.1875em, 1.30625vw, 1.425em);
  }

  .block__text {
    font-size: clamp(0.875em, 0.9625vw, 1.05em);
  }

  .history__title {
    font-size: clamp(1.25em, 1.375vw, 1.5em);
  }

  .history__title {
    font-size: clamp(1.125em, 1.2375vw, 1.35em);
  }

  .item-history__title {
    font-size: clamp(1.625em, 1.7875vw, 1.95em);
  }

  .item-history__text {
    font-size: clamp(1.1875em, 1.30625vw, 1.425em);
  }

  .item-history__text {
    font-size: clamp(0.875em, 0.9625vw, 1.05em);
  }

  .service__title {
    font-size: clamp(3.25em, 3.575vw, 3.9em);
  }

  .service__title {
    font-size: clamp(2.125em, 2.3375vw, 2.55em);
  }

  .service__text {
    font-size: clamp(1.0625em, 1.16875vw, 1.275em);
  }

  .service__text {
    font-size: clamp(0.875em, 0.9625vw, 1.05em);
  }

  .number__number {
    font-size: clamp(1.1875em, 1.30625vw, 1.425em);
  }

  .number__title {
    font-size: clamp(1.1875em, 1.30625vw, 1.425em);
  }

  .number__text {
    font-size: clamp(0.875em, 0.9625vw, 1.05em);
  }

  .header-hover__title {
    font-size: clamp(1.0625em, 1.16875vw, 1.275em);
  }

  .header-hover__item {
    font-size: clamp(0.9375em, 1.03125vw, 1.125em);
  }

  .menu-hover__title {
    font-size: clamp(1.0625em, 1.16875vw, 1.275em);
  }

  .menu-hover__item {
    font-size: clamp(0.9375em, 1.03125vw, 1.125em);
  }

  .categories__title {
    font-size: clamp(0.875em, 0.9625vw, 1.05em);
  }

  span {
    font-size: clamp(1.1875em, 1.30625vw, 1.425em);
  }

  .item-schedule__title {
    font-size: clamp(1.1875em, 1.30625vw, 1.425em);
  }

  .item-schedule__text {
    font-size: clamp(0.875em, 0.9625vw, 1.05em);
  }

  .contact__text {
    font-size: clamp(1.125em, 1.2375vw, 1.35em);
  }

  .contact__text {
    font-size: clamp(1.0em, 1.1vw, 1.2em);
  }

  .modal__close {
    font-size: clamp(2.5em, 2.75vw, 3.0em);
  }

  .modal__close {
    font-size: clamp(1.875em, 2.0625vw, 2.25em);
  }

  .modal__title {
    font-size: clamp(2.1875em, 2.40625vw, 2.625em);
  }

  .modal__title {
    font-size: clamp(1.5625em, 1.71875vw, 1.875em);
  }

  .modal__text {
    font-size: clamp(0.9375em, 1.03125vw, 1.125em);
  }

  .modal__text {
    font-size: clamp(0.875em, 0.9625vw, 1.05em);
  }

  input {
    font-size: clamp(0.875em, 0.9625vw, 1.05em);
  }

  .modal__button {
    font-size: clamp(1.0em, 1.1vw, 1.2em);
  }

  .notfound__title {
    font-size: clamp(7.5em, 8.25vw, 9.0em);
  }

  .notfound__subtitle {
    font-size: clamp(2.5em, 2.75vw, 3.0em);
  }

  .notfound__text {
    font-size: clamp(1.0625em, 1.16875vw, 1.275em);
  }

  .notfound__title {
    font-size: clamp(5.0em, 5.5vw, 6.0em);
  }

  .notfound__subtitle {
    font-size: clamp(1.625em, 1.7875vw, 1.95em);
  }

  .notfound__text {
    font-size: clamp(1.25em, 1.375vw, 1.5em);
  }

  .formsuccess2 {
    font-size: clamp(0.875em, 0.9625vw, 1.05em);
  }

  .header-langs__title {
    font-size: clamp(1.0em, 1.1vw, 1.2em);
  }

  .header-langs__lang {
    font-size: clamp(0.9375em, 1.03125vw, 1.125em);
  }

  .header-langs__title {
    font-size: clamp(0.875em, 0.9625vw, 1.05em);
  }
}


.gallery-slider__image {
  position: relative;
  overflow: hidden;
  padding-bottom: 80%;
  border-radius: 15px;
  margin-bottom: 15px;
}

.gallery-slider__image img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gallery-slider__date {
  font-size: 18px;
  color: #555;
  line-height: 1.2;
  margin-bottom: 10px;
}

.gallery-slider__name {
  font-size: 22px;
  margin-bottom: 10px;
  line-height: 1.3;
  color: #151515;
}

.gallery-slider__text {
  font-size: 16px;
  color: #555;
  line-height: 1.2;
}

.gallery-slider__pagination {}

.news-single {
  margin-top: 50px;
}

@media (max-width: 480px) {
  .news-single {
    margin-top: 30px;
  }
}

.news-single__title {
  max-width: 900px;
  font-size: 40px;
  margin-bottom: 20px;
}

@media (max-width: 480px) {
  .news-single__title {
    font-size: 28px;
    margin-bottom: 15px;
  }
}

.news-single__text {
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;
  color: #666;
  font-family: var(--second-family);
  display: flex;
  flex-direction: column;
  row-gap: 10px;
  margin-bottom: 30px;
}

.news-single__text ul {
  display: flex;
  flex-direction: column;
  row-gap: 10px;
  padding-left: 30px;
}

.news-single__text li {
  list-style: disc;
}

@media (max-width: 480px) {
  .news-single__text {
    font-size: 14px;
    margin-bottom: 20px;
  }
}

.news-single__images {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 32px;
}

@media (max-width: 767px) {
  .news-single__images {
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
}

@media (max-width: 480px) {
  .news-single__images {
    grid-template-columns: 1fr;
    gap: 15px;
  }
}

.news-single__image {
  position: relative;
  overflow: hidden;
  display: block;
  border-radius: 10px;
  padding-bottom: 80%;
}

.news-single__image img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}


.form__bottom {
  display: flex;
  align-items: center;
  column-gap: 20px;
  margin-top: 30px;
}

.form__bottom span {
  font-size: 13px;
  color: #555;
  display: block;
  max-width: 250px;
  display: block;
}

.form__bottom span a {
  color: #242d4c;
  text-decoration: underline;
}

@media (max-width: 480px) {
  .form__bottom {
    margin-top: 20px;
    flex-direction: column;
    row-gap: 10px;
    align-items: start;
  }
}

.gallery-page__items {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 32px;
}

@media (max-width: 992px) {
  .gallery-page__items {
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
}

@media (max-width: 600px) {
  .gallery-page__items {
    grid-template-columns: 1fr;
  }
}

.gallery-page {
	margin-top: 60px;
}

.gallery-page__items {
	display: flex;
	flex-direction: column;
	row-gap: 50px;
}

.gallery-page__item {
	padding-bottom: 50px;
	border-bottom: 2px solid #f1f1f1;
}

.gallery-page__name {
	font-size: 1.7em;
	color: #151515;
	line-height: 1.3;
	margin-bottom: 25px;
}

.gallery-page__name::after {
	content: "";
	display: block;
	width: 40px;
	height: 3px;
	margin-top: 15px;
	background-color: #242d4c;
}

.gallery-page__date {
	color: #bbb;
	font-size: 1.2em;
	margin-bottom: 10px;
}

.gallery-page__text {
	font-size: 1.2em;
	color: #333;
	line-height: 1.3;
	margin-bottom: 30px;
}

.gallery-page__images {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 32px;
}

.gallery-page__image {
	position: relative;
	overflow: hidden;
	padding-bottom: 70%;
	display: block;
	border-radius: 15px;
}

.gallery-page__image img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 767px) {
.gallery-page__images {
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
}

@media (max-width: 480px) {
.gallery-page__images {
	grid-template-columns: 1fr;
	gap: 15px;
}
.gallery-page__name {
	font-size: 22px;
	margin-bottom: 15px;
}
.gallery-page__name::after {
	margin-top: 10px;
}
.gallery-page__text {
	font-size: 14px;
}
.gallery-page__items {
	row-gap: 20px;
}
.gallery-page__item {
	padding-bottom: 20px;
}
}