/*
 Theme Name:   Understrap Child
 Theme URI:    https://understrap.com
 Description:  Understrap Child Theme
 Author:       the Understrap Contributors
 Author URI:   https://github.com/understrap/understrap-child/graphs/contributors
 Template:     understrap
 Version:      1.2.0
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  redcase
 Tags: one-column, custom-menu, featured-images, theme-options, translation-ready
 GitHub Theme URI: understrap/understrap-child
*/

@font-face {
    font-display: swap;
    font-family: 'HelveticaNeue';
    font-weight: 400;
    src: url(/wp-content/themes/understrap-child-main/src/fonts/HelveticaNeue.woff2) format('woff2');
}

@font-face {
    font-display: swap;
    font-family: 'HelveticaNeue';
    font-weight: 500;
    src: url(/wp-content/themes/understrap-child-main/src/fonts/HelveticaNeue-Medium.woff2) format('woff2');
}

@font-face {
    font-display: swap;
    font-family: 'HelveticaNeue';
    font-weight: 700;
    src: url(/wp-content/themes/understrap-child-main/src/fonts/HelveticaNeue-Bold.woff2) format('woff2');
}

html {
    /* scrollbar-color: #000 #fff;
    scrollbar-width: thin; */
    scroll-behavior: smooth;
    font-variant-numeric: lining-nums;
}

:root {
    --header-height: 98px;
}

@media (max-width: 768px) {

    .container,
    .container-2xl,
    .container-3xl,
    .container-fluid,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl {
        --bs-gutter-x: 4.8rem;
    }
}

::-webkit-scrollbar {
    width: 5px;
}

::-webkit-scrollbar-track {
    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}

::-webkit-scrollbar-thumb {
    background: #00427A;
    border: 6px solid rgba(0, 0, 0, 0.2);
}

::selection {
    background: var(--bs-primary);
    color: var(--bs-white);
}

.transition {
    transition: 0.3s all ease-in-out;
}

.grecaptcha-badge {
    scale: 0;
    opacity: 0;
    pointer-events: none
}

.line-clamp {
    overflow-y: clip;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.line-clamp-1:not(:empty) {
    -webkit-line-clamp: 1;
    max-height: 1lh;
}

.line-clamp-2:not(:empty) {
    -webkit-line-clamp: 2;
    max-height: 2lh;
}

.line-clamp-3:not(:empty) {
    -webkit-line-clamp: 3;
    max-height: 3lh;
}

.line-clamp-4:not(:empty) {
    -webkit-line-clamp: 4;
    max-height: 4lh;
}

.line-clamp-5:not(:empty) {
    -webkit-line-clamp: 5;
    max-height: 5lh;
}

/* Primary Desktop Menu */

#main-menu-desktop a {
    transition: all 0.3s ease-in-out;
}

#main-menu-desktop a:hover {
    color: var(--bs-primary) !important;
    transition: all 0.3s ease-in-out;
}

#mainMenuCanvas {
    width: 100%;
    height: calc(100dvh - var(--header-height));
    opacity: 0;
    visibility: hidden;
    max-height: 0;
    transition: 0.3s ease-in-out;
    position: fixed;
    top: var(--header-height);
    left: 0;
    z-index: 1000;
    background: var(--bs-white);
}

@media (min-width: 1250px) {
    #mainMenuCanvas {
        width: 35vw;
    }

    #mainMenuCanvas.active::before {
        content: '';
        position: absolute;
        width: 100vw;
        height: 100%;
        top: 0;
        left: 35vw;
        backdrop-filter: blur(15px);
        -webkit-backdrop-filter: blur(15px);
        z-index: -1;
    }
}

#mainMenuCanvas.active {
    opacity: 1;
    visibility: visible;
    max-height: 100%;
}

.burger-icon {
    all: unset;
    cursor: pointer;
}

#site-header.scrolled {
    background: var(--bs-white);
    box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.04);
    z-index: 1055;
}

#site-header #main-menu-desktop .list-unstyled > .menu-item > a {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 4px;
    transition: all 0.3s ease-in-out;
}

#mainMenuCanvas .products-wrapper a,
#mainMenuCanvas .main-menu-wrapper a {
    color: var(--bs-black);
}

#mainMenuCanvas .menu-item.menu-item-has-children > a::after {
    content: '\A0';
    width: 20px;
    height: 100%;
    background: url('/wp-content/themes/understrap-child-main/src/icons/arrow-down.svg') no-repeat center center / contain;
    /* background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.2' viewBox='0 0 16 16' width='16' height='16'%3E%3Ctitle%3Eimage%3C/title%3E%3Cstyle%3E .s0 %7B fill: %23101010 %7D %3C/style%3E%3Cpath class='s0' d='m2.5 5.6q0-0.2 0.2-0.3c0.2-0.2 0.5-0.2 0.7 0l4.3 4.3c0.3 0.3 0.9 0.3 1.2 0l4.3-4.3c0.2-0.2 0.5-0.2 0.7 0 0.2 0.2 0.2 0.5 0 0.7l-4.3 4.3c-0.3 0.4-0.8 0.6-1.3 0.6-0.5 0-0.9-0.2-1.3-0.6l-4.3-4.3q-0.2-0.2-0.2-0.4z'/%3E%3C/svg%3E"); */
    transition: all 0.3s ease-in-out;
    display: inline-block;
    margin-left: 5px;
}

#mainMenuCanvas .menu-item.menu-item-has-children > a:hover::after,
#mainMenuCanvas .menu-item.menu-item-has-children.current-menu-item > a::after {
    filter: brightness(0) saturate(100%) invert(80%) sepia(3%) saturate(200%) hue-rotate(314deg) brightness(92%) contrast(89%);
}

#mainMenuCanvas .dropdown-menu {
    background: var(--White, #FDFDFD);
    box-shadow: 0px 3px 14px 1px rgba(0, 0, 0, 0.08);
    padding: 4px;
    border: none;
    color: var(--bs-black);
}

#mainMenuCanvas .dropdown-menu li {
    padding: 6px 12px;
    transition: 0.3s ease-in-out;
}

#mainMenuCanvas .dropdown-menu li:not(:last-child) {
    margin-bottom: 4px;
}

#mainMenuCanvas .accordion-menu {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 8px 4px 4px 8px;
    list-style: none;
}

#mainMenuCanvas .menu-item-has-children > a[aria-expanded='true']::after {
    transform: rotate(180deg);
}

body.body-scrolled #site-header #main-menu-desktop .list-unstyled > .menu-item > a,
#site-header:hover #main-menu-desktop .list-unstyled > .menu-item > a {
    color: var(--bs-secondary);
    transition: all 0.3s ease-in-out;
}

#site-header {
    background: rgba(255, 255, 255, 0);
    transition: all 0.3s ease-in-out;
}

@media (min-width: 1250px) {
    #site-header:hover {
        background: var(--bs-white);
        box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.04);
    }
}

#main-menu-desktop .list-unstyled > .menu-item > a {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    height: 100%;
    padding: 6px 7px;
    transition: all 0.3s ease-in-out;
}

#main-menu-desktop .list-unstyled > .menu-item > .sub-menu {
    position: absolute;
    top: 100%;
    padding: 24px;
    background: #FAFAFA;
    opacity: 0;
    pointer-events: none;
}

#main-menu-desktop .list-unstyled > .menu-item:hover > .sub-menu::before {
    pointer-events: all;
}

#main-menu-desktop .list-unstyled > .menu-item > .sub-menu::before {
    content: '\A0';
    position: absolute;
    bottom: 100%;
    left: 0px;
    width: 100%;
    height: 35px;
    opacity: 0;
    pointer-events: none;
}

#main-menu-desktop .list-unstyled > .menu-item:hover > .sub-menu {
    opacity: 1;
    pointer-events: all;
}

#main-menu-desktop .list-unstyled > .menu-item > .sub-menu {
    list-style-type: none;
    width: 100%;
    left: 0px;
    width: 100%;
    padding: 24px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    row-gap: 10px;
    column-gap: 100px;
}

#main-menu-desktop .list-unstyled > .menu-item > .sub-menu a {
    width: 100%;
    display: inline-block;
    color: #1B1B1B;
    padding: 10px 0px;
    font-weight: 200
}

#main-menu-desktop .list-unstyled > .menu-item > .sub-menu > .menu-item {
    padding: 0px 24px;
    font-weight: 500;
    font-size: 16px;
}

#main-menu-desktop .list-unstyled > .menu-item > .sub-menu > .menu-item > .sub-menu {
    list-style-type: none;
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-top: 10px;
    padding: 0px;
}

#main-menu-desktop .list-unstyled > .menu-item > .sub-menu > .menu-item > .sub-menu a {
    font-weight: 300;
}

#main-menu-desktop .list-unstyled > .menu-item > .sub-menu > .menu-item {
    position: relative;
}

#main-menu-desktop .list-unstyled > .menu-item > .sub-menu > .menu-item:not(:last-of-type)::after {
    content: '\A0';
    position: absolute;
    top: 0px;
    width: 1px;
    height: 100%;
}

@media(min-width: 1250px) {

    #main-menu-desktop .mega-menu-image {
        grid-column: -2 / -1;
        grid-row: 15 / -1;
    }

    #main-menu-desktop .mega-menu-image a {
        display: inline-block;
        aspect-ratio: 382 / 313;
        width: 382px;
        background-color: #fcfcfc;
    }

}

#main-menu-mobile .dropdown-menu .menu-item a {
    display: inline-block;
    white-space: normal !important;
}

#main-menu-mobile .mega-menu-image {
    display: none;
}

#main-menu-mobile #main-menu .menu-item-has-children .dropdown-toggle::after {
    margin-left: auto;
}

#main-menu-mobile #main-menu .nav-link {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    padding: 15px 25px;
    color: var(--bs-black);
}

#main-menu-mobile .dropdown-menu.show {
    display: flex;
    flex-wrap: wrap;
    padding: 15px 25px;
    gap: 15px;
    background: inherit;
    border: unset;
}

#main-menu-mobile .dropdown-menu .dropdown-item {
    color: #fff !important;
}

#main-menu-mobile .mega-menu-image {
    display: none;
}

#main-menu-mobile .offcanvas-header {
    padding-top: 20px;
    padding-right: 44px;
    padding-bottom: 34px;
}

header .custom-logo-image {
    width: 140px;
}

body.redcase-menu-open #site-header {
    background: var(--bs-white);
}

@media (min-width: 1250px) {
    header .custom-logo-image {
        width: 165px;
    }
}

@media (max-width: 345px) {
    header .custom-logo-image {
        width: 120px;
    }
}

#main-menu-mobile .btn-close {
    width: 2.4rem;
    height: 2.4rem;
}

.btn-primary {
    overflow: hidden;

    &:hover {
        border-color: var(--bs-white);
    }
}

header .btn-primary {
    &:hover {
        border-color: var(--bs-black);
    }
}

.btn-outline-primary {
    overflow: hidden;
    --bs-btn-color: var(--bs-black);
    --bs-btn-border-color: var(--bs-black);
}

.btn-outline-primary:hover {
    border-color: var(--bs-black);
    background-color: var(--bs-black);
    color: var(--bs-white);
}


.btn-outline-primary .animated-cta::before {
    color: var(--bs-white);
}

.btn-outline-white {
    overflow: hidden;
    --bs-btn-color: var(--bs-white);
    --bs-btn-border-color: var(--bs-white);
}

.btn-outline-white:hover {
    border-color: var(--bs-white);
    --bs-btn-color: var(--bs-primary);
}

.btn.btn-outline-blue {
    overflow: hidden;
    --bs-btn-color: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-border-color: var(--bs-primary);
}

.btn-outline-blue:hover {
    background: var(--bs-primary);
    color: var(--bs-white);
}

.btn-outline-blue:hover svg > path {
    stroke: var(--bs-white);
}

.btn-outline-blue .animated-cta::before {
    color: var(--bs-white);
}


.btn-outline-black {
    overflow: hidden;
    --bs-btn-color: var(--bs-black);
    --bs-btn-border-color: var(--bs-black);
}

@media (hover:hover) and (min-width: 1250px) {
    .btn-outline-white:hover svg path {
        stroke: var(--bs-primary);
    }

    .btn-outline-black:hover {
        border-color: var(--bs-dark-blue);
        --bs-btn-color: var(--bs-white);
        background: var(--bs-dark-blue);
    }
}

.btn-outline-white .animated-cta::before {
    color: var(--bs-primary);
}

.btn-outline-black .animated-cta::before {
    color: var(--bs-white);
}

.nav-pills .nav-link:hover {
    background-color: var(--bs-nav-pills-link-active-bg);
    color: var(--bs-black);
}

.nav-pills .nav-link.active {
    background-color: var(--bs-nav-pills-link-active-bg);
}

.menu-main-menu-container ul li a {
    letter-spacing: -0.72px;
}

#mainMenuCanvas ul .current-menu-item > a {
    color: var(--bs-gray-light);
}

@media (hover:hover) {
    #mainMenuCanvas ul li a:hover {
        color: var(--bs-gray-light);
    }

    .socials-wrapper a:hover {
        background: #dcdcdc;
    }
}

.social-img {
    width: 24px;
    height: 24px;
}

#mainMenuCanvas .products-wrapper .menu-image {
    opacity: 0;
    visibility: hidden;
    max-width: 263px;
    width: 100%;
    height: 159px;
    position: absolute;
    right: 0;
    transition: 0.3s ease-in-out;
}

.products-wrapper {
    height: 21vh;
    height: 21dvh;
}

@media (min-width: 1250px) {
    .products-wrapper {
        min-height: 213px;
    }
}

.products-wrapper a:hover {
    color: var(--bs-gray-light);
}

.btn-white {
    background: #FDFDFD;
    color: #424242;
    transition: 0.3s ease-in-out;
    border: 1px solid transparent;

    &:hover {
        color: var(--bs-black);
        border: 1px solid transparent;
    }
}

.btn-primary .circle {
    background: var(--bs-white);
    border-radius: 50%;
    opacity: 1;
    visibility: visible;
    width: 6px;
    height: 6px;
    transition: 0.3s ease-in-out;
    display: flex;
    position: absolute;
    z-index: 6;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
}

.btn-primary:not(.blue-btn) svg {
    opacity: 0;
    visibility: hidden;
    transition: 0.3s ease-in-out;
}

.btn-primary.blue-btn svg circle {
    transition: 0.3s ease-in-out;
}

@media (hover:hover) {
    .btn-primary.blue-btn:hover svg circle {
        fill: var(--bs-primary);
    }
}

#mainMenuCanvas .btn-primary svg {
    opacity: 1;
    visibility: visible;
    transition: 0.3s ease-in-out;
}

.btn-primary:hover .circle {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

:not(#mainMenuCanvas) .btn-primary:hover svg {
    opacity: 1;
    visibility: visible;
}

.animated-heading,
.animated-cta {
    display: inline-block;
    transition: 0.3s ease-in-out;
}

@media (hover:hover) {

    .post-blog:hover .animated-heading,
    .animated-btn:hover .animated-cta,
    #videos-grid a:hover .animated-heading,
    .team-member:hover .animated-heading {
        transform: translateY(-100%);
    }
}

.animated-heading::before,
.animated-cta::before {
    content: attr(data-label);
    position: absolute;
    color: var(--bs-black);
    display: flex;
    justify-content: center;
    align-items: center;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: translateY(100%);
    transition: 0.1s ease-in-out;
    z-index: 15;
}

.animated-btn {
    --btn-height: 46px;
    --btn-min-width: 93px;
    line-height: var(--btn-height);
    min-width: var(--btn-min-width);
}

@media (min-width: 1250px) {
    .animated-btn {
        --btn-height: 46px;
        --btn-min-width: 134px;
    }
}

.config-add-to-cart .animated-btn {
    --btn-height: 32px;
    line-height: var(--btn-height);
}

@media (min-width: 1440px) {
    .config-add-to-cart .animated-btn {
        --btn-height: 46px;
        line-height: var(--btn-height);
    }
}

header .animated-btn {
    --btn-height: 36px;
    --btn-min-width: 120px;
}

.header-action-icon {
    padding: 0.5rem;
    transition: 0.3s ease-in-out;
    cursor: pointer;
    position: relative;
    overflow: clip;

    svg path {
        transition: 0.3s ease-in-out;
        fill: transparent;
    }
}

/* .black-icon:hover {
    border: 1px solid var(--bs-black);

    svg path {
        stroke: var(--bs-black);
    }

    &::before {
        translate: 0 0%;
        scale: 0.1;
    }
} */

/* .black-icon::before {
    content: '';
    position: absolute;
    top: 10%;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--bs-black);
    border-radius: 50%;
    scale: 2;
    transition: 0.5s ease-in-out;
    z-index: -1;
    transform-origin: bottom;
    pointer-events: none;
} */

.header-action-icon + .dropdown-menu {
    background: var(--White, #FDFDFD);
    box-shadow: 0px 3px 14px 1px rgba(0, 0, 0, 0.08);
    padding: 4px;
    border: none;

    li {
        padding: 6px 12px;
        ;
        transition: 0.3s ease-in-out;
    }

    li:not(:last-child) {
        margin-bottom: 4px;
    }

    li:hover {
        background: #F8F8F8;
    }
}

.black-icon[aria-expanded="true"] {
    background: var(--bs-white);

    svg path {
        stroke: var(--bs-black);
    }
}

/* Articles - START */
#articles-section .post-blog img,
#related-posts .post-blog img {
    aspect-ratio: 1;
    object-fit: cover;
    transition: 0.3s ease-in-out;
    height: 100%;
}

.outer {
    position: relative;
    aspect-ratio: 1;
}

.outer::before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 100%;
}

@supports (aspect-ratio: 1) {
    .outer::before {
        display: none;
    }
}

.outer > .inner {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

/* h2 {
   height: 2lh;
   line-height: 100%;
} */

@media (min-width: 1136px) {

    #articles-section .post-blog .post-arrow,
    #related-posts .post-blog .post-arrow {
        opacity: 0;
        visibility: hidden;
        transition: 0.3s ease-in-out;
        transform: translateY(40%);
    }
}

#articles-section .post-blog:hover img,
#related-posts .post-blog:hover img {
    transform: scale(1.05);
}

@media (min-width: 1136px) {

    #articles-section .post-blog:hover .post-arrow,
    #related-posts .post-blog:hover .post-arrow {
        opacity: 1;
        visibility: visible;
        transform: translateY(0%);
    }

    /* #articles-section .post-blog:hover h2,
    #related-posts .post-blog:hover h2 {
        animation: MoveScaleUpInitial 0.2s forwards, MoveScaleUpEnd 0.2s forwards 0.2s;
    } */
}

#single-post,
#page-entry {
    .post-image {
        max-height: 600px;
    }
}

.content__wrapper {

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        margin-block: 2rem;
    }

    p {
        font-size: 1.6rem;
        word-break: break-word;

        @media (width >=1250px) {
            font-size: 1.8rem;
        }
    }

    a {
        text-decoration: underline;
        font-weight: 500;
    }

    img {
        max-width: 100%;
        object-fit: cover;
        height: auto;
    }
}

/* Articles - END */

/* Pagination - START */
.pagination li {

    .prev-icon {
        scale: -1;
    }

    &:hover {
        svg path {
            fill: var(--bs-white);
        }
    }

    .page-link:focus {
        svg path {
            fill: var(--bs-black);
        }
    }
}

/* Pagination - END */

/* CF7 - START */
.wpcf7 .wpcf7-form {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    position: relative;

    label {
        max-width: 100%;
        width: 100%;
    }

    input:not([type="checkbox"]):not(.wpcf7-submit),
    textarea {

        background: #F8F8F8;
        color: #424242;
        padding: 16px 12px;
        border: 1px solid #F8F8F8;
        transition: 0.3s ease-in-out;
        max-width: 100%;
        width: 100%;

        &:hover {
            background: #F0F0F0;
            color: var(--bs-black);
            border: 1px solid #BFBFBF;
        }

        &:focus,
        &:focus-visible {
            border: 1px solid #BFBFBF;
            color: var(--bs-black);
            outline: 0;
        }

        &:not(:placeholder-shown) {
            background: #F0F0F0;
            color: var(--bs-black);
            border: 1px solid #BFBFBF;
        }
    }

    .wpcf7-list-item {
        margin: 0;
        margin-top: 1.2rem;
    }

    .wpcf7-acceptance label {
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

    --checkbox-width: 1.15em;
    --checkbox-height: 1.15em;
    --checkbox-background: var(--bs-primary);

    input[type="checkbox"] {
        position: relative;
        -webkit-appearance: none;
        appearance: none;
        border: 0;
        width: var(--checkbox-width);
        height: var(--checkbox-height);

        &:focus-visible {
            outline: 1px solid var(--bs-primary);
        }
    }

    input[type="checkbox"]::before {
        position: absolute;
        width: var(--checkbox-width);
        height: var(--checkbox-height);
        background: #fff;
        border: 1px solid var(--checkbox-background);

        cursor: pointer;
        transition: background .3s;
        content: '';
    }

    input[type="checkbox"]:checked::before {
        background: var(--checkbox-background);
    }

    input[type="checkbox"]::before {
        position: absolute;
        width: var(--checkbox-width);
        height: var(--checkbox-height);
        background: #fff;
        border: 1px solid var(--checkbox-background);

        cursor: pointer;
        transition: background .3s;
        content: '';
    }

    input[type="checkbox"]:checked::after {
        content: '';
        position: absolute;
        transform: rotate(-45deg);
        top: 4px;
        left: 3px;
        width: 12px;
        height: 6px;
        border: 2px solid #fff;
        border-top-style: none;
        border-right-style: none;
    }

    input.wpcf7-submit {
        width: 100%;
        color: var(--bs-white);
        font-size: 1.6rem;
        margin-top: 1.2rem;

        text-align: center;
        justify-content: center;
        -webkit-appearance: none !important;
        appearance: none !important;
        background: var(--bs-primary);
        padding: 1.6rem 0;
        border: 1px solid var(--bs-primary);

        &:disabled {
            background: var(--bs-primary);
        }

        &:hover {
            color: var(--bs-white);
            background: var(--bs-primary);
        }

        &:focus,
        &:focus-visible {
            border: 1px solid var(--bs-primary);
            color: var(--bs-primary);
            background: var(--bs-white);
            outline: 0;
        }
    }

    .wpcf7-spinner {
        margin: 0;
        position: absolute;
        left: 50%;
        top: 50%;
        translate: -50%;
    }

    /* Common styles for .wpcf7-response-output */
    .wpcf7-response-output {
        border: none !important;
        font-size: 1.2rem;

        display: flex;
        gap: 1rem;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: 1.2rem;
        text-wrap: balance;

        @media (width >=1250px) {
            font-size: 1.5rem;
            margin: 0rem auto;
        }
    }

    /* Specific styles for different form states */
    &.invalid .wpcf7-response-output,
    &.unaccepted .wpcf7-response-output,
    &.payment-required .wpcf7-response-output {
        background: rgba(198, 0, 34, 0.1);
        color: #C60022;
    }

    .wpcf7-response-output {
        background: rgba(0, 158, 60, 0.1);
        color: #009E3C;
    }

    .wpcf7-response-output::before {
        content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='23' viewBox='0 0 22 23' fill='none'%3E%3Crect x='1' y='1.5' width='20' height='20' rx='5' stroke='%23009E3C' stroke-width='1.5'/%3E%3Cpath d='M8.5 11L10.5 13L14.5 9' stroke='%23009E3C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
        width: 25px;
        height: 25px
    }

    &.invalid .wpcf7-response-output::before {
        content: url("data:image/svg+xml,%3Csvg width='24' height='25' viewBox='0 0 24 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 18.4261C2 17.8187 2.15479 17.2214 2.44975 16.6904L8.63566 5.5558C9.18399 4.56881 10.1381 3.87239 11.2452 3.65096V3.65096C11.7435 3.55131 12.2565 3.55131 12.7548 3.65096V3.65096C13.8619 3.87239 14.816 4.56881 15.3643 5.55581L21.5502 16.6904C21.8452 17.2214 22 17.8187 22 18.4261V18.4261C22 20.3999 20.3999 22 18.4261 22H5.57391C3.60009 22 2 20.3999 2 18.4261V18.4261Z' stroke='%23C60022' stroke-width='1.5'/%3E%3Cpath d='M12 9.5L12 13.5' stroke='%23C60022' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 16.5L12 17' stroke='%23C60022' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
        width: 25px;
        height: 25px
    }
}

/* CF7 - END */

h1.entry-title {
    margin-bottom: 1.2rem;
}

.button--skoll {
    overflow: hidden;
    color: #fff;
    width: 39px;
    height: 39px;
    padding: 0;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.button--skoll span {
    display: block;
    position: relative;
}

.button--skoll > span {
    overflow: hidden;
    mix-blend-mode: difference;
}

.button--skoll:hover > span > span {
    animation: MoveUpInitial 0.2s forwards, MoveUpEnd 0.2s forwards 0.2s;
}

.button--skoll::before {
    content: '';
    background: #000;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0;
    padding-bottom: 100%;
    border-radius: 50%;
    transform: translate3d(0, 0, 0);
    transition: transform 0.3s;
    transition-timing-function: cubic-bezier(0.7, 0, 0.2, 1);
}

.button--skoll:hover::before {
    transform: translate3d(0, 100%, 0);
}

.related-swiper-button-prev,
.related-swiper-button-next {
    svg path {
        transition: 0.3s ease-in-out;
    }

    &.swiper-button-disabled {
        svg {
            opacity: 0.5;
        }
    }

    &:hover {
        svg path {
            opacity: 0.5;
        }
    }
}

.error-404 {
    height: 60dvh;
    display: grid;
    place-content: center;
}

footer {
    background: var(--bs-dark-blue);
}

.socials-wrapper a {
    background: #F8F8F8;
    width: 65px;
    height: 48px;
}

.footer-menu a {
    color: var(--bs-gray-light);
}

@media (hover:hover) {
    .footer-menu a:hover {
        color: #6E6E73;
    }
}

.site-footer .footer-img {
    position: absolute;
    right: 0;
    bottom: 0rem;
    max-width: 40vw;
    object-fit: cover;
    pointer-events: none;
    display: none;
}

@media (min-width: 992px) {
    .site-footer .footer-img {
        display: block;
    }
}

.scroll-up {
    width: 64px;
    height: 64px;
    display: none;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.03);
    cursor: pointer;
    transition: 0.3s ease-in-out;
    border: 1px solid transparent;
    margin-top: 2rem;
}

@media (min-width: 992px) {
    .scroll-up {
        width: 96px;
        height: 96px;
        position: absolute;
        bottom: 0;
        left: 0;
        display: flex;
    }
}

.scroll-up:hover {
    border: 1px solid rgba(255, 255, 255, 0.11);
}

.site-footer .footer-menus-wrapper ul {
    list-style: none;
    padding-left: 0;
}

.site-footer .footer-menus-wrapper li a,
.contact-us-menu {
    color: var(--bs-gray-light);
    line-height: 150%;
    transition: 0.3s ease-in-out;
}

@media (hover:hover) {

    .site-footer .footer-menus-wrapper li a:hover,
    .contact-us-menu:hover {
        color: #6E6E73;
    }
}

.site-footer .footer-logo {
    max-width: 170px;
}

.site-footer .left-column {
    max-width: 100%;
    background: #061E32;
}

@media (min-width: 992px) {
    .site-footer .left-column {
        max-width: 358px;
    }
}

.footer-form-wrapper .form-description strong {
    color: rgba(191, 191, 191, 0.70);
}

.footer-form-wrapper .wpcf7 .wpcf7-form input:not([type="checkbox"]) {
    background: var(--bs-dark-blue);
    color: #424242;
    padding: 16px 12px;
    border: 1px solid var(--bs-dark-blue);
    transition: 0.3s ease-in-out;
    max-width: 100%;
    width: 100%;
    margin-bottom: 1.2rem;
    font-size: 1.6rem;

    &:hover {
        background: var(--bs-dark-blue);
        color: var(--bs-black);
        border: 1px solid rgba(255, 255, 255, 0.11);
    }

    &:focus,
    &:focus-visible {
        border: 1px solid rgba(255, 255, 255, 0.11);
        color: var(--bs-white);
        outline: 0;
    }

    &:placeholder-shown,
    &::-webkit-input-placeholder {
        color: #BFBFBF;
    }

    &:not(:placeholder-shown) {
        background: var(--bs-dark-blue);
        color: #BFBFBF;
        border: 1px solid rgba(255, 255, 255, 0.11);
    }

}

.footer-form-wrapper .wpcf7 .wpcf7-form input.wpcf7-submit:not([type="checkbox"]) {
    background: var(--bs-white);
    color: var(--bs-black);
    border: 1px solid var(--bs-white);

    &:hover {
        background: var(--bs-dark-blue);
        color: var(--bs-white);
        border: 1px solid rgba(255, 255, 255, 0.11);
    }

    &:focus,
    &:focus-visible {
        border: 1px solid rgba(255, 255, 255, 0.11);
        color: var(--bs-black);
        outline: 0;
    }
}

.site-footer .socials-wrapper a {
    background: var(--bs-dark-blue);
    width: 65px;
    height: 48px;
}

.site-footer .socials-wrapper a img {
    filter: invert(1);
    transition: 0.3s ease-in-out;
}

@media (hover:hover) {
    .site-footer .socials-wrapper a:hover {
        background: #f8f8f8;
    }

    .site-footer .socials-wrapper a:hover img {
        filter: invert(0);
    }
}

@media (hover:hover) {
    .account-icon:hover svg path:not(:last-child) {
        fill: var(--bs-black);
    }

    .cart-icon:hover svg path:not(:last-child) {
        fill: var(--bs-black);
    }

    .cart-icon:hover svg path:last-child {
        stroke: var(--bs-white);
    }

    .lang-switcher-icon:hover svg path:first-child {
        fill: var(--bs-black);
    }

    .lang-switcher-icon:hover svg path:not(:first-child) {
        stroke: var(--bs-white);
    }
}

/* Breadcrumbs - START */
#breadcrumbs a {
    color: var(--bs-black);
}

@media (max-width: 430px) {
    #breadcrumbs {
        position: relative;
    }

    #breadcrumbs > span {
        display: flex;
        flex-wrap: nowrap;
        overflow: auto;
        max-width: 100%;
        white-space: nowrap;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    #breadcrumbs > span::-webkit-scrollbar {
        display: none;
        /* Chrome, Safari and Opera */
    }

    #breadcrumbs::after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        height: 100%;
        width: 30px;
        background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
        pointer-events: none;
        /* Ensures the gradient doesn't interfere with clicking */
    }
}

/* Breadcrumbs - END */

/* Compare Table - START */
.yith-woocompare-open.button {
    background: var(--bs-primary) !important;
    color: var(--bs-white) !important;
    border-radius: 0 !important;
    font-weight: 400 !important;
    padding-block: 1.2rem !important;
}

.yith-woocompare-table-wrapper {
    margin-top: var(--header-height) !important;
}

table.compare-list tr.price {
    color: var(--bs-black) !important;
}

body.yith-woocompare-popup,
.yith-woocompare-table-wrapper {
    color: var(--bs-black) !important;
}

@media (max-width: 768px) {
    .compare-journey .journey-wrapper .video-wrapper {
        height: 50vh;
        height: 50dvh;
    }
}

.compare-journey .journey-wrapper .content-wrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    max-width: 712px;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
    align-items: center;
    justify-content: center;
    padding: 2.4rem;
}

@media (min-width: 1250px) {
    .compare-journey .journey-wrapper .content-wrapper {
        top: 12rem;
        translate: -50% 0;
    }
}

.compare-journey .journey-cta-wrapper {
    width: 100%;
    max-width: 568px;
}

.compare-journey .journey-cta-wrapper .animated-btn {
    flex: 1;
    width: 100%;
}

@media (max-width: 375px) {
    .compare-journey .journey-cta-wrapper .animated-btn {
        --btn-height: 35px;
    }
}

table.compare-list .image-wrap:hover .image-overlay .remove a:after {
    content: "\00D7";
    font-size: 20px;
}

/* Mobile Compare Remove Button */
.remove-product-mobile .remove a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    text-decoration: none;
    color: var(--bs-black);
    font-size: 14px;
    line-height: 1;
    transition: all 0.2s ease;
    font-size: 0;
}

.remove-product-mobile .remove a:after {
    content: "\00D7";
    font-size: 16px;
    font-weight: bold;
}

table.compare-list img {
    aspect-ratio: 1;
    object-fit: contain;
}

#compare-table-cta .blue-btn {
    margin: 0 auto;
    max-width: 300px;
}

.compare-journey {
    margin-bottom: calc(24px + var(--header-height));
}

#yith-woocompare-preview-bar .compare-list .image-wrap .remove a:after {
    line-height: 20px;
}

/* Compare Table - END */

/* AMEA - START */
h1,
h2,
h3,
h4,
h5,
h6,
span,
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb {
    background: #00000001;
}

.post-blog-event span {
    background: #0000000A;
}

.post-type-archive .post-blog-event .text-gray {
    background: #e9e3e30f;
}

.booknetic_calendar_days.booknetic_calendar_empty_day > div,
.booknetic_week_names > .booknetic_td {
    background: #00000001 !important;
}

.wordpress-gdpr-hidden {
    background: black;
    color: white;
}

/* GDPR Popup Contrast Fixes - START */
.wordpress-gdpr-hidden.visually-hidden {
    background-color: #000000 !important;
    color: #ffffff !important;
}

.wordpress-gdpr-popup-decline,
.wordpress-gdpr-privacy-settings-popup-services-decline-all {
    background-color: #000000 !important;
    color: #ffffff !important;
    border: 1px solid #ffffff !important;
}

.wordpress-gdpr-popup-decline:hover,
.wordpress-gdpr-privacy-settings-popup-services-decline-all:hover {
    background-color: #333333 !important;
    color: #ffffff !important;
}

/* GDPR Popup Contrast Fixes - END */

/* Contact Form 7 Accessibility Fixes - START */
.wpcf7-form .visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Ensure form labels are properly associated */
.wpcf7-form label:not(.visually-hidden) {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 400;
    color: #000000;
}

/* Fix checkbox label styling */
.wpcf7-form .wpcf7-list-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.wpcf7-form .wpcf7-list-item label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0;
    cursor: pointer;
}

/* Ensure checkbox has proper label text */
.wpcf7-form input[type="checkbox"] + span {
    margin-left: 20px;
    color: #000000 !important;
}

/* Remove duplicate labels created by CF7 */
.wpcf7-form .wpcf7-form-control-wrap > label:empty {
    display: none !important;
}

/* Make sure textarea has proper labeling */
.wpcf7-form textarea {
    width: 100%;
}

/* Ensure all form controls have proper contrast */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
    border: 1px solid #cccccc;
    color: #000000;
    background-color: #ffffff;
}

.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form textarea:focus {
    border-color: #007cba;
    outline: 2px solid #007cba;
    outline-offset: 2px;
}

/* Contact Form 7 Accessibility Fixes - END */


/* AMEA - END */

.alignfull {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    max-width: 1000%;
    width: auto;
}

.alignfull img {
    max-height: 45vh;
    max-height: 45dvh;
}

@media (min-width: 1250px) {
    .alignfull img {
        max-height: 1200px;
        max-height: min(112dvh, 1200px);
    }
}

.woocommerce nav.woocommerce-pagination ul {
    border: none;
}

.woocommerce nav.woocommerce-pagination ul li {
    border: none;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 650px) {

    .woocommerce nav.woocommerce-pagination ul li a,
    .woocommerce nav.woocommerce-pagination ul li span {
        width: 36px;
        height: 36px;
    }
}

.woocommerce nav.woocommerce-pagination ul li span.current {
    background: #03182A;
    color: var(--bs-white);
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (hover:hover) and (min-width: 1250px) {

    .woocommerce nav.woocommerce-pagination ul li a:focus,
    .woocommerce nav.woocommerce-pagination ul li a:hover {
        color: #03182A;
        background: rgba(0, 66, 122, 0.02);
    }

    .woocommerce nav.woocommerce-pagination .page-item:hover svg path {
        fill: #101010;
    }
}

.xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn:only-child {
    transition: 0.3s ease-in-out;
}

.select2-container {
    font-family: inherit !important;
}

#delivery_date_field {
    background: #fefefe !important;
    padding: 1.6rem 1.2rem !important;
}

.page-template-template-homepage header:not(.scrolled):not(:hover) svg path,
.page-template-template-about-us header:not(.scrolled):not(:hover) svg path,
.page-template-template-get-in-touch header:not(.scrolled):not(:hover) svg path {
    stroke: var(--bs-white);
}

.page-template-template-homepage header:not(.scrolled):not(:hover) .container,
.page-template-template-about-us header:not(.scrolled):not(:hover) .container,
.page-template-template-get-in-touch header:not(.scrolled):not(:hover) .container {
    border-bottom: 1px solid #f8f8f85e;
}

@keyframes button-loading-spinner {
    from {
        transform: rotate(0turn);
    }

    to {
        transform: rotate(1turn);
    }
}

header .white-logo-link {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.page-template-template-homepage header .white-logo-link,
.page-template-template-about-us header .white-logo-link,
.page-template-template-get-in-touch header .white-logo-link {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: 0.3s ease-in-out;
}

.page-template-template-homepage header:not(.scrolled) .company-logo-link,
.page-template-template-about-us header:not(.scrolled) .company-logo-link,
.page-template-template-get-in-touch header:not(.scrolled) .company-logo-link {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: 0.3s ease-in-out;
}

/* Show company logo on header hover */
.page-template-template-homepage header:not(.scrolled):hover .company-logo-link,
.page-template-template-about-us header:not(.scrolled):hover .company-logo-link,
.page-template-template-get-in-touch header:not(.scrolled):hover .company-logo-link {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.page-template-template-homepage header.scrolled .white-logo-link,
.page-template-template-about-us header.scrolled .white-logo-link,
.page-template-template-get-in-touch header.scrolled .white-logo-link {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: 0.3s ease-in-out;
}

/* Show white logo on header hover when scrolled */
.page-template-template-homepage header.scrolled:hover .white-logo-link,
.page-template-template-about-us header.scrolled:hover .white-logo-link,
.page-template-template-get-in-touch header.scrolled:hover .white-logo-link,
.page-template-template-homepage header:hover .white-logo-link,
.page-template-template-about-us header:hover .white-logo-link,
.page-template-template-get-in-touch header:hover .white-logo-link {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.woocommerce-info {
    border-top-color: var(--bs-primary);
}

.woocommerce-info::before {
    color: var(--bs-primary);
}



/* Remove Register Form */
.page-template-template-sign-in-php .grid-wrapper .form-wrapper .mt-12.text-center {
    display: none;
}

.woocommerce-account #customer_login .col-lg-6:last-child {
    display: none;
}

.related-posts-carousel article a {
    color: var(--bs-black);
}

.modal-content {
    --bs-modal-border-radius: 0
}