@font-face {
    font-family: 'Inter18pt-Medium';
    src: url('../fonts/Inter18pt-Medium.eot');
    src: url('../fonts/Inter18pt-Medium.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Inter18pt-Medium.woff2') format('woff2'),
        url('../fonts/Inter18pt-Medium.woff') format('woff'),
        url('../fonts/Inter18pt-Medium.ttf') format('truetype'),
        url('../fonts/Inter18pt-Medium.svg#Inter18pt-Medium') format('svg');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter18pt-Regular';
    src: url('../fonts/Inter18pt-Regular.eot');
    src: url('../fonts/Inter18pt-Regular.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Inter18pt-Regular.woff2') format('woff2'),
        url('../fonts/Inter18pt-Regular.woff') format('woff'),
        url('../fonts/Inter18pt-Regular.ttf') format('truetype'),
        url('../fonts/Inter18pt-Regular.svg#Inter18pt-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter18pt-SemiBold';
    src: url('../fonts/Inter18pt-SemiBold.eot');
    src: url('../fonts/Inter18pt-SemiBold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Inter18pt-SemiBold.woff2') format('woff2'),
        url('../fonts/Inter18pt-SemiBold.woff') format('woff'),
        url('../fonts/Inter18pt-SemiBold.ttf') format('truetype'),
        url('../fonts/Inter18pt-SemiBold.svg#Inter18pt-SemiBold') format('svg');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}


* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
::-webkit-scrollbar-button {
    background-image:url('');
    background-repeat:no-repeat;
    width:10px;
    height:0px;
}
::-webkit-scrollbar-track {
    background-color:#fff;
}
::-webkit-scrollbar-thumb {
    -webkit-border-radius: 0px;
    border-radius: 0px;
    background-color:#32a0e5;
}
::-webkit-scrollbar-thumb:hover{
    
}
::-webkit-resizer{
    background-image:url('');
    background-repeat:no-repeat;
    width:8px;
    height:0px;
}
::-webkit-scrollbar{
    width: 10px;
    height: 3px;
}
html{
    height:100%;
    position: relative;
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}
body{
    position: relative;
    background: #fff;
    margin: 0;
    font-size:16px;
    color:#000;
    font-family: 'Inter18pt-Regular';
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
  margin:0;
}
a {
    color: #000;
    text-decoration: underline;
    outline:none;
}
a:hover {
    color:#a05850;
    text-decoration: underline;
}
img{
    display: block;
}
ul{
    padding:0;
    margin:0;
}
ul li{
    list-style: none;
}
ol a {
    color: #32a0e5;
    text-decoration: none;
}
ol a:hover {
    color: #32a0e5;
    text-decoration: underline;
}

.item-link {
    color: #32a0e5;
    text-decoration: none;
}

.item-link:hover {
    text-decoration: underline;
    color: #32a0e5;
}

.container {
  margin-right: auto;
  margin-left: auto;
  position: relative;
  width:100%;
  max-width:1230px;
  padding:0 15px;
  box-sizing: border-box;
}
.container h1 {
    text-align: left;
}
.d-flex{
    display: flex;
    flex-wrap:wrap;
}
.nowrap{
    flex-wrap: nowrap;
}
.j-between{
    justify-content: space-between;
}
.j-center{
    justify-content: center;
}
.j-end{
    justify-content: flex-end;
}
.a-center{
    align-items: center;
}
.a-start{
    align-items: flex-start;
}
.a-end{
    align-items: flex-end;
}
.dir-column{
    flex-direction: column;
}
.text-right{
    text-align: right;
}
.page-main.active{
    padding: 189px 0 0 0;
}
.overlay{
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(8, 17, 30, 0.75);
    position: fixed;
    z-index: 14;
    display: none;
}
.btn{
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: .3s;
}
.btn:hover{
    text-decoration: none;
}
section{
    padding: 115px 0 0 0;
}
.top{
    padding: 13px 0;
    background: #122745;
}
.top span{
    padding: 3px 0 3px 36px;
    background: url('../images/icon-adres.png') no-repeat;
    font-size: 17px;
    color:#fff;
}
.top a{
    padding: 8px 0 8px 57px;
    background: url('../images/icon-eye.png') no-repeat;
    font-size: 17px;
    color:#fff;
    text-transform: uppercase;
    text-decoration: none;
    font-family: 'Inter18pt-Medium';
}
/*Шапка сайта*/
header{
    padding: 24px 0 0 0;
    /*position: sticky;
    top:0;*/
    width: 100%;
    z-index: 10;
}
header.active{
    position: fixed;
    top:0;
    left:0;
    box-shadow: 0 0 54px rgba(136,142,148,0.55);
    padding: 0;
}
header.active > .container{
    opacity: 0;
    height: 0;
}
header.active .top-menu{
    background: #fff;
    margin: 0;
}
header a.logo{
    width: 240px;
    padding: 6px 0 6px 97px;
    color:#000;
    font-size: 19px;
    font-family: 'Inter18pt-SemiBold';
    background: url('../images/logo.png') no-repeat;
    text-decoration: none;
}
header .contacts{
    gap:38px;
    display: flex;
    align-items: center;
}
header .contacts .phones{
    padding: 0 0 0 40px;
    background: url('../images/icon-phone.png') no-repeat left top 4px;
    display: flex;
    flex-direction: column;
}
header .contacts .phones a{
    font-family: 'Inter18pt-Medium';
    font-size: 19px;
    color:#000;
    text-decoration: none;
}
header .contacts .phones a:hover{
    color:#e56523;
    text-decoration: none;
}
header .contacts .email{
    margin: 0;
    padding: 0px 0 0 40px;
    background: url('../images/icon-mail.png') no-repeat left 5px top 4px;
    display: flex;
    flex-direction: column;
    gap:3px;
}
header .contacts .email a{
    font-size: 17px;
    color:#000;
    text-decoration: none;
}
header .contacts .email a:hover{
    color:#e56523;
    text-decoration: none;
}
header .contacts .email span{
    font-size: 17px;
    color:#8e9195;
}
header .btns{
    gap:6px;
    flex-wrap:nowrap;
}
header a.lk{
    color:#32a0e5;
    border:1px solid #32a0e5;
    border-radius: 6px;
    background: #fff;
    transition: .3s;
    display: flex;
    width: 100px;
    text-decoration: none;
    height: 55px;
    align-items: center;
    justify-content: center;
    /*display:none;*/
}
header a.lk:hover{
    background: #32a0e5;
    color:#fff;
}
header a.btn{
    width: 204px;
    height: 49px;
    border-radius: 6px;
    background: #32a0e5;
    margin: 0;
    font-family: 'Inter18pt-Medium';
    color:#fff;
    font-size: 17px;
}
header a.btn:hover{
    background: #f96410;
}
header a.btn.orderbtn {
    width:70%;
}
.top-menu{
    margin: 24px 0 0 0;
    background: #f5f6f7;
    width: 100%;
}
.top-menu ul{
    display: flex;
    justify-content: space-between;
    
}
.top-menu ul li{
    position: relative;
    padding: 20px 0;
}
.top-menu ul li.parent{
    padding-right: 24px;
    
}
.top-menu ul li.parent:after{
    content:'';
    width: 14px;
    height: 8px;
    background: url('../images/arrow-menu.png') no-repeat;
    right:0;
    top:25px;
    position: absolute;
}
.top-menu ul li.parent:hover:after{
    transform: rotate(180deg);
}
.top-menu ul li a{
    text-decoration: none;
    text-transform: uppercase;
    font-size: 17px;
    color:#000;
    font-family: 'Inter18pt-SemiBold';
}
.top-menu ul li:hover > a,
.top-menu ul li a:hover{
    color:#f96410;
}
.top-menu ul li ul{
    position: absolute;
    /*column-count: 2;*/
    top:100%;
    padding: 34px 40px 26px 40px;
    max-width: 768px;
    display: none;
    background: #fff;
    left:-40px;
    z-index: 1000;
}
.top-menu ul li:hover ul{
    display: block;
}
.top-menu ul li ul:before{
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    background: #fff;
    z-index: 0;
    left:0;
    top:0;
}
.top-menu ul li ul li{
    margin: 0px 110px 0px 0;
    padding: 18px 110px 18px 0;
    border-bottom: 1px solid #ccc;
}
.top-menu ul li ul li:nth-last-child(1){
    border-bottom: 0px solid #ccc;
}
.top-menu ul li ul li a{
    text-decoration: none;
    text-transform: uppercase;
    color:#000;
    font-family: 'Inter18pt-SemiBold';
    font-size: 17px;
    white-space: nowrap;
}
.top-menu ul li ul li a:hover{
    color:#32a0e5;
}
.top-menu .subitem {
    margin-left:20px;
    list-style: disc;
}
.top-menu .subitem a {
    font-size: 15px;
}
.slider .item{
    min-height: 694px;
    padding: 200px 0 0 0;
    text-align: center;
}
.slider p{
    margin: 25px 0 0 0;
    font-size: 25px;
    color:#fff;
}
.slider p.title{
    margin:0;
    font-size: 70px;
    font-family: 'Inter18pt-SemiBold';
}
.slider a{
    width: 237px;
    height: 49px;
    border-radius: 6px;
    background: #32a0e5;
    margin: 50px auto 0;
    font-family: 'Inter18pt-Medium';
    color:#fff;
    font-size: 17px;
}
.slider a:hover{
    background: #f96410;
}
.slick-dots{
    position: absolute;
    bottom: 65px;
    text-align: center;
    width: 100%;
}
.slick-dots li{
    display: inline-block;
    margin:0 5px;
    font-size: 0;
}
.slick-dots button{
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #5a5f69;
    border:none;
    font-size: 0;
    cursor: pointer;
}
.slick-dots .slick-active button{
    background: #fff;
}
.central-heading h1{
    text-align: left;
}

/* Блок новостей */
    .news {
      margin: 0 auto;
      background: #fff;
      padding:0px;
    }
    
    .news a {
        text-decoration: none;
    }

    .news-list {
      display: flex;
      flex-direction: column;
      gap: 24px;
    }
    
    .news-card__date {
      display: block;
      font-family: 'Inter18pt-Regular', sans-serif;
      font-size: 14px;
      color: #8e9195;
      margin: 4px 0 8px;
      line-height: 1.4;
    }

    .news-list__item + .news-list__item {
      border-top: 1px solid #c8cbd0;
      padding-top: 24px;
    }

    /* Карточка-ссылка */
    .news-card {
      display: flex;
      align-items: flex-start;
      gap: 24px;
      text-decoration: none;
      color: inherit;
      border-radius: 6px;
      transition: background-color 0.2s ease, box-shadow 0.2s ease;
      padding: 8px;
      margin: -8px;
    }

    .news-card:focus-visible {
      outline: 2px solid #32a0e5;
      outline-offset: 2px;
    }

    .news-card__image-wrapper {
      flex-shrink: 0;
      border-radius: 6px;
      overflow: hidden;
      aspect-ratio: 16 / 9;
      background-color: #e2e8f0;
    }

    .news-card__image {
      display: block;
      /*width: 100%;*/
      height: 100%;
      object-fit: cover;
      transition: transform 0.3s ease;
    }

    .news-card:hover .news-card__image {
      transform: scale(1.03);
    }

    .news-card__content {
      flex: 1;
      min-width: 0;
    }

    .news-card__heading {
      font-family: 'Inter18pt-SemiBold', sans-serif;
      font-size: 20px;
      font-weight: 600;
      margin: 0 0 8px;
      color: #191919;
      line-height: 1.3;
      transition: color 0.2s;
    }

    /* При наведении на карточку заголовок становится синим с подчёркиванием */
    .news-card:hover .news-card__heading {
      color: #32a0e5;
      text-decoration: underline;
    }

    .news-card__description {
      font-family: 'Inter18pt-Regular', sans-serif;
      font-size: 15px;
      color: #4a4a4a;
      line-height: 1.5;
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    /* Адаптивность */
    @media (max-width: 640px) {
      .news {
        padding: 20px 16px;
        box-shadow: none;
        background: transparent;
        border-radius: 0;
      }

      .news-card {
        flex-direction: column;
        gap: 14px;
        padding: 0;
        margin: 0;
      }

      .news-card__image-wrapper {
        width: 100%;
      }

      .news-card__heading {
        font-size: 18px;
      }

      .news-list__item + .news-list__item {
        padding-top: 20px;
      }
    }
/* end News */

/*Программы*/
.programs{
    padding-bottom: 120px;
}
.programs h1{
    margin: 0;
    font-size: 60px;
    color: #191919;
    font-family: 'Inter18pt-SemiBold';
}
.programs h2{
    color:#191919;
    font-size: 60px;
    text-align: center;
    margin:0;
}
.programs h2 + p{
    text-align: center;
    margin: 32px 0 0 0;
    color:#1f1f1f;
    font-size: 25px;
}
.programs p a{
    color: #32a0e5;
    text-decoration: underline;
}
.programs p a:hover{
    text-decoration: none;
}
.programs__list{
    display: flex;
    flex-wrap: wrap;
    column-gap: 28px;
    margin-top:80px;
}
.programs__list .item{
    margin: 0 0 60px 0;
    text-decoration: none;
    text-align: center;
    max-width: 381px;
}
.programs__list .item figure{
    position: relative;
    margin:0 0 25px 0;
}
.programs__list .item img{
    border-radius: 6px;
    max-width: 100%;
    margin-top:0px;
}
.programs__list .item span{
    color:#191919;
    font-size: 24px;
    font-family: 'Inter18pt-SemiBold';
}
.programs__list .item:hover figure:after{
    content:'';
    width: 16px;
    height: 100%;
    z-index: 1;
    position: absolute;
    background: #32a0e5;
    border-radius: 0 6px 6px 0;
    right:0;
    top:0;
}
.programs__list .item:hover span{
    color:#32a0e5;
}
.programs .btn{
    width: 237px;
    height: 49px;
    border-radius: 6px;
    background: #32a0e5;
    margin: 20px auto 0;
    font-family: 'Inter18pt-Medium';
    color:#fff;
    font-size: 17px;
}
.programs .btn:hover{
    background: #f96410;
    color:#fff;
}
.programs .btn-load{
    color:#32a0e5;
    background: #e1f1fb;
}
/*Преимущества*/
.preims{
    background: #f5f6f7;
    padding-bottom: 140px;
}
.preims h2{
    color:#191919;
    font-size: 60px;
    text-align: center;
    margin:0;
}
.preims h2 + p{
    text-align: center;
    margin: 32px 0 0 0;
    color:#1f1f1f;
    font-size: 25px;
}
.preims__list{
    padding: 100px 0 0 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
.preims__list .item{
    width: 33.333%;
    box-sizing: border-box;
    margin: 0 0 55px 0;
}
.preims__list .item img{
    margin: 0 auto;
}
.preims__list .item p{
    margin: 20px 0 0 0;
    text-align: center;
    font-size: 17px;
    color:#1f1f1f;
    line-height: 130%;
}
.preims__list .item p.name{
    font-size: 24px;
    margin:0;
    color:#191919;
    font-family: 'Inter18pt-SemiBold';
    position: relative;
    padding: 0 0 30px 0;
    width: 260px;
    display: flex;
    margin: 0 auto;
}
.preims__list .item p.name::after{
    content:'';
    width: 100px;
    height: 4px;
    background: #32a0e5;
    bottom: 0;
    position: absolute;
    left:0;
    right:0;
    margin: auto;
}
.preims__list .item div{
    padding: 0 30px;
    margin: 40px 0 0 0;
    border-right: 1px solid #a6a7a8;
}
.preims__list .item:last-child div{
    border: none;
}
/*Полезные сслыки*/
.useful{
    padding-bottom: 140px;
}
.useful h2{
    color:#191919;
    font-size: 60px;
    text-align: center;
    margin:0;
}
.useful h2 + p{
    text-align: center;
    margin: 32px 0 0 0;
    color:#1f1f1f;
    font-size: 25px;
}
.links__list{
    padding: 30px 0 0 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.links__list a{
    text-decoration: none;
    font-size: 17px;
    max-width: 343px;
    display: flex;
    align-items: center;
    margin: 55px 0 0 0;
}
.links__list a span{
    padding: 8px 0 0 0;
    color:#1f1f1f;
    line-height: 130%;
}
.links__list a:hover span{
    color:#32a0e5;
}
.links__list img{
    margin-right: 35px;
}

footer{
    padding: 60px 0 30px 0;
    background: #151718;
}
footer .logo{
    display: flex;
    align-items: center;
    gap:24px;
    max-width: 365px;
}
footer .logo span{
    color:#fff;
    font-size: 16px;
    line-height: 140%;
}
footer ul{

}
footer ul li{
    margin:0 0 13px 0;
}
footer ul li a{
    text-decoration: none;
    text-transform: uppercase;
    color: #fff;
    font-size: 17px;
    font-family: 'Inter18pt-SemiBold';
}
footer ul li a:hover{
    color:#e56523;
    text-decoration: none;
}
footer .phones{
    padding: 0 0 0 40px;
    background: url('../images/icon-phone.png') no-repeat left top 4px;
    display: flex;
    flex-direction: column;
}
footer .phones a{
    font-family: 'Inter18pt-Medium';
    font-size: 19px;
    color:#fff;
    text-decoration: none;
}
footer .phones a:hover{
    color:#e56523;
    text-decoration: none;
}
footer .contacts{
    margin: 30px 0 0 0;
    padding: 0px 0 0 40px;
    background: url('../images/icon-mail.png') no-repeat left 5px top 4px;
    display: flex;
    flex-direction: column;
    gap:3px;
}
footer .contacts a{
    font-size: 17px;
    color:#fff;
    text-decoration: none;
}
footer .contacts a:hover{
    color:#e56523;
    text-decoration: none;
}
footer .contacts span{
    font-size: 17px;
    color:#fff;
}
.copy {
    color:#fff;
}
.bottom {
    padding: 53px 0 0 0;
}
.bottom a{
    font-size: 16px;
    color:#91919b;
    text-decoration: none;
}
.bottom a:hover{
    text-decoration: underline;
}
.nav-toggle,
header .phone {
    display: none;
}
.mobile__menu {
    background: #fff;
    top: 0px;
    left: -1000px;
    transition: .4s;
    position: fixed;
    padding: 20px;
    width: 100%;
    height: 100%;
    z-index: 20;
    display: none;
    padding: 45px 25px 0 25px;
    overflow-y: scroll;
}
.mobile__menu.active {
    left: 0;
}
.mobile__menu ul {
    padding: 8px 0 0 0;
    margin: 0;
}
.mobile__menu ul li {
    margin: 16px 0 0 0;
    width: 100%;
    list-style: none;
}
.mobile__menu ul li a {
    font-size: 16px;
    line-height: 24px;
    color: #fff;
    text-decoration: none;
}

/*Типовая*/
ul.breadcrumbs{
    padding: 30px 0 82px 0;
}
ul.breadcrumbs li{
    display: inline-block;
}
ul.breadcrumbs li a{
    color:#32a0e5;
    font-size: 16px;
    text-decoration: none;
}
ul.breadcrumbs li a:hover{
    text-decoration: underline;
}
ul.breadcrumbs li span{
    color:#5a5a5b;
    font-size: 16px;
}
ul.breadcrumbs li a:after{
    content:'/';
    color:#5a5a5b;
    font-size: 16px;
    display: inline-block;
    margin:0 1px 0 5px;
}
.wrapper{
    padding: 0 0 180px 0;
    overflow-wrap: break-word;
}
.wrapper h1{
    margin:0;
    font-size: 60px;
    color:#191919;
    font-family: 'Inter18pt-SemiBold';
    margin-bottom: 80px;
}
.wrapper h2{
    font-size: 50px;
    color:#191919;
    font-family: 'Inter18pt-SemiBold';
    margin:70px 0 0 0;
    line-height: 130%;
}
.wrapper h3{
    font-size: 39px;
    color:#191919;
    font-family: 'Inter18pt-SemiBold';
    margin:70px 0 0 0;
    line-height: 140%;
}
.wrapper h4{
    font-size: 30px;
    color:#191919;
    font-family: 'Inter18pt-SemiBold';
    margin:30px 0 30px 0;
    line-height: 140%;
}
.wrapper p{
    margin:0 0 30px 0;
    font-size: 17px;
    color:#1f1f1f;
    line-height: 140%;
}
.wrapper p + p{
    margin: 20px 0 0 0;
}
.wrapper p a{
    color:#32a0e5;
    text-decoration: underline;
}
.wrapper p a:hover{
    text-decoration: none;
}
.wrapper img{
    max-width: 100%;
    border-radius: 10px;
}
.wrapper ul:not(.breadcrumbs) {
    padding: 20px 0 0 20px;
}
.wrapper ol{
    padding: 3px 0 0 20px;
}
.wrapper ul li,
.wrapper ol li{
    margin: 13px 0 0 0;
    font-size: 17px;
    color:#1f1f1f;
    padding: 0 0 0 10px;
    line-height:140%;
}
.wrapper ul li{
    list-style: disc;
}
.wrapper blockquote{
    margin: 90px 0 0 0;
    font-family: 'Inter18pt-SemiBold';
    color:#1f1f1f;
    font-size: 20px;
    padding: 0 0 0 33px;
    border-left: 7px solid #32a0e5;
    line-height: 140%;
}
.wrapper .gallery{
    display: flex;
    padding: 60px 0 0 0;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}
.wrapper .gallery img{
    margin: 0;
}
.wrapper figcaption{
    font-size: 16px;
    color:#676a6d;
    margin: 30px 0 0 0;
}
.content .btn{
    width: 237px;
    height: 49px;
    border-radius: 6px;
    background: #32a0e5;
    margin: 0 0 0 0;
    font-family: 'Inter18pt-Medium';
    color: #fff;
    font-size: 17px;
    text-decoration: none!important;
}
.content .btn:hover {
    background: #f96410;
    color: #fff;
}
.popup{
    width: 100%;
    max-width: 960px;
    position: fixed;
    z-index: 15;
    left:0;
    right:0;
    margin: auto;
    top:50%;
    margin-top:-390px;
    border-radius: 15px;
    background: #fff;
    padding: 70px 60px;
    display: none;
}
.popup-thank {
    top:50%;
    margin-top:-35px;
    width: 100%;
    max-width: 630px;
    position: fixed;
    z-index: 15;
    left:0;
    right:0;
    margin: auto;
    display: none;
}
.popup-thank p.title{
    margin:0;
    font-size: 60px;
    color:#fff;
    font-family: 'Inter18pt-SemiBold';
}
.popup p.title{
    margin:0;
    font-size: 60px;
    color:#191919;
    font-family: 'Inter18pt-SemiBold';
}
.popup p{
    margin:35px 0 0 0;
    font-size: 25px;
    color:#1f1f1f;
    text-align: center;
}
.popup .close{
    width: 32px;
    height: 32px;
    top:32px;
    right: 32px;
    background: url('../images/close.png') no-repeat;
    position: absolute;
}
.popup form{
    padding: 60px 0 0 0;
    display: flex;
    gap:10px;
}
.popup form div{
    width: calc(50% - 5px);
    text-align: center;
}
.popup form input[type="text"],
.popup form input[type="email"],
.popup form input[type="tel"]{
    margin:0 0 11px 0;
    width: 100%;
    font-size: 18px;
    padding: 0 0 0 40px;
    color:#1f1f1f;
    outline: none;
    border-radius: 15px;
    height: 75px;
    border:1px solid #c8cbd0;
}
.popup form textarea{
    margin:0 0 9px 0;
    width: 100%;
    font-size: 18px;
    padding: 30px 0 0 40px;
    resize: none;
    color:#1f1f1f;
    outline: none;
    border-radius: 15px;
    height: 245px;
    border:1px solid #c8cbd0;
}
.popup form button{
    font-size: 18px;
    color:#fff;
    margin:0;
    width: 100%;
    height: 74px;
    background: #31afe9;
    font-family: 'Inter18pt-Medium';
    border-radius: 15px;
    border:none;
    cursor: pointer;
}
.popup form button:hover{
    background: #f96410;
}
.popup form input[type="checkbox"] { 
    position: absolute; 
    left: -9999px; 
}
.popup form input[type="checkbox"] + label { 
    width: 250px;
    position: relative;
    margin: 20px auto 0;
    font-size: 15px;
    padding: 0 0 0 31px;
    color:#7f7f80;
    cursor: pointer;
    display: inline-block;
    text-align: left;
}
.popup form input[type="checkbox"] + label a{
    font-size: 15px;
    text-decoration: underline;
    color:#7f7f80;
}
.popup form input[type="checkbox"] + label a:hover{
    text-decoration: none;
}
.popup form input[type="checkbox"] + label:before {
    content:''; 
    position: absolute;
    left:0;
    top:0;
    width: 19px;
    height: 19px;
    background: #e8e9ea;
    border-radius: 50%;
}
.popup form input[type="checkbox"]:checked + label:after {
    content:''; 
    left:4px;
    top:4px;
    width: 11px;
    height: 11px;
    background: #31afe9;
    border-radius: 50%;
    position: absolute;
}
.popup form input.error {
    border-bottom: 1px solid #ff0000;
}

#map{
    height: 850px;
    width: 100%;
}
.contacts-wrap{
    padding: 0 0 80px 0;
}
.contacts-wrap h1{
    text-align: center;
    margin-bottom: 80px;
}
.contacts-wrap .adres{  
    padding: 0 0 0 60px;
    background: url('../images/contact-adres.png') no-repeat;
    color:#000;
    font-size: 19px;
    max-width: 370px;
}
.contacts-wrap .email{  
    padding: 0 0 0 60px;
    background: url('../images/contact-email.png') no-repeat left center;
    display: flex;
    flex-direction: column;
}
.contacts-wrap .email a{
    color:#000;
    font-size: 19px;
    text-decoration: none;
}
.contacts-wrap .email span{
    color:#8e9195;
    font-size: 19px;
}
.contacts-wrap .phones{  
    padding: 0 0 0 60px;
    background: url('../images/contact-phone.png') no-repeat;
    display: flex;
    flex-direction: column;
}
.contacts-wrap .phones a{
    font-family: 'Inter18pt-Medium';
    font-size: 19px;
    text-decoration: none;
    color:#000;
}
.contacts-wrap .email a:hover,
.contacts-wrap .phones a:hover{
    text-decoration: underline;
}
.contacts-wrap .btn{
    width: 204px;
    height: 49px;
    color:#fff;
    font-size: 17px;
    font-family: 'Inter18pt-Medium';
    background: #32a0e5;
    border-radius: 6px;
}
.contacts-wrap .btn:hover{
    background: #f96410;
}
/* Стили для таблицы в контенте */
.black-border {
  border-collapse: collapse;
  width: 100%;
  font-weight: bolder;
}

.black-border td, th {
  border: 1px solid black;
  padding: 8px 10px;
  vertical-align: top;
}

/* Убираем лишние отступы у параграфов внутри ячеек */
.black-border td p, th {
  margin: 0 0 4px;
}

.black-border th {
    text-align: center;
    vertical-align: middle;
}

/* Мобильная адаптация: горизонтальный скролл */
.table-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; /* плавный скролл на iOS */
  margin: 0 0 1em;
}

/* Опционально: минимальная ширина таблицы, чтобы гарантированно появился скролл */
.black-border {
  min-width: 650px;
  font-weight: normal;
}

/* .item-link {
    color: #32a0e5;
    text-decoration: underline;
}

.item-link:hover {
    text-decoration: none;
    color: #32a0e5;
} */

/* ol > li {
  margin-bottom: 40px!important;
} */

.war-ol-ul {
    padding: 0px 0 0 20px!important;
}

.padding-ul-ol {
    padding: 3px 0 0 55px!important;
}

/* ===========================
   Блок подпрограмм
   =========================== */
.subprograms-section {
  padding: 80px 0 0 0;
}

.subprograms-heading {
  font-family: 'Inter18pt-SemiBold', sans-serif;
  font-size: 60px;
  color: #191919;
  margin: 0 0 60px;
  text-align: left;
}

/* Табличное представление */
.subprograms-table {
  display: flex;
  flex-direction: column;
 /*border: 1px solid #c8cbd0;
  border-radius: 6px;*/
  overflow: hidden;
}

.subprograms-row {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px 24px;
  background: #fff;
  transition: background-color 0.2s ease;
  border: 1px solid #e9ecef;
  margin-bottom: 20px;
}

.subprograms-row:last-child {
/*  border-bottom: none;*/
}

.subprograms-row:hover {
  background-color: #f8f9fa;
}

/* Ячейки */
.subprograms-cell {
  flex-shrink: 0;
}

.subprograms-cell--icon {
  width: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.subprograms-cell--title {
  flex: 1;
  min-width: 0;
  padding-right: 10px;
}

.subprograms-title {
  font-family: 'Inter18pt-SemiBold', sans-serif;
  font-size: 18px;
  color: #191919;
  margin-bottom: 6px;
  line-height: 1.3;
  transition: color 0.2s;
}
.subprograms-row .subprograms-title a {
    text-decoration:none;
}

/* Синий при наведении на всю строку */
.subprograms-row .subprograms-title a:hover {
  color: #32a0e5;
  text-decoration: underline;
}

.subprograms-details {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 12px;
  font-family: 'Inter18pt-Regular', sans-serif;
  font-size: 14px;
  color: #4a4a4a;
  line-height: 1.4;
}

.subprograms-details__sep {
  color: #c8cbd0;
}

.subprograms-cell--protocol {
  width: 220px;
  font-family: 'Inter18pt-Regular', sans-serif;
  font-size: 15px;
  color: #1f1f1f;
  line-height: 1.4;
  text-align: left;
}

.subprograms-cell--price {
  width: 110px;
  font-family: 'Inter18pt-SemiBold', sans-serif;
  font-size: 18px;
  color: #191919;
  text-align: center;
  white-space: nowrap;
}

.subprograms-cell--action {
  width: 140px;
  display: flex;
  justify-content: center;
}

/* Кнопка Заказать (переиспользуем стили .btn, но уточняем) */
.btn--order {
  /* наследуется от .btn: display flex, align-items center, justify-content center, transition .3s */
  width: 140px;
  height: 49px;
  border-radius: 6px;
  background: #32a0e5;
  font-family: 'Inter18pt-Medium', sans-serif;
  color: #fff;
  font-size: 17px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  white-space: nowrap;
}

.btn--order:hover {
  background: #f96410;
  color: #fff;
  text-decoration: none;
}

@media (max-width: 900px) {
  .subprograms-row {
    flex-wrap: wrap;
    gap: 12px;
    padding: 16px;
  }

  .subprograms-cell--icon {
    width: auto;
    order: 0;
  }

  .subprograms-cell--title {
    order: 1;
    width: calc(100% - 50px);
  }

  .subprograms-cell--protocol {
    order: 2;
    width: 100%;
    font-size: 14px;
    padding-left: 48px; /* чтобы выровнять с заголовком */
    margin-top: 4px;
  }

  .subprograms-cell--price {
    order: 3;
    width: auto;
    text-align: left;
    padding-left: 48px;
    margin-top: 4px;
    font-size: 16px;
  }

  .subprograms-cell--action {
    order: 4;
    width: 100%;
    justify-content: flex-start;
    padding-left: 48px;
    margin-top: 12px;
  }

  .btn--order {
    width: 160px;
  }

  .subprograms-heading {
    font-size: 36px;
    margin-bottom: 40px;
  }

  .subprograms-section {
    padding: 65px 0 0 0;
  }
}

.gallery-about-the-center {
    /*display: flex;
    justify-content: space-between;*/
    margin: 0 0 20px 0px;
}

@media (max-width: 480px) {
  .subprograms-details {
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
  }

  .subprograms-details__sep {
    display: none;
  }

  .btn--order {
    width: 100%;
  }

  .subprograms-cell--protocol {
    padding-left: 0;
  }

  .subprograms-cell--price {
    padding-left: 0;
  }

  .subprograms-cell--action {
    padding-left: 0;
  }

  .subprograms-cell--title {
    width: 100%;
  }

  .subprograms-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .subprograms-cell--icon {
    margin-bottom: 4px;
  }
}
/* end block program */

/* ===========================
   Детальная страница программы
   =========================== */

.course-detail {
  padding: 80px 0 0 0;
}

.course-heading {
  font-family: 'Inter18pt-SemiBold', sans-serif;
  font-size: 50px;
  color: #191919;
  margin: 0 0 50px;
  line-height: 1.3;
}

/* Общий блок с описанием и ценой */
.course-overview {
  display: flex;
  gap: 60px;
  align-items: flex-start;
  margin-bottom: 70px;
}

.course-description {
  flex: 1;
  font-size: 17px;
  color: #1f1f1f;
  line-height: 1.5;
}

.course-description p {
  margin: 0;
}

.course-description p + p {
  margin-top: 20px;
}

.course-price-box {
  width: 280px;
  flex-shrink: 0;
  background: #f5f6f7;
  border-radius: 12px;
  padding: 40px 30px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.course-price {
  font-family: 'Inter18pt-SemiBold', sans-serif;
  font-size: 36px;
  color: #191919;
  margin-bottom: 24px;
  line-height: 1;
}

/* Кнопка заказать (использует класс .btn и js-button) */
.btn.js-button {
  width: 100%;
  height: 55px;
  border-radius: 6px;
  background: #32a0e5;
  font-family: 'Inter18pt-Medium', sans-serif;
  font-size: 17px;
  color: #fff;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s;
  border: none;
  cursor: pointer;
  padding: 0px 20px;
}

.btn.js-button:hover {
  background: #f96410;
  color: #fff;
  text-decoration: none;
}

/* Таблица деталей (определение списком) */
.course-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-top: 1px solid #c8cbd0;
  padding-top: 40px;
  margin: 0;
}

.course-details dt,
.course-details dd {
  padding: 16px 0;
  margin: 0;
  border-bottom: 1px solid #e9ecef;
  font-size: 17px;
  line-height: 1.4;
}

.course-details dt {
  font-family: 'Inter18pt-SemiBold', sans-serif;
  color: #191919;
  display: flex;
  align-items: center;
}

.course-details dd {
  font-family: 'Inter18pt-Regular', sans-serif;
  color: #1f1f1f;
  display: flex;
  align-items: center;
}

/* Чередование фона для читаемости (опционально) */
.course-details dt:nth-of-type(odd),
.course-details dd:nth-of-type(odd) {
  background-color: transparent;
}

.course-details dt:nth-of-type(even),
.course-details dd:nth-of-type(even) {
  background-color: transparent;
}

/* Адаптивность */
@media (max-width: 900px) {
  .course-overview {
    flex-direction: column;
    gap: 30px;
  }

  .course-price-box {
    width: 100%;
    padding: 30px 20px;
  }

  .course-price {
    font-size: 30px;
    margin-bottom: 20px;
  }

  .course-heading {
    font-size: 36px;
    margin-bottom: 30px;
  }

  .course-details {
    grid-template-columns: 1fr;
  }

  .course-details dt {
    border-bottom: none;
    padding-bottom: 4px;
  }

  .course-details dd {
    padding-top: 4px;
    border-bottom: 1px solid #e9ecef;
  }

  .course-details dt:last-of-type,
  .course-details dd:last-of-type {
    border-bottom: none;
  }
}

@media (max-width: 480px) {
  .course-detail {
    padding: 40px 0 0 0;
  }

  .btn.js-button {
    font-size: 16px;
    height: 50px;
  }
}
/* end detal program */

@media(max-width: 768px){
    .programs h1 {
        font-size: 40px;
    }

    .mobile__menu {
        display: block;
    }
    .mobile__menu .close{
        position: absolute;
        right: 26px;
        top:50px;
        background: url('../images/close.png') no-repeat;
        width: 27px;
        height: 27px;
        background-size: 27px 27px;
    }
    .mobile__menu .eye{
        padding: 8px 0 8px 57px;
        font-size: 17px;
        color:#31afe9;
        font-family: 'Inter18pt-Medium';
        background: url('../images/eye.png') no-repeat;
        text-decoration: none;
        display: block;
    }
    .mobile__menu .contact{
        padding: 50px 0 0 0;
        display: flex;
        flex-direction: column;
        gap:30px;
    }
    .mobile__menu .contact a{
        text-decoration: none;
        font-family: var(--font-family);
        font-weight: 500;
        font-size: 16px;
        color: #f9f8fc;
        padding: 0 0 0 30px;
    }
    .mobile__menu .contact a.phone{
        background: url('../images/iconPhone.svg') no-repeat;
        padding: 0 0 0 27px;
    }
    .mobile__menu .contact a.email{
        background: url('../images/iconEmail.svg') no-repeat;
        padding: 0 0 0 35px;
    }
    .mobile__menu ul{
        display: flex;
        flex-direction: column;
        padding: 30px 0 0 0;
    }
    .mobile__menu ul li{
        position: relative;
        padding: 20px 0 0 0;
        margin:0;
    }
    .mobile__menu ul li.parent a{
        padding-right: 24px;  
        position: relative;
    }
    .mobile__menu .subitem {
        margin-left:20px;
        list-style: disc;
        padding-top: 5px;
    }
    .mobile__menu .subitem a {
        font-size: 15px;
    }
    .mobile__menu ul li.parent > a:after{
        content:'';
        width: 14px;
        height: 8px;
        background: url('../images/arrow-menu.png') no-repeat;
        right:0;
        top:6px;
        position: absolute;
    }
    .mobile__menu .phones{
        padding: 0 0 0 40px;
        background: url('../images/icon-phone.png') no-repeat left top 4px;
        display: flex;
        flex-direction: column;
        margin:30px 0 0 0;
    }
    .mobile__menu .phones a{
        font-family: 'Inter18pt-Medium';
        font-size: 19px;
        color:#000;
        text-decoration: none;
    }
    .mobile__menu .phones a:hover{
        color:#e56523;
        text-decoration: none;
    }
    .mobile__menu .email{
        margin: 0;
        padding: 0px 0 0 40px;
        background: url('../images/icon-mail.png') no-repeat left 5px top 4px;
        display: flex;
        flex-direction: column;
        gap:3px;
        margin:50px 0 0 0;
    }
    .mobile__menu .email a{
        font-size: 17px;
        color:#000;
        text-decoration: none;
    }
    .mobile__menu .email span{
        font-size: 17px;
        color:#8e9195;
    }
    .mobile__menu .btns{
        gap:6px;
        margin: 50px 0 0 0;
    }
    .mobile__menu a.lk{
        color:#32a0e5;
        border:1px solid #32a0e5;
        border-radius: 6px;
        background: #fff;
        transition: .3s;
        display: flex;
        width: calc(45% - 3px);
        text-decoration: none;
        height: 49px;
        align-items: center;
        justify-content: center;
        /*display:none;*/
    }
    .mobile__menu a.btn{
        width: calc(55% - 3px);
        height: 49px;
        border-radius: 6px;
        background: #32a0e5;
        margin: 0;
        font-family: 'Inter18pt-Medium';
        color:#fff;
        font-size: 17px;
        text-align: center;
    }
    .top-menu ul li.parent:hover:after{
        transform: rotate(180deg);
    }
    .mobile__menu ul li a{
        text-decoration: none;
        text-transform: uppercase;
        font-size: 17px;
        color:#000;
        font-family: 'Inter18pt-SemiBold';
    }
    .mobile__menu ul li ul{
        padding:0 0 0 25px;
        /*display: none;*/
    }
    .nav-toggle{
        display: block;
    }
    section{
        padding: 65px 0 0 0;
    }
    .top,
    .top-menu,
    header .contacts{
        display: none;
    }
    header a.logo {
        width: 180px;
        padding: 6px 0 6px 50px;
        font-size: 13px;
        background: url(../images/logo.png) no-repeat;
        background-size: auto 45px;
    }
    header{
        padding: 16px 0;
        position: sticky;
        top:0;
        z-index: 11;
        left:0;
        width: 100%;
        background: #fff;
        border-bottom: 1px solid #c8cbd0;
    }
    header.active{
        padding: 16px 0;
    }
    header.active > .container{
        opacity: 1;
        height: auto;
    }
    header a.phone{
        display: block;
    }
    .slider .item{
        padding: 170px 0 0 0;
        min-height: 610px;
        background-size: cover;
    }
    .slider p.title{
        font-size: 36px;
    }
    .slider p{
        font-size: 21px;
    }
    .programs{
        padding-bottom: 80px;
    }
    .programs h2,
    .preims h2,
    .useful h2{
        font-size: 36px;
    }
    .programs h2 + p,
    .preims h2 + p,
    .useful h2 + p{
        font-size: 20px;
    }
    .programs__list .item{
        margin: 50px 0 0 0;
    }
    .programs__list{
        justify-content: center;
    }
    .programs .btn{
        margin: 40px auto 0;
    }
    .preims__list{
        padding: 0 0 65px 0;
        margin: 50px 0 0 0;
    }

    .preims{
        padding-bottom: 80px;
    }
    .preims__list .item div{
        border:none;
    }
    .js-mobile-slider .slick-dots{
        bottom:0;
        left:0;
    }
    .js-mobile-slider .slick-next{
        right:37px;
    }
    .js-mobile-slider .slick-arrow{
        top:37px;
        position: absolute;
        background: url('../images/arrow.png') no-repeat;
        font-size: 0;
        cursor: pointer;
        z-index: 2;
        width: 24px;
        height: 43px;
        border:none;
    }
    .js-mobile-slider .slick-prev{
        left:37px;
        transform: rotate(180deg);
    } 
    .js-mobile-slider .slick-dots button{
        background: #eaeaea;
    }
    .js-mobile-slider .slick-dots .slick-active button{
        background: #b8b8b8;
    }
    .useful{
        padding-bottom: 80px;
    }
    .links__list{
        margin: 75px 0 0 0;
        padding: 0 45px 65px 45px;
    }
    .links__list.js-mobile-slider .slick-arrow{
        top:65px;
    }
    .links__list.js-mobile-slider .slick-next{
        right:7px;
    }
    .links__list.js-mobile-slider .slick-prev{
        left:7px;
    } 
    .links__list a{
        max-width: 100%;
        margin:0;
        text-align:center;
    }
    .links__list a span{
        margin-top:10px;
        display: block;
    }    
    .links__list img{
        margin-right: 20px;
        max-width: 120px;
        margin: 0px auto;
    }
    .links__list .slick-slide{
        display: flex;
    }
    footer{
        padding: 70px 0 30px 0;
    }
    footer .d-flex > div{
        order:0;
        display: flex;
        align-items: flex-start;
        width: 100%;
        justify-content: space-between;
    }
    footer ul{
        order:1;
        width: 100%;
        justify-content: center;
        display: flex;
        flex-wrap: wrap;
        column-gap: 30px;
        padding: 60px 15px 0 15px;
    }
    footer .d-flex > .logo{
        order:2;
    }
    footer .contacts{
        margin:0;
        flex-wrap: wrap;
        width: 186px;
        flex-direction: row;
    }
    footer .phones {
        padding: 0 0 0 35px;
    }
    footer .phones a{
        font-size: 15px;
    }
    footer .contacts a,
    footer .contacts span{
        font-size: 14px;
    }
    footer .d-flex > .logo{
        margin: 70px auto 0;
    }
    .bottom{
        flex-direction: column;
        gap:20px;
    }
    .popup p.title,
    .popup-thank p.title{
        font-size: 38px;
    }
    .popup{
        padding: 70px 20px 20px 20px;
        top:10px;
        margin-top: 0;
    }
    .popup .close {
        width: 24px;
        height: 24px;
        top: 24px;
        right: 24px;
        background: url(../images/close.png) no-repeat;
        background-size: 24px 24px;
    }
    .popup form{
        flex-wrap: wrap;
        padding: 40px 0 0 0;
    }
    .popup p {
        font-size: 18px;
        margin: 25px 0 0 0;
    }
    .popup form input[type="text"], .popup form input[type="email"], .popup form input[type="tel"]{
        height: 65px;
    }
    .popup form button{
        height: 65px;
    }
    .popup form div{
        width: 100%;
    }
    .popup form textarea{
        height: 160px;
    }
    ul.breadcrumbs {
        padding: 35px 0 45px 0;
        text-align: left;
    }
    .wrapper h1{
        font-size: 36px;
    }
    .wrapper h2 {
        font-size: 30px;
        margin: 50px 0 0 0;
    }
    .wrapper h3 {
        font-size: 25px;
        margin: 40px 0 0 0;
    }
    .wrapper img{
        margin: 50px auto 0;
        max-width: 100%;
    }
    .wrapper blockquote{
        margin: 70px 0 0 0;
    }
    .wrapper .gallery img{
        margin-right: 20px;
        max-width: 320px;
    }
    #map{
        height: 600px;
    }
    .contacts-wrap h1 {
        margin-bottom: 50px;
    }
    .contacts-wrap .d-flex{
        padding: 0 0 0 20px;
        gap:45px;
    }
    .content .btn{
        margin: 0 auto 0;
    }
}