:root{
    --vismode-transition-time: 0.1s;
}

/*ERRORS AND WARNINGS*/
.page-content-warning-section {
    position: relative;
    float: left;
    width: 100%;
    box-sizing: border-box;
    padding-top: 150px;
}

.page-invalid-content-warning {
    position: relative;
    float: left;
    width: 100%;
    text-align: center;
    margin: 30px 0;
}

/*CUSTOM PROJECT FONTS*/
@font-face {
    font-family: 'MontserratLight';
    src: url('../../fonts/Montserrat-Light.ttf');
}

@font-face {
    font-family: 'MontserratExtraLight';
    src: url('../../fonts/Montserrat-ExtraLight.ttf');
}

@font-face {
    font-family: 'MontserratMedium';
    src: url('../../fonts/Montserrat-Medium.ttf');
}

@font-face {
    font-family: 'Cocogoose';
    src: url('../../fonts/Cocogoose-Pro-Regular.ttf');
}

@font-face {
    font-family: 'CocogooseLight';
    src: url('../../fonts/Cocogoose-Pro-Light.ttf');
}

@font-face {
    font-family: 'CocogooseSemiLight';
    src: url('../../fonts/Cocogoose-Pro-Semilight.ttf');
}

@font-face {
    font-family: 'CocogooseUltraLight';
    src: url('../../fonts/Cocogoose-Pro-Ultralight.ttf');
}

body, body * {
    max-height: 9999999999px; /*This is how we fight automatic font boosting, the most idiotic feature in history, on mobile devices.*/
}

img {
    max-width: 100%;
}
.border-radius{
    border-radius: 10px;
}

#custom-page-wrapper {
    position: relative;
    float: left;
    width: 100%;
}

/*OVERRIDE FONTAWESOME SETTINGS*/
.fad:after {
    opacity: 1 !important;
}

.fa, .fa-brands, .fa-duotone, .fa-light, .fa-regular, .fa-solid, .fa-thin, .fab, .fad, .fal, .far, .fas, .fat{
    line-height: normal !important;
}


.initialHidden {
    opacity: 0;
}

.sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
}

.page-collection-main-container {
    position: relative;
    float: left;
    width: 100%;
}

.page-main-container-header-margin {
    margin-top: 4em;
}

#site-wrapper {
    position: relative;
    width: 100%;
    float: left;
    -moz-transition: opacity 0.8s;
    -ms-transition: opacity 0.8s;
    -o-transition: opacity 0.8s;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s;
}

#page-content-container {
    position: relative;
    float: left;
    width: 100%;
    box-sizing: border-box;
    padding-top: 90px;
}

.page-headlines-section-title {
    margin-top: 0;
    margin-bottom: 0;
}

.page-headlines-section-subtitle {
    margin-top: 1em;
    margin-bottom: 0;
}

.page-outro a {
    text-decoration: none;
}

.general-rtf-description a {
    text-decoration: none;
}

.header-margin {
    margin-top: 4em;
    float: left;
    margin-bottom: 4em;
}

.figure-no-margin {
    margin: 0;
}

table{
    width: 100% !important;
    max-width: 100% !important;
}
.line-height-26{
    line-height: 26px;
}
.margin-bottom-20{
    margin-bottom: 20px;
}
.padding-left-20 {
    padding-left: 20px;
}
/*VISMODE TRANSITIONS*/

.vismode {
    -moz-transition: color var(--vismode-transition-time), background-color var(--vismode-transition-time), border-color var(--vismode-transition-time), opacity var(--vismode-transition-time);
    -ms-transition: color var(--vismode-transition-time), background-color var(--vismode-transition-time), border-color var(--vismode-transition-time), opacity var(--vismode-transition-time);
    -o-transition: color var(--vismode-transition-time), background-color var(--vismode-transition-time), border-color var(--vismode-transition-time), opacity var(--vismode-transition-time);
    -webkit-transition: color var(--vismode-transition-time), background-color var(--vismode-transition-time), border-color var(--vismode-transition-time), opacity var(--vismode-transition-time);
    transition: color var(--vismode-transition-time), background-color var(--vismode-transition-time), border-color var(--vismode-transition-time), opacity var(--vismode-transition-time);
}


/*TEXT / CONTENT SETTINGS*/
h1, h2, h3, h4 {
    margin: 10px 0 6px 0;
    font-family: "CocogooseLight";
}
a[href^="tel"] {
    /* Inherit text color of parent element. */
    text-decoration: none; /* Remove underline. */
    /* Additional css `propery: value;` pairs here */
}
body, button {
    margin: 0;
    font-family: "MontserratLight", sans-serif;
    letter-spacing: -0.5;
}
iframe{
    max-width: 100% !important;
}
@media only screen and (max-width: 500px) {
    iframe {
        height: auto;
    }
}
.font-family-medium {
    font-family: "MontserratMedium", sans-serif;
}

.font-family-light {
    font-family: "MontserratLight", sans-serif;
}

.font-family-extra-light {
    font-family: "MontserratExtraLight", sans-serif;
}

.font-family-cocogoose {
    font-family: "Cocogoose";
}

.font-family-cocogoose-light {
    font-family: "CocogooseLight";
}

.font-family-cocogoose-semi-light {
    font-family: "CocogooseSemiLight";
}

.font-family-cocogoose-ultra-light {
    font-family: "CocogooseUltraLight";
}

.align-left {
    text-align: left;
}

.align-right {
    text-align: right;
}

.align-center {
    text-align: center;
}

@media only screen and (min-width: 2400px) {
    /*Max font size*/
    .header-small {
        font-size: 20px;
    }

    .header-regular {
        font-size: 24px;
    }

    .header-medium {
        font-size: 28px;
    }

    .font-medium {
        font-size: 18px;
        font-weight: 200;
    }
}

@media only screen and (max-width: 1700px) {
    .font-medium {
        font-size: calc(11px + 4 * ((100vw - 320px) / 680));
    }

    .header-medium {
        font-size: calc(24px + 5 * ((100vw - 320px) / 680));
        font-weight: 300;
    }
}

@media only screen and (max-width: 1400px) {
    .font-medium {
        font-size: 18px;
    }
}

@media only screen and (max-width: 1023px) {
    .font-family-medium-mobile {
        font-family: "MontserratMedium", sans-serif;
    }

    .font-family-light-mobile {
        font-family: "MontserratLight", sans-serif;
    }

    .font-family-extra-light-mobile {
        font-family: "MontserratExtraLight", sans-serif;
    }

    .font-small {
        font-size: 14px;
        font-weight: 100;
    }

    .font-regular {
        font-size: 16px;
        font-weight: 100;
    }

    .font-medium {
        font-size: 18px;
        font-weight: 200;
    }

    .font-large {
        font-size: 22px;
        font-weight: 300;
    }

    .font-xl {
        font-size: 28px;
    }

    .font-xxl {
        font-size: 32px;
    }

    .font-xxxl {
        font-size: 38px;
    }

    .header-medium {
        font-size: 22px;
    }

    .header-banner {
        font-size: calc(24px + 45 * ((100vw - 320px) / 680));
    }
}

/*OVERRIDES*/
.display-inline-block {
    display: inline-block;
}

.float-left {
    float: left !important;
}

.float-right {
    float: right !important;
}

.float-none {
    float: none !important;
}

.font-weight-100 {
    font-weight: 100 !important;
}

.font-weight-200 {
    font-weight: 200 !important;
}

.font-weight-300 {
    font-weight: 300 !important;
}

.font-weight-400 {
    font-weight: 400 !important;
}

.font-weight-500 {
    font-weight: 500 !important;
}

.z-index-5 {
    z-index: 5 !important;
}

.z-index-10 {
    z-index: 10 !important;
}

.z-index-15 {
    z-index: 15 !important;
}

.z-index-20 {
    z-index: 20 !important;
}

.z-index-25 {
    z-index: 25 !important;
}

.z-index-30 {
    z-index: 30 !important;
}

.z-index-50 {
    z-index: 50 !important;
}

.no-margin {
    margin: 0 !important;
}

.no-margin-top {
    margin-top: 0 !important;
}

.no-margin-bottom {
    margin-bottom: 0 !important;
}

.no-margin-left {
    margin-left: 0 !important;
}

.no-margin-right {
    margin-right: 0 !important;
}

.no-padding {
    padding: 0 !important;
}

.no-padding-top {
    padding-top: 0 !important;
}

.no-padding-bottom {
    padding-bottom: 0 !important;
}

.no-padding-left {
    padding-left: 0 !important;
}

.no-padding-right {
    padding-right: 0 !important;
}

@media only screen and (min-width: 1024px) {
    .tablet-only {
        display: none;
    }
}

@media only screen and (max-width: 1023px) {
    #page-content-container {
        padding-top: 10px;
    }

    .font-banner {
        font-size: calc(19px + 7.5 * ((100vw - 320px) / 680));
        font-weight: 300;
    }
}