* {
    margin: 0;
    padding: 0;
    font-family: 'Play', sans-serif;
    color: #333;
}

.custom-icon {
    fill: #0d6efd!important;
}

:target:before {
  content: "";
  display: block;
  height: 30px;
  margin: -30px 0 0;
}

html {
  scroll-behavior: smooth;
}

body {
    background: #f6f7f8;
}

h1, h2 {
    font-size: 42px;
    font-weight: 700;
    margin-top: 30px;
    margin-bottom: 30px;
}

p {
    font-size: 14px;
    font-weight: 300;
}

h5 {
    font-weight: 700;
}

a {
    text-decoration: none;
}

::selection {
    background: rgba(255,221,45,.32)!important;
    color: rgba(0,0,0,.8)!important;
    text-shadow: none;
}


/* Цвета */
.grey-1 {
    background:#EAECEE;
}

.grey-2 {
    background:#E2E8F0;
}

.grey-3 {
    background:#9299A2;
}

.grey-4 {
    background:#a5afbe;
}

.black-1 {
    background:#444;
    color: #fff;
}

.black-2 {
    background:#333;
    color: #fff;
}

.green-1 {
    background:#E1F9F7;
}

.yellow-1 {
    background:#f1ebd6;
}

.white-1 {
    background: #fff;
}

.blue-1 {
    background:#74a3c7;
}

.blue-2 {
    background: #4972CF!important;
}

.bg--dark {
    background: #212121;
}
/* Цвета */

/* О нас */
a.dropdown-toggle {
    color: #000000A6;
}

ul.dropdown-menu {
    border: unset;
    border-radius: 10px;
}

.circle-image {
    border-radius: 50%;  /* Скругление углов изображения */
    border: 5px solid #fff; /* Цвет и ширину рамки */
    box-shadow: 2px 1px 5px #999999; /* Цвет и размер тени */
    width: 200px;
    height: 200px;
    object-fit: cover;
    object-position: top;
}

.first-about {
    border-radius: 25px;
}

/* О нас */

/* Карточки */
.card {
    border: none;
    border-radius: 25px;
    transition: ease .6s;
    color: #444;    
}

.card:hover {
    scale: 1.03;
    transition: ease .6s;
}

.nice-card {
    overflow: hidden;
    min-height: 460px;
}

.nice-card h5 {
    text-align: center;
    font-size: 25px;
    padding: 25px 15px 5px 15px;
}

.nice-card p {
    text-align: center;
    font-size: 14px;
    padding: 15px;
}

.nice-card a {
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    background: #f6f7f8;
    color: #333;
    padding: 15px 30px;
    border-radius: 5px;
    font-size: 12px;
    z-index: 2;
    white-space: nowrap;
}

.nice-card img {
    position: relative;
    width: 120%;
    z-index: 1;
    left: 50%;
    transform: translateX(-50%);
}

.small-card {
    padding: 25px;
}

.small-card:hover {
    scale: none;
}

.small-card h5 {
    text-align: left;
    font-size: 25px;
    padding: 0 0 5px 0;
}

.small-card p {
    text-align: left;
    font-size: 16px;
}

.small-card a {
    position: absolute;
    bottom: 15px;
    left: 40px;
}

.small-card img {
    margin-left: 15px;
}

.big-card {
    overflow: hidden;
    border-radius: 25px;
    min-height: 300px;
    position: relative;
}

.big-card h5 {
    text-align: left;
    font-size: 25px;
    padding: 25px 15px 5px 40px;
}

.big-card p {
    font-size: 16px;
    padding: 15px 40px 5px 40px;
    text-align: justify;
}

.big-card a {
    margin: 10px 40px;
}

.big-card img.w-100 {
    position: relative;
    bottom: -50px;
}

.contact-card .col-img-1 {
    width: 120px;
    height: 120px;
    border-radius: 40px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 40px;
    margin-left: 50px;
}

.contact-card .col-img-2 {
    width: 120px;
    height: 120px;
    border-radius: 40px;
    background: #ffdd2d;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 40px;
    margin-left: 20px;
}

.contact-card h5{
    font-size: 26px;
    margin-top: 30px;
    margin-left: 40px;
}

.contact-card p{
    font-size: 14px;
    margin-top: 10px;
    margin-left: 40px;
}

.contact-card a {
    background: #000;
    color: #fff;
    padding: 10px;
    border-radius: 5px;
    margin-left: 10px;
    position: relative;
    bottom: 0;
    left: 30px;
}

.contact-card a img {
    width: 25px;
    margin-right: 5px;
    position: relative;
    top: -3px;
}

.contact-card img.card-img.w-75 {
    position: relative;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    margin-top: 15px;
}
/* Карточки */

/* Отступы */
#block-1 {
    margin-top: 100px;
}

.blog-text p {
    font-size: 16px;
}

.citat {
    font-weight: 700;
}


/* Отступы */
.block-about {
    max-width: 100%;
    border-radius: 25px;
}

.block-about img {
    max-width: 100%;
    border-radius: 25px;
    height: auto;
}
/* Кнопки */
.btn--warning {
    color: #333;
    background: #ffdd2d;
    padding: 16px 36px;
    border-radius: 10px;
    transition: ease .3s;
    display: inline-block;
}

.btn--warning:hover {
    background: #f8b822;
    transition: ease .3s;
}

.btn--primary {
    color: #336fee;
    border: 1px solid #336fee;
    border-radius: 5px;
    transition: ease .3s;
    padding: 15px 30px;
}

.btn--primary:hover {
    background: #eaecf1;;
}
/* Кнопки */

/* Изображения */
.main-img {
    width: 100%;
    height: auto;
}

.icon-img {
    width: 35px;
    height: auto;
}
/* Изображения */

/* Шапка */
#header nav.fixed-top{
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    background-color: rgba(246, 247, 248, 0.8);
}

#header li a {
    font-size: 14px;
    padding: 5px;
    transition: ease .3s;
}

#header li a:hover{
    background: #fff;
    border-radius: 10px;
    transition: ease .3s;
}

#header nav.fixed-top {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    background-color: rgba(246, 247, 248, 0.9);
    transition: ease .3s;
  }
  
#header nav.fixed-top.default-color {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  background-color: #f6f7f8;
  transition: ease .3s;
}
/* Шапка */

/* Первый блок */
#block-1 img {
    width: 200%;
}
/* Первый блок */

/* Липкий блок с услугами и подуслугами */
.services-block {
    position: sticky;
    bottom: 20px;
}

.services {
    background: #fff;
    border-radius: 25px;
    padding: 25px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}

.services img {
    width: 25px;
    height: auto;
    margin-bottom: 15px;
}

.services a {
    color: #444;
    font-size: 5px;
}

.services p {
    margin-bottom: 0;
}
/* Липкий блок с услугами и подуслугами */

/* Перед футером */
#pre-footer {
    background: #fff;
    margin-top: 50px;
    border-top: 1px solid #EAECEE;
    padding-top: 20px;
}

#pre-footer h5 {
    font-weight: 900;
}

#pre-footer p {
    font-weight: 500;
    font-size: 12px;
}
/* Перед футером */

/* Футер */
#footer {
    padding-top: 50px;
    color: #00000066;
    background: #f6f7f8;
}

#footer h5 {
  color: #888;
  padding-bottom: 20px;
}

.footer-block {
  padding: 0 0 20px 0;
}

.footer-text {
  font-weight: 400;
  text-align: justify;
  color: #00000066;
}

#footer p {
  color: #00000066;  
}
/* Футер */

/* Этапы */
span h3.card-title {
    background: #a5afbe;
    width: 56px;
    height: 56px;
    border-radius: 20px;
    color: #fff !important;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: -28px;
    left: 50%;
    transform: translateX(-50%);
}

.stage-card {
    padding: 40px 25px 0 25px;
    text-align: center !important;
}
/* Этапы */

/* Контактная форма */
.contact-form {
    background: #fff;
    border-top: 4px solid #444;
    border-radius: 25px;
    box-shadow: 10px 10px 50px rgba(0, 0, 0, 0.1);
}

.contact-form h3 {
    font-weight: 700;
    font-size: 28px;
    margin: 50px 0;
}
/* Контактная форма */

/* Хлебные крошки */
.breadcrumb {
    font-size: 12px;
    margin-left: 30px;
    color: #444;
}

.breadcrumb .breadcrumb-item a {
    color: #333;
}

.small-text {
    font-size: 12px;
}
/* Хлебные крошки */

/* настройка карусели */
.card-footer {
    border-radius: 50px;
    background-color: #fff;
}

span.carousel-control-next-icon {
    position: absolute;
    right: -50px;
}

span.carousel-control-prev-icon {
    position: absolute;
    left: -50px;
}
/* настройка карусели */

/* Аккордион */
.accordion {
    border-radius: 25px;
    border: none;
    padding: 15px 100px 15px 100px;
    background: #fff;
}

.accordion-item {
    border: none;
    background: #fff;
    box-shadow: none;
}

.accordion-button {
  border: none;
  background: #fff;
  box-shadow: none;
}

.accordion-button:not(.collapsed) {
  border: none;
  background: #fff;
  box-shadow: none;
}
.accordion-collapse {
  box-shadow: none;
}
h3.accordion-header button{
  font-weight: 600;
  font-size: 20px;
}

h3.accordion-header button:hover {
    color: #888;
  }

.accordion-button:focus {
  box-shadow: none;
}

.accordion-item:not(.collapsed) .accordion-button:not(.collapsed) {
  box-shadow: none;
  color: #000;
}

.accordion-body {
    text-align: justify;
}
/* Аккордион */

/* ВУЗ */
.two-small-card {
    position: relative;
}

.two-small-card img {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background: #fff;
    padding: 8px;
    width: 64px;
    height: 64px;
    border-radius: 20px;
} 

.two-small-card h5, .two-small-card p {
    padding: 10px 20px 0 70px;
}
/* ВУЗ */

.mt-62 {
    margin-top: 78.08px!important;
}

.color-white {
    color: #fff;
}

.image-black-container {
    position: relative;
    display: inline-block;
  }
  
.image-black-container::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100px; /* Высота нижней прозрачной области */
  background-image: linear-gradient(to bottom, rgba(33, 33, 33, 0), rgba(33, 33, 33, 1));
  pointer-events: none; /* Чтобы прозрачная область не перекрывала содержимое ниже */
}

.image-container {
    position: relative;
    display: inline-block;
  }
  
.image-container::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100px; /* Высота нижней прозрачной области */
  background-image: linear-gradient(to bottom, rgba(246, 247, 248, 0), rgba(246, 247, 248, 1));
  pointer-events: none; /* Чтобы прозрачная область не перекрывала содержимое ниже */
}

.ptb-50 {
    padding-top: 50px;
    padding-bottom: 50px;
}

.pb-150 {
    padding-bottom: 150px;
}

.reviews-card {
    padding-top: 10px;
    min-height: 350px;
}

.reviews-card p {
    padding-top: 10px;
    font-size: 16px;
}

.reviews-card:hover {
    scale: none;
}

.card-footer:last-child {
    border-radius: 0 0 25px 25px;
}

.reviews-card.card-footer {
    border-radius: 50px!important;
}

#block-vuz {
    margin-top: 100px;
    min-height: 500px;
}

.block-vuz-container {
    padding: 20px;
}

.block-vuz-container div.col {
    padding: 0 6px!important;
}

.block-vuz-container p{
    font-size: 25px;
    border: 1px solid #333;
    border-radius: 5px;
    transition: ease .3s;
    cursor: pointer;
}

.block-vuz-container p:hover {
    font-size: 25px;
    border: 1px solid #333;
    border-radius: 5px;
    background: #333;
    color: #fff;
    transition: ease .3s;
    cursor: pointer;
}

.vuz-item img {
    width: 70px;
    height: 70px;
    border: 1px solid #888;
    border-radius: 5px;
}

.vuz-item p, button.vuz-item {
    padding-top: 10px;
    font-size: 18px;
    font-weight: 700;
}

.word-items {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}

.word-item {
    min-width: 40px;
    min-height: 40px;
}

/* Ссылки на услуги */
.service-link {
  display: inline-block;
  position: relative;
}

.service-link:hover::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.service-link::before {
  content: "";
  display: none;
  background-color: rgba(0, 0, 0, 0);
  z-index: -1;
}
/* Ссылки на услуги */

/* Модальное окно */
.modal {
  border-radius: 30px;
}
.modal-img{
  border-radius: 30px;
}
.modal-dialog.modal-dialog-centered{
  border-radius: 30px;
}
.modal-content{
  border-radius: 30px;
}
.modal-header {
  border-bottom: none;
}
.modal-btn{
  position: absolute;
  top: 10px;
  right: 10px;
}
.modal-form-1{
  position: absolute;
  bottom: 10%;
  left: 0;
}

p.modal-text-down-1 {
    margin-bottom: 0;
    color: #fff;
}

.special-close-btn {
    z-index: 999;
}

.sale-btn-1{
  background: #ffdd2d;
  color: #333;
}
.sale-btn-1:hover{
  background: #ecf1f7;
}
/* Модальное окно */
.service-card-border {
  border-left: 1px solid #dddfe0;
}
.reviews-card .card-header {
  border-radius: 25px 25px 0 0;
}

img.cover-my-photo {
    object-fit: cover;
    border-radius: 0 0 25px 25px;
}

#block-1 img.blog-image {
  width: 70%!important;
  border-radius: 25px;
  border: 1px solid #999;
}

.article-list {
            max-width: 800px; /* Максимальная ширина контейнера статей */
            margin: 0 auto; /* Центрирование контейнера */
            padding: 20px;
        }

.article {
            border: 1px solid #ccc;
            padding: 20px;
            margin-bottom: 20px;
            overflow: auto; /* Добавляем прокрутку, если контент статьи выходит за границы */
        }

.article-content {
            word-wrap: break-word; /* Добавляем перенос слов */
        }

.price-block {
    display: flex;
    align-items: flex-end;
}

.price-image {
    position: relative;
    max-height: 100%;
    max-width: 100%;
    width: auto;
    height: auto;
    bottom: -16px;
}

p.price-bold {
        font-weight: 700;
    }

.price-card-body {
    border-radius: 25px;
}

.about-logo {
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 300px;
}

.about-logo-img {
    width: 100%;
}

.text-16 {
    font-size: 16px!important;
}

.footer-links {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
}

/* Стили для устройств с шириной экрана до 768 пикселей */
@media (max-width: 768px) {
  /* Дополнительные стили и изменения для мобильных устройств */
    .modal-form-1 p, .modal-form-1 input, .modal-form-1 button {
        font-size: 12px;
    }


    .footer-links {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: space-between;
    }
    * {
      overflow-x: hidden;
    }

    h1, h2, h3, h4, h5 {
        font-size: 180%;
        padding: 10px 0;
    }

    h1 {
        margin-top: 0;
    }

    #block-1 img {
        min-width: 600px;
        position: relative;
        margin-left: 50%;
        transform: translateX(-50%);
    }

    .services-block {
        position: relative;
        top: -70px;
    }
    
    .services {
        padding: 10px 10px 20px 10px;
    }

    .services img {
        padding-top: 15px;
    }
    
    .services p {
        font-size: 12px;
    }

    h2 {
        margin-top: 0!important;
    }
    
    /* Карточки */
    .card:hover {
        scale: none;
    }

    .nice-card {
        min-height: 370px!important;
    }

    .big-card h5 {
        text-align: center;
        padding: 20px 5px 5px 5px;
    }

    .big-card p {
        padding-bottom: 0!important;
    }

    .big-card a {
        position: absolute;
        left: 40%;
        transform: translateX(-50%);
        background: #f6f7f8;
        color: #333;
        padding: 15px 30px;
        border-radius: 5px;
        font-size: 12px;
        z-index: 2;
        white-space: nowrap;
        bottom: 0;
        border: none;
    }

    .big-card img {
        position: relative;
        bottom: 0!important;
    } 

    .contact-card {
        position: relative;
    }

    .contact-card h5 {
        font-size: 90%;
        margin: 0;
        padding: 0;
        text-align: center;
    }
    
    .contact-card p {
        font-size: 80%;
        margin: 0;
        padding: 20px 10px 15px 10px;
        text-align: center;
    }

    .contact-card a.element-no-hide {
        display: block;
        position: relative;
        padding: 9px 0 5px 5px;
        width: 38%;
        margin: 0;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
    }

    .contact-card img.card-img.w-75 {
        position: relative;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        margin-top: 15px;
    }

    .col-img-1 {
        display: none!important;
    }

    .col-img-2 {
        position: relative;
        left: 45%;
        transform: translateX(-50%);
        width: 64px!important;
        height: 64px!important;
        border-radius: 20px!important;
        top: -30px;
    }

    .img-2 {
        width: 40px;
        height: 40px;
    }
    /* Карточки */
    
    #pre-footer {
        text-align: center;
    }

    #pre-footer h5 {
        text-align: center;
    }

    #pre-footer p {
        text-align: center;
    }

    .element-to-hide {
        display: none!important;
    }

    .text-center .btn--primary {
        margin-top: 100px;
        padding: 10px 15px 10px 15px;
    }


    .stage-card {
        padding: 10px 0 0 60px;
        text-align: left;
    }

    span h3.card-title {
        background: #a5afbe;
        width: 56px;
        height: 56px;
        border-radius: 20px;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 45%;
        left: 10px;
        transform: translateY(-50%);
    }

    ol.breadcrumb {
        margin-left: 0;
    }

    /* Аккордион */
    .accordion {
        border-radius: 25px;
        border: none;
        padding: 15px 10px 15px 10px;
        background: #fff;
    }
    
    .accordion-item {
        border: none;
        background: #fff;
        box-shadow: none;
    }
    
    .accordion-button {
      border: none;
      background: #fff;
      box-shadow: none;
    }
    
    .accordion-button:not(.collapsed) {
      border: none;
      background: #fff;
      box-shadow: none;
    }
    .accordion-collapse {
      box-shadow: none;
    }
    h3.accordion-header button{
      font-weight: 600;
      font-size: 20px;
    }
    
    h3.accordion-header button:hover {
        color: #888;
      }
  
    .accordion-button:focus {
      box-shadow: none;
    }
    
    .accordion-item:not(.collapsed) .accordion-button:not(.collapsed) {
      box-shadow: none;
      color: #000;
    }

    .accordion-body {
        text-align: justify;
    }
    /* Аккордион */

    /* ВУЗ */
    .two-small-card {
        position: relative;
    }
    
    .two-small-card img {
        position: absolute;
        left: 0;
        top: 50px;
        background: #fff;
        padding: 8px;
        width: 64px;
        height: 64px;
        border-radius: 20px;
    } 

    .two-small-card h5 {
        padding: 10px 20px 0 70px;
        font-size: 120%;
    }
    .two-small-card p {
        padding: 10px 20px 0 70px;
        font-size: 100%;
    }
    /* ВУЗ */
    .image-black-container {
        left: 50%;
        transform: translateX(-50%);
    }

    .image-black-container::after {
        position: relative;
        left: 50%;
        transform: translateX(-50%);
    }

    .image-container {
        left: 50%;
        transform: translateX(-50%);
    }

    .image-container::after {
        position: relative;
        left: 50%;
        transform: translateX(-50%);
    }

    .price-button {
        text-align: center;
    }

    .price-element {
        display: inline-flex;
        align-items: center;
        justify-content: space-between;
        font-size: 10px;
        margin: 0;
    }

    .price-block {
        position: relative;
        overflow: hidden;
        z-index: 1!important;
        min-height: 160px;
    }

    .price-image {
        position: absolute;
        bottom: -16px;
        z-index: 10!important;
    }

    .price-card-body {
        padding-bottom: 0;
    }

    .about-logo {
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 300px;
    }

    .about-logo-img {
        width: 100%;
    }

    .block-about {
        overflow-x: hidden;
    }
}

/* Стили для устройств с шириной экрана от 769 до 992 пикселей */
@media (min-width: 769px) and (max-width: 991px) {

}

/* Стили для устройств с шириной экрана от 993 до 1200 пикселей */
@media (min-width: 992px) and (max-width: 1199px) {
    .big-card img {
        position: relative;
        bottom: -95px!important;
    }

    .card-img {
        width: 100%!important;
    }
}

.service-link {
  display: inline-block;
  position: relative;
}

.service-link:hover::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.service-link::before {
  content: "";
  display: none;
  z-index: -1;
}

.logo-vuz {
    position: absolute!important;
    transform: rotateX(17deg) rotateY(35deg)!important;
    border: 3px solid #fff;
    border-radius: 10px;
    background: #f6f7f8;
}

/* Для экранов шириной меньше 576px */
@media screen and (max-width: 575px) {
    .logo-vuz-main {
        width: 600px!important;
        height: auto;
    }

    .logo-vuz {
        bottom: 18.6%!important;
        right: 29%!important;
        min-width: unset!important;
        max-width: 112px!important;
        height: 88px!important;
        margin: 0!important;
        border-radius: 6px!important;
    }

    div.d-flex.justify-content-between.mobile-form {
        
        flex-direction: column-reverse;
    }

    div.d-flex.justify-content-between.mobile-form button {
        width: 100%;
        text-align: center;
    }

    .main-radio-span {
        display: block;
    }
}

div.d-flex.justify-content-between.mobile-form p {
    color: #a2a2a3!important;
}

/* Для экранов шириной от 576px до 767px */
@media screen and (min-width: 576px) and (max-width: 767px) {
    .logo-vuz-main {
        width: 600px!important;
        height: auto;
    }

    .logo-vuz {
        bottom: 18.5%!important;
        right: 29%!important;
        min-width: unset!important;
        max-width: 110px!important;
        height: 87px!important;
        margin: 0!important;
        border-radius: 6px!important;
    }
}

/* Для экранов шириной от 768px до 991px */
@media screen and (min-width: 768px) and (max-width: 991px) {
    .logo-vuz-main {
        width: 696px!important;
        height: auto;
    }

    .logo-vuz {
        bottom: 19.5%;
        right: 29%;
        width: 128px!important;
        height: 100px!important;
        border-radius: 6px!important;
    }
}

/* Для экранов шириной от 992px до 1199px */
@media screen and (min-width: 992px) and (max-width: 1199px) {
    .logo-vuz-main {
        max-width: 936px!important;
        height: auto;
    }

    .logo-vuz {
        bottom: 20.5%;
        right: 29%;
        width: 173px!important;
        height: 134px!important;
        border-radius: 8px!important;
    }
}

@media screen and (min-width: 1200px) and (max-width: 1399px) {
    .logo-vuz-main {
        max-width: 1116px!important;
        height: auto;
    }

    .logo-vuz {
        bottom: 21%;
        right: 29%;
        width: 205px!important;
        height: 160px!important;
    }
}

/* Для экранов шириной 1200px и более */
@media screen and (min-width: 1400px) {
    .logo-vuz-main {
        width: 1296px!important;
        height: auto;
    }

    .logo-vuz {  
        bottom: 21%;
        right: 29%;
        width: 240px!important;
        height: 185px;
    }
}




/* Кастомные радиокнопки */
span.main-radio-span {
  display: flex;
  flex-direction: column;
  
}

label {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  border: 1px solid #d9d9da;
  padding: 10px 20px;
}

.main-radio-span-one {
    border-radius: 10px 10px 0 0;
    border-bottom: none!important;
}

.main-radio-span-two {
    border-radius: 0 0 10px 10px;
}

/* Стили для неотмеченных радиокнопок */
input[type="radio"] {
    /* Убираем стандартные бордеры */
    border: none;
    /* Задаем серый цвет фона */
    background-color: #ecf1f7;
    /* Задаем размеры и форму кнопки (можно настраивать по желанию) */
    width: 20px;
    height: 20px;
    border-radius: 50%;
    /* Убираем стандартный внутренний отступ */
    padding: 0;
    /* Скрываем оригинальную радиокнопку */
    appearance: none;
    -webkit-appearance: none;
    transition: all .6s ease;
  }
  
  /* Стили для отмеченных радиокнопок */
  input[type="radio"]:checked {
    /* Добавляем желтый бордер */
    background: #333;
    border: 4px solid #ffdd2d;
    
    transition: background .6s ease;
  }
  
  /* Скрытие стандартной внутренней точки в радиокнопке */
  input[type="radio"]::before {
    content: "";
    display: block;
    /* Задаем черный цвет точки */
    background-color: #333;
  }
  
  /* Скрытие стандартного внешнего кружка радиокнопки */
  input[type="radio"]::after {
    content: none;
  }
/* Кастомные радиокнопки */

/* Кастомные инпуты */
.custom-input-main {
    background: #ecf1f7;
    box-shadow: none!important;
    border: none;
    border-radius: 10px;
}

label.form-label::after, select.custom-input-main:focus + label.form-label::after {
    background: #ecf1f7!important;
}

.custom-input-main:focus + label.form-label::after {
    background: #fff!important;
}

.custom-input-main:focus {
    border: 1px solid grey;
    border-radius: 10px;
}

.form-control.is-invalid {
    border: 1px solid red;
    border-radius: 10px;
}

.form-control.is-valid {
    border: 1px solid green;
    border-radius: 10px;
}

/* Кастомные инпуты */

@media screen and (max-width: 575px) {

    span.input-span-text {
        overflow: hidden;
    }
}

.main-sale-content {
    position: relative;
}

.main-sale-text {
    font-weight: 900;
    font-size: 24px;
    text-align: center;

    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    text-align: center;
}

.main-sale-size {
    font-weight: 900;
    font-size: 64px;
    text-align: center;

    position: absolute;
    top: 50px;
    left: 0;
    width: 100%;
    text-align: center;
}

.main-sale-button {
    position: absolute;
    bottom: 50%;
    left: 50%;
    transform: translateX(-50%);
}

.form-select-main {
    height: 58px;
    overflow: hidden;
}

select.form-select {
    height: 58px;
}

.progress {
    height: 8px;
}

div.progress-bar {
    background: rgb(0, 185, 45);
}

.percent-complete {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.complete {
    font-size: 14px;
    color: #a2a3a3;
}

.percent {
    font-weight: 900;
    font-size: 24px;
}

.landing-video, iframe {
    width: 100%!important;
    height: 56.25vw!important; /* 16:9 соотношение сторон видео */
    max-height: 500px!important; /* Максимальная высота видео */
    border-radius: 25px!important;
    margin-top: 30px!important;
}

.carousel-item {
    width: 100%;
    height: 100%;
}

img.slider-image {
    border-radius: 25px!important;
}

#carouselExampleControls .carousel-item img {
    height: 400px; /* Задайте здесь желаемую фиксированную высоту */
    object-fit: contain;
}
.carousel-img {
  position: relative;
  z-index: 1;
  cursor: pointer;
}

/* Медиа-запрос для управления размерами видео на меньших экранах */
@media (max-width: 768px) {
    .landing-video {
        height: 100vw; /* Высота равна ширине на экранах шириной 768px и менее */
    }

    .carousel-control-prev-icon, .carousel-control-next-icon {
        background-color: #333!important;
        z-index: 999;
        position: unset!important;
        border-radius: 50%;
    }

    
}



/* Стили для формы */
.service-block {
    display: flex;
    align-items: center;
    border: 1px solid #d9d9da;
    position: relative;
    padding: 10px;
    border-radius: 15px;
    margin-bottom: 10px;
}

input[type="radio"]::before {
    content: unset;
}

.service-block label {
    border: none;
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 99;
}

.service-block-input {
    display: flex;
    align-items: center;
    min-width: 80px;
}

.service-block-input .svg-block {
    min-width: 48px;
}

.form-check.form-check-input {
    min-width: 24px;
    height: 20px!important;
}

.main-check-text {
    font-weight: 900;
}

.small-check-text {
    font-size: 12px;
}

.file-label {
    border: none;
}

.file-input {
    box-shadow: none!important;
}

.form-check-label-unic {
    border: none;
    margin: 0;
    padding: 0;
}

/* Стили для окрашивания слайдера */
input[type="range"].form-range::-webkit-slider-runnable-track {
    background: linear-gradient(to right, #ffdd2d 0%, #ffdd2d calc((var(--value) - 25) * 1%), #ccc calc((var(--value)) * 1%), #ccc 100%);
}
/* Стили для формы */

.code-input {
    width: 56px;
    height: 56px;
    text-align: center;
}

/* Скрытие стрелок в полях ввода типа "number" */
.code-input::-webkit-outer-spin-button,
.code-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

button.navbar-toggler {
    border: none!important;
    box-shadow: none!important;
}

.form-control-phone {
    height: 58px;
    width: 100%;
    padding: 16px 12px;
}

.form-control-phone:focus {
    border: 1px solid grey!important;
    border-radius: 10px!important;
    background: #fff!important;
}

.form-control-phone::placeholder {
    color: #333;
}

.dropdown-toggle-login span {
    font-size: 16px;
}

.dropdown-toggle:after {
    display: none;
}

.mobile-form {
    gap: 10px;
    margin-bottom: 20px;
}

.mobile-form-way {
    white-space: nowrap;
    color: #999b9e;
    padding: 5px;
    width: calc(33% - 10px);
    background: #fff;
    border: 1px solid #999b9e;
}

.mobile-form-way.active {
    border: 1px solid #ffdd2d;
}

.mobile-form-way:hover {
    background: #fff;
    border: 1px solid #999b9e;
}

.service-link-drop {
    white-space: nowrap;
}

.service-dropdown-menu {
    box-shadow: 2px 1px 5px #999999; /* Цвет и размер тени */
}

.service-dropdown-menu li a {
    font-size: 13px!important;
}

.service-dropdown-menu li a:active {
    background: #ffdd2d;
    color: #333;
}

.social-wrapper {
    position: fixed;
    right: 30px;
    bottom: 30px;
    background: #ffdd2d;
    border-radius: 50%;
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    z-index: 999;
    transition: background ease .3s;
}

.social-wrapper:hover {
    background: #e8c926;
    transition: background ease .3s;
}

.social-icons {
    position: fixed;
    right: 30px;
    bottom: 30px;
    background: #ffdd2d;
    border-radius: 10px;
    width: 70px;
    height: 250px;
    display: none;
    align-items: center;
    justify-content: space-between;
    flex-direction: column;
    text-align: center;
    cursor: pointer;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    z-index: 999;
    padding: 20px 0;
    gap: 20px;
}

.messenger-icon {
    width: 100%;
}




.input-group-text.search-panel, input.search-panel{
    border: none;
    background: #fff!important;
    color: #333;
    box-shadow: none!important;
    height: 56px;
    border-radius: 12px;
}

.search-word {
    background: #428bf929;
    color: 000000cc;
    padding: 8px;
    font-size: 13px;
    border-radius: 25px;
    cursor: pointer;
    transition: all ease .3s;
}

.search-word:hover {
    background: #0f59c729;
    transition: all ease .3s;
}

.service-link p {
    font-size: 13px!important;
}

.services {
    box-shadow: none;
}

.stage-card {
    margin-top: 10px;
    text-align: left;
}

.stage-card .card-title {
    color: #777;
}

.all-questions-btn {
    padding: 10px 16px;
    border: 1px solid rgb(209, 209, 209);
    cursor: pointer;
    border-radius: 8px;
    color: #126DF7;
    transition: all ease .3s;
}

.all-questions-btn:hover {
    background: rgb(236, 236, 236);
    transition: all ease .3s;
}

.new-small-card {
    padding: 20px 15px;
}

.new-small-card p {
    margin: 0;
}

.new-small-card img {
    width: 50px;
    height: 50px;
    background: var(--page-bg);
    border-radius: 15px;
}

.input-group {
    border: 1px solid transparent; /* Добавьте пустую рамку для компенсации */
    transition: all ease .3s;
}

.input-group:focus-within {
    border: 1px solid rgb(209, 209, 209);
    border-radius: 12px;
    transition: all ease .1s;
}

.input-group input::placeholder {
    color: #333;
}

.service-link {
    display: inline-block;
    position: relative;
}

.service-link:hover::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.service-link::before {
    content: "";
    display: none;
    z-index: -1;
}

.card {
    box-shadow: none;
}

.card.hover-card {
    transition: ease .6s;
}

.card.hover-card:hover {
    scale: 1.03;
    transition: ease .6s;
}

.category a {
    color: #333;
    transition: ease .6s;
}

.category a:hover {
    color: #999;
    transition: ease .6s;
}

.breadcrumb a, .breadcrumb-item+.breadcrumb-item:before, .breadcrumb-item.active {
    color: var(--text-color);
}
/* Стили для базы знаний */

div#search-results {
    background: #fff;
    border-radius: 12px;
    box-shadow: 2px 1px 5px #999999;
}

div#search-results div a {

    padding: 10px;
    margin: 0;
    display: block;
}

div#search-results div a:hover {
    background: #f6f7f8;
    border-radius: 12px;
}

div#search-results > :last-child {
    border: unset;
}


.font-18 {
    font-size: 18px;
}

.block-vuz-container {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.letter-filter {
    display: block;
    text-align: center;
    padding: 10px;
    margin: 5px 0;
    background-color: #f5f5f5;
    border-radius: 5px;
    transition: background-color 0.3s;
    font-weight: bold;
    color: #333;
}

.letter-filter:hover, .letter-filter.active {
    background-color: #333;
    color: #fff;
}

/* 28 букв в одну строку */
@media (min-width: 1200px) {
    .block-vuz-container .col {
        flex: 1 0 3.5%;
        max-width: 3.5%;
    }
}

/* 14 букв в две строки */
@media (max-width: 1199px) and (min-width: 768px) {
    .block-vuz-container .col {
        flex: 1 0 7%;
        max-width: 7%;
    }
}

/* 7 букв в четыре строки */
@media (max-width: 767px) {
    .block-vuz-container .col {
        flex: 1 0 14%;
        max-width: 14%;
    }
}

/* blog */
.search-input-block {
    position: relative;
    height: 56px;
}

.search-input {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    outline: none;
    border: none;
    border-radius: 15px;
    padding: 6px 16px 6px 50px;
}

.search-input-block label {
    position: relative;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    padding: 0;
    border: none;
    cursor: pointer;
    width: 24px;
    height: 24px;
    color: #999 !important;
}

.search-input-block label svg {
    width: 24px;
    height: 24px;
}

.search-input:focus {
    border: 1px solid #999;
}

.category-nav {
    height: 100%;
    position: relative;
}

.category-block {
    position: sticky;
    top: 100px;
    left: 0;
}

.category-block li {
    list-style-type: none;
    margin-bottom: 10px;
}

.category-block li span {
    cursor: pointer;
    color: #999;
}

.category-block li span:hover {
    color: #333;
}

#load-more {
    border: none;
    width: 100%;
    color: #126df7;
    background: #EAECF0;
    transition: background-color ease .3s;
    padding: 16px;
    border-radius: 15px;
}

#load-more:hover {
    background: #E6EAEF;
    transition: background-color ease .3s;
 }

.search-results-two {
    position: absolute;
    width: 100%;
    top: 70px;
    left: 0;
    background: white;
    border: 1px solid #ddd;
    max-height: 200px;
    overflow-y: auto;
    z-index: 1000;
    display: none; /* Скрыто по умолчанию */
    border-radius: 8px;
    padding: 5px;
}

.search-results-two a {
    display: block;
    padding: 10px;
    text-decoration: none;
    color: black;
    border-radius: 8px;
    transition: all ease .3s;
}

.search-results-two a:hover {
    background-color: #f5f5f5;
    transition: all ease .3s;
}

/* Стилизация скроллбара */
/* Define the scrollbar style */
.search-results-two::-webkit-scrollbar {
    width: 8px;
    height: 15px;
    margin-right: 10px;
}

/* Define the thumb style */
.search-results-two::-webkit-scrollbar-thumb {
    background: #c2c2c2;
    border-radius: 5px;
    margin-right: 10px;
}


/* blog */

/* lead */
.lead-magnit-modal {
    width: 500px;
    height: 500px;
    background-image: url("../img/one.webp");
    background-size: 100% 100%;
}

/*@media (max-width: 768px) {
    .lead-magnit-modal {
        background-image: url("../img/black-mobile.webp");
    }
}*/

.modal-body {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow-y: hidden;
}

#lead-form {
    display: flex;
    flex-direction: column;
    gap: 7px;
    height: 100%;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 5%;
    
}

#lead-form label {
    display: none;
}

#lead-phone-input {
    text-align: center;
    height: 40px;
    width: 250px;
    outline: none;
    border: none;
    border-radius: 8px;
}

#lead-vuz-input {
    text-align: center;
    height: 40px;
    width: 250px;
    outline: none;
    border: none;
    border-radius: 8px;
    margin-bottom: 7px;
}

#lead-phone-input::placeholder, #lead-vuz-input::placeholder {
    color: #000;
    font-size: 16px;
}

#lead-phone-btn {
    height: 40px;
    width: 250px;
    outline: none;
    border: none;
    border-radius: 8px;
    background: #ffdd2d;
    color: #000;
    font-size: 16px;
}

#lead-phone-text, #lead-phone-text a {
    font-size: 11px;
    color: #333;
}

#lead-phone-text a:hover {
    text-decoration: underline;
}

#success-message {
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

#success-message p {
    text-align: center;
    width: 250px;
    color: #000;
}

.lead-close-btn {
    height: 35px;
    width: 250px;
    outline: none;
    border: none;
    border-radius: 8px;
    background: #ffdd2d;
    color: #000;
    font-size: 18px;
}

.btn--lead-close {
    background: none;
    border: none;
    opacity: unset;
}

.btn--lead-close svg {
    color: #fff;
    
}

.suggestions-box {
    position: absolute;
    background-color: white;
    border: 1px solid #ccc;
    max-height: 200px;
    overflow-y: auto;
    width: 250px;
    z-index: 1000;
    top: 50%;
    border-radius: 10px;
}

.suggestion-item {
    padding: 10px;
    cursor: pointer;
}

.suggestion-item:hover {
    background-color: #f0f0f0;
}

/* lead */

/* mobile nav */
.navbar-collapse.collapse.show {
    height: 100vh;
}
/* mobile nav */

#university-suggestions-page {
    position: absolute;
    background-color: white;
    border: 1px solid #ccc;
    max-height: 200px;
    overflow-y: auto;
    width: 100%;
    z-index: 1000;
    border-radius: 10px;
    top: 110%;
}

#login-btn {
    cursor: pointer;
}

#login-btn-span, #mobile-menu-span {
    display: none;
    height: calc(100% - 77px);
    width: 100%;
    background: #f6f7f8;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 999;
}

#mobile-menu-btn-close {
    display: none;
}


#mobile-menu-btn-open {
    display: none;
}

@media (max-width: 991px) {
    #mobile-menu-btn-open {
        display: block;
        cursor: pointer;
    }
}


.accordion-mobile {
    background: unset;
    padding: 0;
    border-radius: 0;
}

.accordion-mobile .accordion-item {
    background: unset;
    padding: 0;
    border-radius: 0;
}

.accordion-mobile .accordion-item .accordion-header {
    background: unset;
    padding: 0;
    border-radius: 0;
}

.accordion-mobile .accordion-item .accordion-header .accordion-button {
    background: unset;
    padding: 0;
    border-radius: 0;
    font-weight: 400;
    font-size: 16px;
}