:root {
    --h1-margin-top: 0em; --h1-margin-btm: 0.5em;
    --h2-margin-top: 1em; --h2-margin-btm: 0.8em;
    --h3-margin-top: 1em; --h3-margin-btm: 0.8em;
    --h4-margin-top: 1em; --h4-margin-btm: 0.7em;
    --h5-margin-top: 1em; --h5-margin-btm: 0.6em;
    --h6-margin-top: 1em; --h6-margin-btm: 0.5em;

    /* Heading */
    --h1-home-fontsize: clamp(45px, 3.38vw, 65px);
    --h1-small-fontsize: clamp(36px, 3.43vw, 66px);
    --h1-fontsize: clamp(130px, 13vw, 250px);
    --h2-fontsize: clamp(80px, 7.27vw, 140px);
    --h3-fontsize: clamp(60px, 5.2vw, 100px);
    --h4-fontsize: clamp(40px, 3.63vw, 70px);
    --h5-fontsize: clamp(30px, 2.08vw, 40px);
    --h6-fontsize: clamp(16px, 1.04vw, 20px);

    /* Subheading */
    --subheading-l-txt-fontsize: clamp(30px, 2.6vw, 50px);
    --subheading-s-txt-fontsize: clamp(20px, 1.81vw, 35px);

    /* Base text */
    --txt-xl-fontsize: clamp(22px, 1.45vw, 28px);
    --txt-l-fontsize: clamp(18px, 1.24vw, 24px);
    --txt-basic-fontsize: clamp(16px, 0.93vw, 18px);
    --txt-s-fontsize: clamp(12px, 0.83vw, 16px);

    /* Menu */
    --menu-main-txt-fontsize: clamp(12px, 0.83vw, 16px);
    --menu-main-sub-txt-fontsize: clamp(25px, 1.55vw, 30px);
    --menu-head-txt-fontsize: clamp(16px, 0.83vw, 16px);
    --menu-head-sub-txt-fontsize: clamp(16px, 0.83vw, 16px);
    --menu-foot-txt-fontsize: clamp(25px, 1.55vw, 30px);
    --menu-foot-sub-txt-fontsize: clamp(12px, 0.72vw, 14px);
    --menu-stripe-buter-txt-fontsize: 10px;
    --menu-stripe-contact-txt-fontsize: clamp(25px, 1.55vw, 30px);

    /* Phone */
    --phone-l-txt-fontsize: clamp(35px, 2.6vw, 50px);
    --phone-s-txt-fontsize: clamp(12px, 0.83vw, 16px);

    /* CTA */
    --cta-button-l-txt-fontsize: clamp(20px, 1.55vw, 30px);
    --cta-button-m-txt-fontsize: clamp(12px, 0.83vw, 16px);
    --cta-button-s-txt-fontsize: 12px;
    --cta-button-round-l-txt-fontsize: clamp(20px, 1.45vw, 28px);
    --cta-button-round-m-txt-fontsize: clamp(20px, 1.55vw, 30px);
    --cta-button-round-s-txt-fontsize: clamp(14px, 0.83vw, 16px);
    --cta-link-txt-fontsize: clamp(25px, 1.55vw, 30px);
    --cta-lm-txt-fontsize: clamp(12px, 0.72vw, 14px);

    /* Form */
    --form-field-font-name-txt-fontsize: 18px;
    --form-field-font-name-filled-txt-fontsize: 12px;
    --form-field-font-input-txt-fontsize: 18px;
    --form-checkbox-txt-fontsize: 20px;

    /* FAQ */
    --faq-head-txt-fontsize: clamp(25px, 1.55vw, 30px);
    --faq-body-txt-fontsize: clamp(16px, 0.93vw, 18px);

    /* HL */
    --hl-txt-fontsize: clamp(25px, 1.55vw, 30px);

    /* Tab */
    --tab-head-txt-fontsize: clamp(30px, 1.55vw, 30px);
    --tab-body-txt-fontsize: clamp(16px, 0.93vw, 18px);

    /* Pic */
    --pic-txt-fontsize: clamp(16px, 0.93vw, 18px);

    /* BC */
    --bc-txt-fontsize: clamp(25px, 1.55vw, 30px);

    /* SD */
    --sd-txt-fontsize: clamp(12px, 0.67vw, 13px);

    /* Special For This Project */
    --special-feature-nr-txt-fontsize: clamp(50px, 4.16vw, 80px);
    --special-feature-name-txt-fontsize: clamp(12px, 0.83vw, 16px);
    --special-selector-txt-fontsize: 12px;
    --special-footer-cta-txt-fontsize: clamp(40px, 3.11vw, 60px);
    --special-logo-txt-fontsize: 12px;
    --special-info-name-txt-fontsize: clamp(12px, 0.83vw, 16px);
    --special-home-bc-txt-fontsize: clamp(26px, 1.87vw, 36px);
    --special-home-descr-bc-txt-fontsize: clamp(18px, 1.24vw, 24px);
    --special-home-id-txt-fontsize: clamp(22px, 1.45vw, 28px);
    --special-home-descr-id-txt-fontsize: clamp(16px, 1.04vw, 20px);
    --special-home-ho-txt-fontsize: clamp(13px, 0.93vw, 18px);
    --special-home-descr-ho-txt-fontsize: clamp(12px, 0.83vw, 16px);

    @media (min-width: 1025px) and (max-width: 1280px) {
        /* Heading */
        --h1-home-fontsize: 4.36vw;
        --h1-small-fontsize: 3.49vw;
        --h1-fontsize: 12.61vw;
        --h2-fontsize: 7.76vw;
        --h3-fontsize: 5.82vw;
        --h4-fontsize: 3.88vw;
        --h5-fontsize: 2.91vw;
        --h6-fontsize: 1.55vw;

        /* Subheading */
        --subheading-l-txt-fontsize: 2.91vw;
        --subheading-s-txt-fontsize: 1.94vw;

        /* Base text */
        --txt-xl-fontsize: 22px;
        --txt-l-fontsize: 18px;
        --txt-basic-fontsize: 16px;
        --txt-s-fontsize: 12px;

        /* Menu */
        --menu-main-txt-fontsize: 1.16vw;
        --menu-main-sub-txt-fontsize: 2.42vw;
        --menu-head-txt-fontsize: 1.55vw;
        --menu-head-sub-txt-fontsize: 1.55vw;
        --menu-foot-txt-fontsize: 2.42vw;
        --menu-foot-sub-txt-fontsize: 1.16vw;
        --menu-stripe-buter-txt-fontsize: 0.97vw;
        --menu-stripe-contact-txt-fontsize: 2.42vw;

        /* Phone */
        --phone-l-txt-fontsize: 3.39vw;
        --phone-s-txt-fontsize: 1.16vw;

        /* CTA */
        --cta-button-l-txt-fontsize: 20px;
        --cta-button-m-txt-fontsize: 12px;
        --cta-button-s-txt-fontsize: 12px;
        --cta-button-round-l-txt-fontsize: 20px;
        --cta-button-round-m-txt-fontsize: 20px;
        --cta-button-round-s-txt-fontsize: 14px;
        --cta-link-txt-fontsize: 25px;
        --cta-lm-txt-fontsize: 12px;

        /* Form */
        --form-field-font-name-txt-fontsize: 16px;
        --form-field-font-name-filled-txt-fontsize: 12px;
        --form-field-font-input-txt-fontsize: 16px;
        --form-checkbox-txt-fontsize: 18px;

        /* FAQ */
        --faq-head-txt-fontsize: 2.42vw;
        --faq-body-txt-fontsize: 1.55vw;

        /* HL */
        --hl-txt-fontsize: 2.42vw;

        /* Tab */
        --tab-head-txt-fontsize: 2.91vw;
        --tab-body-txt-fontsize: 1.55vw;

        /* Pic */
        --pic-txt-fontsize: 16px;

        /* BC */
        --bc-txt-fontsize: 25px;

        /* SD */
        --sd-txt-fontsize: 12px;

        /* Special For This Project */
        --special-feature-nr-txt-fontsize: 4.85vw;
        --special-feature-name-txt-fontsize: 1.16vw;
        --special-selector-txt-fontsize: 0.97vw;
        --special-footer-cta-txt-fontsize: 3.88vw;
        --special-logo-txt-fontsize: 0.97vw;
        --special-info-name-txt-fontsize: 1.16vw;
        --special-home-bc-txt-fontsize: 2.52vw;
        --special-home-descr-bc-txt-fontsize: 1.74vw;
        --special-home-id-txt-fontsize: 2.13vw;
        --special-home-descr-id-txt-fontsize: 1.55vw;
        --special-home-ho-txt-fontsize: 1.26vw;
        --special-home-descr-ho-txt-fontsize: 1.16vw;
    }

    @media (min-width: 769px) and (max-width: 1024px) {
        /* Heading */
        --h1-home-fontsize: 7.8vw;
        --h1-small-fontsize: 5.85vw;
        --h1-fontsize: 13vw;
        --h2-fontsize: 7.8vw;
        --h3-fontsize: 6.5vw;
        --h4-fontsize: 5.2vw;
        --h5-fontsize: 3.9vw;
        --h6-fontsize: 1.82vw;

        /* Subheading */
        --subheading-l-txt-fontsize: 3.9vw;
        --subheading-s-txt-fontsize: 3.25vw;

        /* Base text */
        --txt-xl-fontsize: 22px;
        --txt-l-fontsize: 20px;
        --txt-basic-fontsize: 16px;
        --txt-s-fontsize: 14px;

        /* Menu */
        --menu-main-txt-fontsize: 2.08vw;
        --menu-main-sub-txt-fontsize: 2.6vw;
        --menu-head-txt-fontsize: 2.08vw;
        --menu-head-sub-txt-fontsize: 2.08vw;
        --menu-foot-txt-fontsize: 2.6vw;
        --menu-foot-sub-txt-fontsize: 1.56vw;
        --menu-stripe-buter-txt-fontsize: 1.3vw;
        --menu-stripe-contact-txt-fontsize: 2.6vw;

        /* Phone */
        --phone-l-txt-fontsize: 3.9vw;
        --phone-s-txt-fontsize: 1.82vw;

        /* CTA */
        --cta-button-l-txt-fontsize: 20px;
        --cta-button-m-txt-fontsize: 12px;
        --cta-button-s-txt-fontsize: 12px;
        --cta-button-round-l-txt-fontsize: 20px;
        --cta-button-round-m-txt-fontsize: 20px;
        --cta-button-round-s-txt-fontsize: 12px;
        --cta-link-txt-fontsize: 20px;
        --cta-lm-txt-fontsize: 12px;

        /* Form */
        --form-field-font-name-txt-fontsize: 16px;
        --form-field-font-name-filled-txt-fontsize: 12px;
        --form-field-font-input-txt-fontsize: 16px;
        --form-checkbox-txt-fontsize: 18px;

        /* FAQ */
        --faq-head-txt-fontsize: 2.6vw;
        --faq-body-txt-fontsize: 2.08vw;

        /* HL */
        --hl-txt-fontsize: 2.6vw;

        /* Tab */
        --tab-head-txt-fontsize: 3.9vw;
        --tab-body-txt-fontsize: 2.08vw;

        /* Pic */
        --pic-txt-fontsize: 16px;

        /* BC */
        --bc-txt-fontsize: 20px;

        /* SD */
        --sd-txt-fontsize: 10px;

        /* Special For This Project */
        --special-feature-nr-txt-fontsize: 6.5vw;
        --special-feature-name-txt-fontsize: 1.56vw;
        --special-selector-txt-fontsize: 1.56vw;
        --special-footer-cta-txt-fontsize: 4.55vw;
        --special-logo-txt-fontsize: 1.3vw;
        --special-info-name-txt-fontsize: 1.56vw;
        --special-home-bc-txt-fontsize: 3.9vw;
        --special-home-descr-bc-txt-fontsize: 2.86vw;
        --special-home-id-txt-fontsize: 3.12vw;
        --special-home-descr-id-txt-fontsize: 2.34vw;
        --special-home-ho-txt-fontsize: 1.82vw;
        --special-home-descr-ho-txt-fontsize: 1.56vw;
    }

    @media (max-width: 768px) {
        /* Heading */
        --h1-home-fontsize: 9.69vw;
        --h1-small-fontsize: 9.7vw;
        --h1-fontsize: 13.85vw;
        --h2-fontsize: 11.08vw;
        --h3-fontsize: 9.69vw;
        --h4-fontsize: 8.31vw;
        --h5-fontsize: 6.92vw;
        --h6-fontsize: 3.87vw;

        /* Subheading */
        --subheading-l-txt-fontsize: 25px;
        --subheading-s-txt-fontsize: 20px;

        /* Base text */
        --txt-xl-fontsize: 20px;
        --txt-l-fontsize: 18px;
        --txt-basic-fontsize: 16px;
        --txt-s-fontsize: 14px;

        /* Menu */
        --menu-main-txt-fontsize: 16px;
        --menu-main-sub-txt-fontsize: 20px;
        --menu-head-txt-fontsize: 16px;
        --menu-head-sub-txt-fontsize: 16px;
        --menu-foot-txt-fontsize: 20px;
        --menu-foot-sub-txt-fontsize: 12px;
        --menu-stripe-buter-txt-fontsize: 10px;
        --menu-stripe-contact-txt-fontsize: 20px;

        /* Phone */
        --phone-l-txt-fontsize: 30px;
        --phone-s-txt-fontsize: 14px;

        /* CTA */
        --cta-button-l-txt-fontsize: 16px;
        --cta-button-m-txt-fontsize: 12px;
        --cta-button-s-txt-fontsize: 12px;
        --cta-button-round-l-txt-fontsize: 16px;
        --cta-button-round-m-txt-fontsize: 16px;
        --cta-button-round-s-txt-fontsize: 18px;
        --cta-link-txt-fontsize: 20px;
        --cta-lm-txt-fontsize: 12px;

        /* Form */
        --form-field-font-name-txt-fontsize: 16px;
        --form-field-font-name-filled-txt-fontsize: 10px;
        --form-field-font-input-txt-fontsize: 16px;
        --form-checkbox-txt-fontsize: 18px;

        /* FAQ */
        --faq-head-txt-fontsize: 20px;
        --faq-body-txt-fontsize: 16px;

        /* HL */
        --hl-txt-fontsize: 20px;

        /* Tab */
        --tab-head-txt-fontsize: 30px;
        --tab-body-txt-fontsize: 16px;

        /* Pic */
        --pic-txt-fontsize: 16px;

        /* BC */
        --bc-txt-fontsize: 20px;

        /* SD */
        --sd-txt-fontsize: 10px;

        /* Special For This Project */
        --special-feature-nr-txt-fontsize: 40px;
        --special-feature-name-txt-fontsize: 12px;
        --special-selector-txt-fontsize: 12px;
        --special-footer-cta-txt-fontsize: 30px;
        --special-logo-txt-fontsize: 10px;
        --special-info-name-txt-fontsize: 12px;
        --special-home-bc-txt-fontsize: 18px;
        --special-home-descr-bc-txt-fontsize: 14px;
        --special-home-id-txt-fontsize: 16px;
        --special-home-descr-id-txt-fontsize: 14px;
        --special-home-ho-txt-fontsize: 12px;
        --special-home-descr-ho-txt-fontsize: 14px;
    }
}

.fl-builder-content {
    &:not(.fl-builder-empty) {
        font-size: var(--txt-basic-fontsize);
    }
    h1, .txt-h1 {
        margin-bottom: var(--h1-margin-btm);
        text-transform: uppercase;
        font: 100 var(--h1-fontsize) / 0.9 AtypDisplay;
    }
    .h1-home {
        font: 100 var(--h1-home-fontsize) / 1 AtypDisplay;
    }
    .h1-small {
        margin-bottom: 0.7em;
        text-transform: none;
        font: 100 var(--h1-small-fontsize) / 1.05 AtypDisplay;
    }
    h2, .txt-h2 {
        margin-top: var(--h2-margin-top);
        margin-bottom: var(--h2-margin-btm);
        text-transform: uppercase;
        font: 100 var(--h2-fontsize) / 0.9 AtypDisplay;
    }
    h3, .txt-h3 {
        margin-top: var(--h2-margin-top);
        margin-bottom: var(--h2-margin-btm);
        text-transform: uppercase;
        font: 100 var(--h3-fontsize) / 1 AtypDisplay;
    }
    h4, .txt-h4 {
        margin-top: var(--h4-margin-top);
        margin-bottom: var(--h4-margin-btm);
        font: 100 var(--h4-fontsize) / 1 AtypDisplay;
    }
    h5, .txt-h5 {
        margin-top: var(--h5-margin-top);
        margin-bottom: var(--h5-margin-btm);
        font: 100 var(--h5-fontsize) / 1.2 AtypDisplay;
    }
    h6, .txt-h6 {
        margin-top: var(--h6-margin-top);
        margin-bottom: var(--h6-margin-btm);
        letter-spacing: 0.02em;
        text-transform: uppercase;
        font: 500 var(--h6-fontsize) / 1.2 AtypDisplay;
    }

    /* Disable top margin when heading is first in its parent block */
    & :is(h1, h2, h3, h4, h5, h6):first-child {
          margin-top: 0;
      }

    /* Subheading */
    .subheading-l {
        font: 100 var(--subheading-l-txt-fontsize) / 1.2 AtypDisplay;
    }
    .subheading-s {
        font: 100 var(--subheading-s-txt-fontsize) / 1.2 AtypDisplay;
    }

    /* Base text */
    .txt-xl {
        font: 100 var(--txt-xl-fontsize) / 1.5 AtypDisplay;
    }
    .txt-xl-short {
        font: 100 var(--txt-xl-fontsize) / 1.2 AtypDisplay;
    }
    .txt-l {
        font: 300 var(--txt-l-fontsize) / 1.5 AtypDisplay;
    }
    .txt-l-short {
        font: 300 var(--txt-l-fontsize) / 1.2 AtypDisplay;
    }
    .txt {
        font: 300 var(--txt-fontsize) / 1.5 AtypDisplay;
    }
    .txt-short {
        font: 300 var(--txt-basic-fontsize) / 1.3 AtypDisplay;
    }
    .txt-s {
        font: 300 var(--txt-s-fontsize) / 1.5 AtypDisplay;
    }
    .txt-s-short {
        font: 500 var(--txt-s-fontsize) / 1.3 AtypDisplay;
    }

    /* Menu */
    .menu-main {
        letter-spacing: 0.1em;
        text-transform: uppercase;
        font: 300 var(--menu-main-txt-fontsize) / 1.1 AtypDisplay;
    }
    .menu-main-sub {
        letter-spacing: 0.1em;
        text-transform: uppercase;
        font: 500 var(--menu-main-sub-fontsize) / 1.2 AtypDisplay;
    }
    .menu-head {
        letter-spacing: 0.03em;
        text-transform: uppercase;
        font: 300 var(--menu-head-txt-fontsize) / 1.2 AtypDisplay;
    }
    .menu-head-sub {
        letter-spacing: 0.03em;
        text-transform: uppercase;
        font: 300 var(--menu-head-sub-txt-fontsize) / 1.2 AtypDisplay;
    }
    .menu-foot {
        letter-spacing: 0.03em;
        text-transform: uppercase;
        font: 300 var(--menu-foot-txt-fontsize) / 1.2 AtypDisplay;
    }
    .menu-foot-sub {
        letter-spacing: 0.03em;
        text-transform: uppercase;
        font: 300 var(--menu-foot-sub-txt-fontsize) / 1.2 AtypDisplay;
    }
    .menu-stripe-contact {
        font: 300 var(--menu-stripe-contact-txt-fontsize) / 1.2 AtypDisplay;
    }

    /* Phone */
    .phone-l {
        font: 100 var(--phone-l-txt-fontsize) / 1 AtypDisplay;
    }
    .phone-s {
        letter-spacing: 0.05em;
        font: 500 var(--phone-s-txt-fontsize) / 1 AtypDisplay;
    }

    /* CTA */
    .cta-button-l {
        letter-spacing: 0.02em;
        text-transform: uppercase;
        font: 300 var(--cta-button-l-txt-fontsize) / 1.3 AtypDisplay;
    }
    .cta-button-m {
        letter-spacing: 0.02em;
        text-transform: uppercase;
        font: 300 var(--cta-button-m-txt-fontsize) / 1.3 AtypDisplay;
    }
    .cta-button-s {
        letter-spacing: 0.05em;
        text-transform: uppercase;
        font: 400 var(--cta-button-s-txt-fontsize) / 1.2 AtypDisplay;
    }
    .cta-button-round-l {
        letter-spacing: 0.02em;
        text-transform: uppercase;
        font: 300 var(--cta-button-round-l-txt-fontsize) / 1.3 AtypDisplay;
    }
    .cta-button-round-m {
        letter-spacing: 0.02em;
        text-transform: uppercase;
        font: 300 var(--cta-button-round-m-txt-fontsize) / 1.3 AtypDisplay;
    }
    .cta-button-round-s {
        letter-spacing: 0.05em;
        text-transform: uppercase;
        font: 300 var(--cta-button-round-s-txt-fontsize) / 1.2 AtypDisplay;
    }
    .cta-link {
        text-transform: uppercase;
        font: 500 var(--cta-link-txt-fontsize) / 1 AtypDisplay;
    }
    .cta-lm {
        letter-spacing: 0.05em;
        text-transform: uppercase;
        font: 500 var(--cta-lm-txt-fontsize) / 1 AtypDisplay;
    }
    .faq-head {
        font: 500 var(--faq-head-txt-fontsize) / 1.2 AtypDisplay;
    }
    .faq-body {
        font: 500 var(--faq-body-txt-fontsize) / 1.5 AtypDisplay;
    }
    .hl {
        letter-spacing: 0.02em;
        text-transform: uppercase;
        font: 500 var(--hl-txt-fontsize) / 1.3 AtypDisplay;
    }
    .tab-head {
        font: 500 var(--tab-head-txt-fontsize) / 1.2 AtypDisplay;
    }
    .tab-body {
        font: 500 var(--tab-body-txt-fontsize) / 1.2 AtypDisplay;
    }
    .bc {
        letter-spacing: 0.03em;
        text-transform: uppercase;
        font: 500 var(--bc-txt-fontsize) / 1.2 AtypDisplay;
    }
    .sd {
        letter-spacing: 0.05em;
        text-transform: uppercase;
        font: 400 var(--sd-txt-fontsize) / 1.2 AtypDisplay;
    }
    .special-feature-nr {
        text-transform: uppercase;
        font: 100 var(--special-feature-nr-txt-fontsize) / 1 AtypDisplay;
    }
    .special-feature-name {
        letter-spacing: 0.1em;
        text-transform: uppercase;
        font: 400 var(--special-feature-name-txt-fontsize) / 1.3 AtypDisplay;
    }
    .special-selector {
        letter-spacing: 0.1em;
        text-transform: uppercase;
        font: 400 var(--special-selector-txt-fontsize) / 1.2 AtypDisplay;
    }
    .special-footer-cta {
        letter-spacing: 0.03em;
        text-transform: uppercase;
        font: 100 var(--special-footer-cta-txt-fontsize) / 1.2 AtypDisplay;
    }
    .special-logo {
        letter-spacing: 0.05em;
        text-transform: uppercase;
        font: 300 var(--special-logo-txt-fontsize) / 1 AtypDisplay;
    }
    .special-info-name {
        letter-spacing: 0.1em;
        text-transform: uppercase;
        font: 400 var(--special-info-name-txt-fontsize) / 1.2 AtypDisplay;
    }
    .special-home-bc {
        letter-spacing: 0.02em;
        text-transform: uppercase;
        font: 600 var(--special-home-bc-txt-fontsize) / 1.2 AtypDisplay;
    }
    .special-home-descr-bc {
        font: 300 var(--special-home-descr-bc-txt-fontsize) / 1.3 AtypDisplay;
    }
    .special-home-id {
        letter-spacing: 0.02em;
        text-transform: uppercase;
        font: 500 var(--special-home-id-txt-fontsize) / 1.2 AtypDisplay;
    }
    .special-home-descr-id {
        font: 300 var(--special-home-descr-id-txt-fontsize) / 1.3 AtypDisplay;
    }

    .special-home-ho {
        letter-spacing: 0.02em;
        text-transform: uppercase;
        font: 400 var(--special-home-ho-txt-fontsize) / 1.3 AtypDisplay;
    }
    .special-home-descr-ho {
        font: 300 var(--special-home-descr-ho-txt-fontsize) / 1.3 AtypDisplay;
    }
}

.fl-rich-text {
    ul {
        margin: 0.8em 0;
    }
    li {
        margin-bottom: 0.5em;
    }
}
