.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: hidden !important;
  background: #cccccc;
  z-index: 3;
  margin-top: 30px;
}

.maps-container-inner {
  position: absolute;
  width: 100%;
  z-index: 3;
  height: 0;
  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) center no-repeat;
  top: 20px;
}

.map-control-zoomout {
  background: url(../images/zoom-out.svg) center no-repeat;
  top: 50px;
}

.map-image {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-color: #cccccc;
}

.map-image svg,
.map-image img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
}

.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: 1000%;
  height: 1000%;
  transform: scale(0.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%;
}






/***************************
* RESPONSIVE STATES
***************************/

@media screen and (max-width: 1300px) {
  .maps-container {
    height: 500px;
    padding-bottom: 0;
  }

  .maps-container-inner {
    height: 0;
    padding-bottom: 32.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;
  }
}
