/*
 * Theme Name: 321 Parent Theme
 * Theme URI: https://www.321webmarketing.com/
 * Author: 321 Web Marketing
 * Author URI: https://www.321webmarketing.com/
 * Description: 321 inspired parent theme for the Genesis Framework.
 * Version: 1.0.11
 * License: GPL-3.0-or-later
 * License URI: http://www.gnu.org/licenses/gpl-3.0.html
 * Text Domain: tto-parent
 * Domain Path: /languages
 */

/* WARNING: This file is part of the core 321 Parent Theme. DO NOT edit this file under any circumstances.
Please do all modifications in the form of a child theme. */

@charset 'UTF-8';

@import 'https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css' layer(bootstrap);

@layer bootstrap, elements, structural, accessibility, header, footer, blog, blocks;

/* # Table of Contents

- Elements
- Structural
- Accessibility
- Header
- Footer
- Blocks
- Custom CSS

*/

/* ## Elements
--------------------------------------------- */

@layer elements {
    html {
        line-height: 1.15;
        -webkit-text-size-adjust: 100%;
        box-sizing: border-box;
        max-width: 100vw;
        font-size: 62.5%;
        overflow-x: hidden;
    }

    :root {
        --theme-wrap-width: 95%;
        --theme-wrap-max-width: 1300px;
        --theme-wrap-padding-mobile: 4vw;
        --theme-section-padding: 8rem;
        --theme-section-padding-mobile: 6rem;
    }

    body {
        background-color: #ffffff;
        max-width: 100vw;
        color: #000;
        font-family: 'Montserrat', sans-serif;
        font-size: 1.8rem;
        font-weight: 400;
        line-height: 1.618;
        -webkit-font-smoothing: antialiased;
        margin: 0;
        overflow-x: visible;
    }

    article,
    aside,
    footer,
    header,
    nav,
    section,
    figcaption,
    figure,
    main {
        display: block;
    }

    pre {
        font-family: monospace, monospace;
        font-size: 1.8rem;
    }

    * {
        box-sizing: border-box;
    }

    *::-moz-selection {
        background-color: #393e4b;
        color: #ffffff;
    }

    *::selection {
        background-color: #393e4b;
        color: #ffffff;
    }

    *:before,
    *:after {
        position: absolute;
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        font-family: 'Onest', sans-serif;
        letter-spacing: -0.15rem;
    }

    h1 {
        font-size: 6rem;
        font-weight: 700;
        line-height: 1.2;
        margin: 0 0 3rem;
    }

    h2 {
        font-size: 3.6rem;
        font-weight: 600;
        line-height: 1.3;
        margin: 4rem 0 3rem;
    }

    h3 {
        font-size: 2.8rem;
        font-weight: 500;
        line-height: 1.4;
        margin: 3rem 0 3rem;
    }

    h4 {
        font-size: 2.4rem;
        font-weight: 400;
        line-height: 1.5;
        margin: 3rem 0 3rem;
    }

    h5 {
        font-size: 2.2rem;
        font-weight: 300;
        line-height: 1.4;
        margin: 3rem 0 3rem;
    }

    h6 {
        font-size: 1.8rem;
        font-weight: 600;
        line-height: 1.5;
        margin: 3rem 0 3rem;
        text-transform: uppercase;
    }

    p {
        margin: 0 0 3rem;
        padding: 0;
    }

    p:last-child {
        margin: 0;
    }

    .custom-button {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
    }

    .custom-button.align-left {
        justify-content: flex-start;
    }

    .custom-button.align-right {
        justify-content: flex-end;
    }

    a {
        color: #000;
        word-wrap: break-word;
        pointer-events: all;
        cursor: pointer;
        text-decoration: none;
        transition: 0.25s ease-in-out all;
    }

    a:hover,
    a:focus {
        color: #555;
    }

    button,
    a.button,
    input[type='submit'] {
        background-color: #000;
        display: inline-flex;
        align-items: center;
        gap: 0.75rem;
        color: #fff;
        font-size: 1.5rem;
        font-weight: 600;
        line-height: 1;
        padding: 1.2rem 2.4rem;
        border: 1.5px solid #000;
        border-radius: 0.8rem;
        transition: 0.25s ease-in-out all;
    }

    button:hover,
    a.button:hover,
    input[type='submit']:hover {
        background-color: #222;
        border-color: #222;
    }

    button.white,
    a.button.white {
        background-color: #fff;
        color: #000;
        border-color: #fff;
    }

    button.white:hover,
    a.button.white:hover {
        background-color: #e0e0e0;
        border-color: #e0e0e0;
    }

    button.outline,
    a.button.outline {
        background-color: transparent;
        color: #000;
        border-color: #000;
    }

    button.outline:hover,
    a.button.outline:hover {
        background-color: rgba(0, 0, 0, 0.08);
    }

    button.white.outline,
    a.button.white.outline {
        color: #fff;
        border-color: #fff;
    }

    button.white.outline:hover,
    a.button.white.outline:hover {
        background-color: rgba(255, 255, 255, 0.08);
    }

    button.large,
    a.button.large {
        font-size: 1.8rem;
    }

    ol,
    ul {
        margin: 0 0 2rem 2rem;
        padding: 0;
    }

    ol ol,
    ul ul,
    ol ul,
    ul ol {
        margin: 0 0 0 4rem;
        padding: 0;
    }

    ul li {
        list-style-type: disc;
    }

    li li {
        list-style-type: circle;
    }

    ol li {
        list-style-type: decimal;
    }

    ol li li {
        list-style-type: lower-alpha;
    }

    hr {
        border: 0;
        border-collapse: collapse;
        border-bottom: 1px solid #f0f1f2;
        clear: both;
        padding: 1em 0 0;
        margin: 0 0 2em;
    }

    b,
    strong {
        font-weight: 600;
    }

    sub,
    sup {
        font-size: 75%;
        line-height: 0;
        position: relative;
        vertical-align: baseline;
    }

    sub {
        bottom: -0.5rem;
    }

    sup {
        top: -1rem;
    }

    /* blockquote {}

    table {}

    thead,
    tbody {}

    tr,
    th {} */

    img {
        display: block;
        max-width: 100%;
    }

    *:first-child {
        margin-top: 0;
        padding-top: 0;
    }

    *:last-child {
        margin-bottom: 0;
        padding-bottom: 0;
    }

    i[class*="fa"] {
        display: none;
    }
}

/* ## Structural
--------------------------------------------- */

@layer structural {
    .wrap,
    .basic-page .content-sidebar-wrap,
    .site-inner > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap,
    .entry-content > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap,
    .entry-content > .anchor-section > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap,
    .blog-archive--heading > .wrap > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap,
    .blog-archive--after > .wrap > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap,
    .entry-content > .gb-block-container > .gb-container-inside,
    .entry-content > .anchor-section > .gb-block-container > .gb-container-inside {
        width: var(--theme-wrap-width);
        max-width: var(--theme-wrap-max-width);
        margin: 0 auto;
    }

    .site-inner > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap,
    .entry-content > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap,
    .entry-content > .anchor-section > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap,
    .blog-archive--heading > .wrap > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap,
    .blog-archive--after > .wrap > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap,
    .entry-content > .gb-block-container > .gb-container-inside,
    .entry-content > .anchor-section > .gb-block-container > .gb-container-inside {
        row-gap: 4rem !important;
        column-gap: 6rem !important;
    }

    .site-inner > .wp-block-genesis-blocks-gb-columns,
    .entry-content > .wp-block-genesis-blocks-gb-columns,
    .entry-content > .anchor-section > .wp-block-genesis-blocks-gb-columns,
    .blog-archive--heading > .wrap > .wp-block-genesis-blocks-gb-columns,
    .blog-archive--after > .wrap > .wp-block-genesis-blocks-gb-columns,
    .entry-content > .gb-block-container,
    .entry-content > .anchor-section > .gb-block-container {
        background-size: cover;
        background-position: center center;
        padding: var(--theme-section-padding) 0;
    }

    .site-inner > .wp-block-genesis-blocks-gb-columns.no-padding-top,
    .entry-content > .wp-block-genesis-blocks-gb-columns.no-padding-top,
    .entry-content > .anchor-section > .wp-block-genesis-blocks-gb-columns.no-padding-top,
    .entry-content > .gb-block-container.no-padding-top,
    .entry-content > .anchor-section > .gb-block-container.no-padding-top {
        padding-top: 0 !important;
    }

    .site-inner > .wp-block-genesis-blocks-gb-columns.no-padding-bottom,
    .entry-content > .wp-block-genesis-blocks-gb-columns.no-padding-bottom,
    .entry-content > .anchor-section > .wp-block-genesis-blocks-gb-columns.no-padding-bottom,
    .entry-content > .gb-block-container.no-padding-bottom,
    .entry-content > .anchor-section > .gb-block-container.no-padding-bottom {
        padding-bottom: 0 !important;
    }

    .site-inner > .wp-block-genesis-blocks-gb-columns.no-padding,
    .entry-content > .wp-block-genesis-blocks-gb-columns.no-padding,
    .entry-content > .anchor-section > .wp-block-genesis-blocks-gb-columns.no-padding,
    .entry-content > .gb-block-container.no-padding,
    .entry-content > .anchor-section > .gb-block-container.no-padding {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    @media (max-width: 767px) {
        .wrap,
        .basic-page .content-sidebar-wrap,
        .site-inner > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap,
        .entry-content > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap,
        .entry-content > .anchor-section > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap,
        .blog-archive--heading > .wrap > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap,
        .blog-archive--after > .wrap > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap,
        .entry-content > .gb-block-container > .gb-container-inside,
        .entry-content > .anchor-section > .gb-block-container > .gb-container-inside {
            width: 100% !important;
            max-width: 100%;
            margin: 0;
            padding: 0 var(--theme-wrap-padding-mobile);
        }

        .site-inner > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap,
        .entry-content > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap,
        .entry-content > .anchor-section > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap,
        .blog-archive--heading > .wrap > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap,
        .blog-archive--after > .wrap > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap,
        .entry-content > .gb-block-container > .gb-container-inside,
        .entry-content > .anchor-section > .gb-block-container > .gb-container-inside {
            display: flex !important;
            flex-direction: column !important;
            gap: 6rem !important;
        }

        .site-inner > .wp-block-genesis-blocks-gb-columns.wrap-reverse > .gb-layout-column-wrap,
        .entry-content > .wp-block-genesis-blocks-gb-columns.wrap-reverse > .gb-layout-column-wrap,
        .entry-content > .anchor-section > .wp-block-genesis-blocks-gb-columns.wrap-reverse > .gb-layout-column-wrap {
            flex-direction: column-reverse !important;
        }

        .site-inner > .wp-block-genesis-blocks-gb-columns,
        .entry-content > .wp-block-genesis-blocks-gb-columns,
        .entry-content > .anchor-section > .wp-block-genesis-blocks-gb-columns,
        .blog-archive--heading > .wrap > .wp-block-genesis-blocks-gb-columns,
        .blog-archive--after > .wrap > .wp-block-genesis-blocks-gb-columns,
        .entry-content > .gb-block-container,
        .entry-content > .anchor-section > .gb-block-container {
            padding: var(--theme-section-padding-mobile) 0;
        }
    }
}

/* ## Accessibility
--------------------------------------------- */

@layer accessibility {
    .screen-reader-text,
    .screen-reader-text span,
    .screen-reader-shortcut,
    .wp-custom-logo .site-title,
    .wp-custom-logo .site-description {
        position: absolute !important;
        clip: rect(0, 0, 0, 0);
        height: 0.1rem;
        width: 0.1rem;
        background-color: #fff !important;
        color: #000 !important;
        border: 0;
        overflow: hidden;
    }

    .screen-reader-text:focus,
    .screen-reader-shortcut:focus {
        clip: auto !important;
        height: auto;
        width: auto;
        display: block;
        padding: 10px 20px;
        padding: 1rem 2rem;
        z-index: 100000;
        text-decoration: none;
        box-shadow: 0 0 0.2rem 0.2rem rgba(57, 62, 75, 0.1);
    }

    .more-link {
        position: relative;
        font-style: normal;
    }

    .genesis-skip-link {
        margin: 0;
    }

    .genesis-skip-link li {
        height: 0;
        width: 0;
        list-style: none;
    }

    .anchor-section {
        scroll-margin-top: 100px;
        outline: none;
    }
}





/* ## Header
--------------------------------------------- */

@layer header {
    .top-nav-bar {
        background-color: #000;
        position: relative;
        display: flex;
        min-height: 3.6rem;
        padding: 0.6rem 0;
        z-index: 101;
    }

    .top-nav-bar > .wrap {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 6rem;
    }

    .top-nav-bar > .wrap.menu-right > .top-nav:only-child {
        margin-left: auto;
    }

    .top-nav-bar .menu {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        gap: 3rem;
        height: 100%;
        margin: 0;
        pointer-events: all;
        opacity: 1;
        transition: 0.25s ease-in-out opacity;
    }

    .top-nav-bar .menu.fade-out {
        pointer-events: none;
        opacity: 0;
    }

    .top-nav-bar .menu > .menu-item {
        display: flex;
        align-items: center;
    }

    .top-nav-bar p,
    .top-nav-bar a,
    .top-nav-bar .menu > .menu-item > a {
        color: #fff;
        font-size: 1.4rem;
        font-weight: 500;
        line-height: 1.3;
    }

    .top-nav-bar a:hover,
    .top-nav-bar .menu > .menu-item > a:hover {
        color: #dbdbdb;
    }

    .site-header {
        background-color: #fff;
        position: sticky;
        width: 100%;
        top: 0;
        left: 0;
        box-shadow: 0 0 1rem rgba(57, 62, 75, 0.18);
        transition: 0.25s ease-in-out background-color, 0.25s ease-in-out box-shadow;
        z-index: 100;
    }

    .site-header.shrink {
        box-shadow: 0 0 2rem rgba(57, 62, 75, 0.38);
    }

    .logged-in.admin-bar .site-header {
        top: 32px;
    }

    @media (max-width: 782px) {
        .logged-in.admin-bar .site-header {
            top: 46px !important;
        }
    }

    @media (max-width: 600px) {
        .logged-in.admin-bar .site-header {
            top: 0 !important;
        }
    }

    .site-header > .wrap {
        display: grid;
        grid-template-columns: 200px 1fr;
        align-items: stretch;
        justify-content: space-between;
        gap: 5rem;
    }

    .site-header > .wrap.static-ctas {
        grid-template-columns: 200px 1fr auto;
    }

    .site-header .progress-bar-container {
        position: absolute;
        background-color: transparent;
        display: block;
        width: 100%;
        height: 4px;
        top: auto;
        bottom: 0;
        left: 0;
    }

    .site-header .progress-bar {
        background-color: #000;
        display: block;
        width: 0%;
        height: 100%;
        transition: none;
    }

    .title-area {
        display: flex;
        align-items: center;
        width: 100%;
        max-width: 200px;
        margin: 0;
        padding: 1rem 0;
    }

    .title-area a {
        position: relative;
        display: flex;
        width: 100%;
        height: fit-content;
        max-height: 60px;
    }

    .title-area a img {
        object-fit: contain;
        object-position: left center;
        width: 100%;
        height: 100%;
    }

    .title-area a img.secondary {
        display: none;
    }

    .nav-primary {
        position: relative;
        display: flex;
        align-items: center;
        gap: 3rem;
        transition: none;
    }

    .nav-primary > .wrap {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 5rem;
        width: 100%;
        max-width: 100%;
        height: 100%;
        margin: 0;
    }

    .nav-primary .menu {
        flex: 1;
        position: relative;
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        justify-content: center;
        gap: 3rem;
        height: 100%;
        margin: 0;
        pointer-events: all;
        opacity: 1;
        transition: 0.25s ease-in-out opacity;
    }

    .nav-primary .menu.fade-out {
        pointer-events: none;
        opacity: 0;
    }

    .nav-primary .menu-item {
        list-style-type: none;
    }

    .nav-primary .menu > .menu-item {
        position: relative;
        display: flex;
        align-items: center;
        gap: 0.5rem;
        padding: 3.75rem 0;
        transition: 0.25s ease-in-out all;
    }

    .site-header.shrink .nav-primary .menu > .menu-item {
        padding: 2.75rem 0;
    }

    .nav-primary .menu > .menu-item > p,
    .nav-primary .menu > .menu-item > a {
        background-color: transparent;
        background-clip: text;
        color: #000;
        font-size: 1.45rem;
        font-weight: 600;
        line-height: 2.5rem;
        margin: 0;
        transition: 0.25s ease-in-out color;
    }

    .nav-primary .menu .menu-item.has-menu-icon > p > span,
    .nav-primary .menu .menu-item.has-menu-icon > a > span,
    .nav-primary .menu .menu-item.has-dropdown-icon > p > span,
    .nav-primary .menu .menu-item.has-dropdown-icon > a > span {
        display: grid;
        grid-template-columns: 1fr 1rem;
        align-items: center;
        gap: 0.75rem;
    }

    .nav-primary .menu .menu-item.has-menu-icon.menu-icon-left > p > span,
    .nav-primary .menu .menu-item.has-menu-icon.menu-icon-left > a > span {
        grid-template-columns: 1rem 1fr;
    }

    .nav-primary .menu .menu-item.has-menu-icon.has-dropdown-icon > p > span,
    .nav-primary .menu .menu-item.has-menu-icon.has-dropdown-icon > a > span {
        grid-template-columns: 1rem 1fr 1rem;
    }

    .nav-primary .menu .menu-item.has-menu-icon.menu-icon-right.has-dropdown-icon > p > span,
    .nav-primary .menu .menu-item.has-menu-icon.menu-icon-right.has-dropdown-icon > a > span {
        grid-template-columns: 1fr 1rem 1rem;
    }

    .nav-primary .menu .menu-item.has-menu-icon > p > span > .menu-icon,
    .nav-primary .menu .menu-item.has-menu-icon > p > span > .menu-icon svg,
    .nav-primary .menu .menu-item.has-menu-icon > a > span > .menu-icon,
    .nav-primary .menu .menu-item.has-menu-icon > a > span > .menu-icon svg,
    .nav-primary .menu .menu-item.has-dropdown-icon > p > span > .dropdown-icon,
    .nav-primary .menu .menu-item.has-dropdown-icon > p > span > .dropdown-icon svg,
    .nav-primary .menu .menu-item.has-dropdown-icon > a > span > .dropdown-icon,
    .nav-primary .menu .menu-item.has-dropdown-icon > a > span > .dropdown-icon svg {
        display: flex;
        width: 1rem;
        height: 1rem;
        font-size: 1rem;
    }

    .nav-primary .menu > .menu-item > .sub-menu {
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
    }

    .nav-primary .menu .sub-menu .menu-item {
        display: flex;
    }

    .nav-primary .menu .sub-menu .menu-item p,
    .nav-primary .menu .sub-menu .menu-item a {
        font-size: 1.5rem;
        font-weight: 500;
        line-height: 1.4;
    }

    .primary-header-ctas .gb-layout-column-wrap {
        display: flex;
        align-items: center;
        gap: 3rem;
    }

    .primary-header-ctas .gb-block-layout-column {
        flex: 1 1 fit-content;
    }

    .primary-header-ctas a.button {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        font-size: 1.5rem;
        margin: 0;
        padding: 1.2rem 1.8rem;
        transition: 0.25s ease-in-out background-color, 0.25s ease-in-out color, 0.25s ease-in-out border-color, 0.25s ease-in-out filter;
    }

    .primary-header-ctas a.button.has-icon {
        display: grid;
        grid-template-columns: 1.5rem 1fr;
    }

    .primary-header-ctas a.button.has-icon.icon-right {
        grid-template-columns: 1fr 1.5rem;
    }

    .primary-header-ctas a.button.has-icon.icon-left span:first-child,
    .primary-header-ctas a.button.has-icon.icon-left span:first-child svg,
    .primary-header-ctas a.button.has-icon.icon-right span:last-child,
    .primary-header-ctas a.button.has-icon.icon-right span:last-child svg {
        display: flex;
        width: 1.5rem;
        height: 1.5rem;
        font-size: 1.5rem;
    }

    .site-header .wrap.static-ctas .primary-header-ctas {
        display: flex;
        align-items: center;
        padding: 1rem 0;
    }

    .menu-toggle {
        background-color: transparent !important;
        display: none;
        margin: 0 max(-2vw, -0.5em) 0 0 !important;
        padding: 1em min(0.5em, 4vw) !important;
        border: none;
        width: fit-content;
        max-width: 44px;
        border-radius: 0 !important;
        box-shadow: none;
        cursor: pointer;
        z-index: 999;
    }

    .menu-toggle .hamburger-icon {
        background-color: #000;
        position: relative;
        display: block;
        width: 3rem;
        height: 3.5px;
        border-radius: 3px;
        transition: 0s 0.2s ease-in-out background-color;
    }

    .menu-toggle .hamburger-icon:before,
    .menu-toggle .hamburger-icon:after {
        content: '';
        background-color: #000;
        position: absolute;
        display: block;
        width: 100%;
        height: 3.5px;
        left: 0;
        border-radius: 3px;
    }

    .menu-toggle .hamburger-icon:before {
        top: 0.8rem;
        transition: top 0.2s 0.2s, transform 0.2s 0s, background-color 0.2s 0.2s;
    }

    .menu-toggle .hamburger-icon:after {
        bottom: 0.8rem;
        transition: bottom 0.2s 0.2s, transform 0.2s 0s, background-color 0.2s 0.2s;
    }

    .menu-toggle.active .hamburger-icon {
        background: none;
    }

    .menu-toggle.active .hamburger-icon:before {
        top: 0;
        transition: top 0.2s 0s, transform 0.2s 0.2s, background-color 0.2s 0.2s;
        transform: rotate(45deg);
    }

    .menu-toggle.active .hamburger-icon:after {
        bottom: 0;
        transition: bottom 0.2s 0s, transform 0.2s 0.2s, background-color 0.2s 0.2s;
        transform: rotate(-45deg);
    }

    .sub-menu-toggle {
        flex: 1 1 36px;
        background-color: transparent !important;
        position: unset;
        display: none;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        margin: 0 !important;
        padding: 0 !important;
        border: 0;
        border-radius: 6px !important;
        box-shadow: none !important;
        cursor: pointer;
        transform: none;
        transition: 0.4s ease-in-out all;
    }

    .sub-menu-toggle[aria-expanded="true"] {
        background-color: rgba(0, 0, 0, 0.08) !important;
        transform: rotate(-180deg);
    }

    .sub-menu-toggle svg {
        color: #000;
        width: 18px;
        height: 18px;
    }

    .mega-menu-container .sub-menu {
        background-color: transparent;
        position: relative;
        display: flex;
        gap: 1.25rem;
        pointer-events: auto;
        margin: 0;
        padding: 0;
        box-shadow: none;
        border: none;
        opacity: 1;
    }

    .mega-menu-container .sub-menu .menu-item {
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
    }

    .mega-menu-container .sub-menu .sub-menu {
        flex-direction: column;
    }

    @media (min-width: 896px) {
        .nav-primary .mobile-only {
            display: none !important;
        }

        .nav-primary .menu > .menu-item:not(.mega-menu) {
            position: relative;
        }

        .nav-primary .menu > .menu-item.mega-menu > .mega-menu-container,
        .nav-primary .menu > .menu-item > .sub-menu {
            background-color: #fff;
            position: absolute;
            display: block;
            width: auto;
            min-width: 250px;
            max-height: unset !important;
            top: 100%;
            left: -9999px;
            margin: 0;
            padding: 2rem;
            border-top: 1px solid #f0f0f0;
            box-shadow: 0 12px 25px rgba(0, 0, 0, 0.1);
            clip-path: inset(0 -2.5rem -2.5rem);
            opacity: 0;
            pointer-events: none;
            overflow: hidden;
            transition: 0.3s ease-in-out opacity, 0s 0.3s ease-in-out left;
            z-index: 999;
        }

        .nav-primary .menu > .menu-item > .sub-menu {
            display: flex;
            flex-direction: column;
            gap: 1.25rem;
        }

        .nav-primary .menu .sub-menu .menu-item p,
        .nav-primary .menu .sub-menu .menu-item a {
            font-size: 1.5rem;
            font-weight: 500;
            line-height: 1.4;
        }

        .nav-primary .menu > .menu-item.mega-menu > .mega-menu-container {
            max-width: 650px;
            margin: 0 auto;
        }

        .nav-primary .menu > .menu-item.mega-menu:hover > .mega-menu-container,
        .nav-primary .menu > .menu-item:hover > .sub-menu {
            left: 0;
            opacity: 1;
            pointer-events: all;
            transition: 0.25s ease-in-out opacity, 0s ease-in-out left;
        }

        .fixed-header .site-header:not(.fixed) {
            background-color: transparent;
            position: absolute;
            box-shadow: none;
        }

        .fixed-header .site-header.fixed {
            position: fixed;
        }

        .fixed-header .site-header:not(.fixed) .nav-primary .menu > .menu-item > p,
        .fixed-header .site-header:not(.fixed) .nav-primary .menu > .menu-item > a {
            background-color: #000;
            color: #fff;
        }

        .fixed-header .site-header:not(.fixed) .primary-header-ctas a.button {
            background-color: transparent;
            color: #fff;
            border-color: #fff;
        }

        .fixed-header .site-header:not(.fixed) .primary-header-ctas a.button:hover {
            background-color: rgba(255, 255, 255, 0.08);
        }

        .fixed-header .title-area a img.primary {
            opacity: 0;
            transition: 0.25s ease-in-out opacity;
        }

        .fixed-header .title-area a img.secondary {
            position: absolute;
            display: block;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
            opacity: 1;
            transition: 0.25s ease-in-out opacity;
        }

        .fixed-header .site-header.fixed .title-area a img.primary {
            opacity: 1;
        }

        .fixed-header .site-header.fixed .title-area a img.secondary {
            opacity: 0;
        }

        .nav-primary[class*='wrap-']:not(.wrap-menu),
        .nav-primary[class*='wrap-']:not(.wrap-menu) > .wrap,
        .nav-primary[class*='wrap-']:not(.wrap-menu) .menu,
        .nav-primary[class*='wrap-'] .menu > .menu-item.mega-menu {
            position: initial;
            clip-path: unset;
        }

        .nav-primary[class*='wrap-'] .menu > .menu-item.mega-menu > .mega-menu-container {
            width: 100%;
            max-width: 100%;
        }

        .nav-primary.wrap-header .menu > .menu-item.mega-menu > .mega-menu-container {
            width: 95vw;
            max-width: var(--theme-wrap-max-width);
            margin-left: 50%;
            transform: translateX(-50%);
        }

        .nav-primary.wrap-full .menu > .menu-item.mega-menu > .mega-menu-container {
            padding: 2rem 0;
        }

        .nav-primary.wrap-full .menu > .menu-item.mega-menu > .mega-menu-container > .mega-menu-wrap {
            width: var(--theme-wrap-width);
            max-width: var(--theme-wrap-max-width);
            margin: 0 auto;
        }
    }

    @media (min-width: 896px) and (max-width: 1352px) {
        .top-nav-bar > .wrap {
            gap: min(6rem, 4.5vw);
        }

        .top-nav-bar .menu {
            gap: min(3rem, 2.3vw);
        }

        .top-nav-bar p,
        .top-nav-bar a,
        .top-nav-bar .menu > .menu-item > a {
            font-size: min(1.4rem, 1.1vw);
        }

        .site-header > .wrap {
            grid-template-columns: min(200px, 14.8vw) 1fr;
            gap: min(5rem, 3.5vw);
        }

        .site-header > .wrap.static-ctas {
            grid-template-columns: min(200px, 14.8vw) 1fr auto;
        }

        .nav-primary > .wrap {
            gap: min(5rem, 3.5vw);
        }

        .nav-primary .menu {
            gap: min(3rem, 2.2vw);
        }

        .nav-primary .menu > .menu-item > p,
        .nav-primary .menu > .menu-item > a {
            font-size: min(1.45rem, 1.1vw);
            transition: 0.25s ease-in-out color;
        }

        .nav-primary .menu .menu-item.has-menu-icon > p > span,
        .nav-primary .menu .menu-item.has-menu-icon > a > span,
        .nav-primary .menu .menu-item.has-dropdown-icon > p > span,
        .nav-primary .menu .menu-item.has-dropdown-icon > a > span {
            grid-template-columns: 1fr min(1rem, 0.9vw);
            gap: min(0.75rem, 0.6vw);
        }

        .nav-primary .menu .menu-item.has-menu-icon.menu-icon-left > p > span,
        .nav-primary .menu .menu-item.has-menu-icon.menu-icon-left > a > span {
            grid-template-columns: 1fr min(1rem, 0.9vw);
        }

        .nav-primary .menu .menu-item.has-menu-icon.has-dropdown-icon > p > span,
        .nav-primary .menu .menu-item.has-menu-icon.has-dropdown-icon > a > span {
            grid-template-columns: min(1rem, 0.9vw) 1fr min(1rem, 0.9vw);
        }

        .nav-primary .menu .menu-item.has-menu-icon.menu-icon-right.has-dropdown-icon > p > span,
        .nav-primary .menu .menu-item.has-menu-icon.menu-icon-right.has-dropdown-icon > a > span {
            grid-template-columns: 1fr min(1rem, 0.9vw) min(1rem, 0.9vw);
        }

        .nav-primary .menu .menu-item.has-menu-icon > p > span > .menu-icon,
        .nav-primary .menu .menu-item.has-menu-icon > p > span > .menu-icon svg,
        .nav-primary .menu .menu-item.has-menu-icon > a > span > .menu-icon,
        .nav-primary .menu .menu-item.has-menu-icon > a > span > .menu-icon svg,
        .nav-primary .menu .menu-item.has-dropdown-icon > p > span > .dropdown-icon,
        .nav-primary .menu .menu-item.has-dropdown-icon > p > span > .dropdown-icon svg,
        .nav-primary .menu .menu-item.has-dropdown-icon > a > span > .dropdown-icon,
        .nav-primary .menu .menu-item.has-dropdown-icon > a > span > .dropdown-icon svg {
            width: 1fr min(1rem, 0.9vw);
            height: 1fr min(1rem, 0.9vw);
            font-size: 1fr min(1rem, 0.9vw);
        }

        .primary-header-ctas a.button {
            gap: min(0.75rem, 0.6vw);
            font-size: min(1.5rem, 1.1vw);
            padding: min(1.2rem, 0.9vw) min(1.8rem, 1.3vw);
        }

        .primary-header-ctas a.button.has-icon {
            display: grid;
            grid-template-columns: min(1.5rem, 1.1vw) 1fr;
        }

        .primary-header-ctas a.button.has-icon.icon-right {
            grid-template-columns: 1fr min(1.5rem, 1.1vw);
        }

        .primary-header-ctas a.button.has-icon.icon-left span:first-child,
        .primary-header-ctas a.button.has-icon.icon-left span:first-child svg,
        .primary-header-ctas a.button.has-icon.icon-right span:last-child,
        .primary-header-ctas a.button.has-icon.icon-right span:last-child svg {
            width: min(1.5rem, 1.1vw);
            height: min(1.5rem, 1.1vw);
            font-size: min(1.5rem, 1.1vw);
        }
    }

    @media (max-width: 895px) {
        .fixed-header .title-area a img.secondary {
            display: none;
        }

        .top-nav-bar {
            display: none;
        }

        .site-header {
            display: flex;
            align-items: center;
            min-height: 80px;
            top: 0 !important;
            padding: 1.25rem 0;
        }

        .site-header > .wrap {
            grid-template-columns: min(200px, 40vw) auto;
            gap: min(6rem, 4.5vw);
            align-items: center;
        }

        .site-header > .wrap.static-ctas {
            display: flex;
            flex-direction: row;
            align-items: center;
        }

        .title-area {
            max-width: 100%;
            padding: 0;
        }

        .nav-primary {
            position: absolute;
            display: block;
            width: 100%;
            top: 100%;
            left: -9999px;
            height: 100vh;
            background-color: #fff;
            z-index: 999;
            border-top: 1px solid #d6d6d6;
            opacity: 0;
            pointer-events: none;
            overflow: hidden;
            transition: 0.4s ease-in-out opacity, 0s 0.4s ease-in-out left;
        }

        .nav-primary.active {
            left: 0;
            opacity: 1;
            pointer-events: all;
            transition: 0.4s ease-in-out opacity, 0s ease-in-out left;
        }

        .nav-primary > .wrap {
            flex-direction: column;
            gap: 4rem;
            width: 100% !important;
            padding: 5rem 0;
            overflow: scroll;
        }

        .nav-primary .menu {
            flex-wrap: nowrap;
            flex-direction: column;
            justify-content: flex-start;
            gap: 2.5rem;
            width: 100%;
            padding: 0 calc(6vw - 6px) 3rem 6vw;
            border-bottom: 1px solid #000;
            overflow-y: scroll;
        }

        .nav-primary .menu::-webkit-scrollbar {
            -webkit-appearance: none;
            appearance: none;
            width: 6px;
        }

        .nav-primary .menu::-webkit-scrollbar-thumb {
            border-radius: 6px;
            background-color: rgba(0, 0, 0, 0.3);
            -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 1px rgba(0, 0, 0, 0.3);
        }

        .nav-primary .menu::-webkit-scrollbar-track,
        .nav-primary .menu::-webkit-scrollbar-track-piece,
        .nav-primary .menu::-webkit-scrollbar-corner {
            background-color: transparent;
        }

        .nav-primary .menu > .menu-item {
            display: grid;
            grid-template-rows: 1fr auto;
            grid-template-columns: 1fr 36px;
            row-gap: 0;
            column-gap: 3rem;
            width: 100%;
            padding: 0;
        }

        .nav-primary .menu > .menu-item > p,
        .nav-primary .menu > .menu-item > a {
            font-size: 1.7rem;
            font-weight: 600;
        }

        .nav-primary .menu .menu-item.has-dropdown-icon > p > span > .dropdown-icon,
        .nav-primary .menu .menu-item.has-dropdown-icon > a > span > .dropdown-icon {
            display: none;
        }

        .site-header.shrink .nav-primary .menu > .menu-item {
            padding: 0;
        }

        .nav-primary .menu > .menu-item.mega-menu > .mega-menu-container,
        .nav-primary .menu > .menu-item > .sub-menu {
            grid-column: 1 / span 2;
            max-height: 0;
            overflow: hidden;
            transition: 0.4s ease-in-out max-height;
        }

        .nav-primary .menu > .menu-item > .sub-menu {
            gap: 1.75rem;
            margin: 0;
        }

        .nav-primary .menu .sub-menu > .menu-item {
            list-style-type: none;
            padding: 0;
        }

        .nav-primary .menu .sub-menu > .menu-item:first-child {
            margin-top: 0;
            padding-top: 1.75rem;
        }

        .nav-primary .menu .sub-menu > .menu-item:last-child {
            padding-bottom: 1.75rem;
        }

        .menu-toggle {
            display: block;
        }

        .sub-menu-toggle {
            display: flex;
        }

        .mega-menu-container .sub-menu {
            flex-direction: column;
        }

        .primary-header-ctas {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 2rem;
            width: 100%;
            padding: 0 6vw;
        }

        .primary-header-ctas .gb-layout-column-wrap {
            flex-direction: column;
            gap: 2rem;
        }

        .primary-header-ctas > .widget:first-child:not(:only-child) {
            display: block;
        }

        .primary-header-ctas .phone-number-block a {
            gap: 0.75rem;
            font-size: 1.6rem;
            font-weight: 600;
        }

        .primary-header-ctas a.button {
            font-size: 1.6rem;
            padding: 1.2rem 1.8rem;
        }

        .primary-header-ctas a.button.has-icon {
            display: grid;
            grid-template-columns: 1.6rem 1fr;
        }

        .primary-header-ctas a.button.has-icon.icon-right {
            grid-template-columns: 1fr 1.6rem;
        }

        .primary-header-ctas a.button.has-icon.icon-left span:first-child,
        .primary-header-ctas a.button.has-icon.icon-left span:first-child svg,
        .primary-header-ctas a.button.has-icon.icon-right span:last-child,
        .primary-header-ctas a.button.has-icon.icon-right span:last-child svg {
            width: 1.6rem;
            height: 1.6rem;
            font-size: 1.6rem;
        }

        .primary-header-ctas > .top-nav-bar,
        .primary-header-ctas > .top-nav-bar > .wrap {
            display: block;
            width: 100%;
            height: 100%;
            margin: 0;
            padding: 0;
        }

        .primary-header-ctas .top-nav-bar > .wrap > .widget {
            border: none;
            padding: 0;
        }

        .primary-header-ctas .top-nav-bar > .wrap > .widget > .widget-wrap > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap {
            flex-direction: column-reverse;
            align-items: center;
            justify-content: center;
            gap: 1.5rem;
            margin: 0 0 4rem;
        }

        .primary-header-ctas .top-nav-bar > .wrap > .widget > .widget-wrap > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap > .gb-block-layout-column {
            flex: unset;
            justify-content: center;
        }

        .primary-header-ctas .top-nav-bar .custom-button a.button {
            font-size: 1.7rem;
        }

        .primary-header-ctas .top-nav-bar .custom-button a.button svg {
            width: 1.9rem;
            height: 1.9rem;
        }

        .primary-header-ctas .top-nav-bar .custom-social--link svg {
            width: 2rem;
            height: 2rem;
        }

        .nav-primary[class*='mobile-'] {
            background-color: #000;
            top: 0;
            left: -100%;
            right: 0;
            width: 93vw;
            max-width: 40rem;
            border-top: none;
            opacity: 1;
            transition: 0.4s ease-in-out left;
            z-index: 999;
        }

        .nav-primary.mobile-right {
            left: auto;
            right: -100%;
            transition: 0.4s ease-in-out right;
        }

        .nav-primary.mobile-left.active {
            left: 0;
        }

        .nav-primary.mobile-right.active {
            right: 0;
        }

        .nav-primary[class*='mobile-'] > .wrap {
            padding: 7rem 0;
        }

        .nav-primary.mobile-right.active + .menu-toggle.active .hamburger-icon:before,
        .nav-primary.mobile-right.active + .menu-toggle.active .hamburger-icon:after {
            background-color: #fff;
        }

        .nav-primary[class*='mobile-'] .menu {
            border-bottom: 1px solid #fff;
        }

        .nav-primary[class*='mobile-'] .menu::-webkit-scrollbar-thumb {
            border-radius: 6px;
            background-color: rgba(255, 255, 255, 0.3);
            -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, 0.3);
            box-shadow: 0 0 1px rgba(255, 255, 255, 0.3);
        }

        .nav-primary[class*='mobile-'] .menu > .menu-item > p,
        .nav-primary[class*='mobile-'] .menu > .menu-item > a {
            color: #fff;
        }

        .nav-primary[class*='mobile-'] .menu .sub-menu .menu-item p,
        .nav-primary[class*='mobile-'] .menu .sub-menu .menu-item a {
            color: #fff;
        }

        .nav-primary[class*='mobile-'] .sub-menu-toggle[aria-expanded="true"] {
            background-color: rgba(255, 255, 255, 0.15) !important;
        }

        .nav-primary[class*='mobile-'] .sub-menu-toggle svg {
            color: #fff;
        }

        .nav-primary[class*='mobile-'] .phone-link,
        .nav-primary[class*='mobile-'] .phone-link .phone-number {
            color: #fff;
        }

        .nav-primary[class*='mobile-'] .primary-header-ctas a.button {
            color: #fff;
            border-color: #fff;
        }

        .nav-primary[class*='mobile-'] .primary-header-ctas a.button:hover {
            background-color: rgba(255, 255, 255, 0.12);
        }
    }

    @media (max-width: 767px) {
        .site-header > .wrap {
            width: 100%;
        }
    }
}



/* ## Footer
--------------------------------------------- */

@layer footer {
    .site-footer {
        background-color: #f9f9f9;
        padding: var(--theme-section-padding) 0 0;
    }

    .site-footer-widgets {
        display: flex;
        flex-direction: column;
        gap: 6rem;
    }
    
    .site-footer-widgets .widget-wrap > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap {
        row-gap: 4rem !important;
        column-gap: 6rem !important;
    }

    .site-footer-widgets .widget-wrap > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
        display: flex;
        flex-direction: column;
        gap: 4rem;
    }

    .footer-logo {
        max-width: 200px;
    }

    .site-footer .menu {
        display: flex;
        row-gap: 4rem;
        column-gap: 6rem;
        margin: 0;
    }

    .site-footer .menu .menu-item {
        list-style-type: none;
    }

    .site-footer .menu > .menu-item {
        display: flex;
        flex-direction: column;
        gap: 2rem;
    }

    .site-footer .menu > .menu-item > p,
    .site-footer .menu > .menu-item > a {
        font-size: 1.6rem;
        font-weight: 700;
        margin: 0;
    }

    .site-footer .menu .sub-menu {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
        margin: 0;
    }

    .site-footer .menu .sub-menu .menu-item {
        display: flex;
    }

    .site-footer .menu .sub-menu .menu-item a {
        font-size: 1.6rem;
        line-height: 1.3;
    }

    .site-footer-credits {
        padding: 0 0 6rem;
    }

    .site-footer-credits.standalone {
        background-color: #ececec;
        padding: 1.5rem 0;
    }

    .footer-credits p {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 1.5rem;
        font-size: 1.3rem;
    }

    .footer-credits p .separator {
        font-size: 1.8rem;
        line-height: 0;
    }

    .footer-credits p a {
        color: #333;
        font-weight: 600;
    }

    @media (max-width: 991px) {
        .site-footer-widgets .widget-wrap > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap {
            display: flex !important;
            flex-wrap: wrap;
            row-gap: 6rem !important;
        }

        .site-footer-widgets .widget-wrap > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap > .gb-block-layout-column {
            flex: 1 1 calc(50% - 3rem);
        }
    }

    @media (max-width: 767px) {
        .site-footer {
            padding: var(--theme-section-padding-mobile) 0 0;
        }

        .site-footer-widgets .widget-wrap > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap {
            flex-direction: column;
        }

        .site-footer-widgets .widget-wrap > .wp-block-genesis-blocks-gb-columns > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
            gap: 6rem;
        }

        .footer-credits p {
            flex-direction: column;
        }

        .footer-credits p .separator {
            display: none;
        }
    }
}



/* ## Page
--------------------------------------------- */

.entry-content > .image-content-section > .gb-layout-column-wrap,
.entry-content > .anchor-section > .image-content-section > .gb-layout-column-wrap {
    align-items: center;
}

.image-content-section > .gb-layout-column-wrap > .gb-block-layout-column,
.image-content-section > .gb-layout-column-wrap > .gb-block-layout-column > .gb-block-layout-column-inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}

.image-content-section .wp-block-image {
    position: relative;
    display: flex;
    min-height: 400px;
    height: 100%;
    max-height: 500px;
    margin: 0;
}

.image-content-section .wp-block-image img {
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: auto;
    border: 1px solid #dbdbdb;
    border-radius: 0.8rem;
    overflow: hidden;
}

@media (max-width: 767px) {
    .image-content-section .wp-block-image {
        min-height: 200px;
        max-height: 300px;
    }
}



/* ## Blog Archive
--------------------------------------------- */

@layer blog {
    .blog-archive--heading,
    .blog-archive--heading > .wrap,
    .blog-archive--after,
    .blog-archive--after > .wrap {
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0;
    }

    .blog-archive--featured,
    .blog-archive--wrapper {
        padding: var(--theme-section-padding) 0;
    }

    .blog-archive--featured,
    .blog:not(.first-page) .blog-archive--wrapper {
        background-color: #f5f5f5;
    }

    .blog-recent-articles--wrapper {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 4rem;
    }

    .blog-archive--section-heading {
        margin: 0 0 6rem;
    }

    .blog-archive--section-heading h2 {
        text-align: center;
    }

    .blog-filters {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 4rem;
    }

    .blog-filters--select,
    .blog-filters--search {
        flex: 0 1 fit-content;
        min-width: 300px;
    }

    .blog-filters--select {
        position: relative;
        display: flex;
        align-items: center;
    }

    .blog-filters--select select {
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        background-color: #fff;
        width: 100%;
        height: 4.5rem;
        color: #000;
        font-size: 1.5rem;
        font-weight: 500;
        line-height: 1;
        margin: 0;
        padding: 1rem 2.4rem;
        border: 1.5px solid #000;
        border-radius: 6px;
    }

    .blog-filters--select select:focus {
        border-color: #000;
        outline: none;
    }

    .blog-filters--select select.placeholder {
        color: #707070;
    }

    .blog-filters--select svg {
        position: absolute;
        top: auto;
        right: 2.55rem;
        color: #000;
        font-size: 1.5rem;
        pointer-events: none;
    }

    .blog-filters--search .search-form {
        display: flex;
        align-items: center;
        overflow: hidden;
    }

    .blog-filters--search .search-form-input {
        flex: 1 1 calc(100% - 45px);
        width: 100%;
        height: 4.5rem;
        font-size: 1.5rem;
        font-weight: 500;
        line-height: 1;
        margin: 0;
        padding: 1rem 2.4rem;
        border: 1.5px solid #000;
        border-top-left-radius: 6px;
        border-bottom-left-radius: 6px;
        border-right: 0;
    }

    .blog-filters--search .search-form-input::placeholder {
        color: #707070;
    }

    .blog-filters--search .search-form-input::-webkit-input-placeholder {
        color: #707070;
    }

    .blog-filters--search .search-form-input::-moz-placeholder {
        color: #707070;
    }

    .blog-filters--search .search-form-input:focus {
        border-color: #000;
        outline: none;
    }

    .blog-filters--search .search-form-submit--container {
        flex: 1 1 45px;
        background-color: #000;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 4.5rem;
        height: 4.5rem;
        border-top-right-radius: 6px;
        border-bottom-right-radius: 6px;
        overflow: hidden;
    }

    .blog-filters--search .search-form-submit--container svg {
        width: 1.6rem;
        height: 1.6rem;
        color: #fff;
    }

    .blog-filters--search .search-form-submit--container input {
        background: transparent !important;
        position: absolute;
        display: block;
        width: 100%;
        height: 100%;
        padding: 0 !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none;
        text-indent: -9999px;
        white-space: nowrap;
        overflow: hidden;
        transition: 0.25s ease-in-out all;
    }

    .blog-filters--search .search-form-submit--container input:hover {
        background: rgba(255, 255, 255, 0.08);
    }

    .blog-recent-articles {
        margin: 4rem 0 0;
    }

    .recent-article {
        background-color: #fff;
        border: 1px solid #ddd;
        border-radius: 2rem;
        box-shadow: 0 10px 13px rgba(0, 0, 0, 0.1);
        overflow: hidden;
        transition: 0.25s ease-in-out box-shadow;
    }

    .recent-article:hover {
        box-shadow: 0 1px 7px rgba(0, 0, 0, 0.1);
    }

    .recent-article--link {
        display: flex;
        flex-direction: column;
        width: 100%;
        height: 100%;
        padding: 4rem 4rem 6rem;
        border: none;
        box-shadow: none;
        text-decoration: none;
        text-align: left;
        transition: none;
    }

    .recent-article--image {
        margin: -4rem -4rem 0;
        overflow: hidden;
    }

    .recent-article--image img {
        aspect-ratio: 2 / 1;
        object-fit: cover;
        object-position: center center;
        width: 100%;
        height: 100%;
        transition: 0.7s cubic-bezier(0.23, 0.14, 0.19, 1) transform;
    }

    .recent-article--link:hover .recent-article--image img {
        transform: scale(1.15);
    }

    .recent-article--content {
        flex: auto;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: 2.5rem;
        margin: 4rem 0 0;
    }

    .recent-article--content-info-title,
    .recent-article--content-info-date {
        margin: 0 0 2.5rem;
    }

    .recent-article--content h2,
    .recent-article--content h3 {
        font-size: 2.1rem;
        font-weight: 700;
        line-height: 1.3;
        margin: 0;
        padding: 0;
        text-align: left;
        transition: 0.25s ease-in-out all;
    }

    .recent-article--link:hover .recent-article--content h2,
    .recent-article--link:hover .recent-article--content h3 {
        color: #000;
    }

    .recent-article--content-info-date p {
        color: #555;
        font-size: 1.4rem;
        font-weight: 500;
        line-height: 1;
    }

    .recent-article--content-info-description p {
        font-size: 1.6rem;
    }

    .recent-article--content-cta p {
        display: flex;
        align-items: center;
        gap: 1.25rem;
        width: fit-content;
        font-weight: 600;
        line-height: 1;
        transition: 0.25s ease-in-out all;
    }

    .recent-article--link:hover .recent-article--content-cta p {
        gap: 1.75rem;
        opacity: 0.9;
    }

    .blog-archive--featured .blog-recent-articles--wrapper {
        display: block;
    }

    @media (min-width: 992px) {
        .blog-archive--featured .recent-article {
            background-color: transparent;
            border: none;
            border-radius: 0;
            box-shadow: none;
            transition: none;
        }

        .blog-archive--featured .recent-article--link {
            flex-direction: row;
            align-items: center;
            gap: 5rem;
            padding: 0;
        }

        .blog-archive--featured .recent-article--image {
            flex: 7;
            margin: 0;
            border-radius: 40px;
            overflow: hidden;
        }

        .blog-archive--featured .recent-article--content {
            flex: 5;
            margin: 0;
        }
    }

    .blog-pagination {
        margin: 6rem 0 0;
    }

    .blog-pagination ul {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 2rem;
        margin: 0;
    }

    .blog-pagination ul li {
        list-style-type: none;
    }

    .blog-pagination ul li .current,
    .blog-pagination ul li a {
        background-color: #fff;
        color: #222;
        display: block;
        font-size: 1.6rem;
        font-weight: 500;
        line-height: 1;
        padding: 1.4rem 1.7rem;
        text-decoration: none;
        word-spacing: .2px;
        border: 1px solid #ccc;
        border-radius: 4px;
        box-shadow: 0 3px 5px -2px rgba(0, 0, 0, .17);
        overflow: hidden;
    }

    .blog-pagination ul li .current {
        background-color: #000;
        color: #fff;
        border-color: #000;
        box-shadow: none;
    }

    .blog-pagination ul li a:hover {
        background-color: #555;
        color: #fff;
        border-color: #555;
        box-shadow: none;
    }

    .blog .search-error {
        margin: 4rem 0 0;
        text-align: center;
    }

    @media (max-width: 991px) {
        .blog-recent-articles--wrapper {
            grid-template-columns: repeat(2, 1fr);
        }
    }

    @media (max-width: 895px) {
        .blog-recent-articles--wrapper {
            display: block;
        }

        .recent-article {
            max-width: 350px;
            margin: 0 auto;
        }

        .recent-article:not(:first-child) {
            margin-top: 5rem;
        }
    }
}



/* ## Blocks
--------------------------------------------- */

@layer blocks {
    /* Breadcrumbs */

    .breadcrumb {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 1.25rem;
        font-size: 2rem;
        line-height: 1;
    }

    .breadcrumb span {
        display: flex;
    }

    .breadcrumb > span:first-child {
        min-width: 2rem;
        max-width: 2rem;
    }

    .breadcrumb a,
    .breadcrumb .breadcrumb-separator {
        font-weight: 600;
    }

    .breadcrumb a svg {
        width: 2rem;
        height: 2rem;
    }

    /* Address / Phone / Email CTAs */

    .address-block--item,
    .phone-number-block a,
    .email-cta-block a {
        display: grid;
        grid-template-columns: 1.8rem 1fr;
        gap: 1rem;
    }

    .phone-number-block a,
    .email-cta-block a {
        font-weight: 500;
    }

    .address-block--item-left,
    .phone-number-block a .icon,
    .email-cta-block a .icon {
        display: flex;
        justify-content: center;
        padding: 0.556rem 0 0;
    }

    .address-block--item svg,
    .phone-number-block a svg,
    .email-cta-block a svg {
        width: 1.8rem;
        height: 1.8rem;
        font-size: 1.8rem;
    }

    /* Social Media */

    .custom-socials {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 2rem;
        width: fit-content;
    }

    .custom-social--link {
        display: block;
        width: 100%;
        height: 100%;
        line-height: 1;
    }

    .custom-social--link svg {
        color: #222;
        font-size: 2.4rem;
        transition: 0.25s ease-in-out all;
    }

    .custom-social--link:hover svg {
        color: #555;
    }

    /* Location Map */

    .google-map-embed {
        border: 1px solid #dbdbdb;
        border-radius: 0.8rem;
        overflow: hidden;
    }

    .google-map-embed--wrapper {
        display: flex;
    }

    .google-map-embed iframe {
        width: 100%;
    }

    /* Success Numbers */

    .success-numbers {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 6rem;
    }

    .success-number {
        flex: 1 1 max(150px, calc(100% / 6));
        max-width: max(150px, calc(100% / 6));
    }

    .success-number p {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2rem;
    }

    .success-number p .number-wrap {
        display: flex;
        align-items: center;
        font-size: 4.2rem;
        font-weight: 700;
        line-height: 1;
    }

    .success-number p .number-wrap span {
        display: flex;
    }

    .success-number p .number-wrap svg {
        font-size: 3rem;
    }

    .success-number p .label {
        font-size: 1.6rem;
        font-weight: 500;
        line-height: 1.2;
    }

    /* FAQ Accordion Items */
    
    .faq-accordion-items {
        margin-top: 4rem;
    }

    .accordion {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
    }

    .accordion-item,
    .accordion-item:first-child,
    .accordion-item:last-child {
        border-radius: 0.8rem;
        background-color: #fff;
        border: 1px solid #dbdbdb;
        overflow: hidden;
    }

    .accordion-header {
        display: flex;
        margin: 0 !important;
    }

    .accordion-button {
        background-color: transparent !important;
        justify-content: space-between;
        gap: 4rem;
        font-weight: 500;
        font-size: 1.7rem;
        color: #000;
        padding: 2rem !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .accordion-button:after {
        display: none;
    }

    .accordion-button.collapsed:not(:hover) {
        background-color: #fff;
    }

    .accordion-button svg {
        width: 1.6rem;
        height: 1.6rem;
        transition: 0.25s ease-in-out all;
    }

    .accordion-button:not(.collapsed) svg {
        transform: rotate(-90deg);
    }

    .accordion-body {
        padding: 2rem;
        border-top: 1px solid #dbdbdb;
    }

    .accordion-body p,
    .accordion-body li {
        font-size: 1.6rem;
    }
}