: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.7em;

    --h6-margin-top: 1em;
    --h6-margin-btm: 0.8em;

    /* Line Heights */
    --lh-h-90: 0.9;
    --lh-h-100: 1;
    --lh-h-110: 1.1;
    --lh-h-120: 1.2;

    --lh-90: 0.9;
    --lh-100: 1;
    --lh-110: 1.1;
    --lh-120: 1.2;
    --lh-130: 1.3;
    --lh-140: 1.4;
    --lh-150: 1.5;
    --lh-160: 1.6;

    /* Heading */
    --heading-h1-home-fontsize: clamp(38px, 3.63vw, 70px);
    --heading-h1-small-fontsize: clamp(50px, 4.68vw, 90px);
    --heading-h1-fontsize: clamp(55px, 5.2vw, 100px);
    --heading-h2-fontsize: clamp(50px, 4.16vw, 80px);
    --heading-h3-fontsize: clamp(35px, 2.86vw, 55px);
    --heading-h4-fontsize: clamp(25px, 2.34vw, 45px);
    --heading-h5-fontsize: clamp(20px, 1.24vw, 24px);
    --heading-h6-fontsize: clamp(14px, 1.04vw, 20px);

    /* Subheading */
    --subheading-l-fontsize: clamp(16px, 1.3vw, 25px);
    --subheading-s-fontsize: clamp(13px, 1.04vw, 20px);

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

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

    /* Phone */
    --phone-l-fontsize: clamp(35px, 2.6vw, 50px);
    --phone-s-fontsize: clamp(20px, 1.3vw, 25px);

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

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

    /* HL */
    --hl-fontsize: clamp(30px, 2.6vw, 50px);

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

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

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

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

    /* Special For This Project */
    --spe-above-heading-fontsize: clamp(13px, 0.83vw, 16px);
    --spe-data-name-fontsize: clamp(14px, 1.04vw, 20px);
    --spe-data-text-fontsize: clamp(12px, 1.04vw, 20px);

    @media (min-width: 1025px) and (max-width: 1280px) {
        /* Line Heights */
        --lh-h-90: 1;
        --lh-h-100: 1;
        --lh-h-110: 1.2;
        --lh-h-120: 1.2;

        --lh-90: 0.9;
        --lh-100: 1;
        --lh-110: 1.1;
        --lh-120: 1.2;
        --lh-130: 1.3;
        --lh-140: 1.4;
        --lh-150: 1.5;
        --lh-160: 1.6;

        /* Heading */
        --heading-h1-home-fontsize: 3.68vw;
        --heading-h1-small-fontsize: 4.85vw;
        --heading-h1-fontsize: 5.33vw;
        --heading-h2-fontsize: 4.85vw;
        --heading-h3-fontsize: 3.39vw;
        --heading-h4-fontsize: 2.42vw;
        --heading-h5-fontsize: 1.94vw;
        --heading-h6-fontsize: 1.27vw;

        /* Subheading */
        --subheading-l-fontsize: 1.55vw;
        --subheading-s-fontsize: 1.26vw;

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

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

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

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

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

        /* HL */
        --hl-fontsize: 2.91vw;

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

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

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

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

        /* Special For This Project */
        --spe-above-heading-fontsize: 1.26vw;
        --spe-data-name-fontsize: 1.35vw;
        --spe-data-text-fontsize: 1.16vw;
    }

    @media (min-width: 769px) and (max-width: 1024px) {
        /* Line Heights */
        --lh-h-90: 1.1;
        --lh-h-100: 1.1;
        --lh-h-110: 1.2;
        --lh-h-120: 1.2;

        --lh-90: 0.9;
        --lh-100: 1;
        --lh-110: 1.1;
        --lh-120: 1.2;
        --lh-130: 1.3;
        --lh-140: 1.4;
        --lh-150: 1.5;
        --lh-160: 1.6;

        /* Heading */
        --heading-h1-home-fontsize: 4.94vw;
        --heading-h1-small-fontsize: 7.8vw;
        --heading-h1-fontsize: 7.8vw;
        --heading-h2-fontsize: 6.5vw;
        --heading-h3-fontsize: 5.2vw;
        --heading-h4-fontsize: 3.9vw;
        --heading-h5-fontsize: 2.6vw;
        --heading-h6-fontsize: 1.82vw;

        /* Subheading */
        --subheading-l-fontsize: 2.08vw;
        --subheading-s-fontsize: 1.69vw;

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

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

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

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

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

        /* HL */
        --hl-fontsize: 3.9vw;

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

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

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

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

        /* Special For This Project */
        --spe-above-heading-fontsize: 1.56vw;
        --spe-data-name-fontsize: 2.08vw;
        --spe-data-text-fontsize: 1.82vw;
    }

    @media (max-width: 768px) {
        /* Line Heights */
        --lh-h-90: 0.9;
        --lh-h-100: 1;
        --lh-h-110: 1.1;
        --lh-h-120: 1.1;

        --lh-90: 0.9;
        --lh-100: 1;
        --lh-110: 1.1;
        --lh-120: 1.2;
        --lh-130: 1.3;
        --lh-140: 1.4;
        --lh-150: 1.5;
        --lh-160: 1.6;

        /* Heading */
        --heading-h1-home-fontsize: 7.75vw;
        --heading-h1-small-fontsize: 12.46vw;
        --heading-h1-fontsize: 12.46vw;
        --heading-h2-fontsize: 11.08vw;
        --heading-h3-fontsize: 9.69vw;
        --heading-h4-fontsize: 6.92vw;
        --heading-h5-fontsize: 5.54vw;
        --heading-h6-fontsize: 4.15vw;

        /* Subheading */
        --subheading-l-fontsize: 16px;
        --subheading-s-fontsize: 14px;

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

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

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

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

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

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

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

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

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

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

        /* Special For This Project */
        --spe-above-heading-fontsize: 12px;
        --spe-data-name-fontsize: 15px;
        --spe-data-text-fontsize: 14px;
    }
}

body {
    font: 300 var(--txt-basic-fontsize) / var(--lh-150) "DM Sans";
}

.fl-builder-content {
    h1, .txt-h1 {
        font: normal 100 var(--heading-h1-fontsize) / var(--lh-h-90) "DM Sans";
        letter-spacing: 0.06em;
        text-transform: uppercase;
        margin-bottom: var(--h1-margin-btm);
    }
    h2, .txt-h2 {
        font: normal 600 var(--heading-h2-fontsize) / var(--lh-h-100) "DM Sans";
        letter-spacing: -0.02em;
        margin-top: var(--h2-margin-top);
        margin-bottom: var(--h2-margin-btm);
    }
    h3, .txt-h3 {
        font: normal 600 var(--heading-h3-fontsize) / var(--lh-h-100) "DM Sans";
        letter-spacing: -0.02em;
        margin-top: var(--h3-margin-top);
        margin-bottom: var(--h3-margin-btm);
    }
    h4, .txt-h4 {
        font: normal 200 var(--heading-h4-fontsize) / var(--lh-h-110) "DM Sans";
        letter-spacing: 0.02em;
        text-transform: uppercase;
        margin-top: var(--h4-margin-top);
        margin-bottom: var(--h4-margin-btm);
    }
    h5, .txt-h5 {
        font: normal 700 var(--heading-h5-fontsize) / var(--lh-h-120) "DM Sans";
        letter-spacing: 0.02em;
        text-transform: uppercase;
        margin-top: var(--h5-margin-top);
        margin-bottom: var(--h5-margin-btm);
    }
    h6, .txt-h6 {
        font: normal 500 var(--heading-h6-fontsize) / var(--lh-h-120) "DM Sans";
        text-transform: uppercase;
        margin-top: var(--h6-margin-top);
        margin-bottom: var(--h6-margin-btm);
    }
    .h1-home {
        letter-spacing: 0.01em;
        font: normal 700 var(--heading-h1-home-fontsize) / var(--lh-h-110) "DM Sans";
        text-transform: uppercase;
        color: var(--fl-global-violet250);
    }
    .h1-small {
        font: normal 100 var(--heading-h1-small-fontsize) / var(--lh-h-110) "DM Sans";
        text-transform: uppercase;
    }

    /* Subheading */
    .subheading-l {
        font: normal 300 var(--subheading-l-fontsize) / var(--lh-140) "DM Sans";
    }
    .subheading-s {
        font: normal 300 var(--subheading-s-fontsize) / var(--lh-140) "DM Sans";
    }

    /* Base text */
    .txt-xl {
        font: normal 200 var(--txt-xl-fontsize) / var(--lh-150) "DM Sans";
    }
    .txt-xl-bold {
        font: normal 700 var(--txt-xl-fontsize) / var(--lh-150) "DM Sans";
    }
    .txt-xl-short {
        font: normal 200 var(--txt-xl-fontsize) / var(--lh-120) "DM Sans";
    }
    .txt-xl-short-bold {
        font: normal 700 var(--txt-xl-fontsize) / var(--lh-120) "DM Sans";
    }
    .txt-l {
        font: normal 300 var(--txt-l-fontsize) / var(--lh-150) "DM Sans";
    }
    .txt-l-bold {
        font: normal 700 var(--txt-l-fontsize) / var(--lh-150) "DM Sans";
    }
    .txt-l-short {
        font: normal 300 var(--txt-l-fontsize) / var(--lh-120) "DM Sans";
    }
    .txt-l-short-bold {
        font: normal 700 var(--txt-l-fontsize) / var(--lh-120) "DM Sans";
    }
    .txt-basic {
        font: normal 300 var(--txt-basic-fontsize) / var(--lh-150) "DM Sans";
    }
    .txt-basic-bold {
        font: normal 700 var(--txt-basic-fontsize) / var(--lh-150) "DM Sans";
    }
    .txt-basic-short {
        font: normal 300 var(--txt-basic-fontsize) / var(--lh-130) "DM Sans";
    }
    .txt-basic-short-bold {
        font: normal 700 var(--txt-basic-fontsize) / var(--lh-130) "DM Sans";
    }
    .txt-s {
        font: normal 400 var(--txt-s-fontsize) / var(--lh-150) "DM Sans";
    }
    .txt-s-bold {
        font: normal 700 var(--txt-s-fontsize) / var(--lh-150) "DM Sans";
    }
    .txt-s-short {
        font: normal 400 var(--txt-s-fontsize) / var(--lh-130) "DM Sans";
    }
    .txt-s-short-bold {
        font: normal 700 var(--txt-s-fontsize) / var(--lh-130) "DM Sans";
    }

    /* Menu */
    .menu-main {
        font: normal 700 var(--menu-main-fontsize) / var(--lh-110) "DM Sans";
        letter-spacing: 0.05em;
        text-transform: uppercase;
    }
    .menu-main-sub {
        font: normal 500 var(--menu-main-sub-txt-fontsize) / var(--lh-120) "DM Sans";
        letter-spacing: 0.1em;
        text-transform: uppercase;
    }
    .menu-head {
        font: normal 500 var(--menu-head-fontsize) / var(--lh-120) "DM Sans";
        letter-spacing: 0.03em;
        text-transform: uppercase;
    }
    .menu-head-sub {
        font: normal 500 var(--menu-head-sub-txt-fontsize) / var(--lh-120) "DM Sans";
        letter-spacing: 0.03em;
        text-transform: uppercase;
    }
    .menu-foot {
        font: normal 300 var(--menu-foot-fontsize) / var(--lh-120) "DM Sans";
        letter-spacing: 0.03em;
        text-transform: uppercase;
    }
    .menu-foot-sub {
        font: normal 400 var(--menu-foot-sub-txt-fontsize) / var(--lh-120) "DM Sans";
        letter-spacing: 0.03em;
        text-transform: uppercase;
    }
    .menu-stripe-buter-txt {
        font: normal 500 var(--menu-stripe-buter-fontsize) / var(--lh-100) "DM Sans";
        letter-spacing: 0.15em;
    }
    .menu-stripe-contact {
        font: normal 500 var(--menu-stripe-contact-txt-fontsize) / var(--lh-120) "DM Sans";
    }

    /* Phone */
    .phone-l {
        font: normal 200 var(--phone-l-fontsize) / var(--lh-100) "DM Sans";
    }
    .phone-s {
        font: normal 200 var(--phone-s-fontsize) / var(--lh-100) "DM Sans";
        letter-spacing: 0.03em;
        text-transform: uppercase;
    }

    /* CTA */
    .cta-button-l, .cta-button-l .fl-button {
        font: normal 700 var(--cta-button-l-fontsize) / var(--lh-120) "DM Sans";
        letter-spacing: 0.02em;
        text-transform: uppercase;
    }
    .cta-button-m, .cta-button-m .fl-button {
        font: normal 700 var(--cta-button-m-fontsize) / var(--lh-120) "DM Sans";
        letter-spacing: 0.02em;
        text-transform: uppercase;
    }
    .cta-button-s, .cta-button-s .fl-button {
        font: normal 700 var(--cta-button-s-fontsize) / var(--lh-120) "DM Sans";
        letter-spacing: 0.05em;
        text-transform: uppercase;
    }
    .cta-button-round-l, .cta-button-round-l .fl-button {
        font: normal 300 var(--cta-button-round-l-fontsize) / var(--lh-120) "DM Sans";
        letter-spacing: 0.02em;
        text-transform: uppercase;
    }
    .cta-button-round-m, .cta-button-round-m .fl-button {
        font: normal 300 var(--cta-button-round-m-fontsize) / var(--lh-120) "DM Sans";
        letter-spacing: 0.02em;
        text-transform: uppercase;
    }
    .cta-button-round-s, .cta-button-round-s .fl-button {
        font: normal 300 var(--cta-button-round-s-fontsize) / var(--lh-120) "DM Sans";
        letter-spacing: 0.05em;
        text-transform: uppercase;
    }
    .cta-button-footer, .cta-button-footer .fl-button {
        font: normal 700 var(--cta-button-footer-fontsize) / var(--lh-120) "DM Sans";
        letter-spacing: 0.02em;
        text-transform: uppercase;
    }
    .cta-link, .cta-link .fl-button {
        font: normal 500 var(--cta-link-fontsize) / var(--lh-100) "DM Sans";
        text-transform: uppercase;
    }
    .cta-lm, .cta-lm .fl-button {
        font: normal 700 var(--cta-lm-fontsize) / var(--lh-100) "DM Sans";
        letter-spacing: 0.05em;
        text-transform: uppercase;
    }

    /* FAQ */
    .faq-head {
        font: normal 500 var(--faq-head-fontsize) / var(--lh-120) "DM Sans";
    }
    .faq-body {
        font: normal 500 var(--faq-body-fontsize) / var(--lh-150) "DM Sans";
    }
    /* HL */
    .hl {
        font: normal 200 var(--hl-fontsize) / var(--lh-120) "DM Sans";
        letter-spacing: -0.02em;
    }

    /* Tab */
    .tab-head {
        font: normal 500 var(--tab-head-fontsize) / var(--lh-120) "DM Sans";
    }
    .tab-body {
        font: normal 400 var(--tab-body-fontsize) / var(--lh-120) "DM Sans";
    }

    /* Pic */
    .pic-txt {
        font: normal 500 var(--pic-fontsize) / var(--lh-120) "DM Sans";
    }

    /* BC */
    .bc {
        font: normal 500 var(--bc-fontsize) / var(--lh-120) "DM Sans";
        letter-spacing: 0.03em;
        text-transform: uppercase;
    }

    /* SD */
    .sd {
        font: normal 400 var(--sd-fontsize) / var(--lh-120) "DM Sans";
        letter-spacing: 0.05em;
        text-transform: uppercase;
    }

    /* Special For This Project */
    .spe-above-heading {
        font: normal 600 var(--spe-above-heading-fontsize) / var(--lh-100) "DM Sans";
        letter-spacing: 0.05em;
        text-transform: uppercase;
        margin-top: 1em;
        margin-bottom: 2em;
    }
    .spe-data-name {
        font: normal 600 var(--spe-data-name-fontsize) / var(--lh-120) "DM Sans";
        letter-spacing: 0.02em;
        text-transform: uppercase;
    }
    .spe-data-text {
        font: normal 400 var(--spe-data-text-fontsize) / var(--lh-120) "DM Sans";
    }

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