/* Basic customizations */

body {
    position: relative;
}


/* Core block customizations */

.wp-site-blocks {
    padding-top: 0;
    padding-bottom: 0;
    position: relative;
}

a:where(:not(.wp-element-button)) {
    color: var(--wp--preset--color--contrast);
    text-underline-offset: 0.25em;
    text-decoration-thickness: 1px;
}

.wp-element-button, .wp-block-button__link {
    background-color: var(--wp--preset--color--primary);
    border-radius: 3px;
    box-shadow: 0 .5rem 1rem rgba(229,212,169,.5);
    padding: .75rem 1.75rem;
}

.wp-block-post-content a:where(:not(.wp-element-button)) {
    color: var(--wp--preset--color--contrast);
}

.page-template-wp-custom-template-header-and-footer-only .wp-site-blocks .wp-block-post-content {
    margin-block-start: 0;
}


/* Theme utilities */

.parallax-bg-wrapper {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    overflow: hidden;
}

.parallax-bg { /* Default */
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
        url('/wp-content/themes/twentytwentythree-child/assets/img/bg-ring.svg') no-repeat -40vh 70vh / 50vw 50vw,
        url('/wp-content/themes/twentytwentythree-child/assets/img/bg-circles.svg') no-repeat 70vw -50vh / 75vw 75vw;
    z-index: -1;
}

.form-wrapper {
    padding: 2rem;
    border-radius: 30px;
    overflow: hidden;
    position: relative;
    background-color: #FFF;
    box-shadow: 0 .5rem 20px rgba(0,0,0,0.1);
}

/* Page - Home */

.page-id-4 {
    position: relative;
}

.page-id-4 .parallax-bg {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
        url('/wp-content/themes/twentytwentythree-child/assets/img/bg-ring.svg') no-repeat -40vh 70vh / 50vw 50vw,
        url('/wp-content/themes/twentytwentythree-child/assets/img/bg-circles.svg') no-repeat 70vw 110vh / 75vw 75vw;
    z-index: -1;
}

.testimonial-image {
    transform: scale(1.25);
    transform-origin: right center;
    border-radius: 1rem;
    overflow: hidden;
    position: relative;
    z-index: -1;
}

@media (max-width: 600px) {
    .testimonial-image {
        display: none;
    }    
}


/* Page - FAQs */

.page-id-36884 {
    position: relative;
}

.page-id-36884 .parallax-bg {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
        url('/wp-content/themes/twentytwentythree-child/assets/img/bg-circles.svg') no-repeat -20vw -40vh / 50vw 50vw,
        url('/wp-content/themes/twentytwentythree-child/assets/img/bg-circles.svg') no-repeat 35vw 80vh / 75vw 75vw;
    z-index: -1;
}


/* Page - Appointment */

.page-id-97 {
    position: relative;
}

.page-id-97 .parallax-bg {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
        url('/wp-content/themes/twentytwentythree-child/assets/img/bg-circles.svg') no-repeat -20vw -40vh / 50vw 50vw,
        url('/wp-content/themes/twentytwentythree-child/assets/img/bg-circles.svg') no-repeat 35vw 80vh / 75vw 75vw;
    z-index: -1;
}

.contact-form-wrapper {
    padding: 2rem;
    border-radius: 30px;
    overflow: hidden;
    position: relative;
    background-color: #FFF;
    box-shadow: 0 .5rem 20px rgba(0,0,0,0.1);
}


/* Page - About */

.page-id-36682 {
    position: relative;
}

.page-id-36682 .parallax-bg {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
        url('/wp-content/themes/twentytwentythree-child/assets/img/bg-ring.svg') no-repeat -20vw 50vw / 50vw 50vw,
        url('/wp-content/themes/twentytwentythree-child/assets/img/bg-circles.svg') no-repeat 50vw -40vw / 75vw 75vw;
    z-index: -1;
}

.staff-query ul.wp-block-post-template.is-flex-container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 4rem !important;
}

.staff-query ul.wp-block-post-template.is-flex-container li {
    width: 100% !important;
    height: 100%;
}

.staff-query li .card > h3 a {
    color: var(--wp--preset--color--contrast);
    font-size: 1.125rem;
}

.staff-query li .card > h3 a:hover {
    text-decoration: none;
}

.staff-query li .card > h3 a::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.staff-query li figure.wp-block-post-featured-image {
    width: 100%;
    height: 0;
    padding-top: 110%;
    background-color: black;
    position: relative;
    margin-bottom: .75rem
}

.staff-query li figure.wp-block-post-featured-image img.wp-post-image {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    object-fit: cover;
    object-position: top center;
}

ul.doctors {
    list-style-type: none;
    padding-left: 0;
    display: grid;
    gap: 1.5rem;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

/* Page - Locations */

.page-id-10 {
    position: relative;
}

.page-id-10 .parallax-bg {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
        url('/wp-content/themes/twentytwentythree-child/assets/img/bg-circles.svg') no-repeat -20vw -40vh / 50vw 50vw,
        url('/wp-content/themes/twentytwentythree-child/assets/img/bg-circles.svg') no-repeat 35vw 80vh / 75vw 75vw;
    z-index: -1;
}

.map-wrapper {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 75%;
}

.map-wrapper::before {
    content: '';
    position: absolute;
    display: block;
    width: 50%;
    height: 50%;
    right: -10px;
    bottom: -10px;
    border-width: 4px;
    border-style: solid;
    border-right: 6px solid var(--wp--preset--color--primary);
    border-bottom: 6px solid var(--wp--preset--color--primary);
    border-left: none;
    border-top: none;
    border-radius: 30px;
    z-index: -1;
    background: transparent;
    clip-path: polygon(24px 24px, 100% 24px, 100% 100%, 24px 100%);
}

.map-wrapper iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 20px;
    overflow: hidden;
    background-color: gray;
}

ul.locations {
    list-style-type: none;
    padding-left: 0;
}

ul.locations li {
    position: relative;
    margin-bottom: 1rem;
}

ul.locations li:not(:last-of-type) {
    border-bottom: 1px solid #e0ddd5;
    padding-bottom: 1rem;
}

ul.locations li > * {
    margin-top: .5rem;
    margin-bottom: .5rem;
}

ul.locations li .location-city {
    font-size: 1.25rem;
    margin-bottom: 0;
}

ul.locations li .location-name {
    font-size: 1rem;
    margin-block-start: 0.5rem;
}

ul.locations li .location-address,
ul.locations li .location-phone,
ul.locations li .location-fax,
ul.locations li .location-hours {
    font-size: var(--wp--preset--font-size--small);
}

.location-address,
.location-phone,
.location-fax,
.location-hours {
    position: relative;
    padding-left: 1.5em;
}

.location-address::before,
.location-phone::before,
.location-fax::before,
.location-hours::before {
    content: '';
    position: absolute;
    display: block;
    width: 1em;
    height: 1em;
    top: 0.325em;
    left: 0;
}

.location-address::before { 
    background: url('/wp-content/themes/twentytwentythree-child/assets/svg/location-marker.svg') no-repeat, center center / contain;
}

.location-phone::before {
    background: url('/wp-content/themes/twentytwentythree-child/assets/svg/phone.svg') no-repeat, center center / contain;
}

.location-fax::before {
    background: url('/wp-content/themes/twentytwentythree-child/assets/svg/fax.svg') no-repeat, center center / contain;
}

.location-hours::before {
    background: url('/wp-content/themes/twentytwentythree-child/assets/svg/clock.svg') no-repeat, center center / contain;
}

ul.locations li .location-link {
    font-size: var(--wp--preset--font-size--small);
}

@media (min-width: 600px) {
    ul.locations li {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    ul.locations li .location-name {
        grid-column: 1 / span 2;
        grid-row: 2 / span 1;
    }

    ul.locations li .location-city {
        grid-column: 1 / span 2;
        grid-row: 1 / span 1;
    }

    ul.locations li .location-address {
        grid-column: 1 / span 1;
        grid-row: 3 / span 1;
    }

    ul.locations li .location-phone {
        grid-column: 1 / span 1;
        grid-row: 4 / span 1;
    }

    ul.locations li .location-fax {
        grid-column: 1 / span 1;
        grid-row: 5 / span 1;
    }

    ul.locations li .location-hours {
        grid-column: 2 / span 1;
        grid-row: 3 / span 3;
    }

    ul.locations li .location-link {
        grid-column: 1 / span 2;
        grid-row: 6 / span 1;
    }
}

/* Page - Careers */

.page-id-14 {
    position: relative;
}

.page-id-14 .parallax-bg {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
        url('/wp-content/themes/twentytwentythree-child/assets/img/bg-ring.svg') no-repeat -5vw 50% / 25vw 25vw,
        url('/wp-content/themes/twentytwentythree-child/assets/img/bg-circles.svg') no-repeat 50vw 100% / 75vw 75vw;
    z-index: -1;
}


/* Page - Resources */

@media (min-width: 600px) {
    .list-health-plans {
        column-count: 2;
        column-gap: 2rem;
    }
}


/* Single - Staff */

.single-staff-featured-image-wrapper {
    position: relative;
}

.single-staff-featured-image-wrapper::before {
    content: '';
    position: absolute;
    display: block;
    width: 50%;
    height: 50%;
    right: -10px;
    bottom: -10px;
    border-width: 4px;
    border-style: solid;
    border-right: 6px solid var(--wp--preset--color--primary);
    border-bottom: 6px solid var(--wp--preset--color--primary);
    border-left: none;
    border-top: none;
    border-radius: 30px;
    z-index: 10;
    background: transparent;
    clip-path: polygon(24px 24px, 100% 24px, 100% 100%, 24px 100%);
}

figure.single-staff-featured-image {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
}



/* Utilities */

.content-cta h2 {
    position: relative;
}

.content-cta h2:before {
    content: '';
    display: block;
    position: absolute;
    width: 100vw;
    height: 6px;
    top: .5em;
    left: -1rem;
    transform: translateX(-100%);
    background-color: var(--wp--preset--color--primary);
}

.strap {
    display: block;
    position: relative;
    padding-bottom: .75em;
    margin-bottom: 2rem;
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
}

.strap::after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 40px;
    border-bottom: 3px solid var(--wp--preset--color--primary);
}


/* Card */

.card {
    background-color: #ffffff;
    border-radius: 30px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 1rem 20px rgba(0,0,0,0.1);
    transition: all .25s;
}

.card.card-has-link {
    border: inset 2px solid transparent;
}

.card.card-has-link:hover {
    box-sizing: border-box;
    transform: translate(0,-5px);
    box-shadow: 0 1rem 20px rgba(0,0,0,0.1), 0 0 0 2px var(--wp--preset--color--primary);
}

.card figure img {
    width: auto;
    height: auto;
    transform: scale(1);
    transition: all .3s;
}

.card .card-cap figure {
    width: 100%;
    /* height: 240px; */
    overflow: hidden;
}

.card .card-cap figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.card.card-has-link:hover figure img {
    transform: scale(1.1);
}

.card .card-body {
    margin-top: 0;
    padding: 1.25rem;
}

.card .card-body {
    color: var(--wp--preset--color--contrast);
}

.card h3 {
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.25;
}

.card h3 a {
    color: var(--wp--preset--color--contrast);
}

.card a {
    text-decoration: none;
}

.card a:hover {
    text-decoration: none;
}

.card a::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.list-bullets {
    list-style-type: none;
    padding-left: 0;
}

.list-bullets li {
    margin-bottom: .5rem;
    padding-left: 1.125em;
    position: relative;
}

.list-bullets li::before {
    content: '';
    position: absolute;
    display: block;
    top: 0.25em;
    left: 0;
    height: 1em;
    width: 0.5em;
    background: url('/wp-content/themes/twentytwentythree-child/assets/img/bullet.svg') no-repeat center center / contain;
}


/* Exams */

.exam {
    background-color: whitesmoke;
    border-radius: 1rem;
    border: 1px solid #DDD;
    position: relative;
    padding: 1.375rem 2rem 1.5rem 3.5rem;
}

.exam::before {
    content: url('data:image/svg+xml; utf8, <svg id="Layer_2" data-name="Layer 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 93.88 97.48"><g id="Layer_1-2" data-name="Layer 1"><g><g><path d="M47.92,75.36l-5.79,1.38c-.88,.21-1.68-.58-1.47-1.47l1.38-5.79c.05-.22,.16-.42,.32-.58L82.22,29.04c.48-.48,1.25-.48,1.72,0l4.41,4.41c.48,.48,.48,1.25,0,1.72l-39.86,39.86c-.16,.16-.36,.27-.58,.32Z"/><rect x="87.33" y="23.39" width="4.68" height="8.67" rx="1.22" ry="1.22" transform="translate(6.65 71.53) rotate(-45)"/></g><path d="M78.65,3c0-1.66-1.34-3-3-3H3C1.34,0,0,1.34,0,3V94.48c0,1.66,1.34,3,3,3H75.65c1.66,0,3-1.34,3-3V48.95l-28.06,28.06c-.26,.26-.59,.45-.95,.53l-9.5,2.27c-1.45,.35-2.76-.96-2.41-2.41l2.27-9.5c.09-.36,.27-.69,.53-.95l18.43-18.43h-25.71c-1.09,0-1.98-.88-1.98-1.98v-.34c0-1.09,.89-1.98,1.98-1.98h30.01l15.4-15.4V3ZM11.26,13.42c.76-.75,1.98-.76,2.73,0l1.78,1.78,4.44-4.93c.72-.8,1.93-.86,2.73-.15h0c.8,.72,.86,1.93,.14,2.73l-5.8,6.45c-.35,.39-.85,.63-1.39,.64-.53,0-1.04-.19-1.42-.56l-3.23-3.22c-.76-.76-.76-1.98,0-2.73Zm0,15.02c.76-.75,1.98-.76,2.73,0l1.78,1.78,4.44-4.93c.72-.8,1.93-.86,2.73-.15h0c.8,.72,.86,1.93,.14,2.73l-5.8,6.45c-.35,.39-.85,.63-1.39,.64-.53,0-1.04-.19-1.42-.56l-3.23-3.22c-.76-.76-.76-1.98,0-2.73Zm0,16.56c.76-.75,1.98-.76,2.73,0l1.78,1.78,4.44-4.93c.72-.8,1.93-.86,2.73-.15h0c.8,.72,.86,1.93,.14,2.73l-5.8,6.45c-.35,.39-.85,.63-1.39,.64-.53,0-1.04-.19-1.42-.56l-3.23-3.22c-.76-.76-.76-1.98,0-2.73Zm55.43,38.56c1.09,0,1.98,.88,1.98,1.98v.34c0,1.09-.88,1.98-1.98,1.98H11.95c-1.09,0-1.98-.88-1.98-1.98v-.34c0-1.09,.88-1.98,1.98-1.98h54.74Zm1.98-53.59c0,1.09-.88,1.98-1.98,1.98H33.24c-1.09,0-1.98-.88-1.98-1.98v-.34c0-1.09,.89-1.98,1.98-1.98h33.45c1.09,0,1.98,.88,1.98,1.98v.34Zm0-15.02c0,1.09-.88,1.98-1.98,1.98H33.24c-1.09,0-1.98-.88-1.98-1.98v-.34c0-1.09,.89-1.98,1.98-1.98h33.45c1.09,0,1.98,.88,1.98,1.98v.34Z"/></g></g></svg>');
    position: absolute;
    display: block;
    width: 1.5rem;
    height: 2rem;
    left: 1.25rem;
    top: 1.5rem;
}

.exam h3 {
    font-size: 1.25rem;
    font-weight: 500;
}

.exam p {
    font-size: 1rem;
    margin-top: 0.75rem;
    line-height: 1.5;
}


/* Utilities - images */

.img-border {
    position: relative;
}

.img-border figure {
    position: relative;
    width: 100%;
    height: auto;
    box-sizing: border-box;
    border-radius: 30px;
    border: 4px solid white;
    line-height: 0px;
    overflow: hidden;
}

.img-border::before {
    content: '';
    display: block;
    position: absolute;
    width: calc(100% + 12px);
    height: calc(100% + 12px);
    left: -6px;
    top: -6px;
    background-color: var(--wp--preset--color--primary); 
    border-radius: 36px;
    clip-path: polygon(0 50%, 100% 50%, 100% 100%, 0 100%);
}

.img-border figure img {
    position: relative;
    width: 100%;
    height: auto;
}

.img-round-border {
    position: relative;
}

.img-round-border figure {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 100%;
    box-sizing: border-box;
    border-radius: 50%;
    border: 4px solid white;
    overflow: hidden;
}

.img-round-border::before {
    content: '';
    display: block;
    position: absolute;
    width: calc(100% + 12px);
    height: calc(100% + 12px);
    left: -6px;
    top: -6px;
    background-color: var(--wp--preset--color--primary); 
    border-radius: 50%;
    clip-path: polygon(100% 0, 100% 100%, 0 100%);
    transform-origin: center;
    animation: border-reveal 1s;
}

.img-round-border figure img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* Header */

.secondary-header a {
    font-size: .875rem;
}

.wp-block-navigation-item a:hover {
    text-decoration: none;
}

.wp-block-navigation-item.cta a {
    background-color: var(--wp--preset--color--primary);
    border-radius: 3px;
    box-shadow: 0 .5rem 1rem rgba(229,212,169,.5);
    padding: .75rem 1.75rem;
}

@media (min-width: 600px) {
    .wp-block-navigation-item {
        margin-left: 1rem;
        margin-right: 1rem;
    }

    .wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
        border: none;
        border-radius: 20px;
        box-shadow: 0 0 2rem rgba(0,0,0,0.15);
        padding: 0.75rem 0;
    }

    .wp-block-navigation__submenu-container .wp-block-navigation-item {
        margin-left: 0;
        margin-right: 0;
    }

    .wp-block-navigation__submenu-container {
        width: 360px !important;
        max-width: 360px !important;
    }

    .wp-block-navigation__submenu-container .wp-block-navigation-item {
        padding: .5rem 1rem;
    }

    .wp-block-navigation__submenu-container .wp-block-navigation-item:before {
        content: '';
        display: block;
        position: absolute;
        width: 40px;
        height: 40px;
        top: 0.4rem;
        left: 1rem;
        background-color: var(--wp--preset--color--contrast);
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
        border: 2px solid white;
        box-shadow: 0 0 4px 0px var(--wp--preset-color--primary);
        border-radius: 50%;
    }

    .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item a {
        color: #444;
        line-height: 1.375;
        position: relative;
        transform: translateX(0);
        transition: transform .5s;
        font-size: 1rem;
        padding-left: 54px;
        opacity: .75;
    }

    .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:hover a {
        opacity: 1;
    }

    .wp-block-navigation__submenu-container .wp-block-navigation-item.submenu-item-ocular:before {
        background-image: url('/wp-content/uploads/2023/07/jcoc-eye-exams-150x150.jpg');
    }

    .wp-block-navigation__submenu-container .wp-block-navigation-item.submenu-item-geriatric:before {
        background-image: url('/wp-content/uploads/2023/07/jcoc-senior-eye-care-150x150.jpg');
    }

    .wp-block-navigation__submenu-container .wp-block-navigation-item.submenu-item-pediatric:before {
        background-image: url('/wp-content/uploads/2023/07/jcoc-pediatric-eye-care-150x150.jpg');
    }

    .wp-block-navigation__submenu-container .wp-block-navigation-item.submenu-item-contact:before {
        background-image: url('/wp-content/uploads/2023/07/jcoc-contact-fitting-150x150.jpg');
    }

    .wp-block-navigation__submenu-container .wp-block-navigation-item.submenu-item-frames:before {
        background-image: url('/wp-content/uploads/2023/07/jcoc-frames-cropped-150x150.jpg');
    }

    .wp-block-navigation__submenu-container .wp-block-navigation-item.submenu-item-lenses:before {
        background-image: url('/wp-content/uploads/2023/07/jcoc-lenses-cropped-150x150.jpg');
    }

    .wp-block-navigation__submenu-container .wp-block-navigation-item.submenu-item-contacts:before {
        background-image: url('/wp-content/uploads/2023/07/jcoc-contacts-150x150.jpg');
    }

}


/* Navigation Modal */

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item, 
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container, 
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list {
    align-items: center;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
    font-size: 1.25rem;
    padding: .5rem 1rem;
    text-align: center;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    font-size: 1rem;
    text-align: center;
}

/* Footer */

footer .footer-cta {
    position: relative;
}

footer .footer-cta::before {
    content: '';
    position: absolute;
    display: block;
    background-color: #000;
    width: 100%;
    height: 50%;
    left: 0;
    bottom: 0;
    z-index: -1;
}

footer .footer-cta .wp-block-columns {
    border-radius: 30px;
    box-shadow: 0 1rem 20px rgba(0,0,0,0.1);
    overflow: hidden;
}

footer ul {
    list-style-type: none;
    padding-left: 0;
}

footer ul li {
    margin-bottom: .875em;
}


/* Getwid */

.wp-block-getwid-accordion__content-wrapper {
    border-bottom: 1px solid #e0ddd5;
}

.wp-block-getwid-accordion__header-title {
    color: var(--wp--preset--color--contrast);
}

.wp-block-getwid-accordion .wp-block-getwid-accordion__header-wrapper:first-child {
    border: none;
}

.wp-block-getwid-accordion .wp-block-getwid-accordion__header-wrapper {
    padding: 0;
    border: none;
}

.wp-block-getwid-accordion .wp-block-getwid-accordion__header {
    padding: 1.25rem 0;
    font-weight: bold;
}

.wp-block-getwid-accordion__icon i {
    color: var(--wp--preset--color--primary);
    font-size: 1rem;
}

.wp-block-getwid-accordion__content {
    border: none;
    padding: 0 0 1.25rem;
    font-weight: 300;
}


/* Getwid - Content Slider */

.testimonial-slider {
    background: black;
    display: block;
    width: 100%;
    padding: 1rem 2rem 2rem;
    border-radius: 30px;
    border: 3px solid white;
    margin-top: 3rem;
    position: relative;
}

.testimonial-slider::before {
    content: '';
    display: block;
    position: absolute;
    left: -10px;
    bottom: -10px;
    width: 80%;
    height: 80%;
    border-radius: 35px;
    background-color: var(--wp--preset--color--primary);
    clip-path: polygon(0 40px, calc(100% - 40px) 40px, calc(100% - 40px) 100%, 0 100%);
    z-index: -1;
}

.wp-block-getwid-content-slider-slide blockquote {
    position: relative;
    color: #FFF;
    text-align: center;
    font-size: 1.25rem;
    border-left: none;
    padding-left: 0px;
    padding-right: 0px;
}   

.wp-block-getwid-content-slider-slide blockquote::before {
    content: '';
    position: relative;
    display: block;
    margin: 0 auto 1rem;
    height: 40px;
    width: 40px;
    background: url('/wp-content/themes/twentytwentythree-child/assets/img/quote.png') no-repeat center center / contain;
}

.wp-block-getwid-content-slider-slide blockquote p {
    color: #FFF !important;
}

.wp-block-getwid-content-slider-slide blockquote cite {
    font-size: .875rem;
    position: relative;
}

.wp-block-getwid-content-slider-slide blockquote cite::before {
    content: '';
    position: relative;
    display: block;
    margin: 1rem auto 0.5rem;
    width: 2rem;
    height: 2px;
    background-color: var(--wp--preset--color--primary);
}

.testimonial-slider .slick-dots li button::before {
    color: #FFF;
    font-size: 14px;
}

@media (max-width: 600px) {
    .wp-block-getwid-content-slider-slide blockquote {
        font-size: 1rem;
        margin-inline-start: 0.75rem;
        margin-inline-end: 0.75rem;
    }   
}


/* Getwid - Image Slider */

.product-slider {
    background: black;
    display: block;
    width: 100%;
    border-radius: 30px;
    border: 3px solid white;
    margin-top: 3rem;
    position: relative;
}

.product-slider::before {
    content: '';
    display: block;
    position: absolute;
    left: -10px;
    bottom: -10px;
    width: 80%;
    height: 80%;
    border-radius: 35px;
    background-color: var(--wp--preset--color--primary);
    clip-path: polygon(0 40px, calc(100% - 40px) 40px, calc(100% - 40px) 100%, 0 100%);
    z-index: -1;
}

.product-slider .wp-block-getwid-images-slider {
    border-radius: 27px;
    overflow: hidden;
}


/* Locations */

.location-name {
    margin-block-start: .5rem !important;
}

.location-city {
    margin-block-start: .5rem !important;
    font-size: var(--wp--preset--font-size--large);
    font-weight: 700;
}

.location-address,
.location-phone,
.location-fax,
.location-hours {
    font-size: var(--wp--preset--font-size--small);
}

.location-image img {
    width: auto;
    height: auto;
    max-width: 100%;
}

/* Doctor */

ul.doctors {
    list-style-type: none;
    padding-left: 0;
    display: grid;
    gap: 1.5rem;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

ul.doctors .doctor figure.featured-image {
    width: 100%;
    height: 0;
    padding-top: 110%;
    background-color: black;
    position: relative;
    margin-bottom: 0;
}

ul.doctors .doctor figure.featured-image img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    object-fit: cover;
    object-position: top center;
}

.doctor h3 {
    margin-block-start: 0;
    margin-block-end: 0;
}

.doctor .position {
    font-size: var(--wp--preset--font-size--small);
}

.ninja-forms-form-wrap input, 
.ninja-forms-form-wrap select, 
.ninja-forms-form-wrap textarea {
    padding: 0.75rem;
    border: 1px solid #bbbbbb;
    border-radius: 6px;
}

.ninja-forms-form-wrap input[type="submit"] {
    border-color: var(--wp--preset--color--primary);
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--contrast);
    border-radius: 3px;
    box-shadow: 0 .5rem 1rem rgba(229,212,169,.5);
    padding: 0.75rem 1.75rem;
    margin: 1.5rem 0;
    font-size: 1rem;
}

.ninja-forms-required-items {
    font-size: .875rem;
    margin: 1rem 0;
}

ul.promotions {
    list-style-type: none;
    padding-left: 0;
}

li.promotion {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 2rem;
}


/* 
'JCOC Animate' - Custom animation classes for this JCOC site
These custom animation will only work on desktop browsers
*/

@media (min-width: 600px) {
    .jcoc-animate-fade {
        opacity: 0;
        transition: opacity 1s ease;
    }
    .jcoc-animate-fade.active {
        opacity: 1;
    }
    .jcoc-animate-fade-up {
        opacity: 0;
        transform: translateY(25%);
        transition: all .75s ease;
    }
    .jcoc-animate-fade-up.active {
        opacity: 1;
        transform: translateY(0);
    }
    .jcoc-animate-wipe-right {
        clip-path: polygon(0 0, 0% 0, 0 100%, 0 100%);
        /* clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); */
        transition: clip-path 1.375s cubic-bezier(.92,0,.27,.99);
    }
    .jcoc-animate-wipe-right.active {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    }
    /* Animation Delays */
    .jcoc-animate-delay-100 {
        transition-delay: .1s !important;
    }
    .jcoc-animate-delay-200 {
        transition-delay: .2s !important;
    }
    .jcoc-animate-delay-300 {
        transition-delay: .3s !important;
    }
    .jcoc-animate-delay-400 {
        transition-delay: .4s !important;
    }
    .jcoc-animate-delay-500 {
        transition-delay: .5s !important;
    }
    .jcoc-animate-delay-600 {
        transition-delay: .6s !important;
    }
    .jcoc-animate-delay-700 {
        transition-delay: .7s !important;
    }
    .jcoc-animate-delay-800 {
        transition-delay: .8s !important;
    }
    .jcoc-animate-delay-900 {
        transition-delay: .9s !important;
    }
    .jcoc-animate-delay-1000 {
        transition-delay: 1s !important;
    }
}

/* Mobile Only */
@media (min-width: 600px) {
    .mobile-only {
        display: none !important;
    }
}

.desktop-only {
    display: none;
}

@media (min-width: 601px) {
    .desktop-only {
        display: block !important;
    }
}

/* Navigation */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content, 
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item, 
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container, 
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list {
    align-items: flex-start;
    gap: 0.5rem;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
    font-size: 1.125rem;
    padding: 0.25rem 0px;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
    padding: 0px 0px 0px 0.75rem;
}

/* Mega Menu */
@media (min-width: 1064px) {
    .mega-sub-menu {
        box-shadow: 0 0 2rem rgba(0,0,0,0.1) !important;
    }
}

.mega-menu-item.cta a {
    background-color: var(--wp--preset--color--primary) !important;
    border-radius: 3px !important;
    box-shadow: 0 .5rem 1rem rgba(229,212,169,.5) !important;
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
}