/* RGP Google Maps & Borlabs Cookie Integration Styles */

/* Ensure row stretches columns equally on bigger screens (2 column layout) */
@media all and (min-width: 768px) {
    #contact-main .row {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        -webkit-align-items: stretch;
        align-items: stretch;
    }

    #contact-main .col_6.last.map,
    #contact-main .map {
        -webkit-align-self: stretch;
        -ms-flex-item-align: stretch;
        align-self: stretch;
        height: auto;
        min-height: 100%;
        position: relative;
        overflow: hidden;
        padding: 0 !important;
        background-color: #f2f0eb;
        border: 1px solid rgba(0, 0, 0, 0.05);
    }

    /* Any immediate child / wrapper takes 100% height of column */
    #contact-main .map > * {
        width: 100%;
        height: 100%;
    }

    #contact-main .map .rgp-google-maps-wrapper {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        min-height: 100%;
        display: block;
    }

    #contact-main .map .rgp-google-map {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
    }

    /* Borlabs Cookie Content Blocker fills 100% of column height */
    #contact-main .map .borlabs-cookie-item,
    #contact-main .map .borlabs-cookie-content-blocker,
    #contact-main .map .BorlabsCookie,
    #contact-main .map [data-borlabs-cookie-content-blocker] {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        box-sizing: border-box !important;
    }
}

/* Base & Mobile Layout (stacked layout) */
#contact-main .map {
    position: relative;
    border: 1px solid rgba(0, 0, 0, 0.05);
    background-color: #f2f0eb;
    overflow: hidden;
}

@media all and (max-width: 767px) {
    #contact-main .map {
        margin-top: 35px;
        min-height: 400px;
        height: 400px;
        width: 100%;
        position: relative;
    }

    #contact-main .map .rgp-google-maps-wrapper,
    #contact-main .map .rgp-google-map,
    #contact-main .map .borlabs-cookie-item,
    #contact-main .map .borlabs-cookie-content-blocker,
    #contact-main .map .BorlabsCookie,
    #contact-main .map [data-borlabs-cookie-content-blocker] {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 400px !important;
        margin: 0 !important;
    }
}

/* InfoWindow styling */
.rgp-map-infowindow {
    padding: 8px 10px;
    font-family: inherit;
    color: #222;
    max-width: 280px;
}

.rgp-map-infowindow .rgp-map-title {
    margin: 0 0 6px 0;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    color: #111;
}

.rgp-map-infowindow .rgp-map-address {
    margin: 0 0 6px 0;
    font-size: 13px;
    line-height: 1.4;
    color: #555;
}

.rgp-map-infowindow .rgp-map-txt {
    margin: 0;
    font-size: 13px;
    line-height: 1.4;
    color: #666;
}
