src/pyams_gis/resources/css/leaflet-gp-3.0.2.css
changeset 0 c73bb834ccbe
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/pyams_gis/resources/css/leaflet-gp-3.0.2.css	Thu May 18 17:23:48 2017 +0200
@@ -0,0 +1,3190 @@
+/*!
+ * @brief Geoportal Extension for Leaflet
+ *
+ * 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.8.1
+ * @date 2016-12-02
+ *
+ */
+/* 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/gp/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 */
+
+.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;
+}
+
+
+.GPwidget {
+  position: relative; /* overwritten */
+}
+
+
+#GPadvancedToolsPanel {
+  position: initial; /* overwritten */
+}
+
+/* General panels */
+
+.GPpanel {
+  box-shadow: 0 1px 5px #000;
+  border-radius: 5px;
+}
+
+.GPpanelHeader {
+  height: 32px;
+  background-color: #FFF;
+  border-top-left-radius: 5px;
+  border-top-right-radius: 5px;
+}
+
+.GPpanelTitle {
+  width: calc(100% - 60px);
+  margin: auto;
+  line-height: 32px;
+  color: #C77A04;
+  border-bottom: 1px solid #C77A04;
+}
+
+.GPpanelClose {
+  top: 0;
+  right: 0;
+  width: 30px;
+  height: 32px;
+  background-position: -30px 1px;
+}
+
+.GPpanelReduce {
+  top: 0;
+  right: 30px;
+  width: 30px;
+  height: 32px;
+  background-position: -60px 1px;
+}
+
+/* Showing/hiding advanced panel */
+
+.GPshowAdvancedToolPicto {
+  width: 30px;
+  height: 30px;
+  box-shadow: 0 1px 5px #000;
+  background-color: #FFF;
+  border-radius: 5px;
+}
+
+.GPshowAdvancedToolPicto:hover {
+  background-color: #F4F4F4;
+}
+
+.GPshowAdvancedToolOpen {
+  width: 100%;
+  height: 100%;
+}
+
+/* Submit inputs */
+
+input.GPinputSubmit {
+  background-color: #C77A04;
+}
+
+/* Showing additional hidden options */
+
+.GPshowMoreOptions {
+  background-image: url("../img/gp/GPshowMoreOptions.png");
+}
+
+div[id^=GPelevationPath-] {
+  top: 0; /*overwritten*/
+}
+
+/* Showing/hiding elevationPath panel */
+
+label[id^=GPshowElevationPathPicto] {
+  display: inline-block;
+}
+
+input[id^=GPshowElevationPath-] + label {
+  display: block;
+}
+
+input[id^=GPshowElevationPath-]:checked + label {
+  /* display: none; */
+}
+
+input[id^=GPshowElevationPath-] + label + div {
+  display: none;
+}
+
+input[id^=GPshowElevationPath-]:checked + label + div {
+  display: block;
+}
+
+span[id^=GPshowElevationPathOpen] {
+  background-image: url("../img/gp/GPshowElevationPath.png");
+}
+
+/* Panel */
+
+[id^=GPelevationPathPanelClose] {
+  background-image: url("../img/gp/GPshowElevationPath.png");
+}
+
+div[id^=GPelevationPathPanelReduce] {
+  background-image: url("../img/gp/GPshowElevationPath.png");
+}
+
+[id^=GPelevationPathPanel-] {
+  width: 280px;
+}
+
+/* ELEVATION PATH DISPLAY */
+
+[id^=GPelevationPathProfil] {
+  height: 150px;
+  width: inherit;
+  line-height: normal; /* surcharge leaflet container */
+}
+
+/*.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; */
+  top: 0; /*overwritten*/
+}
+
+/* Showing/hiding isochron panel */
+
+span[id^=GPshowIsochronOpen] {
+  background-image: url("../img/gp/GPisochronOpen.png");
+}
+
+/* General panels */
+
+div[id^=GPisochronPanel-] {
+  left: 10px;
+}
+
+div[id^=GPisochronPanelClose] {
+  background-image: url("../img/gp/GPisochronOpen.png");
+}
+
+div[id^=GPisochronPanelReduce] {
+  background-image: url("../img/gp/GPisochronOpen.png");
+}
+
+/* Calc waiting */
+
+.GPisochronCalcWaitingContainerVisible,
+.GPisochronCalcWaitingContainerHidden {
+  border-radius: 5px;
+}
+
+/* Isochron form */
+
+.GPisochronChoiceAlt input:checked + label + span {
+  color: #C77A04;
+}
+
+.GPisochronOriginPointerImg,
+.GPisochronChoiceAltImg,
+.GPisochronTransportImg {
+  background-image: url("../img/gp/GPisochronOptions.png");
+}
+
+.GPisoExclusionsOption {
+  background-image: url("../img/gp/GPisochronCheck.png");
+}
+
+/* Reset picto */
+div[id^=GPisochronReset] {
+  background-color: #C77A04;
+  background-image: url("../img/gp/GPisochronOptions.png");
+}
+
+/* LAYER SWITCHER LEAFLET */
+
+#GPlayerSwitcher {
+  top: 10px;
+  right: 10px;
+}
+
+/* Showing/hiding layers list */
+
+#GPshowLayersListPicto {
+  width: 36px;
+  height: 36px;
+}
+
+#GPshowLayersListOpen,
+#GPshowLayersListClose {
+  background-image: url("../img/gp/GPshowLayersList.png");
+}
+
+#GPshowLayersListClose {
+  background-position: -36px 0;
+}
+
+#GPlayerSwitcher input[type="checkbox"]:checked + div + #GPshowLayersListPicto {
+  box-shadow: 0 2px 2px #000;
+  border-top: 1px solid #CCC;
+}
+
+#GPlayerSwitcher input[type="checkbox"]:checked + div + #GPshowLayersListPicto #GPshowLayersListOpen {
+  opacity: 0.4;
+}
+
+/* Layers list */
+
+.GPlayerVisibility,
+.GPshowLayerAdvancedTools,
+.GPlayerInfo,
+.GPlayerInfoOpened,
+.GPlayerRemove {
+  background-image: url("../img/gp/GPlayerTools.png");
+}
+
+/* Opacity slider : Chrome, Safari, Opera */
+
+.GPlayerOpacity input[type="range"]::-webkit-slider-runnable-track {
+  background: url("../img/gp/GPopacitySlider.png");
+}
+
+/* Opacity slider : Firefox */
+
+.GPlayerOpacity input[type="range"]::-moz-range-track {
+  background: url("../img/gp/GPopacitySlider.png");
+}
+
+/* Opacity slider : IE */
+
+.GPlayerOpacity input[type="range"]::-ms-track {
+  background: url("../img/gp/GPopacitySlider.png");
+}
+
+/* Layer info panel */
+
+#GPlayerInfoPanel {
+  right: 190px;
+}
+
+#GPlayerInfoTitle {
+  color: #C77A04;
+  border-bottom: 1px solid #C77A04;
+}
+
+#GPlayerInfoQuicklook {
+  background-image: url("../img/gp/GPlayerInfo.png");
+}
+
+#GPlayerInfoClose {
+  background-image: url("../img/gp/GPlayerInfoClose.png");
+}
+
+.GPlayerInfoLink,
+.GPlayerInfoPopup {
+  background-image: url("../img/gp/GPlayerInfo.png");
+}
+
+/* Location */
+
+.GPlocationStageFlexInput {
+  margin-bottom: 5px; /*overwritten*/
+}
+
+/* Location form */
+
+.GPlocationOriginPointerImg,
+.GPlocationStageRemove,
+div[id^=GPlocationStageAdd],
+.GPlocationTransportImg {
+  background-image: url("../img/gp/GPlocationOptions.png");
+}
+
+/* MOUSE POSITION */
+
+div[id^=GPmousePosition-] {
+  /* bottom: 10px; */
+  /* left: 10px; */
+}
+
+/* Showing/hiding mouse position panel */
+
+span[id^=GPshowMousePositionOpen] {
+  background-image: url("../img/gp/GPmousePositionOpen.png");
+}
+
+/* General panels */
+
+div[id^=GPmousePositionPanelClose] {
+  background-image: url("../img/gp/GPmousePositionOpen.png");
+}
+
+/* Map center localisation */
+
+#GPmapCenter {
+  background-image: url("../img/gp/GPmapCenter.png");
+}
+
+/* REVERSE GEOCODING */
+
+[id^="GPreverseGeocoding-"] {
+  /*left: 10px;*/
+  top: 0; /*overwritten*/
+}
+
+/* Showing/hiding reverse geocoding panel */
+
+[id^="GPshowReverseGeocodingOpen-"] {
+  background-image: url("../img/gp/GPreverseGeocodingOpen.png");
+}
+
+/* General panels */
+
+[id^="GPreverseGeocodingPanel-"] {
+  left: 10px;
+}
+
+[id^="GPreverseGeocodingPanelClose-"] {
+  background-image: url("../img/gp/GPreverseGeocodingOpen.png");
+}
+
+/* Calc waiting */
+
+.GPreverseGeocodingCalcWaitingContainerVisible,
+.GPreverseGeocodingCalcWaitingContainerHidden {
+  border-radius: 5px;
+}
+
+/* Results panel */
+
+[id^="GPreverseGeocodingReturnPicto-"] {
+  width: 30px  !important;
+  height: 30px !important;
+  background-color: #C77A04;
+  background-image: url("../img/gp/GPreturn.png");
+}
+
+.GPreverseGeocodedLocationHighlight {
+    background-color: rgba(255,200,0,0.25);
+    color: #222;
+}
+
+/* ROUTE */
+
+div[id^=GProute-] {
+   /* left: 10px; */
+   top: 0; /*overwritten*/
+}
+
+.GProuteStageFlexInput {
+  margin-bottom: 5px; /*overwritten*/
+}
+
+/* Showing/hiding route panel */
+
+span[id^=GPshowRouteOpen] {
+  background-image: url("../img/gp/GProuteOpen.png");
+}
+
+/* General panels */
+
+div[id^=GProutePanel-] {
+  left: 10px;
+}
+
+div[id^=GProutePanelClose] {
+  background-image: url("../img/gp/GProuteOpen.png");
+}
+
+/* Calc waiting */
+
+.GProuteCalcWaitingContainerVisible,
+.GProuteCalcWaitingContainerHidden {
+  border-radius: 5px;
+}
+
+/* Route form */
+
+.GProuteOriginPointerImg,
+.GProuteStageRemove,
+div[id^=GProuteStageAdd],
+.GProuteTransportImg {
+  background-image: url("../img/gp/GProuteOptions.png");
+}
+
+.GProuteExclusionsOption {
+  background-image: url("../img/gp/GProuteCheck.png");
+}
+
+/* Results panel */
+
+div[id^=GProuteResultsValueDist],
+div[id^=GProuteResultsValueTime] {
+  color: #C77A04;
+}
+
+div[id^=GProuteResultsNew] {
+  background-color: #C77A04;
+  background-image: url("../img/gp/GProuteOptions.png");
+}
+
+input[id^=GProuteResultsShowDetails] + label:hover,
+input[id^=GProuteResultsShowDetails] + label + label:hover {
+  color: #C77A04;
+}
+
+.GProuteResultsDetailsHighlight {
+    background-color: rgba(255,200,0,0.25);
+    color: #222;
+}
+
+/* SEARCH ENGINE */
+
+div[id^=GPsearchEngine-] {
+  /* top: 10px; */
+  /* left: 46px; */
+}
+
+/* Showing/hiding search engine input */
+
+span[id^=GPshowSearchEngineOpen] {
+  background-image: url("../img/gp/GPsearchEngineOpen.png");
+}
+
+/* Simple search input */
+
+form[id^=GPsearchInput-] {
+  height: 30px;
+}
+
+div[id^=GPsearchInputReset] {
+  background-image: url("../img/gp/GPsearchEngineClose.png");
+}
+
+/* General panels */
+
+div[id^=GPgeocodeResultsClose] {
+  background-image: url("../img/gp/GPsearchEngineClose.png");
+}
+
+div[id^=GPadvancedSearchClose] {
+  background-image: url("../img/gp/GPsearchEngineOpen.png");
+  background-position: -60px 0;
+}
+
+/* Advanced search picto */
+
+span[id^=GPshowAdvancedSearchOpen] {
+  background-image: url("../img/gp/GPsearchEngineOpen.png");
+  background-position: -30px 0;
+}
+
+/* Autocomplete list / geocode results */
+
+div[id^=GPautoCompleteList],
+div[id^=GPgeocodeResultsList] {
+  margin-left: 27px;
+  box-shadow: 0 1px 5px #000;
+}
+
+div[id^=GPgeocodeResultsList] {
+  top: 38px;
+  border-radius: 5px;
+}
+
+/* ================================================================== */
+/* Toolbars
+/* ================================================================== */
+
+.leaflet-draw-section {
+	position: relative;
+}
+
+.leaflet-draw-toolbar {
+	margin-top: 12px;
+}
+
+.leaflet-draw-toolbar-top {
+	margin-top: 0;
+}
+
+.leaflet-draw-toolbar-notop a:first-child {
+	border-top-right-radius: 0;
+}
+
+.leaflet-draw-toolbar-nobottom a:last-child {
+	border-bottom-right-radius: 0;
+}
+
+.leaflet-draw-toolbar a {
+	background-image: url('../img/gp/spritesheet.png');
+	background-repeat: no-repeat;
+}
+
+.leaflet-retina .leaflet-draw-toolbar a {
+	background-image: url('../img/gp/spritesheet-2x.png');
+	background-size: 270px 30px;
+}
+
+.leaflet-draw a {
+	display: block;
+	text-align: center;
+	text-decoration: none;
+}
+
+/* ================================================================== */
+/* Toolbar actions menu
+/* ================================================================== */
+
+.leaflet-draw-actions {
+	display: none;
+	list-style: none;
+	margin: 0;
+	padding: 0;
+	position: absolute;
+	left: 26px; /* leaflet-draw-toolbar.left + leaflet-draw-toolbar.width */
+	top: 0;
+	white-space: nowrap;
+}
+
+.leaflet-touch .leaflet-draw-actions {
+	left: 32px;
+}
+
+.leaflet-right .leaflet-draw-actions {
+	right:26px;
+	left:auto;
+}
+
+.leaflet-touch .leaflet-right .leaflet-draw-actions {
+	right:32px;
+	left:auto;
+}
+
+.leaflet-draw-actions li {
+	display: inline-block;
+}
+
+.leaflet-draw-actions li:first-child a {
+	border-left: none;
+}
+
+.leaflet-draw-actions li:last-child a {
+	-webkit-border-radius: 0 4px 4px 0;
+	        border-radius: 0 4px 4px 0;
+}
+
+.leaflet-right .leaflet-draw-actions li:last-child a {
+	-webkit-border-radius: 0;
+	        border-radius: 0;
+}
+
+.leaflet-right .leaflet-draw-actions li:first-child a {
+	-webkit-border-radius: 4px 0 0 4px;
+	        border-radius: 4px 0 0 4px;
+}
+
+.leaflet-draw-actions a {
+	background-color: #919187;
+	border-left: 1px solid #AAA;
+	color: #FFF;
+	font: 11px/19px "Helvetica Neue", Arial, Helvetica, sans-serif;
+	line-height: 28px;
+	text-decoration: none;
+	padding-left: 10px;
+	padding-right: 10px;
+	height: 28px;
+}
+
+.leaflet-touch .leaflet-draw-actions a {
+	font-size: 12px;
+	line-height: 30px;
+	height: 30px;
+}
+
+.leaflet-draw-actions-bottom {
+	margin-top: 0;
+}
+
+.leaflet-draw-actions-top {
+	margin-top: 1px;
+}
+
+.leaflet-draw-actions-top a,
+.leaflet-draw-actions-bottom a {
+	height: 27px;
+	line-height: 27px;
+}
+
+.leaflet-draw-actions a:hover {
+	background-color: #A0A098;
+}
+
+.leaflet-draw-actions-top.leaflet-draw-actions-bottom a {
+	height: 26px;
+	line-height: 26px;
+}
+
+/* ================================================================== */
+/* Draw toolbar
+/* ================================================================== */
+
+.leaflet-draw-toolbar .leaflet-draw-draw-polyline {
+	background-position: -2px -2px;
+}
+
+.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polyline {
+	background-position: 0 -1px;
+}
+
+.leaflet-draw-toolbar .leaflet-draw-draw-polygon {
+	background-position: -31px -2px;
+}
+
+.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polygon {
+	background-position: -29px -1px;
+}
+
+.leaflet-draw-toolbar .leaflet-draw-draw-rectangle {
+	background-position: -62px -2px;
+}
+
+.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-rectangle {
+	background-position: -60px -1px;
+}
+
+.leaflet-draw-toolbar .leaflet-draw-draw-circle {
+	background-position: -92px -2px;
+}
+
+.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circle {
+	background-position: -90px -1px;
+}
+
+.leaflet-draw-toolbar .leaflet-draw-draw-marker {
+	background-position: -122px -2px;
+}
+
+.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-marker {
+	background-position: -120px -1px;
+}
+
+/* ================================================================== */
+/* Edit toolbar
+/* ================================================================== */
+
+.leaflet-draw-toolbar .leaflet-draw-edit-edit {
+	background-position: -152px -2px;
+}
+
+.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit {
+	background-position: -150px -1px;
+}
+
+.leaflet-draw-toolbar .leaflet-draw-edit-remove {
+	background-position: -182px -2px;
+}
+
+.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove {
+	background-position: -180px -1px;
+}
+
+.leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled {
+	background-position: -212px -2px;
+}
+
+.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled {
+	background-position: -210px -1px;
+}
+
+.leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled {
+	background-position: -242px -2px;
+}
+
+.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled {
+	background-position: -240px -2px;
+}
+
+/* ================================================================== */
+/* Drawing styles
+/* ================================================================== */
+
+.leaflet-mouse-marker {
+	background-color: #fff;
+	cursor: crosshair;
+}
+
+.leaflet-draw-tooltip {
+	background: rgb(54, 54, 54);
+	background: rgba(0, 0, 0, 0.5);
+	border: 1px solid transparent;
+	-webkit-border-radius: 4px;
+	        border-radius: 4px;
+	color: #fff;
+	font: 12px/18px "Helvetica Neue", Arial, Helvetica, sans-serif;
+	margin-left: 20px;
+	margin-top: -21px;
+	padding: 4px 8px;
+	position: absolute;
+	visibility: hidden;
+	white-space: nowrap;
+	z-index: 6;
+}
+
+.leaflet-draw-tooltip:before {
+	border-right: 6px solid black;
+	border-right-color: rgba(0, 0, 0, 0.5);
+	border-top: 6px solid transparent;
+	border-bottom: 6px solid transparent;
+	content: "";
+	position: absolute;
+	top: 7px;
+	left: -7px;
+}
+
+.leaflet-error-draw-tooltip {
+	background-color: #F2DEDE;
+	border: 1px solid #E6B6BD;
+	color: #B94A48;
+}
+
+.leaflet-error-draw-tooltip:before {
+	border-right-color: #E6B6BD;
+}
+
+.leaflet-draw-tooltip-single {
+	margin-top: -12px
+}
+
+.leaflet-draw-tooltip-subtext {
+	color: #f8d5e4;
+}
+
+.leaflet-draw-guide-dash {
+	font-size: 1%;
+	opacity: 0.6;
+	position: absolute;
+	width: 5px;
+	height: 5px;
+}
+
+/* ================================================================== */
+/* Edit styles
+/* ================================================================== */
+
+.leaflet-edit-marker-selected {
+	background: rgba(254, 87, 161, 0.1);
+	border: 4px dashed rgba(254, 87, 161, 0.6);
+	-webkit-border-radius: 4px;
+	        border-radius: 4px;
+	box-sizing: content-box;
+}
+
+.leaflet-edit-move {
+	cursor: move;
+}
+
+.leaflet-edit-resize {
+	cursor: pointer;
+}
+
+/* ================================================================== */
+/* Old IE styles
+/* ================================================================== */
+
+.leaflet-oldie .leaflet-draw-toolbar {
+	border: 1px solid #999;
+}