:root{
    --bs-primary: var(--wp--preset--color--primary);
    --bs-secondary: var(--wp--preset--color--secondary);
    --bs-onyx: var(--wp--preset--color--onyx);
    --bs-khaki: var(--wp--preset--color--khaki);
    --bs-sisal: var(--wp--preset--color--sisal);
    --bs-pampas: var(--wp--preset--color--pampas);
    --bs-font-sans-serif: var(--wp--preset--font-family--lato);
}

.dropdown-menu {
    --bs-dropdown-border-radius: 0;
    --bs-dropdown-border-color: transparent;
    --bs-dropdown-border-width: 0;
    --bs-dropdown-link-color: var(--bs-primary);
    --bs-dropdown-link-hover-color: var(--bs-primary);
    --bs-dropdown-link-hover-bg: transparent;
    --bs-dropdown-link-active-color: var(--bs-primary);
    --bs-dropdown-link-active-bg: transparent;
}

.dropdown-toggle::after {
    vertical-align: .05em;
    border: none;
    background-image: url('data:image/svg+xml,%3Csvg%20fill%3D%22%23002f6c%22%20viewBox%3D%220%200%208.251%209.5%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M3.614%209.5l4.637-4.75L3.614%200H0l4.636%204.75L0%209.5z%22%2F%3E%3C%2Fsvg%3E');
    width: 8.251px;
    height: 9.5px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transform: rotate(90deg);
    transition: all 0.3s ease-in-out;
}

.dropdown-toggle:hover::after, .dropdown-toggle.show::after {
    transform: rotate(270deg);
}

.navbar-toggler {
    background-color: var(--bs-pampas);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
}

.navbar-toggler[aria-expanded="false"] {
    --bs-navbar-toggler-icon-bg: url('data:image/svg+xml,%3Csvg%20fill%3D%22%23002f6c%22%20viewBox%3D%220%200%2014%2015%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M14%209H0V6h14zm-2-6H2V0h10zm0%2012H2v-3h10z%22%2F%3E%3C%2Fsvg%3E');
}

.navbar-toggler-icon {
    width: 14px;
    height: 12px;
    background-size: contain;
}

.current-menu-item>.nav-link,.current_page_item>.nav-link,.active>.nav-link{
    color:var(--bs-nav-link-hover-color);
}

.btn>.nav-link{
    color: inherit;
    line-height: inherit;
    padding:0!important;
}

#main-nav {
    --bs-navbar-padding-y:0.875rem;
    --bs-navbar-color: var(--bs-primary);
    --bs-navbar-hover-color: var(--bs-primary);
    --bs-navbar-toggler-icon-bg: url('data:image/svg+xml,%3Csvg%20fill%3D%22%23002f6c%22%20viewBox%3D%220%200%2012.121%2012.121%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10%2012.122l-10-10L2.122%200l10%2010z%22%2F%3E%3Cpath%20d%3D%22M0%2010L10%200l2.122%202.122-10%2010z%22%2F%3E%3C%2Fsvg%3E');
    --bs-navbar-toggler-border-color: var(--bs-pampas);
    --bs-navbar-toggler-border-radius: 100%;
    --bs-navbar-toggler-focus-width: 0;
    line-height: 1.333;
}

#main-menu{
    --bs-nav-link-font-weight:900
}

#wrapper-footer {
    --footer-arrow-left-size: clamp(5.938rem, 4.103vw + 5.014rem, 9.938rem) clamp(14.813rem, 10.321vw + 12.49rem, 24.875rem);
    --footer-arrow-right-size: clamp(10.75rem, 5.641vw + 9.481rem, 16.25rem) clamp(21.813rem, 11.538vw + 19.216rem, 33.063rem);
    color: var(--bs-white);
    padding-top: 60px;
    padding-bottom: 40px;
    background: url('../img/FOOTER-Arrow-Left.png') no-repeat top left/var(--footer-arrow-left-size), url('../img/FOOTER-Arrow-Right.png') no-repeat bottom right/var(--footer-arrow-right-size), var(--bs-onyx);
}

.footer-locations h2 {
    color: inherit;
    font-size: var(--fs-18);
}

.footer-locations .footer-location ~ .footer-location, .footer-locations ~ .gcl-buttons-wrapper {
    margin-top: 50px;
}

.footer-menu, .footer-menu .sub-menu {
    padding-left: 0;
    list-style: none;
}

.footer-menu .sub-menu {
    margin-top: 20px;
}

.footer-menu .sub-menu > .menu-item ~ .menu-item {
    margin-top: 15px;
}

.footer-menu .btn-link.menu-item, .footer-menu .btn-link.menu-item:hover a, .footer-menu .btn-link.menu-item:active a {
    --bs-link-color: var(--wp--preset--color--white);
    --bs-btn-hover-color: var(--wp--preset--color--white);
}

.footer-menu .btn-link.menu-item>a, .footer-menu .btn-link.menu-item .sub-menu a {
    --bs-link-hover-color: var(--wp--preset--color--secondary);
}

.footer-menu .btn-link.menu-item .sub-menu a {
    font-weight: 400;
}

.footer-menu .current-menu-parent.btn-link.menu-item .sub-menu a.active {
    color: var(--bs-link-hover-color);
}

.footer-menu .btn-link.menu-item ~ .btn-link {
    margin-top: 45px;
}

.btn-link.menu-item {
    display: block;
    text-align: inherit;
    padding: 0;
    position: relative;
}

.btn-link.menu-item>a {
    --bs-btn-padding-x: 0;
    --bs-btn-padding-y: 4px;
    --bs-btn-font-size: 16px;
    --bs-btn-line-height: 1.5;
    --bs-btn-focus-shadow-rgb: transparent;
    --bs-link-color: var(--wp--preset--color--primary);
    --bs-link-hover-color: var(--wp--preset--color--primary);
    --bs-btn-border-color: var(--wp--preset--color--sisal);
    --bs-btn-border-width: 0;
    padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
}

.btn-link.menu-item a {
    text-decoration: none;
}

.social-media-links .social-link ~ .social-link {
    margin-left: 10px;
}

#wrapper-footer #footer-content ~ #colophon {
    margin-top: 100px;
}

#wrapper-footer .social-media-links .social-link {
    color: var(--bs-sisal);
    text-decoration: none;
}
#wrapper-footer .social-media-links .social-link:hover {
    color: var(--bs-secondary);
}

#colophon .copyright {
    font-size: var(--fs-18);
    margin-top: 30px;
}

#back-to-top svg {
    fill: var(--bs-primary);
    transform: rotate(270deg);
}

#error-404-wrapper {
    font-size: var(--fs-20);
}

#error-404-wrapper #content {
    max-width: calc(var(--bs-container) * var(--gcl-content-width));
}

#error-404-wrapper #content .row {
    min-height: calc(100vh - 100px);
}

#error-404-wrapper #content .row .site-main {
    padding-top: 18%;
    padding-bottom: 18%;
}

#error-404-wrapper #content .gcl-buttons-wrapper {
    margin-top: 30px;
}

.gcl-breadcrumbs {
    font-size: var(--fs-18);
    margin-bottom: 30px;
}
.gcl-breadcrumbs img, .gcl-breadcrumbs img ~ span {
    margin-left: 15px
}
.gcl-breadcrumbs .post, .entry-meta .entry-date {
    color: var(--bs-primary);
    padding-bottom: 6px;
    border-bottom: 2px solid transparent;
    text-decoration: none;
}
.gcl-breadcrumbs .post.current-item, .entry-meta .entry-date {
    border-color: var(--bs-sisal);
}

@media (min-width:360px) {
    #wrapper-footer {
        padding-top: 80px;
    }
}

@media (min-width:360px) and (max-width:767px) {
    #main-nav .container, #wrapper-footer .container {
        --bs-gutter-x: 4.75rem
    }
}

@media (min-width:768px) {
    .dropdown-item {
        display: inline-block;
        width: auto;
        position: relative;
        padding-top: 0;
    }

    .dropdown-item:after {
        content: '';
        border-bottom: 2px solid var(--bs-sisal);
        width: 25px;
        margin: 0 auto;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        transition: all 0.3s ease-in-out;
    }

    .dropdown-item:hover, .current-menu-item>.dropdown-item {
        color: var(--bs-primary);
    }

    .dropdown-menu {
        --bs-dropdown-min-width: 180px;
        --bs-dropdown-padding-y: 2rem;
        --bs-dropdown-spacer: 1.375rem;
        --bs-dropdown-item-padding-y: 0.438rem;
        --bs-dropdown-item-padding-x: 0;
        text-align: center;
        box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.149);
    }

    .dropdown-menu:before {
        content: '';
        position: absolute;
        top: -15px;
        left: 50%;
        transform: translateX(-50%);
        width: 0;
        height: 0;
        border-left: 15px solid transparent;
        border-right: 15px solid transparent;
        border-bottom: 15px solid #ffffff;
    }

    .dropdown-menu > .menu-item ~ .menu-item {
        margin-top: 20px;
    }

    .dropdown-item:hover:after, .current-menu-item>.dropdown-item:after {
        width: 100%;
    }

    #wrapper-navbar {
        transition: all 0.3s ease;
    }

    #wrapper-navbar.scrolled {
        box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.149);
    }

    #wrapper-navbar.sticky-top {
        top: var(--wp-admin--admin-bar--height, 0)
    }

    #main-nav .navbar-nav .dropdown-menu {
        left: -50%;
        transform: translateX(-5%);
    }

    #wrapper-footer {
        padding-bottom: 28px;
    }

    .footer-locations ~ .gcl-buttons-wrapper {
        margin-top: 27px;
    }

    #error-404-wrapper {
        padding-top: var(--gcl-padding-top, 1.5rem);
        padding-bottom: var(--gcl-padding-bottom, 1.5rem);
    }
}

@media (min-width: 992px) {
    .dropdown-item {
        font-size: var(--bs-nav-link-font-size);
    }

    .dropdown-menu {
        --bs-dropdown-min-width: 224px;
        --bs-dropdown-spacer: 2.15rem;
    }

    #main-nav .navbar-nav .dropdown-menu {
        left: -50%;
        transform: translateX(-5%);
    }

    #main-menu{
        --bs-nav-link-font-size:18px;
    }

    #main-menu > .menu-item ~ .menu-item {
        margin-left: 2rem;
    }
}

@media (min-width:1200px) {

    #wrapper-footer {
        padding-top: 100px;
    }

    #error-404-wrapper {
        margin-top: var(--gcl-margin-top, 0);
        margin-bottom: var(--gcl-margin-bottom, 0);
    }

}

@media (max-width: 767px) {
    .dropdown-toggle {
        padding: 0;
        display:flex;
        align-items: center;
        justify-content: space-between
    }

    .dropdown-toggle::after {
        width: 40px;
        height: 40px;
        border-radius: 100%;
        background-color: var(--bs-secondary);
        background-size: 8.251px 9.5px;
    }

    .dropdown-item {
        padding: 0;
    }

    .dropdown-menu {
        padding: 0;
    }

    .dropdown-menu.show {
        margin-top: 6px;
    }

    .dropdown-menu > .nav-item ~ .nav-item {
        margin-top: 20px;
    }

    .navbar-collapse {
        border-top: 2px solid var(--bs-sisal);
        margin-top: 20px;
        padding-top: 35px;
        padding-bottom: 18px;
        max-height: calc(100vh - 100px);
        overflow: -moz-scrollbars-none;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-style: none;  /* Internet Explorer 10+ */
        scrollbar-width: none;
    }

    .navbar-collapse::-webkit-scrollbar {
        display: none;
    }
    
    /* Fix navbar-collapse overlap on mobile landscape */
    @media (max-width: 767px) and (orientation: landscape) {
        .navbar-collapse {
            max-height: calc(100vh - 80px);
            padding-top: 20px;
            padding-bottom: 15px;
        }
        
        .navbar-collapse .navbar-nav {
            flex-direction: column;
            align-items: flex-start;
        }
        
        .navbar-collapse .nav-item {
            width: 100%;
            margin-bottom: 10px;
        }
        
        .navbar-collapse .nav-link {
            padding: 8px 0;
            font-size: 16px;
        }
        
        .navbar-collapse .dropdown-menu {
            position: static;
            float: none;
            width: 100%;
            margin-top: 10px;
            background-color: transparent;
            border: none;
            box-shadow: none;
        }
        
        .navbar-collapse .dropdown-item {
            padding: 5px 0;
            font-size: 14px;
        }
    }
    
    .navbar-collapse #main-menu > .menu-item:not(.btn) {
        border-width: 0;
        border-style: solid;
        border-color: var(--bs-sisal);
        border-bottom-width: 2px;
        padding-bottom: 20px;
        margin-bottom: 20px
    }

    #main-menu {
        --bs-nav-link-font-size: 18px;
    }

    .btn.menu-item {
        width: fit-content
    }

    #wrapper-navbar {
        box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.149);
    }
}