* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-ms-text-size-adjust: none;
	-moz-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
	-webkit-user-drag: none;
	-webkit-touch-callout: none;
	-ms-content-zooming: none;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	border-radius: inherit;
}

html, body {
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	overflow: hidden;
	/* font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; */
	font-size: 16px;
	background-color: #000;
	background-color: var(--main-body-color-background);
	color: black;
	color: var(--main-font-color);
}

a, a:hover, a:active, a:visited {
	text-decoration: none;
	color: inherit;
}

h1, h2, h3, h4
{
	color: black;
    color: var(--main-font-color);
}

h1
{
	font-size: 100%;
	padding-bottom: 20px;
}

h2
{
	font-size: 200%;
	padding: 20px 0px;
	font-weight: bold;
}

h3
{
    font-size: 150%;
	padding-top: 40px;
	font-weight: bold;
}

h4
{
    font-size: 125%;
	padding: 10px 0px;
	font-weight: bold;
}
	
textarea
{
	width: 100%;
	max-width: 100%;
	min-width: 100%;
	row: 5;
}

span
{
	padding: 10px 0px;
}

button
{
    background-color: white;
    background-color: var(--main-ui-color-background);
	
    color: black;
    color: var(--main-font-color);
	
    border: none;
    outline: none;
    cursor: pointer;
    font-size: 100%;
    width: 125px;
	
    height: 35px;
    height: var(--main-ui-button-size);
}

iframe
{
	margin: 0px;
    padding: 0px;
    border: none;
}

.hidden
{
	visibility: hidden !important;
    opacity: 0 !important;
}

.addBorder
{
	outline: none !important; /*Textarea outline*/
	
	border: 1px solid black;
	border: 1px solid var(--main-ui-color-border);
}

.position-centre
{
	display: block;
	margin: 0px auto;
}

.position-bottom
{
	padding-bottom: 20px;
	bottom: 0;
}

.position-left
{
	padding-left: 20px;
	left: 0;
}

.position-right
{
	padding-right: 20px;
	right: 0;
}

.alignRow
{	
	display: flex;
    padding-top: 20px;
}	

.container-flex-horizontal
{
	display: flex;
    flex-direction: row;
    justify-content: space-between;
    height: 50px;
}

.customFontColor1
{
	color: white;
	color: var(--main-font2-color);
}

.noOverflow
{
	overflow: hidden !important;
}

/* Slider - Start ========================================================================*/
/* =======================================================================================*/
.slidecontainer {
	width: 100%; /* Width of the outside container */
}

/* The slider itself */
.slider {
	-webkit-appearance: none;  /* Override default CSS styles */
	appearance: none;
	width: 100%; /* Full-width */
	height: 5px; /* Specified height */
	
	background: black); /* Grey background */
	background: var(--main-ui-color-border); /* Grey background */
	
	outline: none; /* Remove outline */
}

/* Mouse-over effects */
.slider:hover {
	background: lightgray;
	background: var(--main-ui-color-highlighted);
}

/* The slider handle (use -webkit- (Chrome, Opera, Safari, Edge) and -moz- (Firefox) to override default look) */
.slider::-webkit-slider-thumb {
	-webkit-appearance: none; /* Override default look */
	appearance: none;
	width: 25px; /* Set a specific slider handle width */
	height: 25px; /* Slider handle height */
	
	background: gray;
	background: var(--main-ui-color-selected);
	
	cursor: pointer; /* Cursor on hover */
}

.slider::-moz-range-thumb {
	width: 25px; /* Set a specific slider handle width */
	height: 25px; /* Slider handle height */
	background: gray;
	background: var(--main-ui-color-selected);
	cursor: pointer; /* Cursor on hover */
}
/* Slider - End ==========================================================================*/
/* =======================================================================================*/

#logo3DW, #logoClient, #logoLanguage
{
	display: block;
	position: absolute;
	width: auto;
	height: 80px;
	margin: 10px;
}

.mobile #logo3DW, .mobile #logoClient, .mobile #logoLanguage
{
	height: 50px;
	width: auto;
}

#logo3DW img, #logoClient img, #logoLanguage img
{
	height: 100%;
}

#logo3DW
{
	right: 0px;
	bottom: 0px;
	opacity: 0.3;
}

#logo3DW:hover
{
	opacity: 1;
}

#logoClient
{
	top: 0px;
	left: 0px;
}

#logoLanguage
{
	top: 40px;
	right: 0px;
	height: 60px;
}

#pano
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

#menuContainer
{
	display: flex;
	position: absolute;
	right: 0px;
	top: 0px;
}

.uiButton
{
	display: block;
	position: relative;
	top: 0;
	right: 0;
	width: 40px;
	height: 40px;
	border: 5px solid transparent;
	overflow: hidden;
	background-color: white;
	background-color: var(--main-ui-color-background);
	cursor: pointer;
}

.uiButton:hover, .popupClose:hover, .popupPrint:hover, .popupDownload:hover, #chatClose:hover, button:hover, #chatOpen:hover
{
	background-color: lightgray !important;
	background-color: var(--main-ui-color-highlighted) !important;
}

.icon {
	width: 100%;
	height: auto;
	position: relative;
}

#fullscreenToggle .icon.on {
	display: none;
}

#fullscreenToggle .icon.off {
	display: block;
}

#fullscreenToggle.enabled .icon.on {
	display: block;
}

#fullscreenToggle.enabled .icon.off {
	display: none;
}

#autorotateToggle .icon.on {
	display: none;
}

#autorotateToggle .icon.off {
	display: block;
}

#autorotateToggle.enabled .icon.on {
	display: block;
}

#autorotateToggle.enabled .icon.off {
	display: none;
}

/* Hotspots - ============================================================================*/
/* =======================================================================================*/

.info-hotspot-wrapper,
.link-hotspot-wrapper
{
	pointer-events: none;
}

.info-hotspot-wrapper:hover,
.link-hotspot-wrapper:hover
{
	z-index: 1;
}

.info-hotspot,
.link-hotspot
{
	display: block;
    height: auto;
    width: -webkit-max-content;
    -webkit-transform: translate(-50%, -100%);
	-ms-transform: translate(-50%, -100%);
    transform: translate(-50%, -100%);
	cursor: pointer;
	pointer-events: auto;
}

.info-hotspot:hover,
.link-hotspot:hover
{
	position: relative;
	z-index: 1;
}

.info-hotspot-icon-wrapper,
.link-hotspot-icon-wrapper
{
	top: 0;
    width: 40px;
    width: var(--main-ui-hotspot-size);
    height: 30px;
    height: var(--main-ui-hotspot-size);
    border-radius: calc(40px / 2);
    border-radius: calc(var(--main-ui-hotspot-size) / 2);
    margin: auto;
    border: 10px solid transparent;
    overflow: hidden;
    background-color: white;
    background-color: var(--main-ui-color-background);
    -webkit-transition: background-color 0.3s;
    transition: background-color 0.3s;
	
}

.mobile .info-hotspot-icon-wrapper,
.mobile .link-hotspot-icon-wrapper
{
	width: 40px;
	width: calc(var(--main-ui-hotspot-size) - 10px);
    height: 40px;
    height: calc(var(--main-ui-hotspot-size) - 10px);
    border-radius: calc(40px / 2);
    border-radius: calc(var(--main-ui-hotspot-size) / 2);
	border: 5px solid transparent;
}

.info-hotspot-icon,
.link-hotspot-icon
{
	width: 20px;
	width: calc(var(--main-ui-hotspot-size) - 20px);
	height: auto;
	position: relative;
}

.link-hotspot-tooltip,
.link-hotspot-title,
.info-hotspot-tooltip,
.info-hotspot-title
 {
	/* width: fit-content; */
	/* min-height: 30px; */
    /* top: calc(-100% - 10px); */
	line-height: 20px;
	/* line-height: var(--main-ui-hotspot-size); */
	margin-bottom: 5px;
	font-size: 16px;
	padding: 10px;
	border-radius: 10px;
	background-color: white;
	background-color: var(--main-ui-color-background);
	color: black;
	color: var(--main-font-color);
	/* white-space: nowrap; */
	/* text-overflow: ellipsis; */
	text-align: center;
	overflow: hidden;
	cursor: pointer;
	opacity: 0;

	-webkit-transition: -ms-transform 0.3s,
					  -webkit-transform 0.3s,
					  transform 0.3s,
					  opacity 0.3s;
	transition: -ms-transform 0.3s,
			  -webkit-transform 0.3s,
			  transform 0.3s,
			  opacity 0.3s;
}

/* Prevent title and tooltip from triggering */
.link-hotspot-tooltip,
.link-hotspot-title,
.info-hotspot-tooltip,
.info-hotspot-title 
{
	pointer-events: none;
}

.mobile .info-hotspot-tooltip,
.mobile .info-hotspot-title,
.mobile .link-hotspot-tooltip,
.mobile .link-hotspot-title
{
	opacity: 1;
    padding: 5px;
	min-width: 155px;
    max-width: 210px;
    width: min-content;
}

.link-hotspot:hover .link-hotspot-icon-wrapper,
.link-hotspot:hover .link-hotspot-tooltip,
.link-hotspot:hover .link-hotspot-title,
.info-hotspot:hover .info-hotspot-icon-wrapper,
.info-hotspot:hover .info-hotspot-tooltip,
.info-hotspot:hover .info-hotspot-title
{
	background-color: grey;
	background-color: var(--main-ui-color-highlighted);
	z-index: 1000;
}

.link-hotspot:hover .link-hotspot-tooltip,
.link-hotspot:hover .link-hotspot-title,
.info-hotspot:hover .info-hotspot-tooltip,
.info-hotspot:hover .info-hotspot-title
{
	opacity: 1;
	-ms-transform: translate(0, -10px);
	-webkit-transform: translate(0, -10px);
    transform: translate(0, -10px);
}

.hotspotOffsetUp
{
	top: -40px;
	top: calc(var(--main-ui-hotspot-size)* -0.5);
}

.showTitle
{
	opacity: 1;
	/* min-width: 155px; */
    max-width: 210px;
    width: min-content;
}

.hotspotMap
{
	position: absolute;
	top: 0px;
	width: 40px;
    width: var(--main-ui-hotspot-size);
    height: 40px;
    height: var(--main-ui-hotspot-size);
	top: -20px;
	top: calc(var(--main-ui-hotspot-size) / -2);
	left: -20px;
    left: calc(var(--main-ui-hotspot-size) / -2);
}

.hotspotMap a
{
    -webkit-transform: translate(0, 0);
	-ms-transform: translate(0, 0);
    transform: translate(0, 0);
	width: 100%;
    height: 100%;
	width: 40px;
    width: var(--main-ui-hotspot-size);
    height: 40px;
    height: var(--main-ui-hotspot-size);
}

/*Floating - Feedback ====================================================================*/
/*========================================================================================*/
.floating
{
	position: absolute;
	display: block;
    height: auto;
    width: -webkit-max-content;
    cursor: pointer;
}

.floating h1
{
	opacity: 1;
	padding: 20px;
}

.floating:hover h1
{
	background-color: var(--main-ui-color-highlighted);
}
/*========================================================================================*/
/*========================================================================================*/

/*Tab - Video Chat =======================================================================*/
/*========================================================================================*/
#chat
{
	position: absolute;
    bottom: 0px;
	right: 0px;
}
#chatOpen
{
	position: absolute;
    width: auto;
    background-color: white;
    margin: 10px 20px;
    bottom: 0px;
    padding: 14px;
    border-radius: 20px;
    cursor: pointer;
	right: 0px;
}

#chatOpen h1
{
	padding: 0px;
	margin: 0px;
}

#chatContent
{
	position: relative;
    width: 300px;
    height: auto;
    /* bottom: 60px; */
    background-color: white;
	background-color: var(--main-ui-color-background);
	border-radius: 10px;
    left: 0;
	border-radius: 10px;
	overflow: hidden;
	cursor: auto;
	margin: 10px 20px;
	
	-webkit-transition: -ms-transform 0.4s,
					  -webkit-transform 0.4s,
					  transform 0.4s,
					  visibility 0.4s,
					  opacity 0.4s;
	transition: -ms-transform 0.4s,
			  -webkit-transform 0.4s,
			  transform 0.4s,
			  visibility 0.4s,
			  opacity 0.4s;
}

#chatContentHeader
{
	background-color: lightgray;
    background-color: var(--main-ui-color-background);
	height: 40px;
    border-radius: 0px;

	border-bottom: 1px solid black;
	border-bottom: 1px solid var(--main-ui-color-border);
}

#chatContentHeader span
{
	display: block;
	width: 100%;
	text-align: center;
	font-size: 120%
}

#chatClose
{
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    margin: 10px 10px 0px 0px;
    width: 20px;
    height: 20px;
    height: 20px;
    order: 5px solid transparent;
    overflow: hidden;
}

#chatClose img
{
	width: 100%;
}

#chatContentBody
{
	padding: 10px;
}

#chatContentBody span
{
	display: block;
	margin: 10px 0px;
}

#chatGoToVideo
{
	float: right;
	margin: 10px;
    padding: 10px;
}

.hideChatContent
{
	visibility:hidden;
	opacity: 0;
	transform: translateY(50px);


	-webkit-transition: -ms-transform 0.4s,
					  -webkit-transform 0.4s,
					  transform 0.4s,
					  visibility 0.4s,
					  opacity 0.4s;
	transition: -ms-transform 0.4s,
			  -webkit-transform 0.4s,
			  transform 0.4s,
			  visibility 0.4s,
			  opacity 0.4s;
}
/*========================================================================================*/
/*========================================================================================*/

/*Popups =================================================================================*/
/*========================================================================================*/
.popupContainer
{
	position: absolute;
	display: flex;
    width: 100%;
    height: 100%;
    background-color: #1e1e1ed1;
}

.popup
{
	background-attachment: scroll;
	background-size: cover;
    position: relative;
	padding: 0px;
	/* width: 745px; */
	width: 60%;
	max-height: 100%;
	min-height: auto;
    margin: auto;
    background-color: white;
    background-color: var(--main-ui-color-background);
	overflow-y: auto;
}

.popupClose, .popupPrint, .popupDownload
{
	display: block;
    position: absolute;
    top: 0;
    right: 0;
	margin: 5px 5px 0px 0px;
    width: 40px;
    height: 40px;
    border: 5px solid transparent;
    overflow: hidden;
    background-color: white;
    background-color: var(--main-ui-color-background);
	cursor: pointer;
}

.popupClose img, .popupPrint img, .popupDownload img
{
	width: 100%;
}

.popupPrint, .popupDownload
{
    left: 0;
	margin: 5px 0px 0px 5px;
}
/*========================================================================================*/
/*========================================================================================*/

/*Tab - PDF Viewer =======================================================================*/
/*========================================================================================*/
#pdfViewerContainer
{
	position: absolute;
    width: 100%;
    height: 100%;
    background-color: #1e1e1ee6;
	opacity: 1;
	visibility: visible;
	-webkit-transition: opacity 0.3s, visibility 0.3s;
	transition: opacity 0.3s, visibility 0.3s;
}

#pdfViewer
{
	width: 50%;
    height: 100%;
    margin: auto;
    position: relative;
    padding: 20px;
    background-color: white;
    background-color: var(--main-ui-color-background);
}

#popupPDF
{
	padding-top: 50px !important;
	height: 100%;
	background-color: #f5f5f5;
}
/*========================================================================================*/
/*========================================================================================*/

/*Tab - Feedback =========================================================================*/
/*========================================================================================*/
#feedbackForm
{
	position: absolute;
    width: 100%;
    height: 100%;
    background-color: #1e1e1ee6;
	opacity: 1;
	visibility: visible;
	-webkit-transition: opacity 0.3s, visibility 0.3s;
	transition: opacity 0.3s, visibility 0.3s;
}

#formFeedback
{
	width: 50%;
    height: 100%;
    margin: auto;
    position: relative;
    overflow-y: auto;
    /* padding: 20px; */
    background-color: white;
    background-color: var(--main-ui-color-background);
}

.formLabel
{
	padding: 40px 0px 10px 0px;
    display: block;
}

.formRadioContainer input[type="radio"] {
	display: none;
}

.formRadioContainer label {
    background-color: white;
    background-color: var(--main-ui-color-background);
    cursor: pointer;
    height: 100%;
	color: black;
	color: var(--main-font-color);
    line-height: 50px;
    text-align: center;
	margin: 0px;
}

.numberRadio2 label{
	width: 49%;
}

.numberRadio3 label{
	width: 32%;
}

.formRadioContainer label:hover {
    background-color: lightgray;
    background-color: var(--main-ui-color-highlighted);
}

.formRadioContainer input[type="radio"]:checked+label {
	background-color: gray;
	background-color: var(--main-ui-color-selected);
}

.formRadioContainer input[type="radio"]:unchecked+label {
	background-color: white;
	background-color: var(--main-ui-color-background);
}

.alignRow span
{
	height: 35px;
	height: var(--main-ui-button-size);
    line-height: 35px;
    line-height: var(--main-ui-button-size);
	/* width: 100px; */
    padding: 0px;
    margin-right: 20px;
	min-width: 80px;
}

.alignRow input
{
	height: 35px;
	height: var(--main-ui-button-size);
	/* box-sizing: border-box; */
    padding-left: 10px;
    flex-grow: 100;
}

.alignRow select
{
	height: 35px;
	height: var(--main-ui-button-size);
	box-sizing: border-box;
    padding-left: 10px;
    flex-grow: 100;
}

.collapsible
{
	margin-top: 40px;
	width: 100%;
}

.collapsible:hover
{
    background-color: lightgray;
    background-color: var(--main-ui-color-highlighted);
}

.showContent > .collapsible:hover {
    background-color: gray;
    background-color: var(--main-ui-color-selected);
}

.collapsible:after
{
	content: '\02795'; /* Unicode character for "plus" sign (+) */
	font-size: 13px;
	float: right;
	margin-left: 5px;
}

.content
{
	padding: 5px;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s ease-out;
	border: none;
}

.showContent.content
{
	border: 1px solid black;
	border: 1px solid var(--main-ui-color-border);
}

.showContent:after
{
	content: "\2796"; /* Unicode character for "minus" sign (-) */
}
/*========================================================================================*/
/*========================================================================================*/

/*########################################################################################*/
/*Scrollbar - Start ======================================================================*/
/*========================================================================================*/

/* width */
::-webkit-scrollbar {
	width: 10px;
	height: 10px;
}

/* Track */
::-webkit-scrollbar-track {
	background: white; 
	background: var(--main-body-color-background);
}

/* Handle */
::-webkit-scrollbar-thumb {
	background: gray; 
	background: var(--main-ui-color-selected); 
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
	background: lightgray; 
	background: var(--main-ui-color-highlighted); 
	cursor: pointer;
}
/*Scrollbar - End ========================================================================*/
/*========================================================================================*/
/*########################################################################################*/

/*########################################################################################*/
/*Print Media - Start ====================================================================*/
/*========================================================================================*/
@media print
{
	body.print-element *:not(.print) {
		display: none;
	}
}
/*Print Media - End ======================================================================*/
/*========================================================================================*/
/*########################################################################################*/

@media only screen and (max-width: 90em) /*(max-width: 650px)*/
{
	#formFeedback, #pdfViewer, #meetTheTeam, .popup
	{
		width: 75%;
	}
}

@media only screen and (max-width: 60em) /*(max-width: 650px)*/
{
	#formFeedback, #pdfViewer, #meetTheTeam, .popup
	{
		width: 100%;
	}
	
	.popup
	{
		height: 100%;
	}	
}