583 lines
10 KiB
CSS
583 lines
10 KiB
CSS
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: 20px;
|
|
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: 10;
|
|
top: 110px;
|
|
right: 10px;
|
|
width: 29px;
|
|
height: 29px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background-color: #f8f9fa;
|
|
border: none !important;
|
|
border-radius: 4px;
|
|
box-shadow:
|
|
0 0 0 2px rgba(0, 0, 0, 0.1),
|
|
0 4px 6px rgba(0, 0, 0, 0.05);
|
|
cursor: pointer;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
#location-button:hover {
|
|
background-color: #f4f4f4;
|
|
}
|
|
|
|
#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: 210px;
|
|
padding: 22px;
|
|
padding-bottom: 10px;
|
|
padding-top: 10px;
|
|
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;
|
|
font-size: 14px;
|
|
font-weight: 500;
|
|
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: white;
|
|
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.278);
|
|
cursor: pointer;
|
|
transition: 0.2s;
|
|
margin-top: 8px;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
#disable.active-state {
|
|
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: white;
|
|
}
|
|
|
|
#disable.inactive-state {
|
|
background: rgba(255, 255, 255, 0.92);
|
|
color: #0f172a;
|
|
}
|
|
|
|
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;
|
|
margin-bottom: -2px;
|
|
}
|
|
|
|
#pointSizeSlider {
|
|
width: 100%;
|
|
margin: 0;
|
|
padding: 0;
|
|
height: 6px;
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
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;
|
|
}
|
|
|
|
.slider-labels {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
font-size: 0.5rem;
|
|
color: #868686;
|
|
margin-bottom: 0px;
|
|
margin-top: -5px;
|
|
}
|
|
|
|
#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;
|
|
}
|
|
|
|
#potree_render_area {
|
|
pointer-events: none;
|
|
}
|
|
|
|
#info-button-outer {
|
|
position: absolute;
|
|
top: 50%;
|
|
right: 20px;
|
|
transform: translateY(-50%);
|
|
z-index: 30;
|
|
}
|
|
#rendererToggle {
|
|
width: 100%;
|
|
padding: 10px 16px;
|
|
border: none;
|
|
border-radius: 14px;
|
|
font-size: 13px;
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.278);
|
|
transition: 0.2s;
|
|
}
|
|
|
|
#rendererToggle[data-active="deckgl"] {
|
|
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%
|
|
);
|
|
color: #ffffff;
|
|
}
|
|
|
|
#rendererToggle[data-active="potree"] {
|
|
background: linear-gradient(
|
|
135deg,
|
|
rgba(22, 163, 74, 0.92) 10%,
|
|
rgba(15, 118, 54, 0.92) 60%,
|
|
rgba(6, 78, 32, 0.92) 100%
|
|
);
|
|
color: #ffffff;
|
|
}
|
|
|
|
#rendererToggle:hover {
|
|
transform: translateY(-1px);
|
|
box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
|
|
}
|
|
|
|
#rendererIcon {
|
|
font-size: 16px;
|
|
}
|
|
|
|
#openInfoPanel {
|
|
margin-top: 12px;
|
|
border: none;
|
|
border-radius: 14px;
|
|
width: 100%;
|
|
padding: 10px 16px;
|
|
font-size: 14px;
|
|
font-weight: 500;
|
|
cursor: pointer;
|
|
background: rgba(255, 255, 255, 0.9);
|
|
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.278);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 8px;
|
|
color: #1e293b;
|
|
}
|
|
|
|
#openInfoPanel:hover {
|
|
background: rgb(233, 232, 232);
|
|
transform: translateY(-1px);
|
|
}
|
|
|
|
#openInfoPanel img {
|
|
width: 16px;
|
|
height: 16px;
|
|
object-fit: contain;
|
|
}
|
|
|
|
#info-panel {
|
|
display: none;
|
|
position: absolute;
|
|
top: 48%;
|
|
right: 20px;
|
|
transform: translateY(-50%);
|
|
width: 340px;
|
|
padding: 18px 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: none;
|
|
flex-direction: column;
|
|
gap: 0;
|
|
}
|
|
|
|
#info-panel.open {
|
|
display: flex;
|
|
}
|
|
|
|
#closeInfoPanel {
|
|
align-self: flex-start;
|
|
padding: 5px 15px;
|
|
margin-bottom: 14px;
|
|
}
|
|
|
|
#info-panel-title {
|
|
margin: 0 0 14px 0;
|
|
font-size: 14px;
|
|
font-weight: 600;
|
|
color: #0f172a;
|
|
}
|
|
|
|
#info-panel-image {
|
|
width: 100%;
|
|
border-radius: 12px;
|
|
object-fit: cover;
|
|
max-height: 220px;
|
|
margin-bottom: 14px;
|
|
}
|
|
|
|
#info-image-nav {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
width: 100%;
|
|
margin-bottom: 14px;
|
|
}
|
|
|
|
#info-panel-text {
|
|
margin: 0;
|
|
font-size: 13px;
|
|
line-height: 1.6;
|
|
color: #1e293b;
|
|
}
|
|
|
|
#info-img-prev,
|
|
#info-img-next {
|
|
border: none;
|
|
background: rgba(255, 255, 255, 0.9);
|
|
border-radius: 8px;
|
|
padding: 4px 10px;
|
|
cursor: pointer;
|
|
font-size: 16px;
|
|
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
|
|
}
|
|
|
|
#info-img-prev:hover,
|
|
#info-img-next:hover {
|
|
background: rgb(233, 232, 232);
|
|
}
|
|
|
|
#info-image-counter {
|
|
font-size: 12px;
|
|
color: #555;
|
|
}
|
|
|
|
.lidar-control-icon {
|
|
display: none !important;
|
|
}
|
|
|
|
.maplibregl-ctrl:has(.lidar-control-icon),
|
|
.maplibregl-ctrl-group:has(.lidar-control-icon),
|
|
button:has(.lidar-control-icon) {
|
|
display: none !important;
|
|
visibility: hidden !important;
|
|
width: 0px !important;
|
|
height: 0px !important;
|
|
margin: 0 !important;
|
|
padding: 0 !important;
|
|
border: none !important;
|
|
}
|