:root {
    --outline-width: 10px;
    --border-radius-xs: 10px;
    --border-radius-sm: 20px;
    --border-radius-sm-inner: 10px;
    --border-radius-md: 30px;
    --border-radius-md-inner: 18px;
    --border-radius-lg: 40px;
    --border-radius-xl: 50px;
    --border-radius-2xl: 75px;
    --border-radius-4xl: 100px;
    --border-radius-6xl: 150px;
    --border-radius-8xl: 200px;

    --color-light-orange: #FF9E64FF;
}

.mb-8 {
    margin-bottom: 2rem;
}

.py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.border-radius-sm { border-radius: var(--border-radius-sm); }
.border-radius-md { border-radius: var(--border-radius-md); }
.border-radius-lg { border-radius: var(--border-radius-lg); }

.font-semibold { font-weight: 700; }

@media (min-width: 768px) {
    body {
        background: #f5f5f5;
    }
}

.wrapper {
    margin: 0 auto;
    max-width: 1600px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    background: #fff;
}

@media (max-width: 767px) {
    .wrapper {
        overflow-x: hidden;
    }
}

.btn-wrapper :is(.cta-button, .cta_button) {
    font-weight: 700; /* was 900 */
}

.btn-wide {
    .cta-button {
        min-width: 250px;
        justify-content: center;
    }
}


h2.display-3 {
    font-weight: 700; /* was 900 */
}

.sr-stats-01 {
    .description p {
        font-size: 2.5rem;
        margin-top: 2rem;
        font-weight: 300;
    }
}

.segmented {
    --radius: 9999px;
    gap: 0;
    border: 2px solid var(--borders);
    display: inline-grid;
    background: #fff;
    font-weight: 600;
    line-height: 1;
    border-radius: var(--radius);
    grid-template-columns: 1fr 1fr;

    @media (max-width: 768px) {
        margin-bottom: 1rem;
    }

    /* nested elements */
    input {
        opacity: 0;
        position: absolute;
        pointer-events: none;

        &:focus-visible + label {
            outline: 2px solid var(--primary);
            outline-offset: 2px;
        }

        &:checked + label {
            color: #fff;
            background: var(--primary);
            box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2);
        }

        &:disabled + label {
            cursor: not-allowed;
            opacity: 0.5;
        }
    }

    label {
        color: #111;
        cursor: pointer;
        padding: 0.55rem 1rem;
        text-align: center;
        transition: background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
        user-select: none;
        white-space: nowrap;
        border-radius: var(--radius);
        margin-bottom: 0;
    }
}

/**
    Overrides padding on SR Cards articles 02
 */
.sr-cards-articles-02 {
    .article-item {
        .sr-card.sr-border {
            padding: 0 0 1rem 0;
            overflow: hidden;

            h3, .cta-group {
                padding: 1rem 1rem 0 1rem;
            }
        }
    }
}

/*
    Overrides margin on SR Two Col 07
 */
.sr-two-col-07 {
    .column_feature {
        .description {
            *:last-child {
                margin-bottom: 0;
            }
        }
    }
}

/*
    Override heading spacing and column features spacings
 */
.sr-multicol-media {
    .headings {
        margin-bottom: 1rem;
    }

    .sr-spacer-bottom-50 {
        .heading:last-child {
            margin: 0;
        }
    }

    .column_features {
        .column_feature {
            column-gap: 1.5rem;

            .heading {
                margin-bottom: 0.25rem;
            }
        }
    }

    &.basic-cards {
        .content-wrapper {
            padding: 32px;
            border: 2px solid #e0e0e2;
            border-radius: 20px;
            background-color: var(--white);
        }

        .cta-group {
            justify-content: right;
        }
    }
}

/*
    Override SR Cards Testimonial Slider 03 with custom styles
 */
.sr-cards-testimonial-slider-03 {
    @media (min-width: 992px) {
        .offset-xl-8 {
            margin-left: 50%;
        }

        .col-xl-4 {
            max-width: 50%;
        }
    }

    .sr-cards-testimonial-slider-01-author {
        .author-meta {
            flex-direction: column-reverse;

            .author-details {
                width: 100%;
                text-align: right;
                padding-bottom: 1.5rem;
            }
        }
    }
}

/*
    Swaps the "Media Type" part of a column to the bottom instead of the top.
 */
.swap-media-locations {
    .content-wrapper {
        display: flex;
        flex-direction: column;

        .responsive-image {
            order: 100;
            margin-top: 2rem;
        }
    }
}

/*
    Sets image borders for SR Column media types
 */
.responsive-image {
    img {
        border-radius: var(--border-radius-sm) var(--border-radius-sm) var(--border-radius-4xl) var(--border-radius-sm);
    }
}

/*
    Card border override class
 */
.card-border {
    --border-color: var(--secondary);

    &.border-tertiary {
        --border-color: var(--tertiary);
    }

    /*
        Cards with padding + using card class
     */
    &:is(.sr-cards-grid-02) {
        .card {
            border: var(--outline-width) solid var(--border-color);
            padding: 1.5rem 1.5rem;
            overflow: hidden;
            border-radius: var(--border-radius-md);
            transform: translate3d(0,0,0);

            /** Fix for safari rendering issues */
            .card-inner {
                transform: translate3d(0,0,0);
            }
        }
    }

    /*
        Cards without padding + using card-content class
     */
    &:is(.ck-cards) {
        .card-content {
            border: var(--outline-width) solid var(--border-color);
            border-radius: var(--border-radius-md);
        }
    }

    .card:is(a) {
        transform: scale(1);
        transition: transform 250ms ease;

        &:hover {
            transform: scale(1.02);
        }
    }
}

/*

 */
.ck-find-location {
    .column_features {
        margin-bottom: 1rem;

        h5 {
            font-weight: 700; /* was 900 */
            margin-bottom: 0;

            a {
                color: inherit;
                text-decoration: underline;
            }
        }
    }
}

/*
    Customizes SR Cards 02 for a provider card look
 */
.ck-card-team.sr-cards-grid-02 {
    .card {
        padding: 0;
        overflow: hidden;
        border-radius: var(--border-radius-md);

        .heading, .description {
            padding: 0 0.75rem;
        }

        .description {
            padding-bottom: 1rem;
        }
    }
}

/*

 */
.blaze-arrow {
    top: 50%;
    color: var(--arrows-color, var(--primary));
    width: 3rem;
    border: 2px solid var(--secondary);
    cursor: pointer;
    height: 3rem;
    display: flex;
    padding: 0;
    z-index: 1;
    position: absolute;
    font-size: 22px;
    transition: all 500ms ease;
    background: var(--secondary);
    appearance: none;
    align-items: center;
    line-height: 0;
    border-radius: 100%;
    justify-content: center;
    -webkit-appearance: none;

    svg {
        fill: currentColor;
        color: #fff;
        width: 1em;
    }

    &:hover {
        color: #fff;
        opacity: var(--secondary);

        svg {
            color: #fff;
        }
    }
}

/*

 */

.label-list {
    --max-label-size: 120px;
    gap: 16px;
    margin: 0;
    padding: 0;
    display: flex;
    list-style: none;

    .label {
        display: inline-block;
        padding: 2px 18px;
        text-align: center;
    }
}

.state-list {
    --max-label-size: 60px;
    display: grid;
    grid-template-columns: repeat(auto-fill, var(--max-label-size));
}

.label {
    color: #fff;
    padding: 2px 6px;
    font-size: 16px;
    background: var(--tertiary);
    font-weight: 700; /* was 900 */
    border-radius: 60px;
}

/*
    Provider things
 */
.provider-basic-info {
    color: var(--secondary);
    position: relative;
    background: #FAF3E3;
    background-size: cover;

    gmp-map {
        height: 400px;
    }

    /*

    background: top center no-repeat url('/hubfs/knit-pattern-long-orange.svg');
    background-size: cover;
     */

    /*&::after {*/
    /*    top: 0;*/
    /*    left: 0;*/
    /*    right: 0;*/
    /*    bottom: 0;*/
    /*    content: '';*/
    /*    position: absolute;*/
    /*    background: radial-gradient(circle, #fff 0%, #fff 5%, transparent 100%);*/
    /*}*/

    .container {
        z-index: 1;
        position: relative;
    }
}

.provider-about {
    background: var(--light);
}

.location-image,
.physician-image {
    img {
        border-radius: var(--border-radius-sm) var(--border-radius-sm) var(--border-radius-sm) var(--border-radius-sm);

        @media (min-width: 768px) {
            border-radius: var(--border-radius-lg) var(--border-radius-lg) var(--border-radius-lg) var(--border-radius-lg);
        }
    }
}

.location-image {
    img {
        border: 3px solid var(--borders);
    }
}

.columns-as-cards {
    .content-row {
        .column-inner {
            .content-wrapper {
                border: var(--outline-width) solid var(--tertiary);
                padding: 2rem;
                background: var(--white);
                border-radius: var(--border-radius-md);
            }
        }
    }
}

.provider-grid {
    gap: 2rem;
    display: grid;
    grid-template-columns: repeat(1, minmax(0px, 1fr));

    @media (min-width: 768px) {
        grid-template-columns: repeat(2, minmax(0px, 1fr));
    }

    @media (min-width: 1200px) {
        grid-template-columns: repeat(3, minmax(0px, 1fr));
    }

    .grid-span-all {
        padding: 1rem 0;
        text-align: center;
        grid-column: 1/-1;
    }
}

.provider-wrapper {
    display: block;
    overflow: hidden;
    background: #fff;
    box-shadow: rgba(0, 0, 0, 0) 0 0 0 0, rgba(0, 0, 0, 0) 0 0 0 0, rgba(82, 82, 82, 0.15) 0 4px 6px -1px, rgba(82, 82, 82, 0.15) 0 2px 4px -2px;
    border-radius: var(--border-radius-sm);

    .provider-item-image {
        img {
            filter: grayscale(100%);
            width: 100%;
            object-fit: cover;
            transition: filter 0.3s ease;
            aspect-ratio: 8/5;
            object-position: top center;
        }
    }

    &:hover {
        .provider-item-image img {
            filter: grayscale(0%);
        }
    }

    .provider-item-content {
        padding: 1rem;
    }
}

.provider-search-bar {
    gap: 0.5rem;
    border: 1px solid var(--borders);
    display: grid;
    padding: 1rem;
    flex-wrap: wrap;
    background: #fff;
    align-items: end;
    border-radius: var(--border-radius-sm);
    grid-template-rows: 1fr 1fr;
    grid-template-columns: repeat(4, 1fr);

    label {
        font-size: 15px;
        margin-bottom: 0;
    }

    & > div:last-child {
        text-align: right;
    }

    /*.availability-cell {*/
    /*    width: 100%;*/
    /*    min-width: 250px;*/
    /*    font-size: 12px;*/
    /*    text-align: center;*/

    /*    @media (max-width: 767px) {*/
    /*       grid-column: 1 / -1;*/
    /*    }*/
    /*}*/

    input[type="search"] {
        min-height: auto;
        line-height: 1.3;
        border-color: var(--borders);
        border-radius: var(--border-radius-xs);
    }

    .btn {
        min-height: 2.25rem;
    }

    input[type="search"],
    .ck-dropdown-select .ck-dropdown-select-button {
        padding: 0.5rem;
        font-size: 15px;
    }
}

.ck-location-select {
    display: grid;
    padding: 6px;
    font-size: 14px;
    background: var(--light);
    text-align: center;
    border-radius: 50px;
    grid-template-columns: repeat(3, auto);

    label {
        display: block;
        padding: 0.375rem 0.5rem;
        border-radius: 50px;
        margin-bottom: 0;
    }

    input[type="radio"] {
        display: none;

        &:checked + label {
            color: #fff;
            background: var(--secondary);
        }
    }
}

.ck-dropdown-select {
    position: relative;

    .ck-dropdown-select-button {
        width: 100%;
        color: var(--body_color);
        cursor: pointer;
        border: 1px solid var(--borders);
        display: flex;
        padding: 0.75rem;
        font-size: 16px;
        background: var(--white);
        align-items: center;
        border-radius: var(--border-radius-xs);
        justify-content: space-between;

        span {
            overflow: hidden;
            white-space: nowrap;
        }
    }

    .ck-dropdown-options {
        width: 100%;
        border: 1px solid var(--borders);
        z-index: 10;
        position: absolute;
        min-width: min-content;
        overflow-y: scroll;
        background: var(--white);
        max-height: 300px;
        border-radius: var(--border-radius-xs);

        .ck-dropdown-option {
            cursor: pointer;
            padding: 0.5rem 0.75rem;
            font-size: 16px;

            &:hover {
                background: var(--light);
            }

            span {
                white-space: nowrap;
            }
        }
    }
}

.sr_module.bg-radial-mask {
    position: relative;

    &::before {
        inset: 0;
        content: '';
        position: absolute;
        /*background-image: radial-gradient(ellipse at top, #2c234f 25%, transparent 82%);*/
        background-image: linear-gradient(180deg,rgba(44, 35, 79, 0.9) 0%, rgba(44, 35, 79, 0.70) 50%, rgba(44, 35, 79, 0) 100%);
    }

    & > .container {
        z-index: 1;
        position: relative;
    }
}

.location-search-bar {
    padding: 1rem 0;
    background: #dbe0e6;
}


.location-grid {
    gap: 15px;
    display: grid;
    grid-template-columns: 1fr;

    @media (min-width: 768px) {
        padding: 1rem 0;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    @media (min-width: 1024px) {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    
    &.icon-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        @media (min-width: 1024px) {
            grid-template-columns: repeat(4, minmax(0, 1fr));
        }

        &.icon-sm {
            @media (min-width: 1024px) {
                max-width: 80%;
                margin: 0 auto;
            }
        }
    }

    .item {
        position: relative;

        &:has(.btn-wrapper) {
            .location {
                padding-bottom: 76px;
            }
        }
    }

    .icon {
        width: 100%;
        margin: 0 auto;
        padding: 0 2rem 1rem 2rem;
        max-width: 220px;
    }

    .location {
        color: inherit;
        height: 100%;
        display: flex;
        padding: 1rem 1rem 1rem 1rem;
        background: var(--light);
        text-align: center;
        border-radius: var(--border-radius-sm);
        flex-direction: column;

        address {
            flex-grow: 1;
        }

        strong {
            color: var(--secondary);
        }

        h4 {
            color: var(--secondary);

            @media (min-width: 768px) {
                font-size: 22px;
            }
        }
    }

    .btn-wrapper {
        left: 1rem;
        right: 1rem;
        bottom: 1rem;
        position: absolute;

        .cta-button {
            width: 100%;
            justify-content: center;
        }
    }
}

.location-list {
    gap: 2rem;
    display: flex;
    flex-direction: column;

    .item {
        display: flex;
        overflow: hidden;
        background: #fff;
        box-shadow: 0 4px 7px 3px rgba(0, 0, 0, 0.15);
        border-radius: var(--border-radius-xs);
        flex-direction: column;

        @media (min-width: 768px) {
            flex-direction: row;
        }

        &:hover {
            .info {
                border-color: var(--primary);
            }
        }

        h3 {
            font-weight: 800;

            a {
                color: inherit;
            }
        }

        address, p {
            color: var(--secondary);

            strong {
                color: var(--body_color);
            }
        }

        .info {
            order: 2;
            padding: 1.5rem;
            flex-grow: 1;

            .row div:last-child *:last-child {
                margin-bottom: 0;
            }

            @media (min-width: 768px) {
                order: 1;
                width: calc((100% / 3) * 2);
                border-left: 12px solid #fff;
                transition: border-color 0.3s ease;

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

        .map {
            order: 1;

            @media (min-width: 768px) {
                width: calc(100% / 3);
                order: 2;
                border-top: none;
            }

            img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: center;
            }
        }
    }
}


.expandable-list {
    .expander {
        list-style: none;
        padding-top: 4px;

        button {
            color: var(--link_color);
            border: none;
            padding: 0;
            appearance: none;
            background: none;
            font-weight: bold;
        }
    }

    &:not(.expanded) > li:not(.expander):nth-child(n+10) {
        display: none;
    }
}


.ck-pagination {
    display: flex;
    justify-content: center;

    .pagination {
        margin: 2rem 0;
        display: inline-flex;
        padding: 0;
        box-shadow: 0 2px 5px 0 rgb(0 0 0 / 10%);
        list-style: none;
        align-items: center;
        border-radius: var(--border-radius-sm);
        justify-content: center;

        li {
            .page-link {
                color: var(--secondary);
                display: block;
                padding: 0.25rem 0.75rem;
                background: #fff;
                border-top: 1px solid var(--borders);
                border-bottom: 1px solid var(--borders);

                &:is(a):hover {
                    background: var(--light);
                }
            }

            &:first-child  .page-link {
                border-left: 1px solid var(--borders);
                padding-left: 1rem;
                border-top-left-radius: var(--border-radius-sm);
                border-bottom-left-radius: var(--border-radius-sm);
            }

            &:not(:last-child)  .page-link {
                border-right: 1px solid var(--borders);
            }

            &:last-child .page-link {
                border-right: 1px solid var(--borders);
                padding-right: 1rem;
                border-top-right-radius: var(--border-radius-sm);
                border-bottom-right-radius: var(--border-radius-sm);
            }

            &.active .page-link {
                color: var(--primary);
            }

            svg {
                fill: currentColor;
                width: 1em;
                height: 1em;
                font-size: 14px;
                vertical-align: -0.125em;
            }
        }
    }
}


.high-contrast {
    --primary: var(--secondary);
    --hc-text: #fff;
    --hc-color: var(--secondary);
    --hc-color-hover: #1f193a;

    .bg-secondary {
        --hc-text: var(--secondary);
        --hc-color: #fff;
        --hc-color-hover: var(--light);
    }

    .btn-wrapper.btn-secondary-wrapper {
        .cta-button, .cta_button {
            color: var(--hc-text);
            border-color: var(--hc-color);
            background-color: var(--hc-color);

            &:hover {
                color: var(--hc-text);
                border-color: var(--hc-color-hover);
                background-color: var(--hc-color-hover);
            }
        }
    }
}

#hc-toggle {
    right: 0;
    bottom: 0;
    padding: 8px;
    position: fixed;
    z-index: 1000;
    display: block;
    cursor: pointer;
    background: var(--light);
    border-radius: 10px;
    border: 1px solid var(--borders);
}

gmp-map {
    height: 600px;
}

@media (max-width: 768px) {
    gmp-map {
        height: 520px;
    }
}

#location-search-form {
    gap: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2rem;
    
    p {
        margin: 0;
    }
}

.location-search-pill {
    gap: 0.5rem;
    width: 320px;
    display: flex;
    padding: 0.4rem 0.4rem 0.4rem 0.8rem;
    background: #fff;
    align-items: center;
    border-radius: var(--border-radius-xs);
    border: 1px solid var(--borders);
}

.location-search-icon {
    color: #888;
    flex-shrink: 0;
}

#location-search {
    flex: 1;
    color: #333;
    width: 250px;
    border: none;
    outline: none;
    padding: 0;
    font-size: 1rem;
    background: transparent;
    min-height: 2rem;
}

#location-search::placeholder {
    color: #aaa;
}

.location-search-btn {
    color: #fff;
    width: 36px;
    border: none;
    cursor: pointer;
    height: 36px;
    display: flex;
    background: var(--secondary);
    flex-shrink: 0;
    align-items: center;
    border-radius: 50%;
    justify-content: center;
}

/* ── Map InfoWindow popup ── */
.gm-style-iw.gm-style-iw-c {
    padding: 0 !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15) !important;
    max-width: 320px !important;
}

.gm-style-iw-d {
    overflow: hidden !important;
}

.gm-style-iw-chr {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 1;
}

.gm-ui-hover-effect {
    opacity: 0.6;
}

.map-popup {
    padding: 1.25rem 1.25rem 0;
    min-width: 260px;
}

.map-popup-title {
    font-size: 1.2rem;
    font-weight: 700;
    margin: 0 2rem 1rem 0;
    line-height: 1.3;
}

.map-popup-row {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    margin-bottom: 0.75rem;
    font-size: 0.9rem;
    color: #333;
}

.map-popup-row svg {
    flex-shrink: 0;
    margin-top: 2px;
    color: var(--primary);
}

.map-popup-row a {
    color: #333;
    text-decoration: underline;
}

.map-popup-directions {
    margin-left: auto;
    flex-shrink: 0;
    color: var(--primary) !important;
    font-weight: 600;
    text-decoration: none !important;
}

.map-popup-actions {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 1rem;
    padding-bottom: 1.25rem;
}

.map-popup-btn {
    display: block;
    text-align: center;
    padding: 0.65rem 1rem;
    border-radius: 50px;
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: none !important;
    transition: opacity 0.15s;
}

.map-popup-btn:hover {
    opacity: 0.85;
}

.map-popup-btn-primary {
    background: var(--primary);
    color: #fff !important;
}

.map-popup-btn-outline {
    border: 2px solid var(--primary);
    color: var(--primary) !important;
    background: transparent;
}

.back-button {  
    top: -36px;
    position: absolute;
    font-size: 16px;
}

.physicians_dev {

}

.alert {
    color: #000; //#2C234F;
    padding: 0.75rem 1.25rem;
    text-wrap: pretty;
    font-weight: 600;
    border-radius: var(--border-radius-xs);
    margin-bottom: 1rem;
    background-color: #D48994;

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