.ol-overlaycontainer-stopevent {
  /* BOUG ol6.1 to enable DragOverlay interaction 
  position: initial!important;
  */
}

/** ol.popup */
.ol-popup {
  font-size:0.9em;
  -webkit-user-select: none;  
  -moz-user-select: none;    
  -ms-user-select: none;      
  user-select: none;
}
.ol-popup .ol-popup-content {
  overflow:hidden;
  cursor: default;
  padding: 0.25em 0.5em;
}
.ol-popup.hasclosebox .ol-popup-content {
  margin-right: 1.7em;
}
.ol-popup .ol-popup-content:after {
  clear: both;
  content: "";
  display: block;
  font-size: 0;
  height: 0;
}

/** Anchor position */
.ol-popup .anchor {
  display: block;
  width: 0px;
  height: 0px;
  background:red;
  position: absolute;
  margin: -11px 22px;
  pointer-events: none;
}
.ol-popup .anchor:after,
.ol-popup .anchor:before {
  position:absolute;
}
.ol-popup-right .anchor:after,
.ol-popup-right .anchor:before {
  right:0;
}
.ol-popup-top .anchor { top:0; }
.ol-popup-bottom .anchor { bottom:0; }
.ol-popup-right .anchor { right:0; }
.ol-popup-left .anchor { left:0; }
.ol-popup-center .anchor { 
  left:50%; 
  margin-left: 0!important;
}
.ol-popup-middle .anchor { 
  top:50%; 
  margin-top: 0!important;
}
.ol-popup-center.ol-popup-middle .anchor { 
  display:none; 
}

/** Fixed popup */
.ol-popup.ol-fixed {
  margin: 0!important;
  top: .5em!important;
  right: .5em!important;
  left: auto!important;
  bottom: auto!important;
  transform: none!important;
}
.ol-popup.ol-fixed .anchor {
  display: none;
}
.ol-popup.ol-fixed.anim > div {
  animation: none;
}

.ol-popup .ol-fix {
  width: 1em;
  height: .9em;
  background: #fff;
  position: relative;
  float: right;
  margin: .2em;
  cursor: pointer;
}
.ol-popup .ol-fix:before {
  content: "";
  width: .8em;
  height: .7em;
  display: block;
  border: .1em solid #666;
      border-right-width: 0.1em;
  border-right-width: .3em;
  box-sizing: border-box;
  margin: .1em;
}

/** Add a shadow to the popup */
.ol-popup.shadow {
  box-shadow: 2px 2px 2px 2px rgba(0,0,0,0.5);
}

/** Close box */
.ol-popup .closeBox {
  background-color: rgba(0, 60, 136, 0.5);
  color: #fff;
  border: 0;
  border-radius: 2px;
  cursor: pointer;
  float: right;
  font-size: 0.9em;
  font-weight: 700;
  width: 1.4em;
  height: 1.4em;
  margin: 5px 5px 0 0;
  padding: 0;
  position: relative;
  display:none;
}
.ol-popup.hasclosebox .closeBox {
  display:block;
}

.ol-popup .closeBox:hover {
  background-color: rgba(0, 60, 136, 0.7);
}
/* the X */
.ol-popup .closeBox:after {
  content: "\00d7";
  font-size:1.5em;
  top: 50%;
  left: 0;
  right: 0;
  width: 100%;
  text-align: center;
  line-height: 1em;
  margin: -0.5em 0;
  position: absolute;
}

/** Modify touch poup */
.ol-popup.modifytouch {
  background-color: #eee;
}
.ol-popup.modifytouch .ol-popup-content {	
  padding: 0 0.25em;
  font-size: 0.85em;
  white-space: nowrap;
}
.ol-popup.modifytouch .ol-popup-content a {
  text-decoration: none;
}

/** Tool tips popup*/
.ol-popup.tooltips {
  background-color: #ffa;
}
.ol-popup.tooltips .ol-popup-content{
  padding: 0 0.25em;
  font-size: 0.85em;
  white-space: nowrap;
}

/** Default popup */
.ol-popup.default > div {
  background-color: #fff;
  border:1px solid #69f;
  border-radius: 5px;
}
.ol-popup.default {
  margin: -11px 0;
  transform: translate(0, -22px);
}
.ol-popup-top.ol-popup.default {
  margin: 11px 0;
  transform: none;
}
.ol-popup-left.default {
  margin: -11px -22px;
  transform: translate(0, -22px);
}
.ol-popup-top.ol-popup-left.default {
  margin: 11px -22px;
  transform: none;
}
.ol-popup-right.default {
  margin: -11px 22px;
  transform: translate(44px, -22px);
}
.ol-popup-top.ol-popup-right.default {
  margin: 11px 22px;
  transform: translate(44px, 0);
}
.ol-popup-middle.default {
  margin:0 10px;
  transform: none;
}
.ol-popup-middle.ol-popup-right.default {
  margin:0 -10px;
  transform: translate(-20px, 0);
}

.ol-popup.default .anchor {
  color: #69f;
}
.ol-popup.default .anchor:after,
.ol-popup.default .anchor:before {
  content:"";
  border-color: currentColor transparent;
  border-style: solid;
  border-width: 11px;
  margin: 0 -11px;
}
.ol-popup.default .anchor:after {
  border-color: #fff transparent;
  border-width: 11px;
  margin: 2px -11px;
}

.ol-popup-top.default .anchor:before,
.ol-popup-top.default .anchor:after {
  border-top:0;
  top:0;
}

.ol-popup-bottom.default .anchor:before,
.ol-popup-bottom.default .anchor:after {
  border-bottom:0;
  bottom:0;
}

.ol-popup-middle.default .anchor:before {
  margin: -11px -33px;
  border-color: transparent currentColor;
}
.ol-popup-middle.default .anchor:after {
  margin: -11px -31px;
  border-color: transparent #fff;
}
.ol-popup-middle.ol-popup-left.default .anchor:before,
.ol-popup-middle.ol-popup-left.default .anchor:after {
  border-left:0;
}
.ol-popup-middle.ol-popup-right.default .anchor:before,
.ol-popup-middle.ol-popup-right.default .anchor:after {
  border-right:0;
}

/** Placemark popup */
.ol-popup.placemark {
  color: #c00;
  margin: -.65em 0;
  transform: translate(0, -1.3em);
}
.ol-popup.placemark > div {
  position: relative;
  font-size: 15px;	
  background-color: #fff;
  border: 0;
  box-shadow: inset 0 0 0 0.45em;
  width: 2em;
  height: 2em;
  border-radius: 50%;
  min-width: unset;
  box-sizing: border-box;
}
.ol-popup.placemark .ol-popup-content {
  overflow: hidden;
  cursor: default;
  text-align: center;
  padding: .25em 0;
  width: 1em;
  height: 1em;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  line-height: 1em;
}
.ol-popup.placemark .anchor {
  margin: 0;
}

.ol-popup.placemark .anchor:before {
  content: "";
  margin: -.5em -.5em;
  background: transparent;
  width: 1em;
  height: .5em;
  border-radius: 50%;
  box-shadow: 0 1em 0.5em rgba(0,0,0,.5);
}
.ol-popup.placemark .anchor:after {
  content: "";
  border-color: currentColor transparent;
  border-style: solid;
  border-width: 1em .7em 0;
  margin: -.75em -.7em;
  bottom:0;
}

/** Placemark Shield */
.ol-popup.placemark.shield > div {
  border-radius: .2em;
}

.ol-popup.placemark.shield .anchor:after {
    border-width: .8em 1em 0;
    margin: -.7em -1em;
}

/** Placemark Blazon */
.ol-popup.placemark.blazon > div {
  border-radius: .2em;
}

/** Placemark Needle/Pushpin */
.ol-popup.placemark.pushpin {	
  margin: -2.2em 0;
  transform: translate(0, -4em);
}
.ol-popup.placemark.pushpin > div {	
  border-radius: 0;
  background: transparent!important;
  box-shadow: inset 2em 0 currentColor;
  width: 1.1em;
}
.ol-popup.placemark.pushpin > div:before {
  content: "";
  width: 1.3em;
  height: 1.5em;
  border-style: solid;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  border-color: currentColor transparent;
  border-width: .3em .5em .5em;
  pointer-events: none;
}

.ol-popup.placemark.needle {	
  margin: -2em 0;
  transform: translate(0, -4em);
}
.ol-popup.placemark.pushpin .anchor,
.ol-popup.placemark.needle .anchor {
  margin: -1.2em;
}
.ol-popup.placemark.pushpin .anchor:after,
.ol-popup.placemark.needle .anchor:after {
  border-style: solid;
    border-width: 2em .15em 0;
    margin: -.55em -0.2em;
    width: .1em;
}
.ol-popup.placemark.pushpin .anchor:before,
.ol-popup.placemark.needle .anchor:before {
    margin: -.75em -.5em;
}

/** Placemark Flag */
.ol-popup.placemark.flagv {
  margin: -2em 1em;
  transform: translate(0, -4em);
}
.ol-popup.placemark.flagv > div {
  border-radius: 0;
  box-shadow: none;
  background-color: transparent;
}
.ol-popup.placemark.flagv > div:before {
  content: "";
  border: 1em solid transparent;
  position: absolute;
  border-left: 2em solid currentColor;
  pointer-events: none;
}
.ol-popup.placemark.flagv .anchor {
  margin: -1.4em;
}

.ol-popup.placemark.flag {	
  margin: -2em 1em;
  transform: translate(0, -4em);
}
.ol-popup.placemark.flag > div {	
  border-radius: 0;
  transform-origin: 0% 150%!important;
}
.ol-popup.placemark.flag .anchor {
  margin: -1.4em;
}
.ol-popup.placemark.flagv .anchor:after, 
.ol-popup.placemark.flag .anchor:after {
  border-style: solid;
  border-width: 2em .15em 0;
  margin: -.55em -1em;
  width: .1em;
}
.ol-popup.placemark.flagv .anchor:before,
.ol-popup.placemark.flag .anchor:before {
  margin: -.75em -1.25em;
}

.ol-popup.placemark.flag.finish {
  margin: -2em 1em;
}
.ol-popup.placemark.flag.finish > div {
  background-image: 
    linear-gradient(45deg, currentColor 25%, transparent 25%, transparent 75%, currentColor 75%, currentColor), 
    linear-gradient(45deg, currentColor 25%, transparent 25%, transparent 75%, currentColor 75%, currentColor);
  background-size: 1em 1em;
  background-position: .5em 0, 0 .5em;
  box-shadow: inset 0 0 0 .25em;
}

/** Black popup */
.ol-popup.black .closeBox {
  background-color: rgba(0,0,0, 0.5);
  border-radius: 5px;
  color: #f80;
}
.ol-popup.black .closeBox:hover {
  background-color: rgba(0,0,0, 0.7);
  color:#da2;
}

.ol-popup.black {
  margin: -20px 0;
  transform: translate(0, -40px);
}
.ol-popup.black > div{
  background-color: rgba(0,0,0,0.6);
  border-radius: 5px;
  color:#fff;
}
.ol-popup-top.ol-popup.black {
  margin: 20px 0;
  transform: none;
}
.ol-popup-left.black {
  margin: -20px -22px;
  transform: translate(0, -40px);
}
.ol-popup-top.ol-popup-left.black {
  margin: 20px -22px;
  transform: none;
}
.ol-popup-right.black {
  margin: -20px 22px;
  transform: translate(44px, -40px);
}
.ol-popup-top.ol-popup-right.black {
  margin: 20px 22px;
  transform: translate(44px, 0);
}
.ol-popup-middle.black {
  margin: 0 11px;
  transform: none;
}
.ol-popup-left.ol-popup-middle.black {
  transform: none;
}
.ol-popup-right.ol-popup-middle.black {
  margin:0 -11px;
  transform: translate(-22px, 0);
}

.ol-popup.black .anchor {
  margin: -20px 11px;
  color: rgba(0,0,0,0.6);
} 
.ol-popup.black .anchor:before {
  content:"";
  border-color: currentColor transparent;
  border-style: solid;
  border-width: 20px 11px;
}

.ol-popup-top.black .anchor:before {
  border-top:0;
  top:0;
}

.ol-popup-bottom.black .anchor:before {
  border-bottom:0;
  bottom:0;
}

.ol-popup-middle.black .anchor:before {
  margin: -20px -22px;
  border-color: transparent currentColor;
}
.ol-popup-middle.ol-popup-left.black .anchor:before {
  border-left:0;
}
.ol-popup-middle.ol-popup-right.black .anchor:before {
  border-right:0;
}

.ol-popup-center.black .anchor:before {
  margin: 0 -10px;
}


/** Green tips popup */
.ol-popup.tips .closeBox {
  background-color: #f00;
  border-radius: 50%;
  color: #fff;
  width:1.2em;
  height:1.2em;
}
.ol-popup.tips .closeBox:hover {
  background-color: #f40;
}

.ol-popup.tips {
  margin: -20px 0;
  transform: translate(0,-40px);
}
.ol-popup.tips > div {
  background-color: #cea;
  border: 5px solid #ad7;
  border-radius: 5px;
  color:#333;
}
.ol-popup-top.ol-popup.tips {
  margin: 20px 0;
  transform: none;
}
.ol-popup-left.tips {
  margin: -20px -22px;
  transform: translate(0,-40px);
}
.ol-popup-top.ol-popup-left.tips {
  margin: 20px -22px;
  transform: none;
}
.ol-popup-right.tips {
  margin: -20px 22px;
  transform: translate(44px,-40px);
}
.ol-popup-top.ol-popup-right.tips {
  margin: 20px 22px;
  transform: translate(44px,0);
}
.ol-popup-middle.tips {
  margin:0;
  transform: none;
}
.ol-popup-left.ol-popup-middle.tips {
  margin: 0 22px;
  transform: none;
}
.ol-popup-right.ol-popup-middle.tips {
  margin: 0 -22px;
  transform: translate(-44px,0);
}

.ol-popup.tips .anchor {
  margin: -18px 22px;
  color: #ad7;
} 
.ol-popup.tips .anchor:before {
  content:"";
  border-color: currentColor transparent;
  border-style: solid;
  border-width: 20px 11px;
}

.ol-popup-top.tips .anchor:before {
  border-top:0;
  top:0;
}
.ol-popup-bottom.tips .anchor:before {
  border-bottom:0;
  bottom:0;
}
.ol-popup-center.tips .anchor:before {
  border-width: 20px 6px;
  margin: 0 -6px;
}
.ol-popup-left.tips .anchor:before {
  border-left:0;
  margin-left:0;
}
.ol-popup-right.tips .anchor:before {
  border-right:0;
  margin-right:0;
}

.ol-popup-middle.tips .anchor:before {
  margin: -6px -41px;
  border-color: transparent currentColor;
  border-width:6px 20px;
}
.ol-popup-middle.ol-popup-left.tips .anchor:before {
  border-left:0;
}
.ol-popup-middle.ol-popup-right.tips .anchor:before {
  border-right:0;
}

/** Warning popup */
.ol-popup.warning .closeBox {
  background-color: #f00;
  border-radius: 50%;
  color: #fff;
  font-size: 0.83em;
}
.ol-popup.warning .closeBox:hover {
  background-color: #f40;
}

.ol-popup.warning {
  background-color: #fd0;
  border-radius: 3px;
  border:4px dashed #f00;
  margin:20px 0;
  color:#900;
  margin: -28px 10px;
  transform: translate(0, -56px);
}
.ol-popup-top.ol-popup.warning {
  margin: 28px 10px;
  transform: none;
}
.ol-popup-left.warning {
  margin: -28px -22px;
  transform: translate(0, -56px);
}
.ol-popup-top.ol-popup-left.warning {
  margin: 28px -22px;
  transform: none;
}
.ol-popup-right.warning {
  margin: -28px 22px;
  transform: translate(44px, -56px);
}
.ol-popup-top.ol-popup-right.warning {
  margin: 28px 22px;
  transform: translate(44px, 0);
}
.ol-popup-middle.warning {
  margin:0;
  transform: none;
}
.ol-popup-left.ol-popup-middle.warning {
  margin:0 22px;
  transform: none;
}
.ol-popup-right.ol-popup-middle.warning {
  margin:0 -22px;
  transform: translate(-44px, 0);
}

.ol-popup.warning .anchor {
  margin: -33px 7px;
} 
.ol-popup.warning .anchor:before {
  content:"";
  border-color: #f00 transparent;
  border-style: solid;
  border-width: 30px 11px;
}

.ol-popup-top.warning .anchor:before {
  border-top:0;
  top:0;
}
.ol-popup-bottom.warning .anchor:before {
  border-bottom:0;
  bottom:0;
}

.ol-popup-center.warning .anchor:before {
  margin: 0 -21px;
}
.ol-popup-middle.warning .anchor:before {
  margin: -10px -33px;
  border-color: transparent #f00;
  border-width:10px 22px;
}
.ol-popup-middle.ol-popup-left.warning .anchor:before {
  border-left:0;
}
.ol-popup-middle.ol-popup-right.warning .anchor:before {
  border-right:0;
}

.ol-popup .ol-popupfeature table {
  width: 100%;
}
.ol-popup .ol-popupfeature table td {
  max-width: 25em;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ol-popup .ol-popupfeature table td img {
  max-width: 100px;
  max-height: 100px;
}
.ol-popup .ol-popupfeature tr:nth-child(2n+1) {
  background-color: #eee;
}
.ol-popup .ol-popupfeature .ol-zoombt {
  border: 0;
  width: 2em;
  height: 2em;
  display: inline-block;
  color: rgba(0,60,136,.5);
  position: relative;
  background: transparent;
  outline: none;
}
.ol-popup .ol-popupfeature .ol-zoombt:before {
  content: "";
  position: absolute;
  box-sizing: border-box;
  width: 1em;
  height: 1em;
  background-color: transparent;
  border: .17em solid currentColor;
  border-radius: 100%;
  top: .3em;
  left: .3em;
}
.ol-popup .ol-popupfeature .ol-zoombt:after {
  content: "";
  position: absolute;
  box-sizing: border-box;
  top: 1.35em;
  left: 1.15em;
  border-width: .1em .3em;
  border-style: solid;
  border-radius: .03em;
  transform: rotate(45deg);
  box-shadow: -0.2em 0 0 -0.04em;
}

.ol-popup .ol-popupfeature .ol-count{
  float: right;
  margin: .25em 0;
}
.ol-popup .ol-popupfeature .ol-prev,
.ol-popup .ol-popupfeature .ol-next {
  border-style: solid;
  border-color: transparent rgba(0,60,136,.5);
  border-width: .5em 0 .5em .5em;
  display: inline-block;
  vertical-align: bottom;
  margin: 0 .5em;
  cursor: pointer;
}
.ol-popup .ol-popupfeature .ol-prev{
  border-width: .5em .5em .5em 0;
}

.ol-popup.tooltips.black {
  background-color: transparent;
}
.ol-popup.tooltips.black > div {
  transform: scaleY(1.3);
  padding: .2em .5em;
  background-color: rgba(0,0,0, 0.5);
}
.ol-popup-middle.tooltips.black .anchor:before {
  border-width: 5px 10px;
  margin: -5px -21px;
}

.ol-popup-center.ol-popup-middle { 
  margin: 0;
}

.ol-popup-top.ol-popup-left.ol-fixPopup,
.ol-popup-top.ol-popup-right.ol-fixPopup,
.ol-popup.ol-fixPopup {
  margin: 0;
}
