body, textarea, input, select {
    font-family: Barlow, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.66em;
    color: var(--font);
}
textarea, input, select {
    margin: min(0.5em, 30px) 0;
}
a.large,
p.large {
    font-size: clamp(20px, 2.6vw, 26px);
}
a.small,
p.small {
    font-size: 14px;
}

h1, h2, h3, h4, h5, h6, .hero, .title-large, .title-medium, .title-small {
    margin: min(0.5em, 30px) 0;
    font-family: Barlow, sans-serif;
    font-style: normal;
    text-transform: uppercase;
    font-weight: 400;
}

.hero {

    font-size: clamp(42px, 6vw, 60px);
    line-height: 0.9em;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0;
}

.hero.hero-large {
    font-size: clamp(42px, 6vw, 90px);
    letter-spacing: 5px;
}

.title-outline {
    font-weight: 900;
    color: transparent;
    -webkit-text-stroke-width: 2px;
    -webkit-text-stroke-color: var(--white);
}

.bg_white .title-outline, .bg_grey .title-outline {
    -webkit-text-stroke-color: var(--primary);

}

h1, h2, .title-large {
    font-size: clamp(30px, 4vw, 36px);
    line-height: 1.25em
}

h3, .title-medium {
    font-size: clamp(28px, 3.5vw, 35px);
    line-height: 1.42em;
    font-weight: 800;
}

h4, .title-small {
    font-size: clamp(24px, 3vw, 30px);
    line-height: 0.93em;
}

h5, .title-xs {
    font-size: clamp(18px, 2vw, 22px);
}

h6, .title-xxs {
    font-size: clamp(18px, 2vw, 20px);
    line-height: 1.1em;
}

.logomark-title {
    padding-left: 48px;
    background: left / 28px 30px no-repeat var(--logomark);
}

.minus-margin {
    margin-bottom: 0;
}

.minus-margin + * {
    margin-top: 5px;
}

.light-text {
    font-weight: 300;
}

.regular-text {
    font-weight: 400;
}

.semi-bold-text {
    font-weight: 600;
}

.black-text {
    font-weight: 900;
}

.underline {
    text-decoration: underline;
}

a {
    color: var(--link-color);
    text-decoration: none;
}
#footer a:not(.button):hover {
    opacity: 0.7;
}


.alignleft {
    float: left;
    margin-right: 20px;
}

.alignright {
    float: right;
    margin-left: 20px;
}

.aligncenter {
    margin: auto;
    text-align: center;
    display: block;
}

img {
    max-width: 100%;
    height: auto;
}

div.wp-caption {
    max-width: 100%;
    display: inline-block;
}

p.wp-caption-text {
    background-color: #f7f7f7;
    color: #808080;
    padding: 16px 25px;
    font-size: 18px;
    font-style: italic;
}


.button {
    padding: 10px 18px;
    display: inline-block;
    text-decoration: none;
    text-transform: uppercase;
    color: var(--white);
    font-weight: 800;
    background: var(--secondary);
    border: 2px solid var(--secondary);
    border-radius: 10px 5px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    position: relative;
    transition: .3s;
    overflow: hidden;
    isolation: isolate;
}

.button:not(:last-of-type) {
    margin-right: 8px;
}

.button:before, .button:after {
    content: '';
    background: white;
    width: 150%;
    border-radius: 50%;
    top: -150%;
    display: block;
    position: absolute;
    aspect-ratio: 1;
    transition: .4s;
    z-index: -1;
}

.button:before {
    left: -150%;
}

.button:after {
    right: -150%;
}

.button:hover:before {
    left: -10px;
    top: -50%;
}

.button:hover:after {
    right: -10px;
    top: -50%;

}

.button:hover {
    border-radius: 5px 10px;
    color: var(--secondary);
}

.button.large {
    padding: 18px 28px;
    border-radius: 15px 5px;
}

.button.outline {
    background: transparent;
    border: 2px solid var(--primary);
    color: var(--primary);
}

.button.outline:hover {
    color: var(--white);
}

.button.outline:before, .button.outline:after {
    background: var(--primary);
}

.bg_primary .button.outline {
    border-color: var(--white);
    color: var(--white);
}

.bg_primary .button.outline:hover {
    color: var(--primary);
}

.bg_primary .button.outline:before, .bg_primary .button.outline:after {
    background: var(--white);
}

.button.secondary {
    background: var(--primary);
    border: 2px solid var(--primary);
}

.button.secondary:hover {
    color: var(--primary);
}

.button.tertiary {
    background: var(--tertiary);
    border: 2px solid var(--tertiary);
}

.button.tertiary:hover {
    color: var(--tertiary);
}

.button.fw_btn {
    width: 100%;
    box-sizing: border-box;
    padding: 25px 40px;
    font-size: 24px;
    background: var(--white);
    color: var(--primary);
    border: none;
    border-radius: 5px;
}

.bg_white .button.fw_btn {
    background: var(--white-smoke);
}

.button.fw_btn:hover {
    background: var(--tertiary);
    color: var(--white);
}

.button.fw_btn::before {
    content: '';
    position: absolute;
    top: 0%;
    left: 1%;
    width: 127px;
    height: 85px;
    background: url('data:image/svg+xml;utf8,<svg width="127" height="85" viewBox="0 0 127 85" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M85.3456 11.4486C85.6559 9.11415 84.2353 6.89972 81.9904 6.21884L64.1246 0.799941C61.3009 -0.056525 58.3826 1.83205 57.9922 4.76855L41.4808 128.977C41.1582 131.404 42.7047 133.685 45.0715 134.272L63.0641 138.737C65.8324 139.424 68.5836 137.543 68.961 134.704L85.3456 11.4486Z" fill="white" fill-opacity="0.1"/><path d="M51.5086 20.858C51.8319 18.4258 50.2781 16.1416 47.9044 15.56L28.0344 10.6908C25.2695 10.0132 22.5278 11.8945 22.1512 14.7276L10.8201 99.9664C10.4885 102.461 12.1303 104.788 14.5839 105.301L34.5467 109.472C37.2694 110.041 39.9024 108.167 40.2704 105.399L51.5086 20.858Z" fill="white" fill-opacity="0.1"/><path d="M116.244 38.6728C116.567 36.2405 115.013 33.9564 112.64 33.3747L92.7697 28.5056C90.0047 27.828 87.263 29.7093 86.8864 32.5424L75.5554 117.781C75.2237 120.276 76.8656 122.603 79.3192 123.115L99.2819 127.287C102.005 127.856 104.638 125.982 105.006 123.214L116.244 38.6728Z" fill="white" fill-opacity="0.1"/><path d="M126.548 73.7417C126.873 71.2964 125.301 69.0032 122.91 68.4356L121.974 68.2134C119.218 67.5589 116.499 69.4388 116.124 72.2583L113.269 93.7348C112.936 96.2385 114.591 98.5714 117.056 99.0738L117.996 99.2654C120.712 99.8191 123.33 97.9467 123.697 95.1876L126.548 73.7417Z" fill="white" fill-opacity="0.1"/><path d="M14.1069 42.5571C14.4319 40.1118 12.8599 37.8187 10.4693 37.2511L9.53335 37.0288C6.77696 36.3743 4.0582 38.2542 3.6834 41.0737L0.828459 62.5503C0.495635 65.054 2.1503 67.3869 4.61526 67.8893L5.55531 68.0809C8.27165 68.6345 10.8893 66.7621 11.256 64.0031L14.1069 42.5571Z" fill="white" fill-opacity="0.1"/></svg>') no-repeat center;
    background-size: cover;
    transform: translate(1%, 50%) scale(0.8);
    transition: transform 0.5s ease;
    pointer-events: none;
    border-radius: 0;
}

.button.fw_btn::after {
    content: '';
    width: 21px;
    height: 34px;
    position: absolute;
    background: right / contain no-repeat var(--tertiary-chevron);
    top: calc(50% - 17px);
    right: 25px;
}

.button.fw_btn:hover::after {
    filter: brightness(0) invert(1);
}

.button.fw_btn:hover::before {
    transform: translate(1%, 20%) scale(1.05)
}

.mce-content-body a.button[data-mce-selected] {
    padding: 8px 20px;
    margin: 0;
    box-shadow: none;
    border-radius: 0;
}

.mce-content-body a.button.white {
    background: #ddd !important;
}

button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

input[type=search] {
    -webkit-appearance: none;
}

/* bullet points */

ul.check_ul {
    list-style: none;
    padding: 0;
}

ul.check_ul > li {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 10px;
}

ul.check_ul > li:last-child {
    margin-bottom: 0;
}



.mce-content-body span[style="color: #ffffff;"] {
    color: #ddd !important;
}

@media (max-width: 450px) {
    .button {
        min-width: 100%;
        box-sizing: border-box;
        text-align: center;
    }

    .button:not(:last-of-type) {
        margin-bottom: 8px;
    }
}