/*!
Theme Name: Алексей Лаврик
Author: Sergei Saltykov
Description:
Version: 0.1
Text Domain: lavr
*/


:root {
    --lavr-primary: #35276A;

    --lavr-pink: #F4AACC;
    --lavr-orange: #FCC959;
    --lavr-yellow: #E4E038;
    --lavr-green: #BBD151;
    --lavr-turquoise: #90CEC5;
    --lavr-lightblue: #AADDF9;
    --lavr-text: #35276A;
    --lavr-bg: #F4F3FA;
    --lavr-white: #FFFFFF;
    --lavr-grey: #E2E1E8;
    --lavr-padding-4: 120px;
    --lavr-padding-3: 100px;
    --lavr-padding-2: 80px;
    --lavr-padding-1: 60px;

    --bs-link-color: #35276A;
    --bs-link-color-rgb: 53, 39, 106;
    --bs-link-decoration: underline;
    --bs-link-hover-color: var(--lavr-primary);
    --bs-link-hover-color-rgb: 53, 39, 106;
    --bs-font-sans-serif: "Wix Madefor Display", 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";

    --elem-green: url('data:image/svg+xml,<svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 38.3345V0L23.0001 7.66547L46 0V38.3345L23.0001 46L0 38.3345Z" fill="%23BBD151"/></svg>');
    --elem-lightblue: url('data:image/svg+xml,<svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 22.9982L23.0001 46L46 22.9982V0H0V22.9982Z" fill="%23AADDF9"/></svg>');
    --elem-yellow: url('data:image/svg+xml,<svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M39.2645 6.73547L23.0001 0L6.73548 6.73547L0 23L6.73548 39.2646L23.0001 46L39.2645 39.2646L46 23L39.2645 6.73547Z" fill="%23E4E038"/></svg>');
    --elem-orange: url('data:image/svg+xml,<svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 46H46V22.9982L23.0001 0L0 22.9982V46Z" fill="%23FCC959"/></svg>');
    --elem-pink: url('data:image/svg+xml,<svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 23.0016L23.0016 46L46 23.0016V0H30.669L23.0016 7.6672L15.3345 0H0V23.0016Z" fill="%23F4AACC"/></svg>');
    --elem-turquoise: url('data:image/svg+xml,<svg width="46" height="46" viewBox="0 0 46 46" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 46V0H22.9984L46 23.0016L22.9984 46H0Z" fill="%2390CEC5"/></svg>');

    --font-headline-1: 64px;
    --font-headline-2: 110px;

    --font-size-1: 48px;
    --font-size-2: 36px;
    --font-size-3: 32px;
    --font-size-4: 24px;

}

body {
    background-color: var(--lavr-bg);
    color: var(--lavr-text);
    font-family: 'Wix Madefor Display', sans-serif;
    line-height: 1.25;
    scroll-behavior: smooth;
}

body * {
    scroll-margin-top: var(--lavr-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: 0.625rem;
    --bs-btn-font-size: 1rem;
    --bs-btn-font-weight: 700;
    --bs-btn-line-height: 1.5;
    --bs-btn-border-radius: 4px;
    --bs-btn-border-width: 1px;
    --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(--lavr-primary);
    --bs-btn-hover-color: var(--lavr-primary);
    --bs-btn-hover-bg: var(--lavr-white);
    --bs-btn-border-color: var(--lavr-primary);
    --bs-btn-hover-border-color: var(--lavr-primary);
    --bs-btn-active-border-color: var(--lavr-primary);
    --bs-btn-active-color: var(--lavr-primary);
    --bs-btn-active-bg: #D9D9D9;
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--lavr-primary);
    --bs-btn-disabled-border-color: var(--lavr-primary);
    position: relative;
    z-index: 1;
    overflow: hidden;
    transition: color .15s ease-in-out;
    transition-delay: 0s;
    --circle-1-bg: var(--lavr-white);
    --circle-2-bg: var(--lavr-lightblue);
}

.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(--lavr-primary);
    --bs-btn-bg: var(--lavr-white);
    --bs-btn-hover-color: var(--lavr-white);
    --bs-btn-hover-bg: var(--lavr-primary);
    --bs-btn-border-color: var(--lavr-white);
    --bs-btn-hover-border-color: var(--lavr-white);
    --bs-btn-active-border-color: var(--lavr-white);
    --bs-btn-active-color: var(--lavr-white);
    --bs-btn-active-bg: var(--lavr-primary);
    --bs-btn-disabled-color: var(--lavr-primary);
    --bs-btn-disabled-bg: var(--lavr-white);
    --bs-btn-disabled-border-color: var(--lavr-white);
    position: relative;
    z-index: 1;
    overflow: hidden;
    transition: color .15s ease-in-out;
    transition-delay: 0s;
    --circle-1-bg: var(--lavr-primary);
    --circle-2-bg: var(--lavr-lightblue);
}

.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);
}

.main-header {
    position: absolute;
    top: 0;
    z-index: 10;
    width: 100%;
}

.main-header .navbar {
    --bs-navbar-padding-y: 2rem;
    border-bottom: unset;
    --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: 700;
    --bs-nav-link-color: var(--lavr-primary);
    --bs-nav-link-hover-color: var(--lavr-white);
    --bs-nav-link-padding-y: 12px;
    --bs-nav-link-padding-x: 20px;
    gap: 24px;
    line-height: 22px;
}

.main-header .navbar-toggler {
}

.nav-item.nav-icon {
    --icon-size: 46px;
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.nav-item.nav-icon:before {
    content: "";
    position: absolute;
    display: block;
    left: 0;
    top: 50%;
    translate: 0 -50%;
    height: var(--icon-size);
    width: var(--icon-size);
    aspect-ratio: 1/1;
    z-index: -1;
    transition: .3s cubic-bezier(0.3, -0.6, 0.2, 1) width, .15s linear left;
    background: var(--elem-turquoise);
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: center;
}

.nav-item.nav-icon:hover:before {
    width: 150%;
    left: -25%;
    transition: .3s cubic-bezier(0.3, -0.6, 0.7, 1) width, .15s linear left .15s;

}

.nav-item.icon-green:before {
    background-image: var(--elem-green);
}

.nav-item.icon-lightblue:before {
    background-image: var(--elem-lightblue);
}

.nav-item.icon-yellow:before {
    background-image: var(--elem-yellow);
}

.nav-item.icon-orange:before {
    background-image: var(--elem-orange);
}

.nav-item.icon-pink:before {
    background-image: var(--elem-pink);
}

.header-phone-row {
    text-align: right;
    display: flex;
    flex-direction: column;
    justify-content: left;
    margin: 0 2rem 0 2rem;
}

.header-phone-row .phone {
    color: var(--lavr-primary);
    font-weight: 700;
    text-decoration: unset;
    font-size: 24px;
}

.header-phone-row .working-hours {
    color: var(--lavr-primary);
    font-size: 13px;
}

footer {
    background-color: var(--lavr-white);
    padding-top: var(--lavr-padding-1);
    font-size: 14px;
    margin-top: var(--lavr-padding-4);
}

footer hr {
    color: #E6E6E6;
    opacity: 1;
}

footer .small-info-title {
    font-weight: 700;
    font-size: 1.25rem;
    margin-top: .5rem;
    margin-bottom: 0.75rem;
}

footer .nav {
    --bs-nav-link-padding-x: 0;
    --bs-nav-link-padding-y: 0.25rem;
}

footer a {
    text-decoration: unset;
}

footer a.phone {
    font-size: var(--font-size-4);
    font-weight: 700;
}

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

.footer-logo {
    margin-bottom: 36px;
}

.footer-info-wrapper {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.footer-policy {
    padding: 24px 0;
    align-items: center;
}

.social-row {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.btn-social {
    padding: 3px;
    border-radius: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    --bs-btn-color: var(--lavr-white);
    --bs-btn-bg: var(--lavr-primary);
    --bs-btn-hover-color: var(--lavr-white);
    --bs-btn-hover-bg: var(--lavr-primary);
    --bs-btn-border-color: var(--lavr-primary);
    --bs-btn-hover-border-color: var(--lavr-primary);
    --bs-btn-active-border-color: var(--lavr-primary);
    --card-shadow: rgba(var(--bs-link-color-rgb), 0.5);
    --bs-btn-active-color: var(--lavr-white);
    --bs-btn-active-bg: var(--lavr-primary);
    --bs-btn-disabled-color: var(--lavr-white);
    --bs-btn-disabled-bg: var(--lavr-primary);
    --bs-btn-disabled-border-color: var(--lavr-primary);
}


.page-title {
    font-size: var(--font-size-1);
    font-weight: 700;
    line-height: 1;
    position: relative;
    z-index: 1;
    margin-bottom: 1rem;
}

#fp-intro {
    background-color: var(--lavr-white);
    padding-top: var(--lavr-padding-4);
    padding-bottom: var(--lavr-padding-3);
    position: relative;
    z-index: 1;
}

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

#fp-intro .bg {
    position: absolute;
    width: 85%;
    top: 0;
    right: 0;
    z-index: -1;
    user-select: none;
    pointer-events: none;
}

#fp-intro .family {
    position: absolute;
    width: 57%;
    bottom: -48px;
    right: 0;
    user-select: none;
    pointer-events: none;
}

#fp-intro .intro-text {
    max-width: 420px;
    z-index: 1;
    position: relative;
}

#fp-intro .page-title {
    margin-bottom: 20px;
}

#fp-intro .hashtag {
    font-size: 26px;
    font-weight: 400;
    margin-bottom: 24px;
}


.classes-list {
    padding-top: var(--lavr-padding-2);
    padding-bottom: var(--lavr-padding-4);
}

.classes-row {
    --bs-gutter-x: 16px;
    --bs-gutter-y: 16px;
}

.class-item {
    height: 220px;
    background: var(--lavr-white);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
    padding: 16px 24px;
    text-decoration: unset;
    z-index: 1;
    transition: .3s linear color, .4s linear background-color;
    transition-delay: 0.1s, 0s;
    border-radius: 4px;
    --hover-color: var(--lavr-primary);
    --hover-bg: var(--elem-green);
    --bg-size: 180px;
    --offset-x: 0;
    --offset-y: 0.5;
}

.class-item:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: var(--hover-bg);
    transition: .6s linear all;
    background-size: auto var(--bg-size), auto var(--bg-size);
    background-repeat: repeat, repeat-x;
}

.class-item.item-direction-bottom:before {
    left: 0;
    height: 150%;
    top: -150%;
    background-position: 0 100%, calc(var(--bg-size) * var(--offset-x)) calc(100% - calc(var(--bg-size) * var(--offset-y)));
}

.class-item.item-direction-bottom:hover:before {
    top: 150%;
}


.class-item.item-direction-top:before {
    left: 0;
    height: 150%;
    top: 150%;
    background-position: 0 0, calc(var(--bg-size) * var(--offset-x)) calc(var(--bg-size) * var(--offset-y));
}

.class-item.item-direction-top:hover:before {
    top: -150%;
}

.class-item.item-direction-right:before {
    left: -150%;
    width: 150%;
    top: 0;
    background-position: 100% 0, calc(100% - var(--bg-size) * var(--offset-x)) calc(var(--bg-size) * var(--offset-y));

}

.class-item.item-direction-right:hover:before {
    left: 150%;
}

.class-item.item-direction-left:before {
    left: 150%;
    width: 150%;
    top: 0;
    background-position: 0 0, calc(var(--bg-size) * var(--offset-x)) calc(var(--bg-size) * var(--offset-y));
}

.class-item.item-direction-left:hover:before {
    left: -150%;
}


.class-item:hover {
    color: var(--lavr-white) !important;
    background-color: var(--hover-color);
}

.class-item.item-bg-lightblue {
    --hover-color: var(--lavr-lightblue);
    --hover-bg: url('data:image/svg+xml,<svg width="600" height="599" viewBox="0 0 600 599" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 448.99L149.99 599L300 448.99V299H0V448.99Z" fill="%23AADDF9"/><path d="M300 298.99L449.99 449L600 298.99V149H300V298.99Z" fill="%23AADDF9"/></svg>'), url('data:image/svg+xml,<svg width="600" height="599" viewBox="0 0 600 599" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 448.99L149.99 599L300 448.99V299H0V448.99Z" fill="%23AADDF9"/><path d="M300 298.99L449.99 449L600 298.99V149H300V298.99Z" fill="%23AADDF9"/></svg>');
}

.class-item.item-bg-green {
    --hover-color: var(--lavr-green);
    --hover-bg: url('data:image/svg+xml,<svg width="600" height="550" viewBox="0 0 600 550" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_2079_8088)"><path d="M0 499.997V250L149.99 300.003L300 250V499.997L149.99 550L0 499.997Z" fill="%23BBD151"/><path d="M300 249.997V0L449.99 50.0035L600 0V249.997L449.99 300L300 249.997Z" fill="%23BBD151"/></g><defs><clipPath id="clip0_2079_8088"><rect width="600" height="550" fill="white"/></clipPath></defs></svg>');
}

.class-item.item-bg-yellow {
    --hover-color: var(--lavr-yellow);
    --bg-size: 110px !important;
    --hover-bg: url('data:image/svg+xml,<svg width="301" height="315" viewBox="0 0 301 315" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M256.684 43.9226L150.616 0L44.5498 43.9226L0.605469 149.99L44.5498 256.056L150.616 300L256.684 256.056L300.605 149.99L256.684 43.9226Z" fill="%23E4E038"/></svg>');
}

.class-item.item-bg-orange {
    --hover-color: var(--lavr-orange);
    --hover-bg: url('data:image/svg+xml,<svg width="600" height="599" viewBox="0 0 600 599" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 599H300V449.01L149.99 299L0 449.01V599Z" fill="%23FCC959"/><path d="M300 449H600V299.01L449.99 149L300 299.01V449Z" fill="%23FCC959"/></svg>'),
    url('data:image/svg+xml,<svg width="600" height="599" viewBox="0 0 600 599" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 599H300V449.01L149.99 299L0 449.01V599Z" fill="%23FCC959"/><path d="M300 449H600V299.01L449.99 149L300 299.01V449Z" fill="%23FCC959"/></svg>');
}

.class-item.item-bg-pink {
    --hover-color: var(--lavr-pink);
    --offset-x: 0.58;
    --bg-size: 140px;
    --hover-bg: url('data:image/svg+xml,<svg width="484" height="416" viewBox="0 0 484 416" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 266.01L150.01 416L300 266.01V116H200.015L150.01 166.003L100.008 116H0V266.01Z" fill="%23F4AACC"/></svg>'),
    url('data:image/svg+xml,<svg width="484" height="416" viewBox="0 0 484 416" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 266.01L150.01 416L300 266.01V116H200.015L150.01 166.003L100.008 116H0V266.01Z" fill="%23F4AACC"/></svg>');
}

.class-item.item-bg-turquoise {
    --hover-color: var(--lavr-turquoise);
    --bg-size: 130px;
    --offset-x: 0.5;
    --offset-y: 0;
    --hover-bg: url('data:image/svg+xml,<svg width="600" height="600" viewBox="0 0 600 600" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_2101_8154)"><path d="M0 600V300H149.99L300 450.01L149.99 600H0Z" fill="%2390CEC5"/><path d="M300 300V0H449.99L600 150.01L449.99 300H300Z" fill="%2390CEC5"/></g><defs><clipPath id="clip0_2101_8154"><rect width="600" height="600" fill="white"/></clipPath></defs></svg>');
}

.class-item:hover .title,
.class-item:hover .number {
    color: var(--lavr-white) !important;
}

.class-item:hover .link-icon {
    fill: var(--lavr-white) !important;
}

.class-item .number {
    color: #828282;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    transition: .3s linear color;
}

.class-item .title {
    font-size: var(--font-size-4);
    font-weight: 600;
    width: 100%;
    transition: .3s linear color;
    padding-right: 2.5rem;
    z-index: 3;
}

.class-item .link-icon {
    position: absolute;
    width: 14px;
    height: 14px;
    right: 24px;
    bottom: 20px;
    fill: var(--lavr-primary);
    transition: .3s linear fill;
}

.gallery-wrapper {
    position: relative;
}

.promo-slider-container {
    background-color: var(--lavr-primary);
    color: var(--lavr-white);
    padding-top: var(--lavr-padding-2);
    padding-bottom: var(--lavr-padding-1);
}

.promo-slider-container .tns-controls button {
    height: 12px;
    width: 42px;
    position: absolute;
    bottom: 0;
    border: 0;
}

.promo-slider-container .tns-controls button[data-controls="prev"] {
    background: url('data:image/svg+xml,<svg width="42" height="12" viewBox="0 0 42 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M41.3301 5.76172L1.45135 5.76172" stroke="white" stroke-width="2" stroke-miterlimit="10"/><path d="M5.89004 3.33786e-05L6.80542 1.03319L1.96466 5.76174L6.80542 10.4903L5.89004 11.5234L6.19888e-06 5.76174L5.89004 3.33786e-05Z" fill="white"/></svg>');
    left: 0;
}

.promo-slider-container .tns-controls button[data-controls="next"] {
    background: url('data:image/svg+xml,<svg width="42" height="12" viewBox="0 0 42 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 5.76172H39.8787" stroke="white" stroke-width="2" stroke-miterlimit="10"/><path d="M35.44 11.5234L34.5247 10.4902L39.3654 5.7617L34.5247 1.03316L35.44 0L41.3301 5.7617L35.44 11.5234Z" fill="white"/></svg>');
    right: 0;
}

.promo-slider-container .tns-nav {
    width: 100%;
    display: flex;
    margin-top: 36px;
    padding: 5px 50px;
    height: 12px;
}

.promo-slider-container .tns-nav button {
    flex-grow: 1;
    background-color: var(--lavr-white);
    height: 2px;
    border: 0;
    transition: .15s linear height, .15s linear background-color;
}

.promo-slider-container .tns-nav button:hover {
    background-color: var(--lavr-lightblue);
}

.promo-slider-container .tns-nav button.tns-nav-active {
    background-color: var(--lavr-white);
    height: 4px;
}

.promo-gallery__item {
    display: grid;
    grid-template-columns: auto 42%;
    height: 100%;
    gap: 36px;
}

.promo-gallery__item .text-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    align-items: start;
}

.promo-gallery__item .subtitle {
    line-height: 1.5;
    margin-bottom: 16px;
}

.promo-gallery__item .title {
    font-size: var(--font-size-1);
    font-weight: 700;
    margin-bottom: 10px;
    margin-top: auto;
}

.promo-gallery__item .description {
    line-height: 1.5;
    margin-bottom: 1.25rem;
    max-width: 500px;
}

.promo-gallery__item .btn {
}

.promo-gallery__item .image {
    width: 100%;
    padding-top: 100%;
    flex-shrink: 0;
    position: relative;
}

.promo-gallery__item .image img {
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.ticker {
    display: flex;
    flex-wrap: nowrap;
    overflow: hidden;
    --ticker-duration: 80s;
    --ticker-gap: 80s;
}

.ticker__row {
    animation: ticker var(--ticker-duration) infinite linear;
    pointer-events: none;
    user-select: none;
    display: flex;
    gap: var(--ticker-gap);
    align-items: center;
    transform: translateX(0);
    flex-shrink: 0;
}

.ticker__row > * {
    display: flex;
    flex-shrink: 0;
}

.ticker__row > *:last-child {
    margin-right: var(--ticker-gap);
}

.ticker.reverse .ticker__row {
    animation-direction: reverse;
}

@-moz-keyframes ticker {
    0% {
        transform: translateX(0%);
    }
    100% {
        transform: translateX(-100%);
    }
}

@-webkit-keyframes ticker {
    0% {
        transform: translateX(0%);
    }
    100% {
        transform: translateX(-100%);
    }
}

@keyframes ticker {
    0% {
        transform: translateX(0%);
    }
    100% {
        transform: translateX(-100%);
    }
}

.fp-ticker {
    margin-top: var(--lavr-padding-4);
}

.ticker-team {
    --ticker-gap: 68px;
}

.ticker-team .item {
    font-size: 120px;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
    color: #E2E1E8;
    flex-shrink: 0;
}


.page-header {
    --icon-size: 128px;
    padding-top: 92px;
    padding-bottom: 80px;
    padding-left: calc(var(--icon-size) * 0.5);
}

.page-title-icon {
    margin-bottom: 0;
}

.page-title .icon, .title .icon {
    position: absolute;
    left: 0;
    top: 50%;
    translate: -50% -50%;
    z-index: -1;
    width: var(--icon-size);
    height: var(--icon-size);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.icon.icon-green {
    background-image: var(--elem-green);
}

.icon.icon-lightblue {
    background-image: var(--elem-lightblue);
}

.icon.icon-orange {
    background-image: var(--elem-orange);
}

.icon.icon-pink {
    background-image: var(--elem-pink);
}

.icon.icon-yellow {
    background-image: var(--elem-yellow);
}

.icon.icon-turquoise {
    background-image: var(--elem-turquoise);
}

.row-news {
    --bs-gutter-x: 0;
    --bs-gutter-y: 2.25rem;
}

.row-news .new-post {
    border-top: 2px solid var(--lavr-primary);
    display: flex;
    flex-direction: column;
}

.card-news {
    text-decoration: unset;
    display: flex;
    flex-direction: column;
    border-right: 2px solid var(--lavr-primary);
    margin-top: 25px;
    padding: 20px 54px;
    flex-grow: 1;
}

.new-post:nth-child(3n) .card-news {
    border-right: unset;
}


.card-news .card-meta-row {
    padding-bottom: 1rem;
}

.card-news .card-meta {
    font-size: 12px;
    margin-bottom: 0;
}

.card-news .card-title {
    font-size: var(--font-size-4);
    font-weight: 600;
    margin-top: 1rem;
    margin-bottom: 0;
}

.card-news .card-photo img {
    object-fit: cover;
    object-position: center;
}

.screen-reader-text {
    display: none;
}

.row-pagination {
    margin-top: 2.25rem;
}

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

.row-pagination .nav-links {
    margin: 1rem auto 0;
    display: flex;
    gap: .5rem;
}

.row-pagination .nav-links .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    flex-shrink: 0;
    text-decoration: unset;
    line-height: 1;
    background-color: var(--lavr-white);
}

.row-pagination .nav-links a.page-numbers:hover {
    background-color: var(--lavr-primary);
    color: var(--lavr-white) !important;
}

.row-pagination .nav-links .page-numbers.current {
    font-weight: bold;
    user-select: none;
    pointer-events: none;
}

.more-news {
    margin-top: 120px
}

.more-news .more-news-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 48px;
    padding-bottom: 82px;
    --icon-size: 128px;
    padding-left: calc(var(--icon-size) * 0.5);
}

.more-news .more-news-header .title {
    position: relative;
    font-weight: 700;
    font-size: var(--font-size-2);
    margin-bottom: 0;
    line-height: 1;
}

.more-news .new-post {
    padding-bottom: 25px;
    border-bottom: 2px solid var(--lavr-primary);
}

.news-title-row {
    margin-top: 3.5rem;
    margin-bottom: 2.5rem;
    display: flex;
    align-items: baseline;
}

.news-title {
    font-size: var(--font-size-4);
    margin-bottom: 0;
    line-height: 1;
}

.news-content {
    padding: 24px 26px;
    border-radius: 4px;
    height: 100%;
    background-color: var(--lavr-white);
}

.news-content *:last-child {
    margin-bottom: 0;
}

.post_thumbnail img {
    object-position: top center;
    object-fit: contain;
    width: 100%;
    height: auto;
    max-height: 80vh;
}

.news-category-link {
    text-decoration: unset;
    opacity: 0.3;
    font-weight: 600;
}

.class-header {
    margin-top: var(--lavr-padding-3);
}

.class-header .hashtag {
    font-size: 26px;
    font-weight: 400;
    margin-top: 1rem;
}

.class-header .content {
    max-width: 600px;
}

.class-header .btn {
    margin-top: 36px;
}

.class-header .icon {
    width: calc(89% - var(--bs-gutter-x));
    padding-top: calc(89% - var(--bs-gutter-x));
    max-width: 370px;
    max-height: 370px;
    background-size: contain;
    background-position: top center;
    background-repeat: no-repeat;
    position: absolute;
    z-index: -1;
    top: 0;
}

.class-header .class-header-img {
    width: 89%;
    max-width: 370px;
    height: auto;
    margin-top: 0;

}

.spacing-x-small-half {
    margin-top: var(--lavr-padding-2);
}

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

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


.block-section .title {
    position: relative;
    padding-left: calc(var(--icon-size) * 0.5);
    font-size: var(--font-size-1);
    line-height: 1;
    font-weight: 700;
    z-index: 1;
    margin-top: 28px;
    margin-bottom: 28px;
}

.block-section .title .icon {
    z-index: -1;
    width: var(--icon-size);
    height: var(--icon-size);
    position: absolute;
    left: 0;
    top: -28px;
    translate: 0;
}

.block-section .description {
    margin-top: 0;
    padding-left: var(--icon-size);
}

.block-section .block-border-right {
    border-right: 1px solid;
}

.block-section .row-table {
    text-align: center;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    line-height: 1.5;
    --bs-gutter-x: 0px;
    border-bottom: 1px solid var(--lavr-primary);
    margin-left: 2rem;
}

.block-section .row-table-header {
    margin-bottom: 12px;
    padding-bottom: 0;
    border-bottom: 0;
}

.block-section .row-table:last-child {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0;
}

.block-section .row-table > div {
    padding: 8px 8px;
}


.block-section .row-table.bg-blue div {
    background-color: var(--lavr-primary);
    color: var(--lavr-white);
}

.block-section .row-table .table-header {
    background-color: var(--lavr-white);
    padding: 8px;
    font-weight: 600;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}


.about-intro {
    padding-top: var(--lavr-padding-2);
    padding-bottom: var(--lavr-padding-2);
}

.about-ticker {
    position: relative;
    overflow: hidden;
    padding-top: var(--lavr-padding-1);
    padding-bottom: var(--lavr-padding-1);
    display: flex;
    flex-direction: column;
    gap: 42px;
}

.about-ticker:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 60%;
    height: 1px;
    background-color: var(--lavr-primary);
}

.about-ticker:after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 60%;
    height: 1px;
    background-color: var(--lavr-primary);
}

.about-facts {
    margin-top: var(--lavr-padding-3);
}

.ticker-about {
    --ticker-gap: 54px;
}

.ticker-about .item-primary {
    color: #35276A;
    font-size: var(--font-size-2);
    line-height: 1;
    font-weight: 600;
    padding: 14px 42px;
    border: 1px solid var(--lavr-primary);
}

.ticker-about .item-secondary {
    color: #35276A;
    font-size: var(--font-size-2);
    line-height: 1;
    font-weight: 300;
    opacity: .5;
}

.facts-row {
    display: grid;
    gap: 32px 36px;
    grid-template-columns: 1fr 1fr;
}

.facts-row .fact {
    background-color: var(--lavr-white);
    height: 295px;
    position: relative;
    padding: 24px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.facts-row .fact.fact-green {
    background-image: url('data:image/svg+xml,<svg width="412" height="294" viewBox="0 0 412 294" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M207.714 405.286V232.188L311.571 266.812L415.428 232.188V405.286L311.571 439.903L207.714 405.286Z" fill="%23BBD151"/><path d="M0 232.188V59.0972L103.857 93.7141L207.714 59.0972V232.188L103.857 266.811L0 232.188Z" fill="%23BBD151"/><path d="M207.714 59.0974V-114L311.571 -79.3832L415.428 -114V59.0974L311.571 93.7143L207.714 59.0974Z" fill="%23BBD151"/></svg>');
}

.facts-row .fact.fact-orange {
    background-image: url('data:image/svg+xml,<svg width="412" height="294" viewBox="0 0 412 294" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M-20 431.19H225.27V308.55L102.63 185.91L-20 308.55V431.19Z" fill="%23F1BD59"/><path d="M-20 185.91H225.27V63.27L102.63 -59.3701L-20 63.27V185.91Z" fill="%23F1BD59"/><path d="M225.27 308.55H470.55V185.91L347.91 63.27L225.27 185.91V308.55Z" fill="%23F1BD59"/><path d="M225.27 63.27H470.55V-59.3701L347.91 -182L225.27 -59.3701V63.27Z" fill="%23F1BD59"/></svg>');
}

.facts-row .fact.fact-pink {
    background-image: url('data:image/svg+xml,<svg width="412" height="294" viewBox="0 0 412 294" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M-94 281.7L29.9004 405.59L153.79 281.7V157.8H71.2002L29.9004 199.1L-11.4004 157.8H-94V281.7Z" fill="%23F4AACC"/><path d="M29.9102 33.8999L153.81 157.8L277.71 33.8999V-90H195.11L153.81 -48.7002L112.51 -90H29.9102V33.8999Z" fill="%23F4AACC"/><path d="M215.771 218.5L339.67 342.4L463.57 218.5V94.6099H380.97L339.67 135.9L298.37 94.6099H215.771V218.5Z" fill="%23F4AACC"/></svg>');
}

.facts-row .fact.fact-lightblue {
    background-image: url('data:image/svg+xml,<svg width="412" height="294" viewBox="0 0 412 294" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M-44 82.8889L38.8889 165.778L121.778 82.8889V0H-44V82.8889Z" fill="%23AADDF9"/><path d="M121.777 165.778L204.666 248.666L287.555 165.778V82.8887H121.777V165.778Z" fill="%23AADDF9"/><path d="M287.556 82.8889L370.445 165.778L453.333 82.8889V0H287.556V82.8889Z" fill="%23AADDF9"/><path d="M-44 248.667L38.8889 331.556L121.778 248.667V165.778H-44V248.667Z" fill="%23AADDF9"/><path d="M121.777 331.555L204.666 414.444L287.555 331.555V248.667H121.777V331.555Z" fill="%23AADDF9"/><path d="M287.556 248.667L370.445 331.556L453.333 248.667V165.778H287.556V248.667Z" fill="%23AADDF9"/></svg>');
}

.facts-row .fact .title {
    font-size: 96px;
    padding-left: 0;
    font-weight: 700;
    margin: 0;
    position: absolute;
    line-height: .8;
}

.facts-row .fact .subtitle {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.25;
    position: absolute;
}

.facts-row .fact.fact-green .title,
.facts-row .fact.fact-orange .subtitle {
    top: 24px;
    left: 24px;
}

.facts-row .fact.fact-green .subtitle,
.facts-row .fact.fact-orange .title {
    right: 24px;
    bottom: 24px;
}


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

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

.row-team {
    --bs-gutter-x: 0;
    --bs-gutter-y: 2.25rem;
}

.team-item {
    position: relative;
    text-decoration: unset;
    overflow: hidden;
    padding-bottom: 40px;
    display: block;
    padding-left: 16px;
    padding-right: 16px;
}

.team-item .photo, .team-member-photo {
    padding-top: 100%;
    clip-path: polygon(0% 0%, 100% 0%, 100% 50%, 50% 100%, 0% 50%);
    overflow: hidden;
    background-color: var(--lavr-white);
    transition: .3s linear background-color;
    position: relative;
}

.team-item:hover .photo {
    background-color: var(--lavr-lightblue);
}

.team-item .photo img,
.team-member-photo img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    top: 0;
}

.team-item .post {
    text-align: left;
    font-size: 13px;
    font-weight: 400;
    position: absolute;
    left: 52%;
    bottom: 0;
    width: 60%;
    transform: rotate(-45deg);
    transform-origin: top left;
    line-height: 1;

}

.team-item .name {
    text-align: right;
    font-size: 13px;
    font-weight: 700;
    position: absolute;
    right: 52%;
    bottom: 0;
    width: 60%;
    transform: rotate(45deg);
    transform-origin: top right;
    line-height: 1;
}

.team-member-title {
    font-size: var(--font-size-2);
    line-height: 1;
    font-weight: 700;
    margin-bottom: 8px;
}

.team-member-post {
    font-size: var(--font-size-4);
    font-weight: 400;
    margin-bottom: 16px;

}

.row-reviews {
    --bs-gutter-x: 30px;
    --bs-gutter-y: 30px;
}

.review-item {
    background-color: var(--lavr-white);
    position: relative;
}

.review-item.review-text {
    padding: 25px 20px 25px 35px;
    display: flex;
    flex-direction: column;
}

.review-item.review-inline .class-title-wrapper {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 1;
    padding-left: 35px;
    padding-top: 25px;
    padding-bottom: 20px;
    background-color: #ffffffcc;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.class-title {
    display: block;
    text-decoration: unset;
    font-size: 16px;
    font-weight: 700;
    line-height: 30px;
    position: relative;
    padding-left: 15px;
    z-index: 1;
}

.class-title .icon {
    display: block;
    width: 30px;
    height: 30px;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.review-item .text {
    margin-top: 20px;
    margin-bottom: 20px;
    font-weight: 400;
    line-height: 1.5;
    color: #2B2A29;
}

.review-item .author {
    text-align: end;
    color: #828282;
}

.review-item .source {
    text-align: end;
    text-decoration: unset;
}


.btn-close {
    --bs-btn-close-color: #FFF;
    --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FFF'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
    --bs-btn-close-opacity: 0.5;
    --bs-btn-close-hover-opacity: 0.75;
    --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
    --bs-btn-close-focus-opacity: 1;
    --bs-btn-close-disabled-opacity: 0.25;
    --bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);
    box-sizing: content-box;
    width: 1em;
    height: 1em;
    padding: .25em .25em;
    color: var(--bs-btn-close-color);
    background: #fff0 var(--bs-btn-close-bg) center/1em auto no-repeat;
    border: 0;
    border-radius: .375rem;
    opacity: var(--bs-btn-close-opacity)
}

.modal-header .btn-close {
    width: unset;
    height: 24px;
    color: var(--bs-btn-close-color);
    background: #fff0 var(--bs-btn-close-bg) left/1.5rem auto no-repeat;
    border: 0;
    border-radius: 0;
    box-sizing: content-box !important;
    opacity: 1;
    padding: .25em .25em .25em 2.375rem;
    font-weight: 400;
    text-transform: lowercase;
}


.modal-form {
    background-color: var(--lavr-primary);
    color: var(--lavr-white);
    border-radius: 4px;
}

.modal-title {
    font-size: 24px;
    font-weight: 400;
    line-height: 24px;
}

.modal {
    --bs-modal-padding: 0 56px 56px 56px;
    --bs-modal-margin: 0.5rem;
    --bs-modal-bg: var(--lavr-primary);
    --bs-modal-border-width: 0;
    --bs-modal-border-radius: 0;
    --bs-modal-inner-border-radius: 0;
    --bs-modal-header-padding-x: 56px;
    --bs-modal-header-padding-y: 36px;
    --bs-modal-header-padding: 36px 56px 36px 56px;
    --bs-modal-header-border-width: 0;
    --bs-modal-title-line-height: 1.5;
}

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

.form-control {
    border: 0;
    border-radius: 4px;
    padding: 0.75rem .75rem;
}

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


.btn-social-group {
    display: flex;
    gap: 16px;
    align-items: center;
    z-index: 2;
}

.btn-social-group .form-floating {
    flex-grow: 1;
}

.btn-social-group .btn-social {
    --bs-btn-bg: var(--lavr-white);
    background-color: var(--lavr-white);
    position: relative;
    padding: 0;
    width: 48px;
    height: 48px;
    border: none;
    flex-shrink: 0;
    border-radius: 4px;
}

.btn-social-group .btn-social img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.btn-check:checked + .btn-social {
    border: none;
    background-color: var(--lavr-lightblue);
}

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

.row-submit {
    position: relative;
}

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

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

.wpcf7-acceptance {
    color: white;
}

.wpcf7-acceptance .form-check-input[type=checkbox] {
    border-color: var(--lavr-white);
    background-color: transparent;
    margin-top: 0;
    width: 1rem;
    height: 1rem;
    border-radius: 0;
}

.wpcf7-acceptance .form-check-input[type=checkbox]:checked {
    border-color: var(--lavr-white);
}

.link-secondary {
    color: white;
}

.link-secondary:focus, .link-secondary:hover {
    color: white;
}

.wpcf7-acceptance label {
    display: flex;
    gap: 1rem;
}

section.hello {
    height: 700px;
}

.hello-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
    justify-content: end;
}

.hello-bg {
    position: absolute;
    bottom: 0;
    left: 50%;
    translate: -50% 0;
    z-index: -1;
    width: 61.5%;
}

.lavrik-hello {
    position: absolute;
    bottom: 0;
    left: 53%;
    translate: -50% 0;
    z-index: 2;
    width: 36.4%;
    height: auto;
}

.hello-title {
    margin-bottom: auto;
    margin-top: 160px;
}

.hello-text__headline {
    font-size: var(--font-headline-1);
    color: var(--lavr-grey);
    text-transform: uppercase;
    font-weight: bold;
    line-height: 1.1;
}

.hello-text__name {
    font-size: var(--font-headline-2);
    color: var(--lavr-primary);
    text-transform: uppercase;
    font-weight: 900;
    line-height: 1.1;
}

.tooltip-qr {
    background-color: var(--lavr-primary);
    color: var(--lavr-white);
    font-weight: bold;
    padding: 15px 40px;
    line-height: 1.5;
}

.hello-row {
    z-index: 3;
    align-items: end;
    padding-bottom: 40px;
    display: flex;
    justify-content: space-between;
}

.hello-row .col-right {
    display: flex;
    width: 343px;
    flex-direction: column;
}

.hello-text__small {
    position: relative;
    width: 245px;
}

.hello-text__small.line-top:before {
    position: absolute;
    content: "";
    width: 100px;
    height: 2px;
    display: block;
    top: -20px;
    left: 0;
    background-color: var(--lavr-primary);
}

.block-section.quote {
    padding-top: 50px;
    padding-bottom: 100px;
}

.quote-tooltip {
    position: relative;
    margin-bottom: 12px;
}

.quote-tooltip__bg{
    position: relative;
    z-index: -1;
}

.quote-tooltip__text {
    position: absolute;
    color: var(--lavr-white);
    font-weight: 500;
    font-size: var(--font-size-4);
    top: 36%;
    left: 15%;
    right: 14%;
    text-align: center;
}

.quote-find {
    font-size: var(--font-size-3);
    font-weight: bold;
    line-height: 1.2;
}

.quote .btn-row {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 40px;
}


.belief {
    background-color: var(--lavr-white);
    margin-top: 100px;
    padding-top: 77px;
    padding-bottom: 77px;
}

.hl {
    position: relative;
}

.hl:before {
    content: '';
    position: absolute;
    border-radius: 4px;
    height: 117%;
    width: 102%;
    left: -1%;
    top: 3%;
    z-index: -1;
}

.hl.item-bg-green:before {
    background-color: var(--lavr-green);
}

.hl.item-bg-turquoise:before {
    background-color: var(--lavr-turquoise);
}

.hl.item-bg-pink:before {
    background-color: var(--lavr-pink);
}

.hl.item-bg-lightblue:before {
    background-color: var(--lavr-lightblue);
}

.hl.item-bg-orange:before {
    background-color: var(--lavr-orange);
}

.hl.rotate1:before{
    rotate: -1.56deg;
}
.hl.rotate2:before{
    rotate: -1.86deg;
}
.hl.rotate3:before{
    rotate: 2.68deg;
}
.hl.rotate4:before{
    rotate: 0.2deg;
}

.quote-find .hl:before {
    top: 10%;
    height: 100%;
    left: -3%;
    width: 102%;
}

.quote-find .hl.rotate1:before {
    width: 120%;
    left: -13%;
    top: 0;
}



@media (max-width: 1399.98px) {

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

@media (max-width: 1199.98px) {

    :root {
        --lavr-padding-4: 100px;
        --lavr-padding-3: 80px;
        --lavr-padding-2: 60px;
        --lavr-padding-1: 40px;
    }

    .btn {
        --bs-btn-padding-x: 1.75rem;
        --bs-btn-padding-y: 6px;
    }


    .custom-logo {
        height: 36px;
    }

    .main-header .navbar-nav {
        --bs-nav-link-padding-y: 8px;
        gap: 10px;
    }

    .main-header .navbar {
        --bs-navbar-nav-link-padding-x: 16px;
    }

    .nav-item.nav-icon {
        --icon-size: 36px;
    }


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

    .class-item .title {
        font-size: 20px;
    }

    .class-item {
        height: 160px;
        padding: 16px 20px;
    }


    .ticker-team {
        --ticker-gap: 52px;
    }

    .ticker-team .item {
        font-size: 100px;
    }


    .footer-info-wrapper {
        gap: 20px;
    }


    .footer-policy {
        padding: 20px 0;
    }

    .new-post .card-news, .new-post:nth-child(3n) .card-news {
        border-right: 2px solid var(--lavr-primary);
    }

    .new-post:nth-child(2n) .card-news {
        border-right: unset;
    }

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

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

    .more-news .more-news-header {
        --icon-size: 96px;
        padding-top: 36px;
        padding-bottom: 64px;
    }

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

    .header-phone-row {
        margin: 0 1rem 0 0;
    }
}

@media (max-width: 991.98px) {

    :root {
        --lavr-padding-4: 100px;
        --lavr-padding-3: 70px;
        --lavr-padding-2: 50px;
    }

    #primary-menu {
        margin-top: 16px;
        margin-bottom: 16px;
    }


    .footer-logo {
        margin-bottom: 24px;
    }

    .footer-info-wrapper {
        display: grid;
        grid-template-columns: 1fr 1fr;
        margin-bottom: 20px;
    }

    .class-item {
        height: 140px;
        padding: 12px 12px;
    }

    .class-item .title {
        font-size: 18px;
    }

    .class-item .link-icon {
        right: 12px;
        top: 12px;
        bottom: unset;
    }

    .class-item .number {
        right: 14px;
        top: 16px;
        bottom: unset;
        width: 12px;
        height: 12px;
    }


    .ticker-team .item {
        font-size: 80px;
    }


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

    .about-ticker {
        gap: 24px;
    }

    .ticker-about {
        --ticker-gap: 42px;
    }

    .ticker-about .item-primary {
        font-size: 30px;
        padding: 12px 36px;
    }

    .ticker-about .item-secondary {
        font-size: 30px;
    }

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

    .facts-row .fact .title {
        font-size: 72px;
    }

    .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;
    }

    .row-news {
        --bs-gutter-y: 2rem;
    }

    .card-news {
        margin-top: 20px;
        padding: 16px 32px;
    }
}

@media (max-width: 767.98px) {

    :root {
        --lavr-padding-4: 64px;
        --lavr-padding-3: 40px;
        --lavr-padding-2: 32px;
        --lavr-padding-1: 24px;
    }

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

    .promo-gallery__item {
        display: grid;
        grid-template-columns: 100%;
        grid-template-rows: auto auto;
        height: 100%;
        gap: 32px;
    }

    .ticker-team {
        --ticker-gap: 32px;
    }

    .ticker-team .item {
        font-size: 64px;
    }

    footer .small-info-title {
        font-size: 1rem;
        margin-top: 1.5rem;
        margin-bottom: .5rem;
    }

    footer .nav {
        line-height: 1.3;
    }

    .footer-menu {
        padding-top: 24px;
        padding-bottom: 24px;
    }

    .btn-ask, .class-header .btn {
        width: 100%;
    }

    .social-row {
        justify-content: end;
    }

    .footer-policy {
        --bs-gutter-y: 1rem;
    }

    .footer-info-wrapper {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    #fp-intro .family {
        width: 50%;
        bottom: 32px;
    }

    .page-header {
        --icon-size: 72px;
    }

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

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

    .about-ticker {
        gap: 20px;
    }

    .ticker-about {
        --ticker-gap: 24px;
    }

    .ticker-about .item-primary {
        font-size: 20px;
        padding: 8px 20px;
    }

    .ticker-about .item-secondary {
        font-size: 20px;
    }

    .facts-row .fact .title {
        font-size: 54px;
    }

    .about-facts .row {
        --bs-gutter-y: 24px;
    }

    .new-post .card-news, .new-post:nth-child(3n) .card-news {
        border-right: unset;
    }

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

    .news-title-row {
        margin-top: 1.5rem;
        margin-bottom: 2rem;
    }

    .more-news {
        margin-top: 40px;
    }

    .more-news .new-post {
        padding-bottom: 20px;
        border-bottom: unset;
    }

    .row-reviews {
        --bs-gutter-x: 24px;
        --bs-gutter-y: 24px;
    }

    .facts-row {
        gap: 16px;
        grid-template-columns: 1fr;
    }

    .block-section .block-border-right {
        border-right: 0;
    }

    .block-section .row-table {
        margin-left: 0;
    }

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

    .class-header .page-title {
        text-align: center;
        margin-bottom: 1rem;
        margin-top: 1rem;
    }
}

@media (max-width: 575.98px) {

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

    #fp-intro .hashtag {
        font-size: 22px;
    }

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

    #fp-intro .bg {
        top: unset;
        bottom: 0;
        right: calc(var(--bs-gutter-x) * .5);
    }


    #fp-intro .family {
        position: relative;
        bottom: 0;
        margin-left: auto;
        left: 43%;
        margin-top: 54px;
    }

    .ticker-team .item {
        font-size: 42px;
    }

    .review-item.review-text {
        padding: 25px 20px 20px 20px;
    }

    .review-item .author, .review-item .source {
        font-size: 13px;
    }

    .review-item .text {
        margin-top: 16px;
        margin-bottom: 16px;
        line-height: 1.4;
    }

    .classes-row {
        --bs-gutter-x: 12px;
        --bs-gutter-y: 12px;
    }

    .class-item .title {
        padding-right: 0;
    }

    .card-news {
        margin-top: 20px;
        padding: 0 0;
    }

    .news-content {
        padding: 16px 8px;
        border-radius: 4px;
    }

    .news-title-row {
        flex-wrap: wrap;
    }

    h1.news-title {
        width: 100%
    }

    .more-news .more-news-header {
        --icon-size: 72px;
        padding-top: 30px;
        padding-bottom: 30px;
        position: relative;
        margin-bottom: 1rem;
    }

    .more-news .more-news-header .title {
        font-size: 30px;
    }

    .more-news .more-news-header .category-link {
        display: none;
    }

    .card-news .card-title {
        font-size: 20px;
    }

    .row-team {
        justify-content: center;
    }

    .team-item .post, .team-item .name {
        line-height: 1.15;
    }

    .team-member-title {
        font-size: 30px;
        text-align: center;
    }

    .team-member-post {
        font-size: 20px;
        text-align: center;
        line-height: 1.4;
    }

    .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;
    }


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

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

    .header-phone-row .working-hours {
        font-size: 12px;
    }
}

@media (max-width: 350px) {

}