@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/OpenSans-ExtraBold.eot');
    src: url('../fonts/OpenSans-ExtraBold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/OpenSans-ExtraBold.woff2') format('woff2'),
        url('../fonts/OpenSans-ExtraBold.woff') format('woff'),
        url('../fonts/OpenSans-ExtraBold.ttf') format('truetype'),
        url('../fonts/OpenSans-ExtraBold.svg#OpenSans-ExtraBold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/OpenSans-BoldItalic.eot');
    src: url('../fonts/OpenSans-BoldItalic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/OpenSans-BoldItalic.woff2') format('woff2'),
        url('../fonts/OpenSans-BoldItalic.woff') format('woff'),
        url('../fonts/OpenSans-BoldItalic.ttf') format('truetype'),
        url('../fonts/OpenSans-BoldItalic.svg#OpenSans-BoldItalic') format('svg');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/OpenSans-Bold.eot');
    src: url('../fonts/OpenSans-Bold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/OpenSans-Bold.woff2') format('woff2'),
        url('../fonts/OpenSans-Bold.woff') format('woff'),
        url('../fonts/OpenSans-Bold.ttf') format('truetype'),
        url('../fonts/OpenSans-Bold.svg#OpenSans-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/OpenSans-Light.eot');
    src: url('../fonts/OpenSans-Light.eot?#iefix') format('embedded-opentype'),
        url('../fonts/OpenSans-Light.woff2') format('woff2'),
        url('../fonts/OpenSans-Light.woff') format('woff'),
        url('../fonts/OpenSans-Light.ttf') format('truetype'),
        url('../fonts/OpenSans-Light.svg#OpenSans-Light') format('svg');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/OpenSans-ExtraBoldItalic.eot');
    src: url('../fonts/OpenSans-ExtraBoldItalic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/OpenSans-ExtraBoldItalic.woff2') format('woff2'),
        url('../fonts/OpenSans-ExtraBoldItalic.woff') format('woff'),
        url('../fonts/OpenSans-ExtraBoldItalic.ttf') format('truetype'),
        url('../fonts/OpenSans-ExtraBoldItalic.svg#OpenSans-ExtraBoldItalic') format('svg');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/OpenSans-Italic.eot');
    src: url('../fonts/OpenSans-Italic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/OpenSans-Italic.woff2') format('woff2'),
        url('../fonts/OpenSans-Italic.woff') format('woff'),
        url('../fonts/OpenSans-Italic.ttf') format('truetype'),
        url('../fonts/OpenSans-Italic.svg#OpenSans-Italic') format('svg');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/OpenSans-LightItalic.eot');
    src: url('../fonts/OpenSans-LightItalic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/OpenSans-LightItalic.woff2') format('woff2'),
        url('../fonts/OpenSans-LightItalic.woff') format('woff'),
        url('../fonts/OpenSans-LightItalic.ttf') format('truetype'),
        url('../fonts/OpenSans-LightItalic.svg#OpenSans-LightItalic') format('svg');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/OpenSans-MediumItalic.eot');
    src: url('../fonts/OpenSans-MediumItalic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/OpenSans-MediumItalic.woff2') format('woff2'),
        url('../fonts/OpenSans-MediumItalic.woff') format('woff'),
        url('../fonts/OpenSans-MediumItalic.ttf') format('truetype'),
        url('../fonts/OpenSans-MediumItalic.svg#OpenSans-MediumItalic') format('svg');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/OpenSans-Regular.eot');
    src: url('../fonts/OpenSans-Regular.eot?#iefix') format('embedded-opentype'),
        url('../fonts/OpenSans-Regular.woff2') format('woff2'),
        url('../fonts/OpenSans-Regular.woff') format('woff'),
        url('../fonts/OpenSans-Regular.ttf') format('truetype'),
        url('../fonts/OpenSans-Regular.svg#OpenSans-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/OpenSans-Medium.eot');
    src: url('../fonts/OpenSans-Medium.eot?#iefix') format('embedded-opentype'),
        url('../fonts/OpenSans-Medium.woff2') format('woff2'),
        url('../fonts/OpenSans-Medium.woff') format('woff'),
        url('../fonts/OpenSans-Medium.ttf') format('truetype'),
        url('../fonts/OpenSans-Medium.svg#OpenSans-Medium') format('svg');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/OpenSans-SemiBold.eot');
    src: url('../fonts/OpenSans-SemiBold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/OpenSans-SemiBold.woff2') format('woff2'),
        url('../fonts/OpenSans-SemiBold.woff') format('woff'),
        url('../fonts/OpenSans-SemiBold.ttf') format('truetype'),
        url('../fonts/OpenSans-SemiBold.svg#OpenSans-SemiBold') format('svg');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/OpenSans-SemiBoldItalic.eot');
    src: url('../fonts/OpenSans-SemiBoldItalic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/OpenSans-SemiBoldItalic.woff2') format('woff2'),
        url('../fonts/OpenSans-SemiBoldItalic.woff') format('woff'),
        url('../fonts/OpenSans-SemiBoldItalic.ttf') format('truetype'),
        url('../fonts/OpenSans-SemiBoldItalic.svg#OpenSans-SemiBoldItalic') format('svg');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

:root {
    --font-family: 'Open Sans', sans-serif;
    --font-size-root: 16px;
    --font-size-base: calc(var(--font-size-root) + 1);
    --font-size-h1: min(max(40px, calc(2.5rem + (70 - 40) * ((100vw - 390px) / (1440 - 390)))), 70px);
    --font-size-h2: min(max(30px, calc(1.875rem + (60 - 30) * ((100vw - 390px) / (1440 - 390)))), 60px);
    --font-size-h3: min(max(24px, calc(1.5rem + (30 - 24) * ((100vw - 390px) / (1440 - 390)))), 30px);
    --font-size-h4: min(max(18px, calc(1.125rem + (24 - 18) * ((100vw - 390px) / (1440 - 390)))), 24px);
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
li,
ul,
ol,
button,
a,
input,
textarea,
select,
label {
    font-family: var(--font-family);
}

h1,
.h1 {
    font-size: var(--font-size-h1);
    line-height: min(max(50px, calc(3.125rem + (80 - 50) * ((100vw - 390px) / (1440 - 390)))), 80px);
}

h2,
.h2 {
    font-size: var(--font-size-h2);
    line-height: min(max(30px, calc(1.875rem + (70 - 30) * ((100vw - 390px) / (1440 - 390)))), 70px);
}

h3,
.h3 {
    font-size: var(--font-size-h3);
    line-height: min(max(30px, calc(1.875rem + (40 - 30) * ((100vw - 390px) / (1440 - 390)))), 40px);
}

h4,
.h4 {
    font-size: var(--font-size-h4);
    line-height: min(max(24px, calc(1.5rem + (34 - 24) * ((100vw - 390px) / (1440 - 390)))), 34px);
}

p {
    font-size: var(--font-size-base);
    line-height: 1.7647058823529411764705882352941;
}

.site-main,
.container {
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 20px;
}

@media (max-width: 767px) {
    p {
        font-size: calc(var(--font-size-base) - 3px);
        line-height: 1;
    }
}

/* Title Cover Up Effect */
.title-cover-up {
    /* Ensure container allows inline-block children */
    display: block;
}
.title-cover-up .cover-mask {
    display: block;
    overflow: hidden;
    line-height: 1.2;
}
.title-cover-up .cover-inner {
    display: block;
    transform: translateY(120%);
    transition: transform 1s cubic-bezier(0.33, 1, 0.24, 1);
}
.title-cover-up.is-inview .cover-inner {
    transform: translateY(0);
}