

/* Start:/company/svedeniya-ob-obrazovatelnoy-organizatsii/pedagogicheskiy-sostav/assets/css/variables.css?1776422181839*/
:root {
    --color-primary: #ff6a00;
    --color-primary-hover: rgba(255, 106, 0, 0.96);
    --color-gray-1: #e9e9e9;
    --color-gray-2: #f5f5f5;
    --color-text-gray: #979797;
    --color-text-black: #000000;
    --color-white: #ffffff;
    --color-bg-base: #ffffff;

    --font-main: 'Montserrat', sans-serif;
    --font-sec: 'TT Travels', sans-serif;

    --container-width: 1440px;

    /* Base Accessible Focus */
    --focus-ring: 2px solid var(--color-primary);
}

[data-theme="dark"] {
    --color-text-black: #f5f5f5;
    --color-white: #121212;
    --color-bg-base: #121212;
    --color-gray-1: #2a2a2a;
    --color-gray-2: #1e1e1e;
    color-scheme: dark;
}

body {
    background-color: var(--color-bg-base);
    color: var(--color-text-black);
}

:focus-visible {
    outline: var(--focus-ring);
    outline-offset: 2px;
}

/* End */


/* Start:/company/svedeniya-ob-obrazovatelnoy-organizatsii/pedagogicheskiy-sostav/assets/css/forms-of-study.css?17764221814960*/
/*
   Стили для страницы "Формы обучения"
*/

/* Настройки главного экрана (Hero) */
.hero-page--forms {
    position: relative;
    margin-top: -102px;
    padding-top: 157px;
    height: 285px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    color: var(--color-white);
    text-align: left;
    overflow: hidden;
    margin-bottom: 0;
    background-color: transparent;
}

.hero-page--forms .hero-page__bg {
    background-color: transparent;
}

.hero-page--forms .hero-page__bg img {
    object-position: center 25%;
}

.container--forms {
    padding-bottom: 80px;
}

.forms-content {
    display: flex;
    flex-direction: column;
    gap: 32px;
    font-family: 'Montserrat', sans-serif;
    color: var(--color-text-black);
    width: 100%;
}

.forms-content__section {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.forms-content__title {
    font-size: 31.97px;
    font-weight: 700;
    line-height: 1.14;
    color: var(--color-primary);
    margin: 0;
    text-transform: uppercase;
}

.forms-content__intro {
    font-size: 17.005px;
    font-weight: 500;
    line-height: 1.4;
    margin: 0;
}

.forms-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 16px;
    max-width: 440px;
}

.forms-list__item {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 10px;
    border: 1px solid var(--color-primary);
    border-radius: 136px;
    background-color: var(--color-white);
    position: relative;
    overflow: hidden;
}

.forms-list__number {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: var(--color-primary);
    color: var(--color-white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 700;
    flex-shrink: 0;
}

.forms-list__name {
    font-size: 14.965px;
    font-weight: 700;
    color: var(--color-text-black);
    text-transform: uppercase;
    margin: 0;
}

/* Detailed Sections (Full Width Container) */
.container--forms-details {
    padding: 0 207px 120px 204px;
    display: flex;
    flex-direction: column;
    gap: 72px;
}

.forms-detail {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    width: 100%;
}

.forms-detail__main-title {
    font-size: 31.97px;
    font-weight: 700;
    line-height: 1.14;
    color: var(--color-primary);
    text-transform: uppercase;
    text-align: center;
    margin: 0;
}

.forms-detail__card {
    display: flex;
    gap: 40px;
    align-items: stretch;
    width: 100%;
}

.forms-detail__card--reverse {
    /* For the second card */
    gap: 60px;
}

.forms-detail__image {
    flex: 1;
    min-width: 0;
    /* Prevent flex overflow */
    width: 50%;
    /* Fill height automatically because of align-items stretch */
    height: auto;
    object-fit: cover;
    object-position: center;
    border-radius: 20px;
}

.forms-detail__info {
    flex: 1;
    min-width: 0;
    /* Prevent flex overflow */
    width: 50%;
    display: flex;
    flex-direction: column;
    gap: 24px;
    justify-content: flex-start;
}

.forms-detail__block {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.forms-detail__subtitle {
    font-size: 17.005px;
    font-weight: 700;
    line-height: 1.36;
    color: var(--color-primary);
    text-transform: uppercase;
    margin: 0;
}

.forms-detail__bullets {
    list-style: none;
    /* We use custom bullets in text */
    padding: 0;
    margin: 0;
}

.forms-detail__bullets li {
    font-size: 17.005px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--color-text-black);
    position: relative;
    padding-left: 14px;
    margin-bottom: 4px;
}

.forms-detail__bullets li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: var(--color-text-black);
}

.forms-detail__btn {
    align-self: flex-start;
    margin-top: auto;
    /* Push button to the bottom */
    padding: 12px 32px;
    border-radius: 136px;
}

/* Help Section */
.forms-help {
    width: 100%;
    background-color: #F5F5F5;
    background-image: url('/company/svedeniya-ob-obrazovatelnoy-organizatsii/pedagogicheskiy-sostav/assets/css/../images/image 14.png');
    background-size: cover;
    background-position: center;
    background-blend-mode: darken;
    padding: 98px 0;
    margin-bottom: 80px;
}

.forms-help__container {
    padding: 0 207px 0 204px;
}

.forms-help__content {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 690px;
}

.forms-help__title {
    font-size: 31.97px;
    font-weight: 700;
    line-height: 1.14;
    color: var(--color-primary);
    text-transform: uppercase;
    margin: 0;
}

.forms-help__text {
    font-size: 17.005px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--color-text-black);
    margin: 0;
}

.forms-help__btn {
    align-self: flex-start;
    margin-top: 8px;
    padding: 12px 32px;
    border-radius: 136px;
}

/* End */


/* Start:/local/templates/aspro-allcorp3/assets/css/applicants.css?178782017349036*/
/* Удаление штатных распорок Битрикса */


.hero-page__container::before,


.hero-page__container::after,


.container--applicants-layout::before,


.container--applicants-layout::after,


.applicants-full-blocks .container::before,


.applicants-full-blocks .container::after {


    content: none !important;


    display: none !important;


    width: 0 !important;


    height: 0 !important;


    margin: 0 !important;


    padding: 0 !important;


}





/* Breadcrumbs */


.breadcrumbs {


    display: flex;


    align-items: center;


    gap: 8px;


    font-size: 13.6px;


    font-weight: 500;


    margin-bottom: 0;


}





.breadcrumbs__link {


    color: var(--color-white) !important;


    text-decoration: none;


}





.breadcrumbs__link:hover {


    text-decoration: underline;


}





.breadcrumbs__separator img {


    height: 10px;


    opacity: 0.8;


}





/* Force the breadcrumb separator to display (Bitrix sometimes hides empty spans or images within them) */


.breadcrumbs__separator {


    display: inline-flex !important;


    align-items: center;


    visibility: visible !important;


}





.breadcrumbs__current {


    color: var(--color-white) !important;


}/* Hide default Bitrix page components if they still show up */


.page-top,


#pagetitle,


.breadcrumb {


    display: none !important;


}/* Two-column Layout */


.container--applicants-layout {


    display: flex;


    gap: 56px;


    align-items: stretch;


    width: 100% !important;


    max-width: 1440px !important;


    margin: 0 auto !important;


    padding: 0 203px !important;


    box-sizing: border-box;


}





.applicants-full-blocks {


    width: 100% !important;


    max-width: 1440px !important;


    margin: 0 auto !important;


    padding: 120px 203px 120px 203px !important;


    box-sizing: border-box;


}





.applicants-content {


    flex-grow: 1;


    display: flex;


    flex-direction: column;


    gap: 40px;


    /* Initialize container query for content area */


    container-type: inline-size;


    container-name: content-area;


}





/* Sections Base Typography */


.section-title--left {


    font-size: clamp(24px, 4vw, 31.97px);


    font-weight: 700;


    color: var(--color-primary);


    text-transform: uppercase;


    line-height: 1.14;


    margin-block-end: 16px;


}.section-title--center {


    font-size: clamp(24px, 4vw, 31.97px);


    font-weight: 700;


    color: var(--color-primary);


    text-transform: uppercase;


    line-height: 1.14;


    margin-block-end: 16px;


    text-align: center;


}





.section-subtitle--center {


    font-size: 17px;


    font-weight: 500;


    line-height: 1.4;


    margin: 0;


    text-align: center;


}





.mb-40 {


    margin-bottom: 40px;


}





/* Block 1: Intro */


.applicants-intro {


    max-width: 682px;


}





.applicants-intro__desc {


    font-size: 17px;


    font-weight: 500;


    line-height: 23.8px;


    /* leading 23.807px */


    margin: 0 0 24px 0;


    /* gap 24px before the next block */


}





.consultation-block {


    display: flex;


    flex-direction: column;


    gap: 16px;


    /* Use fluid max-inline scale */


    max-inline-size: 526px;


}





.consultation-block__title {


    font-size: 17px;


    font-weight: 700;


    text-transform: uppercase;


    line-height: 1.36;


    margin: 0;


    color: var(--color-text-black);


}





.applicants-intro__pills {


    display: flex;


    flex-direction: column;


    gap: 16px;


    align-items: flex-start;


}





/* --- Button Base Styles (Injected from components.css) --- */


.btn-custom {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700;
    font-size: 14.965px;
    line-height: 1.06 !important;
    white-space: nowrap !important;
    text-transform: uppercase;
    transition: background-color 0.3s, color 0.3s, border-color 0.3s;
    text-decoration: none;
    cursor: pointer;
}





.btn-custom-outline {
    border: 0.68px solid var(--color-primary);
    color: var(--color-primary);
    background-color: transparent;
}





.btn-custom-outline:hover {
    background-color: var(--color-primary) !important;
    color: var(--color-white) !important;
}





.btn--primary {


    background-color: var(--color-primary);


    color: var(--color-white);


    border: 1px solid var(--color-primary);


}





.btn--primary:hover {


    background-color: var(--color-white);


    color: var(--color-primary);


}





.btn-custom-pill {
    padding: 10.203px 33.33px;
    height: 50.335px;
    border-radius: 136.042px;
    gap: 6.802px;
    text-transform: uppercase;
}























/* --- Admission Overview --- */


.admission-overview-block {


    display: flex;


    flex-direction: column;


    align-items: center;


    text-align: center;


    margin-bottom: 56px;


    gap: 8px;


}





.admission-overview__title {


    font-size: 31.97px;


    font-weight: 700;


    text-transform: uppercase;


    line-height: 1.14;


    margin: 0;


}





.admission-overview__subtitle {


    font-size: 17.005px;


    font-weight: 700;


    text-transform: uppercase;


    line-height: 1.36;


    color: var(--color-text-black, #000);


    margin: 0;


}





.admission-overview__desc {


    font-size: 17.005px;


    font-weight: 500;


    line-height: 1.4;


    color: var(--color-text-black, #000);


    margin: 0;


    max-width: 1030px;


}





.admission-overview__desc b {


    font-weight: 700;


}





/* --- Block 2: Admission Steps --- */





.admission-steps-block .section-title--center {


    margin-block-end: 24px;


}





.admission-steps {


    display: grid;


    /* Modern Grid with repeat autfit / flex */


    grid-template-columns: repeat(5, 1fr);


    width: 100%;


}





.admission-step {


    flex: 1;


    display: flex;


    flex-direction: column;


    gap: 16px;


    align-items: center;


    position: relative;


}





.admission-step__top {


    display: flex;


    justify-content: center;


    width: 100%;


}





.admission-step__circle {


    width: 71px;


    height: 71px;


    border-radius: 50%;


    background-color: var(--color-primary);


    display: flex;


    justify-content: center;


    align-items: center;


    font-size: 31px;


    font-weight: 700;


    color: var(--color-white);


    flex-shrink: 0;


    position: relative;


    z-index: 2;


}





.admission-step__line {


    position: absolute;


    top: 35.5px;


    left: calc(50% + 35.5px);


    width: calc(100% - 71px - 24px);


    /* Bridge gap and leave 24px visual padding to the next circle */


    transform: translateY(-50%);


    z-index: 1;


}





.admission-step__line img {


    width: 100%;


    height: 15px;


    display: block;


}





.admission-step__text {


    font-size: 15px;


    font-weight: 700;


    line-height: 1.2;


    color: var(--color-primary);


    text-transform: uppercase;


    text-align: center;


    max-width: 160px;


    /* Keeps multi-line breaks centered tightly */


}





/* --- Block 3: Admission Helpers Grid --- */


.admission-helpers-block {


    display: flex;


    flex-direction: column;


    align-items: center;


    gap: 32px;


}





.helpers-grid {


    display: flex;


    gap: 16px;


    width: 100%;


}





.helpers-card {


    height: 279px;


    position: relative;


    border-radius: 24px;


    overflow: clip;


    /* Modern overflow property */


    padding: 24px;


    display: flex;


    flex-direction: column;


    justify-content: flex-end;


}





.helpers-card__bg {


    position: absolute;


    inset: 0;


    width: 100%;


    height: 100%;


    object-fit: cover;


    z-index: 1;


}





.helpers-card__overlay {


    position: absolute;


    inset: 0;


    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 28.37%, rgba(0, 0, 0, 0.6) 87.5%);


    z-index: 2;


}





.helpers-card__title {


    position: relative;


    z-index: 3;


    font-size: 17px;


    font-weight: 700;


    line-height: 1.16;


    color: var(--color-white);


    text-transform: uppercase;


    margin: 0;


    max-width: 186px;


}





.helpers-actions {


    display: flex;


    justify-content: center;


    width: 100%;


}





.helpers-actions__btn {


    text-transform: uppercase;


    font-size: 15px;


    font-weight: 700;


}





.specialties-banner-block::before {


    content: '';


    position: absolute;


    top: 0;


    bottom: 0;


    left: 50%;


    transform: translateX(-50%);


    width: 100vw;


    background-image: url('/local/templates/aspro-allcorp3/assets/css/../images/Rectangle 6050.png');


    background-size: cover;


    background-position: center top;


    background-repeat: no-repeat;


    z-index: -1;


}





/* --- Block 4: Specialties Banner --- */


.specialties-banner-block {


    position: relative;


    width: 100%;


    margin-top: 56px;


    margin-bottom: 56px;


    padding-top: 64px;


    padding-bottom: 64px;


}





.specialties-banner {


    position: relative;


    width: 100%;


    min-height: 452px;


    /* Высота блока (105px + 346px) */


    /* Убрал ужасный серый фон на всю ширину и отрицательный margin */


}





.specialties-banner__content {


    position: absolute;


    left: 0;


    top: 0;


    width: 595px;


    height: 380px;


    background-color: var(--color-primary);


    border-radius: 16px;


    padding: 48px 32px;


    display: flex;


    flex-direction: column;


    gap: 16px;


    z-index: 2;


    color: var(--color-white);


}





.specialties-banner__text-group {


    display: flex;


    flex-direction: column;


    gap: 8px;


}





.specialties-banner__title,


.specialties-banner__content h2,


.specialties-banner__content h2.specialties-banner__title {


    font-size: clamp(24px, 4vw, 31.97px);


    font-weight: 700;


    line-height: 1.14;


    text-transform: uppercase;


    margin: 0;


    color: var(--color-white) !important;


}





.specialties-banner__subtitle,


.specialties-banner__content h3,


.specialties-banner__content h3.specialties-banner__subtitle {


    font-size: 17.005px;


    font-weight: 700;


    text-transform: uppercase;


    line-height: 1.36;


    margin: 0;


    color: var(--color-white) !important;


}





.specialties-banner__text {


    font-size: 17.005px;


    font-weight: 500;


    line-height: 1.4;


    margin: 0;


    max-width: 100%;


}





.btn--white {


    background-color: var(--color-white);


    color: var(--color-primary);


    border: none;


    font-weight: 700;


}





.btn--white:hover {


    background-color: #f5f5f5;


}





.specialties-banner__image-wrapper {


    position: absolute;


    right: 0;


    top: 105px;


    width: 595px;


    height: 346px;


    border-radius: 16px;


    overflow: hidden;


    background-color: #f4f4f4;


    background-image: url('http://localhost:3845/assets/834432a3c210447611f3ec57ea2d647410544ded.png');


    background-repeat: repeat;


    background-size: cover;


    /* Или contain, узор должен лечь ровно */


    background-position: center;


    z-index: 1;


}





.specialties-banner__image {


    position: absolute;


    right: 0;


    top: 0;


    height: 100%;


    width: 100%;


    /* Visually restored to 100% so it doesn't crop */


    object-fit: cover;


    object-position: center;


}





/* --- Block 5: Формы обучения (New) --- */


.formats-block-new {


    display: flex;


    flex-direction: column;


    align-items: center;


    /* Центрируем контент */


    width: 100%;


}





.formats-block-new__desc {


    font-size: 17.005px;


    font-weight: 500;


    /* В макете Montserrat:Medium */


    line-height: calc(23.807 / 17.005);


    /* Точный межстрочный интервал из макета */


    color: var(--color-black);


    margin: 0;


    max-width: 100%;


}





.formats-cards-grid {


    display: grid;


    grid-template-columns: repeat(3, 1fr);


    gap: 16px;


    width: 100%;


}





.format-card {


    flex: 1;


    height: 142.84px;


    border-radius: 16px;


    border: none;


    position: relative;


    overflow: hidden;


    display: flex;


    align-items: center;


    justify-content: center;


    background-color: var(--color-primary);


    transition: transform 0.3s ease, box-shadow 0.3s ease;


    cursor: pointer;


    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);


}





.format-card:hover {


    transform: translateY(-6px);


    box-shadow: 0 12px 24px rgba(240, 120, 30, 0.25);


    /* Orange-tinted shadow */


}





.format-card__bg {


    position: absolute;


    top: 0;


    left: 0;


    width: 300%;


    height: 300%;


    object-fit: cover;


    z-index: 1;


}/* --- Block 7: Образовательный кредит --- */


.education-credit {


    padding: 0;


}





.credit-cards-grid {


    display: grid;


    grid-template-columns: repeat(3, 1fr);


    width: 100%;


    gap: 16px;


    min-height: 197px;


}





.credit-card {


    flex: 1 0 0;


    /* Растягиваем карточки поровну */


    background-color: var(--color-white);


    border: 0.68px solid #9e9e9e;


    border-radius: 16.325px;


    display: flex;


    flex-direction: column;


    align-items: center;


    justify-content: center;


    padding: 12px 8px;


    position: relative;


    height: 100%;


}





/* При использовании картинок напрямую из макета */


.credit-card__icon-wrapper {


    width: 110.6px;


    height: 102.4px;


    position: relative;


    border-radius: 10px;


    overflow: clip;


    /* clip instead of hidden */


    margin-bottom: 24px;


}





.credit-card__scaler {


    position: absolute;


    top: 50%;


    left: 50%;


    width: 1700px;


    height: 1700px;


    transform: translate(-50%, -50%) scale(0.065065);


}





.credit-card__icon-base {


    position: absolute;


    top: 50%;


    left: 50%;


    transform: translate(-50%, -50%);


    width: 2100px;


    height: 1400px;


    pointer-events: none;


    max-width: none;


    filter: hue-rotate(-164deg) saturate(175%) brightness(1.05);


    /* Match orange */


}





.credit-card__icon-mask-layer {


    position: absolute;


    top: 50%;


    left: 50%;


    transform: translate(-50%, -50%);


    width: 1700px;


    height: 1700px;


    mask-image: var(--mask-image);


    mask-size: 2100px 1400px;


    mask-position: -200px 150px;


    mask-repeat: no-repeat;


    -webkit-mask-image: var(--mask-image);


    -webkit-mask-size: 2100px 1400px;


    -webkit-mask-position: -200px 150px;


    -webkit-mask-repeat: no-repeat;


    mix-blend-mode: color;


    /* Optional: masking alpha and intersection omitted since not standard CSS, standard applies alpha masks by default */


}





.credit-card__icon-mask-layer div {


    position: absolute;


    inset: 0;


    background-color: var(--color-primary);


    border-radius: 16.387px;


}





.credit-card__title {


    font-size: 14.965px;


    font-weight: 700;


    line-height: normal;


    text-transform: uppercase;


    text-align: center;


    color: var(--color-text-black);


    margin: 0;


}/* --- Block 9: CTA Section --- */


.cta-section {


    display: flex;


    justify-content: space-between;


    align-items: center;


    gap: 34px;


    padding: 60px 0;


    /* Vertical padding */


    margin-top: 75px;


    /* From previous block as requested */


    margin-bottom: 0;


    /* Removed gap to footer */


    background-color: #F5F5F5;


    box-shadow: 0 0 0 100vmax #F5F5F5;


    clip-path: inset(0 -100vmax);


    width: 100%;


    max-width: 914px;


    /* Figma constraint */


    margin-left: auto;


    margin-right: auto;


    border-radius: 0;


}





.cta-section__content {


    flex: 1 1 0;


    display: flex;


    flex-direction: column;


    gap: 8px;


}





.cta-section__title {


    font-size: 31.97px;


    font-weight: 700;


    line-height: 1.14;


    text-transform: uppercase;


    color: var(--color-primary);


    margin: 0;


}





.cta-section__desc {


    font-size: 17.005px;


    font-weight: 500;


    line-height: 23.8px;


    color: var(--color-text-black);


    margin: 0;


}





.cta-section__actions {


    flex: 1 1 0;


    display: flex;


    flex-direction: column;


    justify-content: center;


    align-items: flex-start;


    gap: 16px;


    padding-left: 56px;


}





.cta-section__btn-outline {


    width: 100%;


    max-width: 302.66px;


    padding: 10px 33px;


    font-size: 14.965px;


    font-weight: 700;


    text-transform: uppercase;


    border: 0.68px solid var(--color-primary);


    color: var(--color-primary);


    background: transparent;


    border-radius: 136px;


    cursor: pointer;


}





    .cta-section__btn-primary {


        width: 100%;


        max-width: 384.13px;


        padding: 10px 33px;


        font-size: 14.965px;


        font-weight: 700;


        text-transform: uppercase;


        border-radius: 136px;


    }





    /* --- Sidebar Nav (Injected from components.css) --- */


    .sidebar-nav {


        flex-shrink: 0;


        width: 266px;


        align-self: flex-start;


        /* Prevents stretching to the height of the right column */


        position: relative;


        /* For the pseudo-element separator line */


    }





    .sidebar-nav::after {


        content: '';


        position: absolute;


        top: 0;


        right: -28px;


        /* half of 56px gap */


        width: 1px;


        height: 100%;


        background-color: #E6E6E6;


        /* Match the vector line color */


    }





    .sidebar-nav__list {


        display: flex;


        flex-direction: column;


        gap: 46px;


        /* 46.9px from figma */


        list-style: none;


        padding: 0;


        margin: 0;


    }





    .sidebar-nav__link {


        font-size: 13.6px;


        font-weight: 700;


        color: var(--color-text-black) !important;


        text-transform: none;


        line-height: 1.2;


        text-decoration: none;


        transition: color 0.3s;


        display: block;


    }





    .sidebar-nav__link:hover,


    .sidebar-nav__link.active {


        color: var(--color-primary) !important;


    }

/* === ABSOLUTE FOOTER GAP NUKE === */
.forms-help, .ft-help-margin {
    margin-bottom: 0 !important;
}
.right_block.narrow_Y {
    padding-bottom: 0 !important; margin-bottom: 0 !important;
}
#content {
    padding-bottom: 0 !important; margin-bottom: 0 !important;
}
.maxwidth-theme {
    padding-bottom: 0 !important; margin-bottom: 0 !important;
}
.body_media {
    padding-bottom: 0 !important; margin-bottom: 0 !important;
}
.wrapper_inner.with_container.with_right_block {
    padding-bottom: 0 !important; margin-bottom: 0 !important;
}
.wrapper1 {
    padding-bottom: 0 !important; margin-bottom: 0 !important;
}
.content-md {
    padding-bottom: 0 !important; margin-bottom: 0 !important;
}
#footer, footer, .footer-wrapper {
    margin-top: 0 !important; padding-top: 0 !important;
}


.ft-cta-specialties { margin-bottom: 0 !important; }


/* Detach Help Block from Top Elements */
.forms-help.ft-help-margin {
    margin-top: 80px !important;
}

/* --- Content Wrapper --- */
.applicants-content-wrapper {
    background-color: var(--color-white);
    padding-top: 60px !important;
    padding-bottom: 0;
}


/* --- FORCE MENU AND CONTENT WIDTHS --- */
.container--applicants-layout {
    display: flex !important;
    gap: 56px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
    padding: 0 203px !important;
    box-sizing: border-box !important;
    justify-content: flex-start !important;
}

aside.sidebar-nav,
.sidebar-nav {
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    width: 266px !important;
    min-width: 266px !important;
    max-width: 266px !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
}

.applicants-content {
    flex-grow: 1 !important;
    flex-shrink: 1 !important;
    min-width: 0 !important;
    max-width: 682.248px !important;
    /* Ensures it never blows past the Figma grid limit */
    display: flex !important;
    flex-direction: column !important;
}


/* --- EXACT FIGMA TYPOGRAPHY OVERRIDES --- */

/* 1. Main Title */
.applicants-intro .section-title--left {
    color: #FF6A00 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 31.97px !important;
    font-weight: 700 !important;
    line-height: 36.446px !important;
    text-transform: uppercase !important;
    margin-bottom: 24px !important;
}

/* 2. Description Text */
.applicants-intro__desc {
    color: #000000 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17.005px !important;
    font-weight: 500 !important;
    line-height: 23.807px !important;
    margin-bottom: 24px !important;
}

/* 3. Subtitle (Consultation Title) */
.consultation-block__title {
    color: #000000 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17.005px !important;
    font-weight: 700 !important;
    line-height: 23.127px !important;
    text-transform: uppercase !important;
    margin-bottom: 24px !important;
}

/* 4. Consultation Pills */
.applicants-intro__pills .btn-custom-pill {
    padding: 10.203px 33.33px;
    height: 50.335px;
    border-radius: 136.042px;
    gap: 6.802px;
    text-transform: uppercase;
}

/* Ensure pill container gap strictly matches Figma spacing (approx 16px to 23px depending on rendering) */
.applicants-intro__pills {
    gap: 16px !important;
}


/* --- FIX FLEXBOX STRETCHES & SPACING --- */
.container--applicants-layout {
    align-items: flex-start !important; /* Stop right block from stretching */
}

.sidebar-nav__list {
    justify-content: flex-start !important;
    gap: 46.93px !important; /* Exact Figma gap */
}


/* --- PRECISE SPACING OVERRIDES --- */
.applicants-intro__desc {
    margin-bottom: 24px !important;
}

.consultation-block {
    gap: 0 !important; /* Remove flex gap to prevent margin stacking */
    margin-top: 0 !important;
}

.consultation-block__title {
    margin-bottom: 16px !important;
}


/* --- PRECISE 16PX MARGIN FOR CONSULTATION TITLE --- */
h3.consultation-block__title,
.consultation-block__title {
    margin-bottom: 16px !important;
    padding-bottom: 0 !important;
}

.applicants-intro__desc {
    margin-bottom: 24px !important;
    /* The screenshot shows 24px off the top text bounding box */
}

.btn-custom-primary {
    background-color: var(--color-primary);
    color: var(--color-white);
    border: 1px solid var(--color-primary);
}

.btn-custom-primary:hover {
    background-color: var(--color-white) !important;
    color: var(--color-primary) !important;
}


/* --- FULL WIDTH GRAY BACKGROUND HACK FOR SPECIALTIES BANNER (OFFSET ADJUSTED) --- */
.specialties-banner-block {
    /*
       The container (.applicants-content) is offset to the right by:
       padding-left of layout container (203px)
       + sidebar width (266px)
       + gap (56px)
       = 525px from the left edge of the screen (on 1440px desktop).

       Instead of complex calc(), we can use a pseudo-element that is fixed or absolutely positioned
       to the viewport, which is much more bulletproof across screen sizes.
    */
    position: relative;
    padding-top: 80px;
    padding-bottom: 80px;
    margin-top: 120px;
    margin-bottom: 120px;
    z-index: 1;
}

/*
   We create a pseudo-element behind the block that completely ignores parent offsets
   and stretches from the absolute left edge of the screen to the absolute right edge.
*/
.specialties-banner-block::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;

    /*
       This is the ultimate hack to break out of any container:
       Viewport width, centered horizontally relative to the *viewport*,
       regardless of where the parent container is!
    */
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);

    background-color: #F5F5F5;
    z-index: -1;
}

/* Ensure inner content stays visible and aligned */
.specialties-banner-block > .specialties-banner {
    position: relative;
    z-index: 2;
    max-width: 100%;
}



/* --- EXACT FIGMA TYPOGRAPHY FOR ADMISSION BLOCK --- */

/* ПРИЁМНАЯ КОМИССИЯ */
h2.admission-overview__title,
.admission-overview__title {
    color: #FF6A00 !important;
    text-align: center !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 31.97px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1.14 !important; /* 114% / 36.446px */
    text-transform: uppercase !important;
}

/* КАК ПОСТУПИТЬ В КОЛЛЕДЖ? */
h3.admission-overview__subtitle,
.admission-overview__subtitle {
    color: #000 !important;
    text-align: center !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17.005px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1.36 !important; /* 136% / 23.127px */
    text-transform: uppercase !important;
}

/* Поступление в колледж КЭСИ - это понятный... */
.admission-overview__desc {
    color: #000 !important;
    text-align: left !important; /* Assuming left align for paragraph text based on design */
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17.005px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 1.4 !important; /* 140% / 23.807px */
}

/* Intro Bold text */
.admission-overview__desc b {
    font-weight: 700 !important;
}

/* --- NUKE ALL GAPS ABOVE ADMISSION BLOCK --- */
.applicants-full-blocks {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.applicants-content-wrapper.cesi-custom-page .container:last-child {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* Ensure no dangling <br> tags or whitespace take up space */
.applicants-full-blocks::before {
    display: none !important;
}

/* If the problem is the gap BEFORE the full blocks container, kill margin on the layout container */
.container--applicants-layout {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}/* 2. Set the 38px gap on the outer lower container wrapper itself */
.applicants-full-blocks {
    margin-top: 38px !important;
    padding-top: 0 !important;
}

/* 3. Strip all internal margins/padding off the Admission title block inside it */
.admission-overview-block {
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

h2.admission-overview__title {
    margin-top: 0 !important;
    padding-top: 0 !important;
    line-height: 1.14 !important; /* from Figma */
}

/* 4. Ensure no invisible pseudo-elements or inherited generic bitrix styles add hidden height */
.applicants-content-wrapper {
    /* Sometimes the wrapper itself has a bottom padding */
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* === STEPS BLOCK TYPOGRAPHY & SPACING === */
.admission-steps-block {
    margin-top: 49px !important;
}

.admission-steps-block h2.section-title--center,
.admission-steps-block .section-title--center {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.36 !important;
    text-transform: uppercase !important;
    color: #000000 !important;
    margin-bottom: 26px !important; /* from the screenshot gap ~26.66 between title and steps */
}

/* Fix aspect ratio for the forms of study cards */
.format-card__bg {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important; /* contain so it doesn't crop the text in the image */
}@media (max-width: 991px) {
    .transfer-block-redesign__container {
        flex-direction: column;
        padding-top: 250px; /* space for absolute photo on top */
    }

    .transfer-block-redesign__photo-wrapper {
        position: absolute;
        top: -40px;
        left: 50%;
        transform: translateX(-50%);
        bottom: auto;
        height: auto;
        display: block;
        align-items: flex-start;
    }

    .transfer-block-redesign__content {
        margin-left: 0;
        padding: 20px;
    }
}/* =========================================================
   CUSTOM CESI TRANSFER BLOCK (ISOLATED CSS)
   ========================================================= */

.cesi-custom-transfer-wrapper {
    position: relative !important;
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    max-width: none !important;
    left: auto !important;
    transform: none !important;
    margin-top: 100px;
    margin-bottom: 80px;
    display: flex;
    justify-content: center;
}

/* The background pattern that spans full width */
.cesi-custom-transfer__bg {
    position: absolute !important;
    top: 35px !important;
    bottom: 25px !important;
    width: 100vw !important;
    left: 0 !important;
    background-color: #fafafa !important;
    background-image: url('/local/templates/aspro-allcorp3/assets/css/../images/transfer_bg_pattern.png') !important;
    background-repeat: repeat !important;
    background-size: auto !important;
    z-index: 1 !important;
}

.cesi-custom-transfer__container {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 40px; /* New Figma value */
    width: 100%;
    max-width: 1050px; /* Narrower container as per new Figma layout */
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    justify-content: center;
}

.cesi-custom-transfer__photo-col {
    width: 480px;
    flex-shrink: 0;
    z-index: 3;
    display: flex;
    margin-top: -50px !important; /* Retain lifting hack */
}

.cesi-custom-transfer__photo {
    width: 480px;
    height: auto;
    display: block;
    object-fit: cover;
    border-radius: 12px;
}

.cesi-custom-transfer__content-col {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 24px; /* Increased gap */
    z-index: 3;
    padding-top: 50px;
    padding-bottom: 50px;
    width: 516px;
    max-width: 100%;
}

.cesi-custom-transfer__subtitle-box {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Typography matching the Figma mockup */
.cesi-custom-transfer__title {
    color: #FF6A00;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    line-height: 1.14 !important;
    text-transform: uppercase;
    margin: 0 !important;
}

.cesi-custom-transfer__subtitle {
    color: #000;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.36 !important;
    text-transform: uppercase;
    margin: 0 !important;
}

.cesi-custom-transfer__desc {
    color: #000;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 24px !important;
    margin: 0 !important;
}

/* The List Items Styling */
.cesi-custom-transfer__list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 0;
}

.cesi-custom-transfer__list-item {
    display: flex;
    align-items: center;
    gap: 18px;
    background: #fff;
    border: 0.7px solid #FF6A00;
    border-radius: 136px; /* High rounding */
    padding: 0 24px 0 0; /* Padding inside list item */
}

.cesi-custom-transfer__list-num {
    background: #FF6A00;
    color: #fff;
    width: 68px; /* Huge circle */
    height: 68px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 30.6px !important;
    flex-shrink: 0;
}

.cesi-custom-transfer__list-text {
    color: #000;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    line-height: 1.36 !important;
    margin: 0;
}

/* Footer Button */
.cesi-custom-transfer__footer {
    position: absolute;
    bottom: -15px; /* Offset to center relative to bottom bg edge */
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    z-index: 5;
}

/* Solid Orange Button Matching the Image */
.btn-custom-action-orange {
    background-color: #FF6A00 !important;
    color: #fff !important;
    border: 0.7px solid #FF6A00 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 16px 48px !important;
    border-radius: 136px !important;
    text-transform: uppercase !important;
    cursor: pointer;
    transition: background 0.3s ease !important;
    height: auto !important;
}
.btn-custom-action-orange:hover {
    background-color: #E65C00 !important;
    color: #fff !important;
}

/* RESPONSIVE Adjustments */
@media (max-width: 991px) {
    .cesi-custom-transfer__container {
        flex-direction: column;
        padding: 0 40px;
        gap: 30px;
    }
    .cesi-custom-transfer__photo-col {
        width: 100%;
        max-width: 100%;
        margin-top: 0 !important;
    }
    .cesi-custom-transfer__photo {
        width: 100%;
        height: auto;
    }
    .cesi-custom-transfer__content-col {
        padding-top: 20px;
        padding-bottom: 60px;
        width: 100%;
    }
    .cesi-custom-transfer__bg {
        top: 0 !important;
    }
}
@media (max-width: 767px) {
    .cesi-custom-transfer__container {
        padding: 0 20px;
    }
}

/* --- FIX BUTTON SQUEEZE --- */

.cesi-custom-transfer-wrapper {
    flex-direction: column !important;
    align-items: center !important;
    padding-bottom: 0 !important;
}

/* Remove absolute positioning from footer so it flows naturally */
.cesi-custom-transfer__footer {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    margin-top: 40px !important; /* Gap exactly from Figma */
    margin-bottom: 0 !important;
    z-index: 5 !important;
}

/* We want the background to end halfway up the button */
/* Button is roughly 50-54px high. Thus bottom: 27px will center it perfectly */
.cesi-custom-transfer__bg {
    bottom: -23px !important;
}


/* =========================================================
   CUSTOM CESI CALENDAR BLOCK (ISOLATED CSS)
   ========================================================= */

.cesi-custom-calendar-wrapper {
    position: relative !important;
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    max-width: none !important;
    left: auto !important;
    transform: none !important;
    padding-top: 40px;
    padding-bottom: 60px;
    margin-bottom: 60px;
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #F5F5F5;
}

.cesi-custom-calendar__main-title {
    color: #FF6A00;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    line-height: 1.14 !important;
    text-transform: uppercase;
    text-align: center;
    margin: 0 0 24px 0 !important;
}

.cesi-custom-calendar__container {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: center;
    gap: 16px;
    width: 100%;
    max-width: 1050px;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    height: auto; /* Removed fixed height to prevent clipping */
}

.cesi-custom-calendar__left-col {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 16px;
}

.cesi-custom-calendar__card {
    border-radius: 16px;
    padding: 48px 40px;
    display: flex;
    flex-direction: column;
    flex: 1;
    position: relative;
    overflow: hidden;
}

.cesi-custom-calendar__card--orange {
    background-color: #FF6A00;
    color: #ffffff;
}

.cesi-custom-calendar__card-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('/local/templates/aspro-allcorp3/assets/images/e541e74b12ac60e3e6da5b26cc914748454e5aa6.webp');
    background-size: cover;
    background-position: center;
    opacity: 0.15;
    z-index: 1;
}

.cesi-custom-calendar__card-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}

.cesi-custom-calendar__card--white {
    background-color: #ffffff;
    border: 0.7px solid #9E9E9E;
}

.cesi-custom-calendar__card-title,
.cesi-custom-calendar__card-title-dark {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.36 !important;
    text-transform: uppercase;
    margin: 0 !important;
}
.cesi-custom-calendar__card-title-dark {
    color: #000000;
}

.cesi-custom-calendar__list,
.cesi-custom-calendar__list-dark {
    list-style: disc;
    padding-left: 25px;
    margin: 0;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 24px !important;
}
.cesi-custom-calendar__list-dark {
    color: #000000;
}

.cesi-custom-calendar__btn {
    align-self: flex-start;
    margin-top: auto;
    background-color: #FF6A00 !important;
    color: #fff !important;
    border: 0.7px solid #FF6A00 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 16px 30px !important;
    border-radius: 136px !important;
    text-transform: uppercase !important;
    cursor: pointer;
    transition: background 0.3s ease !important;
    height: auto !important;
    position: relative;
    z-index: 2;
}

.cesi-custom-calendar__btn:hover {
    background-color: #E65C00 !important;
}

.cesi-custom-calendar__right-col {
    width: 618px; /* Max width from figma */
    flex-shrink: 0;
    display: flex;
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background-color: #e0e0e0; /* Fallback */
}

.cesi-custom-calendar__photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 16px;
}

@media (max-width: 991px) {
    .cesi-custom-calendar__container {
        flex-direction: column;
        height: auto;
        padding: 0 40px;
    }
    .cesi-custom-calendar__right-col {
        width: 100%;
        height: 400px;
    }
}
@media (max-width: 767px) {
    .cesi-custom-calendar__container {
        padding: 0 20px;
    }
}

/* --- Fix Calendar Card Overflow & Fonts --- */
.cesi-custom-calendar__btn {
    margin-top: 32px !important;
    margin-bottom: 0 !important;
}
.cesi-custom-calendar__container {
    height: auto !important;
    min-height: 525px;
}
.cesi-custom-calendar__card-title,
.cesi-custom-calendar__list li {
    color: #ffffff !important;
}
.cesi-custom-calendar__card-title-dark,
.cesi-custom-calendar__list-dark li {
    color: #000000 !important;
}
.cesi-custom-calendar__list li,
.cesi-custom-calendar__list-dark li {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 24px !important;
    margin-bottom: 8px !important;
}

/* --- Fix Calendar List Bullets (Override Aspro Dashes) --- */
.cesi-custom-calendar__list,
.cesi-custom-calendar__list-dark {
    list-style-type: disc !important;
    padding-left: 20px !important;
}

.cesi-custom-calendar__list li,
.cesi-custom-calendar__list-dark li {
    display: list-item !important;
    list-style-type: disc !important;
    list-style-position: outside !important;
}

/* Hide the pseudo-element dashes injected by the template */
.cesi-custom-calendar__list li::before,
.cesi-custom-calendar__list-dark li::before,
.cesi-custom-calendar__list li::after,
.cesi-custom-calendar__list-dark li::after {
    display: none !important;
    content: none !important;
}

/* --- Fix space between previous block button and grey background --- */
.cesi-custom-calendar-wrapper {
    margin-top: 56px !important;
}

/* --- Fix Calendar Background and Margin --- */
.cesi-custom-calendar-wrapper {
    background-color: transparent !important;
    padding-top: 0 !important;
    margin-top: 56px !important; /* Total distance from previous block to title */
    border: none !important;
}

/* --- Mobile Adaptation --- */
@media (max-width: 991px) {
    /* Reset huge padding */
    .hero-page__container,
    .container--applicants-layout,
    .applicants-full-blocks {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    /* Hide Side Menu */
    .sidebar-nav {
        display: none !important;
    }

    /* Stack layout */
    .container--applicants-layout {
        display: block !important;
    }

    /* Fluid typography for titles */
    .hero-page__title--applicants {
        font-size: clamp(28px, 8vw, 61px) !important;
    }
    .hero-page__title--specialties {
        font-size: clamp(24px, 7vw, 55.2px) !important;
    }
    .section-title--left,
    .section-title--center,
    .admission-overview__title {
        font-size: clamp(16px, 7vw, 31.97px) !important;
        word-break: normal !important;
    }

    /* Shrink pills to fit text on one line */
    .applicants-intro__pills {
        gap: 8px !important;
        width: 100% !important;
    }
    .btn-custom-pill {
        font-size: clamp(8px, 2.7vw, 14.96px) !important;
        padding: 8px 12px !important;
        height: auto !important;
        min-height: 40px !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    /* Fix Admission Steps Grid */
    .admission-steps {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }
    .admission-step__line {
        display: none !important;
    }
    .admission-step__text {
        max-width: 100% !important;
    }

    /* Reset blocks spacing */
    .applicants-full-blocks {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }

    /* Global mobile gap reset for main content */
    .applicants-content {
        gap: 48px !important;
    }

    /* Auto-layout for Helpers Grid (photos with tasks) */
    .helpers-grid {
        flex-direction: column !important;
    }

    /* Auto-layout for Specialties Banner */
    .specialties-banner-block {
        margin-top: 48px !important;
        margin-bottom: 48px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    .specialties-banner {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        height: auto !important;
        min-height: auto !important;
    }
    .specialties-banner__content,
    .specialties-banner__image-wrapper {
        position: relative !important;
        width: 100% !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        height: auto !important;
    }
    .specialties-banner__image-wrapper {
        aspect-ratio: 595 / 346 !important;
    }

    /* Auto-layout for Formats and Credit Grids */
    .formats-cards-grid,
    .credit-cards-grid {
        grid-template-columns: 1fr !important;
    }

    /* Auto-layout for Transfer Block */
    .transfer-block {
        flex-direction: column !important;
        gap: 24px !important;
    }
    .transfer-block__image-wrapper {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 478 / 606 !important;
    }
    .transfer-block__desc {
        font-size: 16px !important;
        line-height: normal !important;
    }

    /* Auto-layout for Events Calendar Grid */
    .events-calendar__grid {
        grid-template-columns: 1fr !important;
    }
    .events-card,
    .cesi-custom-calendar-wrapper {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    .cesi-custom-calendar__btn {
        font-size: 13px !important;
        padding: 12px 16px !important;
        height: auto !important;
        min-height: 48px !important;
        max-width: 100% !important;
        box-sizing: border-box;
        width: 100% !important;
        white-space: normal !important;
        line-height: 1.2 !important;
        text-align: center !important;
    }

    /* Remove grey bleed */
    body, div.main, .wrapper_inner, .page_wrapper {
        background-color: #ffffff !important;
    }
}

/* =========================================================================
   ABITURIENTAM PAGE - CTA MOBILE FIX (AI GENERATED)
   ========================================================================= */

@media (max-width: 1024px) {
    .cta-section {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 20px !important;
        width: 100% !important;
        padding: 40px 15px !important; /* Safe mobile padding */
        box-sizing: border-box !important;
    }

    .cta-section__content {
        width: 100% !important;
        text-align: left !important;
    }

    .cta-section__actions {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
        width: 100% !important;
        align-items: stretch !important;
        margin: 0 !important;
    }

    .cta-section__actions .btn-custom,
    .cta-section__btn-outline,
    .cta-section__btn-primary {
        width: 100% !important;
        max-width: 100% !important;
        white-space: normal !important; /* Ensure long text can wrap if needed */
        height: auto !important;
        min-height: 50px !important;
        padding: 12px 20px !important;
        text-align: center !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }
}

/* =========================================================================
   ABITURIENTAM PAGE - CTA MARGIN FIX (AI GENERATED)
   ========================================================================= */

@media (max-width: 1024px) {
    .cta-section {
        /* Reduce the massive desktop vertical gaps */
        margin-top: 20px !important;
        margin-bottom: 30px !important;
        padding-top: 30px !important;
        padding-bottom: 30px !important;
    }
}
/* =========================================================================
   ABITURIENTAM PAGE - FINAL MARGIN & WHITESPACE FIX (AI GENERATED)
   ========================================================================= */

@media (max-width: 1024px) {
    /* 1. Eliminate the huge dead white space below the grey CTA block */
    .cta-section {
        margin-bottom: 0 !important;
    }

    .applicants-full-blocks,
    .container--applicants-layout,
    .applicants-content {
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    /* 2. Make the grey block itself more compact vertically */
    .cta-section {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
        gap: 25px !important; /* Nice breathing room between text and buttons */
    }

    .cta-section__title {
        margin-bottom: 12px !important; /* Tighter gap between title and desc */
    }

    /* 3. Ensure the footer securely hugs the bottom of the page without a huge gap */
    footer#footer, footer.footer-1, footer.footer {
        margin-top: 0 !important;
        padding-top: 40px !important;
    }
}


/* =========================================================================
   MOBILE HERO TITLE WHITE COLOR FIX
   ========================================================================= */
@media (max-width: 991px) {
    .page-top h1,
    .page-top .page-title,
    .page-top .page-title__title,
    .page-top .topic__heading,
    .hero-page h1,
    .hero-page .page-title__title,
    .hero-page .page-title,
    .hero-page .hero-page__title,
    .hero-page__title,
    .hero-page__title--applicants,
    .hero-page__title--specialties {
        color: #ffffff !important;
    }
}


/* End */


/* Start:/company/svedeniya-ob-obrazovatelnoy-organizatsii/pedagogicheskiy-sostav/assets/css/teachers.css?17788395263243*/
/* teachers.css - Styles for Teachers page */

.teachers-container {
    max-width: 1033px;
    /* As per Figma width: 1032.94px */
    margin: 100px auto 100px;
}

.teachers-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 64px 16px;
    /* Row gap: approx 64px from Figma (483.8 - 419.8), Col gap: approx 16px (262.2 - 246.2) */
}

.teacher-card {
    display: flex;
    flex-direction: column;
    width: 246.24px;
    height: 100%;
}

.teacher-card__image {
    width: 100%;
    height: 278.89px;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 10px;
    background-color: #F5F5F5;
    /* Replaced variable with strict color to ensure it shows up */
    display: flex;
    align-items: center;
    justify-content: center;
}

.teacher-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    color: transparent;
    /* Hides alt text if image fails to load */
}

.teacher-card__info {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    /* Forces the info container to expand and push link down */
    padding-top: 10px;
}

.teacher-card__name {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 8px;
    text-transform: uppercase;
    color: var(--color-secondary);
}

.teacher-card__desc {
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--color-secondary);
    margin-bottom: 24px;
}

.teacher-card__link {
    font-size: 14px;
    font-weight: 600;
    color: var(--color-primary);
    text-decoration: underline;
    margin-top: auto;
    /* Pushes the link to the bottom of the card */
}

.teacher-card__link:hover {
    text-decoration: none;
}

/* Compliance block overriding defaults slightly if needed */
.compliance-section {
    width: 100%;
}

.container--compliance {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 24px;
}

.compliance__text {
    font-size: 18px;
    line-height: 1.6;
    color: var(--color-secondary);
}

/* Responsive */
@media (max-width: 1024px) {
    .teachers-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .teachers-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .teachers-grid {
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .teacher-card {
        width: 100%;
        max-width: 320px;
    }
}


/* === teachers page layout additions === */
.teachers-intro { max-width: 1033px; margin: 60px auto 0; }
.teacher-card__image img { object-position: center top; }
.teachers-doc { max-width: 1033px; margin: 48px auto 0; }
.teachers-doc__link {
    display: inline-flex; align-items: center; gap: 12px;
    padding: 15px 24px; border: 1px solid var(--color-gray-1); border-radius: 10px;
    font-size: 15px; font-weight: 600; color: var(--color-text-black);
    text-decoration: none; transition: border-color .2s ease, color .2s ease;
}
.teachers-doc__link:hover { border-color: var(--color-primary); color: var(--color-primary); }
.teachers-doc__link svg { flex-shrink: 0; color: var(--color-primary); }
@media (max-width: 1024px) {
    .teachers-intro, .teachers-doc { max-width: 92%; }
}

/* End */
/* /company/svedeniya-ob-obrazovatelnoy-organizatsii/pedagogicheskiy-sostav/assets/css/variables.css?1776422181839 */
/* /company/svedeniya-ob-obrazovatelnoy-organizatsii/pedagogicheskiy-sostav/assets/css/forms-of-study.css?17764221814960 */
/* /local/templates/aspro-allcorp3/assets/css/applicants.css?178782017349036 */
/* /company/svedeniya-ob-obrazovatelnoy-organizatsii/pedagogicheskiy-sostav/assets/css/teachers.css?17788395263243 */
