/*!
Theme Name: ПроСтО
Author: Sergei Saltykov
Description:
Version: 1.0
Text Domain: prosto
*/


:root {
    --prosto-primary: #792B64;
    --prosto-primary-deep: #792B64;
    --prosto-primary-50-dark: #792B64;
    --prosto-primary-50-light: #792B64;

    --prosto-light: #FFFFFF;
    --prosto-light-deep: #FFFFFF;

    --prosto-padding-4: 120px;
    --prosto-padding-3: 100px;
    --prosto-padding-2: 80px;
    --prosto-padding-1: 60px;

    --prosto-text: #792B64;
    --bs-link-color: #792B64;
    --bs-link-color-rgb: 121, 43, 100;
    --bs-link-decoration: underline;
    --bs-link-hover-color: var(--prosto-primary);
    --bs-link-hover-color-rgb:  121, 43, 100;
    --bs-font-sans-serif: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";

    --font-size-1: 68px;
    --font-size-2: 36px;
    --font-size-3: 24px;
}

body {
    background-color: var(--prosto-light);
    color: var(--prosto-text);
    font-family: var(--bs-font-sans-serif), sans-serif;
    line-height: 1.3;
    scroll-behavior: smooth;
}

body * {
    scroll-margin-top: var(--prosto-padding-3);
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    line-height: 1;
    font-weight: 700;
}

ol, ul {
    padding-left: 1rem;
}


.ratio-2x3 {
    --bs-aspect-ratio: 150%;
}

.ratio-3x2 {
    --bs-aspect-ratio: 66.7%;
}

.ratio-3x4 {
    --bs-aspect-ratio: 133.33%;
}

.ratio-4x3 {
    --bs-aspect-ratio: 75%;
}

.ratio-9x16 {
    --bs-aspect-ratio: 177.77%;
}

/* buttons */
.btn {
    --bs-btn-padding-x: 2.5rem;
    --bs-btn-padding-y: 1.25rem;
    --bs-btn-font-size: 1.25rem;
    --bs-btn-font-weight: 700;
    --bs-btn-line-height: 1.5;
    --bs-btn-border-radius: 20px;
    --bs-btn-border-width: 2px;
    --bs-btn-disabled-opacity: 0.4;
    transition: fill .15s ease-in-out, stroke .15s ease-in-out, color .15s ease-in-out, background .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.btn:focus-visible {
    fill: var(--bs-btn-hover-color);
    stroke: var(--bs-btn-hover-color);
}

.btn svg {
    fill: var(--bs-btn-color);
    max-width: 100%;
    max-height: 100%;
}

.btn:hover svg {
    fill: var(--bs-btn-hover-color);
}

.btn-primary {
    fill: var(--bs-btn-color);
    stroke: var(--bs-btn-color);
    --bs-btn-box-shadow: unset;
    --bs-btn-focus-box-shadow: unset;
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--prosto-primary);
    --bs-btn-hover-color: var(--prosto-primary);
    --bs-btn-hover-bg: var(--prosto-light);
    --bs-btn-border-color: var(--prosto-primary);
    --bs-btn-hover-border-color: var(--prosto-primary);
    --bs-btn-active-border-color: var(--prosto-primary);
    --bs-btn-active-color: var(--prosto-primary);
    --bs-btn-active-bg: #D9D9D9;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--prosto-primary);
    --bs-btn-disabled-border-color: var(--prosto-primary);
    position: relative;
    z-index: 1;
    overflow: hidden;
    transition: color .15s ease-in-out;
    transition-delay: 0s;
    --circle-1-bg: var(--prosto-light);
    --circle-2-bg: var(--prosto-primary);
}

.btn-secondary {
    fill: var(--bs-btn-color);
    stroke: var(--bs-btn-color);
    --bs-btn-box-shadow: unset;
    --bs-btn-focus-box-shadow: unset;
    --bs-btn-color: var(--prosto-primary);
    --bs-btn-bg: var(--prosto-light);
    --bs-btn-hover-color: var(--prosto-light);
    --bs-btn-hover-bg: var(--prosto-primary);
    --bs-btn-border-color: var(--prosto-primary);
    --bs-btn-hover-border-color: var(--prosto-primary);
    --bs-btn-active-border-color: var(--prosto-primary);
    --bs-btn-active-color: var(--prosto-light);
    --bs-btn-active-bg: var(--prosto-primary);
    --bs-btn-disabled-color: var(--prosto-primary);
    --bs-btn-disabled-bg: var(--prosto-light);
    --bs-btn-disabled-border-color: var(--prosto-light);
    position: relative;
    z-index: 1;
    overflow: hidden;
    transition: color .15s ease-in-out;
    transition-delay: 0s;
    --circle-1-bg: var(--prosto-primary);
    --circle-2-bg: var(--prosto-primary);
}

.btn-primary:before, .btn-secondary:before {
    content: "";
    position: absolute;
    left: 50%;
    top: 120%;
    border-radius: 50%;
    width: 0;
    height: 0;
    padding-top: 0;
    background-color: var(--circle-1-bg);
    translate: -50% -50%;
    transition: .2s linear all;
    z-index: -1;
}

.btn-primary:after, .btn-secondary:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 120%;
    border-radius: 50%;
    width: 0;
    height: 0;
    padding-top: 0;
    background-color: var(--circle-2-bg);
    translate: -50% -50%;
    transition: .2s linear all;
    z-index: -2;
}

.btn-primary:hover:before,
.btn-secondary:hover:before {
    width: 150%;
    padding-top: 150%;
}

.btn-primary:hover:after,
.btn-secondary:hover:after {
    width: 200%;
    padding-top: 200%;
}

.btn-primary:hover, .btn-secondary:hover {
    transition: color .15s ease-in-out, background .15s ease-in-out;
    transition-delay: 0s, .2s;
    fill: var(--bs-btn-hover-color);
    stroke: var(--bs-btn-hover-color);
}

.btn-primary:active, .btn-secondary:active {
    fill: var(--bs-btn-active-color);
    stroke: var(--bs-btn-active-color);
}

.custom-logo {
    height: 64px;
    width: auto;
}

.main-header {
    background-color: var(--prosto-light);
    position: sticky;
    top: 0;
    z-index: 10;
    border-radius: 0 0 20px 20px;
    transition: .2s linear box-shadow;
}

.main-header .navbar {
    --bs-navbar-padding-y: 1rem;
    --bs-navbar-nav-link-padding-x: 22px;
    --bs-navbar-toggler-border-radius: 0;
    --bs-navbar-toggler-padding-y: 0.25rem;
    --bs-navbar-toggler-padding-x: 0.25rem;
}

.main-header .navbar-nav {
    --bs-nav-link-font-weight: 500;
    --bs-nav-link-color: var(--prosto-primary);
    --bs-nav-link-hover-color: var(--prosto-light);
    --bs-nav-link-padding-y: 8px;
    --bs-nav-link-padding-x: 16px;
    gap: 12px;
}

.main-header .nav-link {
    border-radius: 16px;
    padding-bottom: 10px;
}

.main-header .nav-link:focus, .main-header .nav-link:hover {
    background-color: var(--prosto-primary);
}

.header-phone-row {
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0 !important;
}

.header-phone-row .phone {
    font-weight: 800;
    text-decoration: unset;
    font-size: 24px;
}

footer {
    position: relative;
    overflow: hidden;
    color: var(--prosto-light);
    background-color: var(--prosto-primary);
    font-size: 16px;

    --bs-link-color: var(--prosto-light);
    --bs-link-color-rgb: 254, 251, 241;
    --bs-link-hover-color: var(--prosto-light-deep);
    --bs-link-hover-color-rgb: 255, 255, 255;

    padding-top: 122px;
    padding-bottom: 32px;
}

footer .section-title {
    color: var(--prosto-light);
}

footer .map-icon {
    position: relative;
    display: flex;
    align-items: center;
}

footer .map-icon:before {
    content: '';
    display: flex;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="52" height="52" viewBox="0 0 52 52" fill="none"><path d="M26.0013 46.2068C25.4957 46.2068 24.9902 46.1165 24.4846 45.9359C23.9791 45.7554 23.5277 45.4846 23.1305 45.1234C20.7832 42.9568 18.7069 40.8443 16.9013 38.7859C15.0957 36.7276 13.5881 34.7325 12.3784 32.8005C11.1687 30.8686 10.2478 29.0089 9.61589 27.2214C8.98394 25.4339 8.66797 23.7276 8.66797 22.1026C8.66797 16.6859 10.4103 12.3707 13.8951 9.15677C17.3798 5.94288 21.4152 4.33594 26.0013 4.33594C30.5874 4.33594 34.6228 5.94288 38.1076 9.15677C41.5923 12.3707 43.3346 16.6859 43.3346 22.1026C43.3346 23.7276 43.0187 25.4339 42.3867 27.2214C41.7548 29.0089 40.8339 30.8686 39.6242 32.8005C38.4145 34.7325 36.9069 36.7276 35.1013 38.7859C33.2957 40.8443 31.2194 42.9568 28.8721 45.1234C28.4749 45.4846 28.0235 45.7554 27.518 45.9359C27.0124 46.1165 26.5069 46.2068 26.0013 46.2068ZM26.0013 26.0026C27.193 26.0026 28.2131 25.5783 29.0617 24.7297C29.9103 23.8811 30.3346 22.8609 30.3346 21.6693C30.3346 20.4776 29.9103 19.4575 29.0617 18.6089C28.2131 17.7602 27.193 17.3359 26.0013 17.3359C24.8096 17.3359 23.7895 17.7602 22.9409 18.6089C22.0923 19.4575 21.668 20.4776 21.668 21.6693C21.668 22.8609 22.0923 23.8811 22.9409 24.7297C23.7895 25.5783 24.8096 26.0026 26.0013 26.0026Z" fill="%23FFFFFF"/></svg>');
    background-repeat: no-repeat;
    background-position: center center;
    width: 52px;
    height: 52px;
    flex-shrink: 0;
    aspect-ratio: 1/1;
    margin-right: 12px;
}

footer .map {
    display: block;
    position: relative;
    overflow: hidden;
    height: 609px;
    width: 100%;
    border-radius: 32px;
    background-color: var(--prosto-light);
}

footer .map img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    pointer-events: none;
    user-select: none;
}

footer .row-contacts {
    margin-bottom: 24px;
    display: flex;
    gap: 24px;
    font-weight: 500;
}

.row-contacts .icon {
    position: relative;
    display: flex;
    align-items: center;
}

.row-contacts .icon:before {
    content: '';
    display: flex;
    background-repeat: no-repeat;
    background-position: center center;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    aspect-ratio: 1/1;
    margin-right: 12px;
    background-size: contain;
}

.row-contacts .icon-timetable:before {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" fill="none"><path d="M17.3327 16.2327V11.9993C17.3327 11.6216 17.2049 11.3049 16.9493 11.0493C16.6938 10.7938 16.3771 10.666 15.9993 10.666C15.6216 10.666 15.3049 10.7938 15.0493 11.0493C14.7938 11.3049 14.666 11.6216 14.666 11.9993V16.766C14.666 16.9438 14.6993 17.116 14.766 17.2827C14.8327 17.4493 14.9327 17.5993 15.066 17.7327L18.4327 21.0993C18.6993 21.366 19.016 21.4993 19.3827 21.4993C19.7493 21.4993 20.066 21.366 20.3327 21.0993C20.5771 20.8327 20.6993 20.516 20.6993 20.1493C20.6993 19.7827 20.5771 19.4771 20.3327 19.2327L17.3327 16.2327ZM15.9993 7.99935C16.3771 7.99935 16.6938 7.87157 16.9493 7.61602C17.2049 7.36046 17.3327 7.04379 17.3327 6.66602C17.3327 6.28824 17.2049 5.97157 16.9493 5.71602C16.6938 5.46046 16.3771 5.33268 15.9993 5.33268C15.6216 5.33268 15.3049 5.46046 15.0493 5.71602C14.7938 5.97157 14.666 6.28824 14.666 6.66602C14.666 7.04379 14.7938 7.36046 15.0493 7.61602C15.3049 7.87157 15.6216 7.99935 15.9993 7.99935ZM23.9993 15.9993C23.9993 16.3771 24.1271 16.6938 24.3827 16.9493C24.6382 17.2049 24.9549 17.3327 25.3327 17.3327C25.7105 17.3327 26.0271 17.2049 26.2827 16.9493C26.5382 16.6938 26.666 16.3771 26.666 15.9993C26.666 15.6216 26.5382 15.3049 26.2827 15.0493C26.0271 14.7938 25.7105 14.666 25.3327 14.666C24.9549 14.666 24.6382 14.7938 24.3827 15.0493C24.1271 15.3049 23.9993 15.6216 23.9993 15.9993ZM15.9993 23.9993C15.6216 23.9993 15.3049 24.1271 15.0493 24.3827C14.7938 24.6382 14.666 24.9549 14.666 25.3327C14.666 25.7105 14.7938 26.0271 15.0493 26.2827C15.3049 26.5382 15.6216 26.666 15.9993 26.666C16.3771 26.666 16.6938 26.5382 16.9493 26.2827C17.2049 26.0271 17.3327 25.7105 17.3327 25.3327C17.3327 24.9549 17.2049 24.6382 16.9493 24.3827C16.6938 24.1271 16.3771 23.9993 15.9993 23.9993ZM7.99935 15.9993C7.99935 15.6216 7.87157 15.3049 7.61602 15.0493C7.36046 14.7938 7.04379 14.666 6.66602 14.666C6.28824 14.666 5.97157 14.7938 5.71602 15.0493C5.46046 15.3049 5.33268 15.6216 5.33268 15.9993C5.33268 16.3771 5.46046 16.6938 5.71602 16.9493C5.97157 17.2049 6.28824 17.3327 6.66602 17.3327C7.04379 17.3327 7.36046 17.2049 7.61602 16.9493C7.87157 16.6938 7.99935 16.3771 7.99935 15.9993ZM15.9993 29.3327C14.1549 29.3327 12.4216 28.9827 10.7993 28.2827C9.17713 27.5827 7.76602 26.6327 6.56602 25.4327C5.36602 24.2327 4.41602 22.8216 3.71602 21.1993C3.01602 19.5771 2.66602 17.8438 2.66602 15.9993C2.66602 14.1549 3.01602 12.4216 3.71602 10.7993C4.41602 9.17713 5.36602 7.76602 6.56602 6.56602C7.76602 5.36602 9.17713 4.41602 10.7993 3.71602C12.4216 3.01602 14.1549 2.66602 15.9993 2.66602C17.8438 2.66602 19.5771 3.01602 21.1993 3.71602C22.8216 4.41602 24.2327 5.36602 25.4327 6.56602C26.6327 7.76602 27.5827 9.17713 28.2827 10.7993C28.9827 12.4216 29.3327 14.1549 29.3327 15.9993C29.3327 17.8438 28.9827 19.5771 28.2827 21.1993C27.5827 22.8216 26.6327 24.2327 25.4327 25.4327C24.2327 26.6327 22.8216 27.5827 21.1993 28.2827C19.5771 28.9827 17.8438 29.3327 15.9993 29.3327Z" fill="%23FFFFFF"/></svg>');
}

.row-contacts .icon-phone:before {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" fill="none"><path d="M26.6 28C23.8222 28 21.0778 27.3944 18.3667 26.1833C15.6556 24.9722 13.1889 23.2556 10.9667 21.0333C8.74444 18.8111 7.02778 16.3444 5.81667 13.6333C4.60556 10.9222 4 8.17778 4 5.4C4 5 4.13333 4.66667 4.4 4.4C4.66667 4.13333 5 4 5.4 4H10.8C11.1111 4 11.3889 4.10556 11.6333 4.31667C11.8778 4.52778 12.0222 4.77778 12.0667 5.06667L12.9333 9.73333C12.9778 10.0889 12.9667 10.3889 12.9 10.6333C12.8333 10.8778 12.7111 11.0889 12.5333 11.2667L9.3 14.5333C9.74444 15.3556 10.2722 16.15 10.8833 16.9167C11.4944 17.6833 12.1667 18.4222 12.9 19.1333C13.5889 19.8222 14.3111 20.4611 15.0667 21.05C15.8222 21.6389 16.6222 22.1778 17.4667 22.6667L20.6 19.5333C20.8 19.3333 21.0611 19.1833 21.3833 19.0833C21.7056 18.9833 22.0222 18.9556 22.3333 19L26.9333 19.9333C27.2444 20.0222 27.5 20.1833 27.7 20.4167C27.9 20.65 28 20.9111 28 21.2V26.6C28 27 27.8667 27.3333 27.6 27.6C27.3333 27.8667 27 28 26.6 28Z" fill="%23FFFFFF"/></svg>');
}

.row-contacts .icon-email:before {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" fill="none"><path d="M5.33366 26.6673C4.60033 26.6673 3.97255 26.4062 3.45033 25.884C2.9281 25.3618 2.66699 24.734 2.66699 24.0007V8.00065C2.66699 7.26732 2.9281 6.63954 3.45033 6.11732C3.97255 5.5951 4.60033 5.33398 5.33366 5.33398H26.667C27.4003 5.33398 28.0281 5.5951 28.5503 6.11732C29.0725 6.63954 29.3337 7.26732 29.3337 8.00065V24.0007C29.3337 24.734 29.0725 25.3618 28.5503 25.884C28.0281 26.4062 27.4003 26.6673 26.667 26.6673H5.33366ZM16.0003 17.1007C16.1114 17.1007 16.2281 17.084 16.3503 17.0507C16.4725 17.0173 16.5892 16.9673 16.7003 16.9007L26.1337 11.0007C26.3114 10.8895 26.4448 10.7507 26.5337 10.584C26.6225 10.4173 26.667 10.234 26.667 10.034C26.667 9.58954 26.4781 9.25621 26.1003 9.03398C25.7225 8.81176 25.3337 8.82287 24.9337 9.06732L16.0003 14.6673L7.06699 9.06732C6.66699 8.82287 6.2781 8.81732 5.90033 9.05065C5.52255 9.28398 5.33366 9.61176 5.33366 10.034C5.33366 10.2562 5.3781 10.4507 5.46699 10.6173C5.55588 10.784 5.68921 10.9118 5.86699 11.0007L15.3003 16.9007C15.4114 16.9673 15.5281 17.0173 15.6503 17.0507C15.7725 17.084 15.8892 17.1007 16.0003 17.1007Z" fill="%23FFFFFF"/></svg>');
}

.row-contacts .text-muted {
    color: var(--prosto-primary-50-light) !important;
    font-weight: 400;
    margin-top: 4px;
    line-height: 1.5;
}


footer .small-info-title {
    font-weight: 500;
    font-size: 26px;
    margin-bottom: 1rem;
    line-height: 1.1;
}

footer .navbar-nav {
    margin-top: 100px;
}

footer .nav {
    --bs-nav-link-padding-x: 0;
    --bs-nav-link-padding-y: 0;
    line-height: 1.5;
    gap: 12px;
    font-weight: 400;
}

footer a {
    text-decoration: unset;
}

footer a.phone {
}

.footer-menu {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.footer-policy {
    text-align: center;
    font-weight: 500;
    line-height: 150%;
    color: var(--prosto-light);
    margin-top: 2rem;
    font-size: 13px;
}

.page-title {
    font-size: 68px;
    font-weight: 800;
    line-height: 1.1;
    position: relative;
    z-index: 1;
    margin-bottom: 1.5rem;
}

.section-title {
    font-size: 42px;
    font-weight: 800;
    line-height: 110%;
    margin-bottom: 32px;
    color: var(--prosto-primary);
}

.section-subtitle {
    color: var(--prosto-primary-50-light);
    font-size: 26px;
    font-weight: 500;
    line-height: 130%;
}

#fp-intro {
    background-color: var(--prosto-light);
    padding-top: 0;
    padding-bottom: 50px;
    min-height: calc(100vh - 108px);
    max-height: 1080px;
    position: relative;
    z-index: 1;
    display: flex;
}

#fp-intro .intro-container {
    padding-top: 60px;

    display: flex;
    flex-direction: column;
    justify-content: center;
}

#fp-intro .intro-text {
    z-index: 1;
    position: relative;
}

#fp-intro .page-title {
    margin-bottom: 1.5rem;
}

#fp-intro .subtitle {
    font-size: 42px;
    font-weight: 500;
    color: var(--prosto-primary-50-light);
}

#fp-intro .btn-row {
    margin-top: 250px;
}

.section-docs {
    background-color: var(--prosto-primary);
    color: var(--prosto-light);
    position: relative;
    padding: 123px 0 183px 0;
    overflow: hidden;
}

.section-docs .section-title {
    color: var(--prosto-light);
    position: relative;
    z-index: 1;
}

.section-docs .section-subtitle {
    color: var(--prosto-light);
}

.block-top {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 43px;
    background: var(--prosto-light);
    border-radius: 0 0 20px 20px;
    box-shadow: 0 150px 42px 0 rgba(23, 18, 43, 0.01), 0 96px 20px 0 rgba(23, 18, 43, 0.07), 0 54px 32px 0 rgba(23, 18, 43, 0.25), 0 24px 24px 0 rgba(23, 18, 43, 0.43), 0 6px 13px 0 rgba(23, 18, 43, 0.49);
}

.block-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 43px;
    background: var(--prosto-light);
    border-radius: 20px 20px 0 0;
    box-shadow: 0 -152px 43px 0 rgba(23, 18, 43, 0.01), 0 -97px 39px 0 rgba(23, 18, 43, 0.07), 0 -55px 33px 0 rgba(23, 18, 43, 0.25), 0 -24px 24px 0 rgba(23, 18, 43, 0.43), 0 -6px 13px 0 rgba(23, 18, 43, 0.49);
}

.form-row {
    --bs-gutter-y: 1rem;
}

.form-control {
    display: block;
    width: 100%;
    padding: 14px 16px;
    font-weight: 400;
    line-height: 1.5;
    color: var(--prosto-light);
    background-color: #261B4C;
    border: 0;
    border-radius: 10px;
}

.form-control::placeholder {
    opacity: 1;
    color: var(--prosto-primary-50-light);
}

.form-control:focus {
    color: var(--prosto-light);
    background-color: #261B4C;
    border-color: unset;
    outline: 0;
    box-shadow: 0 0 0 .25rem #261B4C40;
}

.form-label {
    display: block;
    margin-bottom: 8px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
}

.link-acceptance {
    color: var(--prosto-primary-50-light);
}

.row-submit {
    position: relative;
}

.row-submit .btn {
    width: 100%;
}

.row-submit label {
    width: 100%;
}

.row-submit .wpcf7-submit:disabled ~ .btn {
    cursor: not-allowed;
    opacity: 0.4;
    pointer-events: none;
}

.row-submit .wpcf7-spinner {
    margin: 0;
    position: absolute;
    left: 0;
    top: 50%;
    translate: 50% -50%;
    z-index: 1;
}

.wpcf7-acceptance .wpcf7-list-item {
    margin-left: 0;
}

.wpcf7-acceptance label {
    display: flex;
    gap: 12px;
    align-items: center;
    color: var(--prosto-primary-50-light);
}

.wpcf7-not-valid-tip {
    color: var(--bs-yellow);
}

.wpcf7-acceptance .form-check-input[type=checkbox] {
    border-color: #261B4C;
    background-color: #261B4C;
    margin-top: 0;
    width: 2rem;
    height: 2rem;
    border-radius: 8px;
    background-size: 50%;
}

.wpcf7-acceptance .form-check-input[type=checkbox]:checked {
    border-color: #261B4C;
    --bs-form-check-bg-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="10" viewBox="0 0 14 10" fill="none"><path d="M4.78769 7.81737L12.4608 0.267261C12.6419 0.0890869 12.8532 0 13.0946 0C13.3361 0 13.5473 0.0890869 13.7284 0.267261C13.9095 0.445434 14 0.657016 14 0.902004C14 1.14699 13.9095 1.35857 13.7284 1.53675L5.42146 9.73274C5.24038 9.91091 5.02912 10 4.78769 10C4.54625 10 4.33499 9.91091 4.15392 9.73274L0.260751 5.902C0.0796741 5.72383 -0.0070922 5.51225 0.000452694 5.26726C0.00799759 5.02227 0.102309 4.81069 0.283386 4.63252C0.464464 4.45434 0.679493 4.36526 0.928474 4.36526C1.17746 4.36526 1.39249 4.45434 1.57356 4.63252L4.78769 7.81737Z" fill="%23FFFFFF"/></svg>');
}

@media (max-width: 1499.98px) {

    #fp-intro .intro-container {
        padding-top: 60px;
    }


    .page-title {
        font-size: 52px;
    }

    #fp-intro .page-title {
        font-size: 58px;
        margin-bottom: 1.5rem;
    }

    #fp-intro .subtitle {
        font-size: 36px;
    }

    #fp-intro .btn-row {
        margin-top: 215px;
    }

    .section-title {
        font-size: 36px;
        margin-bottom: 28px;
    }

    .section-subtitle {
        font-size: 24px;
    }


    .navbar-nav > .nav {
        flex-wrap: nowrap;
        gap: 0;
    }

    footer .nav .nav-item {
        flex-shrink: 1;
    }

    footer .small-info-title {
        font-size: 24px;
    }

    .modal-title {
        font-size: 36px;
    }
}

@media (max-width: 1199.98px) {

    .btn {
        --bs-btn-font-size: 18px;
    }

    #fp-intro .intro-container {
        padding-top: 0;
    }

    #fp-intro .page-title {
        font-size: 52px;
        margin-bottom: 1rem;
    }

    #fp-intro .subtitle {
        font-size: 32px;
    }

    #fp-intro .btn-row {
        margin-top: 250px;
    }


    .section-title {
        font-size: 32px;
        margin-bottom: 24px;
    }

    .section-subtitle {
        font-size: 22px;
    }

    .row-direction .direction-title {
        height: 52px;
    }

    .row-direction-work .direction-title img {
        height: 38px;
    }

    .row-direction-sport .direction-title img {
        height: 34px;
    }

    .row-direction-creation .direction-title img {
        height: 41px;
    }

    .row-direction-mind .direction-title img {
        height: 38px;
    }

    .section-docs {
        padding: 83px 0 103px 0;
    }

    .main-header .navbar-nav {
        margin-top: 0;
        gap: 0;
    }

    .header-phone-row .phone {
        font-size: 16px;
    }


    .main-header .nav-link {
        border-radius: 12px;
    }


    footer {
        padding-top: 107px;
        font-size: 14px;
    }

    footer .small-info-title {
        font-size: 22px;
    }

    .btn-social {
        width: 52px;
        height: 52px;
    }

    /* old */
    :root {
        --prosto-padding-4: 100px;
        --prosto-padding-3: 80px;
        --prosto-padding-2: 60px;
        --prosto-padding-1: 40px;
    }


    .main-header .navbar {
        --bs-navbar-nav-link-padding-x: 16px;
        --bs-navbar-toggler-icon-bg: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M4 18C3.71667 18 3.47917 17.9042 3.2875 17.7125C3.09583 17.5208 3 17.2833 3 17C3 16.7167 3.09583 16.4792 3.2875 16.2875C3.47917 16.0958 3.71667 16 4 16H20C20.2833 16 20.5208 16.0958 20.7125 16.2875C20.9042 16.4792 21 16.7167 21 17C21 17.2833 20.9042 17.5208 20.7125 17.7125C20.5208 17.9042 20.2833 18 20 18H4ZM4 13C3.71667 13 3.47917 12.9042 3.2875 12.7125C3.09583 12.5208 3 12.2833 3 12C3 11.7167 3.09583 11.4792 3.2875 11.2875C3.47917 11.0958 3.71667 11 4 11H20C20.2833 11 20.5208 11.0958 20.7125 11.2875C20.9042 11.4792 21 11.7167 21 12C21 12.2833 20.9042 12.5208 20.7125 12.7125C20.5208 12.9042 20.2833 13 20 13H4ZM4 8C3.71667 8 3.47917 7.90417 3.2875 7.7125C3.09583 7.52083 3 7.28333 3 7C3 6.71667 3.09583 6.47917 3.2875 6.2875C3.47917 6.09583 3.71667 6 4 6H20C20.2833 6 20.5208 6.09583 20.7125 6.2875C20.9042 6.47917 21 6.71667 21 7C21 7.28333 20.9042 7.52083 20.7125 7.7125C20.5208 7.90417 20.2833 8 20 8H4Z" fill="%2336276A"/></svg>');
    }

    .page-title, .promo-gallery__item .title {
        font-size: 46px;
    }

    .page-title, .promo-gallery__item .title {
        font-size: 36px;
    }

    .page-header {
        --icon-size: 96px;
        padding-top: 64px;
        padding-bottom: 56px;
    }

}

@media (max-width: 991.98px) {

    #fp-intro {
        min-height: 1050px;
        max-height: unset;
        height: calc(100vh - 100px);
    }

    #fp-intro .btn-row {
        --bs-gutter-y: 2rem;
        margin-top: auto;
    }

    #fp-intro .intro-container {
        padding-top: 100px;
        flex-grow: 1;
        display: flex;
        flex-direction: column;
    }

    #fp-intro .intro-text {
        flex-grow: 1;
        display: flex;
        flex-direction: column;
    }

    .btn-family .front:before {
        width: 397px;
        height: 211px;
        bottom: calc(100% - 50px);
    }

    .custom-logo {
        height: 56px;
        width: auto;
    }

    .offcanvas {
        background: var(--prosto-primary);
        color: var(--prosto-light);
        font-size: 32px;

        border-radius: 24px 0 0 24px;
        box-shadow: -288px 0 81px 0 rgba(23, 18, 43, 0.01), -185px 0 74px 0 rgba(23, 18, 43, 0.07), -104px 0 62px 0 rgba(23, 18, 43, 0.25), -46px 0 46px 0 rgba(23, 18, 43, 0.43), -12px 0 25px 0 rgba(23, 18, 43, 0.49);
    }

    .offcanvas-backdrop {
        background-color: #00000040;
    }

    .offcanvas .navbar-nav {
        --bs-nav-link-color: var(--prosto-light);
        --bs-nav-link-hover-color: var(--prosto-light);
    }

    .offcanvas .social-row {
        margin-top: 42px;
    }

    .main-header .nav-link {
        padding-top: 12px;
    }

    .nav-pills-direction .nav-link {
        font-size: 14px;
        padding: 10px 19px 10px 19px;
    }

    .nav-pills-direction {
        margin-top: 20px;
    }

    .navbar-buttons {
        display: flex;
        gap: 10px;
        translate: 0 4px;
    }

    .navbar-toggler-icon {
        width: 1.5rem;
        height: 1.5rem;
    }

    .navbar-phone-icon {
        --bs-navbar-toggler-icon-bg: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M19.95 21C17.8667 21 15.8083 20.5458 13.775 19.6375C11.7417 18.7292 9.89167 17.4417 8.225 15.775C6.55833 14.1083 5.27083 12.2583 4.3625 10.225C3.45417 8.19167 3 6.13333 3 4.05C3 3.75 3.1 3.5 3.3 3.3C3.5 3.1 3.75 3 4.05 3H8.1C8.33333 3 8.54167 3.07917 8.725 3.2375C8.90833 3.39583 9.01667 3.58333 9.05 3.8L9.7 7.3C9.73333 7.56667 9.725 7.79167 9.675 7.975C9.625 8.15833 9.53333 8.31667 9.4 8.45L6.975 10.9C7.30833 11.5167 7.70417 12.1125 8.1625 12.6875C8.62083 13.2625 9.125 13.8167 9.675 14.35C10.1917 14.8667 10.7333 15.3458 11.3 15.7875C11.8667 16.2292 12.4667 16.6333 13.1 17L15.45 14.65C15.6 14.5 15.7958 14.3875 16.0375 14.3125C16.2792 14.2375 16.5167 14.2167 16.75 14.25L20.2 14.95C20.4333 15.0167 20.625 15.1375 20.775 15.3125C20.925 15.4875 21 15.6833 21 15.9V19.95C21 20.25 20.9 20.5 20.7 20.7C20.5 20.9 20.25 21 19.95 21Z" fill="%2336276A"/></svg>');
    }

    .navbar-phone-icon-white {
        --bs-navbar-toggler-icon-bg: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none"><path d="M16.95 18C14.8667 18 12.8083 17.5458 10.775 16.6375C8.74167 15.7292 6.89167 14.4417 5.225 12.775C3.55833 11.1083 2.27083 9.25833 1.3625 7.225C0.454167 5.19167 0 3.13333 0 1.05C0 0.75 0.1 0.5 0.3 0.3C0.5 0.1 0.75 0 1.05 0H5.1C5.33333 0 5.54167 0.0791667 5.725 0.2375C5.90833 0.395833 6.01667 0.583333 6.05 0.8L6.7 4.3C6.73333 4.56667 6.725 4.79167 6.675 4.975C6.625 5.15833 6.53333 5.31667 6.4 5.45L3.975 7.9C4.30833 8.51667 4.70417 9.1125 5.1625 9.6875C5.62083 10.2625 6.125 10.8167 6.675 11.35C7.19167 11.8667 7.73333 12.3458 8.3 12.7875C8.86667 13.2292 9.46667 13.6333 10.1 14L12.45 11.65C12.6 11.5 12.7958 11.3875 13.0375 11.3125C13.2792 11.2375 13.5167 11.2167 13.75 11.25L17.2 11.95C17.4333 12.0167 17.625 12.1375 17.775 12.3125C17.925 12.4875 18 12.6833 18 12.9V16.95C18 17.25 17.9 17.5 17.7 17.7C17.5 17.9 17.25 18 16.95 18Z" fill="%23FEFBF1"/></svg>');
        background-size: 18px;
    }

    .navbar-close-icon-white {
        --bs-navbar-toggler-icon-bg: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M12.0008 13.3998L7.10078 18.2998C6.91745 18.4831 6.68411 18.5748 6.40078 18.5748C6.11745 18.5748 5.88411 18.4831 5.70078 18.2998C5.51745 18.1165 5.42578 17.8831 5.42578 17.5998C5.42578 17.3165 5.51745 17.0831 5.70078 16.8998L10.6008 11.9998L5.70078 7.0998C5.51745 6.91647 5.42578 6.68314 5.42578 6.3998C5.42578 6.11647 5.51745 5.88314 5.70078 5.6998C5.88411 5.51647 6.11745 5.4248 6.40078 5.4248C6.68411 5.4248 6.91745 5.51647 7.10078 5.6998L12.0008 10.5998L16.9008 5.6998C17.0841 5.51647 17.3174 5.4248 17.6008 5.4248C17.8841 5.4248 18.1174 5.51647 18.3008 5.6998C18.4841 5.88314 18.5758 6.11647 18.5758 6.3998C18.5758 6.68314 18.4841 6.91647 18.3008 7.0998L13.4008 11.9998L18.3008 16.8998C18.4841 17.0831 18.5758 17.3165 18.5758 17.5998C18.5758 17.8831 18.4841 18.1165 18.3008 18.2998C18.1174 18.4831 17.8841 18.5748 17.6008 18.5748C17.3174 18.5748 17.0841 18.4831 16.9008 18.2998L12.0008 13.3998Z" fill="%23FEFBF1"/></svg>');
    }

    .navbar-nav > .nav {
        flex-wrap: wrap;
        gap: 2rem 0;
    }

    footer .row-contacts {
        flex-wrap: wrap;
        justify-content: flex-end;
    }

    footer .navbar-nav {
        margin-top: 60px;
        margin-bottom: 32px;
    }

    .form-subtitle {
        font-size: 22px;
    }

    /* old */
    :root {
        --prosto-padding-4: 100px;
        --prosto-padding-3: 70px;
        --prosto-padding-2: 50px;
    }

    .page-header {
        padding-top: 54px;
        padding-bottom: 42px;
    }

    .block-section {
        --icon-size: 60px;
    }

    .block-section .title .icon {
        top: -24px;
    }

    .block-section .description {
        padding-left: calc(var(--icon-size) * .5);
    }

    .block-section .title {
        font-size: 30px;
        margin-top: 24px;
        margin-bottom: 24px;
    }

    .facts-row {
        gap: 20px 24px;
    }

    .facts-row .fact {
        height: 200px;
    }

    .facts-row .fact.fact-lightblue .title, .facts-row .fact.fact-pink .subtitle {
        top: 20px;
        right: 20px;
    }

    .facts-row .fact.fact-lightblue .subtitle, .facts-row .fact.fact-pink .title {
        left: 20px;
        bottom: 20px;
    }
}

@media (max-width: 767.98px) {

    .main-header {
        border-radius: 0 0 28px 28px;
    }

    .block-bottom {
        border-radius: 28px 28px 0 0;
    }

    .block-top {
        border-radius: 0 0 28px 28px;

    }

    .custom-logo {
        height: 50px;
    }

    .main-header .navbar {
        --bs-navbar-padding-y: .75rem;
    }

    #fp-intro {
        min-height: 900px;
    }


    #fp-intro .intro-container {
        padding-top: 60px;
    }

    #fp-intro .page-title {
        font-size: 48px;
        margin-bottom: 1rem;
    }

    #fp-intro .subtitle {
        font-size: 32px;
    }

    .nav-pills-direction .nav-link {
        font-size: 14px;
        padding: 8px 16px 8px 16px;
    }

    .directions {
        gap: 58px;
    }

    .row-direction .direction-title {
        height: 38px;
    }

    .row-direction-work .direction-title img {
        height: 28px;
    }

    .row-direction-sport .direction-title img {
        height: 27px;
    }

    .row-direction-creation .direction-title img {
        height: 26px;
    }

    .row-direction-mind .direction-title img {
        height: 25px;
    }

    footer {
        padding-top: 88px;
        padding-bottom: 20px;
    }

    footer .map-icon {
    }

    footer .row-contacts {
        flex-direction: column;
        gap: 16px;
        margin-bottom: 20px;
    }

    .row-contacts .icon:before {
        width: 24px;
        height: 24px;
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
    }

    .row-contacts .icon-timetable:before {
        width: 32px;
        height: 32px;
        margin-right: 10px;
    }

    .row-contacts .icon-timetable {
        font-size: 20px;
    }

    .row-contacts .text-muted {
        margin-top: 0;
    }


    footer .map {
        border-radius: 24px;
    }

    .form-directions-container {
        margin-bottom: 0;
    }

    /* old */
    :root {
        --prosto-padding-4: 64px;
        --prosto-padding-3: 40px;
        --prosto-padding-2: 32px;
        --prosto-padding-1: 24px;
    }

}

@media (max-width: 575.98px) {

    .section-title {
        font-size: 28px;
        margin-bottom: 16px;
    }

    .section-subtitle {
        font-size: 20px;
    }

    .btn {
        --bs-btn-padding-y: 13px;
        --bs-btn-padding-x: 11px;
        line-height: 1.1;
        --bs-btn-font-size: 16px;
    }

    #fp-intro {
        min-height: 130vw;
        padding-bottom: 32px;
        max-height: 650px;
    }

    #fp-intro .btn-row-direction .btn {
        min-width: 200px;
        width: 55vw;
        line-height: 1.5;
        --bs-btn-padding-y: 13px;
        --bs-btn-padding-x: 11px;
        --bs-btn-font-size: 16px;
    }

    #fp-intro .subtitle {
        font-size: 20px;
    }

    #fp-intro .page-title {
        font-size: 38px;
        margin-bottom: 10px;
    }

    #fp-intro .btn-row-direction {
        margin-top: 38px;
    }

    #fp-intro .intro-container {
        padding-top: 15px;
    }

    .nav-pills-direction {
        margin-bottom: 28px;
        gap: 4px;
        flex-wrap: wrap-reverse;
    }

    .nav-pills-direction .nav-item:nth-child(1) {
        order: 1;
    }

    .nav-pills-direction .nav-item:nth-child(n+2) {
        flex-grow: 1;
    }

    .nav-pills-direction .nav-item:nth-child(n+2) .nav-link {
        width: 100%;
    }

    .directions {
        gap: 40px;
    }

    .btn-family .front:before {
        bottom: calc(100% - 28px);
        width: 225px;
        height: 135px;
    }

    .main-header {
        border-radius: 0 0 24px 24px;
    }

    .block-bottom {
        border-radius: 24px 24px 0 0;

    }

    .block-top {
        border-radius: 0 0 24px 24px;

    }

    .header-phone-row .phone {
        font-size: 20px;
    }

    .header-phone-row {
        margin: .25rem;
    }

    .offcanvas {
        --bs-offcanvas-padding-y: .75rem;
        font-size: 20px;
    }

    footer .map {
        height: 400px;
    }

    footer .navbar-nav {
        margin-top: 42px;
    }

    footer .small-info-title {
        font-size: 20px;
    }

    footer .nav {
        gap: 8px;
    }

    .modal-title {
        font-size: 28px;
    }

    .form-subtitle {
        font-size: 20px;
    }

    /* old */
    .page-title, .promo-gallery__item .title {
        font-size: 32px;
    }

    .block-section .row-table > div {
        line-height: 1.3;
        padding: 4px;
        font-size: 13px;
        text-align: center;
    }

    .block-section hr {
        margin-top: 12px;
        margin-bottom: 12px;
        opacity: 1;
    }

    .block-section .row-table {
        margin-bottom: .75rem;
        padding-bottom: .75rem;
    }


}

@media (max-width: 350px) {

}