Files
Projekt-Visualisierung/style.css
T

508 lines
8.6 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: 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: 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;
}
#pointSlider, #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;
}
#openInfoPanel {
margin-top: 12px;
border: none;
border-radius: 14px;
width: auto;
padding: 10px 16px;
font-size: 17px;
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);
}
#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;
}