.maps-wrapper {
    position: relative;
    width: 100%;
    height: 550px
}

.maps-wrapper .infobox-placeholder {
    display: none
}

.maps-wrapper .maps-instance {
    border: 1px solid #ccc;
    transition: -webkit-filter 3s;
    height: 100%;
    width: 100%;
    position: absolute
}

.maps-wrapper .maps-instance.in-view {
    -webkit-filter: saturate(100%)
}

.maps-wrapper .maps-instance img {
    max-width: auto!important;
    max-width: initial!important
}

.maps-wrapper .maps-overlay {
    position: absolute;
    z-index: 1;
    width: 100%;
    margin: 1.5625rem 0;
    pointer-events: none
}

@media screen and (max-width:480px) {
    .maps-wrapper {
        background-color: #fff;
        padding: 0 30px 15px
    }
    .maps-wrapper .maps-overlay {
        position: relative;
        margin: 0 0 15px
    }
    .maps-wrapper .maps-overlay h1,
    .maps-wrapper .maps-overlay h2,
    .maps-wrapper .maps-overlay h3,
    .maps-wrapper .maps-overlay h4,
    .maps-wrapper .maps-overlay h5,
    .maps-wrapper .maps-overlay h6 {
        text-align: left!important
    }
    .maps-wrapper .maps-overlay .callout {
        padding: 0
    }
}

.maps-wrapper .maps-overlay input[type=text] {
    display: block;
    width: 100%;
    padding: 10px;
    pointer-events: initial
}

.maps-wrapper .maps-overlay span.error {
    color: #e4234b
}

.maps-wrapper .maps-overlay .panel {
    pointer-events: all;
    background-color: #fff!important;
    border: 1px solid #c4bfb6;
    -webkit-transition: opacity 1s;
    transition: opacity 1s;
    min-height: 180px
}

.maps-wrapper .maps-overlay form.google-maps input,
.maps-wrapper .maps-overlay form.google-maps input:focus {
    border: 1px solid #c4bfb6;
    background: url(/img/icons/search.png) 90% center no-repeat #fff
}

.maps-wrapper .maps-overlay .panel p {
    margin-top: 1em
}

.maps-wrapper .maps-overlay .content-placeholder p {
    color: #00a9e0
}

.maps-wrapper .maps-overlay .content-placeholder a:not(.button) {
    color: #00a9e0;
    text-decoration: none
}

.maps-wrapper .maps-overlay .content-placeholder a:not(.button):hover {
    text-decoration: underline
}

.maps-wrapper .maps-overlay .content-placeholder [rel=street2]:not(.hide):before {
    content: ", "
}

.maps-wrapper .maps-overlay .content-placeholder [rel=phone]:not(.hide):before {
    content: "tel: "
}

.maps-wrapper .maps-overlay .content-placeholder [rel=fax]:not(.hide):before {
    content: " / fax: "
}

.maps-wrapper .maps-overlay form.google-maps input {
    -moz-appearance: textfield;
    -webkit-appearance: textfield;
    appearance: textfield;
    width: 90%;
    margin-bottom: 1rem;
    padding: 1rem;
    height: auto;
    font-size: 1rem;
    font-family: Futura, Arial, sans-serif;
    color: #777
}

.maps-wrapper .maps-overlay form.google-maps input::-webkit-input-placeholder {
    color: #c4bfb6
}

.maps-wrapper .maps-overlay form.google-maps input:-moz-placeholder {
    color: #c4bfb6
}

.maps-wrapper .maps-overlay form.google-maps input::-moz-placeholder {
    color: #c4bfb6
}

.maps-wrapper .maps-overlay form.google-maps input:-ms-input-placeholder {
    color: #c4bfb6
}

.maps-wrapper .google-maps-controls {
    position: absolute;
    bottom: 40px
}

.maps-wrapper .google-maps-controls #maps-zoom {
    background: #fff;
    box-shadow: 2px 2px 6px rgba(0, 0, 0, .6);
    width: 28px;
    height: 56px
}

.maps-wrapper .google-maps-controls #maps-zoomin,
.maps-wrapper .google-maps-controls #maps-zoomout {
    position: relative;
    border-bottom: 1px solid #d3d3d3;
    cursor: pointer;
    width: 28px;
    height: 28px
}

.maps-wrapper .google-maps-controls #maps-zoomin:before,
.maps-wrapper .google-maps-controls #maps-zoomout:before {
    position: absolute;
    width: 28px;
    height: 28px;
    top: -3px;
    text-align: center;
    font-size: 22px;
    font-weight: 700
}

.maps-wrapper .google-maps-controls #maps-zoomout:before {
    content: "-"
}

.maps-wrapper .google-maps-controls #maps-zoomin:before {
    content: "+"
}

.google-maps-info {
    background: 0 0;
    padding-bottom: 32px
}

.google-maps-info .info-body {
    min-width: 200px;
    position: relative;
    background: #00a9e0;
    border-radius: .1875rem;
    padding: 2rem 1.5rem 1rem;
    margin-bottom: 1rem;
    color: #fff;
    font-size: 1rem;
    box-shadow: 2px 2px 2px rgba(0, 0, 0, .4)
}

.google-maps-info .info-body .close {
    position: absolute;
    right: .5rem;
    top: .25rem;
    color: #fff
}

.google-maps-info .info-body .triangle {
    position: absolute;
    bottom: -21px;
    left: 50%;
    margin-left: -14px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 21px 14px 0;
    border-color: #00a9e0 transparent transparent
}