.sqs-block-map > .sqs-block-content {
    background-color: #eee
}

.sqs-block-map .custom-map-block {
    background-color: #eee;
    overflow: hidden
}

    .sqs-block-map .custom-map-block:after {
        position: absolute;
        top: 49%;
        left: 46%;
        font-size: 14px;
        line-height: 1;
        letter-spacing: .2px;
        content: "Map loading...";
        z-index: 0;
        color: #000;
        font-family: Helvetica,Arial,sans-serif
    }

    .sqs-block-map .custom-map-block > div:not([class]) {
        opacity: 0
    }

    .sqs-block-map .custom-map-block.inited > div:not([class]) {
        opacity: 1 !important;
        transition: opacity .1s
    }

    .sqs-block-map .custom-map-block.inited:after {
        content: "Loaded";
        z-index: -10
    }

.custom-map-block .marker-label {
    color: #000;
    text-shadow: 1px 0 1px #ffffff;
    font-size: 14px;
    text-overflow: ellipsis;
    overflow: hidden;
    max-width: 132px
}

.custom-map-block.marker-label-position-top .marker-label-container {
    vertical-align: top !important
}

.custom-map-block.marker-label-position-top .marker-label {
    margin-bottom: 60%
}

.custom-map-block.marker-label-position-bottom .marker-label-container {
    vertical-align: bottom !important
}

.custom-map-block.marker-label-position-bottom .marker-label {
    margin-top: 10px
}

.custom-map-block[data-popup-position="top"] .gm-style .gm-style-iw-t:after {
    box-shadow: -1px 1px 0 0 rgba(178,178,178,0.4)
}

.custom-map-block[data-popup-position="left"] .gm-style .gm-style-iw-t {
    right: 24px !important;
    bottom: 16px !important
}

    .custom-map-block[data-popup-position="left"] .gm-style .gm-style-iw-t:after {
        background: linear-gradient(45deg, rgba(0,0,0,0) 50%, #fff 51%, #fff 100%);
        transform: translate(-50%, -50%) rotate(45deg);
        box-shadow: 1px -1px 2px 0 rgba(178,178,178,0.4)
    }

    .custom-map-block[data-popup-position="left"] .gm-style .gm-style-iw-t .gm-style-iw-tc {
        transform: translateX(-50%) rotate(270deg);
        left: 6px
    }

.custom-map-block[data-popup-position="left"] .gm-style-iw-c {
    transform: translate(-100%, -50%)
}

.custom-map-block[data-popup-position="right"] .gm-style .gm-style-iw-t {
    right: -24px !important;
    bottom: 16px !important
}

    .custom-map-block[data-popup-position="right"] .gm-style .gm-style-iw-t:after {
        box-shadow: -1px 1px 0 0 rgba(178,178,178,0.4);
        background: linear-gradient(45deg, #fff 50%, rgba(0,0,0,0) 51%, rgba(0,0,0,0) 100%);
        transform: translate(-50%, -50%) rotate(45deg)
    }

    .custom-map-block[data-popup-position="right"] .gm-style .gm-style-iw-t .gm-style-iw-tc {
        transform: translateX(-50%) rotate(90deg);
        left: -6px
    }

.custom-map-block[data-popup-position="right"] .gm-style-iw-c {
    transform: translate(0, -50%)
}

.custom-map-block[data-popup-position="bottom"] .gm-style .gm-style-iw-t {
    right: 0 !important;
    bottom: -16px !important
}

    .custom-map-block[data-popup-position="bottom"] .gm-style .gm-style-iw-t:after {
        box-shadow: 1px -1px 0 0 rgba(178,178,178,0.4);
        background: linear-gradient(45deg, rgba(255,255,255,0) 50%, #fff 51%, #fff 100%)
    }

.custom-map-block[data-popup-position="bottom"] .gm-style-iw-c {
    transform: translate(-50%, 0%)
}

.custom-map-block .gm-style-iw .gm-style-iw-d {
    overflow-x: hidden !important;
    overflow-y: hidden !important
}

.custom-map-block .gm-style-iw > div {
    max-width: none !important
}

.custom-map-block .gm-style-iw button.gm-ui-hover-effect {
    top: 0 !important;
    right: 0 !important
}

.custom-map-block .gm-style-iw ::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(200,200,200,0.3);
    border-radius: 3px;
    background-color: transparent
}

.custom-map-block .gm-style-iw ::-webkit-scrollbar {
    width: 3px;
    height: 3px;
    background-color: inherit
}

.custom-map-block .gm-style-iw ::-webkit-scrollbar-thumb {
    border-radius: 3px;
    -webkit-box-shadow: inset 0 0 6px rgba(200,200,200,0.3);
    background-color: #888
}

.custom-map-block .gm-style .gm-style-iw-c {
    border-radius: 0;
    padding: 0 !important
}

.custom-map-block .custom-maps-info-window {
    padding: 12px
}

    .custom-map-block .custom-maps-info-window.outside-marker-item {
        box-shadow: none;
        overflow: auto
    }

    .custom-map-block .custom-maps-info-window .info-back {
        display: none
    }

.custom-maps-info-wrapper > div {
    display: none;
    color: #333
}

.custom-maps-info-wrapper {
    display: block !important;
    margin: 0;
    padding: 0
}

    .custom-maps-info-wrapper a {
        outline: none
    }

.sqs-block-map .outside-marker-info > div {
    display: none
}

.custom-maps-info-window .info-marker-image {
    min-height: 50px
}

    .custom-maps-info-window .info-marker-image img {
        max-width: 100%;
        width: 100%;
        display: block;
        margin: 0 auto;
        height: auto;
        object-fit: contain;
        object-position: top;
        border: none
    }

        .custom-maps-info-window .info-marker-image img:not([src]) {
            opacity: 0
        }

.custom-map-block .custom-maps-info-window .info-marker-title a, .custom-map-block .custom-maps-info-window .info-marker-title span {
    color: #333;
    font-size: 18px;
    line-height: 1.4em
}

.custom-map-block .custom-maps-info-window .info-marker-title.title-only {
    margin: 0
}

    .custom-map-block .custom-maps-info-window .info-marker-title.title-only a {
        font-size: 14px
    }

.sqs-block-map.info-window-show-title .info-marker-title {
    display: block
}

.sqs-block-map.info-window-show-location .info-marker-location {
    display: block
}

    .sqs-block-map.info-window-show-location .info-marker-location:before {
        content: "Location";
        display: block;
        font-weight: 700
    }

.sqs-block-map.info-window-show-image .info-marker-title {
    margin-bottom: 10px
}

.custom-maps-info-window a {
    transition: opacity .2s
}

.sqs-block-map.info-window-show-image .info-marker-image {
    display: block;
    margin-bottom: 10px
}

.info-marker-image a {
    text-decoration: none;
    cursor: pointer;
    padding: 0;
    margin: 0;
    display: block
}

.custom-maps-info-window a:hover {
    opacity: .76
}

.sqs-block-map.info-window-show-excerpt .info-marker-title {
    margin-bottom: 10px
}

.sqs-block-map.info-window-show-date .info-marker-date {
    display: block
}

.sqs-block-map.info-window-show-excerpt .info-marker-descr {
    display: block
}

.sqs-block-map.info-window-show-cats .info-marker-title {
    margin-bottom: 10px
}

.sqs-block-map.info-window-show-cats .info-marker-cats {
    display: block
}

.sqs-block-map.info-window-show-tags .info-marker-title {
    margin-bottom: 10px
}

.sqs-block-map.info-window-show-tags .info-marker-tags {
    display: block
}

.sqs-block-map.overflow-hidden {
    overflow: hidden;
    position: relative
}

.custom-maps-outside-markers-info {
    box-sizing: border-box;
    padding: 0;
    z-index: 100
}

    .custom-maps-outside-markers-info * {
        box-sizing: border-box
    }

        .custom-maps-outside-markers-info *::-webkit-scrollbar-track {
            -webkit-box-shadow: inset 0 0 6px rgba(200,200,200,0.3);
            border-radius: 3px;
            background-color: transparent
        }

        .custom-maps-outside-markers-info *::-webkit-scrollbar {
            width: 3px;
            height: 3px;
            background-color: inherit
        }

        .custom-maps-outside-markers-info *::-webkit-scrollbar-thumb {
            border-radius: 3px;
            -webkit-box-shadow: inset 0 0 6px rgba(200,200,200,0.3);
            background-color: #888
        }

    .custom-maps-outside-markers-info .outside-container {
        overflow-y: auto;
        position: relative;
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
        margin: 0 !important;
        background-color: #fff
    }

    .custom-maps-outside-markers-info .close-button {
        position: absolute;
        right: 11px;
        top: 18px;
        width: 12px;
        height: 12px;
        opacity: .3;
        display: none;
        cursor: pointer;
        z-index: 111;
        font-size: 0;
        line-height: 0;
        text-decoration: none;
        transition: opacity .2s;
        outline: none
    }

        .custom-maps-outside-markers-info .close-button svg {
            width: 100%;
            height: 100%;
            fill: #fff
        }

        .custom-maps-outside-markers-info .close-button:hover {
            opacity: 1
        }

    .custom-maps-outside-markers-info .outside-marker-item [class*="info-marker-"]:before {
        display: block;
        font-weight: 700
    }

    .custom-maps-outside-markers-info .info-marker-date:before {
        content: "Date"
    }

    .custom-maps-outside-markers-info .info-marker-location:before {
        content: "Location"
    }

    .custom-maps-outside-markers-info .info-marker-tags:before {
        content: "Tags"
    }

    .custom-maps-outside-markers-info .info-marker-cats:before {
        content: "Categories"
    }

    .custom-maps-outside-markers-info .info-marker-descr:before {
        content: "Description"
    }

    .custom-maps-outside-markers-info[data-position="relative"] .info-back, .custom-maps-outside-markers-info[data-position="relative"] .close-button {
        display: none
    }

    .custom-maps-outside-markers-info[data-position="relative"] .outside-container {
        display: block;
        font-size: 0;
        letter-spacing: 0;
        line-height: 0;
        width: auto;
        min-width: 100%;
        margin: 0 -10px
    }

    .custom-maps-outside-markers-info[data-position="relative"] .outside-marker-item {
        display: inline-block;
        vertical-align: top;
        text-align: left;
        line-height: 1.6;
        width: 25%;
        margin: 16px 0;
        overflow: hidden;
        font-size: 16px
    }

        .custom-maps-outside-markers-info[data-position="relative"] .outside-marker-item .custom-maps-info-wrapper {
            padding: 0 10px
        }

        .custom-maps-outside-markers-info[data-position="relative"] .outside-marker-item p {
            margin: 0 0 6px 0
        }

        .custom-maps-outside-markers-info[data-position="relative"] .outside-marker-item .info-marker-title a {
            font-size: 120%;
            font-weight: 500
        }

        .custom-maps-outside-markers-info[data-position="relative"] .outside-marker-item .info-marker-image {
            width: 100%;
            position: relative;
            height: 0;
            padding-bottom: 72%;
            font-size: 0
        }

            .custom-maps-outside-markers-info[data-position="relative"] .outside-marker-item .info-marker-image img {
                width: 100%;
                height: 100%;
                min-height: 100px !important;
                object-fit: cover;
                object-position: center;
                position: absolute;
                top: 0;
                left: 0
            }

    .custom-maps-outside-markers-info:not([data-position="relative"]) {
        position: absolute;
        transition: transform .3s ease !important;
        box-shadow: 0 0 6px rgba(0,0,0,0.5)
    }

        .custom-maps-outside-markers-info:not([data-position="relative"]).show-panel-info {
            transform: translate3d(0, 0, 0) !important
        }

        .custom-maps-outside-markers-info:not([data-position="relative"]) .outside-container {
            overflow-y: auto !important
        }

        .custom-maps-outside-markers-info:not([data-position="relative"]) div[class*="info-marker-"]:before {
            display: block;
            font-weight: 700;
            font-size: 110%
        }

        .custom-maps-outside-markers-info:not([data-position="relative"]) .info-marker-title {
            display: block
        }

        .custom-maps-outside-markers-info:not([data-position="relative"]).active-marker-info .outside-container {
            overflow: hidden
        }

        .custom-maps-outside-markers-info:not([data-position="relative"]).active-marker-info .outside-marker-info:not(.marker-activated) {
            display: none
        }

        .custom-maps-outside-markers-info:not([data-position="relative"])[data-position="top"], .custom-maps-outside-markers-info:not([data-position="relative"])[data-position="bottom"] {
            left: 0;
            right: 0;
            width: 100%;
            height: 46%
        }

        .custom-maps-outside-markers-info:not([data-position="relative"])[data-position="left"], .custom-maps-outside-markers-info:not([data-position="relative"])[data-position="right"] {
            top: 0;
            bottom: 0;
            width: 256px
        }

            .custom-maps-outside-markers-info:not([data-position="relative"])[data-position="left"] .outside-marker-info, .custom-maps-outside-markers-info:not([data-position="relative"])[data-position="right"] .outside-marker-info {
                font-size: 12px
            }

                .custom-maps-outside-markers-info:not([data-position="relative"])[data-position="left"] .outside-marker-info .info-marker-image, .custom-maps-outside-markers-info:not([data-position="relative"])[data-position="right"] .outside-marker-info .info-marker-image {
                    padding: 0;
                    width: 100%
                }

                .custom-maps-outside-markers-info:not([data-position="relative"])[data-position="left"] .outside-marker-info.marker-activated .custom-maps-info-wrapper > div[class*="info-marker-"], .custom-maps-outside-markers-info:not([data-position="relative"])[data-position="right"] .outside-marker-info.marker-activated .custom-maps-info-wrapper > div[class*="info-marker-"] {
                    float: none;
                    width: 100%
                }

                .custom-maps-outside-markers-info:not([data-position="relative"])[data-position="left"] .outside-marker-info.marker-activated .custom-maps-info-wrapper .info-marker-title, .custom-maps-outside-markers-info:not([data-position="relative"])[data-position="right"] .outside-marker-info.marker-activated .custom-maps-info-wrapper .info-marker-title {
                    margin-bottom: 0
                }

        .custom-maps-outside-markers-info:not([data-position="relative"])[data-position="top"] {
            top: 0;
            transform: translateY(-110%)
        }

        .custom-maps-outside-markers-info:not([data-position="relative"])[data-position="bottom"] {
            bottom: 0;
            transform: translateY(110%)
        }

        .custom-maps-outside-markers-info:not([data-position="relative"])[data-position="left"] {
            left: 0;
            transform: translateX(-110%)
        }

        .custom-maps-outside-markers-info:not([data-position="relative"])[data-position="right"] {
            right: 0;
            transform: translateX(110%)
        }

        .custom-maps-outside-markers-info:not([data-position="relative"]) .info-back {
            width: 28px;
            top: 0;
            left: 0;
            padding-left: 12px;
            display: none;
            height: 100%;
            position: absolute;
            cursor: pointer;
            opacity: .3;
            transition: opacity .2s
        }

            .custom-maps-outside-markers-info:not([data-position="relative"]) .info-back:hover {
                opacity: 1
            }

            .custom-maps-outside-markers-info:not([data-position="relative"]) .info-back svg {
                height: 100%;
                width: 100%;
                fill: #fff
            }

        .custom-maps-outside-markers-info:not([data-position="relative"]) .close-button {
            display: block
        }

        .custom-maps-outside-markers-info:not([data-position="relative"]) .outside-marker-info {
            transition: opacity .2s ease;
            left: 0;
            right: 0;
            top: 0;
            bottom: 0;
            padding: 0;
            overflow: hidden;
            display: block;
            font-size: 14px;
            line-height: 1.8;
            background-color: #fff
        }

            .custom-maps-outside-markers-info:not([data-position="relative"]) .outside-marker-info .info-marker-title {
                float: none;
                position: sticky;
                top: 0;
                left: 0;
                right: 0;
                background-color: #4285f4;
                color: #fff;
                width: 100%;
                padding: 0;
                transition: opacity .2s ease
            }

                .custom-maps-outside-markers-info:not([data-position="relative"]) .outside-marker-info .info-marker-title a {
                    line-height: 1;
                    padding: 12px;
                    font-size: 100%;
                    text-decoration: none;
                    text-transform: none;
                    white-space: nowrap;
                    max-width: 84%;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    display: block;
                    color: #fff
                }

            .custom-maps-outside-markers-info:not([data-position="relative"]) .outside-marker-info .custom-maps-info-wrapper > div {
                padding: 5px 12px;
                margin-bottom: 5px;
                float: left;
                transition: opacity .2s .1s ease
            }

            .custom-maps-outside-markers-info:not([data-position="relative"]) .outside-marker-info .info-marker-image {
                width: 30%
            }

                .custom-maps-outside-markers-info:not([data-position="relative"]) .outside-marker-info .info-marker-image img {
                    width: 100%;
                    height: auto;
                    min-height: 100px !important;
                    object-fit: contain;
                    object-position: top center
                }

            .custom-maps-outside-markers-info:not([data-position="relative"]) .outside-marker-info > div:not(.info-marker-image):not(.info-marker-title):not(.custom-maps-info-wrapper) {
                width: 70%;
                font-size: 80%
            }

            .custom-maps-outside-markers-info:not([data-position="relative"]) .outside-marker-info.marker-activated {
                opacity: 1;
                z-index: 10;
                pointer-events: auto;
                position: absolute;
                overflow-y: auto
            }

                .custom-maps-outside-markers-info:not([data-position="relative"]) .outside-marker-info.marker-activated .info-marker-title a {
                    margin-left: 24px
                }

                .custom-maps-outside-markers-info:not([data-position="relative"]) .outside-marker-info.marker-activated .info-back {
                    display: block
                }

            .custom-maps-outside-markers-info:not([data-position="relative"]) .outside-marker-info:not(.marker-activated) {
                z-index: 1
            }

                .custom-maps-outside-markers-info:not([data-position="relative"]) .outside-marker-info:not(.marker-activated) .info-marker-title:hover, .custom-maps-outside-markers-info:not([data-position="relative"]) .outside-marker-info:not(.marker-activated) .info-marker-title.active {
                    opacity: .8
                }

                .custom-maps-outside-markers-info:not([data-position="relative"]) .outside-marker-info:not(.marker-activated) .custom-maps-info-wrapper > div:not(.info-marker-title) {
                    opacity: 0;
                    margin: 0;
                    padding: 0;
                    height: 0;
                    overflow: hidden
                }

@media (max-width:480px) {
    .custom-maps-outside-markers-info[data-position="relative"] .outside-marker-item {
        width: 100%
    }
}

@media (max-width:480px) and (orientation:portrait) {
    .sqs-block-map[data-block-json*=multipleLocations] {
        padding-left: 0;
        padding-right: 0
    }

    .custom-map-block {
        min-height: 420px;
        min-height: 75vh;
        padding-bottom: 0 !important
    }
}
