body {
  padding-bottom:0;
  padding-left:0;
  padding-right:0;
}

.flex {
  display: flex;
}

.flex-grow-1 {
  flex-grow: 1;
}

.form-row {
  display: flex;
}

.form-row label {
  width: 20%;
  flex: 0 0 auto;
}

.form-row label + * {
  width: 80%;
}

#title {
  margin-top : 5px;
}

p.error-msg{
  font-size: 1.5em;
  margin-top: 10px;
  text-align: center;
  line-height: 1.5em;
}

[class^="icon-"], [class*=" icon-"] {
  background-image: url('images/glyphicons-halflings.png');
}

button.btn-primary:hover > [class^="icon-"],
button.btn-primary:hover > [class*=" icon-"] {
  background-image: url('images/glyphicons-halflings-white.png');
}

.icon-white,
.dropdown-menu > li > a:hover > [class^="icon-"],
.dropdown-menu > li > a:focus > [class^="icon-"],
.dropdown-menu > li > a:hover > [class*=" icon-"],
.dropdown-menu > li > a:focus > [class*=" icon-"],
.dropdown-menu > .active > a > [class^="icon-"],
.dropdown-menu > .active > a > [class*=" icon-"] {
  background-image: url('images/glyphicons-halflings-white.png');
}

.nav .active > a .icon-white,
.nav li > a:hover .icon-white,
.nav li > a:focus .icon-white {
    background-image: url('images/glyphicons-halflings.png');
}

.alert-danger, .alert-error {
  color: #F00;
  border: 1px solid #F00;
}

#headermenu.mobile{
  margin-left:-5px;
  margin-right:-5px;
}

#headermenu .navbar-search {
  margin-top:1px;
  height:30px;
  width:260px;
}

#headermenu .navbar-search .search-query {
  z-index:2;
  position: absolute;
  top: 1px;
  right: 0;
  padding-top:2px;
  padding-bottom:2px;
}

#headermenu .navbar-search .search-icon {
  z-index:3;
  position: absolute;
  top: 2px;
  right: 4px;
  display: block;
  width: 20px;
  height: 20px;
  cursor: pointer;
}

#headermenu .navbar-search .icon {
  background-color: transparent;
  background-position: -400px 0;
  border: none;
}

#headermenu .navbar-search .icon span {
  display:none;
}

/* mapmenu */
#mapmenu {
  position:absolute;
  left:0;
  top:0;
  height:100%;
  width: 30px;
  z-index:1030;
  background:#4A4A4A;
  background:rgb(0 0 0 / 70%);
  overflow: auto;
}

#mapmenu .menu-title{
  display: none;
}

#mapmenu > div {
  width: 30px;
  height: auto;
  position: relative;
}

#mapmenu .nav-list > li > a {
  width: 20px;
  height: 20px;
  padding: 5px;
}

#mapmenu .nav-list > li > a:hover, #mapmenu .nav-list > li.active > a {
  background-color:#F0F0F0;
}

#mapmenu .nav-list > li > a .icon {
  display:inline-block;
  vertical-align:middle;
  background-image:url("images/sprite_20_tools.png");
  background-repeat:no-repeat;
  width:20px;
  height:20px;
}

/*
CSS Sprite positions calculated via http://instantsprite.com/ using 20px images and 5px offset or https://draeton.github.io/stitches/
*/
#mapmenu .nav-list > li.home .icon {
  background-position: -25px 0;
}

#mapmenu .nav-list > li.home.active .icon,
#mapmenu .nav-list > li.home a:hover .icon {
  background-position: -0 0;
}

#mapmenu .nav-list > li.projects .icon {
  background-position: -925px 0;
}

#mapmenu .nav-list > li.projects.active .icon,
#mapmenu .nav-list > li.projects a:hover .icon {
  background-position: -900px 0;
}

#mapmenu .nav-list > li.metadata .icon {
  background-position: -125px 0;
}

#mapmenu .nav-list > li.metadata.active .icon,
#mapmenu .nav-list > li.metadata a:hover .icon {
  background-position: -100px 0;
}

#mapmenu .nav-list > li.switcher .icon {
  background-position: -75px 0;
}

#mapmenu .nav-list > li.switcher.active .icon,
#mapmenu .nav-list > li.switcher a:hover .icon {
  background-position: -50px 0;
}

#mapmenu .nav-list > li.legend .icon {
  background-position: -75px 0;
}

#mapmenu .nav-list > li.legend.active .icon,
#mapmenu .nav-list > li.legend a:hover .icon {
  background-position: -50px 0;
}

#mapmenu .nav-list > li.locate .icon {
  background-position: -175px 0;
}

#mapmenu .nav-list > li.locate.active .icon,
#mapmenu .nav-list > li.locate a:hover .icon {
  background-position: -150px 0;
}

#mapmenu .nav-list > li.print .icon {
  background-position: -375px 0;
}

#mapmenu .nav-list > li.print.active .icon,
#mapmenu .nav-list > li.print a:hover .icon {
  background-position: -350px 0;
}

#mapmenu .nav-list > li.measure .icon {
  background-position: -275px 0;
}

#mapmenu .nav-list > li.measure.active .icon,
#mapmenu .nav-list > li.measure a:hover .icon {
  background-position: -250px 0;
}

#mapmenu .nav-list > li.edition .icon {
  background-position: -475px 0;
}

#mapmenu .nav-list > li.edition.active .icon,
#mapmenu .nav-list > li.edition a:hover .icon {
  background-position: -450px 0;
}

/* Change background color when edition is pending */
#mapmenu .nav-list > li.edition.edition-pending:not(.active) #button-edition{
  background-color: #9DBE3E;
}

#mapmenu .nav-list > li.geolocation .icon {
  background-position: -325px 0;
}

#mapmenu .nav-list > li.geolocation.active .icon,
#mapmenu .nav-list > li.geolocation a:hover .icon {
  background-position: -300px 0;
}

#mapmenu .nav-list > li.attributeLayers .icon {
  background-position: -525px 0;
}

#mapmenu .nav-list > li.attributeLayers.active .icon,
#mapmenu .nav-list > li.attributeLayers a:hover .icon {
  background-position: -500px 0;
}

#mapmenu .nav-list > li.permaLink .icon {
  background-position: -675px 0;
}

#mapmenu .nav-list > li.permaLink.active .icon,
#mapmenu .nav-list > li.permaLink a:hover .icon {
  background-position: -650px 0;
}

#mapmenu .nav-list > li.tooltip-layer .icon {
  background-position: -775px 0;
}

#mapmenu .nav-list > li.tooltip-layer.active .icon,
#mapmenu .nav-list > li.tooltip-layer a:hover .icon {
  background-position: -750px 0;
}

#mapmenu .nav-list > li.timemanager .icon {
  background-position: -625px 0;
}

#mapmenu .nav-list > li.timemanager.active .icon,
#mapmenu .nav-list > li.timemanager a:hover .icon {
  background-position: -600px 0;
}

#mapmenu .nav-list > li.draw .icon{
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' stroke-width='2' stroke='%23fff' fill='none' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24' id='pencil'><path d='M0 0h24v24H0z' stroke='none'></path><path d='M4 20h4L18.5 9.5a1.5 1.5 0 00-4-4L4 16v4M13.5 6.5l4 4'></path></svg>");
}

#mapmenu .nav-list > li.draw.active .icon,
#mapmenu .nav-list > li.draw a:hover .icon{
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24' id='pencil'><path d='M0 0h24v24H0z' stroke='none'></path><path d='M4 20h4L18.5 9.5a1.5 1.5 0 00-4-4L4 16v4M13.5 6.5l4 4'></path></svg>");
}

/* navbar */
.navbar-fixed-top .navbar-inner,
.navbar-static-top .navbar-inner {
  border: 0;
}

.navbar .nav .metadata .icon {
  background-position: -125px 0;
}

.navbar .nav .metadata a:hover .icon,
.navbar .nav .metadata.active a .icon {
  background-position: -100px 0;
}

.navbar .nav .map .icon {
  background-position: -75px 0;
}

.navbar .nav .map a:hover .icon,
.navbar .nav .map.active a .icon {
  background-position: -50px 0;
}

.navbar .nav .legend .icon {
  background-position: -75px 0;
}

.navbar .nav .legend a:hover .icon,
.navbar .nav .legend.active a .icon {
  background-position: -50px 0;
}

.navbar .nav .locate .icon {
  background-position: -175px 0;
}

.navbar .nav .locate a:hover .icon,
.navbar .nav .locate.active a .icon {
  background-position: -150px 0;
}

.navbar .nav .print .icon {
  background-position: -375px 0;
}

.navbar .nav .print a:hover .icon,
.navbar .nav .print.active a .icon {
  background-position: -350px 0;
}

.navbar .nav .edition .icon {
  background-position: -475px 0;
}

.navbar .nav .edition a:hover .icon,
.navbar .nav .edition.active a .icon {
  background-position: -450px 0;
}

.navbar .nav .measure .icon {
  background-position: -275px 0;
}

.navbar .nav .measure a:hover .icon,
.navbar .nav .measure.active a .icon {
  background-position: -250px 0;
}

.navbar .nav .geolocation .icon {
  background-position: -325px 0;
}

.navbar .nav .geolocation a:hover .icon,
.navbar .nav .geolocation.active a .icon {
  background-position: -300px 0;
}

/* Map menu tooltip */
#content > div.tooltip {
  /* display over #dock */
  z-index:1050;
}

/* Dock */
#dock {
  position: relative;
  z-index:1040;
  overflow:auto;
  background-color:#4A4A4A;
  background-color:rgb(0 0 0 / 70%);
  padding:5px;
  border-left: 1px solid #F0F0F0;
  max-width:40%;
  padding-bottom: 5px;
  height: 100%;
}

#content.mobile #dock{
  max-width:none;
  background-color:#4A4A4A;
  z-index:1100;
  flex-grow: 1;
}

#dock.half {
/*
  width:50%;
*/
  right:50%;
  max-width:50%;
}

#dock.full {
/*
  width:100%;
*/
  right:0;
  max-width:100%;
}

#map-content.half, #map-content.full{
  margin-left: 25%;
}

ul.nav.nav-tabs {
  margin-bottom: 0;
  border-bottom:1px dashed #F0F0F0;
}

#dock-close{
  position: absolute;
  top:5px;
  right:5px;
  width: 32px;
  height: 32px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='black' class='bi bi-arrow-left-square' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm11.5 5.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H11.5z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
}

#dock-close:hover {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-arrow-left-square' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm11.5 5.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H11.5z'/%3E%3C/svg%3E");
}

#right-dock div.tabbable {
  height: 100%;
  margin-top: 5px;
}

#right-dock-content {
  height: 100%;
  overflow-y: auto;
}

#right-dock-close{
  position: absolute;
  top:5px;
  right:5px;
  width: 32px;
  height: 32px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm4.5 5.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
}

#dock-tabs > li > a,
#right-dock-tabs > li > a {
  display:none; /* hide inactive tab titles */
  border:none;
  background:none;
  color:white;
}

#dock-tabs > .active > a, #dock-tabs > .active > a:hover, #dock-tabs > .active > a:focus,
#right-dock-tabs > .active > a, #right-dock-tabs > .active > a:hover, #right-dock-tabs > .active > a:focus {
  display:block; /* show only active tab titles */
}

.dock-title,
.right-dock-title{
    padding:5px;
    color:#FBFBFB;
    font-size:1em;
    line-height:1.3;
    border-bottom: 1px dashed #F0F0F0;
}

#dock #home #projects .thumbnail {
  background-color: white;
}


/*
SubDock
*/
#sub-dock{
  display:none;
  max-height:100%;
  z-index:1001;
  overflow:auto;
  background-color:#4A4A4A;
  background-color:rgb(0 0 0 / 70%);
  padding:5px;
  border-left: 1px solid #F0F0F0;
  max-width:30%;
  align-self: flex-start;
}

#content.mobile #sub-dock{
  max-width:100%;
  bottom:0;
  right:0;
  left:0;
  background-color:#4A4A4A;
  z-index:1200;
}

#sub-dock .sub-metadata h3 .icon{
  background-position: -125px 0;
}

#sub-dock div.menu-content button.layer-info{
  margin-bottom:5px;
}

#sub-dock div.menu-content select{
  max-width: 180px;
  margin-bottom: 0;
}

#sub-dock div.menu-content .btn-mini [class^="icon-"],
#sub-dock div.menu-content .btn-mini [class*=" icon-"]{
  margin-top: 1px;
}

#hide-sub-dock{
  margin-top:5px;
}

/* Mini-Dock */
#mini-dock {
  position:absolute;
  right:60px;
  top:10px;
  max-width:30%;
  z-index:1010;
  background-color:#4A4A4A !important;
  background-color:rgb(0 0 0 / 70%) !important;
}

#content.mobile #mini-dock{
  max-width:100%;
  inset:auto 0 0 30px;
}

#mini-dock div.menu-content{
  overflow: auto;
  max-height: 45vh;
}

#mini-dock-tabs {
  display:none;
}

/* Bottom-dock */
#bottom-dock {
  opacity:0.5;
  position:relative;
  z-index:5000;
  overflow:auto;
  background-color:#4A4A4A;
  background-color:rgb(0 0 0 / 70%);
  padding:5px;
  border-left: 1px solid #F0F0F0;
  flex-grow: 1;
  align-self: flex-end;
  transition-property: opacity;
  transition-duration: .4s;
}

#bottom-dock-window-buttons {
  display:none;
  position:fixed;
  bottom:0;
  padding:2px;
}

#bottom-dock.visible #bottom-dock-window-buttons {
  display:block;
}

#bottom-dock.half-transparent {
  opacity: 1;
  height: 48%;
}

#bottom-dock.half-transparent #bottom-dock-window-buttons {
  display: block;
}

#bottom-dock-tabs {
  display:none;
}

#bottom-dock.visible {
  height: 48%;
}

#bottom-dock:hover {
  opacity: 1;
}

#bottom-dock.fullsize {
  left:0;
  height:100%;
  width:auto;
  right:0;
}

#bottom-dock h3 {
  margin-bottom: 0;
  margin-top: 0;
  margin-left:10px;
  line-height:20px;
  border-bottom: 1px dashed #F0F0F0;
  color: #FFF;
  font-size:1em;
}

#bottom-dock .title .btn{
  float : right;
  margin-left: 5px;
}

#content.mobile .btn-bottomdock-size {
  display:none;
}

#bottom-dock div.bottom-content{
  font-size:0.8em;
  border: 1px solid #606060;
  position:absolute;
  inset:50px 10px 30px;
  overflow:hidden;
  padding:0.5em;
  background-color: #F0F0F0;
}

#attributeLayers-tabs > li > a {
  border:none;
  background:none;
  color:grey;
}

#bottom-dock.fullsize #attributeLayers-tabs > li > a {
  margin-top:10px;
}

#attributeLayers-tabs > li.active > a, #attributeLayers-tabs > li > a:hover {
  border:none;
  background:none;
  color:white;
}


#attributeLayers table th {
  white-space: nowrap !important;
}

#attributeLayers .tab-content .attribute-content {
  top:50px;
}

#bottom-dock.fullsize #attributeLayers .tab-content .attribute-content {
  top:60px;
}

#attributeLayers .tab-content .attribute-content .dataTables_wrapper .dataTables_info {
  padding-right:5px;
}

#attributeLayers .tab-content .attribute-content .dataTables_wrapper .dataTables_paginate {
  padding-left:5px;
}

#attributeLayers .tab-content .attribute-content .dataTables_wrapper .dataTables_length {
  padding-top:0.45em;
}

#attributeLayers .tab-content .attribute-content .dataTables_wrapper .dataTables_filter {
  padding-top:0.45em;
}

#attributeLayers .tab-content .attribute-content .dataTables_wrapper .dataTables_length label {
  font-size: 1em;
}

#attributeLayers .tab-content .attribute-content .dataTables_wrapper .dataTables_length select {
  font-size: 1em;
}

#attributeLayers .tab-content .attribute-content .dataTables_wrapper .dataTables_filter label {
  font-size: 1em;
}

#attributeLayers .tab-content .attribute-content .dataTables_wrapper .dataTables_filter input {
  font-size: 1em;
}

#attributeLayers .tab-content .attribute-content div.dataTables_wrapper div.dataTables_paginate ul.pagination {
    margin: 2px 0;
    white-space: nowrap;
}

#attributeLayers .tab-content .attribute-content .pagination {
    display: inline-block;
    padding-left: 0;
    margin: 20px 0;
    border-radius: 4px;
}

#attributeLayers .tab-content .attribute-content .pagination > li {
    display: inline;
    box-sizing: border-box;
    padding:0;
    margin:0;
    border:0;
    border-radius:0;
}

#attributeLayers .tab-content .attribute-content .pagination > li > a,
#attributeLayers .tab-content .attribute-content .pagination > li > span {
    position: relative;
    float: left;
    padding: 6px 12px;
    margin-left: -1px;
    line-height: 1.4286;
    color: #337ab7;
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #ddd;
}

#attributeLayers .tab-content .attribute-content .pagination > li > a:focus,
#attributeLayers .tab-content .attribute-content .pagination > li > a:hover,
#attributeLayers .tab-content .attribute-content .pagination > li > span:focus,
#attributeLayers .tab-content .attribute-content .pagination > li > span:hover {
    z-index: 3;
    color: #23527c;
    background-color: #eee;
    border-color: #ddd;
}

#attributeLayers .tab-content .attribute-content .pagination > .active > a,
#attributeLayers .tab-content .attribute-content .pagination > .active > a:focus,
#attributeLayers .tab-content .attribute-content .pagination > .active > a:hover,
#attributeLayers .tab-content .attribute-content .pagination > .active > span,
#attributeLayers .tab-content .attribute-content .pagination > .active > span:focus,
#attributeLayers .tab-content .attribute-content .pagination > .active > span:hover {
    z-index: 2;
    color: #fff;
    cursor: default;
    background-color: #337ab7;
    border-color: #337ab7;
}

#attributeLayers .tab-content .attribute-content .pagination > .disabled > a,
#attributeLayers .tab-content .attribute-content .pagination > .disabled > a:focus,
#attributeLayers .tab-content .attribute-content .pagination > .disabled > a:hover,
#attributeLayers .tab-content .attribute-content .pagination > .disabled > span,
#attributeLayers .tab-content .attribute-content .pagination > .disabled > span:focus,
#attributeLayers .tab-content .attribute-content .pagination > .disabled > span:hover {
    color: #777;
    cursor: not-allowed;
    background-color: #fff;
    border-color: #ddd;
}

#attributeLayers .tab-content .attribute-content .pagination > li:first-child > a,
#attributeLayers .tab-content .attribute-content .pagination > li:first-child > span {
    margin-left: 0;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
}

#attributeLayers .tab-content .attribute-content .pagination > li:last-child > a,
#attributeLayers .tab-content .attribute-content .pagination > li:last-child > span {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}

#attribute-summary.attribute-content.bottom-content{
  overflow:auto;
}

.attribute-layer-main {
  float:left;
  width:100%;
  height:100%;
}

.attribute-layer-main.reduced {
  width:65%;
}

.attribute-layer-action-bar{
  height:30px;
  border-bottom: 1px solid lightgrey;
}

.attribute-layer-action-bar .export-formats .dropdown-menu{
  max-height: 110px;
  overflow: auto;
}

.attribute-layer-content {
  overflow:auto;
  height: 90%;
  clear:right;
}

.attribute-layer-content.showChildren {
  height: 45%;
}

.tabbable.attribute-layer-child-content {
  border:1px solid darkgrey;
}


.tabbable.attribute-layer-child-content ul li a {
  padding: 1px;
  font-size:1em;
}

.attribute-layer-feature-panel {
  margin-left: 65%;
  overflow: auto;
  height: 100%;
  padding-left: 10px;
}

.attribute-layer-feature-panel img {
  max-width: 300px;
}

.attribute-layer-feature-panel.visible {
  width:auto;
}

.attribute-layer-main span.attribute-layer-msg {
  text-decoration:italic;
  font-size:0.8em;
}

.attribute-layer-main span.attribute-layer-msg.success {
  color:green;
}

.attribute-layer-main span.attribute-layer-msg.failure {
  color:red;
}

.attribute-layer-feature-create{
  margin-left: -10px;
}

table.attribute-table-table tr td{
  cursor:pointer;
}

table.attribute-table-table tr.active td,
table.attribute-table-table tr.active:hover td {
    background-color: inherit !important; /* Add !important to make sure override datatables base styles */
    color:black;
    border-bottom:2px solid darkgrey;
    border-top:2px solid darkgrey;
}

table.attribute-table-table tr.active td:first-child,
table.attribute-table-table tr.active:hover td:first-child{
    border-left:2px solid darkgrey;
}

table.attribute-table-table tr.active td:last-child,
table.attribute-table-table tr.active:hover td:last-child{
    border-right:2px solid darkgrey;
}

table.attribute-table-table>tbody>tr.selected>*{
  box-shadow: inset 0 0 0 9999px yellow !important;
  color: black !important;
}

button.attribute-layer-feature-select{
  padding-left:5px !important;
}

table.attribute-table-table tr.selected td button.attribute-layer-feature-select {
  background-color: #0094D6;
  background-image: none;
}

table.attribute-table-table tr.active a,
table.attribute-table-table tr.active a:hover,
table.attribute-table-table tr.selected a,
table.attribute-table-table tr.selected a:hover{
  color: #005580;
}

table.attribute-table-table tr td {
    font-size: 0.85em;
    white-space: nowrap;

    /* NOT SURE WE SHOULD NOT REMOVE THIS NOWRAP */
    padding: 1px 5px;
}

/* Override bootstrap td alignment to use datatable className column property */
td.text-right {
    text-align: right !important;
}

td.text-left {
    text-align: left !important;
}

td.text-center {
    text-align: center !important;
}

/*
Timemanager
*/

#tmLayers button{
  width:16px;
  height:16px;
  background: none;
  min-width:16px;
  min-height:16px;
  padding-left:0;
}

#tmLayers span.label{
  padding-left: 0.5em;
  color : rgb(51 51 51);
  background: none;
  text-shadow : none;
  cursor : pointer;
  font-size:0.8em;
}

#content {
  padding-top : 0;
  width : 100%;
  overflow : hidden;
  position : relative;
}

#content .ui-icon {
  background-image : url("images/sprite_menu.png");
}

#content .ui-icon-open-menu {
  background-position : -16px -80px;
  position : absolute;
  top : 0;
  z-index : 1000;
  background-color : #F0F0F0;
  cursor : pointer;
}

#content .ui-icon-close-menu {
  background-position : 0 -96px;
  cursor : pointer;
}

#displayMetadata {
  cursor:pointer;
}

#content .project-list,
#metadata {
  width:100%;
  height:100%;
  z-index:100000;
  background-color:#EFEFEF;
  color:#333;
  overflow:auto;
  font-size:0.85em;
  padding:5px;
  max-height: calc(100% - 10px);
  max-width: calc(100% - 10px);
}

#metadata h2{
  color:#333;
}

#menu {
  float : left;
  width : 300px;
  background : #F0F0F0;
}

#content.mobile #menu{
  width:100%;
}

#menu .ui-icon-locate-open {
  background-position : -16px -16px;
}

#toolbar h3,
#menu h3,
#dock h3,
#sub-dock h3,
#mini-dock h3,
#right-dock h3,
div.modal h3,
.dock-subtitle
{
  margin : 0;

/*
  background: #2B2B2B;
*/
  background: none;
  color : #FBFBFB;
  line-height : 1.3;

/*
  border-bottom : solid 1px #DDDDDD;
  border-top : solid 1px #DDDDDD;
*/
  font-size : 1em;
}

#sub-dock h3 {
  margin-bottom: 5px;
  border-bottom: 1px dashed #F0F0F0;
}

#mini-dock h3{
  background:none;
}

div.modal h3 {
  color : #333;
}

#toolbar h3 span.title,
#menu h3 span.title,
#dock h3 span.title,
#sub-dock h3 span.title,
#mini-dock h3 span.title,
#bottom-dock h3 span.title,
#right-dock h3 span.title,
div.modal h3 span.title {
  display : block;
  padding : 0.5em 0.5em 0.5em 0.7em;
}

#toolbar h3 span.menu-content,
#menu h3 span.ui-icon,
#dock h3 span.ui-icon,
#sub-dock h3 span.ui-icon,
#mini-dock h3 span.ui-icon,
div.modal h3 span.ui-icon {
  float : right;
  margin-top : 0.5em;
  margin-right : 0.5em;
}


#toolbar div.menu-content,
#menu div.menu-content,
#dock div.menu-content,
#sub-dock div.menu-content,
#mini-dock div.menu-content,
#right-dock div.menu-content,
div.modal div.menu-content {
  display : block;
  padding : 0.5em;
  background-color: #F0F0F0;
}

#dock div.menu-content,
div.modal div.menu-content,
.dock-content {
  background-color: #F0F0F0;
  font-size: 12px;
  overflow:auto;
}


#dock form,
div.modal form {
  margin: auto;
}

#dock legend,
div.modal legend {
  margin-bottom: 5px;
  margin-top: 5px;
  font-size: 14px;
  line-height: 20px;
}

#dock div.control-group,
div.modal div.control-group {
  margin-bottom: 5px;
}

#dock .form-horizontal .control-label,
div.modal .form-horizontal .control-label {
  width: 90px;
  hyphens: auto;
  hyphens: auto;
}

#dock .form-horizontal .jforms-choice .control-label,
div.modal .form-horizontal .jforms-choice .control-label {
  width: 220px;
  text-align: left;
}

#dock .form-horizontal .controls,
div.modal .form-horizontal .controls {
  margin-left: 100px;
  margin-right: 10px;
}

#dock .form-horizontal .controls label.checkbox,
div.modal .form-horizontal .controls label.checkbox {
  max-width: 200px;
  margin-bottom: 0;
}

#dock div.form-actions,
div.modal .form-actions {
  margin-bottom: 0;
  margin-top: 0;
  padding-left: 0;
  text-align: right;
}

#toolbar h3 .icon,
#menu h3 .icon,
#dock h3 .icon,
#sub-dock h3 .icon,
#mini-dock h3 .icon,
#bottom-dock h3 .icon,
#right-dock h3 .icon,
div.modal h3 .icon {
  display:inline-block;
  vertical-align:middle;
  background-image : url("images/sprite_20_tools.png");
  background-repeat:no-repeat;
  width:20px;
  height:20px;
  background-position: -25px 0;
}

div.modal h3 .icon {
  background-position: 0 -20px;
}

#toolbar h3 .text,
#menu h3 .text,
#dock h3 .text,
#sub-dock h3 .text,
#mini-dock h3 .text,
#bottom-dock h3 .text,
#right-dock h3 .text,
div.modal h3 .text {
  vertical-align : bottom;
}

#toolbar .baselayer h3 .icon,
#menu .baselayer h3 .icon,
#dock .baselayer h3 .icon,
#mini-dock .baselayer h3 .icon {
  background-position : -725px 0;
}

#toolbar .switcher h3 .icon,
#menu .switcher h3 .icon,
#dock .switcher h3 .icon,
#mini-dock .switcher h3 .icon {
  background-position : -75px 0;
}

#toolbar .legend h3 .icon,
#menu .legend h3 .icon,
#dock .legend h3 .icon,
#mini-dock .legend h3 .icon {
  background-position: -75px 0;
}

#toolbar .metadata h3 .icon,
#menu .metadata h3 .icon,
#dock .metadata h3 .icon,
#sub-dock .metadata h3 .icon,
#mini-dock .metadata h3 .icon {
  background-position: -75px 0;
}

#toolbar .locate h3 .icon,
#menu .locate h3 .icon,
#dock .locate h3 .icon,
#mini-dock .locate h3 .icon {
  background-position : -175px 0;
}

#toolbar .geolocation h3 .icon,
#menu .geolocation h3 .icon,
#dock .geolocation h3 .icon,
#mini-dock .geolocation h3 .icon {
  background-position: -325px 0;
}

#toolbar .print h3 .icon,
#menu .print h3 .icon,
#dock .print h3 .icon,
#mini-dock .print h3 .icon {
  background-position: -375px 0;
}

#toolbar .measure h3 .icon,
#menu .measure h3 .icon,
#dock .measure h3 .icon,
#mini-dock .measure h3 .icon {
  background-position: -275px 0;
}

#toolbar .edition h3 .icon,
#menu .edition h3 .icon,
#dock .edition h3 .icon,
#mini-dock .edition h3 .icon {
  background-position : -475px 0;
}

#toolbar .permaLink h3 .icon,
#menu .permaLink h3 .icon,
#dock .permaLink h3 .icon,
#mini-dock .permaLink h3 .icon {
  background-position : -675px 0;
}

#toolbar .tooltip-layer h3 .icon,
#menu .tooltip-layer h3 .icon,
#dock .tooltip-layer h3 .icon,
#mini-dock .tooltip-layer h3 .icon {
  background-position: -775px 0;
}

#toolbar .timemanager h3 .icon,
#menu .timemanager h3 .icon,
#dock .timemanager h3 .icon,
#mini-dock .timemanager h3 .icon {
  background-position : -625px 0;
}

#mini-dock .draw h3 svg {
  width: 22px;
  height: 22px;
  vertical-align: sub;
}

#map-content {
  margin-left : 30px;
  position : relative;
  background : #F0F0F0;
}

#content.mobile #map-content {
  margin-left : 0;
}

 /* avoid bootstrap collision */
#map-content img {
  max-width : none;
}

/* deactivate chrome effect */
#map-content svg {
  transform: none !important;
  transform: none !important;
}

#map-content .olTileImage {
backface-visibility: visible !important;
backface-visibility: visible !important;
transform: none !important;
transform: none !important;
}

#close-menu {
  width :100%;
  height : 16px;
  border-bottom : solid 1px #DDD;
}

#close-menu span.ui-icon {
  float : right;
  margin-right : 0.5em;
}

#edition-modal{
  z-index:10000;
}

#edition-menu div.menu-content {
  padding-left:0.2em;
  padding-right:0.2em;
}

/* Right Dock */
#right-dock {
  height: 100%;
  margin-left: auto;
  width:30%;
  background: #4A4A4A;
  position: relative;
}

#content.mobile #right-dock{
  max-width:none;
  width: auto;
  z-index:1099;
}

#right-dock > .tabbable{
  margin-right: 5px;
  margin-left: 5px;
}

#mapmenu:has(.nav-right-dock.active) ~ #map-content{
  /* 30/100 is linked to #right-dock{width: 30%;}
  TODO : avoid use of calc() and hard value */
  margin-right: calc((100% - 30px)*30/100);
}

#content.mobile #mapmenu:has(.nav-right-dock.active) ~ #map-content{
  margin-right:0;
}

#content.mobile #toolbar{
  width: 100%;
  position: absolute;
  bottom: 0;
  z-index: 1001;
  background : #F0F0F0;
}

#content.mobile #toolbar div.menu-content{
  padding:0.5em;
}

#toolbar .title .btn,
#menu .title .btn,
#dock .title .btn,
#mini-dock .title .btn,
#right-dock .title .btn {
  width : 20px;
  height : 20px;
  background : url("images/sprite_20_tools.png") no-repeat right;
  transition: none;
  float : right;
  text-shadow : none;
  border : none;
  padding : none;
  transition: none;
  transition: none;
}

#toolbar .title .btn.btn-error,
#dock .title .btn.btn-error,
#mini-dock .title .btn.btn-error,
#right-dock .title .btn.btn-error {
  background:none;
  color:#DA4F49;
  font-size:20px;
  opacity:0.6;
}

#toolbar .title .btn.btn-error:hover,
#dock .title .btn.btn-error:hover,
#mini-dock .title .btn.btn-error:hover,
#right-dock .title .btn.btn-error:hover {
  text-decoration:none;
  opacity:1;
}

#toolbar .title .btn.btn-locate-clear,
#dock .title .btn.btn-locate-clear,
#mini-dock .title .btn.btn-locate-clear,
#mini-dock .title .btn.btn-tooltip-cancel,
#right-dock .title .btn.btn-locate-clear,
#right-dock .title .btn.btn-tooltip-cancel {
  background-position : -875px 0;
  margin-top: 3px;
}

#toolbar .title .btn.btn-print-clear,
#dock .title .btn.btn-print-clear,
#mini-dock .title .btn.btn-print-clear,
#right-dock .title .btn.btn-print-clear {
  background-position : -20px -100px;
}

#toolbar .title .btn.btn-print-clear:hover,
#dock .title .btn.btn-print-clear:hover,
#mini-dock .title .btn.btn-print-clear:hover,
#right-dock .title .btn.btn-print-clear:hover {
  background-position : 0 -100px;
}

#toolbar .title .btn.btn-stop,
#dock .title .btn.btn-stop,
#mini-dock .title .btn.btn-stop,
#right-dock .title .btn.btn-stop {
  background-position : 0 -20px;
}

#toolbar .title .btn.btn-stop:hover,
#dock .title .btn.btn-stop:hover,
#mini-dock .title .btn.btn-stop:hover,
#right-dock .title .btn.btn-stop:hover {
  background-position : -20px -20px;
}

#toolbar .menu-content .btn.btn-success,
#dock .menu-content .btn.btn-success,
#sub-dock .menu-content .btn.btn-success,
#mini-dock .menu-content .btn.btn-success,
#right-dock .menu-content .btn.btn-success{
  background-color: #93C01F;
  background-image:linear-gradient(to bottom, #9BC144, #93C01F);
}

#dock .print .menu-content,
#mini-dock .print .menu-content,
#right-dock .print .menu-content {
  overflow:auto;
}

#dock .print select,
#mini-dock .print select,
#right-dock .print select {
  width:auto;
  margin-bottom:0;
}

#toolbar .print select.btn-print-scales,
#dock .print select.btn-print-scales,
#mini-dock .print select.btn-print-scales,
#right-dock .print select.btn-print-scales,
#dock .print select.btn-print-dpis,
#mini-dock .print select.btn-print-dpis,
#right-dock .print select.btn-print-dpis {
  text-align:right;
}

#print-template{max-width: 125px;}

#print-parameters {
  margin-bottom: 10px;
}

#print-parameters td, #print-parameters td select{
  padding-left: 1px;
  padding-right: 1px;
}

lizmap-print .print-advanced {
  padding-bottom: 10px;
}

lizmap-print .print-advanced summary {
  margin-bottom: 5px;
  cursor: pointer;
}

lizmap-print .print-dpi{
  margin-bottom: 10px;
}

lizmap-print .print-rotation span {
  display: block;
}

lizmap-print .print-rotation .add-on {
  font-weight: bold;
}

lizmap-print .flex {
  gap: 10px;
}

#baselayer-menu div.baselayer-select,
#switcher div.baselayer-select,
#locate div.locate-layer {
  width : 100%;
  overflow: hidden;
  border : solid 1px #606060;
  position : relative;
  background: url("images/123_click.png") no-repeat right -5px;
}

#locate div.locate-layer.no-toggle {
  background-image: none;
}

#baselayer-menu div.baselayer-select select,
#switcher div.baselayer-select select,
#locate div.locate-layer select {
  background: transparent;
  width : 110%;
  width: 102%\9;
  text-shadow: none;
  border: 0;
  border-radius: 0;
  padding : 0 0.5em;
  margin :  0;
  color : rgb(51 51 51);
  height: 20px;
  cursor: pointer;
  appearance:none;
  font-weight:normal;
}

#locate div.locate-layer .custom-combobox-toggle {
  background: url("images/123_click.png") no-repeat right -5px;
  width: 20px;
  height: 20px;
  border: 0;
  border-radius: 0;
  margin: 0;
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
}

#locate div.locate-layer.no-toggle .custom-combobox-toggle {
  background-image: none;
}

#locate div.locate-layer .custom-combobox-input {
  background: none;
  color : rgb(51 51 51);
  border: 0;
  border-radius: 0;
  padding : 0 0.5em;
  margin :  0;
  text-shadow: none;
  display:inline;
}

.ui-autocomplete.ui-menu {
  border-radius: 0;
  font-weight: normal;
  max-height:150px;
  overflow:hidden auto
}

.ui-autocomplete.ui-menu .ui-menu-item {
  background: none;
  color : rgb(51 51 51);
  height: 20px;
  border: 0;
  border-radius: 0;
  padding : 0;
  margin :  0;
  text-shadow: none;
  font-weight: normal;
  font-size: 12px;
  white-space: nowrap;
  vertical-align: baseline;
  text-overflow: ellipsis;
}

.ui-autocomplete.ui-menu .ui-menu-item.ui-state-hover,
.ui-autocomplete.ui-menu .ui-menu-item.ui-state-active,
.ui-autocomplete.ui-menu .ui-menu-item.ui-state-focus {
  background: #0094D6;
}

#baselayer-menu div.baselayer-select select option,
#locate div.locate-layer select option {
  font-weight: normal;
}

#mini-dock div.locate div.menu-content {
  line-height: 10px;
}

#mini-dock div.locate div.menu-content hr {
  margin: 10px 0;
  border-top: 1px solid #eee;
  border-bottom: 2px solid #4c4c4c;
}

#menu .ui-accordion-content {
  background-color : white;
  border : solid 1px rgb(251 216 80);
}

#dock div.tabbable {
  height: 100%;
  display: flex;
  flex-direction: column;
}

#dock-content {
  height: 100%;
  flex-grow: 1;
}

#docks-wrapper{
  display: flex;
  position: absolute;
  left: 30px;
  width: calc(100% - 30px);
  height: 100%;
}

#docks-wrapper > div{
  box-sizing: border-box;
}

#switcher {
  height: 100%;
}

#switcher.active{
  display: flex;
  flex-direction: column;
}

#switcher-layers-actions {
  background-color: inherit;
  margin-top: 5px;
  margin-bottom: 1px;
  padding-right: 10px;
  text-align: right;
  border-top: 1px solid rgb(255 255 255 / 40%);

}

#switcher-layers-actions div.btn-group > ul{
  left:auto;
  right:0;
  max-height:90px;
  overflow-y:auto;
}

#switcher-layers-actions.active {
  border-top: 1px solid rgb(255 255 255 / 60%);
}

#switcher-layers-actions button{
  border: none;
}

#switcher-layers-actions button#layerActionUnfilter{
  margin-left: 15px;
}

#switcher-layers-actions ul.list-style-layer li.selected{
  background-color: #FFF;
}

#switcher-layers-container{
  display: flex;
  flex-direction: column;
  overflow: auto;
}

#switcher-layers-container > div.menu-content {
  background-color:#F0F0F0;
  overflow: hidden auto;
}

.label, .badge {
  display:inline;
}

#switcher-baselayer .menu-content  {
  background-color:#F0F0F0;
}

#baselayer-select-input {
  position : absolute;
  bottom : 0;
  left : 300px;
  z-index : 1000;
  background : none repeat scroll 0% 0% rgb(240 240 240);
  border : solid 1px #DDD;
  border-left : none;
  padding : 1em;
  line-height : 2;
}

#get-baselayer-metadata {
  width: 20px;
  border:none;
  cursor:pointer;
}

a.btn.btn-opacity-layer.active {
  background-color:#0094d6 !important;
  color:white !important;
}

#content.mobile #switcher div.legendGraphics{
  max-width:150px;
}

/* navbar */
#navbar {
  z-index :1000;
  position :absolute;
  right :10px;
  top : 10px;
  font-size:0.9em;
}

#navbar div.slider{
  margin-top : 0.1em;
  background : #C81F2D;
  border : solid 1px white;
  width: 4px;
  margin-left: 13px;
  margin-bottom : 0.1em;
}

#navbar div.slider span{
  width: 30px;
  left: -15px;
  height : 0.1em;
  background : black;
  border : solid 1px black;
  cursor : move;
}

.ui-slider-vertical .ui-slider-handle {
  margin-bottom: -0.1em;
}

#navbar button.btn{
  height : 30px;
  width : 30px;
  margin-bottom : 0.1em;
  border : solid 1px white;
  border-radius: 0;
  padding: 0;
  background : #CE1F2D;
  background-image : url("images/sprite_30.png");
  transition: none;
}

#navbar button.btn.active{
  background-color : #3A3C3D;
  cursor : default;
}

#navbar .btn.pan {
  background-position : 0 -30px;
}

#navbar .btn.zoom {
  background-position : -30px -30px;
}

#navbar .btn.zoom-extent {
  background-position : -30px -60px;
}

#navbar .btn.zoom-out {
  background-position : -30px 0;
}

#navbar .btn.zoom-in {
  background-position : 0 0;
}

#navbar .history {
  height : 30px;
  width : 30px;
}

#navbar .history button.btn {
  width : 14px;
}

#navbar .btn.previous {
  background-position : -5px -90px;
}

#navbar .btn.previous.disabled {
  background-position : -5px -120px;
}

#navbar .btn.next {
  background-position : -44px -90px;
  margin-left : -3px;
}

#navbar .btn.next.disabled {
  background-position : -44px -120px;
}

lizmap-navbar {
  display: flex;
  flex-direction: column;
}

.ol-zoomslider {
  position: initial;
  height: 50px;
}

.ol-zoomslider button{
  width: 30px;
  height: 4px;
  right: 15px;
  background: var(--color-dark-gray-elements);
}

#zoom-in-max-msg {
  position: absolute;
  right: 40px;
  top: 110px;
  white-space: nowrap;
  padding: 4px;
}

.ol-dragzoom{
  border: solid 2px rgb(255 0 0 / 50%);
}

/* Loading window */
#ui-dialog-title-loading {
  font-size:0.7em;
}

.ui-widget-header {
  font-weight: normal !important;
}

#loading {
  height: 100px;
  min-height: 100px;
  width: auto;
  font-size:0.9em;
}

#loading p {
  text-align:center;
}

/* Overview map */
#overview-box {
  z-index:999;
  position:absolute;
  right:10px;
  bottom:40px;
  border : solid 1px #606060;
  border-top: none;
}

#overview-box > * + *, lizmap-overviewmap .ol-overviewmap{
  border-top : solid 1px #606060;
}

#overview-bar {
  position:relative;
  width:220px;
  background : none repeat scroll 0% 0% rgb(240 240 240);
  line-height : 12px;
  height: 47px;
}

#overview-bar .label {
  padding-left : 0.5em !important;
  padding-right : 0.5em !important;
  color : rgb(51 51 51);
  background: none;
  text-shadow : none;
  font-size : 0.8em;
}

#overview-bar .ui-icon {
  background-image : url("images/sprite_menu.png");
}

#overview-bar .button .ui-icon-triangle-1-s {
  background-position : -16px 0;
}

#overview-bar .button .ui-icon-triangle-1-n {
  background-position : 0 0;
}

/* Mouse position */
lizmap-mouse-position{
  background : none repeat scroll 0% 0% rgb(240 240 240);
  display: flex;
}

lizmap-mouse-position > div.mouse-position{
  flex-grow: 1;
  display: flex;
  text-align: center;
}

lizmap-mouse-position > div.mouse-position input[type="number"],
lizmap-mouse-position > div.mouse-position span,
lizmap-mouse-position > div.coords-unit  select{
  font-size: 10px;
  margin-bottom: 0;
}

lizmap-mouse-position > div.mouse-position input[type="number"]{
  padding: 2px;
  text-align: center;
  width: 57px;
}

lizmap-mouse-position input[type="number"]::-webkit-outer-spin-button,
lizmap-mouse-position input[type="number"]::-webkit-inner-spin-button {
  display: none;
  margin: 0;
}

lizmap-mouse-position input[type="number"] {
    appearance: textfield;
}

lizmap-mouse-position > div.mouse-position > button{
  height: 30px;
}

lizmap-mouse-position .readonly-position{
  flex-grow: 1;
}

lizmap-mouse-position > div.coords-unit > select{
  width: 65px;
  margin: 0;
  padding: 0;
}

/* Attribution */
#attribution-box {
  bottom : 0;
  right : 0;
  padding : 0 0.5em;
  position : absolute;
  z-index : 1000;
  background-color : white;
  background-color : rgb(255 255 255 / 70%);
  border-top-left-radius: 1em;
  display: flex;
  align-items: flex-end;
  gap: 5px;
}

#attribution-ol .ol-attribution {
  position: unset;
  max-width: none;
}

.olLayerGooglePoweredBy.olLayerGoogleV3.gmnoprint {
  display:none;
}

.olBingAttribution {
  color:#555;
}

.olBingAttribution > div {
  float: left;
  margin-top: 5px;
  width:90px;
}

#permalink {
  padding:2px;
}

#permalink-box div.permalink-tab-content {
  border: 1px solid lightgrey;
  padding: 10px;
}

#permalink-box div.permalink-tab-content div.permalink-tab-pane-share {
  min-width: 243px;
}

#permalink-box div.permalink-tab-content div.permalink-tab-pane-embed {
  min-height: 80px;
}

#permalink-box span.permalink-personalized {
  display: inline-block;
}

#permalink-box span.permalink-personalized input[type="text"] {
  width:50px;
}

#tooltip {
  position: absolute;
  display: inline-block;
  height: auto;
  width: auto;
  z-index: 100;
  background-color: #333;
  color: #fff;
  border-radius: 4px;
  padding: 5px;
  left: 50%;
  transform: translateX(3%);
  visibility: hidden;
  pointer-events: none;
  z-index: 750;
}

#message {
  top : 0;
  left : 50%;
  position : absolute;
  z-index : 6000;
}

#message.span6 {
  margin-left:-285px;
}

#content.mobile #message{
  top: 0;
  left:0;
  right:0;
  z-index:6000;
}

#content.mobile #message.span6{
  margin-left:60px;
  width: calc(100% - 60px);
}

#message .alert {
  margin-bottom: 0;
}

#message .alert-error {
  color: #555;
}

.alert-info {
  background-color : #3a3c3d;
  border-color : #fbfbfb;
  color : #fbfbfb;
  text-shadow : none;
}

.alert-info .close{
  color : #fbfbfb;
  text-shadow : none;
  opacity : 0.6
}

.alert-info .close:hover{
  opacity : 0.8
}

.alert-info ul li.jelix-msg-item-warning {
    color:#ff9100;
}

.alert-info ul li.jelix-msg-item-error {
    color:#DA4F49;
}

/**
 * LizMap icons
 */
  .liz-icon-legend-collapsed {
    background-position: -32px -16px;
  }

  .liz-icon-legend-open {
    background-position: -64px -16px;
  }

  .liz-icon-overview {
    background-position: -208px -128px;
  }

  .liz-icon-switcher-open {
    background-position: -16px -96px;
  }

  .liz-icon-switcher-collapsed {
    background-position: 0 -96px;
  }

/* for popup we need to overwrite gm-style with body-style */
.gm-style {
  font-size: 1em;
  font-family: "century gothic",arial,"sans serif";
}

/* Popup OpenLayers */
.lizmapPopup.olPopup,
#map-content .lizmapPopup{
  background-color:#4A4A4A !important;
  background-color:rgb(0 0 0 / 70%) !important;
  border: 1px solid #C9C9C9 !important;
  color: black !important;
}

#popupcontent div.menu-content{
  background:none;
  border:none;
  font-size:1em;
}

/*
#mini-dock #popupcontent div.menu-content{
  background-color:#4A4A4A !important;
  background-color:rgba(0,0,0,0.6) !important;
}
*/

#popupcontent .empty-data{
  display: none;
}

.lizmapPopup.olPopup img,
#map-content .lizmapPopup img,
#popupcontent img{
  border:none;
  max-width: 300px;
}

#popupcontent img{
  max-width: 100%;
}

.lizmapPopup.olPopup .lizmapPopupContent,
#map-content .olPopup .lizmapPopupContent,
#popupcontent .lizmapPopupContent{
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

.lizmapPopup.olPopup .lizmapPopupContent h4,
#map-content .lizmapPopupContent h4,
#popupcontent .lizmapPopupContent h4{
  margin: 0;
  color : white;
  font-size: 1em;
  padding: 2px;
  padding-left: 5px;
  border-bottom: 1px solid var(--color-contrasted-elements-light);
}

.lizmapPopup.olPopup .lizmapPopupDiv,
#map-content .lizmapPopupDiv{
  margin: 10px !important;
  margin-bottom: 20px !important;
}

#liz_layer_popup_contentDiv {
  max-height: 30vh;
  overflow: auto;
}

#popupcontent .lizmapPopupDiv{
  margin: 10px !important;
  margin-bottom: 20px !important;
  background-color:none;
}

#dock div.lizmapPopupDiv, #mini-dock div.lizmapPopupDiv, #right-dock div.lizmapPopupDiv, #bottom-dock div.lizmapPopupDiv{
  padding: 5px 10px;
  background-color: #F0F0F0 !important;
}

.lizmapPopup.olPopup .lizmapPopupTable,
#map-content .lizmapPopupTable,
#popupcontent .lizmapPopupTable{
  /* background:#333333 !important; */
  margin-bottom:10px;
  font-size:0.8em;
  width:100%;
  background-color: #F0F0F0 !important;

/*
  border: 1px solid #2B2B2B !important;
*/
  border-collapse: collapse;
}

.lizmapPopup.olPopup .lizmapPopupTable thead,
#map-content .lizmapPopupTable thead ,
#popupcontent .lizmapPopupTable thead {
  color: black;
  background-color: lightgrey;
  font-size: 1em;
}

.lizmapPopup.olPopup .lizmapPopupTable th,
#map-content .lizmapPopupTable th,
#popupcontent .lizmapPopupTable th{
/*
  width:50%;
  text-align: right;
*/
  text-align: left;
  vertical-align: top;
  padding-right: 5px;
}

.lizmapPopup.olPopup .lizmapPopupTable th.left,
#map-content .lizmapPopupTable th.left,
#popupcontent .lizmapPopupTable th.left{
  border-right: 1px solid #C9C9C9 !important;
}

.lizmapPopup.olPopup .lizmapPopupTable td,
#map-content .lizmapPopupTable td,
#popupcontent .lizmapPopupTable td{
  padding-left: 5px;
  word-break: break-word;
}

.lizmapPopup.olPopup .lizmapPopupTable thead th,
#map-content .lizmapPopupTable thead th,
#popupcontent .lizmapPopupTable thead th{
  text-align: center;
}

.lizmapPopup.olPopup .olPopupCloseBox,
#map-content .lizmapPopup .olPopupCloseBox,
#popupcontent .lizmapPopup .olPopupCloseBox{
  width: 20px; height: 20px;

  /* right:0px !important; top:0px !important; */
  background-color:#2B2B2B;
  background-image: url("images/sprite_menu.png");
  background-position: -48px -80px;
}

.lizmapPopup.olPopup .lizmapPopupDiv .lizmapPopupChildren h4,
#map-content .lizmapPopupDiv .lizmapPopupChildren h4,
#popupcontent .lizmapPopupDiv .lizmapPopupChildren h4,
.lizmapPopupChildren h4{
    margin: 0 10px;
    color: black !important;
    border-bottom: 1px solid rgb(0 0 0 / 40%);
    font-size: 0.85em;
}

.lizmapPopupChildren .popupAllFeaturesCompact{
  overflow: auto;
  padding-left: 20px;
}

.lizmapPopupChildren .popupAllFeaturesCompact .row{
  margin-left: -10px;
}

.lizmapPopupChildren{
  border: solid lightgray 1px;
  margin-top: 5px;
}

.lizmapPopupChildren .compact-tables,
.lizmapPopupChildren .explode-tables{
  margin-top: 3px;
  margin-left: 10px;
}

/* Don't display buttons when there is no table (when there is only one feature) */
.lizmapPopupChildren .compact-tables:not(:has(~ .popupAllFeaturesCompact)),
.lizmapPopupChildren .explode-tables:not(:has(~ .popupAllFeaturesCompact)){
  display: none;
}

#popupcontent .popupAllFeaturesCompact .lizmapPopupTable td{
  word-break: normal;
}

/* Map's popup OL8 */

.ol-popup {
  position: absolute;
  background-color: white;
  box-shadow: 0 1px 4px rgb(0 0 0 / 20%);
  padding: 5px;
  border-radius: 10px;
  border: 1px solid #ccc;
  bottom: 12px;
  left: -50px;
  min-width: 280px;
}

.ol-popup::after, .ol-popup::before {
  top: 100%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}

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

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

.ol-popup-closer {
  text-decoration: none;
  position: absolute;
  top: 2px;
  right: 8px;
}

.ol-popup-closer::after {
  content: "✖";
}

/* Tooltip */

#tooltipPopupContent {
  background-color:#F0F0F0 !important;
  border: rgb(0 0 0 / 70%) solid 4px;
  min-width:100px;
}

#tooltipPopupContent .lizmapPopupTable {
  margin:auto;
}

#tooltipPopupContent th,
#tooltipPopupContent td {
  white-space: nowrap;
}

#tooltipPopupContent td {
  padding-right: 5px;
}

#edition-modal form {
  margin: 0;
}

#edition-modal form .jforms-choice .jforms-notselected {
  background: #EEE;
}

#edition-modal form .jforms-choice .jforms-notselected .jforms-disabled{
  color: #999;
}

.lizmapPopup.olPopup .jforms-ctrl-date,
#map-content .lizmapPopup .jforms-ctrl-date,
#popupcontent .lizmapPopup .jforms-ctrl-date,
#dock .jforms-ctrl-date,
#edition-modal .jforms-ctrl-date,
.lizmapPopup.olPopup .jforms-ctrl-datetime,
#map-content .lizmapPopup .jforms-ctrl-datetime,
#popupcontent .lizmapPopup .jforms-ctrl-datetime,
#dock .jforms-ctrl-datetime,
#edition-modal .jforms-ctrl-datetime{
  width:auto;
}

#dock .controls select.jforms-ctrl-date,
#edition-modal .controls select.jforms-ctrl-date,
#dock .controls select.jforms-ctrl-datetime,
#edition-modal .controls select.jforms-ctrl-datetime {
  padding:0;
}

#dock .controls input.jforms-ctrl-date[size="4"],
#edition-modal .controls input.jforms-ctrl-date[size="4"],
#dock .controls input.jforms-ctrl-datetime[size="4"],
#edition-modal .controls input.jforms-ctrl-datetime[size="4"] {
  max-width:35px;
}

#edition .edition {
  position: relative;
}

#edition .edition .waiter {
  background-color: rgb(255 255 255 / 40%);
  position: absolute;
  inset: 0;
  display: none;
}

#edition .edition .waiter .progress {
  margin-bottom: 0;
}

#edition-form-container h3 {
  color: black;
  background-color: transparent;
  line-height: 20px;
  font-size: 1.2em;
  padding: 1px 5px;
  margin-bottom: 4px;
}

#edition-form-container .form-horizontal .jforms-choice .jforms-item-controls .control-label{
  width:0;
}

#edition-segment-length, #edition-segment-angle {
  line-height: 30px;
}

#edition h3 span.title {
  display: none;
}

#nav-tab-projects a::before,
#nav-tab-switcher a::before,
#nav-tab-metadata a::before,
#nav-tab-edition a::before,
#nav-tab-filter a::before{
  content: " ";
  display: inline-block;
  background-image: url("images/sprite_20_tools.png");
  background-repeat: no-repeat;
  width: 20px;
  height: 20px;
  margin-right: 4px;
  vertical-align: text-bottom;
}

#nav-tab-switcher a::before {
  background-position: -75px 0;
}

#nav-tab-metadata a::before {
  background-position: -125px 0;
}

#nav-tab-edition a::before {
  background-position: -475px 0;
}

#nav-tab-filter a::before {
  background-position: -425px 0;
}

.edition-tabs .nav-pills {
  margin-bottom: 10px;
}

.edition-tabs .nav-pills a {
  color: black;
}

.edition-tabs .nav-pills > .active > a, .edition-tabs .nav-pills > .active > a:hover, .edition-tabs .nav-pills > .active > a:focus{
  background-color: #93C01F;
  color: white;
}

@media (height <= 500px) {
  .modal.fade.in {
    top:30px;
  }

  .modal-body {
    max-height: 200px;
  }
}

@media (height <= 350px) {
  .modal.fade.in {
    top:10px;
  }

  .modal-body {
    max-height: 150px;
  }
}

.ui-dialog {
  z-index: 1500 !important;
}

/* dialog wait */
.liz-dialog-wait {
  background: #F6F6F6;
  border: 1px solid #606060;
  padding: 0;
  z-index:1050;
}

.liz-dialog-wait .ui-dialog-titlebar{
  background : #2B2B2B;
  color : #FBFBFB;
}

.ui-dialog-titlebar .ui-dialog-titlebar-close{
  display:none;
}

.ui-widget-overlay {
  opacity : 0.8;
  background : black;
  z-index: 1040;
}

#loading p {
  display: none;
}

#loading {
  background-image: url("img/loading.svg");
  background-repeat: no-repeat;
  background-position-x: center;
  background-position-y: center;
}

/* Transparent images instead of pink tiles */
.olImageLoadError {
    display: none !important;
}

/* only maps dock style */
#nav-tab-projects a::before{
  background-position: -900px 0;
}

#projects h2 {
  color: var(--color-contrasted-text);;
  background-color: var(--header-color);
}

#projects ul {
  margin: auto;
}

#projects ul li div.thumbnail {
  text-align: center;
}

/* Edition style */
#edition .nav-tabs > li > a {
  font-size: 1.2em;
  color: darkgray;
  padding: 5px;
  border: 1px solid darkgrey;
  border-bottom-color: transparent;
}

#edition .nav > li > a:hover, .nav > li > a:focus {
    text-decoration: none;
}

#edition .nav-tabs > li > a:hover, .nav-tabs > li > a:focus {
    border-color: darkgrey;
}

#edition .nav-tabs > .active > a, .nav-tabs > .active > a:hover, .nav-tabs > .active > a:focus {
    color: black;
    cursor: default;
    background-color: lightgrey;
    border: 1px solid darkgray;
    border-bottom-color: transparent;
}

/* Remove border & padding */
#edition div.tab-content {
  /* border: 1px solid lightgrey;
  padding: 10px; */
}

#edition div.jforms-table-group{
  /* background-color: lightgrey; */
  padding: 5px 0;

  /* border-radius: 10px; */
}

#edition-point-coord-form,
#dock #edition-point-coord-form{
  margin-bottom: 5px;
}

#edition-point-coord-form-group h3{
  color: black;
  padding-left: 5%;
  background-color: #f0f0f0;
  line-height:2em;
  margin: 10px;
}

.qgis_sprite { background: url('images/qgis_sprite.png') no-repeat top left; width: 24px; height: 24px;  }
.qgis_sprite.mActionMoveFeature { background-position: 0 0; }
.qgis_sprite.mActionReshapeLine { background-position: -34px 0; }
.qgis_sprite.line.mActionReshape { background-position: -34px 0; }
.qgis_sprite.mActionMoveFeatureLine { background-position: -68px 0; }
.qgis_sprite.line.mActionMoveFeature { background-position: -68px 0; }
.qgis_sprite.mActionNodeTool { background-position: -102px 0; }
.qgis_sprite.mActionReshape { background-position: -136px 0; }
.qgis_sprite.mActionRotateFeature { background-position: -170px 0; }
.qgis_sprite.mActionRotateFeatureLine { background-position: -204px 0; }
.qgis_sprite.line.mActionRotateFeature { background-position: -204px 0; }
.qgis_sprite.mActionSelectAll { background-position: -238px 0; }
.qgis_sprite.mActionSelectRectangle { background-position: -272px 0; }
.qgis_sprite.mActionSelect { background-position: -306px 0; }
.qgis_sprite.mActionSelectAllTree { background-position: -340px 0; }
.qgis_sprite.mActionSelectFreehand { background-position: -374px 0; }
.qgis_sprite.mActionSelectRadius { background-position: -408px 0; }
.qgis_sprite.mActionSelectedToTop { background-position: -442px 0; }
.qgis_sprite.mActionSelectPolygon { background-position: -476px 0; }
.qgis_sprite.mIconDeselected { background-position: -510px 0; }
.qgis_sprite.mActionSplitFeatures { background-position: -534px 0; }
.qgis_sprite.mActionShowAllLayers { background-position: -563px 0; }

#lizmap-search{
  top: 1px;
  position: absolute;
  z-index: 1040;
  overflow: auto;
  background-color: #F0F0F0;
  background-color: #4A4A4A;
  background-color: rgb(0 0 0 / 70%);
  max-height: 99%;
  right: 100px;
  max-width: 70%;
  color:white;
  border-radius:5px;
  font-size:0.8em;
  display:none;
}

#content.mobile #lizmap-search{
  left: 31px;
  right: 1px;
  bottom: 1px;
  max-height: 33%;
  max-width:none;
  border-radius:0;
}

#lizmap-search > li{
  list-style: none;
}

#lizmap-search .items > li > ul{
  margin: 0 10px 10px 25px
}

#lizmap-search a{
  color:white;
  font-size:0.9em;
}

#lizmap-search a:hover{
  background-color: grey;
  text-decoration:none;
}

#lizmap-search.open{
  display:block;
}

#lizmap-search-close{
  display:none;
  right: 3px;
  top: 2px;
  position: absolute;
  z-index: 1041;
}

#lizmap-search-close.open{
  display:block;
}

#lizmap-search .highlight {
  color: #0094D6;
}

/* Selection */

.selectiontool-export button:disabled{
  pointer-events: none;
}

.selectiontool-export-formats{
  left: auto;
  right: 0;
  max-height: 110px;
  overflow-y: auto;
}

.selectiontool-filter.active {
  background-color: rgb(255 171 0 / 40%);
}

.selection-buffer > label > span {
  vertical-align: text-bottom;
}

lizmap-selection-invert svg {
  width: 14px;
  height: 14px;
}

/* Digitizing */

.digitizing{
  min-width: 260px;
}

.digitizing .hide{
  display: none;
}

.digitizing .btn {
  width: 34px;
  height: 34px;
  box-sizing: border-box;
  padding: 4px;
}

.digitizing .dropdown-toggle{
  width: unset;
}

.digitizing-buttons .dropdown-menu{
  min-width: unset;
  padding: 3px;
  position: absolute;
  left: 60px;
  top: -6px;
}

.digitizing svg {
  width: 24px;
  height: 24px;
}

.digitizing-selected-tool svg.digitizing-tool-icon{
  width: 13px;
  position: absolute;
  bottom: -4px;
  right: 1px;
}

.digitizing-toggle-visibility{
  vertical-align: top;
}

input[type="color"].digitizing-color{
  vertical-align: top;
  cursor: pointer;
  padding: 4px;
}

.digitizing-export .dropdown-menu{
  min-width: unset;
  position: absolute;
  left: 47px;
  top: -9px;
}

.digitizing .caret{
  transform: rotate(270deg);
}

.digitizing-import-export{
  display: inline;
  margin-left: 10px;
}

.digitizing-import{
  display: inline-block;
}

.digitizing-import .file-name{
  font-size: .8em;
  max-width: 120px;
  display: inline-block;
  word-break: break-word;
  vertical-align: middle;
}

.digitizing-state{
  max-height: 100px;
  overflow: auto;
  font-size: 0.8em;
  padding: 5px;
  font-style: italic;
  background: lightgray;
  margin-right: 5%;
}

.digitizing-constraints input{
  width: 6em;
}

.digitizing-constraints .angle ~ .add-on{
  font-size: x-large;
}

lizmap-digitizing details {
  padding: 5px;
  cursor: pointer;
  font-size: 14px;
}

.digitizing-text{
  font-weight: bold;
}

.digitizing-text-tools{
  margin-top: 5px;
}

.ol-tooltip {
  position: relative;
  background: rgb(0 0 0 / 50%);
  border-radius: 4px;
  color: white;
  padding: 4px 8px;
  opacity: 0.7;
  white-space: nowrap;
  font-size: 12px;
  cursor: default;
  user-select: none;
}

.ol-tooltip-measure {
  opacity: 1;
  font-weight: bold;
}

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

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

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

/*
atlas
*/
#atlas > div.menu-content {
  background-color: transparent; /* remove color for atlas */
}

#liz-atlas-item-detail{
  background-color:#F0F0F0;
  font-size:0.8em;
  padding:5px;
}

#liz-atlas-item-layer-abstract{
  color:white;
  padding:5px 10px;
  font-size:0.8em;
  line-height:normal;
}

a.lizmap-atlasprint-link span.icon{
  display:inline-block;
  vertical-align:middle;
  background-image:url("images/sprite_20_tools.png");
  background-repeat:no-repeat;
  width:20px;
  height:20px;
  background-position: -350px 0;
  margin-right:7px;
}

.toggle-custom-labels-view{
  margin-left: 5px;
  display: inline-block;
  position: relative;
}

.toggle-custom-labels-view > div{
  display: none;
  position: absolute;
  bottom: 30px;
  left: -100px;
  padding: 5px;
  border: 1px solid black;
  background: rgb(240 240 240);
}

.atlasprint-custom-labels{
  width: unset;
}

input[type="file"].jforms-ctrl-upload {
  height:auto;
}

/* Use exif to rotate images automatically */
img {
 image-orientation: from-image;
}

/* Theme switcher */
#theme-selector button.dropdown-toggle{
  width: 30px;
}

#theme-selector .mActionShowAllLayers{
  width: 18px;
  height: 18px;
  background-size: auto 18px;
  background-position: -422px -5px;
}

#theme-selector .dropdown-menu{
  min-width: 100px;
}

#theme-selector .dropdown-menu > li > a{
  padding: 3px 10px;
}

#theme-selector li.selected a {
  font-weight: bold;
}

#switcher-layers-actions #theme-selector.btn-group > ul {
  left: 0;
}

#theme-selector ul.dropdown-menu.dropdown-menu-right{
  left: auto !important;
  right: 0;
  max-height: 250px;
  overflow-y: auto;
}

/* Geolocation */
lizmap-geolocation .geolocation-infos {
    background-color: lightgray;
    border-radius: 5px;
    padding: 5px;
    margin-top: 5px;
}

lizmap-geolocation .input-append{
  vertical-align: top;
}

lizmap-geolocation .input-mini{
  width: 32px;
  height: 16px;
}

lizmap-geolocation .input-prepend .add-on{
  height: 16px;
  line-height: 16px;
}

lizmap-geolocation-survey .control-group div{
  display: inline-block;
  text-align: right;
}

lizmap-geolocation-survey .control-group > div:first-child{
  width: 90px;
}

#dock .form-horizontal lizmap-geolocation-survey .controls{
  margin-left: 10px;
}

/* Scaleline */
lizmap-scaleline .ol-scale-bar{
  z-index: 750;
  bottom: 5px;
  left: 5px;
}

lizmap-scaleline .ol-scale-text{
  bottom: 28px;
  font-weight: bold;
  font-size: 0.8em;
}

lizmap-scaleline .ol-scale-singlebar{
  height: 0;
}

/* OverviewMap */

lizmap-overviewmap{
  display: block;
}

lizmap-overviewmap .ol-overviewmap{
  left: unset;
  bottom: unset;
  position: relative;
  border-radius: unset;
}

lizmap-overviewmap .ol-overviewmap.ol-collapsed{
  padding:0;
  border: none;
}

lizmap-overviewmap .ol-overviewmap .ol-overviewmap-map {
  width: 210px;
  height: 100px;
  border: none;
}

lizmap-overviewmap .ol-overviewmap button{
  position: absolute;
  right: 2px;
  top: -28px;
}

lizmap-overviewmap .ol-overviewmap:not(.ol-collapsed) button{
  left: auto;
  top: unset!important;
}

lizmap-overviewmap .ol-overviewmap-box{
  background-image: url("img/overview_replacement.gif");
  background-repeat: no-repeat;
  background-position: center;
}

/* lizmap-reverse-geom */
lizmap-reverse-geom svg{
  width: 24px;
  height: 21px;
}

.btn-print-launch {
  position: relative;
}

.btn-print-launch.spinner::after {
  right: 5px;
}

/* lizmap-feature-toolbar */
lizmap-feature-toolbar button.btn:hover,
.attribute-layer-action-bar button.btn:not(.dropdown-toggle):hover{
  background-color: #04c;
  background-image: linear-gradient(to bottom,#08c,#04c);
  color: white;
}

lizmap-feature-toolbar button:hover > [class^="icon-"],
.attribute-layer-action-bar button:not(.dropdown-toggle):hover > [class^="icon-"]{
  background-image: url("images/glyphicons-halflings-white.png");
}

.feature-atlas {
  display: inline-block;
  position: relative;
}

.feature-atlas .custom-labels {
  position: absolute;
  left: 0;
  background: white;
  padding: 5px;
  border: black solid 1px;
}

.feature-atlas .custom-labels button {
  width: 100%;
}

/* In attribute table, don't display filter, export or print buttons */
#attribute-table-container lizmap-feature-toolbar .feature-filter,
#attribute-table-container lizmap-feature-toolbar .feature-export,
#attribute-table-container lizmap-feature-toolbar .feature-print,
#attribute-table-container lizmap-feature-toolbar .feature-atlas{
  display: none;
}

.feature-atlas button svg {
  display: block;
  width: 16px;
  height: 20px;
}

.feature-atlas button:hover > img[src$=".svg"] {
  filter: invert(1);
}

/* Form filter */
.liz-filter-field-value{
  line-height: 25px;
  transform: scale(1.6);
  margin-right: 8px!important;
}

lizmap-fullscreen {
  position: absolute;
  z-index: 1;
  bottom: 5px;
  left: 5px;
}

lizmap-fullscreen button {
  width: 30px;
  height: 30px;
  padding: 0;
}

lizmap-fullscreen button svg {
  display: block;
  width: 20px;
  height: 20px;
  margin: auto;
}

lizmap-paste-geom {
  display: inline-block;
}

lizmap-paste-geom svg {
  width: 24px;
  height: 24px;
  display: inline-block;
  vertical-align: text-top;
}

/* Treeview */

lizmap-treeview .filtered, button#layerActionUnfilter.btn {
  background-color: rgb(255 171 0 / 40%);
}

lizmap-treeview ul {
  list-style: none;
}

lizmap-treeview li {
  position: relative;
}

lizmap-treeview li > div {
  display: flex;
  border: 1px solid transparent;
  padding-left: 4px;
}

lizmap-treeview li > div.selected {
  border-color: #0094D6;
}

lizmap-treeview div.expandable{
  display: inline-block;
  position: absolute;
  left: -25px;
  padding: 0 5px;
}

lizmap-treeview div.expandable::before {
  content: "▶";
  cursor: pointer;
}

lizmap-treeview div.expandable.expanded {
  transform: rotate(90deg);
  color: #CE1F2D;
}

lizmap-treeview div.expandable ~ ul {
  display: none;
}

lizmap-treeview div.expandable.expanded ~ ul {
  display: block;
}

lizmap-treeview .node {
  display: inline-flex;
  flex-grow: 1;
  padding-left: 2px;
  align-items: center;
  column-gap: 2px;
}

lizmap-treeview input[type="checkbox"] {
  margin-top: 0;
  margin-right: 5px;
  align-self: baseline;
  margin-top: 5px;
  accent-color: #0094D6;
  flex: 0 0 18px;
  height: 18px;
}

lizmap-treeview input.rounded-checkbox {
  border-radius: 50%;
  vertical-align: middle;
  border: 1px solid #767676;
  appearance: none;
  appearance: none;
  outline: none;
  cursor: pointer;
}

lizmap-treeview input.rounded-checkbox[type="checkbox"]:focus{
  outline: none;
}

lizmap-treeview input.rounded-checkbox:checked {
  appearance: auto;
  clip-path: circle(50% at 50% 50%);
}

lizmap-treeview .group label {
  font-weight: bold;
  user-select: none;
}

lizmap-treeview label {
  flex-grow: 1;
  margin: 0;
  display: inline;
}

lizmap-treeview li.not-visible > div input[type="checkbox"],
lizmap-treeview li.not-visible > label input[type="checkbox"],
lizmap-treeview li.not-visible > ul.symbols label input[type="checkbox"],
lizmap-treeview li.not-in-scale > label input[type="checkbox"],
lizmap-treeview li.not-in-scale > ul.symbols label input[type="checkbox"] {
  accent-color: #7F7F80;
}

lizmap-treeview li.not-visible > div label,
lizmap-treeview li.not-visible > ul.symbols label,
lizmap-treeview li.not-visible > label,
lizmap-treeview li.not-in-scale > label,
lizmap-treeview li.not-in-scale > ul.symbols label {
  font-style: italic;
  color: #7F7F80;
}

lizmap-treeview li.not-visible > div img,
lizmap-treeview li.not-visible > ul.symbols img,
lizmap-treeview li.not-visible > label img,
lizmap-treeview li.not-in-scale > label img,
lizmap-treeview li.not-in-scale > ul.symbols img {
  filter: grayscale(1);
}

lizmap-treeview .layer-actions {
  display: flex;
}

lizmap-treeview .layer-actions a {
  text-decoration: none;
}

lizmap-treeview .layer-actions > * {
  padding: 3px;
}

lizmap-treeview .icon-info-sign,
lizmap-treeview .icon-remove-sign {
  cursor: pointer;
}

lizmap-treeview .icon-remove-sign {
  filter: invert(26%) sepia(71%) saturate(5158%) hue-rotate(354deg) brightness(91%) contrast(143%);
}

lizmap-treeview .icon-info-sign {
  visibility: hidden;
  margin-left: auto;

  /* Make it centered vertically & horizontally */
  background-origin: content-box;
  border: 1px solid gray;
  border-radius: 5px;
}

lizmap-treeview .node:hover .icon-info-sign {
  visibility: visible;
}

lizmap-treeview a[href=""] {
  visibility: hidden;
}

lizmap-treeview .loading {
  position: relative;
}

lizmap-treeview .spinner::after {
  border-width: 2px;
  border-color: black transparent;
  right: 2px;
}

lizmap-treeview .symbols img.legend {
  margin-right: 4px;
}

lizmap-treeview img.legend[src="data:image/png;base64, "]{
  visibility: hidden;
}

lizmap-tooltip.spinner::after {
  border-width: 2px;
  border-color: black transparent;
  right: 2px;
}

lizmap-message button {
  font-weight: bold;
}

/* Snap layer list */
.snap-panel-controls {
    margin:10px;
}

.snap-layers-list-title {
    font-weight: bold;
    margin-top: 5px;
    margin-bottom: 5px;
}

.snap-layers-list {
    overflow: auto;
    display: flex;
    flex-direction: column;
}

.snap-layer {
    display: flex;
    align-items: center;
    height: 25px;
}

.snap-layer .snap-disabled {
    color:gray;
    font-style:italic;
}

.snap-layers-list input[type="checkbox"] {
    margin-right: 5px;
    align-self: baseline;
    margin-top: 1px;
    accent-color: #0094D6;
    flex: 0 0 18px;
    height: 18px;
}

/* CKEDITOR adaptations */
.ck.ck-balloon-panel.ck-balloon-panel_visible {
  z-index: 9999;
}



/* lizmap-features-table web component */
lizmap-features-table {
  font-size: 0.8em;
}

lizmap-features-table h4 {
  font-size: 1.3em;
}

#popupcontent .lizmapPopupContent lizmap-features-table h4 {
  border-bottom: none;
  margin-bottom: 5px;
}

div.lizmap-features-table {
  position: relative;
}

table.lizmap-features-table-container {
  font-size: 0.9em;
  position: relative;
  max-height: 30vh;
  overflow: auto;
}


/* Decrease the margin of the features table when a popup is displayed underneath (otherwise 20px)  */
div.lizmap-features-table.popup-displayed table.lizmap-features-table-container {
  margin-bottom: 5px;
}

/* Feature item line (tr) */
table.lizmap-features-table-container tbody tr.lizmap-features-table-item {
  border-top: 1px solid var(--color-contrasted-elements);
  position: relative;

  /* Light gray background for even lines */
  &:nth-child(even) {
    background-color: #f9f9f9;
  }

  /* Invert colors on hover & focus */
  &:hover, &:focus, &:active, &.popup-displayed {
      background-color: var(--color-contrasted-elements);
      color: var(--color-contrasted-text);
  }
}

/* Pointer cursor  */
table.lizmap-features-table-container tbody tr.lizmap-features-table-item.has-action {
  cursor: pointer;
}

/* Hide other children of the table if only one child feature is active */
div.lizmap-features-table.popup-displayed > table.lizmap-features-table-container > tbody > tr.lizmap-features-table-item:not(.popup-displayed) {
    display: none;
}

/* In this context, display only the active child item */
div.lizmap-features-table.popup-displayed > table.lizmap-features-table-container > tbody > tr.lizmap-features-table-item.popup-displayed {
  display: revert;
}

/* Toolbar visible when popup is visible */
div.lizmap-features-table div.lizmap-features-table-toolbar {
  display: none;
}

div.lizmap-features-table.popup-displayed div.lizmap-features-table-toolbar {
  position: absolute;
  top: 0;
  right: 10px;
  cursor: pointer;
  display: block;
  opacity: 0.6;
  z-index: 1000;

  &:hover {
    opacity: 1;
  }
}

div.lizmap-features-table-toolbar button {
  background-color: var(--color-contrasted-elements-light);
  color: var(--color-contrasted-elements);
  width: 25px;
  height: 25px;

  &:hover, &:focus, &:active {
    background-position: center;
  }
}

/* close */
div.lizmap-features-table-toolbar button.close-popup {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M11.9997 10.5865L16.9495 5.63672L18.3637 7.05093L13.4139 12.0007L18.3637 16.9504L16.9495 18.3646L11.9997 13.4149L7.04996 18.3646L5.63574 16.9504L10.5855 12.0007L5.63574 7.05093L7.04996 5.63672L11.9997 10.5865Z'%3E%3C/path%3E%3C/svg%3E");
}

/* previous */
div.lizmap-features-table-toolbar button.previous-popup {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M10.8284 12.0007L15.7782 16.9504L14.364 18.3646L8 12.0007L14.364 5.63672L15.7782 7.05093L10.8284 12.0007Z'%3E%3C/path%3E%3C/svg%3E");

  &.first {
    display: none;
  }
}

/* next */
div.lizmap-features-table-toolbar button.next-popup {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M13.1717 12.0007L8.22192 7.05093L9.63614 5.63672L16.0001 12.0007L9.63614 18.3646L8.22192 16.9504L13.1717 12.0007Z'%3E%3C/path%3E%3C/svg%3E");

  &.last {
    display: none;
  }
}


/* Popup div, visible only if popup-dsplayed class is present for it preceeding sibling */
div.lizmap-features-table > table.lizmap-features-table-container + div.lizmap-features-table-item-popup {
  display: none;
  min-height: 200px;
  min-width: 200px;
  overflow: auto;
}

div.lizmap-features-table.popup-displayed > table.lizmap-features-table-container + div.lizmap-features-table-item-popup {
  display: block;
}

/* Hide title of the popup, since it is already visible above */
div.lizmap-features-table.popup-displayed > table.lizmap-features-table-container + div.lizmap-features-table-item-popup h4.lizmapPopupTitle {
  display: none;
}

.hide {
  display: none;
}

/* Remove margin for active item popup lizmapPopupDiv */
#popupcontent div.lizmap-features-table.popup-displayed > table.lizmap-features-table-container + div.lizmap-features-table-item-popup div.lizmapPopupDiv {
  margin: 0 !important;
}
