:root {
    --Green50: #93c854;
    --Green40: #abd57b;
    --Green30: #c4e1a2;
    --Green20: #ddedc8;
    --Green10: #f5faef;
    --Blue50: #4195d5;
    --Blue40: #6fafdc;
    --Blue30: #9cc8e7;
    --Blue20: #cae2f2;
    --Blue10: #f7fbfd;
    --DarkBlue50: #133f5d;
    --DarkBlue40: #4c6e84;
    --DarkBlue30: #859cab;
    --DarkBlue20: #becbd3;
    --DarkBlue10: #f7f9fa;

    --heading1-fs: 3rem;
    --heading2-fs: 2.6rem;
    --heading3-fs: 2rem;
    --subheading-fs: 1.4rem;
    --table-title-fs: 1.5rem;
    --table-header-fs: 1.3rem;
    --paragraph-fs: 1.2rem;
    --small-text-fs: 1rem;
    --footer-fs: 0.8rem;
}

/* For medium screens (768px and above) */
@media (max-width: 768px) {
    :root {
        --heading1-fs: 2.2rem;
        --heading2-fs: 2rem;
        --heading3-fs: 1.6rem;
        --subheading-fs: 1.3rem;
        --table-title-fs: 1.3rem;
        --table-header-fs: 1.2rem;
        --paragraph-fs: 1.2rem;
        --small-text-fs: 0.9rem;
        --footer-fs: 0.7rem;
    }
}

/* For small screens (480px and below) */
@media (max-width: 480px) {
    :root {
        --heading1-fs: 2rem;
        --heading2-fs: 1.8rem;
        --heading3-fs: 1.4rem;
        --subheading-fs: 1.1rem;
        --table-title-fs: 1.2rem;
        --table-header-fs: 1.1rem;
        --paragraph-fs: 1rem;
        --small-text-fs: 0.8rem;
        --footer-fs: 0.6rem;
    }
}

body {
    font-family: 'Lato', sans-serif;
}

h1 {
    text-align: left;
    font-size: var(--heading1-fs);
    font-weight: 700;
    margin: 0;
    padding: 0 0 1rem;
    padding-top: 0;
    line-height: 1.5;
}

h2 {
    text-align: center;
    font-size: var(--heading2-fs);
    font-weight: 700;
    margin: 0;
    padding: 0 0 1rem;
    padding-top: 0;
    line-height: 1.5;
}

h3 {
    font-size: var(--heading3-fs);
    font-weight: 700;
    margin: 0;
    padding: 0 0 0.8rem;
    padding-top: 0;
    line-height: 1.5;
}

p {
    font-size: var(--paragraph-fs);
    padding: 0 0 2rem;
    margin: 0;
    line-height: 1.8;
}

/* Section Landing Hero */

.landing {
    background: linear-gradient(118.66deg, #257AB4 -3.43%, #206A9C 8.08%, #0F3449 36.22%, #0B2835 51.36%) !important;
    overflow: hidden;
    position: relative;
}

.landing-container {
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 1120px;
    padding: 8rem 1rem;
    margin: 0 auto;
}

.landing-container::before {
    background: transparent url(../img/stars_hero.webp) repeat;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: block;
    z-index: 0;
    opacity: 0.8;
    content: '';
}

/* .landing-illustration {
    width: 100%;
    max-width: 650px;
} */

.paper-button {
    z-index: 5;
    padding: 12px 32px;
    font-size: var(--paragraph-fs);
}

/* Section */

.paper-container {
    padding: 7rem 1rem;
}

/* Common Content Left & Right */

.flex-container {
    display: flex;
    align-items: center;
}

.content-text {
    width: 50%;
}

.content-illustration {
    width: 70%;
}

.content-illustration img {
    width: 100%;
    max-width: 720px;
}

.footer-row.new-footer {
    padding: 1rem;
}

.blue-gradient-footer .footer-row.new-footer {
    background: transparent;
}

.blue-gradient-footer {
    background: linear-gradient(118.66deg, #257AB4 -3.43%, #206A9C 8.08%, #0F3449 36.22%, #0B2835 51.36%);
    position: relative;
    overflow: hidden;
}

.pb-0 {
    padding-bottom: 0;
}

.pb-2 {
    padding-bottom: 2rem;
}

.white-bg {
    padding-bottom: 0 !important;
}

.subheading {
    font-size: var(--subheading-fs);
}

@media (max-width: 1033px) {
    h1 {
        text-align: center;
    }

    .landing-container {
        display: flex;
        flex-direction: column;
        height: auto;
        justify-content: center;
        text-align: center;
    }

    .landing-text {
        width: 100%;
        order: 2;
    }

    .landing-illustration {
        order: 1;
    }

    .landing-illustration img {
        max-width: 650px;
    }
}

@media (max-width: 768px) {
    .landing-container {
        padding: 8rem 1rem 6rem;
    }

    .landing-illustration {
        max-width: 550px;
    }

    .paper-container {
        padding: 4rem 1rem;
    }

    .content-illustration img {
        max-width: 500px;
    }
}

@media (max-width: 480px) {
    .landing-container {
        padding: 10rem 1rem 5rem;
    }
}