*,
*::before,
*::after {
    box-sizing: border-box;
}

:root {
  --white: #fff;
  --black: #000;
  --accent-4: #OB2341;
}

html {
    scroll-behavior: smooth;

    /* &:has(body.logged-in) {
        &:has(#wpadminbar) {
            margin-top: 0 !important;
        }
    } */

    body {
        p, div {
            padding-top: 0;
            margin-top: 0;
            line-height: inherit;
        }

        .o-section {
            p, p * {
                @media (width > 1025px) {
                    font-size: 16px !important;
                }
                @media (width > 1600px) {
                    font-size: 20px !important;
                    line-height: 26px;
                }
            }
        }
    }
}

ul, ol {
    margin: 0;
    padding: 0;
}

ul {
    &.slick-dots {
        display: flex;
        align-items: center;
        justify-content: center;
        bottom: -60px;
        flex-wrap: wrap;
        gap: 1rem;

        li {
            margin: 0;
            width: 49px;
            height: 12px;
            display: inline-flex;
            align-items: center;
            justify-content: center;

            button {
                display: flex;
                width: 49px;
                height: 12px;
                align-items: center;
                justify-content: center;
                background-color: #b9b9b9;
                border-radius: 25px;
                -webkit-border-radius: 25px;

                &:before {
                    display: none;
                }
            }

            &.slick-active, &:hover {
                button {
                    background-color: #091356;
                }
            }
        }
    }
}

a, ::after, ::before, input[type="submit"], input[type="reset"] {
    transition: all 500ms ease-in-out !important;
    -webkit-transition: all 500ms ease-in-out !important;
}
a {
    text-decoration: none;

    &:hover, &:focus {
        outline: none;
        text-decoration: none;
    }
}
sup {
    font-size: 0.75em;
    vertical-align: super;
}
p:empty{
    display: none;
}
iframe {
    width: 100%;
}
img {
    max-width: 100%;
}
strong {
    font-weight: 700;
}
table {
    width: 100%;
}
.w-100 {
    width: 100% !important;
}
.mx-100 {
    max-width: 100% !important;
}
.p-relative {
    position: relative !important;
}
.p-absolute {
    position: absolute !important;
}
.t0 {
    top: 0 !important;
}
.b0 {
    bottom: 0 !important;
}
.l0 {
    left: 0 !important;
}
.r0 {
    right: 0 !important;
}
.ml-0 {
    margin-left: 0 !important;
}
.mr-0 {
    margin-right: 0 !important;
}
.mt-0 {
    margin-top: 0 !important;
}
.mb-0 {
    margin-bottom: 0 !important;
}
.m-auto {
    margin: 0 auto !important;
}
.ml-auto {
    margin-left: auto !important;
}
.mr-auto {
    margin-right: auto !important;
}
.d-none {
    display: none !important;
}
.d-block {
    display: block !important;
}
.d-flex {
    display: flex !important;
}
.d-inline-flex {
    display: inline-flex !important;
}
.justify-spcbetwn {
    justify-content: space-between !important;
}
.justify-start {
    justify-content: flex-start !important;
}
.justify-end {
    justify-content: flex-end !important;
}
.justify-center {
    justify-content: center !important;
}
.flex-column {
    flex-direction: column !important;
}
.flex-row {
    flex-direction: row !important;
}
.flex-column-reverse {
    flex-direction: column-reverse !important;
}
.flex-row-reverse {
    flex-direction: row-reverse !important;
}
.align-center {
    align-items: center !important;
}
.align-content-center {
    align-content: center !important;
}
.align-start {
    align-items: flex-start !important;
}
.align-stretch {
    align-items: stretch !important;
}
.align-stretch {
    align-items: stretch !important;
}
.flex-wrap {
    flex-wrap: wrap !important;
}
.order1 {
    order: 1 !important;
}
.order2 {
    order: 2 !important;
}
.order3 {
    order: 3 !important;
}
.o-overlay {
    &.o-overlay--dark {
        position: relative;

        &:after {
            z-index: 2;
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            content: '';
            background-color: rgba(0, 17, 35, 0.9);
        }
    }

    .wp-block-group {
        position: relative;
        z-index: 3;
    }
}
.gform_fields {
    /* grid-row-gap: 3% !important; */
}
.ginput_complex {
    row-gap: 3% !important;
    column-gap: 2% !important;
    width: 100%;
    margin: 0 !important;

    .gform-grid-col {
        padding: 0 !important;
        flex: 1 !important;

        /* &.ginput_full {
            order: 3;
        }
        &.address_city {
            order: 1;
        } */
        &.address_state {
            margin-right: -2%;
        }

        @media (width < 1025px) {
            width: 100%;
        }

    }

    @media (width < 1025px) {
        align-items: center !important;
        flex-flow: column wrap !important;
    }
}
input[type='text'], input[type='url'], input[type='email'], input[type='password'], input[type='url'], input[type='tel'], input[type='file'], input[type="radio"], input[type="checkbox"], textarea, select, .ginput_container_fileupload {
    background-color: transparent !important;
    border: 1px solid #cacaca !important;
    color: var(--wp--preset--color--base);
    padding: 15px 10px !important;
    height: auto !important;
    width: 100%;

    @media (width < 1025px) {
        padding: 5px 10px !important;
    }
}
textarea {
    height: 96px !important;
}
::placeholder, ::-ms-input-placeholder, ::-webkit-input-placeholder, ::-o-input-placeholder {
    color: var(--wp--preset--color--base);
    opacity: 1;
}

button[type='submit'] {
    background-color: var(--wp--preset--color--accent-6);
    color: #fff !important;
    border:  none !important;
    font-size: 18px !important;
    padding: 20px 40px !important;
    height: auto;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    outline: none !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    z-index: 3 !important;
    transition: all 500ms ease-in-out;
    -webkit-transition: all 500ms ease-in-out;
    border-radius: 15px !important;
    -webkit-border-radius: 15px !important;

    &:hover {
        color: var(--black) !important;
        background-color: var(--wp--preset--color--accent-7) !important;
    }

    @media (width < 1025px) {
        padding: 1rem 1.25rem;
        font-size: 13px !important;
    }
}

.gsection_title {
    color: var(--wp--preset--color--accent-6);
}
.gform_required_legend {
    display: none;
}

.gform_confirmation_message {
    color: var(--white) !important;
}

.o-heading--border {
    &:has(h1, h2, h3, h4, h5, h6) {
        position: relative;
        display: flex;
        margin: 0;
        
        h1, h2, h3, h4, h, h6 {
            width: 100%;
            display: flex;
            flex-direction: column;
            line-height: inherit;

            &:after {
                position: relative;
                display: block;
                width: 68px;
                height: 3px;
                content: '';
            }

            @media (width < 1301px) {
                padding: 0 0 1rem;
            }
        }
    }
    &.o-heading--borderbottomcenterDarkYellow {
        h1, h2, h3, h4, h, h6 {
            &:after {
                left: 0;
                right: 0;
                margin: 20px auto 0;
                background: var(--wp--preset--color--accent-6);
            }
        } 
    }
}
.gfield_label, .gform_title, .gform-field-label {
    color: var(--white) !important;
    font-weight: 400 !important;
    margin: 0 0 8px;
    padding: 0 !important;
    font-size: 1rem !important;
}

.gfield_contains_required .ginput_complex .gform-field-label--type-sub::after {
    content: " *";
    color: #c02b0a;
    display: inline;
    font-size: 13.008px;
}



.gfield--type-section {
    &:has(h1, h2, h3, h4, h5, h6) {
        position: relative;
        border: none !important;
        padding: 0 !important;
        margin: 0 0 1rem;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 1rem;

        &:after, &:before {
            position: relative;
            display: block;
            width: 100%;
            height: 1px;
            content: '';
            background: var(--wp--preset--color--accent-6);    
        }
        &:before {
            left: 0;
        }
        &:after {
            right: 0;
        }
        
        h1, h2, h3, h4, h, h6 {
            margin: 0;
            padding: 0;
            white-space: nowrap;
            text-align: center;
            line-height: inherit;
        }
    }

    & ~ .gfield--type-section {
        margin-top: 2rem;
    }
}
.gfield {
    margin: 0 0 1rem !important;
}
.gfield_checkbox {
    display: flex !important;
    align-items: center;
    gap: 12px;
    row-gap: 22px;
    flex-wrap: wrap;

    .gchoice {
        display: inline-flex !important;
        margin: 0 !important;
        align-items: center;

        .gform-field-label {
            margin-bottom: 0 !important;
        }

        input[type="checkbox"] {
            appearance: none;
            -webkit-appearance: none;
            width: 16px;
            height: 16px !important;
            padding: 0 !important;
            cursor: pointer;
            background-color: transparent;
            flex-shrink: 0;

            &:checked {
                position: relative;

                &:after {
                    content: '✓';
                    position: absolute;
                    color: var(--white);
                    font-size: 14px;
                    top: 50%;
                    left: 50%;
                    transform: translate(-50%, -50%);
                }
            }
        }
    }
}
.wp-block-site-logo {
    a {
        img {
            width: 40% !important;

            @media (width > 1025px) {
                width: 187px !important;
            }

            @media (width > 1600px) {
                width: 217px !important;
            }
        }
    }
}

.o-container {
    .wp-block-group, .gform_wrapper {
        @media (width > 1600px) {
            max-width: 1500px;
        }
    }
    @media (width < 1350px) {
        padding: 0 1rem !important;
    }
}
h2 {
    line-height: normal;

    @media (width < 1025px) {
        font-size: 1.5rem !important;
    }
}
.o-btn {

    a {
        @media (width < 1025px) {
            padding-right: 1.25rem;
            padding-left: 1.25rem;
            font-size: 13px !important;
        }
    }

    &.o-btn--darkYellow {
        
    }
}

.gfield_radio {
    display: flex !important;
    align-items: center;
    gap: 12px;
    row-gap: 22px;
    flex-wrap: wrap;

    .gchoice {
        display: inline-flex !important;
        margin: 0 !important;
        align-items: center;

        .gform-field-label {
            margin-bottom: 0 !important;
        }

        input[type="radio"] {
            appearance: none;
            -webkit-appearance: none;
            width: 16px;
            height: 16px !important;
            padding: 0 !important;
            cursor: pointer;
            background-color: transparent;
            flex-shrink: 0;
            border-radius: 500%;
            -webkit-border-radius: 500%;

            &:checked {
                position: relative;

                &:after {
                    content: '✓';
                    position: absolute;
                    color: var(--white);
                    font-size: 14px;
                    top: 50%;
                    left: 50%;
                    transform: translate(-50%, -50%);
                }
            }
        }
    }
}
.o-banner {
    &.o-banner--landing {
        .o-banner--content {

            .wp-block-heading {
                @media (width < 1025px) {
                    font-size: 2.1rem !important;
                }
            }

            p {
                @media (width > 1600px) {
                    font-size: 20px !important;
                    line-height: 26px;
                }
                @media (width < 768px) {
                    font-size: 0.8rem !important;
                }
            }

            @media (width > 1025px) {
                max-width: 60%;
                margin-left: 0 !important;
                margin-right: auto !important;
            }
        }

        .wp-block-button {
            a {
                &:hover {
                    background: var(--wp--preset--color--accent-5) !important;   
                    border-color: var(--wp--preset--color--accent-5) !important;                     
                }
            }
        }
        @media (width < 1025px) {
            padding: 2rem !important;
        }
    }
}
.o-blurb {
    &.o-blurbWIconBox {

        .wp-block-media-text {
            grid-template-columns: auto !important;
        }

        .wp-block-heading {
            margin: 0;

            /* @media (width > 1025px) {
                min-height: 50px;
            } */
            @media (width < 1300px) {
                font-size: 21px !important;
            }
        }

        p {
            @media (width < 1300px) {
                font-size: 13px !important
            }
        }

        .wp-block-media-text__media {
            img {
                width: auto;
                max-width: max-content;
            }
            @media (width < 1025px) {
                justify-content: center;
                display: flex;
                flex-direction: column;
                /* align-items: center; */
                margin: 0 1rem 0 0;
            }

            @media (width < 601px) {                
                margin: 0 0 1rem;
            }
        }
        
        .wp-block-media-text__content {
            @media (width < 1025px) {
                display: flex;
                align-items: center;
                justify-content: flex-start;
                flex-flow: row wrap;
                padding: 0;
            }
        }

        @media (width < 1025px) {
            row-gap: 1rem !important;
            width: 100%;
            align-items: flex-start;
            /* justify-content: flex-start; */
        }

        &:not(:last-child) {
            @media (width > 1025px) {
                border-right: 2px solid #d4d4d4;
            }

            @media (width < 1025px) {
                border-bottom: 2px solid #d4d4d4;
                padding: 0 0 2rem;
            }
        }
    }
}

.o-footer {
    &.o-footer--landing {
        p, p * {
            color: var(--wp--preset--color--accent-4);
        }
    }

    nav {
        ul {
            li {
                a {
                    @media (width > 1600px) {
                        font-size: 18px !important;
                    }
                }
            }
            @media (width < 1025px) {
                justify-content: center;
            }
        }
    }

    p {
        @media (width > 1600px) {
            font-size: 18px !important;
        }
        @media (width < 1025px) {
            text-align: center;
        }
    }
}




/* --------------------------------------- *
|           F L E X    I T E M S           |
* ----------------------------------------*/
.fixed {
    position: fixed;
    top: 0;
    height: 70px;
    z-index: 1;
}
.d-flex {
    display: flex !important;
}
.d-inline-flex {
    display: inline-flex !important;
}
.justify-spcbetwn {
    justify-content: space-between !important;
}
.justify-start {
    justify-content: flex-start !important;
}
.justify-end {
    justify-content: flex-end !important;
}
.justify-center {
    justify-content: center !important;
}
.flex-column {
    flex-direction: column !important;
}
.flex-row {
    flex-direction: row !important;
}
.align-center {
    align-items: center !important;
}
.align-content-center {
    align-content: center !important;
}
.align-baseline {
    align-items: baseline !important;
}
.align-stretch {
    align-items: stretch !important;
}
.align-end {
    align-items: flex-end !important;
}
.flex-wrap {
    flex-wrap: wrap;
}
.order1 {
    order: 1 !important;
}
.order2 {
    order: 2 !important;
}
.mb-0 {
    margin-bottom: 0 !important;
}
.text-center {
    text-align: center;
}

img {
    &.alignright { 
        margin: 0 0 20px 50px; 
        display: inline; 
        float: right;
    }
    &.alignleft { 
        margin: 0 50px 20px 0; 
        display: inline; 
        float: left;
    }
    &.aligncenter { 
        display: block; 
        margin: 0 auto 20px;
    }
    &.alignleft, &.alignright, &.aligncenter, &.alignnone {
        border: 10px solid #fff;
        box-shadow: 0px 0px 20px 0px rgba(69, 69, 69, 0.16);
        -webkit-box-shadow: 0px 0px 20px 0px rgba(69, 69, 69, 0.16);
    }
}


.o-greyscale {
    filter: grayscale(1);
    -filter: grayscale(1);
}


/* --------------------------------------- *
|           R E S P O N S I V E             |
* ----------------------------------------*/

@media (width > 781px) {
    .w-100-lg {
        width: 100% !important;
    }
    .d-none-lg {
        display: none !important;
    }
    .d-flex-lg {
        display: flex !important;
    }
    .d-inline-flex-lg {
        display: inline-flex !important;
    }
    .justify-spcbetwn-lg {
        justify-content: space-between !important;
    }
    .justify-start-lg {
        justify-content: flex-start !important;
    }
    .justify-end-lg {
        justify-content: flex-end !important;
    }
    .justify-center-lg {
        justify-content: center !important;
    }
    .flex-column-lg {
        flex-direction: column !important;
    }
    .flex-row-lg {
        flex-direction: row !important;
    }
    .flex-column-reverse-lg {
        flex-direction: column-reverse !important;
    }
    .flex-row-reverse-lg {
        flex-direction: row-reverse !important;
    }
    .align-center-lg {
        align-items: center !important;
    }
    .align-content-center-lg {
        align-content: center !important;
    }
    .align-start-lg {
        align-items: flex-start !important;
    }
    .align-stretch-lg {
        align-items: stretch !important;
    }
    .align-stretch-lg {
        align-items: stretch !important;
    }
    .flex-wrap-lg {
        flex-wrap: wrap !important;
    }
    .order1-lg {
        order: 1 !important;
    }
    .order2-lg {
        order: 2 !important;
    }
    .order3-lg {
        order: 3 !important;
    }
}
@media (width < 1200px) {
    .w-100-xl {
        width: 100% !important;
    }
    .d-none-xl {
        display: none !important;
    }
    .d-flex-xl {
        display: flex !important;
    }
    .d-inline-flex-xl {
        display: inline-flex !important;
    }
    .justify-spcbetwn-xl {
        justify-content: space-between !important;
    }
    .justify-start-xl {
        justify-content: flex-start !important;
    }
    .justify-end-xl {
        justify-content: flex-end !important;
    }
    .justify-center-xl {
        justify-content: center !important;
    }
    .flex-column-xl {
        flex-direction: column !important;
    }
    .flex-row-xl {
        flex-direction: row !important;
    }
    .align-center-xl {
        align-items: center !important;
    }
    .align-content-center-xl {
        align-content: center !important;
    }
    .align-start-xl {
        align-items: flex-start !important;
    }
    .align-stretch-xl {
        align-items: stretch !important;
    }
    .align-baseline-xl {
        align-items: baseline !important;
    }
    .flex-wrap-xl {
        flex-wrap: wrap !important;
    }
    .flex-column-reverse-xl {
        flex-direction: column-reverse !important;
    }
    .flex-row-reverse-xl {
        flex-direction: row-reverse !important;
    }
    .order1-xl {
        order: 1 !important;
    }
    .order2-xl {
        order: 2 !important;
    }
    .order3-xl {
        order: 3 !important;
    }
}
@media (width < 1025px) {
    .w-100-md {
        width: 100% !important;
    }
    .d-none-md {
        display: none !important;
    }
    .d-flex-md {
        display: flex !important;
    }
    .d-inline-flex-md {
        display: inline-flex !important;
    }
    .justify-spcbetwn-md {
        justify-content: space-between !important;
    }
    .justify-start-md {
        justify-content: flex-start !important;
    }
    .justify-end-md {
        justify-content: flex-end !important;
    }
    .justify-center-md {
        justify-content: center !important;
    }
    .flex-column-md {
        flex-direction: column !important;
    }
    .flex-row-md {
        flex-direction: row !important;
    }
    .align-center-md {
        align-items: center !important;
    }
    .align-content-center-md {
        align-content: center !important;
    }
    .align-start-md {
        align-items: flex-start !important;
    }
    .align-stretch-md {
        align-items: stretch !important;
    }
    .align-baseline-md {
        align-items: baseline !important;
    }
    .flex-wrap-md {
        flex-wrap: wrap !important;
    }
    .flex-column-reverse-md {
        flex-direction: column-reverse !important;
    }
    .flex-row-reverse-md {
        flex-direction: row-reverse !important;
    }
    .order1-md {
        order: 1 !important;
    }
    .order2-md {
        order: 2 !important;
    }
    .order3-md {
        order: 3 !important;
    }
}
@media (width < 768px) {
    .w-100-sm {
        width: 100% !important;
    }
    .d-none-sm {
        display: none !important;
    }
    .d-flex-sm {
        display: flex !important;
    }
    .d-inline-flex-sm {
        display: inline-flex !important;
    }
    .justify-spcbetwn-sm {
        justify-content: space-between !important;
    }
    .justify-start-sm {
        justify-content: flex-start !important;
    }
    .justify-end-sm {
        justify-content: flex-end !important;
    }
    .justify-center-sm {
        justify-content: center !important;
    }
    .flex-column-sm {
        flex-direction: column !important;
    }
    .flex-column-reverse-sm {
        flex-direction: column-reverse !important;
    }
    .flex-row-sm {
        flex-direction: row !important;
    }
    .flex-row-reverse-sm {
        flex-direction: row-reverse !important;
    }
    .align-center-sm {
        align-items: center !important;
    }
    .align-content-center-sm {
        align-content: center !important;
    }
    .align-start-sm {
        align-items: flex-start !important;
    }
    .align-stretch-sm {
        align-items: stretch !important;
    }
    .align-stretch-sm {
        align-items: stretch !important;
    }
    .flex-wrap-sm {
        flex-wrap: wrap !important;
    }
    .order1-sm {
        order: 1 !important;
    }
    .order2-sm {
        order: 2 !important;
    }
    .order3-sm {
        order: 3 !important;
    }
}

@media (width < 641px) {
    .w-100-xs {
        width: 100% !important;
    }
    .d-none-xs {
        display: none !important;
    }
    .d-flex-xs {
        display: flex !important;
    }
    .d-inline-flex-xs {
        display: inline-flex !important;
    }
    .justify-spcbetwn-xs {
        justify-content: space-between !important;
    }
    .justify-start-xs {
        justify-content: flex-start !important;
    }
    .justify-end-xs {
        justify-content: flex-end !important;
    }
    .justify-center-xs {
        justify-content: center !important;
    }
    .flex-column-xs {
        flex-direction: column !important;
    }
    .flex-column-reverse-xs {
        flex-direction: column-reverse !important;
    }
    .flex-row-xs {
        flex-direction: row !important;
    }
    .flex-row-reverse-xs {
        flex-direction: row-reverse !important;
    }
    .align-center-xs {
        align-items: center !important;
    }
    .align-content-center-xs {
        align-content: center !important;
    }
    .align-start-xs {
        align-items: flex-start !important;
    }
    .align-stretch-xs {
        align-items: stretch !important;
    }
    .align-stretch-xs {
        align-items: stretch !important;
    }
    .flex-wrap-xs {
        flex-wrap: wrap !important;
    }
    .order1-xs {
        order: 1 !important;
    }
    .order2-xs {
        order: 2 !important;
    }
    .order3-xs {
        order: 3 !important;
    }
}