.card .card-title.activator,
.map .marker {
    cursor: pointer;
}

#geoLocation,
#scrollEnabling,
#streetView {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 999;
    font-size: 13px;
    line-height: 21px;
}

#geoLocation,
#mapnav-buttons a,
#scrollEnabling,
#streetView {
    display: inline-block;
    box-sizing: border-box;
    padding: 9px 18px 7px;
    border-radius: 50px;
    background-color: #fff;
    color: #333;
    font-weight: 500;
    box-shadow: 0 1px 4px -1px rgba(0, 0, 0, .2);
    transition: all .2s ease-in-out;
}

#scrollEnabling.enabled,
#scrollEnabling:hover,
#streetView:hover,
.custom-zoom-in:hover,
.custom-zoom-out:hover {
    background-color: #1c90f3;
    color: #fff;
}

#geoLocation:before,
#scrollEnabling:before,
#streetView:before {
    content: "\e015";
    position: relative;
    top: 2px;
    margin: 0 6px 0 0;
    font-family: simple-line-icons;
    font-size: 15px;
    line-height: 1px;
}

.zoomControlWrapper {
    position: static;
    width: auto;
    padding: 0 !important;
}

.zoomControlWrapper > div {
    display: flex;
    gap: 0.35rem;
}

.custom-zoom-in,
.custom-zoom-out {
    width: 34px;
    height: 34px;
    margin: 0;
    border-radius: 50%;
    background-color: #fff;
    color: #333;
    cursor: pointer;
    text-align: center;
    font-size: 15px;
    box-shadow: 0 1px 4px -1px rgba(0, 0, 0, .2);
    transition: color .3s, background-color .3s;
}

.custom-zoom-in:before,
.custom-zoom-out:before {
    width: 100%;
    font-family: FontAwesome;
    line-height: 35px;
    transition: -webkit-text-stroke .3s;
    -webkit-text-stroke: 1px #fff;
}

.custom-zoom-in:before {
    content: "\f067";
}

.custom-zoom-out:before {
    content: "\f068";
}

.custom-zoom-in:hover:before,
.custom-zoom-out:hover:before {
    -webkit-text-stroke: 1px #1c90f3;
}

.item,
.card,
.card .card-image,
.card.large,
.card.medium,
.card.small {
    position: relative;
}

.item {
    margin-bottom: 30px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .2);
    transform-style: preserve-3d;
}

.gmapAdBox-wrapper {
    width: 300px !important;
    opacity: 1;
    transition: .5s cubic-bezier(0, .28, .45, 1.01);
}

.gmapAdBox-wrapper.show {
    opacity: 1;
}

.gmapAdBox-wrapper > img {
    position: absolute !important;
    top: -15px;
    right: -15px;
    z-index: 1;
    max-width: 100%;
    transform: scale(0);
    transition: .3s ease;
}

.gmapAdBox-wrapper.show > img {
    transform: scale(1);
}

.gmapAdBox-wrapper .gmapAdBox {
    width: 270px;
}

.gmapAdBox-wrapper .gmapAdBox > a {
    display: block;
    border-radius: 4px;
    box-shadow: 0 3px 15px rgba(0, 0, 0, .33);
    transform: translateY(15px);
    transform-style: preserve-3d;
    transition: .5s cubic-bezier(0, .28, .45, 1.01);
}

.gmapAdBox-wrapper.show .gmapAdBox > a {
    transform: translateY(0);
}

.gmapAdBox-wrapper .gmapAdBox > a .image {
    background-position: 50% 50%;
    background-size: cover;
}

.gmapAdBox-wrapper .gmapAdBox > a .image:after {
    opacity: .7;
    background-color: transparent;
}

.gmapAdBox-wrapper .gmapAdBox .description {
    z-index: 1;
    bottom: 40px;
    padding-right: 20px;
    opacity: 0;
    transform: translateX(-10px);
    transition: .5s cubic-bezier(0, .28, .45, 1.01);
}

.gmapAdBox-wrapper.show .gmapAdBox .description {
    opacity: 1;
    transform: translateX(0);
    transition-delay: .1s;
}

.gmapAdBox-wrapper .gmapAdBox .description h3 {
    font-size: 18px;
}

.gmapAdBox-wrapper .gmapAdBox .description h4 {
    font-size: 12px;
}

.gmapAdBox-wrapper .gmapAdBox .rating-passive {
    position: absolute;
    bottom: 15px;
    left: 20px;
    display: inline-block;
    padding: 0;
    background-color: transparent;
    color: #fff;
    opacity: 0;
    transform: translateX(-10px);
    transition: .5s cubic-bezier(0, .28, .45, 1.01);
}

.gmapAdBox-wrapper.show .gmapAdBox .rating-passive {
    opacity: 1;
    transform: translateX(0);
    transition-delay: .2s;
}

.gmapAdBox-wrapper .gmapAdBox .rating-passive .stars {
    margin-right: 2px;
}

.gmapAdBox-wrapper .gmapAdBox .rating-passive .stars figure {
    color: #fff;
}

.gmapAdBox-wrapper .gmapAdBox .controls-more {
    right: 15px;
    top: inherit;
    bottom: 10px;
}

.gmapAdBox-wrapper .gmapAdBox .controls-more:after {
    color: #fff;
    opacity: .6;
}

.gmapAdBox-wrapper .gmapAdBox .controls-more:hover:after {
    opacity: 1;
}

.map .cluster > div,
.map .cluster > div:after {
    width: 36px;
    height: 36px;
    background-color: #1c90f3;
}

.map .cluster > div {
    border: 2px solid #1c90f3;
    border-radius: 100%;
    color: #fff !important;
    line-height: 32px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .2), inset 0 0 0 2px rgba(255, 255, 255, .3);
    transform-style: preserve-3d;
    transition: .5s cubic-bezier(0, .28, .45, 1.01);
}

.map .cluster > div:before,
.map .marker .marker-wrapper:after {
    font-family: fontawesome;
    font-weight: 400;
    text-align: center;
    text-shadow: none;
    -webkit-font-smoothing: antialiased;
}

.map .cluster > div:before {
    content: "\f002";
    position: absolute;
    top: 0;
    left: 0;
    width: 33px;
    height: 36px;
    color: #fff;
    line-height: 30px;
    font-size: 14px;
    transform: translateZ(-4px);
}

.map .cluster > div:after {
    content: "";
    position: absolute;
    top: -2px;
    left: -2px;
    border: 2px solid #1c90f3;
    border-radius: 100%;
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .3);
    transform: translateZ(-2px);
}

.map .cluster:hover > div {
    transform: rotateY(180deg);
}

.map a[href^="http://maps.google.com/maps"],
.map a[href^="https://maps.google.com/maps"] {
    display: none !important;
}

.map .gm-style-cc,
.map .gmnoprint a,
.map .gmnoprint span {
    display: none;
}

.map .marker {
    display: inline-block;
    position: relative;
}

.map .marker:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    width: 14px;
    height: 4px;
    margin: auto;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, .3);
    transform: scale(.7);
    transition: .3s ease;
}

.map .marker.active:after,
.map .marker.hover-state:after,
.map .marker:hover:after {
    transform: scale(1);
}

.map .marker .marker-wrapper {
    position: relative;
    width: 37px;
    height: 49px;
    transform-style: preserve-3d;
    transition: .5s cubic-bezier(0, .28, .45, 1.01);
}

.map .marker .marker-wrapper:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 37px;
    height: 37px;
    border-radius: 30%;
    background-color: #1c90f3;
}

.map .marker .marker-wrapper:after {
    content: "\f002";
    position: absolute;
    top: 0;
    left: 0;
    width: 37px;
    height: 37px;
    color: #fff;
    line-height: 34px;
    font-size: 14px;
    transform: translateZ(-4px);
}

.map .marker .marker-wrapper .pin {
    position: absolute;
    top: 0;
    left: 0;
    width: 37px;
    height: 37px;
    border: 4px solid #1c90f3;
    border-radius: 30%;
    background-size: cover;
    box-shadow: 0 3px 15px rgba(0, 0, 0, .33);
    transform-style: preserve-3d;
    transition: .5s cubic-bezier(0, .28, .45, 1.01);
}

.map .marker .marker-wrapper .pin:before {
    content: "";
    position: absolute;
    top: -4px;
    left: -4px;
    z-index: 1;
    width: 37px;
    height: 37px;
    border: 4px solid #1c90f3;
    border-radius: 100%;
    background-color: #1c90f3;
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .3);
    transform: translateZ(-2px);
}

.map .marker .marker-wrapper .pin .image {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    border-radius: 100%;
    background-size: cover;
}

.map .marker .marker-wrapper .pin .image:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -13px;
    left: 0;
    width: 0;
    height: 0;
    margin: auto;
    border-style: solid;
    border-width: 10px 7px 0;
    border-color: #1c90f3 transparent transparent;
}

.map .marker .marker-wrapper .pin .iconPosition {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    padding: 2px;
    color: #fff;
    text-align: center;
    font-size: 18px;
}

.map .marker .marker-wrapper .pin .iconPosition .fa {
    vertical-align: middle;
}

.map .marker .title {
    position: absolute;
    left: 50px;
    top: 5px;
    padding: 2px 4px;
    border-radius: 1px;
    background-color: #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .25);
    opacity: 0;
    pointer-events: none;
    white-space: nowrap;
    transform: translateX(10px);
    transition: .3s ease;
}

.map.show-marker-labels .marker .title,
.map .marker.active .title,
.map .marker.hover-state .title,
.map .marker:hover .title {
    opacity: 1;
    transform: translateX(0);
}

.map .marker .title:before,
.map .marker .title:after {
    content: "";
    position: absolute;
    left: -6px;
    bottom: 0;
    width: 0;
    height: 0;
    margin: auto;
    border-style: solid;
    border-width: 4px 6px 4px 0;
}

.map .marker .title:before {
    top: 2px;
    border-color: transparent rgba(0, 0, 0, .2) transparent transparent;
}

.map .marker .title:after {
    top: 0;
    border-color: transparent #fff transparent transparent;
}

.mapgmapAdBoxLocation,
.mapgmapAdBoxTitle {
    width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mapgmapAdBoxTitle {
    margin-top: 5px;
    margin-bottom: 0 !important;
}

.mapgmapAdBoxLocation {
    margin: 0;
}

.height-200px {
    height: 200px !important;
}

.gm-style img {
    max-width: 100%;
}
