/* Stylesheet for Location Page Template 2026 */

.belt-location-map-container,
#wpsl-base-gmaps_0.wpsl-canvas-gmaps {
    width: 100%;
    height: 300px;
    overflow: hidden;
}

.belt-mail-list-form,
#newsletter-form-1 {
    background-color: #e1e8f5;
}

.belt-lp-container {
    --font-family: 'Poppins', sans-serif;
    --color-belt-blue: #195587;
    --color-belt-blue-dark: #273443;
    --color-belt-blue-light: #2974C7;
    --color-belt-orange: #CA5001;
    --color-text: #000000;
    --color-special: #5A5A5A;
    --color-background: #FFFFFF;
    --color-accent: #E1E8F5;
    --color-facebook: #0174C8;
    --shadow-card: 0 5px 20px 2px rgb(25 25 25/ 5%);;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 50px;
    padding: 50px 0;
    margin: 0 auto;
}

.belt-lp-container .belt-lp-main-content {
    display: flex;
    flex-wrap: wrap;
    gap: 50px 25px;
    max-width: 1536px;
    margin: 0 auto;
    padding-inline: 24px;
    width: 100%;
}

.belt-lp-main-content>* {
    flex: 0 0 calc(33.333% - 17px);
}

.belt-hero-block {
    flex-basis: calc(66.666% - 17px);
}

.belt-location-details {
    flex-basis: calc(33.333% - 17px);
}

.belt-provider-block {
    flex-basis: 100%;
}

.belt-lp-main-content>*.bento--small {
    flex-basis: calc(26.8% - 17px);
}

.belt-lp-main-content>*.bento--medium {
    flex-basis: calc(46.4% - 17px);
}

.belt-lp-main-content>*.bento--large {
    flex-basis: calc(50% - 17px);
}

.belt-lp-main-content>*.bento--wide {
    flex-basis: calc(66.666% - 17px);
}

.belt-lp-main-content>*.bento--full {
    flex-basis: 100%;
}

.belt-lp-container .belt-location-reviews {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 25px 50px;
    gap: 50px;

    min-height: 250px;
    width: 100%;
    background: var(--color-belt-blue-dark);
}

.belt-lp-container .belt-faq-section,
.belt-faq-section .belt-faqs {
    flex-basis: 100%;
    width: 100%;
}

.belt-faq-section .belt-faqs .wp-block-group__inner-container details {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 0px;

    font-size: 16px;
    font-weight: 400;
    color: var(--color-text);
    width: 100%;
}

.belt-faq-section .belt-faqs .wp-block-group__inner-container details summary {
    font-size: 18px;
    font-weight: 600;
    font-family: var(--font-family);
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    width: 100%;
    gap: 16px;
    justify-content: space-between;
}

.belt-faq-section .belt-faqs .wp-block-group__inner-container details summary:after {
    content: '+';
    font-size: 24px;
    font-weight: 600;
    font-family: var(--font-family);
    transition: transform 0.3s ease;
    display: inline-block;
}

.belt-faq-section .belt-faqs .wp-block-group__inner-container details[open] summary:after {
    content: '-';
}

.belt-faq-section .belt-faqs .wp-block-group__inner-container details summary:hover,
.belt-faq-section .belt-faqs .wp-block-group__inner-container details[open] summary {
    color: var(--color-belt-blue);
}

.belt-faq-section .belt-faqs .wp-block-group__inner-container details>*:not(summary) {
    padding: 0 0 10px 10px;
}

.belt-lp-container .belt-other-locations {
    flex-basis: 100%;
}

.bento-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 16px;
    gap: 10px;
    background: var(--color-background);
    box-shadow: var(--shadow-card);
    border-radius: 24px;
    border: 1px solid rgba(128, 128, 128, 0.10);
}

.bento-card.--accent {
    background: var(--color-accent);
}

.bento-card .wp-block-group__inner-container,
.bento-card .wp-block-cover__inner-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

.bento-card .wp-block-cover__inner-container {
    height: 100%;
}

.bento-card.belt-hero-block {
    justify-content: center;
}

.bento-card.wp-block-cover {
    min-height: 200px;
}

.bento-card.wp-block-cover>* {
    transition: all ease 500ms;
}
.bento-card.wp-block-cover>img {
    opacity: 0;
    translate: -100%;
    transition: all ease 500ms;
}
.bento-card.wp-block-cover.--show-more>img {
    opacity: 1;
    translate: 0;
    border-radius: 24px;
}

.bento-card.wp-block-cover.--show-more .wp-block-cover__inner-container {
    justify-content: flex-end;
    gap: 0;
}

.bento-card.wp-block-cover.--show-more .wp-block-cover__inner-container>*:not(.wp-block-heading, .wp-block-buttons) {
    visibility: hidden;
    opacity: 0;
    height: 0;
}

.bento-card.wp-block-cover.--show-more .wp-block-cover__inner-container>.wp-block-heading {
    color: var(--color-background) !important;
    text-align: center;
    width: 100%;
}

.bento-card.wp-block-cover:not(.--show-more) .wp-block-cover__image-background,
.bento-card.wp-block-cover:not(.--show-more) .wp-block-cover__background {
    visibility: hidden;
    opacity: 0;
    height: 0;
}

.bento-card.wp-block-cover:not(.--show-more) .wp-block-button.btn--belt-see-more>* {
    color: var(--color-text) !important;
}

.bento-card .badge {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 8px 12px;
    background: var(--color-accent);
    border-radius: 8px;
    font-family: var(--font-family);
    font-style: normal;
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    color: var(--color-special);
    width: fit-content;
}

#location-consultation-form-modal .heading,
.bento-card .heading,
.bento-card .heading-small,
.bento-card .heading-display {
    font-family: var(--font-family);
    font-style: normal;
    font-weight: bold;
    color: var(--color-belt-blue);
}

.bento-card .heading-display {
    font-size: 40px;
}

.bento-card .heading {
    font-size: 32px;
}

.bento-card .heading-small {
    font-size: 20px;
}
#location-consultation-form-modal .heading {
    font-size: 18px;
}
.bento-card .text {
    font-family: var(--font-family);
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: var(--color-text);
}

.bento-card ul.wp-block-list {
    list-style: revert;
    padding-left: 16px;
    margin-top: 0 !important;
}

.bento-card .wp-block-button.btn--belt>* {
    all: unset;

    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 8px 16px !important;
    gap: 10px;
    border-radius: 6px;

    font-family: var(--font-family);
    font-style: normal;
    font-weight: 500;
    font-size: 18px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.bento-card .wp-block-button.btn--belt>*:hover {
    transform: translateY(-2px);
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    filter: brightness(1.15);
}

.bento-card .wp-block-button.btn--belt-primary>* {
    background: var(--color-belt-orange) !important;
    border: 1px solid var(--color-belt-orange) !important;
    color: var(--color-background) !important;
}

.bento-card .wp-block-button.btn--belt-secondary>* {
    background: transparent !important;
    border: 1px solid var(--color-belt-blue-light) !important;
    color: var(--color-belt-blue-light) !important;
}

.bento-card .wp-block-button.btn--belt-see-more>* {
    background: transparent !important;
    box-shadow: none !important;
    font-size: 14px;
}

.belt-states-links {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding-top: 16px;
    margin: auto;
}

.belt-states-links .state-link {
    font-weight: 500 !important;
}

.text-center {
    text-align: center;
    margin: auto;
}

.bento-cta {
    align-items: center;
    justify-content: center;
}

.bento-cta>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 16px;
    width: 100%;
}

.bento-cta>.wp-block-group__inner-container>* {
    align-items: center;
    justify-content: center;
}

.belt-provider-block .wp-block-media-text {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 50px;
}

.belt-provider-block .wp-block-media-text__media {
    overflow: hidden;
    border-radius: 8px;
    max-width: 250px;
    width: 100%;
}

.belt-provider-block .wp-block-media-text__media img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    max-width: 100%;
}

.belt-provider-block .wp-block-media-text__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0;
    gap: 10px;
    width: 100%;
}

.belt-location-details {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 16px;
    gap: 16px;
}

.belt-location-details a {
    text-decoration: none !important;
    color: inherit !important;
}

.belt-location-details a:hover {
    color: var(--color-belt-blue) !important;
}

.belt-location-details img {
    height: 200px;
    width: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 8px;
}

.belt-location-details>div {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0;
    gap: 24px;
    font-size: 18px;
    font-family: var(--font-family);
    color: var(--color-text);
    width: 100%;
    min-height: 27px;
}

.belt-location-details>div i.fa {
    color: var(--color-belt-blue);
    font-size: 24px;
    width: 24px;
    height: 24px;
}

.belt-location-details>div .belt-icon-wrapper {
    width: 24px;
    height: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.belt-location-details .hours details {
    width: 100%;
}

.belt-location-details .hours strong {
    font-weight: 600 !important;
}

.belt-location-details .hours summary {
    font-weight: 600;
    list-style: none;
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    width: calc(100% - 10px);
    gap: 8px;
    align-items: center;
}

.belt-location-details .hours summary:after {
    font-family: FontAwesome;
    content: "\f078";
    color: #000;
    display: inline-block;
    font-weight: 400;
    transition: 200ms ease all;
}

.belt-location-details .hours details[open] summary:after {
    transform: rotate(180deg);
}

.belt-location-details .hours ul {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
    font-size: 16px;
}

.belt-location-details .hours li {
    padding: 2px 8px;
    border-radius: 2px;
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: wrap;
    border-top: 1px solid var(--color-accent);
    margin-top: 2px;
}

.belt-location-details .hours li.is-today {
    background: #B2D7FE;
}

.belt-location-details .hours{
    position: relative;
}
.belt-location-details .hours details[open]{
    position: absolute;
    background: var(--color-background);
    padding: 10px;
    box-shadow: var(--shadow-card);
    border-radius: 8px;
    width: calc(100% - 38px);
    top: -10px;
    left: 38px;
}
.belt-location-details .hours details[open] summary{
    width: 100%;
}

.belt-location-details hr {
    width: 100%;
    border-top: 1px solid rgba(90, 90, 90, 0.5);
    margin: 0;
}

.belt-location-details .facebook-link a {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 4px 12px;
    gap: 24px;
    background: var(--color-facebook);
    color: #ffffff !important;
    border-radius: 8px;
    width: fit-content;
    margin-inline: auto;
    text-align: center;
}

.w-full {
    width: 100%;
}

#location-consultation-form-modal .col-md-6{
    flex: 0 0 100%;
    max-width: 100%;
}

.award-winning-technology {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 25px 50px;
    gap: 50px;

    min-height: 250px;
    width: 100%;
    background: linear-gradient(var(--color-belt-blue-dark),  var(--color-belt-blue));
    background-size: cover;
    background-repeat: no-repeat;
    
}
.award-winning-technology h3 {
    color: var(--color-background) !important;
    text-align: center;
}
.award-winning-technology img {
    object-fit: contain;
    max-width: 100%;
    width: 600px;
    height: auto;
}
.rpi-stars{
    font-weight: 600 !important;
}



@media (max-width: 991px) {
    .belt-lp-main-content>* {
        flex-basis: calc(40% - 12.5px);
    }

    .belt-hero-block,
    .belt-lp-main-content>*.bento--wide {
        flex-basis: calc(60% - 12.5px);
    }

    .belt-location-details {
        flex-basis: calc(40% - 12.5px);
    }

    .belt-lp-main-content>*.bento--small,
    .belt-lp-main-content>*.bento--medium,
    .belt-lp-main-content>*.bento--large {
        flex-basis: calc(50% - 12.5px);
    }

    .belt-provider-block,
    .belt-lp-main-content>*.bento--full,
    .belt-lp-main-content>*.bento-cta {
        flex-basis: 100%;
    }
}

@media (max-width: 767px) {

    .belt-mail-list-form,
    #newsletter-form-1 {
        background-color: #273443 !important;
    }

    .belt-lp-main-content>* {
        flex-basis: 100% !important;
    }

    .belt-provider-block .wp-block-media-text {
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 25px;
    }

    .belt-provider-block .wp-block-media-text__media {
        max-width: 200px;
    }
}