.map,
.map * {
  box-sizing: border-box;
  -ms-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

.map {
  clear: both;
  position: relative;
  width: 100%;
  overflow: hidden;
}

.maps-container {
  width: 100%;
  height: 0;
  padding-bottom: 40%;
  position: relative;
  overflow-x: hidden !important;
  background: #ffffff;
  z-index: 3;
}

.maps-container-inner {
  position: absolute;
  width: 100%;
  z-index: 3;
  height: 80%;
  /* padding-bottom: 32.5%; */
}

.map-control {
  width: 30px;
  height: 30px;
  cursor: pointer;
  position: absolute;
  right: 20px;
  z-index: 15;
  background-size: 15px 15px;
}

.map-control:hover {
  background-size: 20px;
}

.map-control-zoomin {
    background: url(../images/zoom-in.svg);
    top: 20px;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 50%;
    background-size: 12px !important;
}

.map-control-zoomout {
  background: url(../images/zoom-out.svg);
  top: 60px;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50%;
  background-size: 12px !important;
}

.map-image {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background-color: #ffffff;
}

.map-image svg,
.map-image img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
}

.marker-all {
  height: 280px;
  position: absolute;
  display: inline-block;
  z-index: 20;
  margin-left: -0.4%;
  margin-bottom: -0.1%;
  transform-origin: 0 100% 0;
  -moz-transform-origin: 0 100% 0;
  -webkit-transform-origin: 0 100% 0;
  -ms-transform-origin: 0 100% 0;
}

.maps-zoomed-container {
  position: absolute;
  width: 100%;
  height: 100%;
  transform: scale(1);
  transform-origin: 0 0;
  left: 0;
  top: 0;
}

.marker-all:hover {
  z-index: 25;
}

.marker-all a {
  width: 160px;
  height: 240px;
  display: block;
  position: absolute;
  left: 0px;
}

.marker-all a:before {
  content: '';
  width: 240px;
  height: 240px;
  background: url(../images/marker.svg) left center no-repeat;
  background-size: 100%;
  display: block;
  position: absolute;
  left: -70px;
  bottom: 0;
}

.marker-all span {
  width: auto;
  height: auto;
  display: none;
  background-color: #c4c4c4;
  z-index: 27;
  padding: 20px 150px;
  font-size: 160px;
  margin-left: 190px;
  color: #004576;
}

.marker-all:hover span {
  display: block;
}

.marker-group a {
  display: block;
  position: absolute;
  z-index: 11;
  -webkit-backface-visibility: hidden;
  -webkit-transform: translateZ(0) scale(1, 1);
}

.marker-group span {
  display: block;
}

.marker-group a {
  -moz-opacity: 0.50;
  -khtml-opacity: 0.50;
  opacity: 0.50;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50);
  filter: alpha(opacity=50);
}

.marker-group a:hover {
  -moz-opacity: 1;
  -khtml-opacity: 1;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);
  filter: alpha(opacity=100);
}

#group-marker-northamerica {
  left: 33%;
  bottom: 66%;
}

#group-marker-southamerica {
  left: 39%;
  bottom: 34%;
}

#group-marker-europe {
  left: 50%;
  bottom: 72%;
}

#group-marker-africa {
  left: 54%;
  bottom: 42%;
}

#group-marker-middleeast {
  left: 57%;
  bottom: 61%;
}

#group-marker-india {
  left: 64%;
  bottom: 57%;
}

#group-marker-asia {
  left: 66%;
  bottom: 66%;
}

#group-marker-oceania {
  left: 73.5%;
  bottom: 25%;
}




/***************************
* SCROLLBARS
***************************/
.scrollbar,
.scrollbar .up,
.scrollbar .down,
.scrollbar .left,
.scrollbar .right,
.vertical-scrollbar .track .horizontal-scrollbar .track,
.scrollbar .track .dragBar {
  -moz-user-select: -moz-none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  border: 0;
  outline: none;
}

.scrollbar {
  position: absolute;
  background: #fff;
  visibility: hidden;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -moz-opacity: 0.50;
  -khtml-opacity: 0.50;
  opacity: 0.50;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50);
  filter: alpha(opacity=50);
}

.scrollbar:hover {
  -moz-opacity: 1;
  -khtml-opacity: 1;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);
  filter: alpha(opacity=100);
}

.vertical-scrollbar {
  right: 0;
  top: 0;
  bottom: 0;
  width: 15px;
  height: auto;
}

.vertical-scrollbar:hover {
  width: 20px;
}

.vertical-scrollbar.visible {
  visibility: visible;
}

.horizontal-scrollbar {
  left: 0;
  right: 0;
  bottom: 0;
  width: auto;
  height: 15px;
}

.horizontal-scrollbar:hover {
  height: 20px;
}

.horizontal-scrollbar.visible {
  visibility: visible;
}

.scrollbar .up,
.scrollbar .down,
.scrollbar .left,
.scrollbar .right {
  width: 20px;
  height: 20px;
  position: absolute;
  background: #e6e6e6;
  cursor: pointer;
  background-repeat: no-repeat;
  background-size: 70%;
}

.scrollbar .up:hover,
.scrollbar .down:hover,
.scrollbar .left:hover,
.scrollbar .right:hover,
.scrollbar .track .dragBar:hover {
  background-color: #3a9d82;
}

.scrollbar .up {
  left: 0;
  top: 0;
  background-image: url("../images/icons/scrollbar-arrow-up.svg");
  background-position: center center;
  width: 100%;
}

.scrollbar .down {
  left: 0;
  bottom: 20px;
  background-image: url("../images/icons/scrollbar-arrow-down.svg");
  background-position: center center;
  width: 100%;
}

.scrollbar .left {
  left: 0;
  bottom: 0;
  background-image: url("../images/icons/scrollbar-arrow-left.svg");
  background-position: center center;
  height: 100%;
}

.scrollbar .right {
  right: 20px;
  bottom: 0;
  background-image: url("../images/icons/scrollbar-arrow-right.svg");
  background-position: center center;
  height: 100%;
}

.vertical-scrollbar .track {
  position: absolute;
  width: 100%;
  height: auto;
  left: 0;
  top: 20px;
  bottom: 40px;
  background: #f1f1f1;
  overflow: hidden;
}

.horizontal-scrollbar .track {
  position: absolute;
  width: auto;
  height: 100%;
  left: 20px;
  right: 40px;
  bottom: 0px;
  background: #f8f8f8;
  overflow: hidden;
}

.scrollbar .track .dragBar {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: #3a9d82;
  cursor: pointer;
  z-index: 10;
}

.vertical-scrollbar .track .dragBar {
  height: 33%;
  top: 33%;
  width: 100%;
}

.horizontal-scrollbar .track .dragBar {
  width: 33%;
  left: 33%;
  height: 100%;
}

.page_select {
  font-size: 14px;
  border: solid 1px;
  font-weight: 500;
  padding: 5px 7px;
  border-radius: 2px;
}

.invoice-col-list:last-child{
  border: none !important;
}


/* Center the loader */
#loader {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  width: 50px;
  height: 50px;
  margin: -76px 0 0 -76px;
  border: 5px solid #f3f3f3;
  border-radius: 50%;
  border-top: 5px solid #3498db;
  -webkit-animation: spin 2s linear infinite;
  animation: spin 2s linear infinite;
}

@-webkit-keyframes spin {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Add animation to "page content" */
.animate-bottom {
  position: relative;
  -webkit-animation-name: animatebottom;
  -webkit-animation-duration: 1s;
  animation-name: animatebottom;
  animation-duration: 1s
}

@-webkit-keyframes animatebottom {
  from { bottom:-100px; opacity:0 } 
  to { bottom:0px; opacity:1 }
}

@keyframes animatebottom { 
  from{ bottom:-100px; opacity:0 } 
  to{ bottom:0; opacity:1 }
}

#myDiv {
  display: none;
  text-align: center;
}
/* horizontal panel*/

.panel-container {
  display: flex;
  flex-direction: row;
  border: 1px solid silver;
  overflow: hidden;
  
  /* avoid browser level touch actions */
  xtouch-action: none;
}


/***************************
* RESPONSIVE STATES
***************************/
@media screen and (min-width: 1200px) {
  .maps-container {
    height: calc(100vh - 163px);
    padding-bottom: 0;
  }
  .maps-container.standard-maps-container {
    height: calc(100vh - 105px);
    padding-bottom: 0;
}
}
@media screen and (max-width: 1300px) {

  .maps-container-inner {
    height: 0;
    padding-bottom: 70.5%;
  }
}

@media screen and (max-width: 1024px) {

  .maps-container {
    width: 100%;
    height: 484px;
    padding-bottom: 0;
    margin-top: 54px;
  }

  .map {
    margin-top: 0;
  }
}

@media screen and (max-width: 480px) {
  .maps-container {
    height: 300px;
  }
}
