html, body {
  height: 100%;
  margin: 0;
}



body{
  margin:0;
  overflow:hidden;
  font-family: 'Inter', sans-serif;
  background: var(--bg);
  color: var(--text);
}

#main{
  width:100vw;
  height:100vh;
  position:relative;
}

#header{
  position:absolute;
  top:20px;
  left:50%;
  transform:translateX(-50%);
  z-index:30;
  padding:14px 28px;
  border-radius: 20px;
   background:
    linear-gradient(
      135deg,
      rgba(200, 200, 200, 0.221) 10%,
      rgba(79, 79, 79, 0.756) 60%,
      rgba(47, 47, 47, 0.864) 100%
    ),
    rgba(24,24,27,0.78);
  backdrop-filter: blur(16px);
  color:white;
  font-size:24px;
  font-weight:600;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.536);
}

.logos{
  margin-top:25px;
  margin-left: 12px;
  opacity:0.8;
}

.logos img{
  width:80px;
  margin-right: 10px;
}

.logos img:hover{
  transform:translateY(-1px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
}

#location-button{
  position:absolute;
  z-index: 30;
  top:110px;
  right:10px;
  width:30px;
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:white;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

#location{
  width:20px;
  height:20px;
  object-fit:contain;
  margin-left: 1px;
  margin-top: 1px;
  cursor: pointer;
}

#location:hover{
  transform:scale(1.05);
  background:rgb(233, 232, 232);
}


#location-button:hover{
  background:rgb(233, 232, 232);
}

#sidebar {
  position: absolute;
  top: 48%;
  transform:translateY(-50%);
  left: 20px;
  width: 200px;
  padding: 22px;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(18px);
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: 24px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);
  z-index: 20;
  display: flex;          
  flex-direction: column;
  gap:8px;
}

#main {
  grid-area: main;
  position: relative;
}

#map {
  width: 100%;
  height: 100%;
}

#potree_render_area{
  position:absolute;
  top:0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background: transparent;
}

#potree_render_area canvas {
  background: transparent !important;
}

select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  width:100%;
  padding:10px 16px;
  border:none;
  border-radius:14px;
  background:rgba(255,255,255,0.92);
  font-size:14px;
  font-weight:500;
  color:#0f172a;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.278);
  cursor:pointer;
  transition:0.2s;
  
}

.selectWrapper{
  position:relative;
  width:100%;
}

.selectArrow{
  position:absolute;
  right:14px;
  top:48%;
  transform:translateY(-50%);
  pointer-events:none;
  font-size:14px;
  color:#000000;
}

#disable{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  width:100%;
  padding:10px 16px;
  border:none;
  border-radius:14px;
   background:
    linear-gradient(
      135deg,
      rgba(18, 77, 216, 0.92) 10%,
      rgba(13, 61, 175, 0.92) 60%,
      rgba(6, 45, 135, 0.92) 100%
    ),
    rgba(6, 45, 135, 0.92);
  font-size:14px;
  font-weight:500;
  color:#ffffff;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.278);
  cursor:pointer;
  transition:0.2s;
  margin-top: 8px;
  margin-bottom: 10px;
}

select:hover{
  transform:translateY(-1px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
}

select:focus{
  outline:none;
  box-shadow:0 0 0 4px rgba(37,99,235,0.15), 0 8px 24px rgba(0,0,0,0.12);
}


#disable:hover{
  transform:translateY(-1px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
}


*{
  transition:
    background 0.2s,
    transform 0.01s,
    opacity 0.2s;
}

footer{
  z-index: 30;
  position: absolute;
  bottom: 8px;
  left: 10px;
  font-size: small;
}

.sideBarText{
font-size:80%;
margin:0;
}

#pointSlider, #pointSizeSlider{
  width: 100%;
  margin: 0;
  padding: 0;
  height: 6px;
}

input[type="range"]{
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 6px;
  background: #cad1ca;
  border-radius: 999px;
  margin: 0;
  padding: 0;
  outline: none;

}

input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance: none;
  width:16px;
  height:16px;
  border-radius:50%;
   background:
    linear-gradient(
      135deg,
      rgba(18, 77, 216, 0.92) 10%,
      rgba(13, 61, 175, 0.92) 60%,
      rgba(6, 45, 135, 0.92) 100%
    ),
    rgba(6, 45, 135, 0.92);
  cursor:pointer;
}

#title{
  z-index: 30;
  position: absolute;
  top: 75px;
  left: 50%;
  transform:translateX(-50%);
  font-size: small;
  color: #ffffff;
  text-shadow: 1px 1.5px #00000059;
}

#coordinates{
  z-index: 30;
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform:translateX(-50%);
  font-size: smaller;
  color: #000000cf;
  border: none;
  border-radius: 14px;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.278);
  padding:8px;  
  border-radius: 15px;
  background-color: rgba(255, 255, 255, 0.751);
  backdrop-filter: blur(10px);
}

.sideBarButtons{
  font-family:monospace;
  border:none;
  border-radius:10px;
   background:
    linear-gradient(
      135deg,
      rgba(200, 200, 200, 0.221) 10%,
      rgba(79, 79, 79, 0.756) 60%,
      rgba(47, 47, 47, 0.864) 100%
    ),
    rgba(24,24,27,0.78);
  font-size:15px;
  color:#ffffff;
  box-shadow: 0 2px 10px rgba(0,0,0,0.08);
  cursor:pointer;
  transition:0.2s;
  z-index: 30;
}

#closeSideBarButton{
 align-self: flex-end;
  right: 0%;
  padding:5px 15px;
} 

#openSideBarButton{
position: absolute;
  left: 5px;
  padding:5px 15px;
}

.buttonRow{
  display: flex;
  width: 100%;
  border: none;
  border-radius: 10px;
  overflow:hidden;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.278);
  margin-bottom: 10px;
  }

.qualityButtons, .colorButtons{
  flex: 1;
  margin: 0;
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  border:none;
  background:rgba(255,255,255,0.92);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.278);
  font-size:12px;
  color:#0f172a;
  padding:5px;
  cursor:pointer;
  transition:0.2s;
}

.qualityButtons.active, .colorButtons.active{
    background:
    linear-gradient(
      135deg,
      rgba(18, 77, 216, 0.92) 10%,
      rgba(13, 61, 175, 0.92) 60%,
      rgba(6, 45, 135, 0.92) 100%
    ),
    rgba(6, 45, 135, 0.92);
    color: #ffffff;
}