/*
==============================
Font Faces
==============================
*/

@font-face {
    font-family: 'Outfit';
    src: url(fonts/Outfit-VariableFont_wght.woff2) format('woff2');
    font-weight: 100 900;
    font-display: swap;
}

@font-face {
    font-family: 'DM Sans';
    src: url(fonts/DMSans-VariableFont_wght.woff2) format('woff2');
    font-weight: 100 900;
    font-display: swap;
}

@font-face {
    font-family: 'Plus Jakarta Sans';
    src: url(fonts/PlusJakartaSans-VariableFont_wght.woff2) format('woff2');
    font-weight: 200 800;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url(fonts/Inter-VariableFont_wght.woff2) format('woff2');
    font-weight: 100 900;
    font-display: swap;
}


/*
==============================
Base
==============================
*/

body {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    color: var(--black);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h1 a,
h2 a,
h3 a,
h4 a,
h5 a {
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--black);
}

p,
ul li,
ol li,
span,
table,
table tr,
table tr td {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.6;
}

a {
    font-weight: 500;
    line-height: 1.3;
    color: var(--color-primary);
    text-decoration: none;
}

a:hover {
    color: var(--color-secondary);
    text-decoration: none;
}

a:active {
    color: var(--color-primary);
    text-decoration: none;
}

input,
textarea,
select {
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.5;
}

b,
strong {
    font-weight: 700;
}


/*
==============================
Heading Font - Outfit
==============================
*/

.hf-outfit h1,
.hf-outfit h2,
.hf-outfit h3,
.hf-outfit h4,
.hf-outfit h5,
.hf-outfit h1 a,
.hf-outfit h2 a,
.hf-outfit h3 a,
.hf-outfit h4 a,
.hf-outfit h5 a {
    font-family: 'Outfit', sans-serif;
}

.hf-outfit .section-title {
    font-family: 'Outfit', sans-serif;
}

.hf-outfit .ft-heading {
    font-family: 'Outfit', sans-serif;
}


/*
==============================
Heading Font - DM Sans
==============================
*/

.hf-dmsans h1,
.hf-dmsans h2,
.hf-dmsans h3,
.hf-dmsans h4,
.hf-dmsans h5,
.hf-dmsans h1 a,
.hf-dmsans h2 a,
.hf-dmsans h3 a,
.hf-dmsans h4 a,
.hf-dmsans h5 a {
    font-family: 'DM Sans', sans-serif;
}

.hf-dmsans .section-title {
    font-family: 'DM Sans', sans-serif;
}

.hf-dmsans .ft-heading {
    font-family: 'DM Sans', sans-serif;
}


/*
==============================
Primary Font - Plus Jakarta Sans
==============================
*/

.pf-jakarta,
.pf-jakarta p,
.pf-jakarta ul li,
.pf-jakarta ol li,
.pf-jakarta span,
.pf-jakarta input,
.pf-jakarta textarea,
.pf-jakarta select,
.pf-jakarta table,
.pf-jakarta table tr td,
.pf-jakarta a {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.pf-jakarta .section-subtitle {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.pf-jakarta .ft-primary {
    font-family: 'Plus Jakarta Sans', sans-serif;
}


/*
==============================
Primary Font - Inter
==============================
*/

.pf-inter,
.pf-inter p,
.pf-inter ul li,
.pf-inter ol li,
.pf-inter span,
.pf-inter input,
.pf-inter textarea,
.pf-inter select,
.pf-inter table,
.pf-inter table tr td,
.pf-inter a {
    font-family: 'Inter', sans-serif;
}

.pf-inter .section-subtitle {
    font-family: 'Inter', sans-serif;
}

.pf-inter .ft-primary {
    font-family: 'Inter', sans-serif;
}

.hf-outfit .ft-heading {
	font-family: 'Outfit', sans-serif;
}

.hf-dmsans .ft-heading {
	font-family: 'DM Sans', sans-serif;
}

/*
==============================
Headings
==============================
*/

h1 {
    font-size: 2.25rem;
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.03em;
}
h2 {
    font-size: 1.75rem;
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -0.02em;
}
h3 {
    font-size: 1.5rem;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.01em;
}
h4 {
    font-size: 1.25rem;
    line-height: 1.25;
    font-weight: 600;
    letter-spacing: 0;
}
h5 {
    font-size: 1rem;
    line-height: 1.25;
    font-weight: 600;
    letter-spacing: 0;
}


/*
==============================
Headings - Media Queries
==============================
*/

@media (min-width: 992px) {
    h1 {
        font-size: 4rem;
        line-height: 1.1;
        letter-spacing: -0.03em;
    }
    h2 {
        font-size: 2.3rem;
        line-height: 1.15;
    }
    h3 {
        font-size: 2rem;
        line-height: 1.2;
    }
    h4 {
        font-size: 1.75rem;
        line-height: 1.25;
    }
    h5 {
        font-size: 1.25rem;
        line-height: 1.25;
    }
}


/*
==============================
Font Family Utilities
==============================
*/

.ft-heading {
    font-weight: 700;
    letter-spacing: -0.02em;
}

.ft-primary {
    font-weight: 400;
}


/*
==============================
Font Size Utilities
==============================
*/

.fs-07 { font-size: 0.7rem; }
.fs-08 { font-size: 0.8rem; }
.fs-09,
.fs-09 p { font-size: 0.9rem; }
.fs-1 { font-size: 1rem !important; }
.fs-11 { font-size: 1.1rem; }
.fs-12,
.fs-12 p { font-size: 1.2rem; }
.fs-13 { font-size: 1.3rem; }
.fs-14 { font-size: 1.4rem; }
.fs-15 { font-size: 1.5rem; }
.fs-2 { font-size: 2rem; }
.fs-25 { font-size: 2.5rem; }
.fs-3 { font-size: 3rem; }


/*
==============================
Font Weight Utilities
==============================
*/

.fw-800,
.fw-800 p { font-weight: 800; }
.fw-700,
.fw-700 p { font-weight: 700; }
.fw-600,
.fw-600 p { font-weight: 600; }
.fw-500,
.fw-500 p { font-weight: 500; }
.fw-400,
.fw-400 p { font-weight: 400; }


/*
==============================
Font Style Utilities
==============================
*/

.f-italic { font-style: italic; }


/*
==============================
Section Typography
==============================
*/

.section-title {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.section-subtitle {
    font-size: 1.1rem;
    line-height: 1.4;
    font-weight: 400;
}

@media (min-width: 992px) {
    .section-title {
        font-size: 2.25rem;
        line-height: 1.2;
    }
    .section-subtitle {
        font-size: 1.35rem;
        line-height: 1.35;
    }
}


/*
==============================
Cookies Notice
==============================
*/

.cc-banner .cc-message {
    font-size: 0.9rem;
}
.cc-banner .cc-link {
    font-size: 1rem;
    font-weight: 700;
    color: var(--color-primary) !important;
}