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

/*
  ========================================
  Clearfix
  ========================================
*/
.group::before,
.group::after {
  content: "";
  display: table;
}
.group::after {
  clear: both;
}
.group {
  clear: both;
  zoom: 1;
}

/*
  ========================================
  Main
  ========================================
*/

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body{
  font-family: Rubik, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-size: 16px;
  background: #FFFFFF;
  min-width: 350px;
}
h2, h3, h4, h5, p, a{
    color: #18191b;
    font-weight: 400;
  }
h1{
color: #FFFFFF;
font-size: 44px;
line-height: 1.2;
font-weight: 600;
}
h2{
  font-size: 40px;
  line-height: 1.2;
  font-weight: 600;
  text-align: left;
}
h3{
  font-size: 30px;
  font-weight: 600;
}
h4{
  font-size: 26px;
  font-weight: 600;
  line-height: 1.2;
}
p{
  font-size: 16px;
  line-height: 1.2;
}
a,
button,
input,
textarea,
svg * {
    transition-duration: 0.2s;
}
a{
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
   user-select: none;
 }
.header {
  width: 100%;
  height: 646px;
  background-image: url(../image/pic/sub_bg2-min.jpg);
  object-fit: cover;
  border-radius: 0 0 10px 10px;
  padding: 15px 0;
}
.header-documents {
  width: 100%;
  height: auto;
  background-color: #01013D;
  padding: 15px 0;
}
.content {
  max-width: 1240px;
  min-width: 350px;
  padding: 0 20px;
  margin-inline: auto;
  overflow: hidden;
}
.header__inner {
  display: flex;
  justify-content: space-between;
  align-items: start;
  column-gap: 30px;
  padding-top: 60px;
}
.header__inner-description {
  max-width: 670px;
}
.header__inner-subtitle--white{
  color: #FFFFFF;
}
.header__inner-subtitle {
  margin-top: 35px;
}
.header__inner-list {
  padding-top: 15px;
  padding-bottom: 30px;
}
.header__inner-item {
  position: relative;
  color: #FFFFFF;
  font-size: 22px;
  line-height: 1.5;
  left: 30px;
  display: flex;
  align-items: center;
  list-style-type: none;
  row-gap: 3px;
}
li.header__inner-item:before {
  content: '';
  position: absolute;
  width: 11px;
  height: 11px;
  background: #ffffff;
  left: -30px;
}
.header__inner-image {
  width: 420px;
  max-width: 40%;
  height: auto;
}
.navbar {
  background: #ffffff;
  max-width: 100%;
  border-radius: 10px;
  padding: 10px 50px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 90px;
}
.navbar__logo {
  height: 80px;
  width: auto;
}
.logo {
  height: 80px;
  width: 70px;
  position: relative;
}
.logo__image {
  position: absolute;
  top: -10px;
  height: 100%;
  width: auto;
}
.navbar__menu {
  width: 70%;
}
.navbar__menu-list {
  display: flex;
  justify-content: space-around;
  align-items: center;
}
.navbar__menu-item {
  font-size: 18px;
}
.navbar__menu-link{
  text-decoration: none;
}
.navbar__phone{
  text-decoration: none;
  font-weight: 500;
}
.navbar-mobile {
  display: none;
  position: fixed;
  bottom: 0;
  height: 85px;
  padding: 5px;
  width: 100%;
  z-index: 100;
}
.navbar-mobile__inner {
  width: 100%;
  min-width: 350px;
  height: 100%;
  border-radius: 10px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  column-gap: 10px;
  align-items: center;
  background-color: #ffffff;
  padding: 10px;
  box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}
.navbar-mobile__logo {
  height: 70px;
  width: auto;
}
.navbar-mobile__menu {
  display: flex;
  flex-direction: column;
  column-gap: 10px;
  align-items: center;
  align-content: flex-start;
  height: 55px;
}
.navbar-mobile__menu-image {
  width: auto;
  height: 30px;
}
.navbar-mobile__menu-image img{
  height: 100%;
  width: auto;
}
.navbar-mobile__menu-title {
  font-size: 10px;
  text-align: center;
  padding-top: 5px;
}
.section {
  margin-top: 100px;
}
.section--dark{
  background: #01013D url(../image/pic/backgrad.svg) no-repeat;
  border-radius: 10px;
}
.section--gray{
  background-color: #f5f5f6;
  border-radius: 10px;
}
.section--blue{
  background-color: #01013D;
  padding: 50px 20px;
  border-radius: 10px 10px 0 0;
}
.section__body {
  margin-bottom: 50px;
}
.section__body:last-child {
  margin-bottom: 0;
}
.section__body--padding{
  padding: 50px 0;
}
.section__body--white{
  padding: 50px;
  background-color: #FFFFFF;
  border-radius: 10px;
}
.products {

}
.products__list {
  display: flex;
  flex-direction: column;
}
.product {
    padding: 75px 0;
}
.product:first-child{
  padding-top: 0px;
}
.product:last-child{
  padding-bottom: 0px;
}
.product--bg-gray{
  background-color: #f5f5f6;
  border-radius: 10px;
}
.product__header {
  display: flex;
  justify-content: space-between;
  align-items: start;
  column-gap: 30px;
  padding-bottom: 50px;
}
.product__header-inner{
  max-width: 670px;
  min-height: 250px;
}
.product__header-title {
}
.product__header-description {
  padding: 15px 0;
}
.product__header-image {
  width: auto;
  max-width: 40%;
  height: auto;
  max-height: 350px;
  border-radius: 10px;
}
.product__advantages {
  padding-bottom: 50px;
}
.product__advantages-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 30px;
  column-gap: 30px;
}
.advantage {
  background-color: #f5f5f6;
  border-radius: 10px;
  padding: 50px;
}
.advantage__title {
  padding-bottom: 15px;
}
.advantage__description-item {
  line-height: 1.2;
  position: relative;
  left: 20px;
  display: flex;
  align-items: center;
  padding: 5px 0;
}
li.advantage__description-item:before {
  content: '';
  position: absolute;
  width: 6px;
  height: 6px;
  background: #18191b;
  left: -20px
}
.advantage--bg-white{
  background-color: #FFFFFF;
}
.product__technologies {

}
.product__technologies-header {
  padding-bottom: 30px;
}
.product__technologies-list {
  display: flex;
  column-gap: 30px;
  row-gap: 30px;
  flex-wrap: wrap;
}
.technologies {
  border: solid 1px #757575;
  border-radius: 10px;
  padding: 25px;
}
.technologies__items {
  display: flex;
  column-gap: 25px;
  padding-bottom: 25px;
  justify-content: center;
}
.technology {
  width: 75px;
  height: auto;
}
.technology__image {
  width: 100%;
}
.technology__title {
  text-align: center;
  padding-top: 10px;
}
.technologies__lable {
  text-align: center;
  font-weight: 600;
}
.products__info-page {
  width: 100%;
  border-radius: 10px;
  background-color: #f5f5f6;
  padding: 50px;
  margin-top: 50px;
}
.products__info-page-link {
}
.price {
  width: 100%;
  border-radius: 10px;
  padding: 30px;
  display: flex;
  column-gap: 30px;
  justify-content: space-between;
  background-color: #FFFFFF;
}
.products__info-page--bg-white{
  background-color: #FFFFFF;
}
.price__title {
  max-width: 650px;
}
.price__value {
  width: 40%;
  text-align: right;
}
.facts {
  display: flex;
  column-gap: 30px;
  justify-content: space-between;
  padding: 50px 0;
}
.facts__item {
  width: 30%;
}
.partners {
  display: flex;
  flex-direction: column;
  row-gap: 30px;
  padding-top: 50px;
  padding-bottom: 50px;
}
.partners-list {
  display: flex;
  justify-content: space-between;
  column-gap: 30px;
}
.partners-item {
  display: flex;
  align-items: center;
}
.partners-image {
  width: 200px;
  max-width: 90%;
  height: auto;
}
.reviews {
  padding-top: 30px;
}
.reviews__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 30px;
  column-gap: 30px;
}
.review {
  border-radius: 10px;
  padding: 50px;
  border: solid 1px #757575;
}
.review__text {
}
.review__single {
  padding-top: 30px;
  display: flex;
  column-gap: 15px;
}
.review__single-logo {
  width: 100px;
  height: auto;
  object-fit: contain;
}
.review__single-description {
  max-width: 80%;
}
.contact {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 50px;
}
.contact__description {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
  row-gap: 50px;
  justify-content: space-between;
}
.contact__header {
  padding-bottom: 30px;
}
.contact__header-title {
}
.contact__header-description {
  padding-top: 20px;
  padding-bottom: 20px;
}
.contact__person {
}
.contact__person-foto {
  padding-top: 10px;
  padding-bottom: 10px;
}
.contact__person-name {
  font-weight: 600;
  padding-top: 10px;
  padding-bottom: 10px;
}
.contact__person-job {
}
.contact__form {
  width: 100%;
}
.form {
  width: 100%;
}
.field {
  width: 100%;
  padding-bottom: 20px;
  position: relative;
}
.field__input {
  display: block;
  width: 100%;
  height: 54px;
  background-color: #f5f5f6;
  border-radius: 10px;
  border: 1px solid #8D8D8D;
  padding: 15px;
  font-size: 16px;
}
.field__placeholder {
  position: absolute;
  top: 0;
  padding: 18px 0 0 16px;
  transition: all 200ms;
  font-size: 16px;
}
.field__input:focus~.field__placeholder,
.field__input:not(:focus):valid~.field__placeholder  {
  transform: translateX(-5px) translateY(-10px);
  color: #8D8D8D;
  font-size: 10px;
}
.field__button {
}
.button {
  background: #FF6B00;
  border-radius: 10px;
  font-weight: 400;
  font-size: 18px;
  line-height: 17px;
  text-align: center;
  color: #FFFFFF;
  border: none;
  width: 100%;
  padding: 20px;
  cursor: pointer;
}
.field__checkbox {
  cursor: pointer;
}
.field__fprivacy-label {
  color: #8A8A8A;
  font-size: 13px;  
}
  input._error, select._error{
    background-color: #ffcccc;
  }
  .field__checkbox._error{
    box-shadow: 0 0 15px #b10000;
  }
option {
  font-weight: normal;
  display: block;
  min-height: 1.5em;
  padding: 0px 2px 1px;
  white-space: nowrap;
}
.contact-us {
  display: grid;
  grid-template-columns: 0.7fr 1fr;
  column-gap: 30px;
}
.contact-us__office {
  display: flex;
  flex-direction: column;
  row-gap: 30px;
}
.contact-us__office-description {
  background-color: #f5f5f6;
  border-radius: 10px;
  padding: 50px;
  display: flex;
  flex-direction: column;
  row-gap: 15px;
  cursor: pointer;
}
.contact-us__map {
}
.contact-us__map-city {
  height: 100%;
  overflow: hidden;
  border-radius: 10px;
}
.visible-none-pc{
  display: none;
}
.footer{
  background-color: #01013D;
  padding-top: 30px;
  padding-bottom: 30px;
}
.footer__wrap{
  display: grid;
  grid-template-columns: 2fr 2fr 1fr;
  column-gap: 30px;
}
.footer__description-text, .footer__description-text a{
  color: #FFFFFF;
  text-align: left;
  line-height: 1.5;
}
.footer__contact-link{
  text-align: right;
  line-height: 1.5;
}
.footer__contact-link a{
  color: #FFFFFF;
  text-decoration: none;
}
.document-container {
  padding-bottom: 30px;
}
.document-title {
  padding-bottom: 15px;
  color: #01013D;
}
.document-subtitle {
  text-align: left;
  text-wrap: wrap;
  padding-top: 30px;
  word-break: break-word;
  padding-bottom: 15px;
}
.document-paragraph {
  padding-bottom: 15px;
  text-align: justify;
}
.document-back-button {
  margin-bottom: 30px;
}
.back-button {
  margin-top: 30px;
  display: inline-flex;
  align-items: center;
  padding: 12px 20px;
  background-color: #01013D;
  color: #FFFFFF;
  text-decoration: none;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 500;
  transition: all 0.3s ease;
  border: 2px solid #01013D;
}
.back-button:hover {
  background-color: transparent;
  color: #01013D;
  border-color: #01013D;
}
.rights-table {
  margin: 20px 0;
}
.right-item {
  margin-bottom: 20px;
  padding: 15px;
  background-color: #f8f9fa;
  border-left: 4px solid #01013D;
  border-radius: 4px;
}
.right-item strong {
  display: block;
  color: #01013D;
  margin-bottom: 8px;
  font-size: 16px;
}
.right-item p {
  margin: 0;
  color: #333;
  line-height: 1.5;
}
.purposes-table-wrapper {
  width: 100%;
  overflow-x: auto;
  margin: 20px 0;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.purposes-table {
  width: 100%;
  min-width: 600px;
  border-collapse: collapse;
  font-size: 14px;
}
.purposes-table th,
.purposes-table td {
  border: 1px solid #ddd;
  padding: 12px 8px;
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
}
.purposes-table th {
  background-color: #01013D;
  color: #FFFFFF;
  font-weight: 600;
  position: sticky;
  top: 0;
  z-index: 10;
}
.purposes-table td {
  white-space: normal;
  word-wrap: break-word;
  max-width: 200px;
}
.purposes-table tr:nth-child(even) {
  background-color: #f8f9fa;
}
.purposes-table tr:hover {
  background-color: #e9ecef;
}

/* Индикатор прокрутки для мобильных устройств */
@media only screen and (max-width: 767px) {

  .purposes-table th,
  .purposes-table td {
    padding: 8px 6px;
    font-size: 13px;
  }
  
  .purposes-table td {
    max-width: 150px;
  }
}
.document-container ul {
  padding-left: 15px;
  padding-bottom: 15px;
  list-style: disc;
}
.document-container ol {
  padding-left: 15px;
  padding-bottom: 15px;
  list-style: decimal;
}
.document-container li {
  padding: 5px;
}
.footer__documents-link {
  text-align: left;
  line-height: 1.5;
}
.footer__documents-link a {
  color: #FFFFFF;
  text-decoration: none;
}


@media only screen and (max-width: 1200px){
  h1{
    font-size: 40px;
  }
  h2{
    font-size: 38px;
  }
  h3{
    font-size: 26px;
    font-weight: 600;
  }
  h4{
    font-size: 24px;
  }
  .header__inner-item {
    font-size: 18px;
  }
}
@media only screen and (max-width: 991px){
  h1{
    font-size: 32px;
  }
  h2{
    font-size: 26px;
  }
  h3{
    font-size: 22px;
    font-weight: 600;
  }
  h4{
    font-size: 18px;
  }
  .navbar {
    padding: 10px 30px;
  }
  .logo__image {
    position: absolute;
    top: -10px;
    height: 100%;
  }
  .navbar__menu {
    padding-right: 25px;
    padding-left: 25px;
  }
  .navbar__menu-list {
    column-gap: 20px;
  }
  .navbar__menu-item {
    font-size: 16px;
  }
  .header__inner-item {
    font-size: 16px;
  }
  .contact-us__office-description {
    padding: 30px;
  }
}
@media only screen and (max-width: 767px){
  h2{
    text-align: center;
  }
  .navbar-mobile {
    display: block;
}
  .header{
    height: auto;
  }
  .header-documents {
  display: none;
  }
  .header__inner{
    flex-direction: column;
    padding-top: 50px;
  }
  .header__inner-image{
    order: -1;
    max-width: 100%;
    margin-inline: auto;
    padding-bottom: 25px;
  }
  .header__inner-description{
    max-width: 100%;
  }
  .navbar{
    display: none;
  }
  .product__header{
    flex-direction: column;
  }
  .product__header-inner{
    display: contents;
    width: 100%;
  }
  .product__header-title{
    order: 1;
    text-align: center;
  }
  .product__header-description{
    order: 3;
  }
  .product__header-image{
    order: 2;
    margin-inline: auto;
    padding: 20px 0;
    max-width: 100%;
  }
  .product__advantages-list {
    display: flex;
    flex-direction: column;
    row-gap: 20px;
  }
  .advantage{
    width: 100%;
  }
  .product__technologies-list{
    row-gap: 20px;
    column-gap: 20px;
  }
  .technologies {
    padding: 20px;
  }
  .technology {
    width: 75px;
    height: auto;
  }
  .price {
    padding: 20px;
  }  
  .partners-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    row-gap: 30px;
  }
  .reviews__list {
    display: flex;
    flex-direction: column;
    row-gap: 20px;
  }
  .review {
    width: 100%;
  }
  .contact {
    display: flex;
    flex-direction: column;
    row-gap: 30px;
  }
  .contact-us{
    display: flex;
    flex-direction: column;
    row-gap: 30px;
  }
  .contact-us__office {
    display: contents;
  }
  .contact-us__office-description {
    pointer-events: none;
    cursor: none;
  }
  .contact-us__map{
    display: contents;
  }
  iframe {
    height: 400px;
  }
  .visible-none-pc{
    display: block;
  }
  #nsk{
    order: 1;
  }
  #map-nsk {
    order: 2;
  }
  #msk{
    order: 3;
  }
  #map-msk {
    order: 4;
  }
  .footer{
    padding-bottom: 90px;
  }
  .footer__wrap{
    display: flex;
    flex-direction: column;
    row-gap: 15px;
  }
  .footer__documents {
    text-align: center;
  }
  .footer__documents-link {
    text-align: center;
  }
  .footer__description-text{
    text-align: center;
  }
  .footer__contact-link{
    text-align: center;
  }
}
@media only screen and (max-width: 576px){
  h1{
    font-size: 28px;
  }
  .advantage{
    padding: 25px;
  }
  .price__title {
    font-size: 18px;
  }
  .price__value {
    font-size: 18px;
  }
  .facts {
    flex-direction: column;
    row-gap: 30px;
  }
  .facts__item {
    width: 100%;
    text-align: center;
  }
  .section__body--white{
    padding: 30px;
  }
  .review {
    padding: 25px;
  }
  .document-subtitle {
    font-size: 18px;
  }
}
@media only screen and (max-width: 400px){

  .purposes-table-wrapper::after {
    content: "← Прокрутите горизонтально для просмотра всех колонок →";
    display: block;
    text-align: center;
    padding: 10px;
    background-color: #f8f9fa;
    color: #666;
    font-size: 12px;
    border-top: 1px solid #ddd;
  }

}
@media(hover: hover){
  .button:hover{
      background-color: #eb6200;
  }
  .contact-us__office-description:hover{
    background-color: #e4e4e4;
  }
}

@media(hover: none){
  .button:active{
      background-color: #eb6200;
  }
  .contact-us__office-description:active{
    background-color: #e4e4e4;
  }
}