/****** resets  *******/
.mapcontainer *,.mapcontainer ::after,.mapcontainer ::before {
    box-sizing: unset;
}

/****** modal *******/
section#carto {
    padding: 25px 0 0;
    margin: 25px 0;
}

section#repositories, section#statistics  {
    padding: 25px 0 0;
    margin: 25px 0;
}


/****** container  *******/
.mapcontainer{
    position: relative;
    width: 100%;
    height: calc(100vh - 85px);
    display: block;
    top:0px;
    bottom:0px;
    background-color:white;
    background-position:center center;
    background-repeat:no-repeat;
    transition: all .15s linear;
    overflow:clip;
    z-index: 1;
}

.mapcontainer #popup-modal{
    display: none;
    position: fixed;
    padding: 0;
    margin: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .7);
    z-index: 2222;
    padding: 50px;
}

.mapcontainer #popup-modal .close {
    font-size: 20px;
    font-weight: bold;
    position: absolute;
    top: 20px;
    right: 20px;
    width: 36px;
    height: 36px;
    padding: 5px;
    text-align: center;
    z-index: 2222;
    background: white;
    cursor: pointer;
}

.mapcontainer.fullscreen {
    z-index: 9999;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position:fixed;
}

.mapcontainer ol, .mapcontainer ul {list-style: none; padding: 0;}
.mapcontainer ul.inline .last{border-right:none!important;}
.mapcontainer ul.inline li{display:inline;padding :0 5px;}
.mapcontainer ul.inline .first{padding-left:0;}

/****** search-form  *******/
.mapcontainer #search-form {padding: 10px;position: absolute;display: block;height: 15%;left:0px;right: 0px;}
.mapcontainer #search-form-year {
	padding: 0;
    position: absolute;
    display: block;
    height: 15%;
    left: 0px;
    right: 0px;
}
.mapcontainer #search-form label{
    padding: 0px 0px 10px;
    display: block;
    position: relative;
    font-weight: bold;
    line-height: 1em;
}
.mapcontainer #search-form #search-span{position:relative;}
.mapcontainer #search-form #search-field{float:left;height:28px;padding:1px 1px 1px 0px;}
.mapcontainer #search-form #search-field input{font-size:18px;height:24px;line-height:24px;padding: 1px 5px;width:100%;color:#474747;background:#F1F1F1;border: 1px solid;}
.mapcontainer #search-form #search-btn{float:right;width:103px;text-align: right;}
.mapcontainer #search-form #search-btn input{border:0 none;color:#FFFFFF;cursor:pointer;font-size:15px;padding:3px 3px 3px 3px;width:90px;background:#474747;height: 28px;}
.mapcontainer #search-form #search-btn input:hover{color:#000000;}
.mapcontainer #search-form select{
    width: 100%;
    height: 1.3em;
}
.mapcontainer #search-form button{
    border: 1px solid;
    border-radius: 5px;
    background: #FFF;
}
.mapcontainer #search-form button:hover{
    background: #CCC!important;
}
.mapcontainer #search-form li span {
    font-size: 10.5px;
    line-height: 22px;
    position: relative;
    display: block;
    left: 0;
    font-weight: bold;
}
.mapcontainer #search-form li.dates{
    width: 43%;
    float: left;
}
.mapcontainer #search-form li.dates input{
    width:100%;
}
.mapcontainer #search-form p {
    line-height: 20px;
    margin-top: 5px;
}

.mapcontainer #yearslider{
	bottom: 0px;
    left: 255px;
    position: absolute;
    width: calc(100% - 520px);
    height: 50px;
    z-index:300;
}
.mapcontainer #search-form-year #yearselector{
	display: inline-block;
    width: 100%;
}
.mapcontainer #search-form-year #yearselector p{
	font-size: 12px;
    margin-bottom: 2px;
    color: #FFF;
    text-align: center;
}

.mapcontainer #search-form-year #yearselector p input{
	width: 50px;
	font-weight: bold;
	border: 0;
	color: #FFF;
}
.mapcontainer #search-form-year #yearselector #slider-range-min{
	height: 10px;
	border: 0px none!important;
    background: rgba(255,255,255,0.3);
}

.mapcontainer #search-form-year #yearselector #slider-range-min .ui-state-default, #search-form-year #yearselector #slider-range-min .ui-widget-content .ui-state-default {
    background: #BBB;
    height: 14px;
    width: 14px;
    cursor: grab;
}
.mapcontainer #search-form-year #yearselector #slider-range-min .ui-state-hover, #search-form #yearselector-year #slider-range-min .ui-widget-content .ui-state-hover {
    background: #000;
}


.mapcontainer #search-form-year #year{background-color:transparent;}

/* AUTOCOMPLETE */

.mapcontainer .ui-menu.ui-autocomplete{
	z-index:10000!important;
}

.mapcontainer .ui-menu .ui-menu-item{
	text-align:left;
	font-size:11px ;font-family:Verdana, arial, sans-serif;color:#404141;
}

.mapcontainer .ui-menu .ui-menu-item a {
    width: 100%;
    display: block;
}

.mapcontainer .ui-menu .ui-menu-item-wrapper {padding: 3px 1em 3px .4em;}

.mapcontainer .ui-menu-item .ui-menu-item-wrapper.ui-state-active {
    background: #6693bc !important;
    font-weight: bold !important;
    color: #ffffff !important;
}


/*****************************
MIDDLE
*******************************/
.mapcontainer #middle {background:none repeat scroll 0 0 #F2F5E9;left:0;top:0;bottom:0;position:absolute;width:100%;}

/*****************************
SIDEBAR
*******************************/

.mapcontainer #sidebar {position:absolute; width:299px; z-index:200;left:-260px;top:0px;height: 100%;}
.mapcontainer #rightpanel {position:absolute; width:299px; z-index:200;right:-260px;top:0px;height: 100%;}

.mapcontainer .side-content{width:260px;position:absolute;top:0px;bottom:0px;background:#FFFFFF;opacity:0.9;}

.mapcontainer .side-menu {padding-top:15px;width:39px;height:500px;}

/*** Deactivate redondant styles... ***/
.mapcontainer .side-menu{
    -webkit-transform:none!important;
    transform: none!important;
    background:none!important;
}

.mapcontainer .side-menu.fleft {position:absolute; left: 0;}
.mapcontainer .side-menu.fright {position:absolute; right: 0;}

.mapcontainer .side-content.fleft {position:absolute; left: 0;}
.mapcontainer .side-content.fright {position:absolute; right: 0;}

.mapcontainer .side-menu ul {
    padding: 0;
}

.mapcontainer .side-menu li {
	height: 126px;
    width: 29px;
    display: block;
    margin-bottom: 2px;
    margin-left: 5px;
    margin-right: 5px;
    overflow: hidden;
}
.mapcontainer .side-menu li a{
    opacity: 0.6;
    background-color: #FFF;
    text-transform: uppercase;
    color: #000;
    transform-origin: top left;
    transform: rotate(-90deg);
    margin-top: 126px;
    width: 100px;
    padding: 6px 19px 4px 5px;
    margin-right: 40px;
    font-size: 13px;
    line-height: 19px;
    font-weight: bold;
    height: 19px;
    text-align: center;
    cursor: pointer;
    display: block;
    overflow: hidden;
    position: absolute;
}
.mapcontainer .side-menu li.active a:after{
	position: absolute;
	width:20px;
	height:20px;
	color: #000;
    top: 5px;
    right: 6px;
    transform: rotate(+90deg);
    font-size: 17px;
    line-height: 20px;
}
.mapcontainer #rightpanel .side-menu.out li.active a:after,  .mapcontainer #sidebar .side-menu.in li.active a:after{
	content:">";
}
.mapcontainer #sidebar .side-menu.out li.active a:after,  .mapcontainer #rightpanel .side-menu.in li.active a:after{
	content:"<";
}

.mapcontainer #sidebar .side-menu li a{
    border-radius: 5px 5px 5px 5px;
}
.mapcontainer #rightpanel .side-menu li a{
    border-radius: 5px 5px 5px 5px;
}

.mapcontainer .side-menu li.active a{opacity:0.9;}

.mapcontainer .side-menu.out liturquoise a {}
.mapcontainer .side-menu li#bleu a {background-color:#f2faff;color:#174c6a;}
.mapcontainer .side-menu li#violet a {background-color:#f2fff2;color:#1c7e1c;}
.mapcontainer .side-menu li#vert a {background-color:#fcf3ff;color:#772b91;}
.mapcontainer .side-menu li#resulttab a {background-color:#f2faff;color:#174c6a;}
.mapcontainer .side-menu li#yeartab a {background-color:#fcf3ff;color:#772b91;}

.mapcontainer .side-content .scroll{width:255px;position:relative;height: 100%;}
.mapcontainer .side-content .articles{display:none;height: 100%;}
.mapcontainer .side-content .articles ul{padding-top:6px;}
.mapcontainer .side-content .articles li{font-size:11px;min-height: 25px;color: #FFF;}
.mapcontainer .side-content .articles li a{
	cursor: pointer;
    color: #000;
    font-size: 0.9em;
    font-weight: 700;
}
/* Modif DG le 31/03/2013 - modification de la largeur de la colonne de gauche */
/* .side-content .articles li span{font-size:11px;left:62px;line-height:14px;position:absolute;top:30%;width:110px;} */
.mapcontainer .side-content .articles li span{font-size:9px;left:62px;line-height:22px;position:absolute;top:10%;width:185px;letter-spacing: -0.01em;}
.mapcontainer .side-content .articles li span.double{top:5%;line-height:11px;}
.mapcontainer .side-content .articles li input{margin-right:5px;line-height: 1.3em;}
.mapcontainer .side-content .articles li img{vertical-align:middle;margin-right:5px;}
.mapcontainer .side-content .articles li{vertical-align:middle;border-bottom:1px solid #d8d8d8;color:#000;font-size:14px;margin-left:10px;padding:5px 5px 5px 0px;vertical-align:middle;position:relative;font-size:11px;}
.mapcontainer .side-content .articles li.section{background:#f5f5f5;font-size:11px;padding:15px 0px 15px 7px;}

.mapcontainer #sidebar.bleu #medam, .mapcontainer #sidebar.violet #medamp, .mapcontainer #sidebar.vert #referenciel, .mapcontainer #sidebar.turquoise #ign, .mapcontainer #rightpanel.searchtab #searchpanel, .mapcontainer #rightpanel.resulttab #resultpanel, .mapcontainer #rightpanel.yeartab #yearpanel{display:block!important;}

.mapcontainer #sidebar.bleu .side-content{display:block!important;background-color:#f2faff;}
.mapcontainer #sidebar.violet .side-content{display:block!important;background-color:#f2fff2;}
.mapcontainer #sidebar.vert .side-content{display:block!important;background-color:#fcf3ff;}
.mapcontainer #sidebar.turquoise .side-content{display:block!important;background-color:#fff;}

.mapcontainer #rightpanel.searchtab .side-content{display:block!important;background-color:#fff;}
.mapcontainer #rightpanel.yeartab .side-content{display:block!important;background-color:#fcf3ff;}
.mapcontainer #rightpanel.resulttab .side-content{display:block!important;background-color:#f2faff;}

.mapcontainer #resultlist{
	position:absolute;
	width: 100%;
	height: 100%;
	overflow-y: scroll;
}
.mapcontainer #resultlist li{
	position: relative;
    list-style: none!important;
    padding: 5px;
    margin: 0;
    display: block;
    height: 40px;
    border-left: 5px solid #6d8999;
}

.mapcontainer #resultlist li.marker-digue{border-left: 5px solid #ff0000;}
.mapcontainer #resultlist li.marker-digue2{border-left: 5px solid #ff8800;}
.mapcontainer #resultlist li.marker-diguesm{border-left: 5px solid #ff0088;}
.mapcontainer #resultlist li.marker-end{border-left: 5px solid #ff00ff;}
.mapcontainer #resultlist li.marker-epi{border-left: 5px solid #00c800;}
.mapcontainer #resultlist li.marker-tpl{border-left: 5px solid #88c800;}
.mapcontainer #resultlist li.marker-app{border-left: 5px solid #00c888;}
.mapcontainer #resultlist li.marker-plage{border-left: 5px solid #c8c800;}
.mapcontainer #resultlist li.marker-port{border-left: 5px solid #8800ff;}
.mapcontainer #resultlist li.marker-portabr{border-left: 5px solid #0000ff;}
.mapcontainer #resultlist li.marker-abripri{border-left: 5px solid #0088ff;}
.mapcontainer #resultlist li.marker-aqua{border-left: 5px solid #9d3d3d;}

.mapcontainer #resultlist li:hover{
	background-color: rgba(191,237,191,0.5);
	cursor:pointer;
}
.mapcontainer #resultlist li.active{
	background-color: rgba(191,237,191,1);
}

.mapcontainer #resultlist li span.lcity{
    top: -10px;
}
.mapcontainer #resultlist li.location{
	background-color: rgba(237, 191, 211, 0.2);
	cursor:pointer;
}
.mapcontainer #resultlist li.location:hover{
	background-color: rgba(237, 191, 211,0.5);
	cursor:pointer;
}
.mapcontainer #resultlist li.location.active{
	background-color: rgba(237, 191, 211,1);
}

.mapcontainer #resultlist li span{
    position: relative;
    display: inline-block;
    line-height: 1.2em;
    left: 2%;
    top: -5px;
}

.mapcontainer #resultlist li span.lid{
	font-size: 1em;
    font-weight: bold;
    font-size: 1em;
    color:#6d8999;
}
.mapcontainer #resultlist li span.lcity{}
.mapcontainer #resultlist li span.limg {
    position: absolute;
    text-align: center;
    right: 0%;
    left: 80%;
    top: 0;
    height: 50px;
    width: 20%;
    overflow: hidden;
}
.mapcontainer #resultlist li span.limg img{
    vertical-align: middle;
    max-width: 250%;
}

.mapcontainer #resultlist li.marker-digue span.lid{color:#ff0000;}
.mapcontainer #resultlist li.marker-digue2 span.lid{color:#ff8800;}
.mapcontainer #resultlist li.marker-diguesm span.lid{color:#ff0088;}
.mapcontainer #resultlist li.marker-end span.lid{color:#ff00ff;}
.mapcontainer #resultlist li.marker-epi span.lid{color:#00c800;}
.mapcontainer #resultlist li.marker-tpl span.lid{color:#88c800;}
.mapcontainer #resultlist li.marker-app span.lid{color:#00c888;}
.mapcontainer #resultlist li.marker-plage span.lid{color:#c8c800;}
.mapcontainer #resultlist li.marker-port span.lid{color:#8800ff;}
.mapcontainer #resultlist li.marker-portabr span.lid{color:#0000ff;}
.mapcontainer #resultlist li.marker-abripri span.lid{color:#0088ff;}
.mapcontainer #resultlist li.marker-aqua span.lid{color:#9d3d3d;}


.mapcontainer #zone{position:absolute;position:absolute;z-index:220;right:87px;top:91px;height:23px;}
.mapcontainer #zone span{color:#FFFFFF;background:#2ab8ad;font-size:1.1em;padding:5px;height:15px;display:block;float:left;}
.mapcontainer #zone span a{color:#FFFFFF;text-decoration:none;}

/***** side-content *****/
.mapcontainer .padding{padding:10px;}
.mapcontainer .opacity{height:100%;position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;opacity:0.9;filter:alpha(opacity=90); }

/*****************************
IGN API
*******************************/
.mapcontainer .tooglemap{position: absolute;
bottom: 50px;
left: calc(50% - 110px);
display: block;
z-index: 300;
width: 40px;
height: 30px;
background: #ffffff url(/images/combo/carto/resize.png) top left no-repeat;
text-indent: -1000px;
overflow:hidden;
opacity: 0.6;
border-radius: 4px;}
.mapcontainer .tooglemap:hover{opacity: 0.8;}
.mapcontainer .btnlimcom{position: absolute;top: 10px;    right: 50.5%; display: block;z-index: 300;width: 120px;height: 14px;overflow: hidden;opacity: 0.8;background: white;padding: 8px;text-align: center;font-size: 11px;color:#000000;border-radius: 4px;}
.mapcontainer .btnlimcom:hover{opacity: 1;}
.mapcontainer .btnlimcom.on{opacity: 1;}
.mapcontainer .btnmedce{position: absolute;top: 10px;    left: 50.5%; display: block;z-index: 300;width: 120px;height: 14px;overflow: hidden;opacity: 0.8;background: white;padding: 8px;text-align: center;font-size: 11px;color:#000000;border-radius: 4px;}
.mapcontainer .btnmedce:hover{opacity: 1;}
.mapcontainer .btnmedce.on{opacity: 1;}

.mapcontainer div#loadingdiv{
	position: absolute;
	width:300px;
    display:none;
    background: #FFF;
    bottom: 47%;
    left: calc(50% - 150px);
    z-index: 100;
    padding: 5px;
    text-align: center;
    opacity: 0.7;
    border-radius: 4px;
    padding: 5px;
    font-weight: bold;
    font-size: large;
}
.mapcontainer div#loadingdiv.visible{
	display:block!important;
}
.mapcontainer div#loadingdiv.hidden{
	display:none!important;
}
.mapcontainer div#messagediv{
    position: absolute;
    display: none;
    background: #000;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    right: auto;
    z-index: 100;
    padding: 10px 16px;
    text-align: center;
    opacity: 0.6;
    color: #FFF;
    border-radius: 4px;
    white-space: nowrap;
}
.mapcontainer div#messagediv.visible{
	display:block!important;
}
.mapcontainer div#messagediv.hidden{
	display:none!important;
}
.mapcontainer div#mapDiv {
    	width:100%;
    	position:absolute;
    	top:0px;
    	bottom:0px;
        background-color:white;
        background-position:center center;
        background-repeat:no-repeat;
}
.mapcontainer div#mapDiv olLayerDiv{
	cursor:pointer;
}
.mapcontainer #mapDivInfoCell{display:none;}
div#mapDiv .gpControlLabelClass{
	background-color:#01589d!important;
	font-family:Helvetica, arial, sans-serif;
}
.mapcontainer iv#mapDiv .gpToolBoxContent{
	background-color:#4c9de0!important;
}
.mapcontainer div#mapDiv .nameScale div{
	color:#FFFFFF!important;
}
.mapcontainer div#mapDiv .custom-zoom{
	bottom: 50px!important;
    left: calc(50% - 60px)!important;
    width: 52px;
}

.mapcontainer div#mapDiv .custom-scale {
    left: calc(50% + 5px);
    bottom: 50px;
    position: absolute!important;
    border: 1px rgba(255,255,255,0.6) solid;
    border-top: 0px none;
    padding: 0px 5px 5px;
    color: #FFFFFF;
    height: 4px;
    line-height: 0px;
    overflow: visible;
}

.mapcontainer div#mapDiv .custom-zoom button {
    display: inline;
    color: #fff;
    font-size: 1.2em;
    text-align: center;
    height: 24px;
    width: 24px;
    line-height: 24px;
    background-color: rgba(0,60,136,.5);
}

/*****************************
TOOLTIP
*******************************/

.tooltip {
  position: relative;
  padding: 4px;
  background: rgba(0, 0, 0, 0.5);
  color: white;
  opacity: 0.7;
  white-space: nowrap;
  font: 10px;
  font-family:Helvetica, arial, sans-serif;
  border-radius: 3px;
}

/*****************************
OL Pop Up
*******************************/

.ol-popup {
    position: absolute;
    background-color: white;
    padding: 0px;
    border: 0px none;
    bottom: 48px;
    left: -48px;
    border-radius: 10px;
    color:#d4d4d4;
}
.ol-popup a.phome,.ol-popup a.pprevious,.ol-popup a.pplay,.ol-popup a.pnext,.ol-popup a.phome,.ol-popup-closer{
	position: absolute;
    display: block;
    top:6px;
}
.ol-popup a.phome{
	left: calc(10% - 6px);
}
.ol-popup a.pprevious{
	left: calc(30% - 6px);
}
.ol-popup a.pplay{
	left: calc(50% - 6px);
  	animation: pulse2 1s ease-in-out infinite alternate;
  	-webkit-animation: pulse2 1s ease-in-out infinite alternate;
}
.ol-popup a.pplay:not(.playing){

}
.ol-popup a.pplay.playing span{
	color: #960E0E!important;
}
.ol-popup a.pplay.playing span:hover{
	color: #DD3A3A!important;
}
.ol-popup a.pnext{
	left: calc(70% - 6px);
}
.ol-popup-closer{
	left: calc(90% - 10px);
	top: 5px;
	z-index: 2;
}

.ol-popup-closer span {
    font-size:30px!important;
}
.ol-popup a.pplay span {
	color: #0B840B;
}
.ol-popup a.pplay span:hover {
	color: #3ADD3A;
}
.ol-popup-closer span {
    color: #000;
    text-shadow: 0px 0px 1px white, 0px 0px 2px white;
}
.ol-popup-closer span:hover {
    color: #ffffff;
    text-shadow: 0px 0px 1px black, 0px 0px 2px black;
}
.ol-popup:after, .ol-popup:before {
    top: 100%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}

.ol-popup:after {
    border-top-color: white;
    border-width: 10px;
    left: 48px;
    margin-left: -10px;
}

.ol-popup:before {
    border-top-color: #cccccc;
    border-width: 11px;
    left: 48px;
    margin-left: -11px;
}

.ol-popup-content {
    min-width: 220px;
    max-height: 265px;
    padding-bottom: 10px;
    margin-top: 0px;
    border-radius: 10px;
    overflow: hidden;
}
.ol-popup div.infoResult {
    min-width: 130px;
}

.ol-popup div.infoResult p {
    padding: 0.1em;
    margin: 0;
}

.ol-popup-content h3, .ol-popup-content h4 {
    margin: 5px 10px;
    font-size: 1.3em;
    color: #8e8e8e;
}

.ol-popup-content p {
	margin: 0px 10px;
	font-weight: 100;
}

.ol-popup-content a {
	font-size: 1.1em!important;
}

.ol-popup-content .imgdiv {
	width: 100%;
    height: 120px;
    overflow: hidden;
    position: relative;
}
.ol-popup-content .imgdiv a{
	display: block;
	margin-top: calc(-25%);
}
.ol-popup-content .imgdiv::before {
	content: '\e5d0';
	font-family: 'Material Symbols Outlined';
	font-size: 60px;
	z-index: 80;
	color: #fff;
	position: absolute;
	top: calc(50% - 10px);
	left: calc(50% - 30px);
	opacity: 0.5;
  	animation: pulse 1s ease-in-out infinite alternate;
  	-webkit-animation: pulse 1s ease-in-out infinite alternate;
  	pointer-events: none;
}

@keyframes pulse {
	0% {
		opacity: 0.15;
	}

	100% {
		opacity: 0.85;
	}
}
@keyframes pulse2 {
	0% {
		transform: scale(1);
	}

	100% {
		transform: scale(1.3);
	}
}
@keyframes pulse3 {
	0% {
		transform: scale(0.9);
	}

	100% {
		transform: scale(1.1);
	}
}


.ol-popup-content .imgdiv:hover::before{
	animation: none;
  	-webkit-animation: none;
	opacity: 1;
}

.ol-popup-content img {
    width: 100%;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.ol-popup.marker {
    margin-bottom: 30px;
}
.ol-attribution {
  max-width: calc(100% - 100px)!important;
  line-height: 1em!important;
  background: rgba(0,0,0,0.7)!important;
}
.ol-attribution ul, .ol-attribution ul a{
	color:#FFF!important;
	text-shadow: 0 0 2px black!important;
	font-weight: 100!important;
}

/* context menu specific */
.contextmenu  { border:1px solid #999; padding:0; background:#eee; width:200px; list-style-type:none; display:none; }
.contextmenu .separator { border-top:1px solid #999; }
.contextmenu li { margin:0; padding:0; text-align:left;}
.contextmenu li a { display:block; padding:5px 5px 5px 5px; width:190px; font-size:12px; text-decoration:none; font-family:tahoma,arial,sans-serif; color:#000;text-align:left;}
.contextmenu li a:hover { background-color:#ddd; }
.contextmenu li a.disabled { color:#ccc; font-style:italic; }
.contextmenu li a.disabled:hover { background-color:#eee; }
.contextmenu li.cnt{padding:5px 5px 5px 5px; width:190px; font-size:11px;line-height:17px;}
.ctnmenus{cursor:pointer;}

