.viewer { -ms-touch-action: none; }
.viewer img { image-orientation: from-image; }
.iviewer_common { position: absolute; bottom: 10px; border: 1px solid #000; height: 28px; z-index: 5000; }
.iviewer_cursor { cursor: url(../images/hand.cur) 6 8, pointer; }
.iviewer_drag_cursor { cursor: url(../images/grab.cur) 6 8, pointer; }
.iviewer_button { width: 28px; cursor: pointer; background-position: center center; background-repeat: no-repeat; }
.iviewer_zoom_in { left: 20px; background: url(../images/iviewer.zoom_in.gif) center center no-repeat; }
.iviewer_zoom_out { left: 55px; background: url(../images/iviewer.zoom_out.gif) center center no-repeat; }
.iviewer_zoom_zero { left: 90px; background: url(../images/iviewer.zoom_zero.gif) center center no-repeat; }
.iviewer_zoom_fit { left: 125px; background: url(../images/iviewer.zoom_fit.gif) center center no-repeat; }
.iviewer_zoom_status { left: 160px; font: 1em/28px Sans; color: #000; background-color: #fff; text-align: center; width: 60px; }
.iviewer_rotate_left { left: 227px; background: #fff url(../images/iviewer.rotate_left.png) center center no-repeat; }
.iviewer_rotate_right { left: 262px; background: #fff url(../images/iviewer.rotate_right.png) center center no-repeat; }


.viewer { width: 100%; height: 650px; border: 1px solid #ddd; position: relative; }
.iviewer_rotate_left, 
.iviewer_rotate_right,
.iviewer_zoom_fit,
.iviewer_zoom_status,
.iviewer_zoom_zero, 
.iviewer_zoom_in,
.iviewer_zoom_out { opacity: 0; visibility: hidden; }

.viewer.small-map { border-color: transparent; }
.map-popup-open .viewer.small-map { border-color: #ddd; }

.home-map-container { position: relative; }
.home-map-buttons a { display: flex; align-items: center; justify-content: center; border: 1px solid #ff7b0f; width: 45px; height: 45px; margin: 0 0 10px 15px; color: #333; }
.home-map-buttons { display: flex; align-items: center; justify-content: flex-end; }
.img_fix .viewer.small-map { cursor: pointer; }
.home-map-buttons a svg { width: 24px; height: 24px; fill: currentColor; -moz-transition: none; -ms-transition: none; -o-transition: none; -webkit-transition: none; transition: none; }
.home-map-buttons a svg * { -moz-transition: none; -ms-transition: none; -o-transition: none; -webkit-transition: none; transition: none; }

.home-design-floorplan .container { min-height: 570px; }
.home-maps { margin-top: 20px; }

.home-design-floorplan .row { margin: 0 -10px; }
.home-design-floorplan .floorplan-details-col,
.home-design-floorplan .home-maps-col { padding: 0 10px; }

.home-maps-col .row { margin: 0 -5px; }
.home-maps-col [class*="col-"] { padding: 0 5px; }

.home-design-floorplan .floorplan-details-col:before { content: ""; display: block; position: absolute; right: 0; top: 20px; bottom: 0; background: #ddd; width: 1px; }
.home-design-floorplan .floorplan-details-col { position: relative; }

.home-maps-col .col-6.col-sm-6:first-child:last-child { margin: 0 auto; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }


.home-design-floorplan .container.no-floorplan { min-height: inherit !important; min-height: initial !important; min-height: auto !important; }

.map-popup-open .home-maps { position: fixed; top: 0; left: 0; right: 0; z-index: 10; background: rgba(0, 0, 0, 0.8); overflow: auto; height: 100vh; padding: 30px 10px; display: flex; align-items: center; justify-content: center; margin: 0; }
.map-popup-open .home-map-container { max-width: 1200px; margin: 0 auto; padding: 30px 30px 30px 80px; background: #fff; overflow: auto; max-height: calc(100vh - 60px); width: 100%; }
body.map-popup-open { overflow: hidden; }
.map-popup-open .home-map-buttons { position: absolute; left: 30px; display: block; }
.map-popup-open .home-map-buttons a { margin: 0 0 10px 0; }

.map-popup-close { display: none; align-items: center; justify-content: center; width: 30px; height: 30px; position: absolute; right: 2px; top: 2px; }
.map-popup-open .map-popup-close { display: flex; }
.map-popup-close:before, .map-popup-close:after { content: ""; display: block; width: 18px; height: 2px; background: #333; margin: -1px 0 0 -9px; position: absolute; left: 50%; top: 50%; -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg); }
.map-popup-close:after { -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -o-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }

.viewer img { pointer-events: none; }

@media screen and (max-width:1199px) {
.viewer { /*height: 400px;*/ }
}
@media screen and (max-width:991px) {
.home-design-floorplan .floorplan-details-col:before { display: none; }
.viewer.small-map { border-color: #ddd; }
}
@media screen and (max-width:767px) {
.home-map-buttons { display: none !important; }
.map-popup-open .home-map-container { padding: 30px 30px; }
.map-popup-open .home-map-container .col-6 { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }
.map-popup-open .home-map-container .col-6 + .col-6 { margin-top: 30px; }
.map-popup-open .home-maps { padding: 10px 10px; }
.map-popup-open .home-map-container { max-height: calc(100vh - 20px); }
.map-popup-open .viewer { height: auto; }
.map-popup-open .viewer img { position: static !important; width: auto !important; max-width: 100% !important; height: auto !important; }
.home-design-floorplan .row { margin: 0 -7px 0 -8px; }
.home-design-floorplan [class*="col-"] { padding: 0 7px 0 8px; }
.viewer { height: auto !important; }
.viewer img { position: static !important; width: auto !important; max-width: 100% !important; height: auto !important; }
.home-maps { margin-top: 40px; }
}
@media screen and (max-width:479px) {
.home-map-container .col-6 + .col-6 { margin-top: 30px; }
.home-map-container .col-6 { -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; }
.map-popup-open .home-map-container { padding: 30px 10px; }
}

