: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;
}

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;
}
.display-none{
    display: none;
}
#custom-page-wrapper {
    position: relative;
    float: left;
    width: 100%;
}
.custom_template_top_filler {
    position: relative;
    float: left;
    width: 100%;
    margin-top: var(--header-height);
}
.always-filler-on-top .custom_template_top_filler{
    display: none;
}
.always-filler-on-top {
    box-sizing: border-box;
    padding-top: var(--header-height);
}
/*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;
}

#main-container{
    position: relative;
    float: left;
    width: 100%;
}
.page-collection-main-container {
    position: relative;
    float: left;
    width: 100%;
}

.page-main-container-header-margin {
    margin-top: 4em;
}

#site-body {
    -moz-transition: opacity 0.8s;
    -ms-transition: opacity 0.8s;
    -o-transition: opacity 0.8s;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s;
}

#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;
}

.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;
}


/*ICON COMPONENT*/
.brilliant-icon{
    position: relative;
    float: left;
    width: 100%;
    height: 100%;
}

/*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;
}
a[href^="tel"] {
    /* Inherit text color of parent element. */
    text-decoration: none; /* Remove underline. */
    /* Additional css `propery: value;` pairs here */
}
body, button {
    margin: 0;
    letter-spacing: -0.5;
}
.font-regular{
    font-weight: 300 !important;
}
.font-bold{
    font-weight: 600 !important;
}
iframe{
    max-width: 100% !important;
}
@media only screen and (max-width: 500px) {
    iframe {
        height: auto;
    }
}
.border-box{
    box-sizing: border-box;
}
.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;
    }
}

/*OVERRIDES*/
.display-block {
    display: block;
}
.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;
    }
    .float-left-desktop {
        float: left;
    }
    .display-inline-block-desktop {
        display: inline-block;
    }
    .float-right-desktop {
        float: right;
    }
}

@media only screen and (max-width: 1023px) {
    .float-left-mobile {
        float: left;
    }
    .display-inline-block-mobile {
        display: inline-block;
    }
    .float-right-mobile {
        float: right;
    }
    #page-content-container {
        padding-top: 10px;
    }
}