:root {
	--button_color: #00b8b6;
	--button_color_2: #00b8b6;
	--button_color_hover: #02d0ce;
	--button_color_active: #00b8b6;
	--main-color: #00b8b6;
	/* Leuchtende Farbe */
	--laser-glow: rgba(0, 184, 182, 0.6);
	/* Gl�hen des Lasers */
	/* BUTTON SHINE */
	--shine-transition: all 0.65s ease-in-out;
	--shine-degree: 120deg;
	--shine-color: rgba(255, 255, 255, 0.4);
	--shine-effect: linear-gradient(var(--shine-degree), transparent, var(--shine-color), transparent);
}

body {
	min-height: 100%;
	overflow: hidden;
	left: 0;
	width: 100%;
	font-family: arial, Helvetica, vardana, sans-serif;
	color: #3e3e3e;
	font-weight: 300;
	padding: 0px;
	margin: 0px;
	background-color: black;
}

.transition{
	transition: all 0.5s cubic-bezier(0.49, 0.96, 0.47, 0.98);
	transition: all 0.5s cubic-bezier(0.49, 0.96, 0.47, 0.98);
    -ms-transition: 0.5s cubic-bezier(0.49, 0.96, 0.47, 0.98);
    -webkit-transition: 0.5s cubic-bezier(0.49, 0.96, 0.47, 0.98);
    -moz-transition: 0.5s cubic-bezier(0.49, 0.96, 0.47, 0.98);
    -o-transition: 0.5s cubic-bezier(0.49, 0.96, 0.47, 0.98);
}

#notification_tilt{
    opacity: 0;
    position: absolute;
    z-index: 1000;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
}

#notification_tilt_inner{
    padding: 73px;
    /* padding-top: 40px; */
    backdrop-filter: blur(10px);
    border-radius: 20px;
    background-color: rgba(0, 255, 255, 0.2);
    text-shadow: 0px 3px 10px rgba(0, 0, 0, .6);
    color: white;
    font-size: 16pt;
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    transition: all 0.3s ease, opacity 0.2s;
    scale: 0.5;
    opacity: 0;
}

#notification_tilt_inner.active{
	backdrop-filter: blur(10px);
	scale: 1;
    opacity: 1;
}

#notification_tilt.hidden{
    display: none;
}

#notification_tilt.active{
    display:flex;
    opacity:1;
}

#notification_tilt .message{
    color: white;
    font-size: 18pt;
    transition: all ease 0.3s;
    text-align:center;
}

#notification_tilt.active .message{
    padding-top: 0px;
}

#notification_tilt svg{
	position:relative;
    top: 25px;
    z-index: 999;
    color: white;
    transition: all ease 0.3s;
    filter: drop-shadow(3px 3px 10px rgba(0, 0, 0, .3));
}

#notification_tilt.active svg{
	top: -15px;
    z-index: 999;
    color: white;
}


take #status {
	color: white;
	position: absolute;
	border-radius: 100px;
	z-index: 9999999999 !important;
	left: 50%;
	transform: translateX(-50%);
	font-size: 15px;
	top: 30px;
	background: rgba(0, 0, 0, 0.5);
	padding: 20px;
	opacity: 1;
	transition: opacity 0.5s ease-out;
}

#distance {
	position: absolute;
	border-radius: 100px;
	z-index: 9999999999 !important;
	left: 50%;
	transform: translateX(-50%);
	font-size: 15px;
	top: 50px;
	background: rgba(255, 255, 255, 0.5);
	padding: 20px;
}

#XRButton, #markerButton {
	display: flex;
	top: 90%;
	left: 50% !important;
	transform: translate(-50%, -50%);
	position: absolute;
	padding: 15px;
	border: 0px solid rgb(255, 255, 255);
	border-radius: 100px;
	box-shadow: rgba(0, 0, 0, .2) 10px 25px 25px -18px;
	/* background: rgba(0, 0, 0, 0.5) !important; */
	background: #00b8b6;
	color: rgb(255, 255, 255);
	font: 15px sans-serif;
	text-align: center;
	opacity: 1;
	outline: none;
	z-index: 999;
	cursor: pointer;
	bottom: unset !important;
	text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.3);
	/* padding-bottom: 50px; */
	flex-direction: row;
	align-content: space-between;
	align-items: center;
	justify-content: space-between;
}

#markerButton {
	font-size:18pt;
}

#XRButton:active {
	background-color: #02d0ce;
}

#XRButton>svg {
	padding-bottom: 20px;
}

#marker_state_box {
	position: absolute;
	transform: translatex(-50%);
	top: 12px;
	left: 50%;
	z-index: 9999;
	text-align: center;
}

#marker_state {
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 10px;
	margin: 0 auto;
	margin-bottom: 10px;
}

#marker_state.on {
	background-color: green;
}

#marker_state.off {
	background-color: red;
}

#marker_state_label {
	color: white;
	/* background-color: rgba(0,0,0,0.3); */
	background-color: rgb(255 0 0 / 50%);
	border-radius: 20px;
	padding: 7px 10px 7px 10px;
}

#ar_live_image {
	transition: all 3s ease;
	-ms-transition: 3s ease;
	-webkit-transition: 3s ease;
	-moz-transition: 3s ease;
	-o-transition: 3s ease;
}

/* SCAN ANIMATION */
#scanner{
	z-index: 900;
	transform: translate(-50%, -50%);
	left: 50%;
	top: 50%;
	position: absolute;
	width: 300px;
	height: 300px;
	display: none;
}

#scanner_inner {
	width: 300px;
	height: 300px;
}

#scanner_btn_start {
	transform: translateX(-50%);
	left: 50%;
	margin: 0 auto;
	bottom: 50px;
	position: absolute;
	z-index: 99999;
}


.btn {
	position: relative;
	overflow: hidden;
}

.btn::before {
	content: "";
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	background: var(--shine-effect);
}

.btn-anim::before {
	-webkit-animation: shine 5s ease-in-out infinite;
	animation: shine 5s ease-in-out infinite;
}

@-webkit-keyframes shine {
	0% {
		left: -100%;
		transition-property: left;
	}

	11.5044247788%,
	100% {
		left: 100%;
		transition-property: left;
	}
}

@keyframes shine {
	0% {
		left: -100%;
		transition-property: left;
	}

	11.5044247788%,
	100% {
		left: 100%;
		transition-property: left;
	}
}

.corner {
	position: absolute;
	width: 20px;
	height: 20px;
	opacity: 1;
}


.top-left {
	top: 0;
	left: 0;
	border-left: 7px solid var(--main-color);
	border-top: 7px solid var(--main-color);
	border-radius: 7px;
}

.top-right {
	top: 0;
	right: 0;
	border-right: 7px solid var(--main-color);
	border-top: 7px solid var(--main-color);
	border-radius: 7px;
}

.bottom-left {
	bottom: 0;
	left: 0;
	border-left: 7px solid var(--main-color);
	border-bottom: 7px solid var(--main-color);
	border-radius: 7px;
}

.bottom-right {
	bottom: 0;
	right: 0;
	border-right: 7px solid var(--main-color);
	border-bottom: 7px solid var(--main-color);
	border-radius: 7px;
}

.scann-box {
	transform: translate(-50%, -50%);
	top: 50%;
	left: 50%;
	position: relative;
	width: 90%;
	height: 90%;
}

#scan-line {
	border-bottom: 1px solid var(--main-color);
	border-top: 1px solid var(--main-color);
	transform: translateX(-50%);
	left: 50%;
	position: absolute;
	display: none;
	/* top: 0; */
	/* left: 0; */
	border-radius: 10px;
	width: 100%;
	height: 1px;
	background: #bafffe;
	box-shadow: 0 0 18px 5px var(--laser-glow);
	animation: scanAnimation 1.5s cubic-bezier(0.54, 0, 0.5, 0.99) infinite alternate;
	transition: opacity 0.3s;
}

@keyframes scanAnimation {
	0% {
		top: 0;
	}

	100% {
		top: 100%;
	}
}

#wallInitPercent {
	transform: translateY(-50%);
	top: 90%;
	/*top:-27%;*/
	position: absolute;
	width: 100%;
	color: white;
	font-size: 25pt;
	text-align: center;
	font-weight: bold;
	text-shadow: 0px 4px 10px rgba(0, 0, 0, 0.5);
	display: none;
}

#scannerMessage {
	transform: translateY(-50%);
	top: 20%;
	position: absolute;
	width: 100%;
	color: white;
	font-size: 22pt;
	text-align: center;
	text-shadow: 0px 4px 10px rgba(0, 0, 0, 0.5);
}

/* END OF SCAN ANIMATION */


#rotateModeButton {
	border-radius: 10px;
	border: none;
	display: inline-block;
	height: 30px;
	width: 30px;
	position: absolute;
	top: 20px;
	right: 20px;
	padding: 5px;
	background-color: rgba(0, 0, 0, 0.75);
	z-index: 9999999;
	display: none;
	transition: all 0.3s ease;
}

#rotateModeButton.active {
	background: #00b8b6;
}

#saveRotationButton {
	transform: translateX(-50%);
	position: absolute;
	bottom: -100px;
	left: 50%;
	padding: 10px;
	background: rgba(0, 0, 0, 0.75);
	color: white;
	border: none;
	border-radius: 50px;
	cursor: pointer;
	font-size: 12pt;
	opacity: 0;
	/* transform: translateY(20px); */
	transition: all 0.3s ease-in-out, transform 0.3s ease-in-out;
}


#saveRotationButton.visible {
	opacity: 1;
	/* transform: translateY(0); */
	/* Endposition: Normal */
	bottom: 100px;
}


#hand_move_phone_svg {
	color: white;
}

#hand_move_phone_box {
	z-index: 900;
	top: 40%;
	position: absolute;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 300px;
	height: 200px;
	display: block;
	justify-content: center;
	align-items: center;
	padding: 25px;
	background-color: none;
	display: none;
	opacity: 0;
	transition: opacity 0.3 ease;
	text-align: center;
}

#hand_move_phone_inner{
	width: 300px;
	height: 200px;
	text-align: center;
}

#hand_move_phone_box span {
	position: relative;
	font-size: 22pt;
	color: white;
	text-shadow: 0px 0px 7px rgba(0, 0, 0, 0.5);
	top: 0px;
	text-align: center;
}

.hand_move_phone {
	position: relative;
    top: 10px;
	width: 200px;
	text-align: center;
	margin: 0 auto;
}

.hand_move_phone svg {
	position: relative;
	top: 0px;
	width: 180px;
	height: 180px;
	animation: randomScan 6s cubic-bezier(0.4, 0, 0.6, 1) infinite;
	/* Längere Dauer, geschmeidige Kurve */
	filter: drop-shadow(0 10px 10px rgba(0, 0, 0, 0.3));
	display: block;
	z-index: 2;
}

/* Container für die Hitpoints */
.points-container {
	transform: translate(-50%, -50%);
	left: 50%;
	position: absolute;
	top: 80%;
	left: 50%;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

/* Stil für die Hitpoints */
.hitpoint {
	position: absolute;
	width: 5px;
	height: 5px;
	background-color: #00b8b6;
	/* Grün, um Hitpoints zu simulieren */
	border-radius: 50%;
	/* Kreisförmig */
	opacity: 0;
	/* Start unsichtbar */
	animation: fadeInOut 3s ease-in-out infinite;
	/* Fade-Animation */
	transform: scale(0);
	/* Start klein */
}

/* Keyframes für Ein-/Ausfaden und Skalierung */
@keyframes fadeInOut {
	0% {
		opacity: 0;
		transform: scale(0);
	}

	50% {
		opacity: 0.8;
		transform: scale(1.5);
		/* Etwas größer für Sichtbarkeit */
	}

	100% {
		opacity: 0;
		transform: scale(0);
	}
}


@keyframes orbit {
	0% {
		transform: rotate(0deg) translateX(30px) rotate(0deg);
	}

	25% {
		transform: rotate(90deg) translateX(30px) rotate(-90deg);
	}

	50% {
		transform: rotate(180deg) translateX(30px) rotate(-180deg);
	}

	75% {
		transform: rotate(270deg) translateX(30px) rotate(-270deg);
	}

	100% {
		transform: rotate(360deg) translateX(30px) rotate(-360deg);
	}
}

/* Geschmeidige Keyframes für fließende Bewegung */
@keyframes randomScan {
	0% {
		transform: rotateY(-20deg) rotateX(5deg) translateX(0px) translateY(0px) translateZ(0px);
	}

	25% {
		transform: rotateY(15deg) rotateX(-10deg) translateX(30px) translateY(-15px) translateZ(15px);
	}

	50% {
		transform: rotateY(-10deg) rotateX(15deg) translateX(-20px) translateY(20px) translateZ(-10px);
	}

	75% {
		transform: rotateY(20deg) rotateX(-5deg) translateX(50px) translateY(40px) translateZ(20px);
	}

	100% {
		transform: rotateY(-20deg) rotateX(5deg) translateX(0px) translateY(0px) translateZ(0px);
	}
}

#noticeBoxNoWebXRSupport{
	margin: 0 auto;
    width: 80%;
    font-size: 16pt;
    color: white;
    position: relative;
    z-index: 99999;
    text-align: center;
    display: block;
    position: relative;
    font-size: 22pt;
    color: white;
    text-shadow: 0px 0px 7px rgba(0, 0, 0, 0.5);
    top: 30px;
    text-align: center;
    display:none;
}


#popup_marker_ar_outer{
	left: 0px;
    top: 0px;
    position: absolute;
    background-color: rgba(0, 0, 0, 0.75);
    display: none;
    z-index: 99999999;
    width: 100%;
    height: 100%;
}

#popup_marker_ar{
	z-index:999999999;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: rgba(255, 255, 255, .98);
    position: absolute;
    padding: 20px;
    border: 1px solid #efefef;
    width: 320px;
    max-width: 90%;
    text-align: left;
    border-radius: 15px;
    margin: 0 auto;
    box-shadow: rgba(0, 0, 0, .2) 10px 25px 25px -18px;
}

#popup_marker_ar h3 {
    margin: 20px 0px 15px 0px;
    font-size: 18pt;
    font-weight: normal;
    text-align: center;
}


.button {
	display: inline-flex;
	justify-content: center;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	margin-bottom: 25px;
	background-color: var(--button_color);
	width: auto;
	padding: 20px 30px 20px 30px;
	font-size: 16pt;
	color: white !important;
	text-decoration: none !important;
	cursor: pointer;
	font-weight: normal;
	white-space: nowrap;
	-webkit-box-shadow: 0px 3px 19px -10px rgba(0, 0, 0, 0.66);
	-moz-box-shadow: 0px 3px 19px -10px rgba(0, 0, 0, 0.66);
	box-shadow: 0px 3px 19px -10px rgba(0, 0, 0, 0.66);
	/* border: 1px solid #45d9d7; */
	border-radius: 100px;
	text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.3);
	border: none;
	margin: 0 auto;
}

.button:hover {
	background-color: var(--button_color_hover);
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
	text-shadow: 0px 1px 4px rgba(0, 0, 0, 0.3);
}

.button:active {
	background-color: var(--button_color_active);
	-webkit-box-shadow: inset 0px 1px 7px -3px rgba(0, 0, 0, 0.66);
	-moz-box-shadow: inset 0px 1px 7px -3px rgba(0, 0, 0, 0.66);
	box-shadow: inset 0px 1px 7px -3px rgba(0, 0, 0, 0.66);
}

.button-55 {
	box-shadow: rgba(0, 0, 0, .2) 10px 25px 25px -18px;
	box-sizing: border-box;
	transition: all 100ms ease-in-out;
	user-select: none;
	-webkit-user-select: none;
	touch-action: manipulation;
}

.button-55:hover {
	box-shadow: rgba(0, 0, 0, .3) 2px 2px 5px -5px;
	transform: translate3d(0, 2px, 0);
}

.button-55:focus {
	box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;
}




.circular-progress {
  --size: 250px;
  --half-size: calc(var(--size) / 2);
  --stroke-width: 20px;
  --radius: calc((var(--size) - var(--stroke-width)) / 2);
  --circumference: calc(var(--radius) * pi * 2);
  --dash: calc((var(--progress) * var(--circumference)) / 100);
  animation: progress-animation 5s linear 0s 1 forwards;
}

.circular-progress circle {
  cx: var(--half-size);
  cy: var(--half-size);
  r: var(--radius);
  stroke-width: var(--stroke-width);
  fill: none;
  stroke-linecap: round;
}

.circular-progress circle.bg {
  stroke: #ddd;
}

.circular-progress circle.fg {
  transform: rotate(-90deg);
  transform-origin: var(--half-size) var(--half-size);
  stroke-dasharray: var(--dash) calc(var(--circumference) - var(--dash));
  transition: stroke-dasharray 0.3s linear 0s;
  stroke: #5394fd;
}

@property --progress {
  syntax: "<number>";
  inherits: false;
  initial-value: 0;
}

/*
@keyframes progress-animation {
  from {
    --progress: 0;
  }
  to {
    --progress: 100;
  }
}
*/
  
  
  #loading_progress_box{
    transition: all 0.5s ease;
    opacity: 0;
    position: absolute;
    z-index: 999999;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: space-around;
    justify-content: center;
    align-items: center;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display:none;
  }
  
  #loading_progress_box.active{
    opacity: 1;
    display:flex;
  }
  
  #percentage{
    margin: 0px;
    height: 0px;
    top: -160px;
    text-align: center;
    text-shadow: 0px 6px 6px rgba(0, 0, 0, 0.2);
    color: white;
    position: relative;
    /* left: -219px; */
    font-weight: bold;
    font-size: 35pt;
  }

  
  
