/*!
 * @brief Geoportal SDK
 *
 * This software is released under the licence CeCILL-B (Free BSD compatible)
 * @see http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.txt
 * @see http://www.cecill.info/licences/Licence_CeCILL-B_V1-fr.txt
 * @see http://www.cecill.info/
 *
 * copyright CeCILL-B
 * copyright IGN
 * @author IGN
 * @version 1.0.0-beta1
 * @date 2016-12-07
 *
 */
/*!
 * OpenLayers 3. See http://openlayers.org/
 * License: https://raw.githubusercontent.com/openlayers/ol3/master/LICENSE.md
 * Version: v3.14.2
 */
/*!
 * Geoportal Extension for OpenLayers 3. See https://github.com/IGNF/geoportal-extensions
 * License: https://raw.githubusercontent.com/IGNF/geoportal-extensions/master/LICENCE.md
 * Version: v0.11.0
 */
/*!
 * @brief Geoportal Extension for OpenLayers 3
 *
 * This software is released under the licence CeCILL-B (Free BSD compatible)
 * @see http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.txt
 * @see http://www.cecill.info/licences/Licence_CeCILL-B_V1-fr.txt
 * @see http://www.cecill.info/
 *
 * copyright CeCILL-B
 * copyright IGN
 * @author IGN
 * @version 0.11.0
 * @date 2016-12-04
 *
 */
/* MOUSE POSITION */

/* Showing/hiding drawing panel */

label[id^=GPshowDrawingPicto-] {
  display: inline-block;
}

input[id^=GPshowDrawing-] + label {
  display: block;
}

input[id^=GPshowDrawing-]:checked + label {
  display: none;
}

input[id^=GPshowDrawing-] + label + div {
  display: none;
}

input[id^=GPshowDrawing-]:checked + label + div {
  display: block;
}

/* General panels */

div[^=GPdrawingPanel-] {
  width: 240px;
  overflow: hidden;
}

/* Basic infos */

div[^=GPdrawingBasicPanel-] {
  padding: 10px 15px;
}

.GPdrawingLabel,
.GPdrawingCoords {
  display: inline-block;
  line-height: 20px;
}

.GPdrawingLabel {
  width: 80px;
  font-weight: bold;
}

.GPdrawingCoords {
  width: 110px;
}

/* markers selector */
.marker-input-radio {
  display : none ;
}

input.marker-input-radio:checked + label {
  border: 1px solid red;
}


/* Calc waiting */

.GPelevationPathCalcWaitingContainerVisible,
.GPelevationPathCalcWaitingContainerHidden {
  position: absolute;
  top: 32px;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(255,255,255,0.9);
  font-size: 1.5em;
  font-weight: bold;
  overflow: hidden;
}

.GPelevationPathCalcWaitingContainerVisible {
  display: -webkit-flex;
  display: flex;
}

.GPelevationPathCalcWaitingContainerHidden {
  display: none;
}

.GPelevationPathCalcWaiting {
  margin: auto;
}

.GPelevationPathCalcWaitingContainerVisible,
.GPelevationPathCalcWaitingContainerHidden {
  border-radius: 5px;
}

/* CSS : Raw */

#profileElevationRaw {
  resize: none;
  padding: unset;
}

/* CSS : default */

/* suppression des puces sur les listes */
div#profileElevationByDefault {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  flex-direction: column;
  /*flex-flow: row wrap;*/
  height: inherit;
  width: inherit;
}

div#profileElevationByDefault > * {
  -webkit-flex: 1;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1 100%;
}

ul#data-default {
    list-style: none;
    box-sizing: border-box;
    padding: 0px;
    position : relative;
    margin : 10px ;￼
    margin-top: auto;
￼    margin-bottom: auto;
    height: 100px;
    /*width: 100%*/
}

.z-title-vertical {
  align-self: flex-start;
  padding-left: 10px;
  /*position: absolute;*/
  /*transform: rotate(-90deg);*/
}

.x-title-horizontal {
  align-self: flex-end;
  padding-right: 10px;
  /*position: absolute;*/
  /*transform: translate(120px, -30px);*/
}

.z-axis {
    border-right: none;
    border-left: solid 2px;
    cursor: default;
}

.x-axis {
    border-top: none;
    border-bottom: solid 2px;
    cursor: default;
}

ul#data-default li.percent {
    display: inline-block;
    vertical-align: bottom;
    background-color: #C77A04;
    opacity : 0.3;
    border-top: solid 1px;
    border-radius: 2px;
    cursor: pointer;
}

li.axe span.bottom-axis {
    vertical-align: bottom;
}

ul#data-default .percent:hover {
    display: inline-block;
    /*vertical-align: bottom;*/
    background-color: #f00;
}

.v0 { height: 0%; }
.v1 { height: 1%; }
.v2 { height: 2%; }
.v3 { height: 3%; }
.v4 { height: 4%; }
.v5 { height: 5%; }
.v6 { height: 6%; }
.v7 { height: 7%; }
.v8 { height: 8%; }
.v9 { height: 9%; }
.v10 { height: 10%; }
.v11 { height: 11%; }
.v12 { height: 12%; }
.v13 { height: 13%; }
.v14 { height: 14%; }
.v15 { height: 15%; }
.v16 { height: 16%; }
.v17 { height: 17%; }
.v18 { height: 18%; }
.v19 { height: 19%; }
.v20 { height: 20%; }
.v21 { height: 21%; }
.v22 { height: 22%; }
.v23 { height: 23%; }
.v24 { height: 24%; }
.v25 { height: 25%; }
.v26 { height: 26%; }
.v27 { height: 27%; }
.v28 { height: 28%; }
.v29 { height: 29%; }
.v30 { height: 30%; }
.v31 { height: 31%; }
.v32 { height: 32%; }
.v33 { height: 33%; }
.v34 { height: 34%; }
.v35 { height: 35%; }
.v36 { height: 36%; }
.v37 { height: 37%; }
.v38 { height: 38%; }
.v39 { height: 39%; }
.v40 { height: 40%; }
.v41 { height: 41%; }
.v42 { height: 42%; }
.v43 { height: 43%; }
.v44 { height: 44%; }
.v45 { height: 45%; }
.v46 { height: 46%; }
.v47 { height: 47%; }
.v48 { height: 48%; }
.v49 { height: 49%; }
.v50 { height: 50%; }
.v51 { height: 51%; }
.v52 { height: 52%; }
.v53 { height: 53%; }
.v54 { height: 54%; }
.v55 { height: 55%; }
.v56 { height: 56%; }
.v57 { height: 57%; }
.v58 { height: 58%; }
.v59 { height: 59%; }
.v60 { height: 60%; }
.v61 { height: 61%; }
.v62 { height: 62%; }
.v63 { height: 63%; }
.v64 { height: 64%; }
.v65 { height: 65%; }
.v66 { height: 66%; }
.v67 { height: 67%; }
.v68 { height: 68%; }
.v69 { height: 69%; }
.v70 { height: 70%; }
.v71 { height: 71%; }
.v72 { height: 72%; }
.v73 { height: 73%; }
.v74 { height: 74%; }
.v75 { height: 75%; }
.v76 { height: 76%; }
.v77 { height: 77%; }
.v78 { height: 78%; }
.v79 { height: 79%; }
.v80 { height: 80%; }
.v81 { height: 81%; }
.v82 { height: 82%; }
.v83 { height: 83%; }
.v84 { height: 84%; }
.v85 { height: 85%; }
.v86 { height: 86%; }
.v87 { height: 87%; }
.v88 { height: 88%; }
.v89 { height: 89%; }
.v90 { height: 90%; }
.v91 { height: 91%; }
.v92 { height: 92%; }
.v93 { height: 93%; }
.v94 { height: 94%; }
.v95 { height: 95%; }
.v96 { height: 96%; }
.v97 { height: 97%; }
.v98 { height: 98%; }
.v99 { height: 99%; }
.v100 { height: 100%; }

/* CSS : D3 */

text {
  fill: rgb(94, 94, 94);
  font-family: Verdana;
  font-size: 10px;
  opacity: 1;
  text-anchor: end;
}

.axis-d3 {
  fill: none;
  stroke: #5E5E5E;
  stroke-width: 1;
  shape-rendering: crispEdges;
}

.area-d3 {
  fill: #C77A04;
  stroke: #5E5E5E;
  stroke-width: 0;
  fill-opacity: 0.4;
}

.line-d3 {
  fill: none;
  stroke: #C77A04;
  stroke-width: 1px;
}

.grid-d3 .tick {
  stroke: lightgrey;
  opacity: 0.7;
}

.grid-d3 path {
  stroke-width: 0;
}

.grid-d3 .tick {
  stroke: lightgrey;
  opacity: 0.7;
}

.grid-d3 path {
  stroke-width: 0;
}

.overlay-d3 {
  fill: none;
  pointer-events: all;
}

.focusLine-d3 {
  fill: none;
  stroke: #C77A04;
  stroke-width: 0.5px;
}

.focusCircle-d3 {
  fill: #C77A04;
}

div.tooltip-d3 {
    position: inherit;;
    text-align: left;
    width: 80px;
    height: 35px;
    padding: 2px;
    font: 8px sans-serif;
    background: lightsteelblue;
    border: 0px;
    border-radius: 8px;
    pointer-events: none;
}

/* Widgets : general */

.GPwidget {
  position: absolute;
  font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;
  font-size: 13px;
  color: #333;
}

.GPwidget input[type='text'],
.GPwidget input[type='button'] {
  -webkit-appearance: none;
  color: #333333;
}

.GPwidget input[type="checkbox"] {
  display: none;
}

.GPwidget select {
  padding-left: 3px;
  border-radius: 3px;
}

.GPwidget form {
  margin-bottom: 0;
}

.GPwidget * {
  box-sizing: border-box;
  background-repeat: no-repeat;
}

/* waiting */

.GPwaiting {
    background-image : url("img/waiting.gif");
    background-position : center center;
    background-repeat : no-repeat;
}

/* General panels */

.GPpanel {
  background-color: #FFF;
}

.GPpanelHeader {
  position: relative;
  width: 100%;
}

.GPpanelTitle {
  width: 100%;
  height: 100%;
  text-align: center;
  font-weight: bold;
}

.GPpanelClose, .GPpanelReduce {
  position: absolute;
  cursor: pointer;
}

/* Showing/hiding advanced panels */

.GPshowAdvancedToolPicto {
  position: relative;
  box-sizing: border-box;
  cursor: pointer;
}

.GPshowAdvancedToolOpen {
  position: absolute;
  display: block;
  box-sizing: border-box;
}

/* Flex inputs */

.GPflexInput {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  transition: max-height 0.3s ease-out, opacity 0.3s ease-out;
}

.GPflexInput > * {
  display: block;
  height: 28px;
  line-height: 26px;
  border: 1px solid #999;
  border-radius: 0;
}

.GPflexInput *:not(:last-child) {
  border-right:none;
}

.GPflexInput *:first-child {
  border-radius: 3px 0 0 3px;
}

.GPflexInput *:last-child {
  border-radius: 0 3px 3px 0;
}

.GPflexInput > *:not(input) {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.GPflexInput > input {
  -webkit-flex: 1;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 0 5px;
  min-width: 0;
}

.GPflexInput > select {
  -webkit-flex: 1;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-right: 7px;
}

.GPflexInput > label {
  background-color:  #F2F2F2;
  color: #666;
  padding-left: 7px;
  padding-right: 9px;
  cursor: pointer;
}

/* Particular inputs */

.GPinputSelect {
  display: block;
  height: 28px;
  line-height: 26px;
  margin: auto;
  border: 1px solid #999;
  color: #333;
  cursor: pointer;
}

input.GPinputSubmit {
  display: block;
  width: 80px;
  margin: auto;
  height: 28px;
  line-height: 26px;
  padding: 0;
  background: none;
  border: none;
  border-radius: 3px;
  font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;
  color: #FFF;
  font-weight: bold;
  opacity: 0.8;
  transition: opacity 0.2s ease-out;
  cursor: pointer;
}

input.GPinputSubmit:hover {
  opacity: 1;
}

/* Autocomplete/geocode results */

.GPautoCompleteList,
.GPadvancedAutoCompleteList {
  z-index: 2;
  display: none;
  position: absolute;
  max-height: 140px;
  background-color: #FFF;
  border: 1px solid #999;
  overflow-y: hidden;
}

.GPadvancedAutoCompleteList {
  width: calc(100% - 28px);
  border-top: none;
  font-size: 0.9em;
}

.GPautoCompleteProposal {
  width: 100%;
  height: 28px;
  line-height: 16px;
  padding: 6px 10px;
  color: #5E5E5E;
  font-size: 1.0em;
  overflow: hidden;
  white-space: nowrap;
  text-overflow:ellipsis;
  cursor: pointer;
}

.GPautoCompleteProposal:hover {
  color: #000000;
  background-color: #CEDBEF
}

/* Showing additional hidden options */

.GPshowMoreOptions {
  display: block;
  position: absolute;
  width: 28px;
  height: 28px;
  cursor: pointer;
  transition: all 0.5s ease-out 0s;
}

input[type="checkbox"]:checked + .GPshowMoreOptions {
  -webkit-transform: rotateX(180deg);
  transform: rotateX(180deg);
}

/* ISOCHRON */

div[id^=GPisochron-] {
  top: 140px;
}

/* Showing/hiding mouse position panel */

label[id^=GPshowIsochronPicto] {
  display: inline-block;
}

input[id^=GPshowIsochron-] + label {
  display: block;
}

input[id^=GPshowIsochron-]:checked + label {
  display: none;
}

input[id^=GPshowIsochron-] + label + div {
  display: none;
}

input[id^=GPshowIsochron-]:checked + label + div {
  display: block;
}

/* General panels */

div[id^=GPisochronPanel-] {
  width: 280px;
}

/* Calc waiting */

.GPisochronCalcWaitingContainerVisible,
.GPisochronCalcWaitingContainerHidden {
  position: absolute;
  top: 32px;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(255,255,255,0.9);
  font-size: 1.5em;
  font-weight: bold;
  overflow: hidden;
}

.GPisochronCalcWaitingContainerVisible {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
}

.GPisochronCalcWaitingContainerHidden {
  display: none;
}

.GPisochronCalcWaiting {
  margin: auto;
}

/* Isochron form */

form[id^=GPisochronForm] {
  padding: 15px;
}

.GPisochronFormMini {
  max-height: 58px;
  overflow: hidden;
}

.GPisochronFormMini div[id^="GPisochronReset-"],
.GPisochronFormMini label[id^="GPshowIsoExclusionsPicto-"] {
    display: none;
}

.GPisochronOriginVisible {
  display: block;
}

.GPisochronOriginHidden {
  display: none;
}

.GPisochronOriginPointerImg {
  width: 28px;
  background-color: #F2F2F2;
  cursor: pointer;
}

input[id^="GPisochronOriginPointer"] + .GPisochronOriginPointerImg {
  background-position: -1px -1px;
}

input[id^="GPisochronOriginPointer"]:checked + .GPisochronOriginPointerImg {
  background-position: -29px -1px;
}

input[id^=GPisochronSubmit] {
  margin-top: 5px;
}

/* Alternative choice */

div[id^=GPisochronChoice] {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  width: 160px;
  -webkit-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: auto;
  margin-top: 15px;
  margin-bottom: 5px;
}

.GPisochronChoiceAlt input {
  display: none;
}

.GPisochronChoiceAltImg {
  display: block;
  width: 28px;
  height: 28px;
  margin: auto;
  cursor: pointer;
}

input[id^=GPisochronChoiceAltChron] + .GPisochronChoiceAltImg {
  background-position: -56px 0;
}

input[id^=GPisochronChoiceAltChron]:checked + .GPisochronChoiceAltImg {
  background-position: -84px 0;
}

input[id^=GPisochronChoiceAltDist] + .GPisochronChoiceAltImg {
  background-position: -112px 0;
}

input[id^=GPisochronChoiceAltDist]:checked + .GPisochronChoiceAltImg {
  background-position: -140px 0;
}

.GPisochronChoiceAlt span {
  cursor: pointer;
  display:block;
  color: #999;
}

.GPisochronValueHidden {
  display: none;
}

div[id^=GPisochronValueChron],
div[id^=GPisochronValueDist] {
  width: 220px;
  margin: auto;
}

/* Mode choice */

div[id^=GPisochronModeChoice] {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -webkit-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 15px 0;
}

.GPisochronModeLabel {
  display: block;
  text-align: center;
  margin-bottom: 5px;
}

div[id^=GPisochronTransportChoice] input {
  display: none;
}

.GPisochronTransportImg {
  display: inline-block;
  width: 28px;
  height: 28px;
  cursor: pointer;
}

.GPisochronTransportImg:first-of-type {
    margin-left: 18px;
    margin-right: 10px;
}

input[id^=GPisochronTransportCar] + .GPisochronTransportImg {
  background-position: -168px 0;
}

input[id^=GPisochronTransportCar]:checked + .GPisochronTransportImg {
  background-position: -196px 0;
}

input[id^=GPisochronTransportPedestrian] + .GPisochronTransportImg {
  background-position: -224px 0;
}

input[id^=GPisochronTransportPedestrian]:checked + .GPisochronTransportImg {
  background-position: -252px 0;
}

select[id^=GPisochronDirectionSelect] {
  width: 80px;
}

/* Showing/hiding exclusions */

input[id^=GPshowIsoExclusions] {
  display: none;
}

.GPshowIsoExclusionsPicto {
  top: 250px;
  right: 0;
  transition: all 0.5s ease-out 0s;
}

input[id^=GPshowIsoExclusions] + label + div[id^=GPisoExclusions] {
  max-height: 0;
  opacity: 0;
  margin-bottom: 0;
}

input[id^=GPshowIsoExclusions]:checked + label + div[id^=GPisoExclusions] {
  display: block;
  max-height: 60px;
  opacity: 1;
  margin-bottom: 15px;
}

/* Exclusions */

div[id^=GPisoExclusions] {
  transition: max-height 0.5s ease-in-out 0.25s, opacity 0.5s ease-in-out 0.25s, margin 0.3s ease-in-out 0.25s;
  overflow: hidden;
}

.GPisoExclusionsLabel {
  display: block;
  text-align: center;
  margin-bottom: 10px;
  font-weight: bold;
  line-height: 16px;
}

.GPisoExclusionsOptions {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

.GPisoExclusionsOption {
  display: block;
  height: 28px;
  line-height: 26px;
  color: #A77;
  background-color: #FEE;
  padding-left: 28px;
  padding-right: 5px;
  border: 1px solid #A77;
  border-radius: 3px;
  cursor: pointer;
}

input:checked + .GPisoExclusionsOption {
  background-color: #EFE;
  background-position: 0 -28px;
  color: #797;
  border: 1px solid #797;
}

/* Reset picto */
div[id^=GPisochronReset] {
  position: absolute;
  margin-top: 5px;
  width: 28px;
  height: 28px;
  border-radius: 3px;
  opacity: 0.8;
  background-position: -281px 0;
  transition: opacity 0.2s ease-out;
  cursor: pointer;
}

div[id^=GPisochronReset]:hover {
  opacity: 1;
}

/* LAYER SWITCHER */

#GPlayerSwitcher {
  font-size: 11px;
}

#GPlayerSwitcher [draggable] {
  -moz-user-select: none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  /* Required to make elements draggable in old WebKit */
  -khtml-user-drag: element;
  -webkit-user-drag: element;
}

/* Manage opening of the components through hiden checkboxes */

#GPlayerSwitcher input[type="checkbox"] + div,
#GPlayerSwitcher input[type="checkbox"] + label + div {
  max-height: 0px;
}

#GPlayerSwitcher label {
  display: block;
}

/* Showing/hiding layers list */

#GPshowLayersListPicto {
  position: relative;
  float: right;
  display: block;
  opacity: 1;
  transition: opacity 0.5s ease-out 0s, box-shadow  0.5s ease-out 0s, border  0.5s ease-out 0s, border-radius  0.5s ease-out 0s;
  cursor: pointer;
}

#GPshowLayersListOpen,
#GPshowLayersListClose {
  position: absolute;
  display: block;
  transition: border-radius 0.5s ease-out 0s, opacity 0.5s ease-out 0s;
}

#GPshowLayersListOpen {
  background-position: 0 0;
  opacity: 1;
}

#GPshowLayersListClose {
  opacity: 0;
}

#GPlayerSwitcher input[type="checkbox"]:checked + div + #GPshowLayersListPicto {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

#GPlayerSwitcher input[type="checkbox"]:checked + div + #GPshowLayersListPicto #GPshowLayersListClose {
  opacity: 1;
}

/* Layers list */

#GPlayersList {
  position: relative;
  width: 180px;
  border-bottom-right-radius: 0;
  opacity: 0;
  overflow: auto;
  transition: max-height 0.5s ease-out 0s, opacity 0.5s ease-out 0.25s;
}

#GPlayerSwitcher input[type="checkbox"]:checked + #GPlayersList {
  max-height: 232px;
  opacity: 1;
  transition: max-height 0.5s ease-in 0s, opacity 0.25s ease-in 0s;
}

/* Layer : general */

.GPlayerSwitcher_layer {
  position: relative;
  top: 0;
  background-color: #FFF;
  border-bottom: 1px dotted #CCC;
  overflow: hidden;
}

#GPlayersList .GPlayerSwitcher_layer:last-child {
  border-bottom: none;
}

.GPlayerBasicTools,
.GPlayerAdvancedTools {
  position: relative;
  width: 100%;
  height: 28px;
}

.GPlayerVisibility,
.GPlayerInfo,
.GPlayerInfoOpened,
.GPlayerRemove {
  width: 28px;
  height: 28px;
  cursor: pointer;
}

.GPlayerVisibility,
.GPlayerName,
.GPlayerInfo,
.GPlayerInfoOpened,
.GPlayerRemove,
.GPlayerOpacity,
.GPlayerOpacityValue {
  position: absolute;
  top: 0;
}

.GPghostLayer {
  opacity: 0;
}

/* Layer basic tools */

.GPlayerBasicTools {
  background-color: #FFF;
}

.GPlayerVisibility {
  left: 0;
  background-position: -28px 0;
}

input[type="checkbox"]:checked + .GPlayerVisibility {
  background-position: 0 0;
}

.GPlayerName {
  left: 28px;
  width: calc(100% - 56px);
  line-height: 28px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  padding-left: 4px;
  cursor: move;
}

.outOfRange .GPlayerName {
  color: #AAA;
}

/* Showing layer advanced tools */

.GPshowLayerAdvancedTools {
  top: 0;
  right: 0;
  background-position: -112px 0;
}

.GPlayerAdvancedTools {
  display: block;
  max-height: 0;
  opacity: 0;
  transition: max-height 0.5s ease-out 0s, opacity 0.5s ease-out 0s;
}

#GPlayerSwitcher input[type="checkbox"]:checked + label + .GPlayerAdvancedTools {
  max-height: 28px;
  opacity: 1;
}

/* Layer advanced tools */

.GPlayerInfo {
  left: 0;
  background-position: -55px 0;
}

.GPlayerInfoOpened {
  left: 0;
  background-position: -83px 0;
}

.GPlayerOpacity {
  left: 28px;
  width: calc(100% - 100px);
  height: 28px;
  padding-left: 8px;
}

.GPlayerOpacityValue {
  width: 32px;
  left: calc(100% - 60px);
  line-height: 28px;
  font-size: 10px;
  font-style: italic;
  cursor: default;
}

.GPlayerRemove {
  right: 0;
  background-position: -140px 0;
}

/* Opacity slider : general */

.GPlayerOpacity input {
  -webkit-appearance: none;
  -moz-appearance: none;
  background: none;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  cursor: pointer;
}

.GPlayerOpacity input[type="range"]:focus {
  box-shadow: none;
  outline: none;
}

/* Opacity slider : Chrome, Safari, Opera */

.GPlayerOpacity input[type="range"]::-webkit-slider-runnable-track {
  -webkit-appearance: none;
  height: 3px;
}

.GPlayerOpacity input[type="range"]::-webkit-slider-thumb:before {
  position: absolute;
  top: 0;
  right: 50%;
  left: -200px;
  height: 3px;
  pointer-events: none;
}

.GPlayerOpacity input[type="range"]::-webkit-slider-thumb {
  width: 9px;
  height: 17px;
  -webkit-appearance: none;
  border: 2px solid #FFF;
  background-color: #505050;
  position: relative;
  top: -7px;
}

/* Opacity slider : Firefox */

.GPlayerOpacity input[type="range"]::-moz-range-track {
  width: 80px;
  height: 3px;
}

.GPlayerOpacity input[type="range"]::-moz-range-thumb {
  width: 5px;
  height: 13px;
  border: 2px solid #FFF;
  border-radius: 0;
  box-shadow: 0;
  background-color: #505050;
  position: relative;
}

/* Opacity slider : IE */

.GPlayerOpacity input[type="range"]::-ms-track {
  border: 0;
  border-color: transparent;
  border-radius: 0;
  border-width: 0;
  color: transparent;
  height: 3px;
  width: 80px;
}

.GPlayerOpacity input[type="range"]::-ms-fill-lower,
.GPlayerOpacity input[type="range"]::-ms-fill-upper {
  background: transparent;
  border-radius: 0;
}

.GPlayerOpacity input[type="range"]::-ms-thumb {
  width: 5px;
  height: 13px;
  border: 2px solid #FFF;
  background-color: #505050;
}

.GPlayerOpacity input[type="range"]::-ms-tooltip {
  display: none;
}

/* Layer info panel */

#GPlayerInfoPanel {
  position: absolute;
  top: 0;
  overflow-y: hidden;
  padding-top: 10px;
  padding-bottom: 10px;
}

.GPlayerInfoPanelOpened {
  display: block;
}

.GPlayerInfoPanelClosed {
  display: none;
}

#GPlayerInfoContent {
  position: relative;
  width: 280px;
  max-height: 200px;
  overflow-y: auto;
  padding-left: 10px;
  padding-right: 10px;
}

#GPlayerInfoTitle {
  width: calc(100% - 52px);
  margin: auto;
  margin-bottom: 10px;
  padding-bottom: 5px;
  text-align: center;
  font-size: 1.1em;
  font-weight: bold;
}

#GPlayerInfoQuicklook {
  position: absolute;
  top: -2px;
  left: 10px;
  width: 20px;
  height: 20px;
  cursor: pointer;
}

#GPlayerInfoClose {
  position: absolute;
  top: -8px;
  right: 10px;
  width: 28px;
  height: 28px;
  cursor: pointer;
}

#GPlayerInfoDescription {
  font-size: 0.9em;
}

.GPlayerInfoSubtitle {
  padding-left: 35px;
  font-weight: bold;
  margin-top: 10px;
  margin-bottom: 4px;
}

.GPlayerInfoLink,
.GPlayerInfoPopup {
  line-height: 20px;
  padding-left: 23px;
  white-space: nowrap;
  overflow-x: hidden;
  text-overflow: ellipsis;
  color: #999999;
  background-repeat: no-repeat;
  cursor: pointer;
}

.GPlayerInfoLink {
  background-position: 0 -20px;
}

.GPlayerInfoLink:hover,
.GPlayerInfoPopup:hover {
  color: #333;
}

.GPlayerInfoLink a,
.GPlayerInfoLink a:visited
.GPlayerInfoLink a:focus
.GPlayerInfoLink a:hover {
  text-decoration: none;
  color: inherit;
}
/* Location */

/* Location form */

.GPlocationStageFlexInput {
  max-height: 28px;
  opacity: 1;
}

.GPlocationStageFlexInputHidden {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
}

.GPlocationOriginVisible {
  display: block;
}

.GPlocationOriginHidden {
  display: none;
}

label.GPlocationOriginPointerImg[id*="GPlocationOriginPointerImg"] {
  width: 28px;
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-right: 1px solid #999;
}

input[id*="GPlocationOriginPointer"] + .GPlocationOriginPointerImg {
  background-position: -1px -1px;
}

input[id*="GPlocationOriginPointer"]:checked + .GPlocationOriginPointerImg {
  background-position: -29px -1px;
}

.GPlocationStageRemove,
div[id^=GPlocationStageAdd] {
  width: 28px;
  border: none;
  cursor: pointer;
}

.GPlocationStageRemove {
  background-position: -84px 0;
}

div[id^=GPlocationStageAdd] {
  background-position: -56px 0;
}

/* Showing/hiding drawing panel */

label[id^=GPshowMeasureAreaPicto-] {
  display: inline-block;
}

input[id^=GPshowMeasureArea-] + label {
  display: block;
}

input[id^=GPshowMeasureArea-]:checked + label {
  display: block;
  background-color: rgba(0,60,136,0.5);
}

input[id^=GPshowMeasureArea-] + label + div {
  display: block;
}

input[id^=GPshowMeasureArea-]:checked + label + div {
  display: block;
}

/* Showing/hiding drawing panel */

label[id^=GPshowMeasureAzimuthPicto-] {
  display: inline-block;
}

input[id^=GPshowMeasureAzimuth-] + label {
  display: block;
}

input[id^=GPshowMeasureAzimuth-]:checked + label {
  display: block;
  background-color: rgba(0,60,136,0.5);
}

input[id^=GPshowMeasureAzimuth-] + label + div {
  display: block;
}

input[id^=GPshowMeasureAzimuth-]:checked + label + div {
  display: block;
}

/* Showing/hiding drawing panel */

label[id^=GPshowMeasureLengthPicto-] {
  display: inline-block;
}

input[id^=GPshowMeasureLength-] + label {
  display: block;
}

input[id^=GPshowMeasureLength-]:checked + label {
  display: block;
  background-color: rgba(0,60,136,0.5);
}

input[id^=GPshowMeasureLength-] + label + div {
  display: block;
}

input[id^=GPshowMeasureLength-]:checked + label + div {
  display: block;
}

/* MEASURE TOOL */

.tooltip {
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 4px;
  color: white;
  padding: 4px 8px;
  white-space: nowrap;
}

.tooltip-measure {
  font-weight: bold;
}

.tooltip-info {
  font-size: 0.75em;
  text-align: center;
}

.tooltip-static {
  background-color: #ffcc33;
  color: black;
  border: 1px solid white;
}

.tooltip-hidden {
  display: none;
}

.tooltip-measure::before,
.tooltip-info::before,
.tooltip-static::before {
  border-top: 6px solid rgba(0, 0, 0, 0.5);
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  content: "";
  position: absolute;
  bottom: -6px;
  margin-left: -7px;
  left: 50%;
}

.tooltip-static::before {
  border-top-color: #ffcc33;
}

/* MOUSE POSITION */

/* Showing/hiding mouse position panel */

label[id^=GPshowMousePositionPicto] {
  display: inline-block;
}

input[id^=GPshowMousePosition-] + label {
  display: block;
}

input[id^=GPshowMousePosition-]:checked + label {
  display: none;
}

input[id^=GPshowMousePosition-] + label + div {
  display: none;
}

input[id^=GPshowMousePosition-]:checked + label + div {
  display: block;
}

/* General panels */

div[id^=GPmousePositionPanel-] {
  width: 240px;
  overflow: hidden;
}

/* Basic infos */

div[id^=GPmousePositionBasicPanel] {
  padding: 10px 15px;
}

.GPmousePositionLabel,
.GPmousePositionCoords {
  display: inline-block;
  line-height: 20px;
}

.GPmousePositionLabel {
  width: 80px;
  font-weight: bold;
}

.GPmousePositionCoords {
  width: 110px;
}

/* Showing settings */

.GPshowMousePositionSettingsPicto {
  bottom: 5px;
  right: 0;
  transition: all 0.5s ease-out 0s;
}

div[id^=GPmousePosition-] input[type="checkbox"]:checked + .GPshowMousePositionSettingsPicto {
  bottom: 100px;
}

div[id^=GPmousePositionSettings-] {
  display: block;
  max-height: 0;
  opacity: 0;
  transition: max-height 0.5s ease-out 0s, opacity 0.5s ease-out 0s;
}

div[id^=GPmousePosition-] input[type="checkbox"]:checked + label + div[id^=GPmousePositionSettings-] {
  max-height: 95px;
  opacity: 1;
}

/* Settings */

div[id^=GPmousePositionSettings-] {
  height: 95px;
  padding-left: 0 15px;
  overflow: hidden;
}

.GPmousePositionSettingsLabel {
  display: block;
  margin: auto;
  text-align: center;
  font-weight: bold;
  line-height: 16px;
}

.GPmousePositionSettingsSelect {
  width: 180px;
  margin-top: 5px;
}

/* Map center localisation */

#GPmapCenter {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50px;
  height: 50px;
  margin-top: -25px;
  margin-left: -25px;
}

#GPmapCenter.GPmapCenterVisible {
  display: block;
}

/* REVERSE GEOCODING */

[id^="GPreverseGeocoding-"] {
  top: 180px;
}

/* Showing/hiding reverse geocoding panel */

[id^="GPshowReverseGeocodingPicto-"] {
  display: inline-block;
}

[id^="GPshowReverseGeocoding-"] + label {
  display: block;
}

[id^="GPshowReverseGeocoding-"]:checked + label {
  display: none;
}

[id^="GPshowReverseGeocoding-"] + label + div {
  display: none;
}

[id^="GPshowReverseGeocoding-"]:checked + label + div {
  display: block;
}

/* General panels */

div[id^=GPreverseGeocodingResultsClose] {
  top: 0;
  right: 0;
  width: 30px;
  height: 32px;
  /*background-position: -26px 0;*/
}

[id^="GPreverseGeocodingPanel-"] {
  width: 280px;
}

.GPreverseGeocodingComponentHidden {
  display: none;
}

div[id^="GPreverseGeocodingReturnPicto-"] {
  position: absolute;
  width: 26px;
  height: 26px;
  border-radius: 3px;
  opacity: 1;
  background-position: 0 0;
  cursor: pointer;
}

.GPreverseGeocodingReturnPictoHidden {
    display: none;
}

/* Calc waiting */

.GPreverseGeocodingCalcWaitingContainerVisible,
.GPreverseGeocodingCalcWaitingContainerHidden {
  position: absolute;
  top: 32px;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(255,255,255,0.9);
  font-size: 1.5em;
  font-weight: bold;
  overflow: hidden;
}

.GPreverseGeocodingCalcWaitingContainerVisible {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
}

.GPreverseGeocodingCalcWaitingContainerHidden {
  display: none;
}

.GPreverseGeocodingCalcWaiting {
  margin: auto;
}

/* Search panel */

[id^="GPreverseGeocodingForm-"] {
  position: relative;
  max-height: 270px;
  overflow-y: auto;
  padding-left: 15px;
  padding-right: 15px;
  padding-top: 10px;
}

.GPreverseGeocodingCodeLabel,
.GPreverseGeocodingFilterLabel {
  max-width: 105px;
}

.GPreverseGeocodingCodeLabel,
.GPreverseGeocodingCode {
  margin-top: 5px;
  margin-bottom: 0;
}

.GPreverseGeocodingFilterLabel,
.GPreverseGeocodingFilterInput {
  margin-bottom: 5px;
}

input[id^="GPreverseGeocodingSubmit-"] {
  margin-top: 5px;
  margin-bottom: 15px;
  width: 100px;
}

/* Calc waiting */

// /* TODO: waiting  */
.GPreverseGeocodingCalcWaitingContainerVisible,
.GPreverseGeocodingCalcWaitingContainerHidden {
  position: absolute;
  top: 32px;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(255,255,255,0.9);
  font-size: 1.5em;
  font-weight: bold;
  overflow: hidden;
}

.GPreverseGeocodingCalcWaitingContainerVisible {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
}

.GPreverseGeocodingCalcWaitingContainerHidden {
  display: none;
}

.GPreverseGeocodingCalcWaiting {
  margin: auto;
}

/* Result panel */

div[id^=GPreverseGeocodingResultsList-] {
  position: relative;
  max-height: 210px;
  overflow-y: auto;
}

/* ROUTE */

div[id^=GProute-] {
   top: 100px;
}

/* Showing/hiding route panel */

label[id^=GPshowRoutePicto] {
  display: inline-block;
}

input[id^=GPshowRoute-] + label {
  display: block;
}

input[id^=GPshowRoute-]:checked + label {
  display: none;
}

input[id^=GPshowRoute-] + label + div {
  display: none;
}

input[id^=GPshowRoute-]:checked + label + div {
  display: block;
}

/* General panels */

div[id^=GProutePanel-] {
  width: 320px;
}

.GProuteComponentHidden {
  display: none;
}

/* Calc waiting */

.GProuteCalcWaitingContainerVisible,
.GProuteCalcWaitingContainerHidden {
  position: absolute;
  top: 32px;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(255,255,255,0.9);
  font-size: 1.5em;
  font-weight: bold;
  overflow: hidden;
}

.GProuteCalcWaitingContainerVisible {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
}

.GProuteCalcWaitingContainerHidden {
  display: none;
}

.GProuteCalcWaiting {
  margin: auto;
}

/* Route form */

form[id^=GProuteForm] {
  padding: 15px;
}

.GProuteFormMini {
  max-height: 58px;
  overflow: hidden;
  -webkit-transform: translateY(-5px);
  transform: translateY(-5px);
}

.GProuteStageFlexInput {
  max-height: 28px;
  opacity: 1;
}

.GProuteStageFlexInputHidden {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
}

form[id^=GProuteForm] > .GPlocationStageFlexInput {
  margin-top: 5px;
}

form[id^=GProuteForm] > .GPlocationStageFlexInputHidden {
  margin-top: 0;
}

form[id^=GProuteForm].GProuteFormMini .GPlocationStageFlexInput:first-child {
  margin-top: 5px;
}

.GProuteOriginVisible {
  display: block;
}

.GProuteOriginHidden {
  display: none;
}

label.GProuteOriginPointerImg[id*="GProuteOriginPointerImg"] {
  width: 28px;
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-right: 1px solid #999;
}

input[id*="GProuteOriginPointer"] + .GProuteOriginPointerImg {
  background-position: -1px -1px;
}

input[id*="GProuteOriginPointer"]:checked + .GProuteOriginPointerImg {
  background-position: -29px -1px;
}

.GProuteStageRemove,
div[id^=GProuteStageAdd] {
  width: 28px;
  border: none;
  cursor: pointer;
}

.GProuteFormMini .GProuteStageRemove,
.GProuteFormMini div[id^=GProuteStageAdd] {
  display: none;
}

.GProuteStageRemove {
  background-position: -84px 0;
}

div[id^=GProuteStageAdd] {
  background-position: -56px 0;
}

/* Mode choice */

div[id^=GProuteModeChoice] {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  margin: 15px 0;
}

.GProuteModeLabel {
  display: block;
  text-align: center;
  margin-bottom: 5px;
}

div[id^=GProuteTransportChoice] input {
  display: none;
}

.GProuteTransportImg {
  display: inline-block;
  width: 28px;
  height: 28px;
  cursor: pointer;
}

.GProuteTransportImg:first-of-type {
    margin-left: 18px;
    margin-right: 10px;
}

input[id^=GProuteTransportCar] + .GProuteTransportImg {
  background-position: -112px 0;
}

input[id^=GProuteTransportCar]:checked + .GProuteTransportImg {
  background-position: -140px 0;
}

input[id^=GProuteTransportPedestrian] + .GProuteTransportImg {
  background-position: -168px 0;
}

input[id^=GProuteTransportPedestrian]:checked + .GProuteTransportImg {
  background-position: -196px 0;
}

select[id^=GProuteComputationSelect] {
  width: 100px;
}

/* Showing/hiding exclusions */

input[id^=GPshowRouteExclusions] {
  display: none;
}

.GPshowRouteExclusionsPicto {
  top: 185px;
  right: 0;
  transition: all 0.3s ease-out 0s;
}

input[id^=GPshowRouteExclusions] + label + div[id^=GProuteExclusions] {
  max-height: 0;
  opacity: 0;
  margin-bottom: 0;
}

input[id^=GPshowRouteExclusions]:checked + label + div[id^=GProuteExclusions] {
  display: block;
  max-height: 60px;
  opacity: 1;
  margin-bottom: 15px;
}

/* Exclusions */

div[id^=GProuteExclusions] {
  transition: max-height 0.5s ease-in-out 0.25s, opacity 0.5s ease-in-out 0.25s, margin 0.3s ease-in-out 0.25s;
  overflow: hidden;
}

.GProuteExclusionsLabel {
  display: block;
  text-align: center;
  margin-bottom: 10px;
  font-weight: bold;
  line-height: 16px;
}

.GProuteExclusionsOptions {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

.GProuteExclusionsOption {
  display: block;
  height: 28px;
  line-height: 26px;
  color: #A77;
  background-color: #FEE;
  padding-left: 28px;
  padding-right: 5px;
  border: 1px solid #A77;
  border-radius: 3px;
  cursor: pointer;
}

input:checked + .GProuteExclusionsOption {
  background-color: #EFE;
  background-position: 0 -28px;
  color: #797;
  border: 1px solid #797;
}

/* Reset picto */
div[id^=GProuteReset] {
  position: absolute;
  width: 28px;
  height: 28px;
  border-radius: 3px;
  opacity: 0.8;
  background-position: -224px 0;
  transition: opacity 0.2s ease-out;
  cursor: pointer;
}

div[id^=GProuteReset]:hover {
  opacity: 1;
}

/* Result panel */

div[id^=GProuteResultsPanel] {
  padding: 15px;
}

.GProuteResultStage {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
}

div[id^=GProuteResultsStages] {
  margin-bottom: 15px;
}

.GProuteResultStageLabel,
.GProuteResultStageValue,
.GProuteResultsValueLabel,
div[id^=GProuteResultsValueDist],
div[id^=GProuteResultsValueTime] {
  display: inline-block;
  line-height: 18px;
}

.GProuteResultStageLabel,
.GProuteResultsValueLabel {
  color: #666;
}

.GProuteResultStageLabel {
  width: 60px;
}

.GProuteResultsValueLabel {
  width: 65px;
}

.GProuteResultStageValue {
  -webkit-flex: 1;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  overflow-x: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

div[id^=GProuteResultsValueDist],
div[id^=GProuteResultsValueTime] {
  width: 80px;
  font-weight: bold;
}

div[id^=GProuteResults-] {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -webkit-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 10px;
}

select[id^=GProuteResultsComputationSelect] {
  width: 100px;
}

div[id^=GProuteResultsNew] {
  width: 28px;
  height: 28px;
  border-radius: 3px;
  opacity: 0.8;
  background-position: -224px 0;
  transition: opacity 0.2s ease-out;
  cursor: pointer;
}

div[id^=GProuteResultsNew]:hover {
  opacity: 1;
}

/* Results details header */

.GPfakeBorder {
  display: inline-block;
  height: 14px;
  width: 60px;
  border-bottom: 1px solid #999;
}

.GPfakeBorderLeft {
  margin-left:15px;
}

input[id^=GProuteResultsShowDetails] + label,
input[id^=GProuteResultsShowDetails] + label + label {
  width: 130px;
  line-height: 28px;
  vertical-align: top;
  text-align: center;
  font-weight: bold;
  cursor: pointer;
  transition: color 0.2s ease-out;
}

input[id^=GProuteResultsShowDetails] + label,
input[id^=GProuteResultsShowDetails]:checked + label + label {
  display: inline-block;
}

input[id^=GProuteResultsShowDetails]:checked + label,
input[id^=GProuteResultsShowDetails] + label + label {
  display: none;
}

input[id^=GProuteResultsShowDetails] + label + label + div + div[id^=GProuteResultsDetails] {
  max-height: 0;
  opacity: 0;
}

input[id^=GProuteResultsShowDetails]:checked + label + label + div + div[id^=GProuteResultsDetails] {
  max-height: 200px;
  opacity: 1;
}

div[id^=GProuteResultsDetails] {
  overflow-y: auto;
  transition: max-height 0.5s ease-in-out 0.25s, opacity 0.5s ease-in-out 0.25s;
}

.GProuteResultsDetailsNumber,
.GProuteResultsDetailsInstruction {
  display: inline-block;
  margin-top: 4px;
  line-height: 16px;
  color: #666;
}

.GProuteResultsDetailsNumber {
  font-weight: bold;
  width: 22px;
  text-align: right;
  vertical-align: top;
}

.GProuteResultsDetailsInstruction {
  width: calc(100% - 30px);
  padding-left: 5px;
}

/* SEARCH ENGINE */

input[id^=GPshowSearchEngine-] + label + form[id^=GPsearchInput-] {
  max-width: 0px;
}

#GPlayerSwitcher label { /* FIXME !? */
  display: block;
}

/* Showing/hiding search engine input */

input[id^=GPshowSearchEngine-] {
  display: none;
}

label[id^=GPshowSearchEnginePicto] {
  display: inline-block;
  transition: border-radius 0s ease-out 0s;
  transition-delay: 0.5s;
}

input[id^=GPshowSearchEngine-]:checked + label {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  transition-delay: 0s;
}

input[id^=GPshowSearchEngine-] + label + form[id^=GPsearchInput-] {
  max-width: 0px;
  border: none;
  transition: max-width 0.5s ease-out 0s;
}

input[id^=GPshowSearchEngine-]:checked + label + form[id^=GPsearchInput-] {
  max-width: 280px;
}

input[id^=GPshowSearchEngine-] + label + form[id^=GPsearchInput-] + div[id^=GPshowAdvancedSearch] {
  display: none;
}

input[id^=GPshowSearchEngine-]:checked + label + form[id^=GPsearchInput-] + div[id^=GPshowAdvancedSearch] {
  display: inline-block;
}

div[id^=GPautoCompleteList] {
  display: none;
}

input[id^=GPshowSearchEngine-]:checked + label + form[id^=GPsearchInput-] + div[id^=GPautoCompleteList] {
  display: block;
}

/* Simple search input */

form[id^=GPsearchInput-] {
  display: inline-block;
  position: relative;
  left: -3px;
  width: 280px;
  overflow: hidden;
}

form[id^=GPsearchInput-] input {
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid #999;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  padding: 0;
  padding-right: 30px;
  padding-left: 5px;
  color: #333;
  font-size: 1.0em;
}

form[id^=GPsearchInput-] input:disabled {
  background-color: #DDD;
  color: #999;
}

div[id^=GPsearchInputReset] {
  position: absolute;
  top: 0;
  right: 0;
  width: 30px;
  height: 32px;
  background-position: -30px 0;
  cursor: pointer;
}

/* General panels */

div[id^=GPgeocodeResultsClose],
div[id^=GPadvancedSearchClose] {
  top: 0;
  right: 0;
  width: 30px;
  height: 32px;
}

div[id^=GPgeocodeResultsClose] {
  background-position: 0 0;
}

div[id^=GPadvancedSearchClose] {
  background-repeat: no-repeat;
}

/* Advanced search picto */

div[id^=GPshowAdvancedSearch] {
  transition: border-radius 0s ease-out 0s;
  transition-delay: 0.5s;
}

/* Advanced search panel */

div[id^=GPadvancedSearchPanel] {
  display: none;
  width: 280px;
  vertical-align: top;
  overflow: hidden;
}

form[id^=GPadvancedSearchForm] {
  max-height: 220px;
  overflow-y: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.GPadvancedSearchCodeLabel,
.GPadvancedSearchFilterLabel {
  max-width: 105px;
}

.GPadvancedSearchCodeLabel,
.GPadvancedSearchCode,
 div[id^=GPadvancedSearchFilters] {
  margin-top: 15px;
}

.GPadvancedSearchFilterLabel,
.GPadvancedSearchFilterInput {
  margin-bottom: 5px;
}

input[id^=GPadvancedSearchSubmit] {
  margin-top: 10px;
  margin-bottom: 15px;
}

/* Autocomplete list / geocode results */

div[id^=GPautoCompleteList],
div[id^=GPgeocodeResultsList] {
  width: 280px;
}

div[id^=GPautoCompleteList] {
  top: 35px;
}

div[id^=GPgeocodeResultsList] {
  display: none;
  position: absolute;
  top: 40px;
  border-radius: 4px;
  overflow: hidden;
}

div[id^=GPgeocodeResults-] {
  background-color: #FFF;
  max-height: 140px;
  overflow-y: auto;
}

/* General panels */

.GPpanel {
  box-shadow: 0 0 6px #000;
  border-radius: 4px;
}

.GPpanelHeader {
  height: 32px;
  padding: 3px;
  background-color: #9DB1BD;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

.GPpanelTitle {
  line-height: 26px;
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
  background-color: #366291;
  color: #FFF;
}

.GPpanelClose {
  top: 3px;
  right: 3px;
  width: 26px;
  height: 26px;
  background-position: -26px 0;
}

/* Showing/hiding advanced panels */

.GPshowAdvancedToolPicto {
  width: 32px;
  height: 32px;
  padding: 3px;
  background-color: rgba(255, 255, 255, 0.4);
  border-radius: 4px;
}

.GPshowAdvancedToolPicto:hover {
  background-color: rgba(255, 255, 255, 0.6);
}

.GPshowAdvancedToolOpen {
  width: 26px;
  height: 26px;
  background-color: rgba(0,60,136,0.5);
  border-radius: 2px;
}

.GPshowAdvancedToolPicto:hover .GPshowAdvancedToolOpen {
  background-color: rgba(0,60,136,0.7);
}

/* Submit inputs */

input.GPinputSubmit {
  background-color: #366291;
}

/* Showing additional hidden options */

.GPshowMoreOptions {
  background-image: url("img/GPshowMoreOptions.png");
}

/* Feature info popup */

.gp-feature-info-div {
  bottom: 17px;
  max-width: calc(100vw - 80px);
  padding: 10px;
  border-radius: 10px;
  font-size: 0.75em;
  font-family: "Open Sans", sans-serif;
  color: #002A50;
  background-color: #FFF;
  box-shadow: 0 0 5px #000;
}

.gp-feature-info-div::before {
  content: "";
  position: absolute;
  border-top: 15px solid #FFF;
  border-right: 14px solid transparent;
  border-left: 14px solid transparent;
  bottom: -15px;
  margin-left: -14px;
  left: 50%;
}

.gp-feature-info-div .closer {
  position: absolute;
  display: block;
  width: 30px;
  height: 30px;
  top: 0;
  right: 0;
  border: none;
  cursor: pointer;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  background-color: #FFF;
  background-repeat: no-repeat;
  background-image: url("./img/close-emeraud.svg");
  background-size: 14px 14px;
  background-position: center;
}

.gp-features-content-div {
  max-width: 420px;
  min-width: 260px;
  max-height: 340px;
  overflow: auto;
}

.gp-features-content-div h5,
.gp-features-content-div h6,
.gp-features-content-div p,
.gp-features-content-div ul {
  margin: 0;
}

.gp-features-content-div ul {
  padding: 0;
  list-style-type: none;
}

.geoportail-popup-content h5,
.geoportail-popup-content h6,
.geoportail-popup-content p,
.gp-att-name-div,
.gp-att-description-div,
.gp-att-others-div {
  padding: 0 10px;
}

.geoportail-popup-content h5:not(:last-child),
.geoportail-popup-content h6:not(:last-child),
.geoportail-popup-content p:not(:last-child),
.gp-att-description-div:not(:last-child),
.gp-att-others-div:not(:last-child) {
  margin-bottom: 15px;
}

.geoportail-popup-content h5:last-child,
.geoportail-popup-content h6:last-child,
.geoportail-popup-content p:last-child,
.gp-att-description-div:last-child,
.gp-att-others-div:last-child,
.gp-att-name-div {
  margin-bottom: 10px;
}

.geoportail-popup-content h5:first-child,
.geoportail-popup-content h6:first-child,
.geoportail-popup-content p:first-child,
.gp-att-name-div:first-child,
.gp-att-description-div:first-child,
.gp-att-others-div:first-child {
  margin-top: 10px;
}

.gp-att-name-div,
.gp-features-content-div h5 {
  padding-right: 35px;
  font-weight: bold;
  font-size: 1.2em;
  text-transform: uppercase;
  color: #0B6BA7;
}

.gp-features-content-div h6 {
  font-size: 1.1em;
}

.gp-att-description-div:not(:last-child),
.gp-att-others-div:not(:last-child) {
  padding-bottom: 10px;
  border-bottom: 1px dotted #666;
}

/* Geoportal Attribution */

.ol-attribution .gp-control-attribution-image {
  max-height: 30px;
  max-width: inherit;
  vertical-align: middle;
}
/* MOUSE POSITION */

div[id^=GPdrawing-] {
  top: 48px;
  right: 8px;
}

/* Showing/hiding mouse position panel */

span[id^=GPshowDrawingOpen-] {
  background-image: url("img/GPdrawingOpen.png");
}

/* General panels */

div[id^=GPdrawingPanelClose-] {
  background-image: url("img/GPdrawingOpen.png");
}

.drawing-tool-section:not(:last-child) {
    border-bottom: 1px solid #ddd;
}

.drawing-tool-section {
    padding: 2px 5px 5px;
}

.drawing-tool-section-title {
    /* font-family: OpenSansExtraBold,"Open Sans",Arial,sans-serif; */
    font-size: 0.75em;
    margin-bottom: 0;
    margin-top: 0;
    text-transform: uppercase;
}

ul.drawing-tools-flex-display {
    justify-content: center;
    padding : 0;
}
.drawing-tools-flex-display {
    align-items: center;
    display: flex;
}

.drawing-tool:not(:last-child) {
    margin-right: 10px;
}

.drawing-tool {
    border-radius: 10px;
    cursor: pointer;
    display: block;
    height: 40px;
    width: 40px;
}

.drawing-tool {
    background-image: url("./img/drawing-tools.svg");
    background-size: 640px 40px;
}

.drawing-tool {
    background-color: #e9edf0;
}

.drawing-tool-active {
    background-color: #002a50;
}


/*
 * Drawing tools
 */
li[id^=drawing-tool-point-] {
    background-position: 0 0;
}

li[id^=drawing-tool-point.drawing-tool-active] {
    background-position: -40px 0;
}

li[id^=drawing-tool-line-] {
    background-position: -80px 0;
}

li[id^=drawing-tool-line.drawing-tool-active-] {
    background-position: -120px 0;
}

li[id^=drawing-tool-polygon-] {
    background-position: -160px 0;
}

li[id^=drawing-tool-polygon.drawing-tool-active] {
    background-position: -200px 0;
}

li[id^=drawing-tool-text-] {
    background-position: -240px 0;
}

li[id^=drawing-tool-text.drawing-tool-active] {
    background-position: -280px 0;
}

/*
 * Editing tools
 */
li[id^=drawing-tool-edit-] {
    background-position: -320px 0;
}

li[id^=drawing-tool-edit.drawing-tool-active] {
    background-position: -360px 0;
}

li[id^=drawing-tool-display] {
    background-position: -400px 0;
}

li[id^=drawing-tool-display.drawing-tool-active] {
    background-position: -440px 0;
}

li[id^=drawing-tool-tooltip] {
    background-position: -480px 0;
}

li[id^=drawing-tool-tooltip.drawing-tool-active] {
    background-position: -520px 0;
}

li[id^=drawing-tool-remove] {
    background-position: -560px 0;
}

li[id^=drawing-tool-remove.drawing-tool-active] {
    background-position: -600px 0;
}

/* section d'export */

div.drawing-tools-flex-display {
    justify-content: space-between;
}

button[id^=drawing-export-] {
    background-position: 2px 0;
}

.drawing-button {
    margin: auto;
    font-size: 0.7em;
    height: 30px;
    line-height: 30px;
    padding-left: 30px;
    padding-right: 15px;
    /* from site colors-chart */
    background-image: url("./img/drawing-save.svg");
    background-size: 30px 120px;
}

.tool-form-submit {
    border: medium none;
    border-radius: 20px;
    font-family: "Helvetica Neue",Arial,Helvetica,sans-serif; 
    font-size: 0.9em;
    text-align: center;
    text-transform: uppercase;
    /* from site colors-chart */
    background-color: #00b798;
    color: #fff;
}

/* 
 * popups 
 */
.gp-label-div,
.gp-styling-div {
  position: relative;
  top: 17px;
  border-radius: 10px;
  font-size: 0.75em;
  background-color: #FFF;
  box-shadow: 0 0 5px #000;
  box-sizing: border-box;
}

.gp-label-div::before,
.gp-styling-div::before {
  content: "";
  position: absolute;
  border-bottom: 15px solid #FFF;
  border-right: 9px solid transparent;
  border-left: 10px solid transparent;
  top: -15px;
  margin-left: -10px;
  left: 50%;
}

.gp-textarea-att-label-style,
.gp-input-label-style {
  border: none;
}

.gp-textarea-att-label-style {
  width: 240px;
  height: 80px;
  resize: none;
}

.gp-textarea-att-label-style {
  display: block;
}

.gp-label-div .closer {
  border-top-right-radius: 10px;
  background-color: #FFF;
}

.gp-input-label-style {
  width: 180px;
}

/* Label popups */

.gp-label-div {
  padding: 10px;
}

/* Styling popup */

.gp-styling-div {
  width: 340px;
  padding: 20px;
  padding-top: 50px;
}

.gp-styling-div::after {
  content: "Modifier le style";
  position: absolute;
  display: block;
  width: 280px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  left: 30px;
  top: 0;
  border-bottom: 1px solid #BBB;
  font-variant: small-caps;
  font-size: 1.2em;
  font-weight: bold;
}

.gp-label-div .gp-styling-button:not([class*="closer"]) {
  display: block;
  margin: auto;
  margin-top: 10px;
}

.gp-styling-button:not([class*="closer"]) {
  display: inline-block;
  width: 140px;
  height: 24px;
  line-height: 24px;
  margin-top: 20px;
  border-radius: 12px;
  text-align: center;
  color: #FFF;
  background-color: #00B798;
  font-weight: bold;
  font-size: 0.9em;
  text-transform: uppercase;
  border: none;
}

.gp-styling-button:not([class*="closer"]):hover {
  color: #00B798;
  background-color: #EEF2F5;
}

.gp-styling-button:not([class*="closer"]) + .gp-styling-button:not([class*="closer"]) {
  margin-left: 20px;
}

.gp-label-div .closer,
.gp-styling-div .closer {
  cursor: pointer;
  position: absolute;
  display: block;
  width: 30px;
  height: 30px;
  top: 0;
  right: 0;
  border: none;
  background-color: transparent;
  background-repeat: no-repeat;
  background-image: url("./img/close-emeraud.svg");
  background-size: 14px 14px;
  background-position: center;
}

.gp-styling-div ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

.gp-styling-option {
  font-size: 11px;
  position: relative;
  line-height: 30px;
  padding: 0 20px;
}

.gp-styling-option input {
  display: block;
  position: absolute;
  height: 20px;
  top: 6px;
  cursor: pointer;
  padding: 0;
}

.gp-styling-option input[type="color"] {
  width: 30px;
  right: 70px;
  padding: 0;
  border: none;
  background: none;
}

.gp-styling-option input[type="text"] {
  width: 80px;
  right: 40px;
  padding: 0 5px;
  margin: none;
  background: none;
  border: 1px solid #808080;
  color: #0B6BA7;
}


/* Styling slider : general */
.gp-styling-option input[type="range"] {
  margin: 0;
  width: 80px;
  right: 40px;
}

.gp-styling-option input[type="range"]:focus {
  box-shadow: none;
  outline: none;
}

/* Styling slider : Chrome, Safari, Opera */

.gp-styling-option input[type="range"]::-webkit-slider-runnable-track {
  -webkit-appearance: none;
  height: 1px;
  background-color: #808080;
}

.gp-styling-option input[type="range"]::-webkit-slider-thumb:before {
  position: absolute;
  top: 0;
  right: 50%;
  left: -200px;
  height: 1px;
  pointer-events: none;
}

.gp-styling-option input[type="range"]::-webkit-slider-thumb {
  width: 13px;
  height: 13px;
  -webkit-appearance: none;
  background-color: #0B6BA7;
  border: none;
  border-radius: 50%;
  position: relative;
  top: -6px;
}

/* Styling slider : Firefox */

.gp-styling-option input[type="range"]::-moz-range-track {
  width: 70px;
  height: 1px;
  background-color: #808080;
}

.gp-styling-option input[type="range"]::-moz-range-thumb {
  width: 13px;
  height: 13px;
  background-color: #0B6BA7;
  border: none;
  border-radius: 50%;
  box-shadow: 0;
  position: relative;
}

/* Styling slider : IE */

.gp-styling-option input[type="range"]::-ms-track {
  border: 0;
  border-color: transparent;
  border-radius: 0;
  border-width: 0;
  color: transparent;
  height: 1px;
  width: 70px;
  background-color: #808080;
}

.gp-styling-option input[type="range"]::-ms-fill-lower,
.gp-styling-option input[type="range"]::-ms-fill-upper {
  background: transparent;
  border-radius: 0;
}

.gp-styling-option input[type="range"]::-ms-thumb {
  width: 13px;
  height: 13px;
  background-color: #0B6BA7;
  border: none;
  border-radius: 50%;
}

.gp-styling-option input[type="range"]::-ms-tooltip {
  display: none;
}


.gp-styling-option .marker-input-radio {
  display: none;
}

.gp-styling-option .marker-label {
  display: inline-block;
  height: 32px;
  padding: 3px;
  margin-right: 5px;
  margin-bottom: 5px;
  cursor: pointer;
}

.gp-styling-option .marker-input-radio:checked + .marker-label {
  padding: 2px;
  background-color: rgba(0,183,152,0.5);
  border: 1px solid #002A50;
}

.gp-styling-option .marker-label img {
  height: 24px;
}

div[id^=GPelevationPath-] {
  bottom: 48px;
  left: 10px;
}

/* Showing/hiding elevationPath panel */

label[id^=GPshowElevationPathPicto] {
  display: inline-block;
}

input[id^=GPshowElevationPath-] + label {
  display: block;
  /*visibility: visible;*/
}

input[id^=GPshowElevationPath-]:checked + label {
  background-color: rgba(0,60,136,0.5);
  /* on garde le picto toujours visible... */
  /* display: none; */
}

input[id^=GPshowElevationPath-] + label + div {
  display: none;
  /*visibility: hidden;*/
}

input[id^=GPshowElevationPath-]:checked + label + div {
  display: block;
  /*visibility: visible;*/
}

span[id^=GPshowElevationPathOpen] {
  background-image: url("img/GPshowElevationPath.png");
}

/* Panel */

[id^=GPelevationPathPanelClose] {
  background-image: url("img/GPshowElevationPath.png");
}

div[id^=GPelevationPathPanelReduce] {
  background-image: url("img/GPshowElevationPath.png");
}

[id^=GPelevationPathPanel-] {
  position : relative;
  top : 6px;
  left: 32px;
  width: 280px;
}

/* ELEVATION PATH DISPLAY */

[id^=GPelevationPathProfil] {
  height: 150px;
  width: inherit;
}

.GPpanelHeader {
  padding: unset;
}

/*
@media (min-width:720px) and (min-height:720px) {

[id^=GPelevationPathPanel] {
top: 15px;
left: 15px;
}

}

@media (min-width:720px) and (min-height:520px) {

[id^=GPelevationPathPanel] {
width: 460px;
}

[id^=GPelevationPathProfil] {
height: 220px;
}

}

@media (max-width:560px), (max-height:340px) {

[id^=GPelevationPathPanel] {
display: none !important;
}

}
*/

/* ISOCHRON */

div[id^=GPisochron-] {
  left: 10px;
}

/* Showing/hiding isochron panel */

span[id^=GPshowIsochronOpen] {
  background-image: url("img/GPisochronOpen.png");
  z-index:1;
}

/* General panels */

div[id^=GPisochronPanel-] {
  /*left: 8px;*/
  position: absolute;
  z-index:2;
}

div[id^=GPisochronPanelClose] {
  background-image: url("img/GPisochronOpen.png");
}

/* Calc waiting */

.GPisochronCalcWaitingContainerVisible,
.GPisochronCalcWaitingContainerHidden {
  border-radius: 4px;
}

/* Isochron form */

.GPisochronChoiceAlt input:checked + label + span {
  color: #366291;
}

.GPisochronOriginPointerImg,
.GPisochronChoiceAltImg,
.GPisochronTransportImg {
  background-image: url("img/GPisochronOptions.png");
}

.GPisoExclusionsOption {
  background-image: url("img/GPisochronCheck.png");
}

/* Reset picto */
div[id^=GPisochronReset] {
  background-color: #366291;
  background-image: url("img/GPisochronOptions.png");
}

/* Layer Import */

div[id^="GPimport-"] {
  top: 220px;
  left: 10px;
}

/* Showing/hiding import panel */

span[id^="GPshowImportOpen-"] {
  background-image: url("img/GPimportOpen.png");
}

label[id^="GPshowImportPicto-"] {
  display: inline-block;
}

input[id^="GPshowImport-"] + label {
  display: block;
}

input[id^="GPshowImport-"]:checked + label {
  display: none;
}

input[id^="GPshowImport-"] + label + div {
  display: none;
}

input[id^="GPshowImport-"]:checked + label + div {
  display: block;
}

/* General panels */

div[id^="GPimportPanel-"],
div[id^="GPimportGetCapPanel-"]
 {
  left: 8px;
}

div[id^="GPimportPanel-"]
 {
  width: 280px;
}

div[id^="GPimportGetCapPanel-"]
 {
  width: 340px;
}

div[id^="GPimportPanelClose-"],
div[id^="GPimportGetCapPanelClose-"] {
  background-image: url("../ol3/img/GPimportOpen.png");
}

div[id^="GPimportGetCapPanel-"] {
  display: none;
}

/* Import waiting */

.GPimportWaitingContainerVisible,
.GPimportWaitingContainerHidden {
  position: absolute;
  top: 32px;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(255,255,255,0.9);
  font-size: 1.5em;
  font-weight: bold;
  overflow: hidden;
  border-radius: 4px;
}

.GPimportWaitingContainerVisible {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
}

.GPimportWaitingContainerHidden {
  display: none;
}

.GPimportWaiting {
  margin: auto;
}

/* Import form */

form[id^="GPimportForm-"] {
  padding: 15px;
}

.GPimportVisibleParams {
  display: block;
}

.GPimportHiddenParams,
.GPimportValueHidden {
  display: none;
}

div[id^="GPimportTypeLine-"] {
  border-bottom: 1px solid #999;
  padding-bottom: 15px;
  margin-bottom: 15px;
}

div[id^="GPimportChoice-"] {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  margin-top: 5px;
  margin-bottom: 5px;
}

.GPimportChoiceAlt input[type="radio"] {
  display: none;
}

.GPimportChoiceAltTxt {
  display: block;
  line-height: 28px;
  color: #BBB;
  font-weight: bold;
  cursor: pointer;
}

input[type="radio"]:checked + .GPimportChoiceAltTxt {
  color: #366291;
}

input[id^="GPimportSubmit-"] {
  margin-top: 20px;
}

/* Line inputs */

.GPimportInputLine {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  margin-bottom: 10px;
}

.GPimportInputLine > * {
  display: block;
  height: 28px;
  line-height: 26px;
  border: 1px solid #999;
  border-radius: 0;
}

.GPimportInputLine *:not(:last-child) {
  border-right:none;
}

.GPimportInputLine *:first-child {
  border-radius: 3px 0 0 3px;
}

.GPimportInputLine *:last-child {
  border-radius: 0 3px 3px 0;
}

.GPimportInputLine > *:not(input) {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.GPimportInputLine > input {
  -webkit-flex: 1;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 0 5px;
  min-width: 0;
}

.GPimportInputLine > select {
  -webkit-flex: 1;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-right: 7px;
}

.GPimportInputLine > label {
  background-color:  #F2F2F2;
  color: #666;
  padding-left: 7px;
  padding-right: 9px;
  cursor: pointer;
}

/* Get cap results */

div[id^="GPimportGetCapResults-"] {
  background-color: #FFF;
  max-height: 140px;
  overflow-y: auto;
}

.GPimportGetCapProposal {
  width: 100%;
  height: 28px;
  line-height: 16px;
  padding: 6px 10px;
  color: #5E5E5E;
  font-size: 1.0em;
  overflow: hidden;
  white-space: nowrap;
  text-overflow:ellipsis;
  cursor: pointer;
}

.GPimportGetCapProposal:hover {
  color: #000000;
  background-color: #CEDBEF
}

/* LAYER SWITCHER OL3 */

#GPlayerSwitcher {
  top: 8px;
  right: 8px;
}

/* Showing/hiding layers list */

#GPshowLayersListPicto {
  width: 38px;
  height: 38px;
}

#GPshowLayersListOpen,
#GPshowLayersListClose {
  top: 3px;
  left: 3px;
  width: 32px;
  height: 32px;
  background-image: url("img/GPshowLayersList.png");
}

#GPshowLayersListClose {
  background-position: -32px 0;
}


#GPlayerSwitcher input[type="checkbox"]:checked + div + #GPshowLayersListPicto #GPshowLayersListOpen {
  opacity: 0.7;
}

#GPlayerSwitcher input[type="checkbox"]:checked + div + #GPshowLayersListPicto #GPshowLayersListClose {
  background-color: rgba(0,60,136,0.3);
}

#GPlayerSwitcher input[type="checkbox"]:checked + div + #GPshowLayersListPicto:hover #GPshowLayersListClose {
  background-color: rgba(0,60,136,0.4);
}

/* Layers list */

.GPlayerVisibility,
.GPshowLayerAdvancedTools,
.GPlayerInfo,
.GPlayerInfoOpened,
.GPlayerRemove {
  background-image: url("img/GPlayerTools.png");
}

/* Opacity slider : Chrome, Safari, Opera */

.GPlayerOpacity input[type="range"]::-webkit-slider-runnable-track {
  background: url("img/GPopacitySlider.png");
}

/* Opacity slider : Firefox */

.GPlayerOpacity input[type="range"]::-moz-range-track {
  background: url("img/GPopacitySlider.png");
}

/* Opacity slider : IE */

.GPlayerOpacity input[type="range"]::-ms-track {
  background: url("img/GPopacitySlider.png");
}

/* Layer info panel */

#GPlayerInfoPanel {
  right: 190px;
}

#GPlayerInfoTitle {
  color: #366291;
  border-bottom: 1px solid #366291;
}

#GPlayerInfoQuicklook {
  background-image: url("img/GPlayerInfo.png");
}

#GPlayerInfoClose {
  background-image: url("img/GPlayerInfoClose.png");
}

.GPlayerInfoLink,
.GPlayerInfoPopup {
  background-image: url("img/GPlayerInfo.png");
}

/* Location */

.GPlocationOriginPointerImg,
.GPlocationStageRemove,
div[id^=GPlocationStageAdd],
.GPlocationTransportImg {
  background-image: url("img/GPlocationOptions.png");
}

/* All div elements whose class attribute value begins with "GPlocationPoint" */
div[class*="GPlocationPoint"] {
    position: relative;
}

.GPlocationStageFlexInput {
    margin-bottom: 5px;
}

/* MEASURELENGTH POSITION */

div[id^=GPmeasureArea-] {
  top: 260px;
  left: 74px;
}

/* Showing/hiding measureLength position panel */

span[id^=GPshowMeasureAreaOpen-] {
  background-image: url("img/GPmeasuresOpen.png");
  background-position: -78px;
}

/* MEASURELENGTH POSITION */

div[id^=GPmeasureAzimuth-] {
  top: 260px;
  left: 10px;
}

/* Showing/hiding measureLength position panel */

span[id^=GPshowMeasureAzimuthOpen-] {
  background-image: url("img/GPmeasuresOpen.png");
}

/* MEASURELENGTH POSITION */

div[id^=GPmeasureLength-] {
  top: 260px;
  left: 42px;
}

/* Showing/hiding measureLength position panel */

span[id^=GPshowMeasureLengthOpen-] {
  background-image: url("img/GPmeasuresOpen.png");
  background-position: -26px;
}

/* REVERSE GEOCODING */

[id^="GPreverseGeocoding-"] {
  left: 10px;
}

/* Showing/hiding reverse geocoding panel */

[id^="GPshowReverseGeocodingOpen-"] {
  background-image: url("img/GPreverseGeocodingOpen.png");
}

/* General panels */

[id^="GPreverseGeocodingResultsClose"] {
  background-image: url("img/GPreverseGeocodingOpen.png");
}

[id^="GPreverseGeocodingPanel-"] {
  left: 8px;
}

[id^="GPreverseGeocodingPanelClose-"] {
  background-image: url("img/GPreverseGeocodingOpen.png");
}

/* Calc waiting */

.GPreverseGeocodingCalcWaitingContainerVisible,
.GPreverseGeocodingCalcWaitingContainerHidden {
  border-radius: 4px;
}

/* Results panel */

div[id^=GPreverseGeocodingReturnPicto-] {
  background-color: #366291;
  background-image: url("img/GPreturn.png");
}

.GPreverseGeocodedLocationHighlight {
    background-color: rgba(255,200,0,0.25);
    color: #222;
}

/* MOUSE POSITION */

div[id^=GPmousePosition-] {
  bottom: 8px;
  left: 10px;
}

/* Showing/hiding mouse position panel */

span[id^=GPshowMousePositionOpen] {
  background-image: url("img/GPmousePositionOpen.png");
}

/* General panels */

div[id^=GPmousePositionPanelClose]  {
  background-image: url("img/GPmousePositionOpen.png");
}

/* Map center localisation */

#GPmapCenter {
  background-image: url("img/GPmapCenter.png");
}

/* ROUTE */

div[id^=GProute-] {
  left: 10px;
}

/* Showing/hiding route panel */

span[id^=GPshowRouteOpen] {
  background-image: url("img/GProuteOpen.png");
  z-index: 1;
}

/* General panels */

div[id^=GProutePanel-] {
  /*left: 8px;*/
  position: absolute;
  z-index:2;
}

div[id^=GProutePanelClose] {
  background-image: url("img/GProuteOpen.png");
}

/* Calc waiting */

.GProuteCalcWaitingContainerVisible,
.GProuteCalcWaitingContainerHidden {
  border-radius: 4px;
}

/* Route form */

.GProuteOriginPointerImg,
.GProuteStageRemove,
div[id^=GProuteStageAdd],
.GProuteTransportImg {
  background-image: url("img/GProuteOptions.png");
}

.GProuteExclusionsOption {
  background-image: url("img/GProuteCheck.png");
}

/* Reset picto */
div[id^=GProuteReset] {
  background-color: #366291;
  background-image: url("img/GProuteOptions.png");
}

/* Results panel */

div[id^=GProuteResultsValueDist],
div[id^=GProuteResultsValueTime]  {
  color: #366291;
}

div[id^=GProuteResultsNew] {
  background-color: #366291;
  background-image: url("img/GProuteOptions.png");
}

input[id^=GProuteResultsShowDetails] + label:hover,
input[id^=GProuteResultsShowDetails] + label + label:hover {
  color: #366291;
}

.GProuteResultsDetailsInstructionHighlight {
    background-color: rgba(255,200,0,0.25);
    color: #222;
}

/* Results popup */

.gp-features-content-div {
  min-width: 230px;
}

/* SEARCH ENGINE */

[id^="GPsearchEngine-"] {
  top: 8px;
  left: 46px;
}

/* Showing/hiding search engine input */

[id^="GPshowSearchEngineOpen"] {
  background-image: url("img/GPsearchEngineOpen.png");
  transition: border-radius 0.5s ease-out 0s;
}

/* Simple search input */

[id^="GPsearchInput"] {
  height: 32px;
}

[id^="GPsearchInputReset"] {
  background-image: url("img/GPsearchEngineClose.png");
}

/* General panels */

[id^="GPgeocodeResultsClose"] {
  background-image: url("img/GPsearchEngineClose.png");
}

[id^="GPadvancedSearchClose"] {
  background-image: url("img/GPsearchEngineOpen.png");
  background-position: -50px 3px;
}

/* Advanced search picto */

[id^="GPshowAdvancedSearchOpen"] {
  background-image: url("img/GPsearchEngineOpen.png");
  background-position: -26px 0;
  transition: border-radius 0.5s ease-out 0s;
}

/* Autocomplete list / geocode results */

[id^="GPautoCompleteList"],
[id^="GPgeocodeResultsList"] {
  margin-left: 33px;
  box-shadow: 0 0 6px #000;
}

[id^="GPgeocodeResultsList"] {
  top: 40px;
  border-radius: 4px;
}

/* TODO coller un peu plus à la charte
- liseret blanc transparent 32x32 autour du pictogramme
- pictogramme 26x26
- ...
*/
#GPtoolbox-measure-main {
  float: left;
  left: 78px;
  top: 8px;
  position: absolute;
  display: inline-block;￼
  z-index: 1;
}

#GPtoolbox-measure-button {
  color: white;
  border-color: rgba(255, 255, 255, 0.8);
  border-style: none;
  border-width: 1px;
  cursor: pointer;
  width: 26px;
  height: 26px;
  background-color: rgba(0,60,136,0.5);
  border-radius: 4px;
  padding: 0px;
}

#GPtoolbox-measure-button {
  background-repeat: no-repeat;
  background-image: url("img/GPtoolBoxMeasureOpen.png");
}

#GPtoolbox-measure-widget {
  left:auto;
  display: none;
  /*visibility: hidden;*/
  /*position: absolute;*/
  /*right: 0;*/
  border-radius: 2px;
  /*background-color: #f9f9f9;*/
  /*box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);*/
}

#GPtoolbox-measure-widget > div {
  display: block;
  /*visibility: visible;*/
  position: relative;
  top: auto;
  left: auto;
  bottom: auto;
  right: auto;
}

#GPtoolbox-measure-main:hover {
    /*display: block;*/
    /*visibility: visible;*/
}

#GPtoolbox-measure-main:hover:not(.active) {
    /*background-color: rgba(0,60,136,0.3);*/
}

#GPtoolbox-measure-main:hover #GPtoolbox-measure-button {
    background-color: rgba(0,60,136,0.7);
}

.ol-box {
  box-sizing: border-box;
  border-radius: 2px;
  border: 2px solid blue;
}

.ol-mouse-position {
  top: 8px;
  right: 8px;
  position: absolute;
}

.ol-scale-line {
  background: #95b9e6;
  background: rgba(0,60,136,0.3);
  border-radius: 4px;
  bottom: 8px;
  left: 8px;
  padding: 2px;
  position: absolute;
}
.ol-scale-line-inner {
  border: 1px solid #eeeeee;
  border-top: none;
  color: #eeeeee;
  font-size: 10px;
  text-align: center;
  margin: 1px;
  will-change: contents, width;
}
.ol-overlay-container {
  will-change: left,right,top,bottom;
}

.ol-unsupported {
  display: none;
}
.ol-viewport .ol-unselectable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

.ol-control {
  position: absolute;
  background-color: #eee;
  background-color: rgba(255,255,255,0.4);
  border-radius: 4px;
  padding: 2px;
}
.ol-control:hover {
  background-color: rgba(255,255,255,0.6);
}
.ol-zoom {
  top: .5em;
  left: .5em;
}
.ol-rotate {
  top: .5em;
  right: .5em;
  transition: opacity .25s linear, visibility 0s linear;
}
.ol-rotate.ol-hidden {
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s linear, visibility 0s linear .25s;
}
.ol-zoom-extent {
  top: 4.643em;
  left: .5em;
}
.ol-full-screen {
  right: .5em;
  top: .5em;
}
@media print {
  .ol-control {
    display: none;
  }
}

.ol-control button {
  display: block;
  margin: 1px;
  padding: 0;
  color: white;
  font-size: 1.14em;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  height: 1.375em;
  width: 1.375em;
  line-height: .4em;
  background-color: #7b98bc;
  background-color: rgba(0,60,136,0.5);
  border: none;
  border-radius: 2px;
}
.ol-control button::-moz-focus-inner {
  border: none;
  padding: 0;
}
.ol-zoom-extent button {
  line-height: 1.4em;
}
.ol-compass {
  display: block;
  font-weight: normal;
  font-size: 1.2em;
  will-change: transform;
}
.ol-touch .ol-control button {
  font-size: 1.5em;
}
.ol-touch .ol-zoom-extent {
  top: 5.5em;
}
.ol-control button:hover,
.ol-control button:focus {
  text-decoration: none;
  background-color: #4c6079;
  background-color: rgba(0,60,136,0.7);
}
.ol-zoom .ol-zoom-in {
  border-radius: 2px 2px 0 0;
}
.ol-zoom .ol-zoom-out {
  border-radius: 0 0 2px 2px;
}


.ol-attribution {
  text-align: right;
  bottom: .5em;
  right: .5em;
  max-width: calc(100% - 1.3em);
}

.ol-attribution ul {
  margin: 0;
  padding: 0 .5em;
  font-size: .7rem;
  line-height: 1.375em;
  color: #000;
  text-shadow: 0 0 2px #fff;
}
.ol-attribution li {
  display: inline;
  list-style: none;
  line-height: inherit;
}
.ol-attribution li:not(:last-child):after {
  content: " ";
}
.ol-attribution img {
  max-height: 2em;
  max-width: inherit;
  vertical-align: middle;
}
.ol-attribution ul, .ol-attribution button {
  display: inline-block;
}
.ol-attribution.ol-collapsed ul {
  display: none;
}
.ol-attribution.ol-logo-only ul {
  display: block;
}
.ol-attribution:not(.ol-collapsed) {
  background: rgba(255,255,255,0.8);
}
.ol-attribution.ol-uncollapsible {
  bottom: 0;
  right: 0;
  border-radius: 4px 0 0;
  height: 1.1em;
  line-height: 1em;
}
.ol-attribution.ol-logo-only {
  background: transparent;
  bottom: .4em;
  height: 1.1em;
  line-height: 1em;
}
.ol-attribution.ol-uncollapsible img {
  margin-top: -.2em;
  max-height: 1.6em;
}
.ol-attribution.ol-logo-only button,
.ol-attribution.ol-uncollapsible button {
  display: none;
}

.ol-zoomslider {
  top: 4.5em;
  left: .5em;
  height: 200px;
}
.ol-zoomslider button {
  position: relative;
  height: 10px;
}

.ol-touch .ol-zoomslider {
  top: 5.5em;
}

.ol-overviewmap {
  left: 0.5em;
  bottom: 0.5em;
}
.ol-overviewmap.ol-uncollapsible {
  bottom: 0;
  left: 0;
  border-radius: 0 4px 0 0;
}
.ol-overviewmap .ol-overviewmap-map,
.ol-overviewmap button {
  display: inline-block;
}
.ol-overviewmap .ol-overviewmap-map {
  border: 1px solid #7b98bc;
  height: 150px;
  margin: 2px;
  width: 150px;
}
.ol-overviewmap:not(.ol-collapsed) button{
  bottom: 1px;
  left: 2px;
  position: absolute;
}
.ol-overviewmap.ol-collapsed .ol-overviewmap-map,
.ol-overviewmap.ol-uncollapsible button {
  display: none;
}
.ol-overviewmap:not(.ol-collapsed) {
  background: rgba(255,255,255,0.8);
}
.ol-overviewmap-box {
  border: 2px dotted rgba(0,60,136,0.7);
}

/**
 * CSS spécifiques pour l'affichage dans le SDK.
 */
.ol-overviewmap {
    bottom: 2.5em;
    left: 0.5em;
}
.ol-rotate {
    left: 2.5em;
    top : 0.5em;
    right: initial;
}

.ol-scale-line {
    left : 48px;
}

/* searchEngine */
[id^="GPsearchEngine-"] {
    top: 8px;
    left: 70px;
}


/* Feature info popup */

.gp-feature-info-div {
  bottom: 17px;
  max-width: calc(100vw - 80px);
  min-height: 30px;
  padding: 10px;
  border-radius: 10px;
  font-size: 0.75em;
  font-family: "Open Sans", sans-serif;
  color: #002A50;
  background-color: #FFF;
  box-shadow: 0 0 5px #000;
}

.gp-feature-info-div::before {
  content: "";
  position: absolute;
  border-top: 15px solid #FFF;
  border-right: 14px solid transparent;
  border-left: 14px solid transparent;
  bottom: -15px;
  margin-left: -14px;
  left: 50%;
}

.gp-feature-info-div .closer {
  position: absolute;
  display: block;
  width: 30px;
  height: 30px;
  top: 0;
  right: 0;
  border: none;
  cursor: pointer;
  border-top-right-radius: 10px;
  background-color: #FFF;
  background-repeat: no-repeat;
  background-image: url("./img/close-emeraud.svg");
  background-size: 14px 14px;
  background-position: center;
}

.gp-features-content-div {
  max-width: 420px;
  min-width: 260px;
  max-height: 340px;
  overflow: auto;
}

.gp-features-content-div h5,
.gp-features-content-div h6,
.gp-features-content-div p,
.gp-features-content-div ul {
  margin: 0;
}

.gp-features-content-div ul {
  padding: 0;
  list-style-type: none;
}

.geoportail-popup-content h5,
.geoportail-popup-content h6,
.geoportail-popup-content p,
.gp-att-name-div,
.gp-att-description-div,
.gp-att-others-div {
  padding: 0 10px;
}

.geoportail-popup-content h5:not(:last-child),
.geoportail-popup-content h6:not(:last-child),
.geoportail-popup-content p:not(:last-child),
.gp-att-description-div:not(:last-child),
.gp-att-others-div:not(:last-child) {
  margin-bottom: 15px;
}

.geoportail-popup-content h5:last-child,
.geoportail-popup-content h6:last-child,
.geoportail-popup-content p:last-child,
.gp-att-description-div:last-child,
.gp-att-others-div:last-child,
.gp-att-name-div {
  margin-bottom: 10px;
}

.geoportail-popup-content h5:first-child,
.geoportail-popup-content h6:first-child,
.geoportail-popup-content p:first-child,
.gp-att-name-div:first-child,
.gp-att-description-div:first-child,
.gp-att-others-div:first-child {
  margin-top: 10px;
}

.gp-att-name-div,
.gp-features-content-div h5 {
  padding-right: 35px;
  font-weight: bold;
  font-size: 1.2em;
  text-transform: uppercase;
  color: #0B6BA7;
}

.gp-features-content-div h6 {
  font-size: 1.1em;
}

.gp-att-description-div:not(:last-child),
.gp-att-others-div:not(:last-child) {
  padding-bottom: 10px;
  border-bottom: 1px dotted #666;
}


/* Surcharges à reverser dans extensions */

/* Positionnement spécifique à droite des outils de mesures */

#GPtoolbox-measure-main { 
    float: right;
    right: 8px;
    left :auto;
    top: 80px;
    position: absolute;
    display: inline-block;
    z-index: 1;
}
[id^=GPelevationPathPanel-] {
    position : absolute;
    top : 6px;
    left: auto;
    right: 32px;
    width: 280px;
    float : right;
}


/* LayerSwitcher uber alles */

#GPlayerSwitcher {
  z-index: 10;
}


