.elementor-21 .elementor-element.elementor-element-ffcab11{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:15px 15px;--row-gap:15px;--column-gap:15px;--grid-auto-flow:row;}.elementor-21 .elementor-element.elementor-element-69c3a6ff{--display:flex;}@media(max-width:1024px){.elementor-21 .elementor-element.elementor-element-ffcab11{--grid-auto-flow:row;}}@media(min-width:768px){.elementor-21 .elementor-element.elementor-element-ffcab11{--content-width:100%;}}@media(max-width:767px){.elementor-21 .elementor-element.elementor-element-ffcab11{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for container, class: .elementor-element-69c3a6ff *//* Locations Page Styles for Elementor */

/* Container and Layout */
.locations-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.locations-list {
    flex: 1;
    min-width: 300px;
}

.map-container {
    flex: 1;
    min-width: 300px;
    position: sticky;
    top: 100px;
    height: fit-content;
}

/* Office Cards */
.office {
    /*background: #f8f9fa;*/
    /*border: 1px solid #dee2e6;*/
    /*border-radius: 4px;*/
    padding: 8px 12px;
    margin-bottom: 6px;
    cursor: pointer;
    /*transition: all 0.3s ease;*/
}

.office:hover {
    background: #e9ecef;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.office.active {
    background: #fff; 
    /*border-color: #0066cc;*/
    /*box-shadow: 0 4px 12px rgba(0,102,204,0.15);*/
}

/* Office Name/Header */
.office .name {
    font-size: 1.8rem;
    font-weight: 600;
    color: #4c4c4c;
    margin-bottom: 6px;
    padding-bottom: 6px;
    /*border-bottom: 2px solid #0066cc;*/
}

.office .name:hover {
    color: #0066cc;
}

/* Office Information */
.office-info {
    padding: 2px 0;
    font-size: 0.9rem;
    color: #555;
    line-height: 1.4;
}

.office-info label {
    display: inline-block;
    width: 75px;
    font-weight: 600;
    color: #333;
}

/* Address Formatting */
.office-info.address label,
.office-info.city label,
.office-info.state label,
.office-info.zip label {
    display: none;
}

.office-info.city,
.office-info.state,
.office-info.zip {
    display: inline-block;
}

.office-info.city::after {
    content: ',';
    margin-right: 5px;
}

.office-info.suite {
    margin-left: 75px;
}

/* Hide/Show Toggle */
.hide {
    display: none !important;
}

/* Map Styling */
#map {
    text-align: center;
}

#map iframe {
    border: 1px solid #333;
    border-radius: 4px;
    width: 100%;
    max-width: 500px;
    height: 500px;
}

#map small {
    display: block;
    margin-top: 10px;
}

#lnkLargerMap {
    color: #0066cc;
    text-decoration: none;
}

#lnkLargerMap:hover {
    text-decoration: underline;
}

/* Responsive - Mobile */
@media (max-width: 767px) {
    .locations-container {
        flex-direction: column;
    }

    .map-container {
        position: static;
        order: 2;
    }

    .locations-list {
        order: 1;
    }

    #map iframe {
        max-width: 320px;
        height: 320px;
    }

    .office {
        margin-bottom: 12px;
    }

    /* Map appears within each office on mobile */
    .office #map {
        margin-top: 15px;
    }
}

/* Tablet Adjustments */
@media (min-width: 768px) and (max-width: 991px) {
    #map iframe {
        max-width: 400px;
        height: 400px;
    }
}/* End custom CSS */