:root {
  --main-color: #50648C;
  --main-color-rgb: 80, 100, 140;
  --background-color: #EAE9E9;
  --active-color: #28DAFE;
  --active-color-rgb: 40, 218, 254;
  --sub-active-color: #1CA3E7;
  --sub-active-color-rgb: 28, 163, 231;
  --white-color-rgb: 255, 255, 255;
  --white-color: #FFFFFF;
  --request-color: orange;
  --header-height: 60px;
  --border-radius-value: 8px;
  --main-padding: 20px;
  --main-border-radius: 8px;
  --link-text-shadow: -1px 1px 3px rgba(var(--active-color-rgb), 0.10), 1px 1px 3px rgba(var(--active-color-rgb), 0.10), -1px 1px 3px rgba(var(--active-color-rgb), 0.10), 1px -1px 3px rgba(var(--active-color-rgb), 0.10);
  --link-text-shadow-active: -1px 1px 3px rgba(var(--main-color-rgb), 0.20), 1px 1px 3px rgba(var(--main-color-rgb), 0.20), -1px 1px 3px rgba(var(--main-color-rgb), 0.20), 1px -1px 3px rgba(var(--main-color-rgb), 0.20);


}

/* Neoverse Font */
@font-face {
  font-display: swap;
  font-family: 'Neoverse';
  font-style: bold;
  font-weight: 700;
  src: url('../fonts/NeoverseSans-BoldExpanded.ttf') format('truetype');
}

@font-face {
  font-display: swap;
  font-family: 'Neoverse';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/NeoverseSans-RegularExpanded.ttf') format('truetype');
}

/* Play Font - cyrillic_latin */
@font-face {
  font-display: swap;
  font-family: 'Play';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/play-v21-cyrillic_latin-regular.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Play';
  font-style: bold;
  font-weight: 700;
  src: url('../fonts/play-v21-cyrillic_latin-700.woff2') format('woff2');
}

/* el-messiri-regular - cyrillic_latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'El Messiri';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/el-messiri-v25-cyrillic_latin-regular.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* el-messiri-700 - cyrillic_latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'El Messiri';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/el-messiri-v25-cyrillic_latin-700.woff2') format('woff2');
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

body {
  font-family: 'Play';
  font-weight: 400;
  font-size: 18px;
  //line-height: 1.2;
  color: var(--main-color);
}

a {
  font-family: 'Neoverse';
  font-weight: 700;
  -webkit-transition: all .4s;
  -moz-transition: all .4s;
  -o-transition: all .4s;
  transition: all .4s;
}

#sp-header .sp-module {
  margin-left: 0;
}

#sp-footer,
#sp-bottom {
  background: var(--main-color);
  color: #fff;
}

svg path {
  -webkit-transition: all .4s;
  -moz-transition: all .4s;
  -o-transition: all .4s;
  transition: all .4s;
}

/*one-row-header-start*/

.one-row-header {
  display: flex;
  justify-content: space-between;
  gap: var(--main-padding);
}

.one-row-header-left {
  display: flex;
  //margin-right: var(--main-padding);
}

.logo a {
  position: relative;
  display: flex;
  gap: 6px;
  align-items: center;
  height: var(--header-height);
}


.logo a::before {
  content: "";
  background: rgba(var(--active-color-rgb), 1);
  height: 3px;
  width: 0;
  position: absolute;
  left: 50%;
  -webkit-transition: all .4s;
  -moz-transition: all .4s;
  -o-transition: all .4s;
  transition: all .4s;
}

/*
.logo a::after {
  border-radius: 0 0 4px 4px;
  top: 0;
}
*/
.logo a::before {
  border-radius: 4px 4px 0 0;
  bottom: 0;
}

.logo a:hover::before,
.main-page .logo a::before {
  width: 100%;
  left: 0;
}


.hor-logo,
.logo-video {
  display: flex;
  align-items: center;
  justify-content: center;
}

.logo-video {
  -webkit-animation: MouseOpening 1s cubic-bezier(0.154, 0.002, 0.34, 1) backwards;
  -moz-animation: MouseOpening 1s ccubic-bezier(0.154, 0.002, 0.34, 1) backwards;
  animation: MouseOpening 1s cubic-bezier(0.154, 0.002, 0.34, 1) backwards;
  -webkit-animation-delay: 1.9s;
  -moz-animation-delay: 1.9s;
  animation-delay: 1.9s;
  //width: auto;
  position: relative;
  //font-family: "Tektur";
  //font-size: 36px;
  font-weight: 700;
  line-height: 1;
  //margin-bottom: 15vh;
  gap: 8px;
}

.logo-video svg {
  width: auto;
  height: clamp(3rem, 2.4217rem + 2.8916vw, 6rem);
  //box-shadow: var(--svg-shadow);
  filter: var(--svg-shadow);
  -webkit-filter: var(--svg-shadow);
}


.logo-text,
.logo-text-short {
  //position: absolute;
  //right: 0;
  margin-top: 2px;
  display: flex;
  flex-direction: column;
  //gap: 2px;
  text-align: left;
  align-items: flex-start;
  justify-content: center;
  height: 100%;
  text-shadow: var(--link-text-shadow);
  letter-spacing: 0.025rem;
}

.logo-video .video-text,
.logo-video .logo-text-short {
  font-size: clamp(1.5rem, 1.2108rem + 1.4458vw, 3rem);
}

.logo-text-short {
  display: none;
  visibility: hidden;
}

.logo-text>div,
.logo-text-short>div {
  white-space: nowrap;
}

.first-line,
.second-line {
  -webkit-transition: color .4s;
  -moz-transition: color .4s;
  -o-transition: color .4s;
  transition: color .4s;
}

.first-line,
.main-page .header-sticky .hor-logo .first-line {
  color: var(--active-color);
}

/*
.main-page .first-line {
    color: var(--white-color);
}
*/
.logo-text .second-line {
  color: var(--sub-active-color);
}

.video-text .first-line-korn {
  color: var(--white-color);
}

.video-text .second-line-group {
  color: var(--active-color);
}

.logo:hover .second-line,
.header-sticky .logo:hover .second-line {
  color: var(--active-color);
}

#sp-header .logo {
  height: var(--header-height);
  display: flex;
  margin: 0;
  align-items: center;
}

.one-row-header-center {
  display: flex;
  gap: var(--main-padding);
  align-items: center;
}

.one-row-header-right {
  display: flex;
  height: var(--header-height);
  align-items: center;
  //margin-left: var(--main-padding);
  gap: calc(var(--main-padding) * 2);
}

.top-tel {
  height: 100%;
}

.top-tel-line .top-phone-number {
  display: block;
  visibility: visible;
}

.top-phone-number a,
.main-page .header-sticky .top-phone-number a,
.single-top-phone-number a,
.main-page .header-sticky .single-top-phone-number a {
  color: var(--passive-color);
  display: flex;
  height: 100%;
  font-size: 16px;
  font-weight: 700;
  white-space: nowrap;
  text-shadow: var(--menu-link-shadow);
}

.top-phone-number a,
.main-page .header-sticky .top-phone-number a {
  align-items: center;
}


.top-phone-icon {
  //width: 100%;
  height: 100%;
  left: calc(-1 * (var(--main-gap) / 6 + 9px));
  pointer-events: none;
  position: absolute;
  display: flex;
  align-items: center;
  z-index: +1;
}

.icon-set {
  display: flex;
  height: 60px;
  align-items: center;
  gap: var(--main-padding);
  //overflow: hidden;
}

.offcanvas-icons .icon-set {
  justify-content: center;
}

svg path.fill-top-icon {
  fill: var(--active-color);
}

.sp-megamenu-parent>li:first-child {
  display: none;
  visibility: hidden;
}

.sp-megamenu-parent>li>a,
.sp-megamenu-parent>li>span {
  //text-transform: uppercase;
  position: relative;
  display: inline-block;
  //padding: 0 15px;
  line-height: var(--header-height);
  margin: 0;
  text-shadow: var(--link-text-shadow);
}

.sp-megamenu-parent>li.active>a {
  font-weight: 700;
}

.sp-megamenu-parent>li:hover>a,
.sp-megamenu-parent>li.active>a,
.all-works-button>a {
  color: var(--active-color);
  text-shadow: var(--link-text-shadow-active);
}

.sp-megamenu-parent>li.active>a,
.sp-megamenu-parent>li.active:hover>a {
  color: var(--active-color) !important;
}

.sp-megamenu-parent>li>a::before,
.icon-set>a::before,
.all-works-button>a::before {
  //content: "";
  //background: var(--main-color);
  height: 10px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  //left: calc(50% - 8px);
  //bottom: 30px;
  opacity: 0;
  display: flex;
  overflow: visible;
  -webkit-transition: all .4s;
  -moz-transition: all .4s;
  -o-transition: all .4s;
  transition: all .4s;
  overflow: visible;
  z-index: +100;
}

.sp-megamenu-parent>li::before {
  content: "";
  background: rgba(var(--active-color-rgb), 1);
  height: 3px;
  width: 0;
  position: absolute;
  left: 50%;
  -webkit-transition: all .4s;
  -moz-transition: all .4s;
  -o-transition: all .4s;
  transition: all .4s;
}

.sp-megamenu-parent>li::after {
  border-radius: 0 0 4px 4px;
  top: 0;
}

.sp-megamenu-parent>li::before {
  border-radius: 4px 4px 0 0;
  bottom: 0;
}

.sp-megamenu-parent>li:hover::before,
.sp-megamenu-parent>li.active::before {
  width: 100%;
  left: 0;
}

/*
.sp-megamenu-parent>li:nth-child(even)>a::before,
.icon-set>a:nth-child(even)::before {
  transform: scaleX(-1);
}
*/
.offcanvas-menu .offcanvas-inner ul.menu>li a {
  display: flex;
  align-items: center;
  color: var(--white-color);
  opacity: 1;
}

.offcanvas-menu .offcanvas-inner ul.menu>li.active a,
.offcanvas-menu .offcanvas-inner ul.menu>li a:hover,
.offcanvas-menu .offcanvas-inner ul.menu>li a:focus {
  color: var(--active-color);
}

path.fill-close-icon {
  fill: var(--white-color);
}

a.close-offcanvas:hover path.fill-close-icon {
  fill: var(--active-color);
}

.offcanvas-inner ul>li>a::before {
  display: inline-flex;
  content: "";
  align-items: center;
  margin-top: -2.5px;
  height: 14px;
  width: 0;
  opacity: 0;
  -webkit-transition: all .4s;
  -moz-transition: all .4s;
  -o-transition: all .4s;
  transition: all .4s;
}

.sp-megamenu-parent>li>a::before,
.icon-set>a::before,
.all-works-button>a::before {
  content: url('../images/svg/drop.svg');
  //content: '<object type="image/svg+xml" data="../images/svg/drop.svg"></object>';
}

.offcanvas-inner ul>li>a::before {
  content: url('../images/svg/single_drop.svg');
}

.sp-megamenu-parent>li.active>a::before,
.sp-megamenu-parent>li:hover>a::before {
  opacity: 1;
  margin-top: 42px;
}

.icon-set>a:hover::before {
  opacity: 1;
  margin-top: 45px;
}

.all-works-button>a:hover::before {
  opacity: 1;
  margin-top: 22px;
}

.offcanvas-inner ul>li.active>a::before,
.offcanvas-inner ul>li:hover>a::before {
  opacity: 1;
  width: 15px;
  //height: 12px;
}

.sp-megamenu-parent>li>a {
  //height: 30px;
  //height: calc(var(--header-height) + 10px);
  display: flex;
  align-items: center;
  position: relative;
  //border: 1px solid red;
  margin-top: 0px;
}

.sp-megamenu-parent>li.active>a,
.sp-megamenu-parent>li:hover>a,
.all-works-button>a:hover>.all-works-button-inner {
  margin-top: -18px;
}

.sp-megamenu-parent>li,
.sp-megamenu-parent>li>a {
  //text-align: center;
  position: relative;
  //height: calc(var(--header-height) - 30px);
  //line-height: calc(var(--header-height) - 30px);
  //height: var(--header-height);
  //line-height: var(--header-height);
  -webkit-transition: all .4s;
  -moz-transition: all .4s;
  -o-transition: all .4s;
  transition: all .4s;
}

.sp-megamenu-parent>li {
  height: var(--header-height);
  line-height: var(--header-height);
  overflow: hidden;
}

.sp-megamenu-parent>li>a {
  margin-top: -10px;
  height: calc(var(--header-height) + 20px);
  line-height: calc(var(--header-height) + 20px);
}

#sp-header {
  box-shadow: none;
  box-shadow: 0px 3px 6px rgba(var(--main-color-rgb), 0.15);
  min-height: var(--header-height) !important;
  height: var(--header-height) !important;
  animation: none !important;
  //display: none;
  //background: transparent !important;
  overflow: hidden;
}

#sp-main-body {
  padding: calc(var(--main-padding) * 3) 0;
}

#sp-menu {
  height: calc(var(--header-height) - 10px);
  display: flex;
  align-items: center;
}

#sp-menu>div {
  justify-content: center !important;
}

.menu-wrap {
  justify-content: center !important;
}

.sp-megamenu-wrapper {
  //width: max-content !important;
  flex: 0 auto !important;
}

.sp-megamenu-parent {
  margin: 0;
  gap: var(--main-padding);
}

.sp-megamenu-parent>li>a,
.main-page .header-sticky .sp-megamenu-parent>li>a {
  color: var(--active-color);
  line-height: 1;
  position: relative;
  text-shadow: var(--link-text-shadow);
  //height: 100%;
  white-space: nowrap;
  padding: 0 !important;
  //margin-top: 0px;
  letter-spacing: 0.05rem;
}

.icon-set a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(var(--main-padding) / 4);
  color: var(--active-color);
  //margin-top: -10px;
  min-width: 23px;
  height: calc(var(--header-height) + 20px);
  line-height: calc(var(--header-height) + 20px);
  position: relative;
  overflow-y: hidden;
  text-shadow: var(--link-text-shadow);
  white-space: nowrap;
}

.icon-set a svg {
  max-height: 22px;
  width: auto;
}

.icon-set a#viber svg {
  min-height: 28px;
  width: auto;
  margin-top: 3px;
}

/*
.burger-icon svg {
  margin-top: -4px;
}
*/
.sp-megamenu-parent>li>a,
.sp-megamenu-parent>li>span,
.icon-set a,
.logo-text,
.logo-text-short {
  font-family: 'Neoverse';
  font-size: 18px;
  font-weight: 700;
  -webkit-transition: all .4s;
  -moz-transition: all .4s;
  -o-transition: all .4s;
  transition: all .4s;
}

.top-phone {
  display: flex;
  align-items: center;
  margin-top: 1px;
}

.icon-set a:hover {
  color: var(--active-color);
  text-shadow: var(--link-text-shadow-active);
  margin-top: -20px;

}

.main-page #sp-title {
  min-height: 100dvh !important;
  height: 100dvh !important;
}

.transparent-page #sp-title {
  margin-top: calc(-0.1px - var(--header-height));
}

.intro-video {
  position: relative;
  //height: 100vh;
  height: 100dvh;
  min-height: 100dvh;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  //margin-top: calc(0 - var(--header-height));
  overflow: hidden;
}

.image-hover {
  position: absolute;
  min-width: 100vw;
  min-height: 100%;
  background: rgba(var(--main-color-rgb), 0.35);
}

.top-page-video {
  position: relative;
  //height: 100vh;
  height: 50dvh;
  min-height: 50dvh;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  //margin-top: calc(0 - var(--header-height));
  overflow: hidden;
}

.os-phrases-outer {
  margin-top: calc(var(--main-padding) * 2);
  position: relative;
  z-index: +2;
}

.top-back-video {
  position: absolute;
  //top: 0;
  //left: 0;
  //right: 0;
  //bottom: 0;
  min-width: 100vw;
  min-height: 100%;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover;
  object-position: center center;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: -3;
}

.back-video {
  position: absolute;
  //top: 0;
  //left: 0;
  //right: 0;
  //bottom: 0;
  min-width: 100vw;
  min-height: 100%;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover;
  object-position: center center;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: -3;
}

.os-phrases-outer h2 {
  text-align: center;
  font-family: 'Play';
  font-weight: 700;
  font-size: clamp(1.375rem, -0.0714rem + 6.4286vw, 4.75rem);
  color: var(--white-color);
  text-shadow: var(--link-text-shadow);
  margin-bottom: 0;
}

.os-phrases-topper {
  opacity: 0;
}

#sp-header {
  background-color: rgba(var(--main-color-rgb), 1) !important;
}

.transparent-page #sp-header,
.transparent-header-page #sp-header {
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  /* //background: rgba(var(--active-color-rgb), 0.15) !important; */
  background: rgba(var(--main-color-rgb), 0.75) !important;
  //border-bottom: 0.25px solid rgba(var(--white-color-rgb), .25);
  /* //background: transparent; */
  //background: rgba(var(--white-color-rgb), 0.15) !important;
}

#sp-header.header-sticky {
  background-color: rgba(var(--main-color-rgb), 1) !important;
}

.offcanvas-menu {
  background: var(--main-color);
}

.sp-scroll-up {
  background: rgba(var(--main-color-rgb), 0.5);
  border: 1px dashed var(--white-color);
  -webkit-transition: all .4s;
  -moz-transition: all .4s;
  -o-transition: all .4s;
  transition: all .4s;
  cursor: pointer;
}

.sp-scroll-up svg {
  margin-top: -4px;
}

.sp-scroll-up svg path.gototop-fill {
  fill: var(--white-color);
}

.sp-scroll-up:hover {
  background: rgba(var(--main-color-rgb), 1);
  border: 1px solid;
}

.sp-scroll-up:hover svg path.gototop-fill {
  fill: var(--active-color);
}

.footer-outer {
  display: flex;
  width: 100%;
  gap: var(--main-padding);
  flex-wrap: wrap;
  justify-content: space-between;
  font-weight: 700;
  font-size: 20px;
  color: var(--white-color);
}

@keyframes backInUp {
  0% {
    transform: translateY(1200px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes slideInUp {
  0% {
    transform: translate3d(0, 100vh, 0) scale(0.01);
    opacity: 1;
    visibility: hidden;
  }

  80% {
    transform: scale(1);
    opacity: 1;
  }

  100% {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 1;
  }
}

.slideInUp {
  animation-name: slideInUp;
}

.backInUp {
  animation-name: backInUp;
}

.os-phrases-topper-first-line {
  -webkit-animation: slideInUp 2s ease-out forwards;
  -moz-animation: slideInUp 2s ease-out forwards;
  animation: slideInUp 2s ease-out forwards;
  //animation-delay: 2s;
}

.os-phrases-topper-second-line {
  -webkit-animation: slideInUp 2s ease-out forwards;
  -moz-animation: slideInUp 2s ease-out forwards;
  animation: slideInUp 2s ease-out forwards;
  animation-delay: 2s;
}

.os-phrases-topper-third-line {
  -webkit-animation: slideInUp 2s ease-out forwards;
  -moz-animation: slideInUp 2s ease-out forwards;
  animation: slideInUp 2s ease-out forwards;
  animation-delay: 4s;
}

@keyframes scroll {
  0% {
    transform: translateY(calc(0px + var(--main-padding) / 2));
    opacity: 1;
  }

  75% {
    transform: translateY(calc(var(--main-padding) / 2));
    opacity: 1;
  }

  100% {
    opacity: 1;
  }
}

.mouse-scroll {
  position: absolute;
  bottom: var(--main-padding);
  -webkit-animation: MouseOpening 2s linear backwards;
  -moz-animation: MouseOpening 2s linear backwards;
  animation: MouseOpening 2s linear backwards;
  -webkit-animation-delay: 4s;
  -moz-animation-delay: 4s;
  animation-delay: 4s;
  display: flex;
  justify-content: center;
  align-items: center;
  //height: calc(var(--main-gap) / 2);
  height: clamp(2rem, 1.7321rem + 1.1905vw, 2.625rem);
  z-index: +3;
}

.mouse-scroll svg {
  opacity: 0;
  animation: scroll ease 2s infinite;
  -webkit-animation-delay: 6s;
  -moz-animation-delay: 6s;
  animation-delay: 6s;
  height: clamp(2rem, 1.7321rem + 1.1905vw, 2.625rem);
  width: auto;
  filter: var(--svg-shadow-hover);
  -webkit-filter: var(--svg-shadow-hover);
}

.all-works {
  text-align: center;
}

.all-works h2,
.centered-text-module h2 {
  font-size: clamp(1.25rem, 0.5rem + 3.3333vw, 3rem);
  margin-bottom: 1rem;
  font-weight: 500;
}

h1,
h1.sp-module-title,
h2.sp-module-title {
  font-weight: 700;
  font-size: clamp(1.5rem, 0rem + 6.6667vw, 5rem);
  margin-bottom: 1rem;
  text-align: center;
  line-height: 1.2;
}

.top-page-video h1 {
  color: var(--white-color);
  text-shadow: var(--link-text-shadow);
  margin-bottom: 0;
}

p.sub-heading,
.all-works-page p,
.all-works-page ul>li {
  -ms-hyphens: auto;
  -webkit-hyphens: auto;
  hyphens: auto;
  text-align: justify;
  -webkit-column-break-inside: avoid;
  -moz-column-break-inside: avoid;
  page-break-inside: avoid;
  break-inside: avoid-column;
  //margin-bottom: var(--main-padding);
}

p.sub-heading,
.all-works-page p {
  margin-bottom: var(--main-padding);
}

.all-works .flex-container {
  display: flex;
  gap: var(--main-padding);
  flex-wrap: wrap;
  margin-bottom: var(--main-padding);
}

.type-text-card {
  flex: 1 1 calc(50% - var(--main-padding) / 2);
}

.type-card {
  flex: 1 1 calc(50% - var(--main-padding) / 2);
  background: var(--sub-active-color);
  color: var(--white-color);
  line-height: 1.2;
  border-radius: var(--border-radius-value);
  overflow: hidden;
  //aspect-ratio: 5 / 3;
}
.type-card-inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
.type-card img, .type-card video,
.sert-card.hor img, .sert-card.hor video {
  position: relative;
  z-index: +3;
  aspect-ratio: 5 / 3;
  width: 100%;
  object-fit: cover;
}
.sert-card.vert img, .sert-card.vert video {
  position: relative;
  z-index: +3;
  aspect-ratio: 3 / 4;
  width: 100%;
  object-fit: cover;
}
.sert-card {
  flex: 1 1 calc(25% - var(--main-padding) / 3 * 4);
  background: var(--sub-active-color);
  color: var(--white-color);
  line-height: 1.2;
  border-radius: var(--border-radius-value);
  overflow: hidden;
}
.contacts-page .sert-card {
  border: 1px solid var(--sub-active-color);
}
.type-card-header {
  padding: calc(var(--main-padding) / 2) var(--main-padding) calc(var(--main-padding) / 1.35);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 1.2;
  height: 100%;
}

.type-card-header h3 {
  line-height: 1;
}

.all-works-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  overflow: hidden;
}

.all-works-button a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--main-padding);
  height: var(--header-height);
  background: var(--main-color);
  color: var(--active-color);
  border-radius: var(--border-radius-value);
  letter-spacing: 0.05rem;
}

.all-works-button-inner {
  -webkit-transition: all .4s;
  -moz-transition: all .4s;
  -o-transition: all .4s;
  transition: all .4s;
}

.all-works-button a:hover {
  //color: var(--active-color);
}

.all-works-page ul {
  list-style-type: none;
  padding-left: 0;
}

.all-works-page ol {
  padding-inline-start: 20px;
}

/*
.productdetails .product-short-description ul:last-child,
.productdetails .product-short-description ol:last-child {
    margin-bottom: 0;
}

.productdetails .product-short-description ol li::marker {
    color: var(--request-color);
}
*/
.all-works-page ul li {
  position: relative;
  padding-left: var(--main-padding);
  //margin-bottom: 0.75em;
}

span.spec-item {
  color: var(--request-color);
}

span.attention {
  font-weight: 700;
  color: var(--request-color);
}

span.ooo {
  font-weight: 700;
  font-size: clamp(1.5rem, 0rem + 6.6667vw, 5rem);
}

.all-works-page ul li::before {
  position: absolute;
  content: url('../images/svg/bullet.svg');
  width: 9px;
  height: 12px;
  display: block;
  //margin-bottom: -1px;
  left: 0;
  top: 1px;
  //flex-shrink: 0;
}

.icon-set-outer {
  display: flex;
  justify-content: center;
}

.consulting {
  width: fit-content;
  background: var(--main-color);
  padding: 0 var(--main-padding);
  border-radius: var(--border-radius-value);
}

.centered-text-module {
  text-align: center;
}

.centered-text-module h3 {
  font-size: clamp(1.15rem, 0.7857rem + 1.619vw, 2rem);
  text-transform: uppercase;
}

.drop-divider {
  margin: calc(var(--main-padding) * 2) auto;
}

.centered-text-module a {
  display: flex;
  width: fit-content;
  justify-content: center;
  align-items: center;
  color: var(--main-color);
  font-size: 22px;
  //text-shadow: var(--link-text-shadow);
  -webkit-transition: all .4s;
  -moz-transition: all .4s;
  -o-transition: all .4s;
  transition: all .4s;
}

.centered-text-module .text-link {
  display: flex;
  justify-content: center;
}

.centered-text-module a span {
  position: relative;
  -webkit-transition: all .4s;
  -moz-transition: all .4s;
  -o-transition: all .4s;
  transition: all .4s;
}

.centered-text-module a span::after {
  position: absolute;
  content: "";
  background: rgba(var(--main-color-rgb), 1);
  width: 100%;
  left: 0;
  height: 1.5px;
  bottom: 6px;
  -webkit-transition: all .4s;
  -moz-transition: all .4s;
  -o-transition: all .4s;
  transition: all .4s;
}

.centered-text-module a>svg {
  margin-right: calc(var(--main-padding) / 4);
}

.centered-text-module a>svg path.fill-top-icon {
  fill: var(--main-color);
}

.centered-text-module a:hover {
  color: var(--active-color);
}

.centered-text-module a:hover span {
  color: var(--active-color);
}

.centered-text-module a:hover>svg path.fill-top-icon {
  fill: var(--active-color);
}

.centered-text-module a:hover span::after {
  height: 2px;
  bottom: 5px;
  background: var(--active-color);
}

@media screen and (orientation: portrait) {
  .os-phrases-outer h2 {
    line-height: 1.5;
  }
}

@media (max-width: 991.98px) {

  .sp-megamenu-parent>li>a,
  .sp-megamenu-parent>li>span,
  .icon-set a,
  .logo-text,
  .logo-text-short {
    font-size: 16px;
  }

  .hor-logo svg {
    height: 30px;
    width: auto;
  }

  .sp-megamenu-parent,
  .icon-set {
    gap: calc(var(--main-padding) / 3 * 2);
  }
}

@media (max-width: 1199.98px) {
  .sert-card {
    flex: 1 1 calc(50% - var(--main-padding) / 2);
  }
}

@media (max-width: 767.98px) {
  .type-card {
    flex: 1 1 100%;
  }

  .sert-card {
    flex: 1 1 100%;
  }

}

@media (max-width: 575.98px) {
  .centered-text-module p a {
    font-size: 20px;
  }
}