/*
Theme Name: Brock McClane
*/

/* Layer Declarations */
@layer bootstrap, utilities, ronstrap, fonts, rs, components, overrides;

/* Bootstrap */
@import url('assets/css/vendor/bootstrap.min.css') layer(bootstrap);

@import url("https://use.typekit.net/vqy4bav.css") layer(fonts);

@layer rs {

    /* Variables
    ----------------------------------------------------
    */
    :root {

        /* - - Fonts - - */

        --degular: degular, Helvetica, Arial, sans-serif;
        --lapture: jaf-lapture-display, Charter, Cambria, serif;

        --weight-regular: 400;
        --weight-medium: 500;
        --weight-semibold: 600;
        --weight-bold: 700;

        --font-factor: 1;
        --font-scale: 1.125;
        --font-size: 1rem;


        /* - - Colors - - */

        --whitmore-green-rgb: 33 55 44; /* #21372C */
        --whitmore-green: rgb(var(--whitmore-green-rgb) / 100%);

        --stone-ink-rgb: 0 0 0; /* #000000 */
        --stone-ink: rgb(var(--stone-ink-rgb) / 100%);

        --clay-mist-rgb: 234 234 227; /* #EAEAE3 */
        --clay-mist: rgb(var(--clay-mist-rgb) / 100%);

        --sage-rgb: 122 139 116; /* #7A8B74 */
        --sage: rgb(var(--sage-rgb) / 100%);

        --stone-dust-rgb: 216 216 210; /* #D8D8D2 */
        --stone-dust: rgb(var(--stone-dust-rgb) / 100%);

        --linen-fog-rgb: 245 245 241; /* #F5F5F1 */
        --linen-fog: rgb(var(--linen-fog-rgb) / 100%);

        --charter-white-rgb: 255 255 255; /* #FFFFFF */
        --charter-white: rgb(var(--charter-white-rgb) / 100%);

        --gradient-stone-ink-whitmore-green: linear-gradient(252deg in oklab, var(--whitmore-green) 0%, var(--stone-ink) 100%);


        /* - - Global Assignments - - */

        --navbar-toggler: var(--sage);
        --navbar-accent: var(--sage);

        --placeholder: rgb(var(--stone-ink-rgb) / 50%);

        --focus: var(--sage);

        --list-color: var(--stone-ink);

        --skip-background: var(--stone-ink);
        --skip-border: var(--sage);
        --skip-color: var(--white);

        --selection-background: var(--sage);
        --selection-color: var(--stone-ink);

        --header: 5.875rem;

        --body-color: var(--stone-ink);
        --body-font: var(--degular);
        --body-weight: var(--weight-regular);
        --content-margin: 1.5rem;

        --heading-color: var(--stone-ink);
        --heading-font: var(--lapture);
        --heading-weight: var(--weight-semibold);
        --heading-margin: 1rem;

        --spacer: 4rem;
        --gutter: 2rem;

        --row-x: 1.5rem;
        --row-y: 0;

        --transition: .25s all;


        /* - - Spacing - - */

        --col-1: 8.3333333333%;
        --col-2: 16.6666666667%;
        --col-3: 25%;
        --col-4: 33.3333333333%;
        --col-5: 41.6666666667%;
        --col-6: 50%;
        --col-7: 58.3333333333%;
        --col-8: 66.6666666667%;
        --col-9: 75%;
        --col-10: 83.3333333333%;
        --col-11: 91.6666666667%;

        --container-col-1: calc(var(--container-width) * (1 / 12));
        --container-col-2: calc(var(--container-width) * (2 / 12));
        --container-col-3: calc(var(--container-width) * (3 / 12));
        --container-col-4: calc(var(--container-width) * (4 / 12));
        --container-col-5: calc(var(--container-width) * (5 / 12));
        --container-col-6: calc(var(--container-width) * (6 / 12));
        --container-col-7: calc(var(--container-width) * (7 / 12));
        --container-col-8: calc(var(--container-width) * (8 / 12));
        --container-col-9: calc(var(--container-width) * (9 / 12));
        --container-col-10: calc(var(--container-width) * (10 / 12));
        --container-col-11: calc(var(--container-width) * (11 / 12));

        --container-width: 100%;
        --container-padding: 1.25rem;

        --page-gutters: calc(100vw - (var(--container-padding) * 2));
        --single-gutter: var(--container-padding);
        --padded-gutter: var(--container-padding);

        --align-items: normal;
        --flex-direction: row;
        --justify-content: normal;

        --negative-spacer: calc(var(--spacer) * -1);

        --subspacer: calc(var(--spacer) / 2);
        --negative-subspacer: calc(var(--subspacer) * -1);

        --supspacer: calc(var(--spacer) * 2);
        --negative-supspacer: calc(var(--supspacer) * -1);

        --negative-gutter: calc(var(--gutter) * -1);

    }

    @media (min-width: 576px) {
        :root {
            --container-padding: calc(var(--row-x) * .5);
            --container-width: 540px;

            --page-gutters: calc(100vw - var(--container-width));
            --single-gutter: calc(var(--page-gutters) / 2);
            --padded-gutter: calc(var(--single-gutter) + var(--container-padding));
        }
    }

    @media (min-width: 768px) {
        :root {
            --container-width: 720px;

            --spacer: 5rem;
        }
    }

    @media (min-width: 992px) {
        :root {
            --container-width: 960px;

            --font-scale: 1.25;

            --header: 6.5625rem;

            --spacer: 6rem;
        }
    }

    @media (min-width: 1200px) {
        :root {
            --font-size: 1.125rem;

            --container-width: 1140px;
        }
    }

    @media (min-width: 1400px) {
        :root {
            --container-width: 1320px;

            --font-scale: 1.333;
        }
    }

    @media (min-width: 1600px) {
        :root {
            --container-width: 1520px;
        }
    }



    /* Icons
    ----------------------------------------------------
    */
    @font-face {
        font-family: 'icons';
        src: url('assets/css/icons/icomoon.eot');
        src: url('assets/css/icons/icomoon.eot') format('embedded-opentype'),
        url('assets/css/icons/icomoon.ttf') format('truetype'),
        url('assets/css/icons/icomoon.woff') format('woff'),
        url('assets/css/icons/icomoon.svg') format('svg');
        font-display: block;
        font-style: normal;
        font-weight: normal;
    }

    :root {
        --icons: 'icons';

        --arrow-down: "\e900";
        --arrow-left: "\e901";
        --arrow-right: "\e902";
        --arrow-up: "\e903";

        --chevron-down: "\e904";
        --chevron-left: "\e905";
        --chevron-right: "\e906";
        --chevron-up: "\e907";

        --facebook: "\e908";
        --instagram: "\e909";
        --linkedin: "\e90a";
        --pinterest: "\e90f";
        --tiktok: "\e90b";
        --twitter: "\e90c";
        --vimeo: "\e90d";
        --x: "\e910";
        --youtube: "\e90e";

        --close: "\e911";
        --plus: "\e912";
    }

    [class*="icon"] {
        text-decoration: none;
    }

    [class*="icon"]:before {
        font-family: var(--icons);
        font-style: normal;
        font-variant: normal;
        font-weight: normal;
        line-height: 1;
        text-decoration: none;
        text-transform: none;
    }

    .icon.arrow-down:before {
        content: var(--arrow-down);
    }

    .icon.arrow-left:before {
        content: var(--arrow-left);
    }

    .icon.arrow-right:before {
        content: var(--arrow-right);
    }

    .icon.arrow-up:before {
        content: var(--arrow-up);
    }

    .icon.chevron-down:before {
        content: var(--chevron-down);
    }

    .icon.chevron-left:before {
        content: var(--chevron-left);
    }

    .icon.chevron-right:before {
        content: var(--chevron-right);
    }

    .icon.chevron-up:before {
        content: var(--chevron-up);
    }

    .icon.facebook:before {
        content: var(--facebook);
    }

    .icon.instagram:before {
        content: var(--instagram);
    }

    .icon.linkedin:before {
        content: var(--linkedin);
    }

    .icon.pinterest:before {
        content: var(--pinterest);
    }

    .icon.tiktok:before {
        content: var(--tiktok);
    }

    .icon.twitter:before {
        content: var(--twitter);
    }

    .icon.vimeo:before {
        content: var(--vimeo);
    }

    .icon.x:before {
        content: var(--x);
    }

    .icon.youtube:before {
        content: var(--youtube);
    }

    .icon.close:before {
        content: var(--close);
    }

    .icon.plus:before {
        content: var(--plus);
    }


    /* Resets & Structure
    ----------------------------------------------------
    */
    *:focus {
        box-shadow: none;
        outline: .0625rem dashed var(--focus);
        outline-offset: .125rem;
    }

    ::selection {
        background: var(--selection-background);
        color: var(--selection-color);
        -webkit-text-fill-color: var(--selection-color);
    }

    .skip-to {
        background-color: var(--skip-background);
        border: .125rem solid var(--skip-border);
        color: var(--skip-color);
        height: 1px;
        inset: auto auto auto -10000px;
        overflow: hidden;
        padding: .5rem 1rem;
        position: absolute;
        text-decoration: none;
        width: 1px;
        z-index: 9999;
    }

    .skip-to:focus {
        height: auto;
        inset: .25rem auto auto .25rem;
        width: auto;
    }

    html {
        background-color: var(--whitmore-green);
        scrollbar-gutter: stable;
        scroll-behavior: smooth;
    }

    body {
        background-color: var(--charter-white);
        color: var(--body-color);
        display: flex;
        font-family: var(--body-font);
        font-size: var(--font-size);
        font-weight: var(--body-weight);
        flex-direction: column;
        line-height: 1.5;
        margin: 0;
        min-height: 100vh;
        text-rendering: optimizeLegibility;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

    /*html.open-menu, html.open-menu body {*/
    /*    min-height: 100vh;*/
    /*    overflow: hidden;*/
    /*    position: static !important;*/
    /*}*/

    body > :where(iframe, img) {
        border: 0 !important;
        clip: rect(0, 0, 0, 0) !important;
        height: 1px !important;
        margin: -1px !important;
        overflow: hidden !important;
        padding: 0 !important;
        position: absolute !important;
        white-space: nowrap !important;
        width: 1px !important;
    }

    main {
        padding-top: var(--header);
        position: relative;
    }

    main:before {
        background-color: var(--whitmore-green);
        content: '';
        height: var(--header);
        inset: 0 0 auto;
        position: absolute;
    }

    .container,
    .container-fluid {
        padding-left: var(--container-padding);
        padding-right: var(--container-padding);
    }

    .container {
        max-width: var(--container-width);
    }

    .row {
        align-items: var(--align-items);
        flex-direction: var(--flex-direction);
        justify-content: var(--justify-content);
        margin-left: calc(var(--row-x) / -2);
        margin-right: calc(var(--row-x) / -2);
        margin-top: calc(var(--row-y) * -1);
    }

    .row > * {
        margin-top: var(--row-y);
        padding-left: calc(var(--row-x) / 2);
        padding-right: calc(var(--row-x) / 2);
    }

    .section {
        margin-bottom: var(--spacer);
    }

    .subsection {
        margin-bottom: var(--subspacer);
    }

    .wrapper {
        padding-bottom: var(--spacer);
        padding-top: var(--spacer);
    }

    .wrapper.section + .wrapper {
        margin-top: var(--negative-spacer);
    }

    :where(header, main, footer) img {
        height: auto;
        max-width: 100%;
        object-fit: cover;
        width: 100%;
    }

    iframe {
        aspect-ratio: 16 / 9;
        height: auto;
        position: relative;
        width: 100%;
    }

    .lazy {
        opacity: 0;
        transition: var(--transition);
    }

    .lazy.loaded {
        opacity: 1;
    }

    :where(a, *[class^="btn"], button, input, select, textarea, #navigation),
    :where(a, *[class^="btn"], button, input, select, textarea, #navigation):after,
    :where(a, *[class^="btn"], button, input, select, textarea, #navigation):before {
        transition: var(--transition);
    }

    @media (min-width: 768px) {
        .two-col,
        .three-col {
            column-gap: var(--gutter);
            columns: 2;
        }

        .two-col > *,
        .three-col > * {
            break-inside: avoid;
            page-break-inside: avoid;
        }
    }

    @media (min-width: 992px) {
        main {
            padding-top: 0;
        }

        main:before {
            content: none;
        }

        .container.inset {
            max-width: var(--container-col-10);
        }

        .three-col {
            columns: 3;
        }
    }

    @media (min-width: 1200px) {
        .container.inset-xl {
            max-width: var(--container-col-10);
        }
    }

    @media (min-width: 1400px) {
        .container.inset-xxl {
            max-width: var(--container-col-10);
        }
    }



    /* Forms
    ----------------------------------------------------
    */
    input,
    label,
    select,
    textarea,
    button,
    fieldset,
    legend,
    datalist,
    output,
    option,
    optgroup {
        -webkit-appearance: none;
        -webkit-border-radius: 0;
        appearance: none;
        background: 0;
        border: 0;
        border-radius: 0;
        display: block;
        width: 100%;
    }

    label {
        display: block;
        font-size: 1.25rem;
        font-weight: var(--weight-semibold);
        margin-bottom: 1rem;
    }

    input,
    select,
    textarea {
        background: linear-gradient(to bottom, var(--sage), var(--sage)) no-repeat bottom;
        background-color: var(--charter-white);
        background-position: 0 100%;
        background-size: 100% 0;
        font-size: 1.125rem;
        padding: 1.375rem 1.25rem;
        transition: var(--transition);
    }

    :is(
		input,
		select,
		textarea
	):placeholder-shown:hover,
    :is(
		input,
		select,
		textarea
	):not(:placeholder-shown) {
        background-size: 100% .25rem;
    }

    button[type="submit"] {
        /* background-color: var(--sage); */
        border: .046875rem solid var(--sage);
        color: var(--charter-white);
        font-size: 1rem;
        font-weight: var(--weight-semibold);
        margin: 0 auto;
        padding: 1rem 2rem;
        position: relative;
        width: fit-content;
        z-index: 1;
    }

    button[type="submit"]:after {
        background-color: var(--sage);
        content: '';
        height: 100%;
        inset: auto 0 0;
        position: absolute;
        z-index: -1;
    }

    button[type="submit"]:hover:after {
        height: .1875rem;
    }

    .wpcf7-not-valid-tip {
        color: var(--sage);
        font-family: var(--degular);
        font-size: 1rem;
        font-weight: var(--weight-medium);
        text-transform: uppercase;
    }

    .wpcf7-response-output {
        color: var(--charter-white);
        text-align: center;
        margin-top: var(--subspacer);
    }

    ::-webkit-input-placeholder {
        color: var(--placeholder);
    }

    :-ms-input-placeholder {
        color: var(--placeholder);
    }

    ::placeholder {
        color: var(--placeholder);
    }

    .input {
        margin-bottom: var(--gutter);
    }


    /* Typography
    ----------------------------------------------------
    */
    h1, .h1,
    h2, .h2,
    h3, .h3,
    h4, .h4,
    h5, .h5,
    h6, .h6 {
        color: var(--heading-color);
        font-family: var(--heading-font);
        /* font-size: calc(var(--font-size) * pow(var(--font-scale), var(--font-factor))); */
        font-weight: var(--heading-weight);
        line-height: 1.25;
        margin-bottom: var(--heading-margin);
        text-wrap: balance;
    }

    h1, .h1 {
        --font-factor: 6;
        font-size: 2.5rem;
        line-height: 1;
    }

    h2, .h2 {
        --font-factor: 5;
        font-size: 2.25rem;
    }

    h3, .h3 {
        --font-factor: 4;
        font-size: 1.5rem;
    }

    h4, .h4 {
        --font-factor: 3;
        font-size: 1.25rem;
    }

    h5, .h5 {
        --font-factor: 2;
        font-size: 1.125rem;
    }

    h6, .h6 {
        --font-factor: 1;
        font-size: 1rem;
    }

    @media (min-width: 992px) {
        h1, .h1 {
            font-size: 3rem;
        }

        h2, .h2 {
            font-size: 2.75rem;
        }
    }

    a {
        color: var(--sage);
    }

    a:hover {
        color: var(--whitmore-green);
    }

    p {
        margin-bottom: var(--content-margin);
    }

    ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    ol {
        margin: 0;
        padding: 0 0 0 1.125rem;
    }

    main :where(ul, ol) {
        --item-margin: .5rem;
        margin-bottom: var(--content-margin);
    }

    main :where(ul, ol) li {
        margin-bottom: var(--item-margin);
        position: relative;
    }

    main ul li {
        background: linear-gradient(to bottom, var(--list-color), var(--list-color)) no-repeat bottom;
        background-position: 0 .75rem;
        background-size: .25rem .25rem;
        padding-left: 1.125rem;
    }

    main ol li {
        padding-left: .25rem;
    }

    main ol li::marker {
        color: var(--list-color);
    }

    :where(
		h1, .h1,
		h2, .h2,
		h3, .h3,
		h4, .h4,
		h5, .h5,
		h6, .h6,
		ul, ol, li,
		p
	):last-child {
        margin-bottom: 0;
    }


    /* Footer
    ----------------------------------------------------
    */
    footer {
        margin-top: auto;
    }

}

/* Main Styles */
@layer components {

    /* Global Styles
    ----------------------------------------------------
    */
    .logo,
    .logo img {
        display: inline-block;
        max-width: 13.75rem;
    }

    .label {
        font-size: 1rem;
        font-weight: var(--weight-medium);
        line-height: 1.375;
        letter-spacing: .25rem;
        margin-bottom: .5rem;
        text-transform: uppercase;
    }

    .accordion .accordion-item {
        background: 0;
        border: 0;
        border-radius: 0;
        padding: 0;
    }

    .accordion .accordion-button {
        box-shadow: none;
        padding: 0;
        position: relative;
        text-align: left;
    }

    .item[data-bs-toggle="modal"] {
        color: var(--body-color);
        padding: 0;
        position: relative;
        text-align: left;
    }

    .item[data-bs-toggle="modal"]:after {
        background-color: var(--sage);
        content: '';
        height: 0;
        inset: auto 0 -1rem;
        position: absolute;
        transition: var(--transition);
    }

    .item[data-bs-toggle="modal"]:hover:after {
        height: .25rem;
    }

    .modal {
        --row-y: var(--subspacer);
        background-color: var(--charter-white);
        padding: var(--spacer) 0;
        z-index: 9999;
    }

    .modal-fullscreen,
    .modal-fullscreen .modal-content {
        height: auto;
    }

    .modal .btn-close {
        --size: 1.125rem;
        align-items: center;
        color: var(--sage);
        display: flex;
        font-size: 1.125rem;
        height: var(--size);
        inset: var(--container-padding) var(--container-padding) auto auto;
        justify-content: center;
        opacity: 100%;
        padding: 0;
        position: absolute;
        width: var(--size);
        z-index: 1;
    }

    .modal .btn-close:before {
        color: currentColor;
        content: var(--close);
        font-family: var(--icons);
        font-style: normal;
        font-variant: normal;
        font-weight: normal;
        line-height: 1;
        text-decoration: none;
        text-transform: none;
    }

    .modal .btn-close:hover {
        color: var(--stone-ink);
    }

    .modal h3 {
        border-bottom: var(--sage) solid .03125rem;
        padding-bottom: 1rem;
    }

    .btn {
        --border-color: var(--sage);
        border: .046875rem solid var(--sage);
        border-radius: 0;
        color: var(--whitmore-green);
        display: inline-block;
        font-family: var(--degular);
        font-weight: var(--weight-semibold);
        padding: .9375rem 2.0625rem;
        position: relative;
        text-decoration: none;
        width: fit-content;
        z-index: 1;
    }

    .btn:after {
        background-color: var(--sage);
        content: '';
        height: .1875rem;
        inset: auto 0 0;
        position: absolute;
        z-index: -1;
    }

    .btn:hover {
        color: var(--charter-white);
    }

    .btn:hover:after,
    .btn:focus:after,
    .btn:active:after {
        height: 100%;
    }

    @media (min-width: 768px) {
        .modal {
            --align-items: center;
            --row-y: 0;
        }

        .modal .btn-close {
            inset: var(--subspacer) var(--subspacer) auto auto;
        }

        .modal-fullscreen {
            align-items: center;
            display: flex;
            height: 100%;
        }
    }

    @media (min-width: 992px) {
        .logo,
        .logo img {
            max-width: 16.625rem;
        }
    }

    @media (min-width: 1200px) {
        .modal {
            --row-x: var(--subspacer);
        }

        .modal .btn-close {
            --size: 2.375rem;
            font-size: 2.25rem;
        }

        .modal h3 {
            font-size: 2.75rem;
        }
    }

    @media (min-width: 1400px) {
        .modal {
            --row-x: var(--spacer);
        }
    }



    /* Content
    ----------------------------------------------------
    */
    .content.section :is(
		h1, .h1,
		h2, .h2,
		h3, .h3,
		h4, .h4,
		h5, .h5,
		h6, .h6
	) {
        font-size: calc(var(--font-size) * pow(var(--font-scale), var(--font-factor)));
    }

    .content.section :is(
		figure, img, table
	) {
        margin-bottom: var(--content-margin);
    }

    .content.section :is(
		figure, img, table
	):last-child {
        margin-bottom: 0;
    }


    /* Navigation
    ----------------------------------------------------
    */
    header {
        background-color: var(--stone-ink);
        inset: 0 0 auto;
        position: fixed;
        transition: var(--transition);
        width: 100%;
        z-index: 9998;
    }

    .scroll header {
        background-color: var(--stone-ink);
    }

    .scroll.down:not(.open-menu) header {
        transform: translateY(-100%);
    }

    header .navbar {
        padding: 1.25rem 0;
    }

    #navigation {
        background-color: var(--stone-ink);
        display: flex;
        flex-direction: column;
        height: 0;
        inset: var(--header) 0 0;
        opacity: 0;
        overflow: scroll;
        padding: var(--gutter) var(--padded-gutter) var(--subspacer);
        position: fixed;
        visibility: hidden;
    }

    #navigation.show {
        height: calc(100% - var(--header));
        opacity: 1;
        visibility: visible;
    }

    #navigation .navbar-nav,
    #navigation .navbar-nav > li {
        width: 100%;
    }

    #navigation .navbar-nav > li:not(:first-child) {
        border-top: .0625rem solid var(--sage);
        margin: var(--gutter) 0 0;
        padding: var(--gutter) 0 0;
    }

    #navigation a:not(.btn) {
        color: var(--charter-white);
        display: inline-block;
        font-family: var(--lapture);
        font-size: 1.5rem;
        font-weight: var(--weight-bold);
        text-decoration: none;
    }

    #navigation a:not(.btn):hover {
        color: var(--sage);
    }

    #navigation .btn {
        color: var(--charter-white);
        width: 100%;
    }

    @media (min-width: 992px) {
        header {
            background: 0;
        }

        html:not(.scroll) header .navbar {
            padding: var(--subspacer) 0;
        }

        header .navbar-toggler {
            display: none;
        }

        #navigation {
            align-items: center;
            background: 0;
            height: auto;
            inset: auto;
            margin: 0 0 0 var(--subspacer);
            opacity: 1;
            overflow: visible;
            padding: 0;
            position: relative;
            visibility: visible;
        }

        #navigation .navbar-nav {
            align-items: center;
            border: 0;
            flex: 0 0 auto;
            padding: 0;
        }

        #navigation .navbar-nav > li {
            position: relative;
            width: auto;
        }

        #navigation .navbar-nav > li:not(:first-child) {
            border: 0;
            margin: 0 0 0 var(--subspacer);
            padding: 0;
        }

        #navigation .navbar-nav > li:has(.btn) {
            margin-left: auto;
        }

        #navigation .navbar-nav > li > a {
            font-family: var(--degular);
            font-size: 1.125rem;
            font-weight: var(--weight-regular);
        }

        #navigation a:not(.btn) {
            font-size: 1rem;
        }

        #navigation .btn {
            padding: .9375rem 3rem;
        }
    }

    header .navbar-toggler {
        border: 0;
        border-radius: 0;
        height: 1.5rem;
        padding: 0;
        position: relative;
        transition: var(--transition);
        width: 2rem;
        z-index: 1;
    }

    header .navbar-toggler .inner {
        background-color: var(--navbar-toggler);
        height: .125rem;
        inset: auto 0;
        position: absolute;
        transition: var(--transition);
        width: 2rem;
    }

    header .navbar-toggler .inner:nth-child(1) {
        animation-duration: .25s;
        animation-fill-mode: forwards;
        animation-name: navbar-toggler-1-close;
        animation-timing-function: linear;
        top: 0;
    }

    header .navbar-toggler .inner:nth-child(2) {
        top: calc(50% - (.125rem / 2));
        transition-delay: .125s;
        transition-duration: 0s;
    }

    header .navbar-toggler .inner:nth-child(3) {
        animation-duration: .25s;
        animation-fill-mode: forwards;
        animation-name: navbar-toggler-3-close;
        animation-timing-function: linear;
        top: calc(100% - .125rem);
    }

    header .navbar-toggler[aria-expanded="true"] .inner {
        background-color: var(--navbar-accent);
        top: calc(50% - (.125rem / 2));
    }

    header .navbar-toggler[aria-expanded="true"] .inner:nth-child(1) {
        animation-name: navbar-toggler-1-open;
    }

    header .navbar-toggler[aria-expanded="true"] .inner:nth-child(2) {
        left: 50%;
        right: 50%;
        width: 0;
    }

    header .navbar-toggler[aria-expanded="true"] .inner:nth-child(3) {
        animation-name: navbar-toggler-3-open;
    }

    @keyframes navbar-toggler-1-open {
        0% {
            top: 0;
            transform: rotate(0);
        }
        50% {
            top: calc(50% - (.125rem / 2));
            transform: rotate(0);
        }
        100% {
            top: calc(50% - (.125rem / 2));
            transform: rotate(45deg);
        }
    }

    @keyframes navbar-toggler-1-close {
        0% {
            top: calc(50% - (.125rem / 2));
            transform: rotate(45deg);
        }
        50% {
            top: calc(50% - (.125rem / 2));
            transform: rotate(0);
        }
        100% {
            top: 0;
            transform: rotate(0);
        }
    }

    @keyframes navbar-toggler-3-open {
        0% {
            top: calc(100% - .125rem);
            transform: rotate(0);
        }
        50% {
            top: calc(50% - (.125rem / 2));
            transform: rotate(0);
        }
        100% {
            top: calc(50% - (.125rem / 2));
            transform: rotate(-45deg);
        }
    }

    @keyframes navbar-toggler-3-close {
        0% {
            top: calc(50% - (.125rem / 2));
            transform: rotate(-45deg);
        }
        50% {
            top: calc(50% - (.125rem / 2));
            transform: rotate(0);
        }
        100% {
            top: calc(100% - .125rem);
            transform: rotate(0);
        }
    }



    /* Hero
    ----------------------------------------------------
    */
    .hero {
        --heading-color: var(--charter-white);
        align-items: flex-end;
        background: var(--gradient-stone-ink-whitmore-green);
        color: var(--charter-white);
        display: flex;
        font-size: 1.125rem;
        overflow: hidden;
        padding: var(--supspacer) 0;
        position: relative;
    }

    .hero:before {
        background-image: url('assets/img/hero-icon-2.svg');
        background-position: 0 0;
        background-repeat: no-repeat;
        background-size: cover;
        content: '';
        inset: 0;
        opacity: 20%;
        position: absolute;
        width: auto;
    }

    .hero .content {
        position: relative;
        z-index: 1;
    }

    .hero h1 {
        font-size: 2.25rem;
        font-weight: var(--weight-regular);
        line-height: 1.25;
    }

    .hero h1 span {
        font-size: 2.75rem;
        font-weight: var(--weight-semibold);
        text-transform: uppercase;
    }

    .hero .btn {
        color: var(--charter-white);
    }

    @media (Min-width: 768px) {
        .hero:before {
            background-image: url('assets/img/hero-icon-1.svg');
            background-position: 100% 0;
            background-size: auto 100%;
            mix-blend-mode: overlay;
        }

        .hero .content {
            max-width: var(--col-11);
        }
    }

    @media (min-width: 992px) {
        .hero {
            padding: var(--supspacer) 0 var(--spacer);
        }

        .hero:first-child {
            padding-top: calc(var(--supspacer) + var(--header));
        }

        .hero .content {
            max-width: var(--col-9);
        }

        .hero h1 {
            font-size: 3.375rem;
        }

        .hero h1 span {
            font-size: 4.25rem;
        }
    }

    @media (min-width: 1200px) {
        .hero .content {
            max-width: var(--col-7);
        }
    }

    @media (min-width: 1400px) {
        .hero .content {
            max-width: var(--col-5);
        }
    }



    /* Icon Grid
    ----------------------------------------------------
    */
    .icon-grid {
        --content-margin: var(--gutter);
        --heading-color: var(--charter-white);
        --heading-margin: 0;
        --row-y: var(--subspacer);
        background-color: var(--stone-ink);
        color: var(--charter-white);
    }

    .icon-grid .btn-wrap {
        display: flex;
        gap: .75rem;
    }

    .icon-grid .btn {
        color: var(--charter-white);
        flex-grow: 1;
        padding: .9375rem 1.5rem;
    }

    .icon-grid .grid {
        display: grid;
        gap: 1.25rem;
        height: 100%;
    }

    .icon-grid .grid .item {
        align-items: center;
        border: .0625rem solid var(--sage);
        display: flex;
        flex-direction: row-reverse;
        gap: var(--gutter);
        justify-content: space-between;
        padding: var(--gutter);
    }

    .icon-grid .grid .item img {
        --image: 4rem;
        height: var(--image);
        object-fit: contain;
        width: var(--image);
    }

    .icon-grid .grid .item h3 {
        letter-spacing: .0625rem;
        text-transform: uppercase;
        width: min-content;
    }

    @media (min-width: 576px) {
        .icon-grid .grid .item img {
            --image: 6.25rem;
        }
    }

    @media (min-width: 768px) {
        .icon-grid .btn {
            flex-grow: 0;
            padding: .9375rem 2.0625rem;
        }
    }

    @media (min-width: 992px) {
        .icon-grid .grid {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        .icon-grid .grid .item {
            align-items: flex-start;
            flex-direction: column;
        }

        .icon-grid .grid .item img {
            --image: 4.125rem;
            align-self: flex-end;
        }
    }

    @media (min-width: 992px) and (max-width: 1399.98px) {
        .icon-grid .grid .item {
            padding: 1.25rem;
        }

        .icon-grid .grid .item h3 {
            font-size: 1.25rem;
        }
    }

    @media (min-width: 1200px) {
        .icon-grid {
            --row-x: var(--subspacer);
            --row-y: 0;
        }
    }



    /* Accordion Callout
    ----------------------------------------------------
    */
    .accordion-callout {
        margin-top: var(--negative-spacer);
    }

    .accordion-callout .container {
        max-width: 100%;
        padding: 0;
    }

    .accordion-callout img {
        height: 100%;
    }

    .accordion-callout .content {
        background-color: var(--stone-dust);
        padding: var(--subspacer) var(--padded-gutter)
    }

    .accordion-callout .expand {
        align-items: center;
        background-color: var(--linen-fog);
        color: var(--whitmore-green);
        display: flex;
        font-family: var(--lapture);
        font-size: 1.5rem;
        font-weight: var(--weight-bold);
        gap: var(--gutter);
        justify-content: space-between;
        letter-spacing: .0625rem;
        line-height: 1.25;
        padding: var(--subspacer) var(--padded-gutter);
        position: sticky;
        text-align: left;
        text-transform: uppercase;
        top: 0;
        transition: var(--transition);
        z-index: 1;
    }

    .scroll.up .accordion-callout .expand {
        top: var(--header);
    }

    .accordion-callout .expand svg {
        height: 1.25rem;
        width: 1.25rem;
    }

    .accordion-callout .expand svg .shape {
        fill: var(--sage);
        transition: .25s fill;
    }

    .accordion-callout .expand:hover svg .shape {
        fill: var(--whitmore-green);
    }

    .accordion-callout .expand[aria-expanded="true"] svg .shape {
        fill: var(--stone-ink);
    }

    .accordion-callout .expand svg .shape.close {
        visibility: hidden;
    }

    .accordion-callout .content-grid .inner {
        background-color: var(--linen-fog);
        margin-bottom: -1.25rem;
        padding: 0 var(--padded-gutter) var(--subspacer);
    }

    .accordion-callout .content-grid .inner .item {
        background-color: var(--charter-white);
        break-inside: avoid;
        margin-bottom: 1.25rem;
        padding: var(--subspacer);
        page-break-inside: avoid;
    }

    @media (min-width: 992px) {
        .accordion-callout {
            margin-top: 0;
        }

        .accordion-callout .container {
            max-width: var(--container-width);
            padding: 0 var(--container-padding);
        }

        .accordion-callout .grid {
            display: grid;
            grid-template-columns: var(--col-5) var(--col-7);
        }

        .accordion-callout .content {
            padding: var(--spacer) var(--subspacer);
        }

        .accordion-callout .expand {
            padding: var(--subspacer);
        }

        .accordion-callout .content-grid .inner {
            columns: 2;
            column-gap: 1.25rem;
            padding: 0 var(--subspacer) var(--subspacer);
        }
    }

    @media (min-width: 1200px) {
        .accordion-callout .content {
            padding: var(--spacer);
        }
    }

    @media (min-width: 1400px) {
        .accordion-callout .content {
            padding: var(--supspacer) var(--supspacer) var(--supspacer) var(--spacer);
        }
    }



    /* Stat Banner
    ----------------------------------------------------
    */
    .stat-banner {
        margin-top: var(--negative-spacer);
        padding-top: 0;
    }

    .stat-banner:has(+ .accordion-list) {
        background-color: var(--linen-fog);
        padding: 0;
    }

    .stat-banner > img {
        aspect-ratio: 4 / 3;
    }

    .stat-banner > .container {
        max-width: 100%;
        padding: 0;
    }

    .stat-banner .inner {
        --heading-color: var(--charter-white);
        --heading-margin: var(--content-margin);
        background-color: var(--stone-ink);
        color: var(--charter-white);
        padding: var(--spacer) var(--padded-gutter);
        text-align: center;
    }

    .stat-banner .inner :where(.head, .label) {
        border-bottom: .03125rem solid var(--sage);
        margin-bottom: var(--gutter);
        padding-bottom: var(--gutter);
    }

    .stat-banner .btn {
        color: var(--charter-white);
        white-space: nowrap;
    }

    .stat-banner .inner .label:last-child {
        border: 0;
        margin: 0;
        padding: 0;
    }

    .stat-banner .inner .label span {
        display: block;
        font-family: var(--lapture);
        font-size: 3.625rem;
        font-weight: var(--weight-semibold);
        letter-spacing: .18125rem;
        margin-bottom: .5rem;
    }

    @media (min-width: 768px) {
        .stat-banner > img {
            aspect-ratio: 7 / 3;
        }

        .stat-banner > .container {
            max-width: var(--container-width);
            padding: 0 var(--container-padding);
        }

        .stat-banner .inner {
            margin-top: var(--negative-spacer);
            padding: var(--subspacer);
            position: relative;
        }

        .stat-banner .inner .grid {
            column-gap: var(--gutter);
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    @media (min-width: 768px) and (max-width: 1199.98px) {
        .stat-banner .inner .label:nth-last-child(2) {
            border: 0;
            margin: 0;
            padding: 0;
        }
    }

    @media (min-width: 992px) {
        .stat-banner {
            margin-top: 0;
        }

        .stat-banner .inner .head {
            --heading-margin: 0;
            align-items: flex-start;
            display: flex;
            gap: var(--subspacer);
            text-align: left;
        }
    }

    @media (min-width: 1200px) {
        .stat-banner .inner .grid {
            grid-template-columns: repeat(4, auto);
        }

        .stat-banner .inner .label {
            border: 0;
            border-right: .03125rem solid var(--sage);
            margin: 0;
            padding: 0 var(--gutter) 0 0;
        }
    }

    @media (min-width: 1400px) {
        .stat-banner .inner {
            padding: var(--spacer) var(--col-1);
        }
    }



    /* Accordion List
    ----------------------------------------------------
    */
    .accordion-list {
        --row-y: var(--subspacer);
        background-color: var(--linen-fog);
        position: relative;
    }

    .accordion-list:after {
        background-color: var(--whitmore-green);
        content: '';
        height: .5rem;
        inset: 100% var(--padded-gutter) 0;
        position: absolute;
    }

    .accordion-list .accordion {
        display: grid;
        gap: 1.25rem;
    }

    .accordion-list .accordion-item {
        background: var(--charter-white);
        padding: var(--subspacer);
    }

    .accordion-list .accordion-button {
        color: var(--whitmore-green);
        font-family: var(--lapture);
        font-size: 1.5rem;
        font-weight: var(--weight-bold);
        letter-spacing: .0625rem;
        line-height: 1.25;
        text-transform: uppercase;
    }

    .accordion-list .accordion-button:after {
        content: none;
    }

    .accordion-list .accordion-button span {
        align-items: center;
        border-top: .03125rem solid var(--sage);
        color: var(--body-color);
        display: flex;
        font-family: var(--body-font);
        font-size: var(--font-size);
        font-weight: var(--body-weight);
        gap: var(--content-margin);
        justify-content: space-between;
        line-height: 1.5;
        margin-top: 1rem;
        padding-top: 1rem;
        text-transform: none;
    }

    .accordion-list .accordion-button span:after {
        color: var(--sage);
        content: var(--plus);
        font-family: var(--icons);
        font-size: 1.5rem;
        font-style: normal;
        font-variant: normal;
        font-weight: normal;
        line-height: 1;
        text-decoration: none;
        text-transform: none;
        height: 1.5rem;
        min-width: 1.5rem;
        transition: var(--transition);
        width: 1.5rem;
    }

    .accordion-list .accordion-button:hover span:after {
        color: var(--whitmore-green);
    }

    .accordion-list .accordion-button[aria-expanded="true"] span:after {
        transform: rotate(45deg);
    }

    .accordion-list .inner {
        padding-top: 1rem;
    }

    .accordion-list .inner ul {
        margin-left: 1rem;
    }

    @media (min-width: 1200px) {
        .accordion-list {
            --flex-direction: row-reverse;
            --justify-content: space-between;
            --row-x: var(--subspacer);
            --row-y: 0;
        }

        .accordion-list .content {
            position: sticky;
            top: 1.25rem;
            transition: var(--transition);
        }

        .scroll.up .accordion-list .content {
            top: calc(var(--header) + 1.25rem);
        }
    }



    /* Team Grid
    ----------------------------------------------------
    */
    .team-grid .intro {
        margin-bottom: var(--subspacer);
    }

    .team-grid .grid {
        display: grid;
        gap: var(--gutter);
    }

    .team-grid .grid .item {
        padding: 0;
        position: relative;
        text-align: left;
    }

    .team-grid .grid .item:hover {
        --heading-color: var(var(--whitmore-green));
    }

    .team-grid .img {
        position: relative;
    }

    .team-grid .img .label {
        background-color: var(--charter-white);
        font-size: .875rem;
        inset: auto auto var(--gutter) var(--gutter);
        margin: 0;
        padding: .375rem .375rem .375rem .625rem;
        position: absolute;
    }

    .team-grid .grid .item .img {
        margin-bottom: var(--content-margin);
    }

    .team-grid .grid .item h3 {
        transition: var(--transition);
    }

    .team-grid .grid .item:hover h3 {
        color: var(--sage);
    }

    .team-grid .modal .content .label {
        display: none;
    }

    @media (min-width: 768px) and (max-width: 991.98px) {
        .team-grid .grid .item {
            align-items: center;
            display: flex;
            gap: var(--subspacer);
        }
    }

    @media (min-width: 992px) {
        .team-grid .intro {
            column-gap: var(--subspacer);
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .team-grid .intro .label {
            grid-column-start: span 2;
        }

        .team-grid .grid {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        .team-grid .modal .img .label {
            display: none;
        }

        .team-grid .modal .content .label {
            display: block;
        }
    }

    @media (min-width: 1200px) {
        .team-grid .intro {
            grid-template-columns: 5fr 7fr;
        }
    }



    /* Logo Grid
    ----------------------------------------------------
    */
    .logo-grid .intro {
        margin-bottom: var(--subspacer);
        text-align: center;
    }

    .logo-grid .grid {
        display: grid;
        gap: var(--gutter);
    }

    .logo-grid .grid .item {
        text-align: center;
    }

    .logo-grid .grid .item img {
        margin-bottom: var(--content-margin);
        max-height: 6rem;
        max-width: none;
        object-fit: contain;
    }

    @media (min-width: 576px) {
        .logo-grid .grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    @media (min-width: 768px) {
        .logo-grid .modal {
            --flex-direction: row-reverse;
        }

        .logo-grid .modal .img {
            align-items: center;
            aspect-ratio: 1;
            background-color: var(--linen-fog);
            display: flex;
            justify-content: center;
            padding: var(--subspacer);
        }

        .logo-grid .modal .img img {
            max-height: 7rem;
            max-width: 25rem;
            object-fit: contain;
        }
    }

    @media (min-width: 992px) {
        .logo-grid .intro {
            text-align: left;
        }

        .logo-grid .grid {
            grid-template-columns: repeat(4, minmax(0, 1fr));
        }

        .logo-grid .grid .item {
            text-align: center;
        }
    }



    /* Contact
    ----------------------------------------------------
    */
    .contact {
        --heading-color: var(--charter-white);
        color: var(--charter-white);
        padding: 0;
    }

    .contact :where(.body, .form) {
        padding: var(--spacer) var(--padded-gutter);
    }

    .contact .body {
        background: var(--gradient-stone-ink-whitmore-green);
    }

    .contact .body .label {
        align-items: center;
        display: flex;
        gap: var(--content-margin);
        margin: var(--subspacer) 0 var(--content-margin);
    }

    .contact .body .label:after {
        background-color: var(--sage);
        content: '';
        height: .0625rem;
        width: 100%;
    }

    .contact .body .accordion-item:not(:last-child) {
        margin-bottom: var(--subspacer);
    }

    .contact .body .accordion-button {
        align-items: center;
        color: var(--charter-white);
        display: flex;
        font-size: 1.125rem;
        font-weight: var(--weight-semibold);
    }

    .contact .body .accordion-button:after {
        background: 0;
        color: var(--sage);
        content: var(--chevron-down);
        font-family: var(--icons);
        font-size: .5rem;
        font-style: normal;
        font-variant: normal;
        font-weight: normal;
        height: auto;
        line-height: 1;
        text-decoration: none;
        text-transform: none;
        width: auto;
    }

    .contact .body .accordion-button[aria-expanded="true"]:after {
        transform: rotate(180deg);
    }

    .contact .body .accordion-button:hover:after {
        color: var(--charter-white);
    }

    .contact .body .inner {
        color: var(--charter-white);
        padding-top: 1rem;
    }

    .contact .form {
        background-color: var(--stone-ink);
    }

    .contact.modal {
        --heading-color: var(--charter-white);
        --row-x: var(--gutter);
        --row-y: 0;
        background-color: var(--stone-ink);
        color: var(--charter-white);
        padding: var(--spacer) 0;
    }

    .contact.modal .btn-close:hover {
        color: var(--charter-white);
    }

    .contact.modal .modal-content {
        background-color: var(--stone-ink);
    }

    .contact.modal .intro {
        margin: 0 auto var(--subspacer);
    }

    .contact.modal .form {
        padding: 0;
    }

    @media (min-width: 768px) {
        .contact.modal .intro {
            text-align: center;
        }
    }

    @media (min-width: 992px) {
        .contact .grid {
            display: grid;
            grid-template-columns: repeat(2, var(--col-6));
        }

        .contact .body {
            padding: var(--spacer) var(--spacer) var(--spacer) var(--padded-gutter);
        }

        .contact .form {
            padding: var(--spacer) var(--padded-gutter) var(--spacer) var(--spacer);
        }
    }

    @media (min-width: 1200px) {
        .contact .grid {
            display: grid;
            grid-template-columns: var(--col-5) var(--col-7);
        }

        .contact.modal .intro {
            max-width: var(--col-10);
        }
    }

    @media (min-width: 1400px) {
        .contact.modal .container.inset {
            max-width: var(--container-col-8);
        }
    }



    /* Footer
    ----------------------------------------------------
    */
    footer {
        --row-y: var(--subspacer);
        padding-bottom: var(--spacer);
        text-align: center;
    }

    footer ul {
        align-items: center;
        display: flex;
        gap: var(--gutter);
        justify-content: center;
    }

    footer .navigation {
        --gutter: 3rem;
    }

    footer .navigation a {
        color: var(--stone-ink);
        font-size: .875rem;
        font-weight: var(--weight-medium);
        text-decoration: none;
    }

    footer :where(.navigation, .legal) a:hover {
        color: var(--sage);
    }

    footer .social a {
        font-size: 1.5rem;
        width: 1.5rem;
        height: 1.5rem;
        object-fit: contain;
        display: block;
        color: var(--sage);
    }

    footer .social a:hover{
        opacity: .7;
    }

    footer hr {
        color: var(--stone-dust);
        opacity: 100%;
        margin: var(--spacer) 0;
    }

    footer .legal :where(p, a) {
        color: rgb(var(--stone-ink-rgb) / 75%);
        font-size: .875rem;
    }

    footer .legal p:has(a) {
        align-items: center;
        display: flex;
        gap: var(--gutter);
        justify-content: center;
    }

    @media (min-width: 992px) {
        footer {
            --align-items: center;
            --row-x: var(--subspacer);
            --row-y: 0;
        }

        footer .legal {
            --content-margin: 0;
            display: flex;
            gap: var(--spacer);
            justify-content: center;
        }
    }

}

/* Overrides */
@layer overrides {
    html {
        margin-top: 0 !important
    }
}

.img {
    img[sizes="auto" i], [sizes^="auto," i] {
        contain-intrinsic-size: 28.375rem 36.25rem !important;
    }
}

.navbar-collapse.collapse.show::-webkit-scrollbar {
    display: none;
}

.failed .wpcf7-response-output, .invalid .wpcf7-response-output, .wpcf7-not-valid-tip{
    color: #FF0000;
}

.success .wpcf7-response-output, .invalid .wpcf7-response-output, .wpcf7-not-valid-tip{
    color: var(--sage);
}

.wpcf7 .screen-reader-response{
    opacity: 0;
}

.wpcf7 .screen-reader-response ul{
    height: 0;
    position: absolute;
    z-index: -1;
}

.sent .wpcf7-response-output{
    color: var(--sage);
}

.privacy-policy{
    header{
        background-color: #000;
    }
}

.section-privacy{
    @media screen and (min-width: 62rem){
        padding-top: 12rem;
    }

}
/* END
----------------------------------------------------
*/