/* Custom Styles */

html {
    scroll-behavior: smooth;
    scroll-margin-top: 100px;
}

:target:not(.alignfull) {
    scroll-margin-top: var(--wp--preset--spacing--large);
}

*, *::before, *::after {
  box-sizing: border-box !important;
}

h2.is-style-text-display {
	position: relative;
    display: flex;
    align-items: center;
    gap: 1rem;
	&&::before {
		content: '';
        display: inline-flex;
        width: 30px;
        min-width: 30px;
        aspect-ratio: 1;
        background: var(--wp--preset--color--red);
        clip-path: polygon(50% 0,79% 90%,2% 35%,98% 35%,21% 90%); 
	}
    &&::after {
        content: '';
        display: inline-flex;
        width: 0;
        height: 1px;
        background-color: var(--wp--preset--color--red);
        transition: width 2s cubic-bezier(0.25, 0.8, 0.25, 1);
    }
    &&.in-view::after {
        width: 130px;
    }
}
strong,
strong *,
b,
b * {
    font-weight: bold;
}
body {
    position: relative;
}
body::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: -999;
    background-image: linear-gradient(38deg, transparent 50%, #E9E4D6);
}
.wp-block-columns.is-style-special-layout {
    /* Left col. */
    .wp-block-column:nth-child(1) {
        max-width: 50%;
    }
    /* Right col. */
    .wp-block-column:nth-child(2) {
        max-width: calc(var(--wp--style--global--wide-size)/2);
    }
}

/* JS Newsletter Pop-up */
body.modal-open {
    max-height: 100vh;
    overflow: hidden;
}
/* #stay-informed:not(.complete) {
    background-color: rgba(0, 0, 0, 0);
    transition: background-color 2s cubic-bezier(0.25, 0.8, 0.25, 1);
    > * {
        opacity: 0;
        transform: scale(0.99) translateY(25px);
        transition: transform 1s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 1s cubic-bezier(0.25, 0.8, 0.25, 1);
        .social-links {
            display: none;
        }
    }
    &&.active {
        display: flex;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100%;
        height: 100%;
        margin: 0 !important;
        align-items: center;
        justify-content: center;
        z-index: 9999;
        background-color: rgba(0, 0, 0, 0.666);
        > * {
            opacity: 1;
            transform: scale(1) translateY(0);
            max-width: 90%;
            max-height: 90%;
            padding: var(--wp--preset--spacing--70) !important;
            @media screen and (max-width: 781px) {
                max-width: 95%;
                max-height: 95%;
                padding: var(--wp--preset--spacing--50) !important;
            }
            #mc_embed_shell {
                @media screen and (max-width: 781px) {
                    margin-top: var(--wp--preset--spacing--30) !important;
                }
            }
        }
    }
} */

@media screen and (max-width: 781px) {
    :root {
        --wp--preset--font-size--small: 0.875rem;
        --wp--preset--font-size--medium: 1rem;
        --wp--preset--font-size--large: 1.25rem;
        --wp--preset--font-size--x-large: 2.625rem;
        --wp--preset--spacing--tiny: 20px;
        --wp--preset--spacing--small: 20px;
        --wp--preset--spacing--medium: 20px;
        /* --wp--preset--spacing--large: 20px; */
        /* --wp--preset--spacing--x-large: 20px; */
    }
    [style*="padding-right:var(--wp--preset--spacing--large);"],
    [style*="padding-right:var(--wp--preset--spacing--large)"],
    [style*="padding-left:var(--wp--preset--spacing--large);"],
    [style*="padding-left:var(--wp--preset--spacing--large)"] {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    /* If 'Group' block has alignfull and a background, set a standard top/bottom padding */
    .wp-block-group.alignfull[style*="padding-top:var(--wp--preset--spacing--large)"] {
        padding-top: 60px !important;
        padding-bottom: 60px !important;
    }
    .wp-block-columns.is-style-special-layout {
        padding-left: 20px !important;
        padding-right: 20px !important;
        .wp-block-column:nth-child(1) {
            max-width: 100%;
        }
    }
    h2.is-style-text-display {
        &&::after {
            content: none;
        }
    }
    .wp-block-site-logo {
        .custom-logo {
            width: 200px;
        }
    }
    .is-style-hide-on-mobile {
        display: none !important;
    }
}

.bold-letter-spacing strong {
    letter-spacing: 15%;
    font-size: 1.875rem;
    @media screen and (max-width: 781px) {
        font-size: 1.25rem;
    }
}

#mc_embed_shell {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100%;
    form#mc-embedded-subscribe-form {
        #mc_embed_signup_scroll {
            /* Screen reader styles */
            h2,
            .indicates-required,
            .asterisk,
            .sr-only {
                border: 0;
                clip-path: inset(50%);
                height: 1px;
                margin: -1px;
                overflow: hidden;
                padding: 0;
                position: absolute;
                width: 1px;
                word-wrap: normal !important;
                word-break: normal !important;
            }
            /* Label styling */
            label[for="mce-FNAME"],
            label[for="mce-LNAME"],
            label[for="mce-EMAIL"],
            label[for="mce-MMERGE3"],
            label[for="mce-PHONE"] {
                font-family: 'Bari Sans';
                font-weight: 700;
                text-transform: uppercase;
                font-size: var(--wp--preset--font-size--medium);
            }
            /* Column layout */
            .mce-field-grid {
                /* display: grid; */
                display: flex;
                gap: 2.875rem;
                @media screen and (max-width: 1079px) {
                    flex-direction: column;
                    column-gap: 0;
                    row-gap: 2.875rem;
                }
                @media screen and (max-width: 781px) {
                    column-gap: 0;
                    row-gap: var(--wp--preset--spacing--50);
                }
            }
            .mc-field-group:has(label[for="mce-FNAME"]),
            .mc-field-group:has(label[for="mce-LNAME"]),
            .mc-field-group:has(label[for="mce-EMAIL"]),
            .mc-field-group:has(label[for="mce-PHONE"]) {
                flex-basis: 100%;
            }
            #mergeRow-gdpr {
                order: 5;
                grid-column: span 10;
                font-size: var(--wp--preset--font-size--small);
            }
            /* Label next to checkbox */
            #mergeRow-gdpr fieldset label {
                @media screen and (max-width: 781px) {
                    font-size: 0.875rem;
                }
            }
            /* Input styling */
            input[name="EMAIL"],
            input[name="MMERGE3"],
            input[name="FNAME"],
            input[name="LNAME"],
            input[name="PHONE"] {
                background: none !important;
                border-width: 0 0 1px 0;
                border-color: var(--wp--preset--color--white);
                border-style: solid;
                width: 100%;
                color: var(--wp--preset--color--white);
                font-family: 'Bari Sans';
                font-weight: 700;
                font-size: var(--wp--preset--font-size--medium) !important;
            }
            .clear input {
                background: var(--wp--preset--gradient--red-button) !important;
                border-radius: 0px;
                border-width: 0;
                color: var(--wp--preset--color--white);
                font-size: var(--wp--preset--font-size--small);
                font-style: inherit;
                font-weight: 700;
                line-height: inherit;
                padding-top: 12px;
                padding-right: 12px;
                padding-bottom: 12px;
                padding-left: 12px;
                text-decoration: none;
                text-transform: uppercase;
                font-family: var(--wp--preset--font-family--bari);
                letter-spacing: 3px;
            }
            /* For GDPR checkbox */
            .mc_fieldset.gdprRequired {
                font-size: var(--wp--preset--font-size--medium);
                align-items: baseline;
                padding: 0;
                margin: 0;
                label {
                    display: flex;
                    align-items: baseline;
                    input {
                        margin: 0 12px 0 0;
                        width: 17px;
                        height: 17px;
                    }
                }
            }
            .content__gdprLegal {
                p {
                    margin-bottom: 0;
                }
            }
            /* For general below-field content layout */
            .mc-bottom-section {
                display: flex;
                @media screen and (max-width: 1079px) {
                    flex-direction: column;
                }
                @media screen and (max-width: 781px) {
                    gap: var(--wp--preset--spacing--50) !important;
                }
                gap: 40px;
                div:has(input[type="submit"]) {
                    order: 999;
                }
                #mergeRow-gdpr,
                div:has(input[type="submit"]) {
                    margin-top: 20px;
                }
            }
            /* Error text styles */
            .mce_inline_error {
                font-size: 0.75rem;
            }
        }
    }
}

.text-decoration-none,
.text-decoration-none *,
[style*="text-decoration: none"],
[style*="text-decoration: none"] *,
[style*="text-decoration:none"],
[style*="text-decoration:none"] * {
    text-decoration: none !important;
}

[style*="text-decoration: underline"],
[style*="text-decoration: underline"] *,
[style*="text-decoration:underline"],
[style*="text-decoration:underline"] * {
    text-decoration: underline !important;
}

.nudge-text {
    transform: translateY(8px);
}

.load-fade {
    opacity: 0;
    transform: scale(0.99) translateY(25px);
    transition: all 2s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.load-fade.loaded {
    opacity: 1;
    transform: scale(1) translateY(0);
}

/* Button styles that extend beyond theme.json capabilities */
.wp-block-button__link.has-red-button-gradient-background:hover {
        background: transparent !important;
        color: var(--wp--preset--color--red) !important;
        border: 1.5px solid var(--wp--preset--color--red) !important;
}

p:empty {
    display: none;
}

/* Menu */
.has-modal-open.is-menu-open {
    display: flex;
    height: 100%;
    justify-content: center;
}
.wp-site-blocks {
    &&:before {
        content: '';
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0);
        position: absolute;
        z-index: 999;
        opacity: 1;
        pointer-events: none;
        transition: all 0.2s ease;
    }
    &&:has(.wp-block-navigation__responsive-container.is-menu-open) {
        /* Use psuedo class to add overlay to body */
        &&::before {
            background-color: rgba(0, 0, 0, 0.666);
        }
    }
}
/* Fit menu drawer to contents and align right */
.wp-block-navigation__responsive-container.is-menu-open {
    width: fit-content;
    max-width: 525px;
    margin-left: auto;
    padding: var(--wp--preset--spacing--70);
    outline: none !important;
    @media screen and (max-width: 781px) {
        width: 100%;
        max-width: 100%;
        padding: var(--wp--preset--spacing--50);
    }
    ul.wp-block-navigation__container {
        align-items: flex-start !important;
    }
    li {
        align-items: flex-start !important;
        a:not(:focus) {
            outline: none !important;
        }
        @media screen and (max-width: 781px) {
            * {
                word-break: break-all;
            }   
        }
    }
    .wp-block-navigation-submenu,
    .wp-block-navigation-submenu a {
        margin: 0 !important;
        padding: 0 !important;
    }
    .wp-block-navigation__submenu-container {
        margin-top: 10px !important;
        gap: 10px !important;
        li {
            font-weight: 400 !important;
            font-size: 0.875rem !important;
        }
    }
}
.is-menu-open .wp-block-navigation__responsive-close {
    margin-right: 0 !important;
}
.wp-block-navigation__responsive-container-close {
    position: fixed;
    top: 40px;
    right: 40px;
    z-index: 999;
    @media screen and (max-width: 781px) {
        top: 20px;
        right: 20px;
    }
}
.is-menu-open  .wp-block-navigation__responsive-dialog {
    margin-top: 0 !important;
}
.is-menu-open .wp-block-navigation__responsive-container-content {
    padding-top: 0 !important;
    ul {
        gap: 30px !important;
        @media screen and (max-width: 781px) {
            width: 100%;
        }
    }
    li {
        font-size: 1.25rem !important;
        text-transform: uppercase !important;
        letter-spacing: 18% !important;
    }
}

.has-x-small-font-size,
.has-x-small-font-size * {
    font-size: 0.75rem !important;
}

/* Animate custom group style */
.wp-block-group.is-style-slide-into-view {
    opacity: 0;
    transform: scale(0.99) translateY(25px);
    transition: all 1s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.wp-block-group.is-style-slide-into-view.in-view {
    opacity: 1;
    transform: scale(1) translateY(0px);
}

.mix-blend-mode-multiply img {
    mix-blend-mode: multiply;
}

.split-background {
    margin-bottom: 30px;
}
@media screen and (min-width: 782px) {
    .split-background {
        background-image: linear-gradient(0deg, var(--wp--preset--color--primary-blue) 20%, transparent 20%);
        margin-bottom: inherit;
    }   
}


/* Special styles and responsive queries for above-fold module */
.margin-bottom-negative {
    margin-bottom: -120px;
    @media screen and (max-width: 1199px) {
        margin-bottom: 0;
        &&+ #press {
            padding-top: 80px !important;
            @media screen and (max-width: 781px) {
                padding-top: 60px !important;
            }
        }
    }
}

#press {
    z-index: -99;
}

footer {
    background-image: linear-gradient(to top, rgba(228, 224, 212, 1), transparent);
    max-width: 100vw;
    overflow: hidden;
    /* Submenus in footer */
    @media screen and (max-width: 781px) {
        .has-small-font-size a {
            word-break: break-all;
        }   
    }
}

header.wp-block-template-part {
    margin-top: 0 !important;
}

#close-button {
    position: fixed;
    top: 0;
    right: 0;
    background-color: transparent; /* Removes background color */
    border: none; /* Removes default border */
    padding: 0; /* Removes default padding */
    margin: 0; /* Removes default margin */
    font-family: inherit; /* Inherits font from parent element */
    font-size: var(--wp--preset--font-size--large);
    color: inherit; /* Inherits text color */
    cursor: pointer; /* Keeps it clear it's a clickable element */
    text-align: left; /* Aligns text to the left, like a standard element */
    /* Re-add a visual focus indicator for accessibility if desired */
    outline: revert; 
    top: 10px;
    right: 10px;
}

*:focus {
    outline: none !important;
}

*:focus-visible {
    outline: auto !important;
}

.wp-block-navigation-item__content,
.hover-opacity p {
    transition: all 0.2s ease;
    &&:hover {
        text-decoration: none;
        opacity: 0.75;
    }
}

.footer-col {
    width: 300px !important;
    @media screen and (max-width: 781px) {
        min-width: 100% !important;
        width: 100% !important;
    }
}

/* Hide the default hamburger SVG */
.wp-block-navigation__responsive-container-open.always-shown svg {
    display: none;
}

/* Replace with your SVG as a background image */
.wp-block-navigation__responsive-container-open.always-shown {
    background-image: url('assets/icons/menu-icon.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 36px;
    height: 18px;
}

.em-font-weight-500 {
    em {
        font-weight: 500;
    }
}

.d-block {
    display: block !important;
}
@media screen and (min-width: 782px) {
    .d-lg-block {
        display: block !important;
    }
}

.d-none {
    display: none !important;
}
@media screen and (min-width: 782px) {
    .d-lg-none {
        display: none !important;
    }
}

.swiper-outer-wrapper {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding-left: var(--wp--preset--spacing--medium);
    padding-right: var(--wp--preset--spacing--medium);
    .swiper-slide {
        img {
            width: 100%;
            height: 100%;
            display: block;
        }
    }
    .swiper-button-disabled svg {
        opacity: 0.5;
    }
    .swiper-button-prev-custom svg,
    .swiper-button-prev-custom svg *,
    .swiper-button-next-custom svg,
    .swiper-button-next-custom svg * {
        transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
    }
    .swiper-button-next-custom svg:hover,
    .swiper-button-prev-custom svg:hover {
        rect {
            fill: #C6C4C3;
        }
    }
    @media screen and (max-width: 781px) {
        .swiper-button-prev-custom {
            position: absolute;
            left: 20px;
            z-index: 999;
            svg {
                width: 30px;
            }
        }
        .swiper-button-next-custom {
            position: absolute;
            right: 20px;
            z-index: 999;
            svg {
                width: 30px;
            }
        }
    }
}

figure a {
    display: flex !important;
}

.mobile-only {
    display: none !important;
    @media screen and (max-width: 781px) {
        display: block !important;
    }
}

.desktop-only {
    display: block !important;
    @media screen and (max-width: 781px) {
        display: none !important;
    }
}

.marine-in-quote {
    position: absolute;
    right: var(--wp--preset--spacing--medium);
    bottom: 0;
}
@media screen and (min-width: 600px) and (max-width: 1080px) {
    p:has(+ .wp-block-group .marine-in-quote) {
        padding-right: var(--wp--preset--spacing--small);
    }
}
@media screen and (max-width: 781px) {
    .wp-block-group:has(> .marine-in-quote) {
        padding-right: var(--wp--preset--spacing--large);
    }
}
@media screen and (max-width: 600px) {
    .wp-block-group:has(> .marine-in-quote) {
        padding-bottom: var(--wp--preset--spacing--large);
    }
}

.flex-wrap {
    flex-wrap: wrap !important;
    row-gap: 0 !important;
}

.to-top {
    display: none;
    @media screen and (max-width: 781px) {
        opacity: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        position: fixed;
        left: var(--wp--preset--spacing--small);
        bottom: var(--wp--preset--spacing--small);
        text-decoration: none;
        width: 35px;
        height: 35px;
        border-radius: 100%;
        border: 1px solid;
        background-color: var(--wp--preset--color--off-white);
        transition: opacity 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
        &&.active {
            opacity: 1;
        }
    }
}

.landing-form-desc {margin-left: 0 !important; margin-right: 0 !important; margin-top: 20px !important;}

#wpcf7-f741-p728-o1 {margin-left: 0 !important; margin-right: 0 !important; margin-top: 30px !important;}
#wpcf7-f741-p728-o1 .fields {display: grid; grid-template-columns: repeat(6, 1fr); gap: 30px;}
#wpcf7-f741-p728-o1 .fields p {margin: 0 !important; padding: 0 !important;}
#wpcf7-f741-p728-o1 .fields br {display: none !important;}
#wpcf7-f741-p728-o1 .half {grid-column: span 3;}
#wpcf7-f741-p728-o1 .third {grid-column: span 2;}
#wpcf7-f741-p728-o1 .check {grid-column: span 4;}
#wpcf7-f741-p728-o1 .submit {grid-column: span 2;}
#wpcf7-f741-p728-o1 .terms {grid-column: span 6;}
#wpcf7-f741-p728-o1 .terms p {font-size: 12px;}
#wpcf7-f741-p728-o1 .input {width: 100%; background: none; height: 50px; border: 0; border-bottom: solid 1px var(--wp--preset--color--white);
    font-family: 'Bari Sans'; font-size: 18px !important; color: #fff; outline: none !important;
}
#wpcf7-f741-p728-o1 option {color: #002840 !important;}
#wpcf7-f741-p728-o1 *::-webkit-input-placeholder {color: #fff;}
#wpcf7-f741-p728-o1 *::-moz-placeholder {color: #fff;}
#wpcf7-f741-p728-o1 *:-ms-input-placeholder {color: #fff;}
#wpcf7-f741-p728-o1 *:-moz-placeholder {color: #fff;}
#wpcf7-f741-p728-o1 input:focus::-webkit-input-placeholder, textarea:focus::-webkit-input-placeholder {opacity: 0.25;}
#wpcf7-f741-p728-o1 input:focus:-moz-placeholder, textarea:focus:-moz-placeholder {opacity: 0.25;}
#wpcf7-f741-p728-o1 input:focus::-moz-placeholder, textarea:focus::-moz-placeholder {opacity: 0.25;}
#wpcf7-f741-p728-o1 input:focus:-ms-input-placeholder, textarea:focus:-ms-input-placeholder {opacity: 0.25;}
#wpcf7-f741-p728-o1 .button {background: var(--wp--preset--gradient--red-button) !important; cursor: pointer;
                border-radius: 0px;
                border-width: 0;
                color: var(--wp--preset--color--white);
                font-size: var(--wp--preset--font-size--small);
                font-style: inherit;
                font-weight: 700;
                line-height: inherit;
                padding-top: 12px;
                padding-right: 12px;
                padding-bottom: 12px;
                padding-left: 12px;
                text-decoration: none;
                text-transform: uppercase;
                font-family: var(--wp--preset--font-family--bari);
                letter-spacing: 3px;
                width: 100%;
                }


.wpcf7-list-item {text-align: left; margin: 0; text-wrap: balance;}
.wpcf7-list-item label {display: block; position: relative;}
.wpcf7-list-item input {position: absolute; -webkit-appearance: checkbox; left: 0; top: 0; opacity: 1; pointer-events: none;}
.wpcf7-list-item-label {display: block; font-size: 1rem; line-height: 140%; padding: 0 0 0 40px; position: relative;}
.wpcf7-list-item-label:before {content: " "; display: block; width: 24px; aspect-ratio: 1; border-radius: 5px; position: absolute; left: 0; top: -2px;
	background: #fff url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 12.6111L8.92308 17.5L20 6.5' stroke='%23000000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center -20px / 80% auto;
}
.wpcf7-list-item input:checked + .wpcf7-list-item-label:before {background-position: center;}

.wpcf7-not-valid-tip {font-size: 14px !important;}
.wpcf7 .wpcf7-spinner {display: none;}
.wpcf7 .submitting .wpcf7-submit {opacity: 0.5; pointer-events: none;}
.wpcf7 form .wpcf7-response-output {margin: 0 0 12px 0 !important; padding: 6px 12px !important;}

@media screen and (max-width : 899px) {
    #wpcf7-f741-p728-o1 .fields {grid-template-columns: unset;}
    #wpcf7-f741-p728-o1 .half {grid-column: unset;}
    #wpcf7-f741-p728-o1 .third {grid-column: unset;}
    #wpcf7-f741-p728-o1 .check {grid-column: unset;}
    #wpcf7-f741-p728-o1 .submit {grid-column: unset;}
    #wpcf7-f741-p728-o1 .terms {grid-column: unset;}
}

/* Standard property for Chrome, Firefox, and Edge */
summary {
  list-style: none;
}
/* Specific pseudo-element for Safari/WebKit */
summary::-webkit-details-marker {
  display: none;
}