﻿:root {
    --font-headings: "Montserrat";
    --font-base: "Lato";
    
    --font-primary:
        var(--font-headings), -apple-system, Lato, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    --font-secondary: var(--font-base), -apple-system, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;

    
    --base-pixels: 10px;

    
    --mp-xxl: calc(16 * var(--base-pixels));
    --mp-xl: calc(12 * var(--base-pixels));
    --mp-l: calc(8 * var(--base-pixels));
    --mp-base: calc(4 * var(--base-pixels));
    --mp-m: calc(3.6 * var(--base-pixels));
    --mp-s: calc(2.4 * var(--base-pixels));
    --mp-xs: calc(1.8 * var(--base-pixels));
    --mp-xxs: calc(1 * var(--base-pixels));

    
    --weight-thin: 300;
    --weight-normal: 400;
    --weight-bold: 600;
    --weight-black: 900;

    
    --line-height-body: 2;
    --line-height-heading: 1.3;
    --line-height-page-title: 1.1;
    --line-height-paragraph: 2;

    

    
    --brand-black: #333333;
    --brand-dark-grey: #4d4d4d;
    --brand-white: #ffffff;
    --brand-grey: #e6e7e8;
    
    --brand-green: #006636;
    --brand-blue: #002f87;
    --brand-orange: #f0a53b;

    --clr-primary: var(---brand-blue);
    --clr-secondary: var(--brand-green);

    
    --content-max-width: 1600px;
    --content-narrow-width: 960px;
    --content-width: 94vw;

    
    --transition-fast: 0.25s;
    --transition-normal: 0.33s;
    --transition-slow: 0.5s;

    --btn-outline-width: 2px;

    
    

    --size-h1: 6.4rem;
    --size-h2: 4.8rem;
    --size-h3: 3.6rem;
    --size-h4: 2.8rem;
    --size-h5: 2.4rem;
    --size-h6: 2rem;

    --size-body: 1.6rem;
    --size-btn: var(--size-body);

    
    --page-title-size: var(--size-h1);

    

    --screen-xl: 1280px;
    --screen-lg: 1100px;
    --screen-md: 1024px;
    --screen-sm: 768px;
    --screen-xs: 640px;
}

@media screen and (max-width: 1023px) {
    
    :root {
        --size-h1: 5rem;
        --size-h2: 4.4rem;
        --size-h3: 3.2rem;
        --size-h4: 2.4rem;
        --size-h5: 2rem;
        --size-h6: 1.8rem;
    }
}

@media screen and (max-width: 767px) {
    
    :root {
        --size-h1: 4.4rem;
        --size-h2: 3.6rem;
        --size-h3: 2.8rem;
        --size-h4: 2.4rem;
        --size-h5: 2.2rem;
        --size-h6: 2rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    ::before,
    ::after {
        animation-delay: -1ms !important;
        animation-duration: 1ms !important;
        animation-iteration-count: 1 !important;
        background-attachment: initial !important;
        scroll-behavior: auto !important;
        transition-duration: 0s !important;
        transition-delay: 0s !important;
    }
}



:root,
.section-blue {
    
    background: var(--brand-blue);
    
    --section-theme-bg: var(--brand-blue);
    --section-theme-title: var(--brand-white);
    --section-theme-text: var(--brand-white);
    
    --section-theme-faq: var(--brand-white);
    --section-theme-svg-bg: var(--brand-green);
    --section-theme-svg-icon: var(--brand-white);
    --section-theme-svg-rect: var(--brand-white);
}
.section-dark-blue {
    
    background: var(--brand-blue);
    --section-theme-bg: var(--brand-blue);
    --section-theme-title: var(--brand-white);
    --section-theme-text: var(--brand-white);
    --section-theme-faq: var(--brand-white);
    --section-theme-svg-bg: var(--brand-green);
    --section-theme-svg-icon: var(--brand-white);
    --section-theme-svg-rect: var(--brand-white);
}
.section-gold {
    
    background: var(--brand-green);
    --section-theme-bg: var(--brand-green);
    --section-theme-title: var(--brand-white);
    --section-theme-text: var(--brand-white);
    --section-theme-faq: var(--brand-white);
    --section-theme-svg-bg: var(--brand-green);
    --section-theme-svg-icon: var(--brand-white);
    --section-theme-svg-rect: var(--brand-white);

    --blog-title: var(--brand-white);
    --blog-text: var(--brand-white);
    --blog-highlight: var(--brand-white);
    --blog-hover: var(--brand-white);
}
.section-white {
    
    background: var(--brand-white);
    --section-theme-bg: var(--brand-white);
    --section-theme-title: var(--brand-blue);
    --section-theme-text: var(--brand-black);
    --section-theme-faq: var(--brand-green);
    --section-theme-svg-bg: var(--brand-green);
    --section-theme-svg-icon: var(--brand-white);
    --section-theme-svg-rect: var(--brand-green);

    --blog-title: var(--brand-black);
    --blog-text: var(--brand-black);
    --blog-highlight: var(--brand-green);
    --blog-hover: var(--brand-green);
}

.section-grey {
    
    background: var(--brand-black-200);
    --section-theme-bg: var(--brand-black-200);
    --section-theme-title: var(--brand-blue);
    --section-theme-text: var(--brand-black);
    --section-theme-faq: var(--brand-green);
    --section-theme-svg-bg: var(--brand-green);
    --section-theme-svg-icon: var(--brand-white);
    --section-theme-svg-rect: var(--brand-green);
}

.block-border-top {
    border-top: 20px solid var(--border-top-color, var(--brand-orange));
}
.block-border-bottom {
    border-bottom: 20px solid var(--border-bottom-color, var(--brand-orange));
}


html {
    font-size: var(--base-pixels);
    scroll-behavior: smooth;
}

body:not(.wp-admin) {
    background-color: var(--brand-white);
    font-family: var(--font-secondary);
    font-size: var(--size-body);
    line-height: var(--line-height-body) !important;
    overflow-x: hidden;
}

.visually-hidden:not(:focus):not(:active) {
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

* {
    box-sizing: border-box;
}

b,
strong {
    font-weight: var(--weight-bold);
}

a {
    color: var(--brand-blue);
    text-decoration: none;
}
a:hover {
    color: var(--brand-green);
}

a.jumplink {
    position: relative;
    top: -10rem;
}

a.non-underlined {
    text-decoration: none;
}



.svg-separator {
    line-height: 0;
}

h1,
.h1 {
    font-size: var(--size-h1);
    line-height: var(--line-height-heading);
    font-weight: var(--weight-black);
    margin: 0;
}
h2,
.h2 {
    font-size: var(--size-h2);
    line-height: var(--line-height-heading);
    font-weight: var(--weight-black);
    margin: 0;
}
h3,
.h3 {
    font-size: var(--size-h3);
    line-height: var(--line-height-heading);
    font-weight: var(--weight-black);
    margin: 0;
}
h4,
.h4 {
    font-size: var(--size-h4);
    line-height: var(--line-height-heading);
    font-weight: var(--weight-black);
    margin: 0;
}
h5,
.h5 {
    font-size: var(--size-h5);
    line-height: var(--line-height-heading);
    font-weight: var(--weight-bold);
    margin: 0;
}
h6,
.h6 {
    font-size: var(--size-h6);
    line-height: var(--line-height-heading);
    font-weight: var(--weight-bold);
    margin: 0;
}

a {
    font-weight: var(--weight-bold);
}

.sub-heading {
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: var(--weight-thin);
}
.section-color-title {
    color: var(--section-theme-title);
}
.section-color-text {
    color: var(--section-theme-text);
}

main > section:first-of-type {
    transform: translateY(0vh);
}



.has-gold-color {
    --btn-color: var(--brand-orange);
}
.has-gold-background-color {
    --btn-bg: var(--brand-blue);
}
.has-green-color {
    --btn-color: var(--brand-green);
}
.has-green-background-color {
    --btn-bg: var(--brand-green);
}
.has-red-color {
    --btn-color: var(--brand-red);
}
.has-red-background-color {
    --btn-bg: var(--brand-red);
}
.has-blue-color {
    --btn-color: var(--brand-blue);
}
.has-blue-background-color {
    --btn-bg: var(--brand-blue);
}

.btn,
.wp-block-button__link,
.gb-button,
.gform_button,
.ctct-form-field input[type="button"],
.ctct-form-field input[type="submit"] {
    border: none;
    text-align: center;
    text-decoration: none;
    padding: 1rem 5rem !important;
    font-family: var(--font-primary);
    font-weight: var(--weight-bold);
    font-size: var(--size-btn) !important ;
    transition: background var(--transition-normal);
    display: inline-block;
    line-height: 1;
    border-radius: 500px;
    color: var(--btn-color, --brand-white);
    background: var(--btn-bg, transparent) !important;
    border: var(--btn-outline-width) solid;
    border-color: var(--btn-border, --btn-bg, red);
    margin-bottom: 1rem;
}

.ctct-form-field input[type="button"],
.ctct-form-field input[type="submit"] {
    background: var(--btn-bg, transparent) !important;
}

.ctct-form-field input[type="button"]:hover,
.ctct-form-field input[type="submit"]:hover {
	color: var(--brand-blue) !important;
    background: #FFFFFF !important;
}

.btn:hover {
    color: var(--btn-hover-color) !important;
    background: var(--btn-hover-bg) !important;
}

.btn.btn-rounded,
.img-rounded {
    border-radius: 1rem;
}

.btn.btn-fat {
    padding: var(--size-body);
}
.btn.btn-wide {
    padding-left: 8rem;
    padding-right: 8rem;
}

.btn.btn-outline-white {
    border: var(--btn-outline-width) solid var(--brand-white);
}
.btn.btn-outline-gold {
    border: var(--btn-outline-width) solid var(--brand-green);
}
.btn.btn-outline-blue {
    border: var(--btn-outline-width) solid var(--brand-blue);
}
.btn.btn-outline-black {
    border: var(--btn-outline-width) solid var(--brand-black);
}

.btn.btn-fill-white {
    background: var(--brand-white);
}
.btn.btn-fill-gold {
    background: var(--brand-green);
}
.btn.btn-fill-blue {
    background: var(--brand-blue);
}
.btn.btn-fill-black {
    background: var(--brand-black);
}
.btn.btn-fill-transparent {
    background: transparent;
}

.btn.btn-text-white {
    color: var(--brand-white);
}
.btn.btn-text-gold {
    color: var(--brand-green);
}
.btn.btn-text-blue {
    color: var(--brand-blue);
}
.btn.btn-text-black {
    color: var(--brand-black);
}

.btn.btn-hover-fill-white:hover {
    background: var(--brand-white);
}
.btn.btn-hover-fill-gold:hover {
    background: var(--brand-green);
}
.btn.btn-hover-fill-blue:hover {
    background: var(--brand-blue);
}
.btn.btn-hover-fill-black:hover {
    background: var(--brand-black);
}

.btn.btn-hover-text-white:hover {
    color: var(--brand-white);
}
.btn.btn-hover-text-gold:hover {
    color: var(--brand-green);
}
.btn.btn-hover-text-blue:hover {
    color: var(--brand-blue);
}
.btn.btn-hover-text-black:hover {
    color: var(--brand-black);
}

.btn {
    --btn-color: var(--brand-white);
    --btn-bg: var(--brand-blue);
    --btn-border: var(--brand-blue);
    --btn-hover-color: var(--brand-blue);
    --btn-hover-bg: var(--brand-white);
}

.btn.btn-white {
    background: var(--brand-white);
    border: var(--btn-outline-width) solid var(--brand-black);
    color: var(--brand-black);
}
.btn.btn-white:hover {
    background: var(--brand-black);
    border: var(--btn-outline-width) solid var(--brand-white);
    color: var(--brand-white);
}

.btn.btn-black {
    background: var(--brand-black);
    border: var(--btn-outline-width) solid var(--brand-white);
    color: var(--brand-white);
}
.btn.btn-black:hover {
    background: var(--brand-white);
    color: var(--brand-black);
}

.btn.btn-orange {
    
    --btn-color: var(--brand-black);
    --btn-bg: var(--brand-orange);
    --btn-border: var(--brand-black);
    --btn-hover-color: var(--brand-black);
    --btn-hover-bg: var(--brand-white);
}

.btn.btn-orange-outline {
    --btn-color: var(--brand-orange);
    --btn-bg: transparent;
    --btn-border: var(--brand-orange);
    --btn-hover-color: var(--brand-black);
    --btn-hover-bg: var(--brand-orange);
}

.btn.btn-blue {
    --btn-color: var(--brand-white);
    --btn-bg: var(--brand-blue);
    --btn-border: var(--brand-blue);
    --btn-hover-color: var(--brand-blue);
    --btn-hover-bg: var(--brand-white);
}
.btn.btn-blue-outline {
    --btn-color: var(--brand-blue);
    --btn-bg: transparent;
    --btn-border: var(--brand-blue);
    --btn-hover-color: var(--brand-blue);
    --btn-hover-bg: var(--brand-white);
}

.social-icons {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
}
.social-icons li {
    list-style: none;
}

.social-icons li:last-of-type a {
    margin: 0;
}

a.social-icon {
    background: var(--brand-green);
    color: var(--brand-white);
    margin: 0 10px 0 0;
    width: 1rem;
    height: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    text-decoration: none;
    font-size: 2rem;
    font-weight: unset;
    transition: all var(--transition-fast);
    border-radius: 50%;
}

a.social-icon:hover {
    background: var(--brand-blue);
}

.site-header .social-icons {
	margin-right: 1rem;
}



.no-v-margin {
    margin-top: 0;
    margin-bottom: 0;
}

.no-margin-all {
    margin: 0;
}

.no-v-padding {
    padding-top: 0;
    padding-bottom: 0;
}

.no-v-height {
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
    margin-bottom: 0;
}

.no-pad-all {
    padding: 0;
}

.no-line-height {
    line-height: 1.1;
}

.mt-none {
    margin-top: 0;
}

.mt-xxl {
    margin-top: var(--mp-xxl) !important;
}

.mt-xl {
    margin-top: var(--mp-xl);
}

.mt-l {
    margin-top: var(--mp-l);
}

.mt-base {
    margin-top: var(--mp-base);
}

.mt-m {
    margin-top: var(--mp-base);
}

.mt-s {
    margin-top: var(--mp-s);
}

.mt-xs {
    margin-top: var(--mp-xs);
}

.mt-xxs {
    margin-top: var(--mp-xxs);
}

.mb-none {
    margin-bottom: 0;
}

.mb-xxl {
    margin-bottom: var(--mp-xxl);
}

.mb-xl {
    margin-bottom: var(--mp-xl);
}

.mb-l {
    margin-bottom: var(--mp-l);
}

.mb-base {
    margin-bottom: var(--mp-base);
}

.mb-m {
    margin-bottom: var(--mp-base);
}

.mb-s {
    margin-bottom: var(--mp-s);
}

.mb-xs {
    margin-bottom: var(--mp-xs);
}

.mb-xxs {
    margin-bottom: var(--mp-xxs);
}

.ma-none {
    margin: 0;
}

.ma-xxl {
    margin: var(--mp-xxl);
}

.ma-xl {
    margin: var(--mp-xl);
}

.ma-l {
    margin: var(--mp-l);
}

.ma-base {
    margin: var(--mp-base);
}

.ma-m {
    margin: var(--mp-base);
}

.ma-s {
    margin: var(--mp-s);
}

.ma-xs {
    margin: var(--mp-xs);
}

.ma-xxs {
    margin-top: var(--mp-xxs);
}

.pt-none {
    padding-top: 0;
}

.pt-xxl {
    padding-top: var(--mp-xxl);
}

.pt-xl {
    padding-top: var(--mp-xl);
}

.pt-l {
    padding-top: var(--mp-l);
}

.pt-base {
    padding-top: var(--mp-base);
}

.pt-m {
    padding-top: var(--mp-base);
}

.pt-s {
    padding-top: var(--mp-s);
}

.pt-xs {
    padding-top: var(--mp-xs);
}

.pt-xxs {
    padding-top: var(--mp-xxs);
}

.pb-none {
    padding-bottom: 0 !important;
}

.pb-xxl {
    padding-bottom: var(--mp-xxl);
}

.pb-xl {
    padding-bottom: var(--mp-xl);
}

.pb-l {
    padding-bottom: var(--mp-l);
}

.pb-base {
    padding-bottom: var(--mp-base);
}

.pb-m {
    padding-bottom: var(--mp-base);
}

.pb-s {
    padding-bottom: var(--mp-s);
}

.pb-xs {
    padding-bottom: var(--mp-xs);
}

.pb-xxs {
    padding-bottom: var(--mp-xxs);
}

.pa-none {
    padding: 0;
}

.pa-xxl {
    padding: var(--mp-xxl);
}

.pa-xl {
    padding: var(--mp-xl);
}

.pa-l {
    padding: var(--mp-l);
}

.pa-base {
    padding: var(--mp-base);
}

.pa-m {
    padding: var(--mp-base);
}

.pa-s {
    padding: var(--mp-s);
}

.pa-xs {
    padding: var(--mp-xs);
}

.pa-xxs {
    padding: var(--mp-xxs);
}

.pl-m {
    padding-left: var(--mp-base);
}

.pr-m {
    padding-right: var(--mp-base);
}

.margin-center {
    margin-left: auto;
    margin-right: auto;
}
@media screen and (min-width: 768px) {
    .max-width-50 {
        max-width: 50% !important;
    }
    .max-width-60 {
        max-width: 60% !important;
    }
    .max-width-70 {
        max-width: 70% !important;
    }
    .max-width-75 {
        max-width: 75% !important;
    }
    .max-width-80 {
        max-width: 80% !important;
    }
    .max-width-90 {
        max-width: 90% !important;
    }
}
.max-width-none {
    max-width: none;
}
.hidden {
    display: none !important;
}

img {
    width: 100%;
    max-width: 100%;
    height: auto;
}

img.size-thumbnail {
    width: auto;
}
.text-left {
    text-align: left;
}
.text-center {
    text-align: center;
}
.text-right {
    text-align: right;
}

.weight-thin {
    font-weight: var(--weight-thin);
}

.weight-normal {
    font-weight: var(--weight-normal);
}
.weight-bold {
    font-weight: var(--weight-bold);
}
.weight-black {
    font-weight: var(--weight-black);
}

.text-gold {
    color: var(--brand-green);
}

.text-blue {
    color: var(--brand-blue);
}
.text-white {
    color: var(--brand-white);
}
.text-white a {
    color: var(--brand-white);
}
.text-white a:hover {
    color: var(--brand-orange);
}
.grayscale {
    filter: grayscale(1);
}

.bottom-lined:after {
    content: "";
    width: 25%;
    height: 2px;
    background: var(--brand-blue);
    display: block;
    margin: 2rem auto 0;
}


.container {
    width: var(--content-width);
    max-width: var(--content-max-width);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    position: relative;
}
.container iframe {
    max-width: var(--content-max-width);
    width: 100%;
}
.container-full {
    width: 100%;
    max-width: 100%;
}

.container-narrow {
    width: 80vw;
    max-width: var(--content-narrow-width);
    margin-inline: auto;
}
.youtube-container {
    max-width: 1280px;
    margin-top: var(--mp-m);
    margin-bottom: var(--mp-m);
    margin-inline: auto;

    position: relative;
}
.youtube-container:before {
    content: "";
    padding-top: 56.25%;
    width: 100%;
    display: block;
}

.youtube-container iframe {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
}
@media screen and (max-width: 768px) {
    .container {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}


.site-header {
    position: relative;
    z-index: 1000;
    background: var(--brand-blue);
}
.site-header__content {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.site-header__content .social-icon {
    font-size: 1.2rem;
    padding: 1.2rem;
    background: var(--brand-white);
    color: var(--brand-blue);
}
.site-header__content .social-icon:hover {
    background: var(--brand-green);
    color: var(--brand-white);
}

.header-search > button {
    padding: 1rem;
    background: transparent;
    border: none;
}

.header-search .fa-magnifying-glass {
    color: var(--brand-white);
}

.header-search:hover button {
    background: var(--brand-orange);
}

.site-header__content form.search-form .search-submit {
    background: var(--brand-black);
    color: var(--brand-white);
    padding: 1rem;
    border: none;
    cursor: pointer;
}
.site-header__content form.search-form input {
    padding: 1rem;
    border: none;
}
.site-header__content form.search-form {
    display: flex;
    align-items: center;
    justify-content: center;
}
@media screen and (min-width: 961px) {
    .header-search {
        order: 3;
    }
    .header-search form {
        transform: translateY(-300%);
    }
    .header-search:hover form {
        transform: translateY(0);
    }
    .site-header__content form.search-form {
        position: absolute;
        top: 100%;
        right: 0;
        z-index: 10000;
        background: var(--brand-orange);
        box-shadow: 0 3px 5px var(--brand-dark-grey);
        padding: 2rem;
    }
}
@media screen and (max-width: 960px) {
    .menu-header-menu-container {
        display: none;
    }
    .site-header__content {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        flex-wrap: wrap;
        justify-content: center;
        gap: 2rem;
    }
    .site-header__content .social-icons,
    .site-header__content .header-search {
        padding: 1rem 0;
    }
    .header-search button {
        display: none;
    }
}

#circle-logo {
}
#circle-logo img {
    min-width: 150px;
    max-width: 250px;
    width: 25vw;
    margin-bottom: 0;
    padding: 1rem 0;
}
@media screen and (max-width: 768px) {
    #circle-logo img {
        width: 80vw;
    }
}

.header-bar {
    background: var(--brand-blue);
}

.header-bar .container {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
}

#menu-header-bar {
    display: flex;
    justify-content: flex-end;
    
    align-items: stretch;
    margin: 0;
    padding: 0;
}

#menu-header-bar li {
    list-style: none;
    padding: 0;
    border-right: 1px solid var(--brand-white);
}
#menu-header-bar li:last-of-type {
    border-right: none;
}

#menu-header-bar li a {
    padding: 1rem 2rem;
    color: var(--brand-white);
    display: block;
    font-size: var(--size-body);
    font-weight: unset;
    line-height: 1.2;
    text-decoration: none;
    transition: all var(--transition-fast);
    text-align: center;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
#menu-header-bar li a:hover {
    background: var(--brand-orange);
    color: var(--brand-black);
}


.menu-bar {
    background: var(--brand-white);
    border-top: 1px solid var(--brand-black);
}
.main-menu {
    --menu-background: var(--brand-white);
    --menu-hover-background: var(--brand-green);
    --menu-color: var(--brand-black);
    --menu-hover-color: var(--brand-white);

    --menu-featured-background: var(--brand-orange);
    --menu-featured-hover-background: var(--brand-orange);
    --menu-featured-color: var(--brand-black);
    --menu-featured-hover-color: var(--brand-white);

    
    --submenu-background: var(--brand-grey);
    --submenu-hover-background: var(--brand-green);
    --submenu-color: var(--brand-black);
    --submenu-hover-color: var(--brand-white);
    
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
    z-index: 1000;
}


.main-menu ul,
.main-menu li {
    margin: 0;
    padding: 0;
    list-style: none;
    position: relative;
}
.main-nav {
    display: flex;
    margin: 0;
    align-items: center;
}
.main-nav a {
    text-decoration: none;
    color: var(--menu-color);
    text-transform: uppercase;
    font-family: var(--font-secondary);
    font-size: var(--font-body);
    padding: 1rem;
    display: block;
    line-height: 1.3;
    font-weight: unset;
}

.main-nav li a {
    transition: all 0.25s;
}

.main-nav > li {
    height: 100%;
}

.main-nav > li:hover > a {
    background: var(--menu-hover-background);
    color: var(--menu-hover-color);
}

.main-nav > li > a {
    padding: 1rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}



.main-nav > li.nav-featured {
    background: var(--menu-featured-background);
    color: var(--menu-featured-color);
}
.main-nav > li:hover.nav-featured {
    background: var(--menu-featured-hover-background);
    color: var(--menu-featured-hover-color);
}

@media screen and (max-width: 1200px)
{
	.main-nav > li.nav-featured > a { color: var(--brand-black); }
	.main-nav > li.nav-featured > a .dropdown-toggle { border-color: var(--brand-black); }
	
	.main-nav > li:hover.nav-featured > a { color: var(--brand-white); }
	.main-nav > li:hover.nav-featured > a .dropdown-toggle { border-color: var(--brand-white); }
}


.main-nav li > ul {
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition:
        opacity var(--transition-fast) linear,
        max-height var(--transition-fast) linear;
}
.main-nav li:hover > ul {
    overflow: visible;
}

.main-nav li ul.sub-menu {
    top: 100%;
    position: absolute;
    background: var(--submenu-background);
    right: 0;
    min-width: calc(100% + 5rem);
    width: max-content;
    max-width: 40rem;
    box-shadow: 0 0 5px rgb(0 0 0 / 50%);
    
}

.main-nav li ul.sub-menu a {
    color: var(--submenu-color);
    transition: background var(--transition-fast);

    text-transform: none;
    font-size: var(--font-body);
}
.main-nav li ul.sub-menu a:hover {
    background: var(--submenu-hover-background);
    color: var(--submenu-hover-color);
}

.main-nav li ul.sub-menu ul.sub-menu {
    background: var(--brand-green);
    top: 0;
    position: absolute;
    background: var(--submenu-background);
    left: 100%;
    min-width: calc(100% + 5rem);
    width: max-content;
    max-width: 40rem;
    box-shadow: 0 0 5px rgb(0 0 0 / 50%);
}

li.menu-item-has-children > a {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.main-nav li.menu-item-has-children:hover > a {
    background: var(--menu-hover-background);
    color: var(--menu-hover-color);
}
.main-nav li.menu-item-has-children:hover > ul {
    display: block;
    opacity: 1;
    max-height: 60rem;
}


.main-menu li .dropdown-toggle {
    display: block;
    width: 2rem;
    height: 2rem;
    background: transparent;
    border: 2px solid var(--submenu-color);
    border-left: none;
    border-bottom: none;
    margin-left: 1rem;
    transform: translateY(-20%) rotate(135deg) scale(0.5);
}

.main-menu li:hover > a .dropdown-toggle {
    border-color: var(--submenu-hover-color);
}

#nav-toggle,
#nav-toggle ~ label {
    display: none;
}

@media screen and (max-width: 1280px) {
    .main-nav > li > a {
        padding: 1rem 1rem;
    }
    .menu-primary-menu-container {
        
    }
    .main-menu ul.main-nav {
        justify-content: space-between;
    }
}
@media screen and (min-width: 1201px) {
    .main-menu ul.main-nav {
        height: 100%;
    }
}

@media screen and (max-width: 1200px) {
    #nav-toggle {
        display: block;
        position: absolute;
        left: -9999px;
    }
    #nav-toggle ~ nav {
        max-height: 0;
        overflow: hidden;
        -webkit-transition:
            -webkit-transform 0.5s,
            max-height 0.5s linear;
        transition:
            -webkit-transform 0.5s,
            max-height 0.5s linear;
        transition:
            transform 0.5s,
            -webkit-transform 0.5s,
            max-height 0.5s linear;
    }
    #nav-toggle ~ nav > ul {
        display: block;
        background: var(--brand-blue);
    }

    #nav-toggle:checked ~ nav {
        max-height: 1000px;
    }
    #nav-toggle ~ label {
        --toggle-color: var(--brand-blue);
        position: relative;
        background: var(--clr-green);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        text-transform: uppercase;
        padding: 10px;
        font-size: 2.5rem;
        color: var(--toggle-color);
    }
    #nav-toggle ~ label span,
    #nav-toggle ~ label span:before,
    #nav-toggle ~ label span:after {
        cursor: pointer;
        border-radius: 0px;
        height: 4px;
        width: 30px;
        background: var(--toggle-color);
        position: relative;
        display: block;
        content: "";
        -webkit-transition: all 0.25s;
        transition: all 0.25s;
        left: 16px;
    }
    #nav-toggle ~ label span:before {
        top: -7px;
        left: 0px;
    }
    #nav-toggle ~ label span:after {
        top: 3px;
        left: 0px;
    }
    #nav-toggle:checked ~ .top-nav {
        max-height: 100vh;
    }
    #nav-toggle:checked ~ label span {
        background: rgba(255, 255, 255, 0);
    }
    #nav-toggle:checked ~ label span:before {
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        top: 0;
    }
    #nav-toggle:checked ~ label span:after {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        top: -4px;
    }
    #nav-toggle:checked ~ .blocker {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
    .main-menu {
        overflow: hidden;
        width: 100%;
        padding: 0;
        z-index: 100;
        position: relative;
        justify-content: space-between;
    }

    #circle-logo,
    .main-menu > label {
        margin: 1rem 20px;
        padding: 1rem 0;
    }
    .container .main-menu {
        padding-left: 0;
        padding-right: 0;
    }
    .main-menu .main-nav.member-nav-mobile {
        display: block;
    }
    .main-menu .main-nav.member-nav-mobile > li {
        justify-content: center;
    }
    .main-menu ul.sub-menu {
        top: 0;
    }
    .main-menu .main-nav > li {
        display: block;
        margin: 0;
        padding: 0;
    }
    .main-menu li.menu-item-has-children:before {
        content: "";
        display: block;
        height: 100%;
        width: 50px;

        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
    }

    .main-menu nav {
        width: 100%;
    }

    .main-menu a {
        display: inline-block;
    }
    .main-menu li {
        margin: 0;
        padding: 0;
        
        text-align: center;
        box-shadow: 0 0 2px rgba(255, 255, 255, 0.25) inset;
        max-width: 100vw;
    }
    .main-menu li .dropdown-toggle {
        border-color: var(--brand-white);
    }
    .main-menu li .sub-menu .dropdown-toggle {
        border-color: var(--brand-black);
    }
    .main-nav li ul.sub-menu ul.sub-menu {
        left: unset;
    }
    .main-nav li ul.sub-menu ul.sub-menu a {
        padding-left: 4rem;
    }

    .main-menu .btn.btn-rounded {
        border-radius: 0;
    }

    .main-menu li a {
        color: var(--brand-white);
        font-size: 2rem;
        padding: 1.5rem;
        display: flex;
        justify-content: space-between;
        font-weight: unset;
    }
    .main-menu li.menu-item-has-children:hover > ul {
        max-height: 100vh;
    }
    .main-nav ul.sub-menu {
        position: relative !important;
        top: 0;

        padding-top: 0;

        max-width: none;

        box-shadow: 0 0 10px rgba(0, 0, 0, 0.75) inset;
    }

    .main-nav ul.sub-menu ul.sub-menu {
        background: var(--brand-thie);
    }
}

@media screen and (max-width: 460px) {
    #circle-logo img {
        width: 50vw;
    }

    #circle-logo,
    .main-menu > label {
        margin: 1rem 0 1rem 10px;
        padding: 1rem 0;
    }

    #nav-toggle ~ label {
        margin-right: 20px;
        font-size: 2.2rem;
    }
}



.page-header {
    background: var(--background);
    background-size: cover;
    background-position: center;
    padding: 150px 0px 150px 0;
    border-radius: 0 0 25vw 0;
    border: 5px solid var(--brand-green);
    border-left: none;
    border-top: none;
    margin: 0;
    width: 100%;
    color: #ffffff;
    position: relative;
    overflow: hidden;
}
.page-header:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--brand-blue);
    opacity: 0.8;
}
.page-header__inner {
    display: flex;
    align-items: center;
    gap: 40px;
}
@media screen and (max-width: 768px) {
    .page-header__inner {
        display: block;
    }
}
.page-header__inner h1 {
    line-height: var(--line-height-page-title);
    margin-bottom: 1.5rem;
    text-shadow: 2px 3px 5px rgba(0, 0, 0, 0.5);
}
.page-header__inner p {
    max-width: 80ch;
    font-size: var(--size-h4);
    line-height: var(--line-height-heading);
}
@media screen and (min-width: 960px) {
    .page-header__inner h1 {
        max-width: 60vw;
    }
}

@media screen and (max-width: 768px) {
    .page-header {
        padding: 100px 0px 100px 0;
    }
}



section.cta {
    background: var(--background);
    background-size: cover;
    position: relative;
}
.cta > .container {
    width: 80vw;
    max-width: 96rem;
    color: var(--brand-white);
    text-align: center;
    padding: 20vh 5rem 10vh;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}
.cta h1 {
    line-height: var(--line-height-page-title);
}
.cta:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--brand-blue);
    opacity: 0.8;
}
.cta:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    height: 10vw;
    background: var(--brand-white);
    clip-path: ellipse(60% 100% at 50% -30%);
}
.cta .btn {
    border: var(--btn-outline-width) solid var(--brand-black);
    
    background: transparent;
    margin-top: 3rem;
    padding: 1rem 5rem;
}
.cta .btn:hover {
    background: var(--brand-orange);
    color: var(--brand-white);
}

@media screen and (min-width: 768px) {
    .cta > .container {
        padding: 25rem 5rem 15rem;
    }
}


.colophon {
    background: var(--brand-black);
    color: var(--brand-white);
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding: 1rem 0;
    font-size: 1.5rem;
}
.colophon p {
    margin: 1rem;
}
.colophon a {
    color: var(--brand-white);
    text-decoration: none;
    text-transform: uppercase;
    font-weight: unset;
}

.colophon a:hover {
	text-decoration: underline;
}

#site-footer {
    background: var(--brand-grey);

    color: var(--brand-blue);
    line-height: 1.1;
}
#site-footer a {
    text-decoration: none;
    color: var(--brand-blue);
    font-weight: unset;
}
#site-footer a.social-icon {
    color: var(--brand-white);
}

.site-footer__main {
    padding: 3rem 0;
}
.site-footer__main > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 2rem;
}
.site-footer__main h3 {
    color: var(--brand-green);
    font-weight: var(--weight-bold);
    font-size: var(--size-h5);
    text-transform: none;
    margin-bottom: 2rem;
}

.site-footer__signup-inner .ctct-form .ctct-form-field input[type="email"],
.site-footer__signup-inner .ctct-form .ctct-form-field input[type="text"] {
    width: 80%;
}

.site-footer__logo {
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.site-footer__logo img {
    min-width: 100px;
    max-width: 250px;
    width: 20vw;
    margin-bottom: 2rem;
}

.site-footer__signup {
    flex: 1 2 40%;
    min-width: 300px;
    background: var(--brand-blue);
    border: 5px solid var(--brand-green);
    border-right: none;
    border-bottom: none;
    border-radius: 200px 0 0 0;
    padding: 70px 30px 40px 70px;
}
.site-footer__signup-inner {
    color: var(--brand-white);
}

.site-footer__contact .additional-addresses {
    margin-top: 1rem;
}

.site-footer__contact address {
    font-style: normal;
    font-weight: var(--weight-bold);
}

@media screen and (max-width: 1280px) {
    .site-footer__contact address {
        text-align: center;
    }
}

.site-footer__contact p {
    margin: 1rem 0;
}
.site-footer__main .social-icons {
    width: 100%;
    
    justify-content: center;
}

#footer-menu {
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
}
#footer-menu li {
    line-height: 1;
    margin: 1rem;
}
#footer-menu li a {
    font-size: 1.8rem;
    font-weight: unset;
}

@media screen and (min-width: 800px) {
    .site-footer__main .social-icons {
        
    }
    .site-footer__logo {
        order: 1;
        justify-content: start;
    }
    .site-footer__contact {
        order: 2;
    }
    .site-footer__menu {
        order: 3;
    }
}
@media screen and (min-width: 800px) and (max-width: 1280px) {
    #footer-menu {
        display: block;
    }
}
@media screen and (min-width: 800px) {
    .site-footer__main {
        display: flex;
        flex-wrap: wrap;
        padding: 3rem 0;
    }

    .site-footer__main > div {
        flex: 1 1 33%;
    }
}
@media screen and (min-width: 1280px) {
    #site-footer {
        display: flex;
    }
    #footer-menu {
        display: block;
    }

    .site-footer__main {
        flex: 1 1 60%;
        padding-left: 3vw;
        gap: 2rem;
    }
    .site-footer__main > div {
        flex: 1 1 auto;
        align-items: flex-start;
    }
    .site-footer__main .social-icons {
        
        justify-content: flex-start;
    }
}

.aspect-image {
    width: 100%;
    background-size: cover;
    background-position: center;
    padding-top: calc(100% * (9 / 16));
}

.aspect-image.1x1 {
    aspect-ratio: 1/1;
    padding-top: calc(100% * (1 / 1));
}
.aspect-image.16x9 {
    aspect-ratio: 16/9;
    padding-top: calc(100% * (9 / 16));
}

.aspect-image.4x3 {
    aspect-ratio: 4/3;
    padding-top: calc(100% * (3 / 4));
}



.circle-row {
    display: grid;
    background: var(--brand-black-200);
    padding: 100px 0;
    margin: 0 auto;
}
.columns-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}
.columns-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}
.columns-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

@media screen and (max-width: 1024px) {
    .columns-4 {
        grid-template-columns: repeat(2, 1fr);
    }
    .columns-3 {
        gap: 5%;
    }
    .circle-cta-text h1 {
        font-size: 4rem;
    }
    .circle-row {
        gap: 2rem;
    }
}

@media screen and (max-width: 640px) {
    .columns-2,
    .columns-3,
    .columns-4 {
        display: block;
    }
}


.section-separator {
    border: clamp(50px, 9rem, 180px) solid transparent;
    border-left: 50vw solid transparent;
    border-right: 50vw solid transparent;
    position: relative;
    margin: 0;
    padding: 0;
}
.section-separator__down {
    border-bottom-width: 0;
}
.section-separator__up {
    border-top-width: 0;
}
.section-separator__shift-up {
    margin: -10rem 0 0 0;
}
@media screen and (max-width: 768px) {
    .section-separator {
        border-top-width: 4rem;
        border-bottom-width: 4rem;
    }
    .section-separator__shift-up {
        margin: -4rem 0 0 0;
    }
}

section#numbers {
    padding-bottom: 10rem;
}
section#numbers .container-full {
    background: var(--brand-green);
    color: var(--brand-white);
    padding: 15rem 0 18rem;
}
section#numbers .container {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.counters-wrapper {
    display: flex;
    justify-content: center;
    
    flex-wrap: wrap;
}

.single-counter {
    flex-grow: 1;
    min-width: min-content;
    max-width: 20vw;
    padding: 0 3rem;
    text-align: center;
}
.single-counter sup {
    font-size: 1.4rem;
    line-height: 1;
    display: block;
    margin-top: 10px;
}
.single-counter .h1 {
    font-size: 7rem;
    line-height: 1;
    font-weight: var(--weight-black);
}
.single-counter h6 {
    font-weight: var(--weight-normal);
    margin: 0;
    padding: 0;
    font-size: 3rem;
}
section#numbers img {
    margin-top: -15rem;
    max-width: 1100px;
    width: 80vw;
}
@media screen and (max-width: 768px) {
    .single-counter {
        max-width: none;
        margin-bottom: 5rem;
        text-align: center;
    }
}




.circle-slides-block {
    margin-inline: auto;
    width: 90vw;
    max-width: 100%;
    border-radius: 5rem;
    padding: 3rem 5%;
    box-shadow: 0 0px 1rem var(--brand-black-500);
    background: var(--brand-white);
    text-align: center;
}

.circle-slides-block .card-wrap{
    max-width: 30rem;
    padding: 1rem;
    min-width: 100%;
}




.circle-slides-slider__container {
    position: relative;

}
.circle-slides .slick-slider {
    max-width: calc( 100% - 80px);
    margin: 0 auto;
}

.circle-slides  .slick-initialized .slick-slide{
    display: flex;
    justify-content: center;
}
.circle-slides .slick-buttons {
    margin-top: 2rem;
}

.circle-slides-block  .slick-prev-arrow,
.circle-slides-block  .slick-next-arrow{
    display: none; 
}
.circle-slides .slick-initialized ~ .slick-prev-arrow,
.circle-slides .slick-initialized ~ .slick-next-arrow {
    background: transparent;
    border: none;
    text-align: center;
    width: 4rem;
    height: 4rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 500;
}
.circle-slides-block .slick-prev-arrow {
    left: 0;
}
.circle-slides-block .slick-next-arrow {
    right: 0;
}

.circle-slides-block button svg {
    width: 4rem;
    height: 4rem;
}

.circle-slides-block button svg * {
    stroke: var(--brand-orange);
}

.circle-slides-block button:hover svg *,
.circle-slides-block button:focus svg * {
    stroke: var(--brand-black);
}



.testimonials {
    --size-h4: 2rem;
    --size-h5: 1.5rem;
}

.testimonials-container {
    margin-inline: auto;
    width: 90vw;
    max-width: 100%;
    border-radius: 5rem;
    padding: 3rem 5%;
    box-shadow: 0 0px 1rem var(--brand-black-500);
    background: var(--brand-white);
    text-align: center;
}
.testimonials-container header {
    flex: 1 1 100%;
}
.testimonials-container header h3 {
    font-size: 6rem;
    margin: 0;
}

.testimonial-slider__container {
    position: relative;
}

.testimonial-slide {
    margin: 0 auto;
    text-align: center;
    max-width: 90%;
}
.testimonial-slide img {
    margin: 0 auto;
}

.testimonial-slide {
    min-height: 350px;
    max-width: 1100px;
}

#testimonials .slick-buttons {
    margin-top: 2rem;
}

.testimonials-container .slick-prev-arrow,
.testimonials-container .slick-next-arrow {
    background: transparent;
    border: none;
    text-align: center;
    width: 4rem;
    height: 4rem;
    position: absolute;
    top: 33%;
    transform: translateY(-50%);
    z-index: 500;
}
.testimonials-container .slick-prev-arrow,
.testimonials-container .slick-prev-arrow svg {
    left: 0;
}

.testimonials-container .slick-next-arrow,
.testimonials-container .slick-next-arrow svg {
    right: 0;
}

.testimonials-container button svg {
    width: 4rem;
    height: 4rem;
	position: absolute;
	top: 0;
}

.testimonials-container button svg * {
    stroke: var(--brand-orange);
}

.testimonials-container button:hover svg *,
.testimonials-container button:focus svg * {
    stroke: var(--brand-black);
}

.testimonials-container blockquote {
    font-size: 3rem;
    line-height: 1.5;
}
.testimonials-container cite {
    color: var(--brand-green);
    font-style: normal;
    font-size: 2rem;
    font-weight: var(--weight-bold);
    line-height: 1.5;
}
.testimonials-container cite span {
    font-weight: normal;
    font-size: 1.8rem;
}

.slick-arrow {
    cursor: pointer;
}
@media screen and (max-width:1200px)
{
	.testimonials-container {
		width: 100%;
	}
	
	.testimonials-container .testimonial-slider {
		padding-inline: 1rem;
	}
}
@media screen and (min-width: 1024px) {
    .testimonials {
        --size-h4: inherit;
        --size-h5: inherit;
    }
}





.page-post-container {
    margin-inline: auto;
    width: 90vw;
    max-width: 100%;
    border-radius: 5rem;
    padding: 3rem 5%;
    box-shadow: 0 0px 1rem var(--brand-black-500);
    background: var(--brand-white);
    text-align: center;
}


.page-post-slider__container{
    position: relative;


}

.page-post-slider-section .page-post-slider{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem; 
}
@media screen and (max-width: 768px) {
    .page-post-slider-section .page-post-slider{
        grid-template-columns: 1fr 1fr;
    }
}
@media screen and (max-width: 640px) {

  .page-post-slider-section .page-post-slider{
        display: block;
    }
}
.page-post-slider-section  .page-post-slider.slick-initialized {
    display: unset;
}


.page-post-slider-section  .slick-initialized .slick-track{

}
.page-post-slider-section  .slick-initialized .slick-slide{
margin: 30px 20px;
    flex: 1 1 auto;
    min-width: unset;

}
.page-post-slider-section .slick-list {
    max-width: calc( 100% - 80px);
    padding:15px;
    margin: 0 auto;
}
.page-post-slider-section .slick-buttons {
    margin-top: 2rem;
}
.page-post-container  .slick-prev-arrow,
.page-post-container  .slick-next-arrow{
    display: none; 
}
.page-post-container  .slick-initialized ~ .slick-prev-arrow,
.page-post-container  .slick-initialized ~ .slick-next-arrow {
    
    background: transparent;
    border: none;
    text-align: center;
    width: 4rem;
    height: 4rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 500;
}
.page-post-container .slick-prev-arrow {
    left: 0;
}
.page-post-container .slick-next-arrow {
    right: 0;
}

.page-post-container button svg {
    width: 4rem;
    height: 4rem;
}

.page-post-container button svg * {
    stroke: var(--brand-orange);
}

.page-post-container button:hover svg *,
.page-post-container button:focus svg * {
    stroke: var(--brand-black);
}

 .page-post-container .single-blog-preview__title{
   text-align: left;
   font-weight: 700;
} 




.blog-listings {
    
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}
.blog-listings .container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
}

.blog-listings-flex .container {
    display: flex;
    justify-content: space-evenly;
}
.blog-listings-all {
    margin: 2rem auto;
}
.single-blog-preview {
    flex: 0 1 33%;
    min-width: 33%;
}
.single-blog-preview.no-grid {
    position: relative !important;
    width: 100% !important;
    transform: none !important;
}
.single-blog-preview * {
    transition: all 0.125s;
}
.single-blog-preview a {
    display: block;
    text-decoration: none;
    transition: all 0.25s;
    font-weight: unset;
}

.single-blog-preview a:hover,
.single-location a:hover {
    transform: scale(1.01);
    filter: drop-shadow(0 10px 15px rgba(0, 0, 0, 0.5));
}

.single-blog-preview a:hover .single-blog-preview__title,
.single-location a:hover .single-location__title {
    background: var(--brand-grey);
}

.single-blog-preview__photo,
.single-location__photo {
    padding-top: 50%;
    background-size: cover;
    width: 100%;
    background-image: var(--background);
    border-radius: 0 20rem 0 0;
    border: 5px solid var(--brand-blue);
    border-left: 1px solid var(--brand-blue);
    border-bottom: 1px solid var(--brand-blue);
    display: block;
}

.single-blog-preview img {
}

.single-blog-preview__category {
    background: var(--brand-orange);
    color: var(--brand-white);
    text-align: center;
    margin: 0;
    padding: 1rem;
    font-size: var(--size-h5);
}
.single-blog-preview__title,
.single-location__title {
    color: var(--brand-blue);
    font-size: var(--size-h5);
    line-height: 1;
    padding: 2rem 1rem;
}
@media screen and (max-width: 768px) {
    .single-blog-preview {
        flex: 0 1 50%;
        min-width: 33%;
    }
    .blog-listings .container {
        grid-template-columns: 1fr 1fr;
    }
}
@media screen and (max-width: 640px) {
    .single-blog-preview {
        flex: 1 1 100%;
        margin: var(--mp-m) 0;
    }
    .blog-listings .container {
        display: block;
    }
}

.post-item-grid {
    padding: 6rem 0 12rem;
}
.post-item-grid__title {
    color: var(--blog-highlight);
    margin: 0;
    padding: 3rem 0 6rem;
}
.post-item-grid__title span {
    display: inline-block;
}
.post-item-grid__title .bottom-lined:after {
    background: var(--blog-highlight);
    width: 60%;
    min-width: 200px;
}
.post-item-grid .container {
    gap: clamp(30px, 5vw, 100px);
}

a.read-more {
    color: var(--blog-highlight);
    font-weight: var(--weight-bold);
    text-decoration: none;
}
a.read-more:hover {
    color: var(--blog-hover);
}
a.read-more svg {
    margin-left: 5px;
    fill: var(--blog-highlight);
}

.post-meta span {
    padding: 0 10px;
    color: var(--blog-text);
    border-left: 1px solid #000;
    border-left-color: var(--blog-text);
}
.post-meta span:first-of-type {
    border: none;
    padding-left: 0;
}
.post-meta span:last-of-type {
    padding-right: 0;
}

.single-post-item__content .post-meta {
    padding: 1.5rem 0;
    display: block;
}

.single-post-item__title {
    font-size: 2.6rem;
    line-height: 1.1;
    margin: 0 0 3rem;
    text-transform: initial;
    font-weight: var(--weight-bold);
}
.single-post-item__title a {
    color: var(--blog-title);
    text-decoration: none;
    font-weight: unset;
}
.single-post-item__title a:hover {
    color: var(--blog-hover);
}
.single-post-item__excerpt {
    color: var(--blog-text);
    font-size: var(--size-body);
    font-family: var(--font-secondary);
    line-height: var(--line-height-body);
}
.single-post-item a {
    color: var(--blog-highlight);
    font-weight: var(--weight-bold);
}



.section__related-posts .single-post-meta {
    margin: 5rem 0;
}



.jak-post-author {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.single-post-meta:after {
    content: "";
    display: block;
    width: 50%;
    margin: 0 auto;
    min-width: 200px;
    height: 1px;
    background: var(--brand-white);
}
.single-post-meta > div {
    display: flex;
    justify-content: center;
    margin: 1rem 0 3rem;
}

.single-post-meta__category {
    font-size: 2.6rem;
    font-weight: var(--weight-black);
}
.single-post-meta__category span {
    border-width: 2px;
}

.single-post__featured-img {
    padding-top: 20%;
    min-height: 200px;
    max-height: 450px;
    margin-top: -4rem;
}
.single-post__featured-img {
}
.single-post .container img {
    width: auto;
}

@media screen and (max-width: 1024px) {
    .single-post-item {
        margin-bottom: 5rem;
    }
}
@media screen and (min-width: 640px) and (max-width: 1024px) {
    .post-item-grid .columns-3 {
        display: block;
    }
    .post-item-grid .single-post-item {
        display: grid;
        grid-template-columns: 40% 1fr;
        gap: 3rem;
        margin-bottom: 5rem;
    }
}

#blog-section {
    padding-top: 5rem;
    padding-bottom: 5rem;
}
#blog-section .container {
    display: flex;

    gap: 5rem;
}
.blog-section__posts,
.blog-posts {
    flex: 0 1 70%;
}
#blog-filters {
    flex: 1 0 clamp(250px, 30%, 350px);
}
.blog-section__posts .single-post-item {
    display: flex;
    width: 100%;
    padding: 5rem 3rem;
    gap: 60px;
}
.blog-section__posts a.single-post-item__image {
    flex-basis: 45%;
    max-width: 500px;
}
.blog-section__posts .single-post-item__content {
    flex-basis: 60%;
    margin-top: 1rem;
}
.blog-section__posts .single-post-item__content .post-meta {
    padding-top: 0;
}

.blog-section__posts > .embed-youtube {
    display: none !important;
}

.blog-filters__section {
    margin-bottom: 4rem;
}
.blog-filters__section h5 {
    font-size: 1.6rem;
    background: var(--brand-blue);
    color: #fff;
    padding: 10px;
    margin-bottom: 2rem;
}

.blog-filters__section ul {
    padding: 0;
    margin: 0;
    list-style: none;
}
.blog-filters__section ul li {
    border-bottom: 1px dotted #333;
    margin: 5px 0;
}

.blog-filters__section ul li a {
    text-decoration: none;
    padding: 5px;
    display: block;
    font-weight: unset;
    transition: color var(--transition-slow);
}
.blog-filters__section ul li a:hover {
    color: var(--brand-green);
}
#blog-filters select {
    width: 100%;
    padding: 10px;
}

#blog-filters #category-select {
    display: none;
}
form#blog-search-form input {
    width: 100%;
    padding: 10px;
}
form#blog-search-form input[type="submit"] {
    display: none !important;
}
#toggle-filters,
#toggle-filters ~ label {
    display: none;
}

@media screen and (max-width: 1024px) {
    #blog-section .container {
        flex-wrap: wrap;
    }

    #toggle-filters,
    #toggle-filters ~ label {
        display: block;
    }
    #toggle-filters {
        position: absolute;
        left: -99999px;
    }
    #toggle-filters ~ label {
        width: 100%;
        padding: 10px;
        background: var(--brand-black-400);
        color: #ffffff;

        text-align: left;

        position: relative;
    }
    #toggle-filters ~ label:after {
        content: "[show filters]";
        padding: 10px;
        display: block;
        width: 100px;
        text-align: center;
        font-size: 1.6rem;
        position: absolute;
        top: 0%;
        bottom: 0;
        right: 0;
        transform: translateY(-50%);
    }
    #toggle-filters:checked ~ label:after {
        content: "[hide filters]";
    }
    #toggle-filters:checked ~ label {
        border-bottom: 1px solid var(--brand-black-700);
        margin-bottom: 20px;
    }
    #toggle-filters:checked ~ div {
        display: block !important;
    }
    #toggle-filters ~ div {
        display: none !important;
    }

    #blog-filters {
        order: 0;
        flex: 1 1 100%;
        position: sticky;
        top: 0;
        
        top: 0;
        left: 0;
        right: 0;
        background: var(--brand-black-400);

        gap: 5px;
    }
    #blog-filters > div h5 {
        margin-bottom: 5px;
    }
    #blog-filters > div {
        padding: 0 20px 20px 20px;

        margin: 0;
    }
    #blog-filters #category-select {
        display: block;
    }
    #blog-filters ul.category-list {
        display: none;
    }
    .blog-section__posts {
        order: 1;
        flex: 1 1 100%;
    }
}

@media screen and (max-width: 1280px) {
    .blog-section__posts .single-post-item {
        display: block;
        padding: 3rem 1rem;
    }
}

.pagination {
    display: flex;
    justify-content: center;
}
.pagination .page-numbers {
    line-height: 25px;

    padding: 7px;
    margin: 3px;
    width: 39px;
    text-align: center;
    display: inline-block;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    text-decoration: none;
    background: var(--brand-green) !important;
    border-color: var(--brand-green) !important;
    color: var(--brand-white) !important;
}

.pagination a.page-numbers:hover {
    background: var(--brand-blue) !important;
    border-color: var(--brand-blue) !important;
}

.pagination .page-numbers.current {
    background: var(--brand-blue) !important;
    border-color: var(--brand-blue) !important;
}




.table-alt-rows th {
    text-align: left;
    padding: 5px;
    font-size: var(--size-h6);
    font-weight: var(--weight-bold);
}
.table-alt-rows tr:nth-of-type(odd) {
    background: var(--brand-black-200);
}
.table-alt-rows {
    border: 1px solid var(--brand-black);
}
.table-alt-rows td,
.table-alt-rows th {
    padding: 10px 0;
    text-align: center;
}
.table-alt-rows td:first-of-type,
.table-alt-rows th:first-of-type {
    text-align: left;
    width: 60%;
}



dl.faq-list {
    margin-inline: auto;
    max-width: 150ch;
}
dl.faq-list button {
    margin: 0;
    margin-bottom: 0.5rem;
    padding: 2rem 4rem;

    border: none;
    font-size: var(--size-h6);
    line-height: 1.5;
    width: 100%;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 0px 3px var(--brand-grey);
    position: relative;
}

dl.faq-list dd {
    padding: 0;
    font-size: 1.5rem;
    margin: 0 0 1rem;
}

dl.faq-list .faq-list__content {
    padding: 2rem 3rem;
}

dl.faq-list button[aria-expanded="false"] {
    background-color: var(--brand-blue);
    color: var(--brand-white);
}
dl.faq-list button .icon-open,
dl.faq-list button .icon-close {
    width: 3rem;
    height: 3rem;
    fill: var(--brand-white);
    line-height: 0;
    position: absolute;
    right: 3rem;
    top: 50%;
    transform: translateY(-50%);
}
dl.faq-list button[aria-expanded="false"] .icon-open {
    display: block;
}

dl.faq-list button[aria-expanded="false"] .icon-close {
    display: none;
}

dl.faq-list button[aria-expanded="true"] {
    background-color: var(--brand-dark-grey);
    color: var(--brand-white);
}

dl.faq-list button[aria-expanded="true"] .icon-open {
    display: none;
}

dl.faq-list button[aria-expanded="true"] .icon-close {
    display: block;
}
dl.faq-list button:hover {
    background: var(--brand-green);
    color: var(--brand-white);
    cursor: pointer;
}



.affiliations-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 3rem;
}

.affiliations-section header {
    margin: 2rem 0;
}

.affiliations-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.affiliations-list > a,
.affiliations-list > img {
    display: block;
    margin: 1rem 3rem;
}

.affiliations-list > * {
    margin: 1rem;
}





.image-text-grid.one-third {
    --img-col-width: 67%;
    --text-col-width: 33%;
}
.image-text-grid.one-half {
    --img-col-width: 50%;
    --text-col-width: 50%;
}
.image-text-grid.two-third {
    --img-col-width: 33%;
    --text-col-width: 67%;
}
.image-text-grid.three-fifth {
    --img-col-width: 40%;
    --text-col-width: 60%;
}
.image-text-grid.three-fourth {
    --img-col-width: 25%;
    --text-col-width: 75%;
}

.image-text-grid .row_even,
.image-text-grid .row_odd {
    display: flex;
    flex-wrap: wrap;
}

.image-text-grid .image-text-grid_image {
    flex: 0 0 var(--img-col-width);
}

.image-text-grid .image-text-grid_text {
    flex: 0 0 var(--text-col-width);
}

.image-text-grid.image-first .row_odd {
    flex-direction: row-reverse;
}

.image-text-grid .image-text-grid_cell {
    display: flex;
    
    flex-direction: column;
    justify-content: center;
    padding: clamp(5rem, 15%, 10rem) clamp(3rem, 7.5%, 8rem);
}





.image-text-grid .image-text-grid_image {
    padding: 0;
    background-image: var(--background-image);
    background-size: cover;
    min-height: 50rem;
    background-position: center center;
}

@media screen and (max-width: 960px) {
    .image-text-grid,
    .image-text-grid .row_even,
    .image-text-grid .row_odd {
        display: block;
    }

    .image-text-grid div:nth-child(4n + 3) {
        grid-column: unset;
    }

    .image-text-grid_image {
        max-height: 30vh;
    }
}



.header-slides {
    position: relative;
}
.header-slides .slick-dotted.slick-slider {
    margin-bottom: 0;
}
.header-slides .slick-prev-button {
}

.header-slides .slick-next-button {
}

.header-slides .slick-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 8rem;
    height: 8rem;
    background: none;
    border: none;
}

.header-slides .slick-dots li button:before {
    color: var(--brand-white);
    font-size: 1rem;
}

.header-slides .slick-prev-arrow {
    left: 1rem;
}

.header-slides .slick-next-arrow {
    right: 1rem;
}

.header-slides .slick-dots {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    list-style: none;
    justify-content: center;
    margin: 2rem 0;
}

.header-slides .slick-dots button {
}





.info-boxes__container {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(2, 1fr);
}
.info-boxes__container[data-boxes="2"] {
    grid-template-columns: repeat(2, 1fr);
}
.info-boxes__container[data-boxes="3"] {
    grid-template-columns: repeat(3, 1fr);
}
.info-boxes__container[data-boxes="4"] {
    grid-template-columns: repeat(4, 1fr);
}

.info-box__title {
    color: var(--clr-blue);
    font-weight: var(--weight-bold);
    font-size: var(--size-h4);
    letter-spacing: -1px;
}
.info-boxes-box {
    padding-top: 40rem;
    background-image: var(--background-image);
    background-position: center;
    background-size: cover;
    border-radius: 0 0 2rem 2rem;
    display: flex;
}

.info-boxes-box > div {
    background: var(--clr-transparent-white);
    text-align: center;
    padding: 3rem;
    width: 100%;
}

@media screen and (max-width: 1100px) {
    .info-boxes__container[data-boxes="2"],
    .info-boxes__container[data-boxes="3"],
    .info-boxes__container[data-boxes="4"] {
        grid-template-columns: 1fr;
    }
}

@media screen and (min-width: 640px) and (max-width: 1100px) {
    .info-boxes-box {
        padding-left: 40%;
        padding-top: 0;
        border-radius: 0 2rem 2rem 0rem;
    }
}



.text_cell__container {
    display: grid;
    gap: calc(var(--gap, 2) * 1rem);
    grid-template-columns: repeat(var(--columns, 2), 1fr);
}

.text-block__container h2 {
    color: var(--brand-blue);
}



.text-cell {
    border-radius: 2rem 2rem;
    display: flex;
    justify-content: center;
    background: var(--brand-white);
    text-align: center;

    width: 100%;
    box-shadow: 5px 5px 10px rgb(0 0 0 / 50%);
    overflow: hidden;
}
.text-cell > a,
.text-cell > div {
    padding: 3rem;
    display: block;
    width: 100%;
}
.text-cell > a:hover,
.text-cell > a:hover h5,
.text-cell > a:hover h4,
.text-cell > a:hover strong {
    background: var(--clr-blue);
    color: var(--brand-white);
}
.text-cell .text-cell_title {
    color: var(--brand-blue);
    font-weight: var(--weight-bold);
}
.text-cell p {
    line-height: var(--line-height-body);
}

@media screen and (max-width: 1100px) {
    .text_cell__container {
        --columns: 1;
    }
}

@media screen and (min-width: 640px) and (max-width: 1100px) {
}




.grid-section__container {
    display: grid;
    grid-template-columns: repeat(var(--grid-desktop, 1), 1fr);
}

.grid-section__cell {
    background: var(--cell-background);
    padding-top: var(--cell-pad-to);
    padding-left: var(--cell-pad-left);
    padding-bottom: var(--cell-pad-bottom);
    padding-right: var(--cell-pad-right);
}

@media screen and (max-width: 1024px) {
    .grid-section__container {
        grid-template-columns: repeat(var(--grid-columns-tablet, 1), 1fr);
    }
}
@media screen and (max-width: 640px) {
    .grid-section__container {
        display: block;
    }
}



.resources-grid .grid-section__container {
    grid-template-columns: 30% 1fr;
}

@media screen and (max-width: 1024px) {
    .resources-grid .grid-section__container {
        grid-template-columns: repeat(var(--grid-columns-tablet, 1), 1fr);
    }
}

@media screen and (max-width: 640px) {
    .resources-grid .grid-section__container {
        display: block;
    }
}



.gfield_label:not(:focus):not(:active),
.ctct-form .ctct-form-field label,
span.ctct-label-top {
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
}
.label-visible .gfield_label:not(:focus):not(:active) {
    clip: initial;
    clip-path: initial;
    height: initial;
    width: initial;
    margin: initial;
    overflow: initial;
    padding: initial;
    position: initial;
    color: var(--brand-blue);
}
.gform_wrapper.gravity-theme input,
.gform_wrapper.gravity-theme label,
.ctct-form .ctct-form-field label {
    font-size: 1.8rem;
}
.gfield_label,
.ctct-form .ctct-form-field label {
    font-size: 2rem !important;
}
.gform_wrapper.gravity-theme input[type="color"],
.gform_wrapper.gravity-theme input[type="date"],
.gform_wrapper.gravity-theme input[type="datetime-local"],
.gform_wrapper.gravity-theme input[type="datetime"],
.gform_wrapper.gravity-theme input[type="email"],
.gform_wrapper.gravity-theme input[type="month"],
.gform_wrapper.gravity-theme input[type="number"],
.gform_wrapper.gravity-theme input[type="password"],
.gform_wrapper.gravity-theme input[type="search"],
.gform_wrapper.gravity-theme input[type="tel"],
.gform_wrapper.gravity-theme input[type="text"],
.gform_wrapper.gravity-theme input[type="time"],
.gform_wrapper.gravity-theme input[type="url"],
.gform_wrapper.gravity-theme input[type="week"],
.gform_wrapper.gravity-theme select,
.gform_wrapper.gravity-theme textarea,
.ctct-form .ctct-form-field input[type="color"],
.ctct-form .ctct-form-field input[type="date"],
.ctct-form .ctct-form-field input[type="datetime-local"],
.ctct-form .ctct-form-field input[type="datetime"],
.ctct-form .ctct-form-field input[type="email"],
.ctct-form .ctct-form-field input[type="month"],
.ctct-form .ctct-form-field input[type="number"],
.ctct-form .ctct-form-field input[type="password"],
.ctct-form .ctct-form-field input[type="search"],
.ctct-form .ctct-form-field input[type="tel"],
.ctct-form .ctct-form-field input[type="text"],
.ctct-form .ctct-form-field input[type="time"],
.ctct-form .ctct-form-field input[type="url"],
.ctct-form .ctct-form-field input[type="week"],
.ctct-form .ctct-form-field select,
.ctct-form .ctct-form-field textarea {
    border: 3px solid var(--brand-blue);
    border-radius: 3rem;
    padding: 1.5rem 2rem !important;
    font-size: 1.8rem !important;
}

.gform_wrapper.gravity-theme *::placeholder,
.ctct-form .ctct-form-field *::placeholder {
    font-weight: bold;
    color: var(--brand-blue);
}

.gform_wrapper.gravity-theme textarea,
.ctct-form .ctct-form-field textarea {
    padding: 2rem 2rem !important;
    border-radius: 3rem;
}
.contact-form .gform_button {
    background: var(--brand-blue) !important;
    border: var(--btn-outline-width) solid var(--brand-blue);
    color: var(--brand-white);
    cursor: pointer;
}
.contact-form .gform_button:hover,
.contact-form .gform_button:focus {
    background: var(--brand-white) !important;
    color: var(--brand-blue);
}

.gform_wrapper.gravity-theme .gfield-choice-input {
    clip-path: inset(0 0 100% 0);
    position: absolute;
    left: -9999px;
}
.gform_wrapper.gravity-theme .gfield-choice-input ~ label {
    display: flex !important;
    align-items: center;
    margin-bottom: 2rem;
    margin-left: 3rem;
}
.ginput_container.ginput_container_checkbox {
    position: relative;
}
.gform_wrapper.gravity-theme .gfield-choice-input ~ label:before {
    content: "";
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    margin-right: 1rem;
    border: 3px solid var(--brand-white);
    outline: 2px solid var(--brand-blue);
}

.gform_wrapper.gravity-theme .gfield-choice-input:checked ~ label:before {
    background: var(--brand-blue);
}




.round-image {
    background: var(--background);
    padding: 0px 0px 0px 0;
    border-radius: 0 0 0 25vw;
    border: 10px solid var(--brand-green);
    border-left: none;
    border-top: none;
    margin: 0;
    width: 100vw;
    color: #ffffff;
    position: relative;
    overflow: hidden;
}
.round-image:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--brand-blue);
    opacity: 0.8;
}


.gray-background {
    background-color: var(--brand-grey);
}


.flex-box {
    display: flex;
}
.grey-box {
    background-color: var(--brand-dark-grey);

    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5rem 3rem;
    color: var(--brand-white);
}
.grey-box:hover {
	color: var(--brand-white);
	background-color: var(--brand-green);
}
.round {
    border-radius: 50%;
}

.circle-resources-links .grid-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}
.circle-resources-links .grid-links br {
    display: none !important;
}

.circle-resources-links .grid-links a.grey-box {
    text-decoration: none;
    font-size: 2rem;
    transition: all var(--transition-normal);
}
.circle-resources-links .grid-links a.grey-box:hover {
    background: var(--brand-blue);
    color: var(--brand-white);
}

@media screen and (min-width: 768px) {
    .circle-resources-links .grid-links {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}

@media screen and (max-width: 375px) {
    .circle-resources-links .grid-links {
        grid-template-columns: 1fr;
    }
}

.circle-approach .image-text-grid_image {
    border: 5px solid var(--brand-green);
    border-right: none;
    border-top: none;
    border-radius: 0 0 0 60%;
    position: relative;
    overflow: hidden;
}

.circle-approach .image-text-grid_image:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--brand-blue);
    opacity: 0.8;
}
@media screen and (min-width: 1600px) {
    .circle-approach .image-text-grid_text {
        max-width: calc(var(--content-max-width) / 2);
        margin-left: auto;
        padding-left: 0;
    }
}

@media screen and (min-width: 1100px) {
    #contact-page {
        display: grid;
        grid-template-columns: 60% 1fr;
        gap: 5rem;
    }
}



.team-grid__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--mp-m) var(--mp-m);
}

@media screen and (min-width: 960px) and (max-width: 1400px) {
    .team-grid__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--mp-m) var(--mp-m);
    }
}
@media screen and (min-width: 1400px) {
    .team-grid__grid {
        grid-template-columns: repeat(4, 1fr);
        gap: var(--mp-m) var(--mp-m);
    }
}

.team-grid h2 {
    padding-bottom: 2rem;
}

.team-grid-item {
    color: var(--brand-blue);
}
.team-item-photo {
    background-color: var(--brand-grey);
    padding-top: 100%;
    background-size: cover, 50%;
    background-position: center;
    display: block;
    border-radius: 0 30% 0% 0;
    background-repeat: no-repeat;

    position: relative;
}
.team-item-photo::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--brand-orange);
    opacity: 0;
    border-radius: 0 30% 0% 0;
}
.team-item-photo:hover + .team-item-info {
    background: var(--brand-grey);
}
.team-item-info {
    padding: 1rem;
    transition: background 0.25s;
    background: var(--brand-white);
}

.team-item-info__text h5 {
    margin: 0 0 0rem 0;
    font-size: 2rem;
    line-height: 1.4;
    font-weight: var(--weight-bold);
}
.team-item-info__text p {
    font-size: 2rem;
    line-height: 1.4;
    margin: 0 0 0rem 0;
}
.team-item-info,
.team-item-info__links {
    display: flex;
    align-items: center;
}
.team-item-info {
    flex-wrap: wrap;
    justify-content: space-between;
}
.team-item-info__links a {
    padding: 1rem;
    line-height: 1;
    font-size: 2rem;
    transition: all 0.25s;
    outline: 1px solid transparent;
    font-weight: unset;
}
.team-item-info__links a:hover {
    color: var(--brand-green);
    outline: 1px solid var(--brand-green);
}
@media screen and (max-width: 640px) {
    .team-item-info__links a {
        padding: 0.75rem;
        line-height: 1;
        font-size: 1.8rem;
        transition: all 0.25s;
        outline: 1px solid transparent;
    }
}



.single-person {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: var(--mp-m);
    margin-top: 5rem;
}

.single-person__sidebar {
    flex: 1 0 33%;
    min-width: 250px;
    max-width: 500px;
}
.single-person__info {
    flex: 1 0 66%;
}

.single-person__text {
    background: var(--brand-blue);
    color: var(--brand-white);
    padding: var(--mp-s) var(--mp-m);
    border-radius: 0 0 var(--mp-m) 0;
}

.single-person__text p {
    line-height: 1;
}

.single-person__text a {
    color: var(--brand-white);
    font-size: 2rem;
}

.single-person__text a:hover {
    color: var(--brand-orange);
}

.single-person__practices {
    padding: var(--mp-s) var(--mp-m);
}

.single-person__practices ul {
    font-size: 2rem;
}

.single-person-button {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: var(--mp-s) var(--mp-m);
    font-size: 2rem;
    line-height: 1;
    text-decoration: none;
    gap: var(--mp-s);
    margin-top: var(--mp-s);
    transition: all 0.25s;
    border-radius: 0 var(--mp-m) 0 0;
}

.single-person-button:last-of-type {
    margin-bottom: var(--mp-s);
}

.single-person-button svg {
    padding: var(--mp-xs);
    line-height: 1;
    font-size: 3rem;
    transition: all 0.25s;
    outline: 1px solid transparent;
    transition: all 0.25s;
}

.single-person-button svg * {
    transition: all 0.25s;
    fill: var(--icon-fill);
}

.single-person__sharefile {
    --icon-fill: var(--brand-white);
    background: var(--brand-green);
    color: var(--brand-white);

    border: 2px solid var(--brand-green);
}

.single-person__sharefile:hover {
    border: 2px solid var(--brand-orange);
    color: var(--brand-white);
    background: var(--brand-orange);
}

.single-person__linkedin {
    --icon-fill: var(--brand-blue);
    border: 2px solid var(--brand-blue);
    color: var(--brand-blue);
    padding: var(--mp-xs) var(--mp-m);
    background: var(--brand-white);
}

.single-person__linkedin:hover {
    --icon-fill: var(--brand-white);
    background: var(--brand-blue);
    color: var(--brand-white);
}

@media screen and (min-width: 1280px) {
    .tabs button {
        border: none;
        padding: var(--mp-xs) var(--mp-xs);

        border: 2px solid var(--brand-blue);
        background: var(--brand-grey);
        border-bottom: none;
        color: var(--brand-black);
        position: relative;
        font-size: 2rem;
    }

    .tabs button[aria-selected="true"] {
        color: var(--brand-blue);
        background: var(--brand-white);
    }
    .tabs button[aria-selected="true"]:after {
        content: "";
        display: block;
        position: absolute;
        bottom: -2px;
        left: 0;
        right: 0;
        background: var(--brand-white);
        height: 2px;
    }

    .tab-panel {
        background: var(--brand-white);
        padding: var(--mp-s) var(--mp-m);
        border: 2px solid var(--brand-blue);
    }
    .panel-heading-mobile {
        display: none;
    }
}

@media screen and (max-width: 1280px) {
    .tabs button {
        display: none;
    }
    .tab-panel,
    .single-person__blog ul {
        display: block;
        margin-bottom: var(--mp-m);
        max-width: 90%;
        margin-inline: auto;
        border: none;
        padding: 0;
    }
    .tab-panel ul,
    .single-person__blog ul {
        padding-left: 1.5rem;
    }

    .single-person__blog a {
        padding: 0.5rem;
        margin-bottom: 0.5rem;
        display: inline-block;
        color: var(--brand-blue);
        font-weight: var(--weight-bold);
    }

    .panel-heading-mobile {
        display: block;
    }

    .single-person__info h4,
    .single-person__info .h4 {
        color: var(--brand-blue);
        background: none;
        margin-bottom: 0;
        border-radius: 0 0 var(--mp-m) 0;
        padding: var(--mp-xs);
        font-weight: var(--weight-bold);
    }
    .single-person .h4:first-of-type {
        margin-top: 0;
    }
}
@media screen and (max-width: 1024px) {
    .single-person {
        display: block;
    }

    .panel-heading-mobile {
        display: block;
        color: var(--brand-white);
        background: var(--brand-green);
        border-radius: 0 0 var(--mp-m) 0;
        padding: var(--mp-s);
        font-weight: var(--weight-bold);
    }

    .single-person__sidebar {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
        max-width: none;
        gap: 1rem;
    }
    .single-person__practices {
        grid-column: 1/3;
    }
    .single-person-button {
        margin: 1rem 0 0;
    }
}
@media screen and (max-width: 768px) {
    .single-person__sidebar {
        display: block;
    }
    .single-person__photo {
        padding-top: 100%;
        background-size: cover;
        background-image: var(--mobile-background);
    }
    .single-person__photo img {
        display: none;
    }
}

.single-person__blog {
    margin-top: var(--mp-m);
}



#section-resources {
    overflow: hidden;
    display: grid;
    grid-template-columns: 60% 40%;
}

.resource-controls-messages {
    text-align: center;
    margin: 0 0 var(--mp-m) 0;
}

#section-resources .search-form {
    display: flex;
    padding: 2rem 0;
    margin: var(--mp-m) 0;
}

#section-resources label {
    width: 100%;
}

#section-resources .search-field {
    padding: 1rem;
    border: 2px solid var(--brand-blue);
    padding-right: 2rem;
    border-radius: 4px 0 0 4px;
    font-size: var(--size-h6);
    width: 100%;
}

#section-resources .search-submit {
    background: var(--brand-blue);
    color: var(--brand-white);
    padding: 1rem;
    border: none;
    cursor: pointer;
    border-radius: 0 4px 4px 0;
    width: 40%;
}

#section-resources .search-submit:hover {
    background: #fff;
    color: var(--brand-blue);
    border: 2px solid var(--brand-blue);
}

#section-resources .filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    position: relative;
    margin: var(--mp-m) 0;
    position: sticky;
    top: 0;
    padding: 2rem;
    background: var(--brand-white);
    z-index: 10000;
}
#section-resources .filters input {
    position: absolute;
    left: -9999px;
}
#section-resources .filters input ~ label {
    display: block;
    cursor: pointer;
    border: 1px solid var(--brand-blue);
    padding: 1rem 2rem;
    color: var(--brand-blue);
    background: var(--brand-white);
    transition: all 0.25s;
}
#section-resources .filters input:checked ~ label {
    border: 1px solid var(--brand-blue);
    color: var(--brand-white);
    background: var(--brand-blue);
}

#section-resources .filters select {
    padding: 1rem;
    border: 2px solid var(--brand-blue);
    padding-right: 2rem;
    border-radius: 4px;
    font-size: var(--size-h6);
}

#section-resources #checklist-section {
    padding-left: 5em;
    padding-bottom: var(--mp-l);
}

#section-resources #checklist-section h2 {
    color: var(--brand-blue);
}

#resources-container .single-blog-preview {
    
    min-width: unset;
    
    flex: unset;
    
    
    transition: transform 0.5s;
}

#resources-container.use-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 3rem;
}
#resources-container.use-grid .single-blog-preview {
    flex: 1 1 calc(33% - 3rem);
}
@media screen and (max-width: 960px) {
    #section-resources {
        display: block;
    }

    #section-resources #checklist-section {
        padding-left: 0;
    }
}

@media screen and (max-width: 1024px) {
    #resources-container.use-grid .single-blog-preview {
        flex: 1 1 calc(50% - 3rem);
    }
}
@media screen and (max-width: 768px) {
    #resources-container.use-grid .single-blog-preview {
        margin-bottom: 3rem;
        flex: 1 0 calc(100% - 3rem);
    }
}

.error404 form.search-form .search-submit {
    background: var(--brand-green);
    color: var(--brand-white);
    padding: 2rem;
    border: none;

    cursor: pointer;
}
.error404 form.search-form input {
    padding: 2rem;

    border: none;
}

.error404 form.search-form input[type="submit"] {
    padding: 2rem 5rem;
    font-family: var(--font-primary);
    font-weight: var(--weight-bold);
    font-size: var(--size-btn);
}

.error404 form.search-form input[type="search"] {
    min-width: 20vw;
    max-width: 30rem;
}
.error404 form.search-form {
    margin-bottom: 2rem;
    display: flex;
    align-items: center;
}



.single-post .container > em > a img {
    float: left;
    display: block;
    margin-right: 2rem;
}
.single-post p:empty {
    display: none;
}

.card-scene {
    display: flex;

    flex-wrap: wrap;

    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    position: relative;
    padding: 3rem;
}

.card-wrap {
    perspective: 1800px;
    cursor: pointer;
    flex: 0 1 calc(100% - 1.5rem);
    min-width: 15rem;
    max-width: 30rem;
}

.card-5-col .card-wrap {
    flex: 0 1 calc(20% - 1.5rem);
}
.card-4-col .card-wrap {
    flex: 0 1 calc(25% - 1.5rem);
}
.card-3-col .card-wrap {
    flex: 0 1 calc(33% - 1.5rem);
}

@media screen and (max-width: 1440px) {
    .card-5-col .card-wrap {
        flex: 0 1 calc(25% - 1.5rem);
    }
}

@media screen and (min-width: 961px) and (max-width: 1440px) {
    .card-5-col .card-wrap {
        flex: 0 1 calc(20% - 1.5rem);
    }
}

@media screen and (max-width: 960px) {
    .card-5-col .card-wrap,
    .card-4-col .card-wrap,
    .card-4-col .card-wrap,
    .card-wrap {
        flex: 0 1 calc(33% - 1.5rem);
    }
}

@media screen and (max-width: 640px) {
    .card-wrap {
        min-width: 32rem;
    }
}

.card {
    position: relative;
    transition: transform 0.5s;
    transform-style: preserve-3d;
    width: 100%;
    height: 100%;
}
.card p {
    margin-block: 2rem;
}
.card.circle {
    aspect-ratio: 1;

    @supports not (aspect-ratio: auto) {
        padding-top: 100%;
        height: 0;
        position: relative;
        overflow: hidden;
    }
}
.card.circle .card__face {
    border-radius: 500px;
}
.card__face {
    backface-visibility: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    outline: 1px solid;
    padding: 2rem 20%;
}

.card__face--front {
    text-align: center;
    background: var(--brand-blue);
    color: var(--brand-white);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.card__face--front svg {
    height: 4rem;
    width: auto;
    margin-top: 1rem;
}

.card__face--back {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--brand-grey);
    color: var(--brand-blue);
    transform: rotateY(-180deg);
    text-align: center;
}
.card-wrap:hover .card {
    transform: rotateY(180deg);
}

@media screen and (min-width: 1100px) {
    .card-wrap {
        max-width: 33%;
    }
}


.card.circle .card__face p {
    color: var(--brand-white);
	font-size: clamp(1.8rem, 1dvw, 2.4rem);
}
.card.circle .card__face .btn {
    --btn-color: var(--brand-blue);
    --btn-bg: var(--brand-white);
    --btn-border: var(--brand-blue);
    --btn-hover-color: var(--brand-blue);
    --btn-hover-bg: var(--brand-white);
}

.card.circle .card__face--front {
    background: var(--brand-green);
}
.card.circle .card__face--back {
    background-image: var(--background-image);
    background-color: var(--brand-blue);
    background-size: cover;
    background-position: center;
    
}

.card.circle .card__face--back:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 500px;
    opacity: 0.9;
    z-index: -1;
    background: var(--brand-blue);
}

.card.circle.card__face--back p {
    color: #ffffff;
}

#timeline {
    padding: 8rem 0;
}

#timeline h3 {
    color: var(--section-theme-title);
    text-align: center;
}
.timeline {
    padding-bottom: 3rem;
}
.timeline li {
    list-style: none;
    position: relative;
    margin: 3rem auto;
    text-align: center;
    max-width: 300px;
}
.timeline li article p {
    line-height: var(--line-height-body);
    margin-top: 0;
}

.timeline h6 {
    margin: 0 0 1rem;
    text-transform: uppercase;
    font-size: var(--size-h3);
    color: var(--brand-green);
}

.timeline span {
    transform: scaleX(0) !important;
    transition: transform 0.5s;
}
.timeline .visible span {
    transform: scaleX(1) !important;
}
.timeline article {
    opacity: 0;
    transition: opacity 0.5s;
    transition-delay: 0.25s;
}
.timeline .visible article {
    opacity: 1;
}

@media screen and (min-width: 800px) {
    .timeline li:nth-of-type(odd) {
        text-align: right;
    }

    .timeline li:nth-of-type(odd) div {
        
    }

    .timeline li:nth-of-type(odd) span {
        right: 0;
        top: 0em;
        grid-column: 2;
        transform-origin: center right;
    }

    .timeline li:nth-of-type(odd) span:after {
        visibility: hidden;
        opacity: 0;
    }

    .timeline li {
        margin: 0;
    }

    .timeline li:nth-of-type(even) {
        transform: translateY(calc(33%));
        border: none;
    }

    .timeline li:last-of-type {
        margin-bottom: calc(10%);
        border: none;
    }

    .timeline li:nth-of-type(even) span:before {
        visibility: hidden;
        opacity: 0;
    }

    .timeline {
        max-width: 100%;
        margin: 0 auto;
        padding: 3rem 0;
        display: grid;
        grid-template-columns: 50% 50%;
    }

    .timeline li article {
        padding: 0;
        margin: -2.5rem 6rem 10rem;
    }

    .timeline li article .timeline-content {
        margin-top: 2rem;
    }
    .timeline li article .timeline-content img {
        max-width: 500px;
    }

    .timeline li:nth-of-type(even) article {
        margin-right: 0;
    }

    .timeline li:nth-of-type(odd) article {
        margin-left: 0;
    }

    .timeline li:nth-of-type(even) .timeline-content {
        margin-right: 0;
        transform: translateX(-50%);
    }

    .timeline li:nth-of-type(odd) .timeline-content {
        margin-left: 0;
        transform: translateX(50%);
    }

    .timeline li > div {
        width: 100%;
        display: grid;

        grid-template-columns: 65% 35%;
        
    }

    .timeline li:nth-of-type(even) div {
        grid-template-columns: 35% 65%;
        
    }

    .timeline li {
        max-width: none;
        text-align: initial;
        list-style: none;
        position: relative;
        border-right: 2px solid black;
    }

    .timeline span {
        width: 100%;
        background: var(--brand-black);
        height: 2px;
        display: flex;
        
        align-items: center;
        justify-content: space-between;
        transform: translateX(1px);
        transform-origin: center left;
    }

    .timeline span:before,
    .timeline span:after {
        content: "";
        display: block;
        width: 1.9rem;
        height: 1.9rem;
        border: 1px solid var(--brand-black);
        border-radius: 50%;
    }

    .timeline span:before {
        margin-left: -2rem;
    }

    .timeline span:after {
        margin-right: -2rem;
    }

    .timeline h6 {
        margin: 0;
        text-transform: uppercase;
    }

    .timeline li:last-of-type {
        border: none;
    }
}

.skip-to-main {
    display: block;
    text-align: center;
    background: var(--brand-blue);
    padding: 0.5rem 2rem;
}

.skip-to-main a {
    color: var(--brand-white);
    font-size: 1rem;
    padding: 0.5rem 2rem;
}

.skip-to-main a:hover {
    color: var(--brand-orange);
}

#site-footer .ctct-disclosure a {
    color: var(--brand-white) !important;
}

#site-footer .ctct-disclosure a:hover {
    color: var(--brand-orange) !important;
}

.page-header {
    background-color: #000000 !important;
}

.cta {
    background-color: #000000 !important;
}

.header-search button {
    color: #ffffff;
}


.videoWrapper {
    position: relative;
    padding-bottom: 56.25%; 
    height: 0;
}
.videoWrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}




.location-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin-top: 2em;
}

@media (max-width: 768px) {
    .location-grid {
        grid-template-columns: 1fr;
    }
}

.vertical-center {
    align-items: center;
}

.vertical-center .text-block-sidebar {
    align-items: center;
}

#home-logo img {
	width: 100%;
	height: 100%;
	padding-block: 10px;
}

.home-resources-links .grid-links {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

@media screen and (max-width: 768px)
{
	.home-resources-links .grid-links {
		grid-template-columns: 1fr;
	}
}

.two-col {
	display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding-top: 2rem;
    padding-bottom: 2rem;
	gap: 1rem;
}

.col {
	display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    text-align: center;
	height: 100%;
}

.col-icon {
	font-size: 36px;
    color: var(--brand-blue);
}

.two-col.three-one-split {
	grid-template-columns: 1fr 3fr;
}

@media screen and (max-width: 768px)
{
	.two-col,
	.two-col.three-one-split {
		grid-template-columns: 1fr;
	}
	
	dl.faq-list button {
		padding: 2rem 4rem 2rem 2rem;
	}
	
	dl.faq-list button .icon-open, dl.faq-list button .icon-close {
		right: 1rem;
		width: 2.5rem;
		height: 2.5rem;
	}
	
	.cta > .container {
		width: 100%;
    	max-width: 100%;
		padding: 20vh 3rem 10vh;
	}
}

@media screen and (min-width: 768px) and (max-width: 1200px)
{
	.text-block__sidebar h2 {
		font-size: clamp(2.6rem, 3dvw, 4.8rem);
	}
}

.text-white h2 {
    color: var(--brand-white);
}

@media screen and (min-width: 1281px) {
	.circle-slides .slick-slider {
    	max-width: 100%;
	}
	
	.circle-slides  .slick-initialized .slick-slide{
    	max-width: 200px;
		width: 100% !important;
	}
	
	.card.circle .card__face .btn {
		padding: 1rem 3rem !important;
	}
	
	.circle-slides-block {
		width: 100% !important;
	}
	
	.circle-slider .slick-track {
    	display: flex;
    	justify-content: center;
	}
}



#section-careers {
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr;
}

.careers-controls-messages {
    text-align: center;
    margin: 0 0 var(--mp-m) 0;
}

#section-careers  .search-form {
    display: flex;
    padding: 2rem 0;
    margin: var(--mp-m) 0;
}

#section-careers  label {
    width: 100%;
}

#section-careers .search-field {
    padding: 1rem;
    border: 2px solid var(--brand-blue);
    padding-right: 2rem;
    border-radius: 4px 0 0 4px;
    font-size: var(--size-h6);
    width: 100%;
}

#section-careers .search-submit {
    background: var(--brand-blue);
    color: var(--brand-white);
    padding: 1rem;
    border: none;
    cursor: pointer;
    border-radius: 0 4px 4px 0;
    width: 40%;
}

#section-careers .search-submit:hover {
    background: #fff;
    color: var(--brand-blue);
    border: 2px solid var(--brand-blue);
}

#section-careers .filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    position: relative;
    margin: var(--mp-m) 0;
    position: sticky;
    top: 0;
    padding: 2rem;
    background: var(--brand-white);
    z-index: 10000;
}
#section-careers .filters input {
    position: absolute;
    left: -9999px;
}
#section-careers .filters input ~ label {
    display: block;
    cursor: pointer;
    border: 1px solid var(--brand-blue);
    padding: 1rem 2rem;
    color: var(--brand-blue);
    background: var(--brand-white);
    transition: all 0.25s;
}
#section-careers .filters input:checked ~ label {
    border: 1px solid var(--brand-blue);
    color: var(--brand-white);
    background: var(--brand-blue);
}

#section-careers .filters select {
    padding: 1rem;
    border: 2px solid var(--brand-blue);
    padding-right: 2rem;
    border-radius: 4px;
    font-size: var(--size-h6);
}

#section-careers #checklist-section {
    padding-left: 5em;
    padding-bottom: var(--mp-l);
}

#section-careers #checklist-section h2 {
    color: var(--brand-blue);
}

#careers-container .single-blog-preview {
    
    min-width: unset;
    
    flex: unset;
    
    
    transition: transform 0.5s;
}

#careers-container.use-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 3rem;
}
#careers-container.use-grid .single-blog-preview {
    flex: 1 1 calc(33% - 3rem);
}
@media screen and (max-width: 960px) {
    #section-careers {
        display: block;
    }

    #section-careers #checklist-section {
        padding-left: 0;
    }
}

@media screen and (max-width: 1024px) {
    #careers-container.use-grid .single-blog-preview {
        flex: 1 1 calc(50% - 3rem);
    }
}
@media screen and (max-width: 768px) {
    #careers-container.use-grid .single-blog-preview {
        margin-bottom: 3rem;
        flex: 1 0 calc(100% - 3rem);
    }
}