/*GBU Map (Mapbox)*/
#map {
    position: relative;
/*    width: 72rem;*/
/*    height: 45rem;*/
    width: 100%;
    height: 100vh;
    cursor: default;
}

#search {
    background-color: rgba(var(--primary), .8);
    z-index: 99;
}

#search input {
    font-size: 1.2rem;
}

#tree-map {
    position: relative;
    width: 100%;
    height: 100%;
}

#location-input{
    width: 40rem;
}

#controls {
    background-color: rgba(var(--foreground), .8);
    z-index: 9999;
}

#mapWrapper[mode="select"] .marker {
    cursor: pointer;
}

#mapWrapper #toggleSelectMode,
#mapWrapper #toggleCreateTreeMode, 
#mapWrapper #toggleCreateJobMode {
    transition: 0s outline;
}

#mapWrapper[mode="select"] #toggleSelectMode {
    outline: 2px solid rgb(var(--primary)) !important;
}

#mapWrapper[mode="createTree"] canvas,
#mapWrapper[mode="createJob"] canvas {
    cursor: crosshair;
}

#mapWrapper[mode="createTree"] #toggleCreateTreeMode,
#mapWrapper[mode="createJob"] #toggleCreateJobMode {
    outline: 4px solid rgb(var(--secondary)) !important;
}

#mapWrapper #toasts {
	top: 68px;
    z-index: 99999;
}

#createTreeModal .address-wrapper {
    display: none;
}

.modal label {
    word-break: break-all
}

.mapboxgl-popup-close-button {
    font-size: 2.5rem !important;
}

.mapboxgl-popup-content {
    font-size: 1rem;
}

.mapboxgl-popup {
    max-width: 20rem !important;
}

.marker-tree:before {
    font-family: 'Font Awesome 5 Free';
    content: "\f1bb";
    color: rgb(var(--primary));
    font-weight: 700;
}

.marker-job:before {
    font-family: 'Font Awesome 5 Free';
    content: "\f0d1";
    color: rgb(var(--primary));
    font-weight: 700;
}

.marker.selected {
    border: 2px solid red;
    border-radius: 100%;
}

.marker {
    padding: .5rem;
}

.marker:before {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: #ffffff;
    border: 1px solid #473a1c;
    width: 35px;
    height: 35px;
    font-size: 1.25rem;
}

.marker .popup {
    display: none;
    position: absolute;
    background-color: #fff;
    padding: 1rem 0;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 250px;
}

.marker .popup {
    font-size: 0.875rem;
}

.marker .popup .title {
    font-size: 1.25rem;
    font-weight: bold;
}

.marker:hover {
    z-index: 999;
}

.marker:hover .popup {
    display: flex;
}

#controls .active-mode {
    background-color: rgb(var(--primary)) !important;
}

#controls .active-mode i {
    color: rgb(var(--on-primary)) !important;
}

.loading-wrapper {
    z-index: 99; 
    display: none; 
    opacity: .9;
}

.loading-wrapper.active {
    display: flex;
}

.hckselnkleinesfahrzeug:before,
.hckselngroesfahrzeug:before {
    color: #FF5722;
}

.stammholz:before {
    color: #b92020;
}

.frsen:before {
    color: #6f2929;
}

.schilderstellen:before {
    color: #0f0f69;
}


@media (max-width: 991px) {
    #location-input{
        width: auto;
    }

    #map {
        margin-top: 110px;
        height: calc(100vh - 110px);
    }
}

/* Mobile Menu Styling */
#menuMobile {
  padding: 20px;
  background-color: #f5f5f5;
  font-family: Arial, sans-serif;
}


#menuMobile ul.navbar-nav {
  list-style: none;
  padding: 0;
  margin: 0;
}


#menuMobile ul.navbar-nav > li {
  margin-bottom: 15px;
  border: 2px solid #8BC34A;
  border-radius: 25px;
  background-color: white;
  position: relative;
  overflow: hidden;
}


#menuMobile ul.navbar-nav > li > a {
  display: flex;
  align-items: center;
  padding: 15px 20px;
  font-size: 24px;
  font-weight: bold;
  color: #333;
  text-decoration: none;
  position: relative;
  border-radius: 23px;
}


#menuMobile ul.navbar-nav > li > a.active {
  background-color: #8BC34A;
  color: white;
}

#menuMobile ul.navbar-nav > li > a::before {
  content: "";
  width: 30px;
  height: 30px;
  margin-right: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}

#menuMobile ul.navbar-nav > li:nth-child(1) > a::before {
  content: "📍";
}

#menuMobile ul.navbar-nav > li:nth-child(2) > a::before {
  content: "🌳";
}

#menuMobile ul.navbar-nav > li:nth-child(3) > a::before {
  content: "📁";
}

#menuMobile ul.navbar-nav > li:nth-child(4) > a::before {
  content: "→";
}

#menuMobile ul.navbar-nav > li:nth-child(5) > a::before {
  content: "👤";
}

#menuMobile ul.navbar-nav > li:not(:has(.collapse)) > a::after {
  content: "›";
  position: absolute;
  right: 20px;
  font-size: 30px;
  font-weight: bold;
  color: #666;
}

#menuMobile ul.navbar-nav > li > a.active::after {
  color: white;
}

#menuMobile button.btn-toggle {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  font-size: 30px;
  color: #666;
  padding: 0;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

#menuMobile button.btn-toggle::before {
  content: "˅";
  transition: transform 0.3s ease;
}

#menuMobile button.btn-toggle[aria-expanded="true"]::before {
  transform: rotate(180deg);
}

#menuMobile div.collapse {
  background-color: white;
  border-top: 1px solid #ddd;
  margin-top: 0;
}

#menuMobile div.collapse ul.list-unstyled {
  margin: 0;
  padding: 0;
  list-style: none;
}

#menuMobile div.collapse ul.list-unstyled li {
  border-bottom: 1px solid #f0f0f0;
}

#menuMobile div.collapse ul.list-unstyled li:last-child {
  border-bottom: none;
}

#menuMobile div.collapse ul.list-unstyled li a {
  display: block;
  padding: 12px 20px 12px 65px; /* Links eingerückt */
  color: #333;
  text-decoration: none;
  font-size: 18px;
  font-weight: normal;
}

#menuMobile div.collapse ul.list-unstyled li a:hover {
  background-color: #f8f8f8;
}

#menuMobile div.collapse ul.list-unstyled li a.active {
  background-color: #e8f5e8;
  color: #333;
  font-weight: bold;
}

#menuMobile ul.navbar-nav > li:has(button.btn-toggle) > a::after {
  display: none;
}

@media (max-width: 768px) {
  #menuMobile {
    padding: 15px;
  }
  
  #menuMobile ul.navbar-nav > li > a {
    padding: 12px 15px;
    font-size: 20px;
  }
  
  #menuMobile ul.navbar-nav > li > a::before {
    width: 25px;
    height: 25px;
    margin-right: 12px;
    font-size: 18px;
  }
  
  #menuMobile button.btn-toggle {
    right: 15px;
    font-size: 25px;
  }
  
  #menuMobile div.collapse ul.list-unstyled li a {
    padding: 10px 15px 10px 55px;
    font-size: 16px;
  }
}

/* map marker popup  */
/* .popup.row.d-flex{
    display: flex !important;
} */

.popup .col-8.title.h5.fw-bold.text-primary {
    align-self: center;
    font-size: 1.125rem;
    margin-bottom: 0 !important;
}

.popup .col-4 a.d-flex.align-content-center {
    display: flex;
    align-items: center;
}

.popup .col-4 a.d-flex.align-content-center i::before{
    font-size: 1.125rem;
}

