:root {
  --kd-text: #3c3c3c;
  --white: #fff;
  --kd-blue: #00b3f8;
  --kd-lylac: #7b61ff;
  --background: #fbfbfb;
  --lylac-darker: #8b6fc5;
  --true-black: #000;
}

.w-layout-blockcontainer {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

@media screen and (max-width: 991px) {
  .w-layout-blockcontainer {
    max-width: 728px;
  }
}

@media screen and (max-width: 767px) {
  .w-layout-blockcontainer {
    max-width: none;
  }
}

body {
  color: #333;
  font-family: PT Sans, Tahoma, sans-serif;
  font-size: 14px;
  line-height: 20px;
}

h1 {
  margin-top: 20px;
  margin-bottom: 10px;
  font-family: Montserrat Variable, Trebuchet MS, sans-serif;
  font-size: 38px;
  font-weight: 700;
  line-height: 44px;
}

a {
  color: var(--kd-text);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

.navbar-section {
  z-index: 999;
  width: 100%;
  position: fixed;
}

.navbar-section.is--white {
  color: #fff;
}

.header {
  z-index: 5;
  background-color: #0000;
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 12px;
  padding-bottom: 12px;
}

.header.shadow-three {
  width: 100%;
  max-width: 1140px;
  margin-bottom: 0;
  padding-top: 20px;
  padding-bottom: 20px;
}

.header.is--white {
  color: var(--white);
  padding-top: 24px;
  padding-bottom: 24px;
}

.prebuilt-container {
  width: 100%;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 32px;
  padding-right: 32px;
}

.prebuilt-container.is--hero {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  color: var(--white);
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  height: 100%;
  display: flex;
}

.prebuilt-container.is--ku {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.prebuilt-container.is--how {
  grid-column-gap: 24px;
  grid-row-gap: 0px;
  flex-flow: column;
  display: flex;
}

.navbar-wrapper {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding-top: 24px;
  padding-bottom: 24px;
  font-family: Montserrat Variable, Trebuchet MS, sans-serif;
  display: flex;
}

.navbar-brand {
  height: 32px;
}

.navbar-menu-wrapper {
  grid-column-gap: 48px;
  grid-row-gap: 48px;
  display: flex;
}

.nav-menu-two {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0;
  font-weight: 600;
  line-height: 18px;
  display: flex;
}

.nav-menu-two.is--white {
  color: var(--kd-text);
}

.nav-link {
  letter-spacing: 0;
  color: inherit;
  margin-left: 0;
  margin-right: 0;
  padding: 5px 16px;
  font-size: 16px;
  font-weight: 500;
  line-height: 20px;
  text-decoration: none;
}

.nav-link:hover, .nav-link:focus {
  color: var(--kd-blue);
}

.nav-link:focus-visible, .nav-link[data-wf-focus-visible] {
  outline-offset: 0px;
  color: var(--kd-blue);
  border-radius: 4px;
  outline: 2px solid #0050bd;
}

.nav-dropdown {
  margin-left: 5px;
  margin-right: 5px;
}

.nav-dropdown-toggle {
  letter-spacing: .25px;
  padding: 5px 30px 5px 10px;
  font-size: 14px;
  line-height: 20px;
}

.nav-dropdown-toggle:hover {
  color: #1a1b1fbf;
}

.nav-dropdown-toggle:focus-visible, .nav-dropdown-toggle[data-wf-focus-visible] {
  outline-offset: 0px;
  color: #0050bd;
  border-radius: 5px;
  outline: 2px solid #0050bd;
}

.nav-dropdown-icon {
  margin-right: 10px;
}

.nav-dropdown-list {
  background-color: #fff;
  border-radius: 12px;
}

.nav-dropdown-list.w--open {
  padding-top: 10px;
  padding-bottom: 10px;
}

.nav-dropdown-link {
  padding-top: 5px;
  padding-bottom: 5px;
  font-size: 14px;
}

.nav-dropdown-link:focus-visible, .nav-dropdown-link[data-wf-focus-visible] {
  outline-offset: 0px;
  color: #0050bd;
  border-radius: 5px;
  outline: 2px solid #0050bd;
}

.nav-divider {
  background-color: #e4ebf3;
  width: 1px;
  height: 22px;
  margin-left: 15px;
  margin-right: 15px;
}

.nav-link-accent {
  color: #1a1b1f;
  letter-spacing: .25px;
  margin-left: 5px;
  margin-right: 20px;
  padding: 5px 10px;
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
  text-decoration: none;
}

.nav-link-accent:hover {
  color: #1a1b1fbf;
}

.button-fill {
  background-color: var(--kd-blue);
  color: #fff;
  letter-spacing: 2px;
  text-transform: uppercase;
  border-radius: 20px;
  padding: 16px 32px;
  font-size: 18px;
  line-height: 32px;
  transition: all .2s;
  display: flex;
}

.button-fill:hover {
  background-color: var(--kd-blue);
  color: #fff;
  background-image: linear-gradient(90deg, #00b3f8, #7b61ff);
  text-decoration: none;
}

.button-fill:active {
  background-color: #43464d;
  background-image: linear-gradient(to bottom, var(--kd-lylac), var(--kd-lylac));
}

.button-fill:focus {
  background-color: var(--kd-lylac);
}

.button-fill.is--small {
  border-radius: 16px;
  padding: 12px 24px;
  font-size: 14px;
  line-height: 24px;
}

.image {
  height: 32px;
}

.link {
  color: var(--kd-text);
  text-decoration: none;
}

.link:hover {
  text-decoration: underline;
}

.uibody {
  padding: 57px;
}

.main-hero {
  background-image: linear-gradient(#0000, #7b61ff4d), url('../images/Background-Image_1.avif');
  background-position: 0 0, 0 0;
  background-size: auto, cover;
  height: 850px;
  position: relative;
}

.lang-switcher {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  display: flex;
}

.lang-link {
  border: 1px solid var(--kd-blue);
  color: var(--kd-blue);
  border-radius: 12px;
  padding: 4px 8px;
}

.lang-link.is--active {
  background-image: linear-gradient(to bottom, var(--kd-blue), var(--kd-blue));
  color: var(--white);
}

.main-hero-header {
  color: var(--white);
  letter-spacing: .2rem;
  text-transform: uppercase;
  font-size: 70px;
  font-weight: 800;
  line-height: 80px;
}

.hero-subheader {
  font-family: Montserrat Variable, Trebuchet MS, sans-serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 40px;
}

.paragraph {
  font-size: 18px;
  line-height: 22px;
}

.hero-text {
  margin-bottom: 16px;
  font-family: Montserrat Variable, Trebuchet MS, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
}

.ku-texts {
  grid-column-gap: 0px;
  grid-row-gap: 8px;
  flex-flow: column;
  flex: 1;
  align-items: flex-start;
  padding-right: 32px;
  display: flex;
}

.button {
  background-color: var(--kd-blue);
  border-radius: 16px;
  height: 52px;
  padding: 16px 32px;
  font-size: 16px;
}

.dc-line {
  background-image: url('../images/data_center.svg');
  background-position: 50%;
  background-repeat: repeat-x;
  background-size: contain;
  width: 100%;
  height: 80px;
  position: absolute;
  inset: auto auto -40px 0%;
}

.ku {
  padding-top: 160px;
  padding-bottom: 0;
}

.kd-blue-bold {
  color: var(--kd-blue);
  font-weight: 400;
}

.body {
  background-color: var(--background);
  color: var(--kd-text);
  padding-bottom: 0;
  font-family: Montserrat Variable, Trebuchet MS, sans-serif;
}

.t16 {
  margin-bottom: 0;
  font-size: 16px;
  line-height: 26px;
}

.t16.is--history-year {
  font-weight: 600;
}

.hero-texts {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  flex-flow: column;
  align-items: flex-start;
  max-width: 640px;
  display: flex;
}

.ku-header {
  font-family: Montserrat Variable, Trebuchet MS, sans-serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 40px;
}

.image-2 {
  flex: none;
}

.how {
  padding-bottom: 160px;
}

.h2 {
  margin-top: 0;
  margin-bottom: 0;
  font-family: Montserrat Variable, Trebuchet MS, sans-serif;
  font-size: 48px;
  font-weight: 500;
  line-height: 56px;
}

.h2.is--gallery {
  color: var(--kd-blue);
  text-transform: uppercase;
  font-size: 40px;
  font-weight: 700;
  line-height: 48px;
}

.h2.is--caps {
  text-transform: uppercase;
  font-weight: 600;
}

.h2.is--contacts {
  text-transform: uppercase;
  font-size: 40px;
  font-weight: 600;
  line-height: 48px;
}

.h2.is--timetable {
  color: var(--kd-blue);
  font-size: 36px;
  font-weight: 400;
  line-height: 44px;
}

.how-list {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  flex-flow: column;
  max-width: 800px;
  display: flex;
}

.how-list-item {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  align-items: flex-start;
  display: flex;
}

.how-list-header {
  grid-column-gap: 4px;
  grid-row-gap: 4px;
  flex-flow: column;
  display: flex;
}

.check-image {
  flex: none;
}

.h3 {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 500;
}

.h3.is--gradi {
  background-image: linear-gradient(90deg, var(--lylac-darker), var(--kd-blue));
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
}

.h3.is--advan {
  font-size: 20px;
  line-height: 28px;
}

.container {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  justify-content: space-between;
  align-items: center;
  max-width: 1440px;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 32px;
  padding-right: 32px;
}

.container.is--hero {
  color: var(--white);
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  height: 100%;
}

.container.is--how {
  grid-column-gap: 0px;
  grid-row-gap: 24px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
}

.container.is--contacts {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.container.is--navbar {
  position: static;
}

.ku-wrapper {
  grid-column-gap: 32px;
  grid-row-gap: 32px;
  align-items: center;
  display: flex;
}

.how-wrapper {
  grid-column-gap: 32px;
  grid-row-gap: 32px;
  flex-flow: column;
  display: flex;
}

.hero-wrapper {
  color: var(--white);
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  height: 100%;
  display: flex;
}

.advan {
  background-image: linear-gradient(90deg, var(--lylac-darker), var(--kd-blue));
  color: var(--white);
  padding-top: 80px;
  padding-bottom: 80px;
}

.advan-list {
  grid-column-gap: 16px;
  grid-row-gap: 32px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.advan-item {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  align-items: center;
  display: flex;
}

.advan-image {
  width: 64px;
}

.problems-wrapper {
  grid-column-gap: 64px;
  grid-row-gap: 64px;
  flex-flow: column;
  margin-bottom: 80px;
  display: flex;
}

.problems {
  padding-top: 160px;
}

.blue-text {
  color: var(--kd-blue);
}

.problems-blocks {
  grid-column-gap: 32px;
  grid-row-gap: 32px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.problems-block {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  background-color: #fdfeff;
  border: 1px #e6e6e6;
  border-radius: 32px;
  flex-flow: column;
  min-height: 360px;
  padding: 40px;
  display: flex;
  box-shadow: 0 12px 24px #2f2a4e1a;
}

.tech-list {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  flex-flow: column;
  margin-top: 48px;
  padding-left: 48px;
  display: flex;
  position: relative;
}

.tech-item {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  flex-flow: column;
  display: flex;
  position: relative;
}

.tech-bg {
  z-index: -1;
  opacity: .5;
  background-image: url('../images/BG.svg');
  background-position: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  width: 600px;
  height: 100%;
  position: absolute;
  inset: 0% 0% auto auto;
}

.tech-dot {
  flex-flow: row-reverse;
  align-items: center;
  width: 400px;
  height: 16px;
  display: flex;
  position: absolute;
  inset: 8px auto auto -412px;
}

.tech-dot-circle {
  background-color: var(--kd-blue);
  background-image: linear-gradient(225deg, var(--kd-lylac), var(--kd-blue));
  border-radius: 16px;
  width: 16px;
  height: 16px;
}

.tech-dot-line {
  background-image: linear-gradient(135deg, #00b3f800, var(--kd-blue));
  flex: 1;
  height: 2px;
}

.form {
  flex: 1;
  margin-top: 0;
  margin-bottom: 120px;
  padding-top: 120px;
}

.form-wrapper {
  grid-column-gap: 64px;
  grid-row-gap: 64px;
  display: flex;
}

.form-header {
  background-image: linear-gradient(135deg, var(--lylac-darker), var(--kd-blue));
  border-radius: 32px;
  width: 40%;
  padding: 40px;
}

.h2-form {
  color: var(--white);
  font-size: 48px;
}

.form-proper {
  border-radius: 32px;
  flex: 1;
  padding: 40px;
  box-shadow: 0 12px 24px #0003;
}

.input-caption {
  margin-bottom: 12px;
  font-size: 16px;
  font-weight: 400;
  line-height: 150%;
}

.input {
  color: var(--kd-text);
  border-radius: 12px;
  width: 100%;
  height: 52px;
  padding: 16px 20px;
  font-size: 16px;
}

.input.is-textarea {
  height: 208px;
}

.input-block {
  margin-bottom: 24px;
}

.input-block.is-short {
  width: 50%;
}

.form-personal {
  color: #979797;
  margin-top: 32px;
  margin-bottom: 0;
}

.footer {
  color: var(--white);
  background-color: #3c3c3c;
  border: 1px #000;
  width: 100%;
  padding: 40px 0 32px;
  position: relative;
}

.container-2 {
  width: 100%;
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}

.footer-wrapper {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.footer-brand {
  width: 240px;
}

.footer-texts {
  flex-flow: row;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  display: flex;
}

.footer-title {
  color: var(--white);
  font-size: 18px;
  font-weight: 500;
  line-height: 32px;
}

.footer-link-two {
  color: #1a1b1f;
  margin-top: 20px;
  text-decoration: none;
}

.footer-link-two:hover {
  color: #1a1b1fbf;
}

.footer-form {
  width: 315px;
  max-width: 100%;
  margin-bottom: 0;
}

.footer-form-block {
  justify-content: center;
  align-items: center;
  margin-top: 24px;
  display: flex;
}

.footer-form-field {
  border: 1px solid #a6b1bf;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  height: 48px;
  margin-bottom: 0;
  padding: 12px 16px;
  font-size: 14px;
  line-height: 22px;
  transition: all .2s;
}

.footer-form-field:hover, .footer-form-field:focus {
  border-color: #76879d;
}

.footer-form-field::placeholder {
  color: #1a1b1fcc;
  font-size: 14px;
  line-height: 22px;
}

.footer-form-submit {
  background-color: #1a1b1f;
  background-image: url('../images/');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: auto;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  width: 50px;
  height: 48px;
  transition: all .2s;
}

.footer-form-submit:hover {
  background-color: #3a4554;
}

.footer-divider-two {
  background-color: #e4ebf3;
  width: 100%;
  height: 1px;
  margin-top: 40px;
  margin-bottom: 40px;
}

.footer-bottom {
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
}

.footer-copyright {
  color: var(--white);
}

.footer-social-block-two {
  justify-content: flex-start;
  align-items: center;
  margin-top: 0;
  margin-left: -12px;
  display: flex;
}

.footer-social-link {
  margin-left: 12px;
}

.footer-address {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  flex-flow: column;
  display: flex;
}

.footer-logo {
  width: 100%;
}

.navbar-back {
  z-index: -1;
  background-color: var(--background);
  opacity: 0;
  position: absolute;
  inset: 0%;
  box-shadow: 0 16px 32px #0000001a;
}

.navbar-back.is--white {
  background-color: var(--white);
  opacity: 1;
  box-shadow: 0 16px 32px #0000001a;
}

.page-hero {
  padding-top: 120px;
}

.page-hero.is--company {
  height: 100vh;
  max-height: 1000px;
}

.page-hero.is--gallery {
  background-color: var(--true-black);
  height: 100vh;
  max-height: 640px;
  position: relative;
}

.services-hero-wrapper {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  background-color: var(--white);
  border-radius: 64px;
  flex-flow: column;
  align-items: flex-start;
  padding: 64px;
  display: flex;
  box-shadow: 0 32px 64px #0000001a;
}

.page-hero-header {
  background-image: linear-gradient(135deg, var(--lylac-darker), var(--kd-blue));
  text-transform: uppercase;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  max-width: 20ch;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 60px;
  line-height: 72px;
}

.page-hero-header.is--gallery {
  -webkit-text-fill-color: inherit;
  background-image: none;
  background-clip: border-box;
}

.page-hero-header.is--contacts {
  margin-bottom: 32px;
}

.page-hero-text {
  max-width: 54ch;
  font-size: 20px;
  line-height: 26px;
}

.sr-wrapper {
  flex-flow: column;
  justify-content: center;
  align-items: flex-end;
  padding-top: 80px;
  padding-bottom: 80px;
  display: flex;
}

.t20 {
  font-size: 20px;
  line-height: 26px;
}

.p-line-block {
  position: relative;
}

.sr-block {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-flow: column;
  width: 50%;
  max-width: 660px;
  display: flex;
}

.sr-block.is--goals {
  max-width: 760px;
}

.p-line {
  background-image: linear-gradient(270deg, var(--kd-text), #3c3c3c00);
  width: 100%;
  height: 1px;
  margin-right: 24px;
  position: absolute;
  top: 12px;
  right: 100%;
}

.p-line.is--right {
  background-image: linear-gradient(90deg, var(--kd-text), #3c3c3c00);
  flex: 1;
  width: auto;
  position: static;
}

.rent-header {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  flex-flow: column;
  display: flex;
}

.server-check {
  width: 32px;
}

.steps {
  padding-top: 120px;
  padding-bottom: 32px;
}

.steps-wrapper {
  grid-column-gap: 64px;
  grid-row-gap: 64px;
  width: 100%;
  height: 100%;
  display: flex;
  overflow: visible;
}

.steps-left {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  width: 50%;
  display: flex;
}

.steps-right {
  aspect-ratio: 1;
  background-color: var(--white);
  cursor: pointer;
  border-radius: 64px;
  width: 50%;
  padding: 64px;
  overflow: visible;
  box-shadow: 0 32px 64px #0000001a;
}

.steps-block {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.step {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  aspect-ratio: 1;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  display: flex;
  position: relative;
}

.step-number {
  background-image: linear-gradient(135deg, var(--lylac-darker), var(--kd-blue));
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  font-size: 180px;
  line-height: 140px;
}

.h4 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 24px;
  font-weight: 500;
  line-height: 32px;
}

.step-arrows {
  position: absolute;
  inset: auto 0% 0% auto;
}

.company-hero-wrapper {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  flex-flow: column;
  justify-content: flex-start;
  height: 100%;
  padding-top: 10vh;
  display: flex;
  position: relative;
}

.company-illustration {
  width: 80%;
  position: absolute;
  inset: 22% -120px auto auto;
}

.image-4 {
  width: 100%;
}

.goals {
  padding-bottom: 120px;
}

.goals-wrapper {
  grid-column-gap: 64px;
  grid-row-gap: 64px;
  flex-flow: column;
  display: flex;
}

.goals-header-block {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  align-items: center;
  display: flex;
}

.ill-section {
  background-image: url('../images/History-Cover-Header-1_1.avif');
  background-position: 50%;
  background-size: cover;
  height: 620px;
}

.history {
  padding-top: 120px;
  padding-bottom: 120px;
}

.history-wrapper {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  align-items: stretch;
  display: flex;
}

.history-divider {
  background-image: linear-gradient(180deg, #00b3f800, var(--kd-blue));
  flex: none;
  width: 2px;
  display: block;
}

.h1 {
  font-size: 60px;
  line-height: 72px;
}

.h1.is--history {
  background-image: linear-gradient(135deg, var(--lylac-darker), var(--kd-blue));
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  max-width: 8ch;
  margin-top: 0;
  margin-bottom: 0;
  line-height: 70px;
}

.history-block {
  flex-flow: column;
  justify-content: space-between;
  display: flex;
}

.company-text-wrapper {
  grid-column-gap: 32px;
  grid-row-gap: 32px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  max-width: 600px;
  display: flex;
}

.gallery-hero-wrapper {
  color: var(--white);
}

.gallery-hero-wrapper.is--gallery {
  z-index: 2;
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  flex-flow: column;
  justify-content: flex-end;
  height: 100%;
  padding-bottom: 64px;
  display: flex;
  position: relative;
}

.gallery-bg {
  z-index: 1;
  opacity: .3;
  position: absolute;
  inset: 0%;
}

.gallery-bg-img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.gallery-section {
  padding-top: 80px;
  padding-bottom: 80px;
}

.gallery-section-wrapper {
  grid-column-gap: 64px;
  grid-row-gap: 64px;
  display: flex;
}

.gallery-left {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  flex-flow: column;
  width: 40%;
  display: flex;
}

.gallery-right {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-flow: column;
  width: 50%;
  display: flex;
}

.slidernav {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  display: flex;
}

.slider-arrow {
  opacity: 0;
  width: 1px;
}

.slider-dots {
  opacity: 0;
  height: 1px;
  padding-top: 0;
  overflow: hidden;
}

.slider {
  background-color: var(--background);
  height: auto;
}

.slider-counter {
  grid-column-gap: 4px;
  grid-row-gap: 4px;
  background-image: linear-gradient(135deg, var(--lylac-darker), var(--kd-blue));
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  display: flex;
}

.gallery-slide {
  vertical-align: baseline;
  height: 100%;
}

.gallery-block {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-flow: wrap;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.gallery-thumb {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 16px;
  width: 100%;
}

.image-5 {
  width: 100%;
  height: 100%;
}

.gallery-counter-text {
  font-size: 18px;
  font-weight: 600;
  line-height: 28px;
}

.karelia-wrapper {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-flow: column;
  max-width: 960px;
  display: flex;
}

.contacts-hero-wrapper {
  grid-column-gap: 64px;
  grid-row-gap: 32px;
  flex-flow: wrap;
  display: flex;
}

.contacts-block {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  flex-flow: column;
  display: flex;
}

.contacts-block.is--wide {
  min-width: 640px;
}

.contacts-timetable {
  grid-column-gap: 32px;
  grid-row-gap: 32px;
  flex-flow: column;
  margin-top: 48px;
  display: flex;
}

.timetable-text {
  font-size: 36px;
  line-height: 44px;
}

.navbar-logo-left-container {
  z-index: 5;
  background-color: #0000;
  width: 1030px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 15px 20px;
}

.navbar-logo-left-container.shadow-three {
  width: 100%;
  max-width: 1140px;
  margin-bottom: 0;
  padding-top: 20px;
  padding-bottom: 20px;
}

.container-3 {
  width: 100%;
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}

.navbar-wrapper-2 {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.nav-menu-two-2 {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0;
  display: flex;
}

.nav-link-2 {
  color: #1a1b1f;
  letter-spacing: .25px;
  margin-left: 5px;
  margin-right: 5px;
  padding: 5px 10px;
  font-size: 14px;
  line-height: 20px;
  text-decoration: none;
}

.nav-link-2:hover {
  color: #1a1b1fbf;
}

.nav-link-2:focus-visible, .nav-link-2[data-wf-focus-visible] {
  outline-offset: 0px;
  color: #0050bd;
  border-radius: 4px;
  outline: 2px solid #0050bd;
}

.nav-dropdown-2 {
  margin-left: 5px;
  margin-right: 5px;
}

.nav-dropdown-toggle-2 {
  letter-spacing: .25px;
  padding: 5px 30px 5px 10px;
  font-size: 14px;
  line-height: 20px;
}

.nav-dropdown-toggle-2:hover {
  color: #1a1b1fbf;
}

.nav-dropdown-toggle-2:focus-visible, .nav-dropdown-toggle-2[data-wf-focus-visible] {
  outline-offset: 0px;
  color: #0050bd;
  border-radius: 5px;
  outline: 2px solid #0050bd;
}

.nav-dropdown-icon-2 {
  margin-right: 10px;
}

.nav-dropdown-list-2 {
  background-color: #fff;
  border-radius: 12px;
}

.nav-dropdown-list-2.w--open {
  padding-top: 10px;
  padding-bottom: 10px;
}

.nav-dropdown-link-2 {
  padding-top: 5px;
  padding-bottom: 5px;
  font-size: 14px;
}

.nav-dropdown-link-2:focus-visible, .nav-dropdown-link-2[data-wf-focus-visible] {
  outline-offset: 0px;
  color: #0050bd;
  border-radius: 5px;
  outline: 2px solid #0050bd;
}

.nav-divider-2 {
  background-color: #e4ebf3;
  width: 1px;
  height: 22px;
  margin-left: 15px;
  margin-right: 15px;
}

.nav-link-accent-2 {
  color: #1a1b1f;
  letter-spacing: .25px;
  margin-left: 5px;
  margin-right: 20px;
  padding: 5px 10px;
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
  text-decoration: none;
}

.nav-link-accent-2:hover {
  color: #1a1b1fbf;
}

.button-primary {
  color: #fff;
  letter-spacing: 2px;
  text-transform: uppercase;
  background-color: #1a1b1f;
  padding: 12px 25px;
  font-size: 12px;
  line-height: 20px;
  transition: all .2s;
}

.button-primary:hover {
  color: #fff;
  background-color: #32343a;
}

.button-primary:active {
  background-color: #43464d;
}

.menu-button-2 {
  position: static;
}

.navbar-left {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  display: flex;
}

.menu {
  margin-bottom: 0;
  padding-left: 0;
  list-style-type: none;
  display: flex;
}

.menu.is--dark {
  color: var(--white);
  align-items: center;
  margin-bottom: 0;
  padding-left: 0;
}

.navbar-right {
  grid-column-gap: 32px;
  grid-row-gap: 32px;
  align-items: center;
  display: flex;
  position: static;
}

.menu-open {
  width: 32px;
  height: 32px;
  display: none;
  overflow: hidden;
}

.menu-close {
  display: none;
}

.company-hero-texts {
  position: relative;
}

@media screen and (min-width: 1440px) {
  .navbar-section {
    justify-content: center;
    width: 100%;
    margin-top: 8px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
  }

  .how-wrapper {
    grid-column-gap: 48px;
    grid-row-gap: 48px;
  }

  .advan {
    border-radius: 64px;
    padding: 64px;
  }

  .advan-sizer {
    width: 100%;
  }

  .advan-section {
    justify-content: center;
    align-items: center;
    margin-bottom: 0;
    padding-bottom: 160px;
    display: flex;
  }

  .navbar-back {
    border-radius: 24px;
  }

  .page-hero-header.is--contacts {
    margin-bottom: 32px;
  }

  .navbar-center {
    width: 100%;
    max-width: 1440px;
    position: relative;
  }
}

@media screen and (max-width: 991px) {
  .navbar-section {
    z-index: 990;
  }

  .prebuilt-container {
    max-width: 728px;
  }

  .navbar-wrapper {
    position: static;
  }

  .navbar-menu-wrapper {
    background-color: #0000;
  }

  .nav-menu-two {
    background-color: #fff;
    border-radius: 50px;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    margin-top: 10px;
    padding: 20px;
    display: flex;
    position: static;
    box-shadow: 0 8px 50px #0000000d;
  }

  .nav-link {
    color: var(--kd-text);
    padding: 0;
    font-size: 18px;
    line-height: 24px;
  }

  .nav-dropdown-list.shadow-three.w--open {
    position: absolute;
  }

  .menu-button {
    padding: 12px;
  }

  .menu-button.w--open {
    color: #fff;
    background-color: #a6b1bf;
  }

  .lang-switcher {
    z-index: 998;
    position: relative;
  }

  .dc-line {
    height: 48px;
    bottom: -24px;
  }

  .how {
    padding-top: 64px;
    padding-bottom: 80px;
  }

  .h2 {
    font-size: 32px;
    line-height: 48px;
  }

  .h2.is--contacts {
    font-size: 28px;
    font-weight: 500;
    line-height: 36px;
  }

  .h2.is--timetable {
    font-size: 28px;
    line-height: 36px;
  }

  .h3, .h3.is--gradi {
    font-size: 20px;
    line-height: 28px;
  }

  .h3.is--advan {
    font-size: 18px;
    line-height: 26px;
  }

  .ku-wrapper {
    flex-flow: column;
  }

  .problems-wrapper {
    grid-column-gap: 32px;
    grid-row-gap: 32px;
  }

  .problems {
    padding-top: 80px;
  }

  .problems-blocks {
    flex-flow: column;
    display: flex;
  }

  .problems-block {
    min-height: 0;
    padding-bottom: 80px;
  }

  .form {
    padding-top: 80px;
  }

  .form-wrapper {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    flex-flow: column;
  }

  .form-header {
    border-radius: 24px;
    width: 100%;
    padding: 24px;
  }

  .h2-form {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 32px;
    line-height: 40px;
  }

  .form-proper {
    border-radius: 24px;
    padding: 24px;
  }

  .container-2 {
    max-width: 728px;
  }

  .footer-wrapper {
    flex-wrap: wrap;
  }

  .footer-texts {
    grid-column-gap: 24px;
    grid-row-gap: 24px;
    flex-flow: wrap;
  }

  .footer-form {
    width: 100%;
    margin-top: 40px;
  }

  .footer-form-container {
    max-width: 350px;
  }

  .page-hero.is--company {
    padding-bottom: 64px;
  }

  .services-hero-wrapper {
    border-radius: 32px;
    padding: 32px;
  }

  .page-hero-header {
    font-size: 48px;
    line-height: 65px;
  }

  .page-hero-header.is--contacts {
    margin-bottom: 24px;
  }

  .page-hero-text {
    font-size: 18px;
    line-height: 24px;
  }

  .t20 {
    font-size: 16px;
    line-height: 24px;
  }

  .sr-block {
    width: 100%;
    max-width: none;
  }

  .p-line {
    display: none;
  }

  .steps-wrapper {
    grid-column-gap: 32px;
    grid-row-gap: 32px;
    flex-flow: column;
  }

  .steps-left {
    width: 100%;
  }

  .steps-right {
    aspect-ratio: auto;
    border-radius: 32px;
    width: 100%;
    padding: 32px;
  }

  .steps-block, .step.is--1, .step.is--2, .step.is--3, .step.is--4 {
    aspect-ratio: 16 / 9;
  }

  .step-number {
    font-size: 120px;
    line-height: 100px;
  }

  .company-hero-wrapper {
    padding-top: 0;
  }

  .company-illustration {
    top: auto;
    bottom: 0;
  }

  .history {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .history-wrapper {
    flex-flow: column;
  }

  .history-divider {
    display: none;
  }

  .h1.is--history {
    font-size: 48px;
    line-height: 56px;
  }

  .gallery-section-wrapper {
    grid-column-gap: 32px;
    grid-row-gap: 32px;
    flex-flow: column;
  }

  .gallery-left, .gallery-right {
    width: 100%;
  }

  .contacts-block, .contacts-block.is--wide {
    grid-column-gap: 12px;
    grid-row-gap: 12px;
  }

  .timetable-text {
    font-size: 28px;
    line-height: 36px;
  }

  .container-3 {
    max-width: 728px;
  }

  .nav-menu-wrapper {
    background-color: #0000;
  }

  .nav-menu-two-2 {
    background-color: #fff;
    border-radius: 50px;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    margin-top: 10px;
    padding: 20px;
    display: flex;
    box-shadow: 0 8px 50px #0000000d;
  }

  .nav-link-2 {
    padding-left: 5px;
    padding-right: 5px;
  }

  .nav-dropdown-list-2.shadow-three.w--open {
    position: absolute;
  }

  .menu-button-2 {
    color: var(--kd-blue);
    padding: 12px;
    position: static;
  }

  .menu-button-2.w--open {
    color: #fff;
    background-color: #a6b1bf;
  }

  .navbar-left {
    z-index: 998;
    align-items: center;
    display: flex;
    position: relative;
  }

  .menu {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    flex-flow: column;
    list-style-type: none;
    display: flex;
  }

  .menu.is--dark {
    grid-column-gap: 24px;
    grid-row-gap: 24px;
    color: var(--kd-text);
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    margin-right: 64px;
  }

  .navbar-right {
    position: static;
  }

  .menu-open {
    display: block;
  }

  .menu-wrapper {
    z-index: 999;
    background-color: var(--background);
    height: 100vh;
    padding: 32px;
    display: none;
    position: absolute;
    inset: 0%;
    overflow: visible;
  }

  .menu-close {
    display: block;
    position: absolute;
    inset: 32px 32px auto auto;
  }

  .company-hero-texts {
    height: 100%;
  }
}

@media screen and (max-width: 767px) {
  .header {
    max-width: 100%;
  }

  .navbar-brand {
    padding-left: 0;
  }

  .nav-menu-two {
    border-radius: 20px;
    flex-direction: column;
    padding-bottom: 30px;
  }

  .nav-link {
    padding-bottom: 0;
    padding-right: 0;
    display: inline-block;
  }

  .nav-dropdown {
    flex-direction: column;
    align-items: center;
    display: flex;
  }

  .nav-dropdown-toggle {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .nav-dropdown-list.shadow-three {
    box-shadow: 0 8px 50px #0000000d;
  }

  .nav-dropdown-list.shadow-three.w--open {
    position: relative;
  }

  .nav-dropdown-list.shadow-three.mobile-shadow-hide {
    box-shadow: none;
  }

  .nav-divider {
    width: 200px;
    max-width: 100%;
    height: 1px;
    margin-top: 10px;
    margin-bottom: 10px;
  }

  .nav-link-accent {
    margin-right: 5px;
    padding-top: 10px;
    padding-bottom: 10px;
    display: inline-block;
  }

  .mobile-margin-top-10 {
    margin-top: 10px;
  }

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

  .advan-list {
    grid-row-gap: 16px;
    grid-template-columns: 1fr;
  }

  .form-header {
    border-radius: 16px;
    padding: 16px;
  }

  .form-proper {
    border-radius: 16px;
  }

  .footer {
    padding-left: 0;
    padding-right: 0;
  }

  .footer-brand {
    width: 160px;
  }

  .footer-bottom {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .footer-copyright {
    font-size: 14px;
    line-height: 20px;
  }

  .footer-social-block-two {
    margin-top: 20px;
  }

  .footer-social-link {
    margin-left: 20px;
  }

  .page-hero.is--gallery {
    height: auto;
  }

  .services-hero-wrapper {
    padding: 24px;
  }

  .page-hero-header, .page-hero-header.is--about {
    font-size: 40px;
    line-height: 50px;
  }

  .page-hero-header.is--contacts {
    margin-bottom: 16px;
  }

  .page-hero-text {
    max-width: 100%;
    font-size: 16px;
    line-height: 22px;
  }

  .h1.is--history {
    font-size: 40px;
    line-height: 50px;
  }

  .contacts-hero-wrapper {
    grid-row-gap: 16px;
    flex-flow: column;
    width: 100%;
  }

  .contacts-block.is--wide {
    width: 100%;
    min-width: 0;
  }

  .navbar-logo-left-container {
    max-width: 100%;
  }

  .navbar-brand-2 {
    padding-left: 0;
  }

  .nav-menu-two-2 {
    border-radius: 20px;
    flex-direction: column;
    padding-bottom: 30px;
  }

  .nav-link-2 {
    padding-top: 10px;
    padding-bottom: 10px;
    display: inline-block;
  }

  .nav-dropdown-2 {
    flex-direction: column;
    align-items: center;
    display: flex;
  }

  .nav-dropdown-toggle-2 {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .nav-dropdown-list-2.shadow-three {
    box-shadow: 0 8px 50px #0000000d;
  }

  .nav-dropdown-list-2.shadow-three.w--open {
    position: relative;
  }

  .nav-dropdown-list-2.shadow-three.mobile-shadow-hide {
    box-shadow: none;
  }

  .nav-divider-2 {
    width: 200px;
    max-width: 100%;
    height: 1px;
    margin-top: 10px;
    margin-bottom: 10px;
  }

  .nav-link-accent-2 {
    margin-right: 5px;
    padding-top: 10px;
    padding-bottom: 10px;
    display: inline-block;
  }

  .mobile-margin-top-11 {
    margin-top: 10px;
  }

  .menu.is--dark {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
  }

  .company-hero-texts {
    grid-column-gap: 8px;
    grid-row-gap: 8px;
    flex-flow: column;
    display: flex;
  }
}

@media screen and (max-width: 479px) {
  .prebuilt-container {
    max-width: none;
  }

  .navbar-wrapper {
    padding-top: 16px;
    padding-bottom: 16px;
  }

  .navbar-brand.w--current {
    height: 24px;
  }

  .nav-menu-two {
    flex-direction: column;
  }

  .nav-link {
    padding-top: 0;
    padding-bottom: 0;
  }

  .button-fill {
    text-align: center;
    border-radius: 16px;
    justify-content: center;
    width: 100%;
    padding: 12px 24px;
    font-size: 16px;
    line-height: 30px;
  }

  .image {
    height: 24px;
  }

  .main-hero-header {
    font-size: 60px;
    line-height: 68px;
  }

  .hero-subheader {
    font-size: 28px;
    line-height: 36px;
  }

  .ku {
    padding-top: 80px;
  }

  .t16 {
    line-height: 24px;
  }

  .h2 {
    line-height: 38px;
  }

  .h2.is--gallery {
    font-size: 32px;
    line-height: 38px;
  }

  .h2.is--contacts, .h2.is--timetable {
    font-size: 20px;
    line-height: 28px;
  }

  .how-list-item {
    grid-column-gap: 8px;
    grid-row-gap: 8px;
  }

  .check-image {
    width: 24px;
    margin-top: 4px;
  }

  .h3 {
    font-size: 24px;
  }

  .h3.is--advan {
    font-size: 16px;
    line-height: 24px;
  }

  .container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .advan-item {
    grid-column-gap: 8px;
    grid-row-gap: 8px;
  }

  .advan-image {
    width: 32px;
  }

  .problems-blocks {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
  }

  .problems-block {
    border-radius: 16px;
    padding: 16px 16px 32px;
  }

  .tech-list {
    padding-left: 24px;
  }

  .tech-dot {
    top: 6px;
    left: -406px;
  }

  .form-header {
    border-radius: 16px;
    padding: 16px;
  }

  .h2-form {
    font-size: 24px;
    line-height: 32px;
  }

  .form-proper {
    padding: 16px;
  }

  .input-block.is-short {
    width: 100%;
  }

  .container-2 {
    max-width: none;
  }

  .footer-wrapper {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .footer-texts {
    margin-top: 24px;
  }

  .footer-bottom {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .footer-social-block-two {
    margin-top: 20px;
  }

  .page-hero.is--gallery {
    height: auto;
  }

  .services-hero-wrapper {
    border-radius: 16px;
    padding: 16px;
  }

  .page-hero-header.is--about {
    font-size: 24px;
    line-height: 32px;
  }

  .page-hero-header.is--contacts {
    font-size: 32px;
    line-height: 42px;
  }

  .h1.is--history {
    font-size: 40px;
    line-height: 50px;
  }

  .gallery-section {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  .gallery-section-wrapper {
    grid-column-gap: 24px;
    grid-row-gap: 24px;
  }

  .contacts-timetable {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    margin-top: 24px;
  }

  .timetable-text {
    font-size: 20px;
    line-height: 28px;
  }

  .container-3 {
    max-width: none;
  }

  .nav-menu-two-2 {
    flex-direction: column;
  }

  .navbar-left {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
  }

  .menu.is--dark {
    grid-column-gap: 12px;
    grid-row-gap: 12px;
    margin-top: 0;
  }
}


@font-face {
  font-family: 'Montserrat Variable';
  src: url('../fonts/Montserrat-VariableFont_wght.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  font-display: auto;
}
@font-face {
  font-family: 'PT Sans';
  src: url('../fonts/PTSans-BoldItalic.ttf') format('truetype');
  font-weight: 700;
  font-style: italic;
  font-display: auto;
}
@font-face {
  font-family: 'PT Sans';
  src: url('../fonts/PTSans-Italic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
  font-display: auto;
}
@font-face {
  font-family: 'PT Sans';
  src: url('../fonts/PTSans-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: auto;
}
@font-face {
  font-family: 'PT Sans';
  src: url('../fonts/PTSans-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: auto;
}