:root {
  --indent_xs: 16px;
  --negindent_xs: -16px;
  --indent_sm: 32px;
  --negindent_sm: -32px;
  --indent_lg: 44px;
  --negindent_lg: -44px;
  --header_height_xs:52px;
  --header_height_md:64px;
  --header_height_xl:80px;
  --header_fixed_height_xs:52px;
  --header_fixed_height_md:64px;
  --header_fixed_height_xl:64px;
  --header_negheight_xs:-52px;
  --header_negheight_md:-64px;
  --header_negheight_xl:-80px;
  --space100_xs: 48px;
  --space100_sm: 64px;
  --space120_xs: 64px;
  --space120_sm: 72px;
  --space120_md: 80px;
}  
a{
  color:inherit;
}
.pointer{cursor:pointer;}
.button{
  width:100%;
}
.button_min{
    width:auto;
  } 
.button_icon{
  padding-left:var(--indent_xs);
  padding-right:var(--indent_xs);
}
.container{
  margin-right: auto;
  margin-left: auto;
  padding-left: var(--indent_xs);
  padding-right: var(--indent_xs);
  width: 100%;
}
.align-right{
  text-align: right;
}
.header_top {
  height: var(--header_height_xs);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
    z-index:2;
    height: var(--header_height_xs);
    margin-bottom:var(--header_negheight_xs);
}
.header_nav{display:none}
.header {
    position: relative;
    z-index: 100;
}
.header__nwrap {height:100%;}

/*fixed*/
.header_fixed, .header_fixed .header__nav{
  /*height:48px;*/  
  z-index: 200;
}
.header_fixed .header__top{
  border: 0;
}
.header_fixed .header__top, .header_fixed .header__topline{
  /*height: 0;*/
  /*display: none;*/
  animation: changeHeader 0ms ease-in-out both;
}
.header_fixed .header_wrap{
  position: fixed;
  top:0;
  z-index: 1000;
  background: #FFFFFF;
  height: var(--header_height_xs);
}
.header_fixed .header__msubs{
    top: 48px;
}
.header_fixed .header__nav{
  position: relative;
  z-index: 200;
  background: var(--white0);
}
.header__nav .header__mitem{
  border-bottom:1px solid var(--black100);
  margin:0;
}
.header__nav .header__mitem a{
  justify-content: initial;
  padding:16px;
}
.header__nav .header_phone{
  justify-content: flex-start;
  padding: 0;
}
.header__open{
  justify-content: end;
}
.header__mitem a:hover{
  text-decoration: underline!important;
}
.header__nav .header__mitem:last-child{
  border-bottom:0;  
}
.header__nav {
    display: none;
    position: absolute !important;
    width: 100%;
    height: 100vh !important;
    height: 100svh !important;
    top: 0;
    padding-top:10px;
    z-index: 100;
    overflow: auto;
    background: var(--white0);
    max-width:768px;
    right:0;
}
.header_activemenu .header__nav {
    display: block;
}
.header_activemenu .header__nav .header__open{
  padding-left:20px;
  padding-right:20px;
}
.header_wrap {
  width: 100%;
}
.header_logo{
  width:48px;
}

/* флексы */
.flex{
  display:flex;
}
.flex-column{
  flex-direction: column;
}
.align-start{
  align-items: flex-start;
}
.align-end{
  align-items: flex-end
}
.align-center{
  align-items: center;
}
.justify-space-between{
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.justify-center{
  justify-content: center;
}
.wrap{
  flex-wrap:wrap;
}
.gap-12{
  gap:12px;
}
.gap-8-16{
  gap: 8px 16px;
}
.gap-16{
  gap:16px;
}
.gap-24{
  gap:24px;
}
.gap-28{
  gap:28px;
}
.gap-28-16{
  gap:28px 16px;
}
.gap-32{
  gap:32px;
}
.gap-48{
  gap:48px;
}
.gap-40{
  gap:40px;
}

/*гриды*/
.grid{
  display:grid;
}
.grid-1-column{
  grid-template-columns:1fr;
}

/*цвета*/
.txt_blue{
  color: var(--blue400);
}  

.border-bottom{
  border-width: 0 0 1px 0;
}
.to-all{
  width:auto;
  padding-left:12px;
  padding-right:12px;
}

.footer{
  padding:48px 0;
}
.hidden{
  display:none;
}

hr{
  border:0;
  border-bottom:1px solid var(--black600);
  margin-top:8px;
}
.light-hr{
  border-color:var(--black100);
}
.link-overlay{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  z-index:1;
}
.up-button{
  position:fixed;
  bottom: 15px;
  border:1px solid var(--black200);
  width:32px;
  height:32px;
  display:inline-flex;
  align-items: center;
  border-radius: 50%;
  justify-content: center;
  background: var(--white0);
  cursor: pointer;
  z-index: 10;
}  
.up-button svg{
  width: 20px;
  height: 20px;
}
.up-button:hover{
  box-shadow:0px 8px 8px 0px rgba(1, 5, 13, 0.10)
}
.header_fixed .header_wrap.out {
/*  transform: translateY(-100%);*/
  animation: changeMenu 250ms ease-in-out both;
}
.ul_not > li:before, .ol_not > li:before{
  display:none !important;
}
body.body_activemenu{
  overflow:hidden;
}
/*body.body_activemenu > *:not(header),
body.body_activemenu .header_wrap > *:not(.header__nav){
  -webkit-filter: blur(8px);
    -moz-filter: blur(8px);
    -o-filter: blur(8px);
    -ms-filter: blur(8px);
    filter: blur(8px);
}*/
body.body_activemenu .header_wrap>.container:before{
  content:'';
  position:absolute;
  left:0;
  top:0;
  z-index:20;
/*  backdrop-filter: blur(8px);*/
  background: rgba(0,0,0,0.5);
  width:100%;
  height:100vh;/*
  -webkit-filter: blur(8px);
    -moz-filter: blur(8px);
    -o-filter: blur(8px);
    -ms-filter: blur(8px);
    filter: blur(8px);*/
}

.ul_not li {
    margin-bottom: 0;
}

.overflow-auto{
  overflow:auto;
}

.flex-basis-60{
  flex-basis:60%;
}

.footer-link:hover{
  text-decoration: underline!important;
}

@keyframes changeMenu {
  from {transform: translateY(0);}
  to {transform: translateY(-100%);}
}

.top_block {
  height: auto;
  background-size: cover;
  padding-top:var(--header_height_xs);
}
.top_block__width {
  width: 100%;
}

.no-weight{
  height:0;
}

.flex img,.flex svg,.flex .benefit{
  flex-shrink: 0;
}
.logo-normal{
  display:none;
}
.header_fixed .logo-color{
  display:none;
}

.overflow-hidden{
  overflow: hidden;
}

footer {
  background: #01050D;
}
.footer_top, .footer_bottom {
    display: grid;
  grid-template-columns: auto;
    width: 100%;
    align-items: center;
    justify-content: space-between;
}
.footer_link {
    display: grid;
    flex-wrap: wrap;
  max-width: 100%;
  grid-template-columns: auto;
}
.footer_info { order:2; }
.footer_link { order:1; }
.footer_link>a:first-child {
  margin-bottom: 12px;
}

.form_call {
  background: #4076FF;
}

.swiper-arrow > svg {
  --progress: 0;
  position: absolute;
  left: 0;
  top: 0px;
  z-index: 10;
  width: 100%;
  height: 100%;
  stroke-width: 1px;
  stroke: var(--black600);
  fill: none;
  stroke-dashoffset: calc(125.6 * (1 - var(--progress)));
  stroke-dasharray: 125.6;
  transform: rotate(-90deg);
}
.swiper-control {
    position: relative;
    z-index: 2;
    bottom: 10px;
    left: 0;
    justify-content: center;
}
.header_vline {
    display: inline-block;
    padding-right: 12px;
    border-right: 1px solid rgba(255, 255, 255, 0.75);
    margin-right: 12px;
    width:1px;
    height:24px;
}
.header_logo {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
.accordion-title.active + .accordion-description {
    display: block;
} 
.header_fixed .sub-logo,
  .header_fixed .header_mlink{
    color:var(--black900);
  }
  .header_fixed .header_vline{
    border-color:var(--black100);
  }
  .header_fixed .header__open svg *,
  .header_fixed .header_callmini svg *{
    fill:var(--black900);
  }
  .header_fixed .logo-normal{
    display:flex;
  }
  .header_fixed .logo-white{
    display:none;
  }

/*sm Tablet*/
@media (min-width: 576px) {
  .container{
    margin-right: auto;
    margin-left: auto;
    padding-left: var(--indent_sm);
    padding-right: var(--indent_sm);
    width: 100%;
  }
  .container.half-container-left{
    margin-left: auto;    
    margin-right:0;
  }
  .container.half-container-right{
    margin-right: auto;
    margin-left:0
  }
  .header_logo{
    width:initial;
  }  
  .header_top {
    position: relative;
    z-index:2;
    height: var(--header_height_xs);
    margin-bottom:var(--header_negheight_xs);
  }  
  .header_fixed .header_wrap,.header_fixed .header_wrap .header_top{
    height: var(--header_fixed_height_xs);
  }
  .header_vline {
    display: inline-block;
    padding-right: 32px;
    border-right: 1px solid rgba(255, 255, 255, 0.75);
    margin-right: 32px;
    width:1px;
    height:40px;
  }

  .button {
    width: auto;
  }
  .sub-logo {
    color: var(--white0);
  }
  .grid-template{
    grid-template-columns: repeat(6, minmax(16.666px,1fr));
    gap:24px;
  } 

  /*флексы */
  .flex-sm{
    display:flex;
  }
  .gap-24-sm{
    gap:24px;
  }
  .gap-0-24-sm{
    gap:0 24px;
  }
  .gap-32-sm{
    gap:32px;
  }
  .gap-48-sm{
    gap:48px;
  }
  .order-2-sm{
    order:2;
  }

  /* Гриды */
  .grid-sm{
    display:grid;
  }
  .grid-columns-2-sm{
    grid-template-columns: repeat(2, 1fr);
  }
  .grid-columns-3-sm{
    grid-template-columns: repeat(3, 1fr);
  }     

  .up-button{
    width:48px;
    height:48px;
  }  
  .up-button svg{
    width: initial;
    height: initial;
  }
    
  .header_fixed .callbacks .header_vline,
  .header_fixed .callbacks a{
    display:none;
  }  
  .header__nav .header_phone{
    margin:0;
  }
  [data-id="first"] .grid-template{
    grid-template-areas:
      'x x x x y y';
  }
  [data-id="first"] .grid-template>div{
    grid-area: x;
  }
  .top_block {
   height: 472px;
   padding-top:var(--header_height_md);
  }
  .top_block__img { display:none; }
  .top_block__width :where(p,h1) { color: var(--white0) !important; }
  .vline{
    border-right: 1px solid var(--black600);
    height:80px;
  }
  .form_call__block .form{
    max-width:545px;
  }
  .swiper-control {
    justify-content: flex-start;
  }
} 

/*md*/
@media (min-width: 768px) { 
  [data-id="second"]{
    position:sticky!important;
    top:var(--header_height_md);
  }  
  .header_top {
    position: relative;
    z-index:2;
    height: var(--header_height_md);
    margin-bottom:var(--header_negheight_md);
  }  
  .header_fixed .header_wrap,.header_fixed .header_wrap .header_top{
    height: var(--header_fixed_height_md);
  }  
  .grid-columns-2-768{
    grid-template-columns: repeat(2,1fr);
  }
  .gap-0-24-768{
    gap:0 24px;
  }
  .flex-768{
    display:flex;
  }
  .footer_top, .footer_bottom {
    grid-template-columns: auto auto;
    gap: 10px;
  }
  .footer_info { order:1; }
  .footer_link { order:2; }
  .footer_link {
    justify-content: flex-end;
    max-width: 450px;
  }
  .footer_link>a:first-child {
    margin-bottom: 0;
  }
}

/*lg Desktop*/
@media (min-width: 992px) { 
  .header_top {
    height: var(--header_height_xl);
    margin-bottom:var(--header_negheight_xl);
  }  
  .header_fixed .header_wrap,.header_fixed .header_wrap .header_top{
    height: var(--header_fixed_height_xl);
  }
  .callbacks{
    margin-right:44px
  }
  .container {
    padding-left: var(--indent_lg);
    padding-right: var(--indent_lg);
  }   
  .align-right-md{
    text-align: right;
  }
  .gap-0-24-md{
    gap:0 24px;
  }
  .grid-columns-3-md{
    grid-template-columns: repeat(3, 1fr);
  } 
  .grid-columns-4-md{
    grid-template-columns: repeat(4, 1fr);
  } 
  .header_fixed .callbacks .wrapped_button{
    display:flex;
    margin-right:40px;
    height:44px;
    padding-left:24px;
    padding-right:24px;
  }
  /* флексы */
  .flex-md{
    display:flex;
  }
  /* Гриды */
  .grid-md{
    display:grid;
  }
  .grid-columns-2-md{
    grid-template-columns: repeat(2, 1fr);
  }
  .grid-columns-3-md-hard{
    grid-template-columns: repeat(3, minmax(30%,1fr));
  }
  .grid-columns-2-992{
    grid-template-columns: repeat(2,1fr);
  }
  .grid-columns-4-md{
    grid-template-columns: repeat(4, 1fr);
  }
  .grid-template{
    grid-template-columns: repeat(12, minmax(8.3333px,1fr));
    gap:32px;
  }
  .gap-64-md{
    gap:64px;
  }  
  [data-id="first"] .grid-template{
    grid-template-areas:
      'x x x x x x x x y y y y';
  }  
  .form_call__block .form{
    max-width:577px;
  }
}  

/*xl*/
@media (min-width: 1200px) { 
  /*флексы */
  .flex-md{
    display:flex;
  }
  .gap-24-md{
    gap:24px;
  }
  .gap-32-md{
    gap:32px;
  }
  .gap-36-md{
    gap:36px;
  }
  .gap-40-md{
    gap:40px;
  }
  .gap-52-md{
    gap:52px;
  }
  .gap-64-1200{
    gap:64px;
  }
  .grid-columns-2-1200{
    grid-template-columns: repeat(2,1fr);
  }
  .grid-columns-4-1200{
    grid-template-columns: repeat(4,1fr);
  }
  .footer_vline {
    display: inline-block;
    padding-right: 32px;
    border-right: 1px solid rgba(255, 255, 255, 0.75);
    margin-right: 0px;
    width:1px;
    height:40px;
  }
  .footer__menu ul{
    display:flex;
    flex-wrap:wrap;
  }
  .top_block {
    height: 768px;
    padding-top:var(--header_height_xl);
  }
}

@media (min-width: 1366px) {
  .grid-columns-3-md-hard-1366{
    grid-template-columns: repeat(3, minmax(30%,1fr));
  }
  .tabs__box .swiper-no-slide:last-child{
    display:initial;
  }
}

/*xxl*/
@media (min-width: 1400px) {   
  .visible-xl{
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .header_top .header_menu{
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .header_mlink{
    padding:0 8px;
  }
  .header_menu .header_vline{
    margin:0;
    margin-left: -8px;
    padding-right: 16px;
  }
  .header_phone{
    padding-right:0;
  }
  .header_fixed .callbacks .wrapped_button {
    margin-right: 0
  } 
  .gap-32-xl{
    gap:32px;
  }
  .inner-container{
    max-width:1366px;
  }
  .form_call__block .form{
    max-width:640px;
  }
}

@media (min-width: 1600px) {  
  .header_mlink{
    padding:0 18px;
  }
  .header_fixed .header_menu .header_vline{
    visibility:hidden;
  }
  .header_fixed .header_mlink{
    padding:0 13px;
  }
  .header_menu .header_vline{
    padding-right: 36px;
  }
  .top_block {
    height: 900px;
  }
  /* флексы */
  .gap-96-xl{
    gap:96px;
  }
  .gap-80-xl{
    gap:80px;
  }
  .flex-xl{
    display:flex;
  }
  .grid-xl{
    display:grid;
  }
  .grid-columns-2-xl{
    grid-template-columns: repeat(2, 1fr);
  }
  .grid-columns-3-xl{
    grid-template-columns: repeat(3, 1fr);
  }
  .grid-columns-4-xl{
    grid-template-columns: repeat(4, 1fr);
  }
  .grid-columns-5-xl{
    grid-template-columns: repeat(5, 1fr);
  } 
  .flex-basis-50-f>*{
    flex-basis:50%;
  }
  .flex-basis-70-xl{
    flex-basis:70%;
  }
  .container{
    max-width:1920px;
  }  
  .inner-container{
    max-width:1366px;
  }
  .gap-40-xl{
    gap:40px;
  }
  .gap-52-xl{
    gap:52px;
  }
  [data-id="first"] .grid-template{
    grid-template-areas:
      'x x x x x x y y y y y y';
  }  
  .footer_link {
    grid-template-columns: auto auto;
    justify-content: center;
    align-items: center;
    max-width: 100%;
  }
  .footer_link>a:first-child {
    border-right: 1px solid rgba(255, 255, 255, 0.75);
    padding-right: 40px;
    margin-right: 40px;
  }
}

@media (min-width: 1600px) {
   .hidden-xxl{
     display:none;
   }
   .visible-xxl{
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
@media (min-width: 1680px) {
  .swiper{
    max-width:1920px;
  }
}
@media (min-width: 1920px) {
  .header_mlink{
    padding:0 20px;
  }
  .header_menu .header_vline{
    padding-right: 40px;
  }
  .half-container{
    max-width:960px;
  }
}

/* медиа для ограниченных стилей */
@media (max-width: 575px){ 
  .hidden-xs{
    display:none!important;
  }
  .txt_center_xs{
    text-align: center;
  }
  .sub-logo{
    font-size:14px;
    font-weight: 400;
  }
} 
@media (max-width: 767px){ 
  .hidden-767{
    display:none!important;
  }
}
@media (min-width: 576px) and (max-width: 991px) { 
  .hidden-sm{
    display:none;
  }
} 
@media (min-width: 992px) and (max-width: 1399px) { 
  .hidden-md{
    display:none;
  }
} 
@media (min-width: 1400px) and (max-width: 1599px) {
  .hidden-xl{
    display:none;
  }
}  