/* required styles */

.sop-pane,
.sop-tile,
.sop-marker-icon,
.sop-marker-shadow,
.sop-tile-container,
.sop-map-pane svg,
.sop-map-pane canvas,
.sop-zoom-box,
.sop-image-layer,
.sop-layer {
    position: absolute;
    left: 0;
    top: 0;
}
.sop-container {
    overflow: hidden;
    -ms-touch-action: none;
}
.sop-tile,
.sop-marker-icon,
.sop-marker-shadow {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    -webkit-user-drag: none;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.sop-safari .sop-tile {
    image-rendering: -webkit-optimize-contrast;
}
/* hack that prevents hw layers "stretching" when loading new tiles */
.sop-safari .sop-tile-container {
    width: 1600px;
    height: 1600px;
    -webkit-transform-origin: 0 0;
}
.sop-marker-icon,
.sop-marker-shadow {
    display: block;
}
/* map is broken in FF if you have max-width: 100% on tiles */
.sop-container img {
    max-width: none !important;
}
/* stupid Android 2 doesn't understand "max-width: none" properly */
.sop-container img.sop-image-layer {
    max-width: 15000px !important;
}
.sop-tile {
    filter: inherit;
    visibility: hidden;
}
.sop-tile-loaded {
    visibility: inherit;
}
.sop-zoom-box {
    width: 0;
    height: 0;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 8;
}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.sop-overlay-pane svg {
    -moz-user-select: none;
}

.sop-pane         { z-index: 4; }

.sop-tile-pane    { z-index: 2; }
.sop-overlay-pane { z-index: 4; }
.sop-shadow-pane  { z-index: 5; }
.sop-marker-pane  { z-index: 6; }
.sop-infowindow-pane   { z-index: 7; }

.sop-map-pane canvas { z-index: 1; }
.sop-map-pane svg    { z-index: 2; }

.sop-vml-shape {
    width: 1px;
    height: 1px;
}
.lvml {
    behavior: url(#default#VML);
    display: inline-block;
    position: absolute;
}


/* control positioning */

.sop-control {
    position: relative;
    z-index: 7;
    pointer-events: auto;
}
.sop-top,
.sop-bottom {
    position: absolute;
    z-index: 1000;
    pointer-events: none;
}
.sop-top {
    top: 0;
}
.sop-right {
    right: 0;
}
.sop-bottom {
    bottom: 0;
}
.sop-left {
    left: 0;
}
.sop-control {
    float: left;
    clear: both;
}
.sop-right .sop-control {
    float: right;
}
.sop-top .sop-control {
    margin-top: 10px;
}
.sop-bottom .sop-control {
    margin-bottom: 10px;
}
.sop-left .sop-control {
    margin-left: 10px;
}
.sop-right .sop-control {
    margin-right: 10px;
}


/* zoom and fade animations */

.sop-fade-anim .sop-tile,
.sop-fade-anim .sop-infowindow {
    opacity: 0;
    -webkit-transition: opacity 0.2s linear;
    -moz-transition: opacity 0.2s linear;
    -o-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
}
.sop-fade-anim .sop-tile-loaded,
.sop-fade-anim .sop-map-pane .sop-infowindow {
    opacity: 1;
}

.sop-zoom-anim .sop-zoom-animated {
    -webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
    -moz-transition:    -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
    -o-transition:      -o-transform 0.25s cubic-bezier(0,0,0.25,1);
    transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
}
.sop-zoom-anim .sop-tile,
.sop-pan-anim .sop-tile {
    -webkit-transition: none;
    -moz-transition: none;
    -o-transition: none;
    transition: none;
}

.sop-zoom-anim .sop-zoom-hide {
    visibility: hidden;
}

/* cursors */
.sop-interactive {
    cursor: pointer;
}
.sop-grab {
    cursor: -webkit-grab;
    cursor:    -moz-grab;
}
.sop-crosshair,
.sop-crosshair .sop-interactive {
    cursor: crosshair;
}
.sop-infowindow-pane,
.sop-control {
    cursor: auto;
}
.sop-dragging .sop-grab,
.sop-dragging .sop-grab .sop-interactive,
.sop-dragging .sop-marker-draggable {
    cursor: move;
    cursor: -webkit-grabbing;
    cursor:    -moz-grabbing;
}


/* visual tweaks */

.sop-container {
    background: #ddd;
    outline: 0;
}
.sop-container a {
    color: #0078A8;
}
.sop-container a.sop-active {
    outline: 2px solid orange;
}
.sop-zoom-box {
    border: 2px dotted #38f;
    background: rgba(255,255,255,0.5);
}


/* general typography */
.sop-container {
    font: 11px Dotum, Arial, Helvetica, sans-serif;
}


/* general toolbar styles */

.sop-bar {
    box-shadow: 0 1px 5px rgba(0,0,0,0.65);
    border-radius: 4px;
}
.sop-bar a,
.sop-bar a:hover {
    background-color: #fff;
    border-bottom: 1px solid #ccc;
    width: 26px;
    height: 26px;
    line-height: 26px;
    display: block;
    text-align: center;
    text-decoration: none;
    color: black;
}
.sop-bar a,
.sop-control-layers-toggle {
    background-position: 50% 50%;
    background-repeat: no-repeat;
    display: block;
}
.sop-bar a:hover {
    background-color: #f4f4f4;
}
.sop-bar a:first-child {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}
.sop-bar a:last-child {
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    border-bottom: none;
}
.sop-bar a.sop-disabled {
    cursor: default;
    background-color: #f4f4f4;
    color: #bbb;
}

.sop-touch .sop-bar a {
    width: 30px;
    height: 30px;
    line-height: 30px;
}


/* zoom control */

.sop-control-zoom-in,
.sop-control-zoom-out {
    font: bold 18px 'Lucida Console', Monaco, monospace;
    text-indent: 1px;
}
.sop-control-zoom-out {
    font-size: 20px;
}

.sop-touch .sop-control-zoom-in {
    font-size: 22px;
}
.sop-touch .sop-control-zoom-out {
    font-size: 24px;
}


/* layers control */

.sop-control-layers {
    box-shadow: 0 1px 5px rgba(0,0,0,0.4);
    background: #fff;
    border-radius: 5px;
}
.sop-control-layers-toggle {
    background-image: url('img/layers.png');
    width: 36px;
    height: 36px;
}
.sop-retina .sop-control-layers-toggle {
    background-image: url('img/layers-2x.png');
    background-size: 26px 26px;
}
.sop-touch .sop-control-layers-toggle {
    width: 44px;
    height: 44px;
}
.sop-control-layers .sop-control-layers-list,
.sop-control-layers-expanded .sop-control-layers-toggle {
    display: none;
}
.sop-control-layers-expanded .sop-control-layers-list {
    display: block;
    position: relative;
}
.sop-control-layers-expanded {
    padding: 6px 10px 6px 6px;
    color: #333;
    background: #fff;
}
.sop-control-layers-selector {
    margin-top: 2px;
    position: relative;
    top: 1px;
}
.sop-control-layers label {
    display: block;
}
.sop-control-layers-separator {
    height: 0;
    border-top: 1px solid #ddd;
    margin: 5px -10px 5px -6px;
}


/* attribution and scale controls */

.sop-container .sop-control-attribution {
    background: #fff;
    background: rgba(255, 255, 255, 0.7);
    margin: 0;
}
.sop-control-attribution,
.sop-control-scale-line {
    padding: 0 5px;
    color: #333;
}
.sop-control-attribution a {
    text-decoration: none;
}
.sop-control-attribution a:hover {
    text-decoration: underline;
}
.sop-container .sop-control-attribution,
.sop-container .sop-control-scale {
    font-size: 11px;
}
.sop-left .sop-control-scale {
    margin-left: 5px;
}
.sop-bottom .sop-control-scale {
    margin-bottom: 5px;
}
.sop-control-scale-line {
    border: 2px solid #777;
    border-top: none;
    line-height: 1.1;
    padding: 2px 5px 1px;
    font-size: 11px;
    white-space: nowrap;
    overflow: hidden;
    -moz-box-sizing: content-box;
    box-sizing: content-box;

    background: #fff;
    background: rgba(255, 255, 255, 0.5);
    text-align:  center;
    text-shadow:-1px 0 white,0 1px white,1px 0 white,0 -1px #fff;
}
.sop-control-scale-image {
    width: 54px;
    height: 10px;
    font-size: 11px;
    white-space: nowrap;
    overflow: hidden;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    background-position: -78px -332px;
    background-repeat: no-repeat;
    margin-top: -4px;
}
.sop-control-scale-title {
    text-align:  center;
    text-shadow:-1px 0 white,0 1px white,1px 0 white,0 -1px #fff;
}
.sop-control-scale-line:not(:first-child) {
    border-top: 2px solid #777;
    border-bottom: none;
    margin-top: -2px;
}
.sop-control-scale-line:not(:first-child):not(:last-child) {
    border-bottom: 2px solid #777;
}

.sop-touch .sop-control-attribution,
.sop-touch .sop-control-layers,
.sop-touch .sop-bar {
    box-shadow: none;
}
.sop-touch .sop-control-layers,
.sop-touch .sop-bar {
    border: 2px solid rgba(0,0,0,0.2);
    background-clip: padding-box;
}


/* infowindow */

.sop-infowindow {
    position: absolute;
    text-align: center;
}
.sop-infowindow-content-wrapper {
    padding: 1px;
    text-align: left;
    border-radius: 12px;
}
.sop-infowindow-content {
    margin: 13px 19px;
    line-height: 1.4;
}
.sop-infowindow-content p {
    margin: 18px 0;
}
.sop-infowindow-tip-container {
    margin: 0 auto;
    width: 40px;
    height: 20px;
    position: relative;
    overflow: hidden;
}
.sop-infowindow-tip {
    width: 17px;
    height: 17px;
    padding: 1px;

    margin: -10px auto 0;

    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
.sop-infowindow-content-wrapper,
.sop-infowindow-tip {
    background: white;

    box-shadow: 0 3px 14px rgba(0,0,0,0.4);
}
.sop-container a.sop-infowindow-close-button {
    position: absolute;
    top: 0;
    right: 0;
    padding: 4px 4px 0 0;
    text-align: center;
    width: 18px;
    height: 14px;
    font: 16px/14px Tahoma, Verdana, sans-serif;
    color: #c3c3c3;
    text-decoration: none;
    font-weight: bold;
    background: transparent;
}
.sop-container a.sop-infowindow-close-button:hover {
    color: #999;
}
.sop-infowindow-scrolled {
    overflow: auto;
    border-bottom: 1px solid #ddd;
    border-top: 1px solid #ddd;
}

.sop-oldie .sop-infowindow-content-wrapper {
    zoom: 1;
}
.sop-oldie .sop-infowindow-tip {
    width: 24px;
    margin: 0 auto;

    -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
    filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
}
.sop-oldie .sop-infowindow-tip-container {
    margin-top: -1px;
}

.sop-oldie .sop-control-zoom,
.sop-oldie .sop-control-layers,
.sop-oldie .sop-infowindow-content-wrapper,
.sop-oldie .sop-infowindow-tip {
    border: 1px solid #999;
}

.sop-control-background {
    background-image:  url('img/controls-static.png');
}

/* pan control */
.sop-control-pan {
    background-position: -52px 0px;
    width: 60px;
    height: 63px;
}
.sop-control-pan-left {
    background-position: -104px -63px;
    width: 8px;
    height: 13px
}
.sop-control-pan-right {
    background-position: -130px -77px;
    width: 8px;
    height: 13px
}
.sop-control-pan-left:hover {
    background-position: -130px -90px;
    width: 8px;
    height: 13px
}
.sop-control-pan-right:hover {
    background-position: -125px -112px;
    width: 9px;
    height: 12px
}
.sop-control-pan-up:hover {
    background-position: -125px -156px;
    width: 12px;
    height: 10px
}
.sop-control-pan-up {
    background-position: -125px -166px;
    width: 12px;
    height: 10px
}
.sop-control-pan-down:hover {
    background-position: -125px -124px;
    width: 12px;
    height: 9px
}
.sop-control-pan-down {
    background-position: -130px -243px;
    width: 12px;
    height: 9px
}

/* div icon */

.sop-div-icon {
    background: #fff;
    border: 1px solid #666;
}


/* Slider */
.sop-control-zoomSlider-wrap {
    background-color: transparent;
    border-bottom: 0px solid #ccc;
}

.sop-control-zoomSlider-bar-deactive {
    background-position: -26px -0px !important;
    width: 26px;
    height: 180px;
    border: 0px;
}

.sop-control-zoomSlider-bar-active {
    background-position: -0px -0px !important;
    width: 26px;
    height: 180px;
    border: 0px;
}

.sop-control-zoomSlider-bar-levelInfo-background {
    background-image:  url('img/controls-static2.png');
}

.sop-control-zoomSlider-bar-levelInfo-left {
    left: 30px;
    top: 30px;
    position: absolute;
}

.sop-control-zoomSlider-bar-levelInfo-left-1 {
    background-position: 0 -347px;
    width: 39px;
    height: 15px;
}

.sop-control-zoomSlider-bar-levelInfo-left-3 {
    background-position: 0 -332px;
    width: 39px;
    height: 15px;
}

.sop-control-zoomSlider-bar-levelInfo-left-5 {
    background-position: 0 -317px;
    width: 39px;
    height: 15px;
}

.sop-control-zoomSlider-bar-levelInfo-left-8 {
    background-position: 0 -302px;
    width: 39px;
    height: 15px;
}

.sop-control-zoomSlider-bar-levelInfo-left-11 {
    background-position: 0 -287px;
    width: 39px;
    height: 15px;
}

.sop-control-zoomSlider-bar-levelInfo-left-13 {
    background-position: -78px -301px;
    width: 39px;
    height: 15px;
}

.sop-control-zoomSlider-bar-levelInfo-right {
    left: -45px;
    top: 30px;
    position: absolute;
}
.sop-control-zoomSlider-bar-levelInfo-right-1 {
    background-position: -39px -347px;
    width: 39px;
    height: 15px;
}
.sop-control-zoomSlider-bar-levelInfo-right-3 {
    background-position: -39px -332px;
    width: 39px;
    height: 15px;
}
.sop-control-zoomSlider-bar-levelInfo-right-5 {
    background-position: -39px -317px;
    width: 39px;
    height: 15px;
}
.sop-control-zoomSlider-bar-levelInfo-right-8 {
    background-position: -39px -302px;
    width: 39px;
    height: 15px;
}
.sop-control-zoomSlider-bar-levelInfo-right-11 {
    background-position: -39px -287px;
    width: 39px;
    height: 15px;
}
.sop-control-zoomSlider-bar-levelInfo-right-13 {
    background-position: -78px -301px;
    width: 39px;
    height: 15px;
}

.sop-control-zoomSlider-slider {
    position: relative;
    background-position: -110px -243px;
    width: 20px;
    height: 11px;
    margin-left: 3px;
}

.sop-control-zoomSlider-bar-deactive:hover, .sop-control-zoomSlider-bar-active:hover {
    cursor: pointer;
}

.sop-control-zoomSlider-slider:hover {
    cursor: default;
    cursor: -webkit-grab;
    cursor: -moz-grab;
}

.sop-control-zoomSlider-slider:active {
    cursor: move;
    cursor: -webkit-grabbing;
    cursor: -moz-grabbing;
}

.sop-dragging .sop-control-zoomSlider,
.sop-dragging .sop-control-zoomSlider-wrap,
.sop-dragging .sop-control-zoomSlider-bar-deactive,
.sop-dragging .sop-control-zoomSlider-bar-active,
.sop-dragging .sop-control-zoomSlider a,
.sop-dragging .sop-control-zoomSlider a.sop-control-zoomSlider-disabled,
.sop-dragging .sop-control-zoomSlider-slider:hover {
    cursor: move;
    cursor: -webkit-grabbing;
    cursor: -moz-grabbing;
}

/** sop Zoom Styles **/
.sop-container .sop-control-zoomSlider {
    margin-left: 10px;
    margin-top: 10px;
    box-shadow: none;
}

.sop-control-zoomSlider a {
    width: 26px;
    height: 26px;
    text-align: center;
    text-decoration: none;
    color: black;
    display: block;
}

.sop-control-zoomSlider a:hover {
    background-color: #f4f4f4;
}

.sop-control-zoomSlider-in {
    background-position: -112px -26px !important;
    width: 26px;
    height: 26px;
    font: bold 18px 'Lucida Console', Monaco, monospace;
}

.sop-control-zoomSlider-in:after {
    content: ""
}

.sop-control-zoomSlider-out {
    background-position: -112px -0px !important;
    width: 26px;
    height: 26px;
    font: bold 22px 'Lucida Console', Monaco, monospace;
}

.sop-control-zoomSlider-out:after {
    content: ""
}

.sop-control-zoomSlider a.sop-control-zoomSlider-disabled {
    cursor: default;
    color: #bbb;
}

/* Touch */
.sop-touch .sop-control-zoomSlider-bar-active,
.sop-touch .sop-control-zoomSlider-bar-deactive {
    background-position: 10px 0px;
}

.sop-touch .sop-control-zoomSlider-slider {
    width: 16px;
    margin-left: -7px;
}
.sop-touch .sop-control-zoomSlider a {
    width: 30px;
    line-height: 30px;
}

.sop-touch .sop-control-zoomSlider a:hover {
    width: 30px;
    line-height: 30px;
}

.sop-touch .sop-control-zoomSlider-in {
    font-size: 24px;
    line-height: 29px;
}

.sop-touch .sop-control-zoomSlider-out {
    font-size: 28px;
    line-height: 30px;
}

.sop-touch .sop-control-zoomSlider {
    border: 4px solid rgba(0, 0, 0, 0.3);
}
.icon {
    position: relative;
    background-position: -110px -243px;
    width: 20px;
    height: 11px;
    margin-left: 3px;
}

/* caption */

.sop-caption {
    position: absolute;
    font-size: 9pt;
    font-weight: bold;
    padding-top: 10px;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    -webkit-user-drag: none;
    white-space: nowrap;
}

.sop-caption-span {
    padding: 2px;
}

/* Measure control */

.sop-control-measure {
    margin-left: 10px;
    margin-top: 10px;
    box-shadow: none;
}

.sop-distance-out {
    background-position: -52px -63px;
    width: 26px;
    height: 25px
}

.sop-distance-selected {
    background-position: -112px -52px;
    width: 26px;
    height: 25px;
}

.sop-area-selected {
    background-position: -104px -77px;
    width: 26px;
    height: 25px;
}

.sop-area-out {
    background-position: -78px -63px;
    width: 26px;
    height: 25px;
}

.sop-clear-out {
    background-position: -78px -88px;
    width: 26px;
    height: 24px
}

.sop-clear-out:hover {
    background-position: -52px -88px;
    width: 26px;
    height: 24px
}

.sop-distance-start {
    background-position: -75px -265px;
    width: 37px;
    height: 21px
}

.sop-distance-icon {
    background-position: -127px -145px;
    width: 11px;
    height: 11px
}

.sop-distance-delete {
    background-position: -107px -156px;
    width: 18px;
    height: 17px;
    position: absolute;
}

.sop-area-icon {
    background-position: -127px -134px;
    width: 11px;
    height: 11px
}

.sop-area-delete {
    background-position: -107px -112px;
    width: 18px;
    height: 17px
}

.sop-measure-infoWindow {
    font-size: 12px;
    align: center;
    line-height: normal;
    font-style: normal;
    font-weight: bold;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    -webkit-user-drag: none;
    -ms-user-select:none;
}

.sop-masure-infoValue {
    padding-left: 10px;
}

/* mouse right Button Control Event Cleared*/
.sop-measure-bluemouse {
    background-position: -112px -254px;
    width: 11px;
    height: 16px;
    display: inline-block;
}

.sop-measure-orangeemouse {
    background-position: -124px -254px;
    width: 11px;
    height: 16px;
    display: inline-block;
}

.sop-measusre-distanceInfo{
    padding-top: 3px;
    margin-top : 5px;
    font-size: 12px;
    font-style: normal;
    font-weight: bold;
}

.sop-measusre-areaInfo{
    padding-top: 3px;
    margin-top : 5px;
    font-size: 12px;
    font-style: normal;
    font-weight: bold;
}

/* MarkerCluster */

.sop-cluster-anim .sop-marker-icon, .sop-cluster-anim .sop-marker-shadow {
    -webkit-transition: -webkit-transform 0.3s ease-out, opacity 0.3s ease-in;
    -moz-transition: -moz-transform 0.3s ease-out, opacity 0.3s ease-in;
    -o-transition: -o-transform 0.3s ease-out, opacity 0.3s ease-in;
    transition: transform 0.3s ease-out, opacity 0.3s ease-in;
}

.marker-cluster-small1 {
    background-image: url('img/markercluster-1.png');
}
.marker-cluster-small2 {
    background-image: url('img/markercluster-2.png');
}
.marker-cluster-small3 {
    background-image: url('img/markercluster-3.png');
}
.marker-cluster-medium1 {
    background-image: url('img/markercluster-4.png');
}
.marker-cluster-medium2 {
    background-image: url('img/markercluster-5.png');
}
.marker-cluster-medium3 {
    background-image: url('img/markercluster-6.png');
}
.marker-cluster-large {
    background-image: url('img/markercluster-7.png');
}

.marker-cluster {
    /*background-clip: padding-box;*/
    /*border-radius: 20px;*/
    /*background-size: contain;*/
}
.marker-cluster div {
    width: 50px;
    height: 50px;
    margin-left: 5px;
    margin-top: 5px;

    text-align: center;
    border-radius: 15px;
    font: 12px "Helvetica Neue", Arial, Helvetica, sans-serif;
}
.marker-cluster span {
    line-height: 50px;
    color: #ffffff;
}

/* ToolTip */

.sop-tooltip {
    background: rgb(235, 235, 235);
    /*background: rgba(235, 235, 235, 0.81);*/
    background: rgba(255, 255, 255, 1);
    background-clip: padding-box;
    /*border-color: #777;*/
    /*border-color: rgba(0,0,0,0.25);*/
    border-color: rgba(255,255,255,0);
    border-radius: 10px;
    border-style: solid;
    border-width: 4px;
    color: #111;
    display: block;
    /*font: 15px Dotum, Arial, Helvetica, sans-serif;*/
    font: 12px/20px "Helvetica Neue", Arial, Helvetica, sans-serif;
    font-weight: bold;
    padding: 1px 6px;
    position: absolute;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    pointer-events: none;
    white-space: nowrap;
    z-index: 6;
}

.sop-tooltip.sop-clickable {
    cursor: pointer;
    pointer-events: auto;
}

.sop-tooltip:before,
.sop-tooltip:after {
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    content: none;
    position: absolute;
    top: 5px;
}

.sop-tooltip:before {
    border-right: 6px solid black;
    border-right-color: inherit;
    left: -10px;
}

.sop-tooltip:after {
    border-left: 6px solid black;
    border-left-color: inherit;
    right: -10px;
}

.sop-tooltip-right:before,
.sop-tooltip-left:after {
    content: "";
}

.admName {
    font-size: 16px;
    color: #740000;
}