@import url("notyf.min.css");
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;500');

html {
	font-family: 'Lato', sans-serif;
}

* {
	padding: 0;
	margin: 0;
}

body {
	font-family: 'Lato', sans-serif;
	background-color: #C4C4C4;
	color: #283237;
	padding: 0;
	margin: 0;
}

/* viewer mode AR overlay */
#viewer-mode-ar-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	pointer-events: none;
	z-index: 1000;
}

#viewer-mode-ar-overlay-exit-button {
	position: fixed;
	bottom: 20px;
	left: 20px;
	padding: 12px 20px;
	background: rgba(255, 0, 0, 0.8);
	color: white;
	border: none;
	border-radius: 8px;
	font-size: 16px;
	font-weight: 500;
	cursor: pointer;
	backdrop-filter: blur(10px);
	transition: all 0.2s ease;
	pointer-events: auto;
	z-index: 1001;
}

#viewer-mode-ar-overlay-exit-button:hover {
	background: rgba(255, 0, 0, 0.9);
	transform: scale(1.05);
}

#react-ar-controls {
	pointer-events: auto;
}

/* maps copyright notice */
#map-data-attribution {
	position: absolute;
	bottom: 0;
	left: 0;
	font-size: 12px;
	background-color: rgba(0, 0, 0, 0.3);
	color: #bebebe;
	z-index: 1;
}

#map-logo {
	display: inline;
	font-style: normal;
	font-size: 12px;
	color: #bebebe;
}

#map-copyright {
	display: inline-block;
	line-height: 12px;
	color: #bebebe;

}

/* notification hack */
.notyf__message {
	font-size: 20px !important;
}

/* notification width hack */
.notyf__toast {
	max-width: 66.66vw !important;
	/* 2/3rds of viewport width */
	width: auto !important;
	/* Resetting any specific width, if set */
}


/* editor geomodal styles - google places autocomplete input styling
 * this needs to be in global css, didn't work as part of geomodal scss
 */
.pac-container {
	background-color: #282828 !important;
	color: #ffffff !important;
}

.pac-item {
	color: #ffffff !important;
	border-top: 1px solid #333 !important;
}

.pac-item:hover {
	background-color: #714FE5
}

.pac-item-query {
	color: #ffffff !important;
}

/********* viewer mode UI *********/
#viewer-mode-ui {
	display: none;
}

/********* viewer mode AR play button *********/
#viewer-mode-ar-play-button {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 18vh;
	height: 18vh;
	background-color: #000000;
	border-radius: 50%;
	cursor: pointer;
	transition: background-color 0.3s ease;
	z-index: 999999;
	display: none;
}

#viewer-mode-ar-play-button::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-40%, -50%);
	border-style: solid;
	border-width: 5vh 0 5vh 8vh;
	border-color: transparent transparent transparent #aaaaaa;
}

#viewer-mode-ar-play-button:hover {
	background-color: #333333;
}

/********* viewer mode AR WebXR not supported message *********/
#viewer-mode-ar-webxr-not-supported {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	padding: 2rem 3rem;
	background-color: rgba(0, 0, 0, 0.7);
	backdrop-filter: blur(5px);
	border-radius: 10px;
	color: white;
	font-size: 2rem;
	font-weight: 500;
	text-align: center;
	z-index: 999999;
	max-width: 80%;
	box-shadow: 0 4px 30px rgba(0, 0, 0, 0.2);
	border: 1px solid rgba(255, 255, 255, 0.1);
}

/********* viewer mode locomotion controls *********/
#viewer-mode-locomotion-controls {
	display: none;
	position: fixed;
	bottom: 20px;
	left: 20px;
	z-index: 999999;
}

.controls-container {
	background-color: rgba(0, 0, 0, 0.7);
	backdrop-filter: blur(5px);
	border-radius: 10px;
	color: white;
	padding: 12px 16px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
	border: 1px solid rgba(255, 255, 255, 0.1);
}

.controls-title {
	font-size: 16px;
	font-weight: 500;
	margin-bottom: 8px;
	text-align: center;
}

.controls-item {
	font-size: 14px;
	margin-bottom: 6px;
}

.controls-item:last-child {
	margin-bottom: 0;
}

.key-group {
	background-color: rgba(255, 255, 255, 0.2);
	padding: 2px 6px;
	border-radius: 4px;
	font-family: monospace;
	font-weight: bold;
}

/********* right menu css *********/

.right-fixed {
	position: fixed;
	right: 0;
	margin-top: 22.5vh;
	z-index: 1;
}

body.aframe-inspector-opened .right-fixed {
	display: none;
}

.right-menu {
	padding-left: 0;
	text-align: right;
}

.right-menu li {
	list-style: none;
	margin-right: 0;
	position: relative;
}

.right-menu li a {
	background: rgba(50, 50, 50, 0.5);
	padding: 0;
	list-style: none;
	margin: 10px 0;
	border-radius: 12px 0 0 12px;
	display: inline-flex;
	font-size: 18px;
	align-items: center;
	transition: all .4s ease-in-out 0s;
}

.right-menu li a:hover {
	background: #6100FF;
	transition: all .4s ease-in-out 0s;
}

.right-menu li a span {
	margin-left: 16px;
	transition: all .4s ease-in-out 0s;
	text-align: left;
	width: 200px;
	letter-spacing: .5;
	margin-right: -270px;
	padding-left: 60px;
	color: rgba(50, 50, 50, 0.5);
}

.right-menu li a:hover span {
	margin-right: 0;
	padding-left: 0;
	color: #fff;
}

.right-menu li a {
	color: #fff;
	text-decoration: none;
}

.right-menu li a img {
	vertical-align: middle;
	width: 32px;
	height: 32px;
	z-index: 999;
	padding: 16px;
}

.right-menu li a:hover img {
	background: #6100FF;
	z-index: 9999;
}

/********* scene title css *********/

#sceneTitle {
	position: fixed;
	color: white;
	font-size: 20px;
	font-family: Lato;
	font-weight: 400;
	word-wrap: break-word;
	bottom: 43px;
	pointer-events: none;
	z-index: 2;
	width: 100%;
	text-align: center;
	height: 26px;
	overflow: hidden;
	text-overflow: ellipsis;
}

body.aframe-inspector-opened #sceneTitle {
	display: none;
}

/********* Loading Animation Styles *********/
.loader__wrapper {
	width: 100vw;
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
}

.loader {
	position: relative;
	z-index: 999999;
}
.road {
	width: 320px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 12px;
	/* Remove the solid border and replace with animated background */
	border-top: none;
	background: repeating-linear-gradient(
			90deg,
			#6100FF 0px,
			#ae7cff 320px,
			transparent 0px,
			transparent 320px
	);
	background-size: 200% 4px;
	background-repeat: repeat-x;
	background-position: top;
	animation: moveStripes 1s linear infinite;
	color: #fff;
	font-weight: normal;
}

@keyframes moveStripes {
	0% {
			background-position: 0 0;
	}
	100% {
			background-position: 320px 0;
	}
}