@import url("https://use.typekit.net/zka6vgr.css");

:root {
    --tb-breakpoint-large: 1920px;
    --tb-breakpoint-medium: 1200px;
    --tb-breakpoint-small: 768px;
}

:root {
    --tb-menu-height: 146px;
}

:root {
    --tb-banner-width: var(--tb-breakpoint-large);
}

:root {
    --tb-panel-outer: calc((var(--tb-breakpoint-large) - var(--tb-breakpoint-medium)) / 2);
    --tb-panel-46-max-width: calc(var(--tb-breakpoint-large) * 0.46 - var(--tb-panel-outer));
    --tb-panel-50-max-width: calc(var(--tb-breakpoint-large) * 0.5 - var(--tb-panel-outer));
    --tb-panel-54-max-width: calc(var(--tb-breakpoint-large) * 0.54 - var(--tb-panel-outer));
}

:root {
    --tb-color-white: #ffffff;
    --tb-color-black: #000000;

    --tb-color-yellow-100: #f9f9f5;
    --tb-color-yellow-200: #efeee5;
    --tb-color-yellow-300: #e0dece;
    --tb-color-yellow-500: #dbc602;
    --tb-color-yellow-700: #77713f;
    --tb-color-yellow-800: #4c4300;
    --tb-color-yellow-900: #282400;

    --tb-color-green-100: #f5faf7;
    --tb-color-green-200: #e7f2ec;
    --tb-color-green-300: #cfe5d9;
    --tb-color-green-500: #00df82;
    --tb-color-green-700: #407f62;
    --tb-color-green-800: #004c24;
    --tb-color-green-900: #002d17;

    --tb-color-blue-100: #f5f8f9;
    --tb-color-blue-200: #cedee1;
    --tb-color-blue-500: #00a4dd;
    --tb-color-blue-700: #406f7c;
    --tb-color-blue-800: #003e4c;
    --tb-color-blue-850: #003642;
    --tb-color-blue-900: #00222b;

    --tb-color-orange-100: #e1d6cf;
    --tb-color-orange-500: #dd6401;
    --tb-color-orange-700: #7a5940;
    --tb-color-orange-800: #491d00;
    --tb-color-orange-900: #2b1200;

    --tb-color-red-500: #ff0000;
}

:root {
    --tb-radius-20: 20px;
    --tb-radius-33: 33px;
    --tb-radius-75: 75px;
}

:root {
    --tb-transition-duration-slow: 0.5s ease;
    --tb-transition-duration-medium: 0.3s ease;
    --tb-transition-duration-fast: 0.2s ease;
}

:root {
    --tb-spacing-5: 5px;
    --tb-spacing-10: 10px;
    --tb-spacing-14: 14px;
    --tb-spacing-20: 20px;
    --tb-spacing-30: 30px;
    --tb-spacing-40: 40px;
    --tb-spacing-50: 50px;
    --tb-spacing-60: 60px;
    --tb-spacing-80: 80px;
    --tb-spacing-100: 100px;
}

:root {
    --tb-font-size-10: 10px;
    --tb-font-size-14: 14px;
    --tb-font-size-15: 15px;
    --tb-font-size-17: 17px;
    --tb-font-size-18: 18px;
    --tb-font-size-20: 20px;
    --tb-font-size-25: 25px;
    --tb-font-size-30: 30px;
    --tb-font-size-40: 40px;
    --tb-font-size-50: 50px;
    --tb-font-size-80: 80px;
}

:root {
    --tb-btn-size-medium: 48px;
    --tb-btn-size-small: 34px;
}

:root {
    --tb-font-family-primary: playfair-display, serif;
    --tb-font-family-secondary: source-sans-pro, sans-serif;
    --tb-font-family-tertiary: proxima-nova, sans-serif;
}

:root {
    --swiper-theme-color: var(--tb-color-blue-700);
    --swiper-pagination-color: transparent;
    --swiper-pagination-bottom: var(--tb-spacing-40);
    --swiper-pagination-bullet-size: var(--tb-spacing-14);
    --swiper-pagination-bullet-width: var(--tb-spacing-14);
    --swiper-pagination-bullet-height: var(--tb-spacing-14);
    --swiper-pagination-bullet-inactive-color: var(--tb-color-white);
    --swiper-pagination-bullet-inactive-opacity: 1;
    --swiper-pagination-bullet-horizontal-gap: var(--tb-spacing-5);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body {
    --tb-banner-aspect-ratio: 16/5;
    --tb-banner-height: calc(var(--tb-banner-width) / (var(--tb-banner-aspect-ratio)));
    width: 100%;
    max-width: var(--tb-breakpoint-large);
    margin: 0 auto;
    font-size: 18px;
}

body.tb-banner-small {
    --tb-banner-aspect-ratio: 5 / 2;
}

a {
    color: inherit;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

ol,
ul {
    list-style-position: outside;
    margin-left: var(--tb-spacing-20);
}

li:not(:last-child) {
    margin-bottom: 1rem;
}

select,
textarea,
input[type="date"],
input[type="datetime-local"],
input[type="email"],
input[type="month"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="url"],
input[type="week"] {
    border: 1.5px solid transparent;
    background-color: var(--tb-color-white);
    min-height: 2rem;
    padding: var(--tb-spacing-5) var(--tb-spacing-20);
    font: inherit;
    color: inherit;
    outline: none;
}

select:focus,
textarea:focus,
input[type="date"]:focus,
input[type="datetime-local"]:focus,
input[type="email"]:focus,
input[type="month"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="text"]:focus,
input[type="time"]:focus,
input[type="url"]:focus,
input[type="week"]:focus {
    border: 1.5px solid var(--tb-color-blue-500);
}

select {
    appearance: none;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGFyaWEtaGlkZGVuPSJ0cnVlIiBjbGFzcz0icmItY2hldnJvbiIgdmlld0JveD0iMCAwIDUxMiA1MTIiPjxwYXRoIGQ9Im0yNTYgNDI5IDIzLTIyIDE5Mi0xOTIgMjItMjMtNDUtNDUtMjMgMjItMTY5IDE3MEw4NyAxNjlsLTIzLTIyLTQ1IDQ1IDIyIDIzIDE5MiAxOTIgMjMgMjJ6Ii8+PC9zdmc+);
    background-repeat: no-repeat;
    background-size: 16px 16px;
    background-position: right var(--tb-spacing-10) center;
    padding: 0 calc(var(--tb-spacing-30) + 16px) 0 var(--tb-spacing-20);
    cursor: pointer;
    max-width: 100%;
}

textarea {
    resize: vertical;
    height: auto;
    min-height: 3rem;
}

input[type="checkbox"],
input[type="radio"] {
    appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid var(--tb-color-black);
    outline: none;
    cursor: pointer;
}

input[type="radio"] {
    border-radius: 50%;
}

input[type="checkbox"]:checked,
input[type="radio"]:checked {
    background-color: var(--tb-color-black);
}

fieldset {
    border: none;
}

.tb-text-body-large {
    font-family: var(--tb-font-family-tertiary);
    font-size: var(--tb-font-size-25);
    font-weight: 400;
    line-height: 30px;
}

body,
.tb-text-body-medium {
    font-family: var(--tb-font-family-tertiary);
    font-size: var(--tb-font-size-18);
    font-weight: 400;
    line-height: 22px;
}

.tb-text-body-small {
    font-family: var(--tb-font-family-tertiary);
    font-size: var(--tb-font-size-15);
    font-weight: 400;
    line-height: 18px;
}

.tb-text-body-x-small {
    font-family: var(--tb-font-family-tertiary);
    font-size: var(--tb-font-size-10);
    font-weight: 400;
    line-height: 12px;
}

.tb-text-menu-large {
    font-family: var(--tb-font-family-tertiary);
    font-size: var(--tb-font-size-20);
    font-weight: 600;
    line-height: 24px;
}

.tb-text-menu-medium {
    font-family: var(--tb-font-family-tertiary);
    font-size: var(--tb-font-size-17);
    font-weight: 400;
    line-height: 30px;
}

.tb-text-menu-small {
    font-family: var(--tb-font-family-tertiary);
    font-size: var(--tb-font-size-14);
    font-weight: 700;
    line-height: 30px;
}

.tb-text-title-large {
    font-family: var(--tb-font-family-primary);
    font-size: var(--tb-font-size-80);
    font-style: italic;
    font-weight: 700;
    line-height: 88px;
}

.tb-text-title-medium {
    font-family: var(--tb-font-family-primary);
    font-size: var(--tb-font-size-50);
    font-style: italic;
    font-weight: 700;
    line-height: 55px;
}

.tb-text-title-small {
    font-family: var(--tb-font-family-primary);
    font-size: var(--tb-font-size-40);
    font-style: italic;
    font-weight: 400;
    line-height: 55px;
}

.tb-text-title-x-small {
    font-family: var(--tb-font-family-primary);
    font-size: var(--tb-font-size-30);
    font-style: italic;
    font-weight: 400;
    line-height: 40px;
}

.tb-text-subtitle-large {
    font-family: var(--tb-font-family-secondary);
    font-size: var(--tb-font-size-30);
    font-style: italic;
    font-weight: 400;
    line-height: 43px;
}

.tb-text-subtitle-medium {
    font-family: var(--tb-font-family-secondary);
    font-size: var(--tb-font-size-18);
    font-style: italic;
    font-weight: 400;
    line-height: 25px;
}

.tb-text-subtitle-small {
    font-family: var(--tb-font-family-secondary);
    font-size: var(--tb-font-size-15);
    font-style: italic;
    font-weight: 400;
    line-height: 21px;
}

.tb-text-highlight-medium {
    font-family: var(--tb-font-family-secondary);
    font-size: var(--tb-font-size-18);
    font-style: italic;
    font-weight: 700;
    line-height: 25px;
}

input[type="submit"],
.tb-text-button-medium {
    font-family: var(--tb-font-family-primary);
    font-size: var(--tb-font-size-20);
    font-weight: 700;
    line-height: 27px;
}

input[type="submit"],
.tb-btn {
    background-color: var(--tb-color-white);
    text-decoration: none;
    border: 1.5px solid transparent;
    text-align: center;
    border-radius: var(--tb-radius-33);
    color: var(--tb-color-blue-800);
    cursor: pointer;
    padding: var(--tb-spacing-10) var(--tb-spacing-40);
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: var(--tb-btn-size-medium);
    flex-shrink: 0;
    max-width: 100%;
}

input[type="submit"]:hover,
.tb-btn:hover {
    background-color: var(--tb-color-blue-800);
    color: var(--tb-color-white);
    text-decoration: none;
}

input[type="submit"].tb-outline,
.tb-btn.tb-outline {
    border: 1.5px solid var(--tb-color-blue-500);
}

input[type="submit"].tb-outline:hover,
.tb-btn.tb-outline:hover {
    background-color: var(--tb-color-blue-800);
    color: var(--tb-color-white);
    border: 1.5px solid var(--tb-color-white);
}

:where(.tb-theme-light-blue) .tb-btn,
.tb-btn.tb-theme-light-blue {
    background-color: var(--tb-color-blue-500);
    color: var(--tb-color-white);
    border-color: transparent;
}

:where(.tb-theme-light-blue) .tb-btn:hover,
.tb-btn.tb-theme-light-blue:hover {
    background-color: var(--tb-color-white);
    color: var(--tb-color-blue-500);
    border: 1.5px solid var(--tb-color-blue-500);
}

:where(.tb-theme-orange) .tb-btn,
.tb-btn.tb-theme-orange {
    background-color: var(--tb-color-orange-500);
    color: var(--tb-color-white);
    border-color: transparent;
}

:where(.tb-theme-orange) .tb-btn:hover,
.tb-btn.tb-theme-orange:hover {
    background-color: var(--tb-color-white);
    color: var(--tb-color-orange-500);
    border: 1.5px solid var(--tb-color-orange-500);
}

:where(.tb-theme-yellow) .tb-btn,
.tb-btn.tb-theme-yellow {
    background-color: var(--tb-color-yellow-300);
    color: var(--tb-color-yellow-800);
    border-color: transparent;
}

:where(.tb-theme-yellow) .tb-btn:hover,
.tb-btn.tb-theme-yellow:hover {
    background-color: var(--tb-color-yellow-800);
    color: var(--tb-color-white);
}

:where(.tb-theme-yellow) .tb-btn.tb-outline,
.tb-btn.tb-outline.tb-theme-yellow {
    background-color: var(--tb-color-yellow-200);
    color: var(--tb-color-yellow-800);
    border: 1.5px solid var(--tb-color-yellow-800);
}

:where(.tb-theme-yellow) .tb-btn.tb-outline:hover,
.tb-btn.tb-outline.tb-theme-yellow:hover {
    background-color: var(--tb-color-yellow-800);
    color: var(--tb-color-white);
}

:where(.tb-theme-blue) .tb-btn,
.tb-btn.tb-theme-blue {
    background-color: var(--tb-color-blue-200);
    color: var(--tb-color-blue-800);
    border-color: transparent;
}

:where(.tb-theme-blue) .tb-btn:hover,
.tb-btn.tb-theme-blue:hover {
    background-color: var(--tb-color-blue-800);
    color: var(--tb-color-white);
}

:where(.tb-theme-blue) .tb-btn.tb-outline,
.tb-btn.tb-outline.tb-theme-blue {
    background-color: var(--tb-color-blue-100);
    color: var(--tb-color-blue-800);
    border: 1.5px solid var(--tb-color-blue-800);
}

:where(.tb-theme-blue) .tb-btn.tb-outline:hover,
.tb-btn.tb-outline.tb-theme-blue:hover {
    background-color: var(--tb-color-blue-800);
    color: var(--tb-color-white);
}

:where(.tb-theme-green) .tb-btn,
.tb-btn.tb-theme-green {
    background-color: var(--tb-color-green-300);
    color: var(--tb-color-green-800);
    border-color: transparent;
}

:where(.tb-theme-green) .tb-btn:hover,
.tb-btn.tb-theme-green:hover {
    background-color: var(--tb-color-green-800);
    color: var(--tb-color-white);
}

:where(.tb-theme-green) .tb-btn.tb-outline,
.tb-btn.tb-outline.tb-theme-green {
    background-color: var(--tb-color-green-100);
    color: var(--tb-color-green-800);
    border: 1.5px solid var(--tb-color-green-800);
}

:where(.tb-theme-green) .tb-btn.tb-outline:hover,
.tb-btn.tb-outline.tb-theme-green:hover {
    background-color: var(--tb-color-green-800);
    color: var(--tb-color-white);
}

.tb-main {
    margin-top: calc(var(--tb-banner-height) + var(--tb-menu-height));
    background-color: var(--tb-color-white);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: var(--tb-spacing-100) 0;
    padding-top: 0;
}

.tb-main > * {
    margin-top: var(--tb-spacing-50);
}
.tb-main > *:first-child,
.tb-main > .tb-content-bannerBlock {
    margin-top: 0px;
}

.tb-row {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.tb-row.tb-gap {
    gap: var(--tb-spacing-60);
}

.tb-row.tb-theme-blue {
    background-color: var(--tb-color-blue-100);
}

.tb-row.tb-theme-green {
    background-color: var(--tb-color-green-100);
}

.tb-row.tb-theme-yellow {
    background-color: var(--tb-color-yellow-100);
}

.tb-panel-50 {
    flex-basis: 50%;
}

.tb-panel-46 {
    flex-basis: 46%;
}

.tb-panel-54 {
    flex-basis: 54%;
}

.tb-btn-icon {
    width: var(--tb-btn-size-medium);
    height: var(--tb-btn-size-medium);
    background-color: var(--tb-color-blue-500);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
    cursor: pointer;
    opacity: 0.8;
    flex-shrink: 0;
    transition: opacity var(--tb-transition-duration-fast);
}

.tb-btn-icon svg {
    width: 50%;
    height: 50%;
    fill: var(--tb-color-white);
}

.tb-btn-icon.tb-disabled {
    opacity: 0;
    pointer-events: none;
}

.tb-search-btn {
    width: 17px;
    height: 17px;
    background: none;
    border: none;
    cursor: pointer;
}

.tb-search-btn svg {
    fill: var(--tb-color-black);
    stroke: var(--tb-color-black);
}

.tb-contact-btn {
    width: 17px;
    height: 17px;
    background: none;
    border: none;
    cursor: pointer;
}

.tb-contact-btn svg {
    fill: var(--tb-color-black);
}

.tb-arrow-icon {
    width: 45px;
    height: 26px;
    fill: none;
    stroke-width: 2px;
    stroke: var(--tb-color-blue-700);
}

:where(.tb-theme-yellow) .tb-arrow-icon {
    stroke: var(--tb-color-yellow-800);
}

:where(.tb-theme-blue) .tb-arrow-icon {
    stroke: var(--tb-color-blue-800);
}

:where(.tb-theme-green) .tb-arrow-icon {
    stroke: var(--tb-color-green-800);
}

.olark-hidden + .olark-launch-button-wrapper {
    display: none;
}

.dilricn2nw:not(.crssic) {
    display: none;
}

@media (max-width: 1920px) {
    :root {
        --tb-banner-width: 100%;
        --tb-panel-outer: calc((100vw - var(--tb-breakpoint-medium)) / 2);
        --tb-panel-46-max-width: calc(100vw * 0.46 - var(--tb-panel-outer));
        --tb-panel-50-max-width: calc(100vw * 0.5 - var(--tb-panel-outer));
        --tb-panel-54-max-width: calc(100vw * 0.54 - var(--tb-panel-outer));
    }
}

@media (max-width: 1440px) {
    .tb-text-title-small {
        font-size: var(--tb-font-size-30);
        line-height: 40px;
    }

    .tb-text-title-x-small {
        font-size: var(--tb-font-size-25);
        line-height: 35px;
    }
}

@media(max-width:1300px){
    html,
    body {
        --tb-banner-aspect-ratio: 16/6;
    }
}

@media(max-width:1100px) {
    html,
    body {
        --tb-banner-aspect-ratio: 16/7;
    }
}

@media (max-width: 1024px) {
    .tb-text-title-large {
        font-size: var(--tb-font-size-50);
        line-height: 55px;
    }

    .tb-text-subtitle-large {
        font-size: var(--tb-font-size-25);
        line-height: 30px;
    }

    .tb-main {
        padding: var(--tb-spacing-50) 0;
        padding-top: 0;
    }

    .tb-row.tb-gap {
        gap: var(--tb-spacing-50);
    }
}

@media (max-width: 768px) {
    body,
    body.tb-banner-small {
        --tb-banner-aspect-ratio: 10/8;
    }

    .tb-panel-46,
    .tb-panel-50,
    .tb-panel-54 {
        flex-basis: 100%;
    }

    .tb-btn {
        padding: 5px 25px;
        min-height: 30px;
    }
    .tb-btn-icon {
        width: 35px;
        height: 35px;
    }
    .tb-text-button-medium {
        font-size:18px;
    }
}

@media (max-width: 768px) and (orientation: landscape) {
    body,
    body.tb-banner-small {
        --tb-banner-aspect-ratio: 3/1;
    }
}

@media (max-width: 500px) {
    body,
    body.tb-banner-small {
        --tb-banner-aspect-ratio: 6/7;
    }

    .tb-text-title-large {
        font-size: var(--tb-font-size-40);
        line-height: 44px;
    }

    .tb-text-subtitle-large {
        font-size: var(--tb-font-size-20);
        line-height: 22px;
    }

    .tb-main {
        padding: var(--tb-spacing-20) 0;
        padding-top: 0;
    }

    .tb-main > * {
        margin-top: var(--tb-spacing-20);
    }

    .tb-row.tb-gap {
        gap: var(--tb-spacing-20);
    }
}
