:root {
	--scrollTop: height();
	--BG: url("../img/BG3.PNG");

	--accentCol: 146, 55, 11;
	--textBG: 40, 26, 14;
}

html {
	overflow: hidden;
	width: 100%;
}

body {
	background: var(--BG);
	background-size: cover;
	background-attachment: fixed;
	background-position: center;

	user-select: none;
	overflow: hidden;
	position: fixed;
	margin: 0;

	height: 100%;
	width: 100%;
}

::-webkit-scrollbar {
	display: none;
}

* {
	transition: 1s;
	/*background: #f00;*/
	text-shadow: 0 0 10px #000;
	color: #f1dfc0;
	font-family: Arial, Helvetica, sans-serif;
	text-align: justify;
}

#centreLine {
	width: 5px;
	height: 100%;
	position: absolute;
	left: 50%;
	color: white;
	display: block;
}

#loading {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	background-image: url("../img/BG1.JPG");
	background-size: cover;
	background-position: center;
	z-index: 30;
	display: inline;
}

#loaded .done {
	display: none;
}

#loading > h1 {
	top: 50%;
	left: 50%;
	position: absolute;
}
/***********     Header      *****************************************/
#title {
	left: 50vw;
	position: absolute;
	/* background-size: 100% 100%;
  background-position: 0px 40px; */
	padding: 2rem;
	top: 65vh;
	transform: translate(-50%, -50%);
	transition: 1s;
	cursor: pointer;
	box-sizing: border-box;
	perspective: 30rem;
	z-index: 0;
}

#titleImg {
	max-height: 23vmin;
	max-width: 50vmin;
	min-height: 5rem;
	min-width: 16.701rem;
	padding: 5vmin;
	padding-bottom: 0;
	transition: 1s;
}

#title::after {
	content: "";
	background: url("../img/BMLDLogo.png");
	background-size: 100% 100%;
	background-repeat: no-repeat;
	position: absolute;
	left: 50%;
	top: 15%;
	height: 100%;
	width: 100%;
	max-width: 80%;
	max-height: 20vmin;
	cursor: default;
	filter: contrast(0) grayscale(100%) brightness(0) blur(10px) opacity(25%);
	transform: translate(-50%, 100%) rotate3d(1, 0, 0, -120deg);
	transition: 1s;
}

#title.smallTitle::after {
	content: "";
	opacity: 0;
	scale: 1 0;
}

#title.smallTitle {
	padding: 0;
	transition: 1s;
	scale: 0.5;
	top: 1.5rem;
	/* background: radial-gradient(ellipse farthest-side at 50% 30%, #0003 60%, #0000 90%); */
	transform: translate(-100%, -60%);
}

#pageTitle {
	font-family: ubuntu;
	color: #92370b;
	padding-left: 20px;
	margin-top: 0px;
	margin-bottom: 0px;
	display: block;

	top: 0rem;
	position: relative;
	/* bottom: 0; */
	left: 100%;
	width: 50%;
	text-align: left;
	opacity: 0;
	scale: 0;
	font-size: min(max(11vmin, 3rem), 5rem);
}

#pageTitle::after {
	content: var(--scrollTop);
	left: 80px;
	position: relative;
}

.smallTitle > #pageTitle {
	transform: scale(1) translate(-5rem, -1rem);
	/* text-align: right; */
	opacity: 1;
	scale: 1;
}

#header {
	position: fixed;
	z-index: 20;
	width: 100%;
	overflow: visible;
	top: 0;
	height: 40px;
}

/*******************************************************MENU******************************/

#menu {
	position: absolute;
	left: -3rem;
	top: -2rem;
	width: 8rem;
	height: 8rem;
	/* border: 1px solid white; */
	border-radius: 0% 50% 50% 50%;
	cursor: pointer;
	transition: 1s;
	z-index: 9;
}

#menu.open {
	width: 12rem;
	height: 12rem;
}

#homeIcon {
	width: 3rem;
	height: 3rem;
	top: 3rem;
	left: 3rem;
	opacity: 0;
}

#menuIcon {
	width: 3rem;
	height: 3rem;
	opacity: 1;
	z-index: 3;
	display: block;
}

#homeIcon:hover {
	scale: 1.5;
}

.menuIcon {
	height: 2rem;
	width: 2rem;
	padding: 10px;
	transition: 1s;
	position: absolute; /*
    background: rgba(152,0,0,0.5);*/
	border-radius: 100%;
	top: 3.5rem;
	left: 3.5rem;
	opacity: 0;
}

.menuIcon > img {
	height: 100%;
	width: 100%;
	position: relative;
}

.menuIcon > h2 {
	top: calc(50% - 10px);
	left: 50%;
	padding: 0px;
	padding-left: 15px;
	color: #fb3;
	margin: 0;
	text-shadow: 1px 1px 0px #000;
	position: absolute;
	text-align: center;
	opacity: 0;
	font-size: 20px;

	transform-origin: left;
}

.menuIcon:hover > h2 {
	opacity: 1;
}

.menuIcon:hover {
	scale: 1.5;
	cursor: pointer;
}

#menu.open > div {
	display: initial;
}

#menu.open > .menuIcon {
	opacity: 1;
}

#menu.open > #contactIcon {
	left: 7.25rem;
	top: 2rem;
}

#contactIcon > h2 {
	transform: rotate(0);
}

#menu.open > #projectsIcon {
	left: 8rem;
	top: 5rem;
}

#projectsIcon > h2 {
	transform: rotate(20deg);
}

#menu.open > #aboutIcon {
	left: 6rem;
	top: 8rem;
}

#aboutIcon > h2 {
	transform: rotate(60deg);
}

#menu.open > #galleryIcon {
	left: 2.5rem;
	top: 8rem;
}

#galleryIcon > h2 {
	transform: rotate(88deg);
}

#menu.open > #menuIcon {
	opacity: 0;
	z-index: -2;
}

div {
	border: 0px solid red; /*
    background: Black;*/
}

/***********     BODY      *****************************************/

#content {
	/**************************************ALL IN BULB***************************
    
    
    position: absolute;
    width: 500px;
    height: 500px;
    /*background: url('../img/lightBulb.png') center/60% auto no-repeat;
    background-size: 120%;
    background-position: center;
    top: 0;
    left: 0;
    margin-left: 20%;
    margin-top: 20%;
    border-radius: 100%;
    overflow: scroll;
    transition: 2s;
    padding: 20px;
    z-index: 10;
    -webkit-border-image: url('../img/lightBulbOuter.png') 30 stretch; /* Safari 3.1-5 
    -o-border-image: url('../img/lightBulbOuter.png') 30 stretch; /* Opera 11-12.1 
    border-image: url('../img/lightBulbOuter.png') 30 stretch;
    border-width: 20px;

    /*mask: url(#masking);
    /*-webkit-mask-image: -webkit-gradient(
    radial, left top, right bottom, 
    color-stop(0.00,  rgba(0,0,0,1)),
    color-stop(0.35,  rgba(0,0,0,1)),
    color-stop(0.50,  rgba(0,0,0,0)),
    color-stop(0.65,  rgba(0,0,0,0)),
    color-stop(1.00,  rgba(0,0,0,0)));*/

	/*********************************MAIN PAGE HOLDER****************************/

	/*top: 300px;*/
	left: 0;
	position: absolute;
	height: calc(90vh);
	max-height: calc(100vh - 5rem);
	width: calc(90vw);
	border-radius: 0;
	top: max(10vh, 5rem);
	left: 5vw;
	margin: 0;
	padding-bottom: 10vh;
	overflow: hidden;
	transition: height 1s;
	transition: 1s;
	text-align: middle;
	/* background: red; */
	/* border-image: 
    radial-gradient( 
      rgba(0, 0, 255), 
      rgba(255, 0, 0, 1) 1 90%
    );
    border-image-width: 0px;
    border-width: 5vmin;*/

	box-shadow: none;
	z-index: 1;
	box-sizing: border-box;

	mask-image: radial-gradient(
		ellipse farthest-side at 50% 40%,
		rgba(0, 0, 0, 1) 85%,
		rgba(0, 0, 0, 0) 100%
	);
}

#content.fs {
	mask-image: none;
	width: 100vw;
	left: 0;
}

/* #content:after {
    content: '';
  background: var(--BG);
  
  background-size: cover;
  background-attachment: fixed;
  background-position: center;
  position: absolute;
  height: 100vh;
  width: 100vw;
  z-index: 1;
  opacity: 0.5;
} */

#content > div {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0vh;
	left: 50%;
	transform-origin: center;
	transform: translate(-50%, 0);
	display: inline-block;
	max-height: 100vh;
	overflow: scroll;
	/* padding: 3rem 6vw; */
	/* padding-bottom: 50vh; */
	box-sizing: border-box;

	mask-image: linear-gradient(#0000, #000f 10%);

	opacity: 0;
	scale: 0;
	transition: 1s;
	/* background: #F00A; */
}

#content.fs > #gallery {
	width: 100%;
}

#content > div.live {
	scale: 1;
	opacity: 1;
}

#content .background {
	background: url("../img/lightBulbOuter.png") center/60% auto no-repeat;
	background-size: 125%;
	background-position: center;
	height: 500px;
	width: 500px;
	position: absolute;
	z-index: 15;
	padding: 20px;
	border-style: solid;
	border-color: red;
	border: solid 0px red;
	border-radius: 100%;
	left: -1px;
	top: -1px;
	overflow: scroll;
}

#content.loading {
	top: 0%;
	left: 20%;
	padding: 0;
	transform: scale(0);
	background: radial-gradient(
			rgba(255, 255, 255, 0) 20%,
			rgba(255, 255, 255, 0) 71%,
			rgba(255, 255, 255, 0)
		),
		url("../img/lightBulb.png") center/60% auto no-repeat;
}

/*#content.smallTitle
{
    height: calc(100vh - 10vmin);
    width: calc(100vw - 10vmin);
    border-radius: 0;
    top: 0%;
    margin-top: 0;
}*/

#renderCanvas {
	height: 100%;
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	margin: 0;
	touch-action: none;
}

.object {
	border-radius: 100%;
	border: 0px solid red;
	width: 150px;
	height: 150px;
	position: absolute;
	background: #000;
	background-image: url("../img/lightBulb.png");
	background-position: center;
	background-size: 150px;
	left: calc(var(--left) + 50vw - 95px);
	top: calc(var(--top) + 50vh - 0px);
	transform: var(--transform);
	opacity: var(--opacity);
	text-align: center;
	overflow: hidden;
}

.object:hover {
	cursor: pointer;
}

.object.selected:hover {
	cursor: auto;
}

.object.selected {
	height: 85vmin;
	width: 85vmin;
	left: 50%;
	top: 55%;
	transform: scale(1);
	opacity: 1;
	transition: 1s;
	transform: translate(-50%, -50%);
}

.objTitle {
	left: 50%;
	top: 15px;
	transform: translate(-50%);
	position: relative;
	width: 120px;
	text-align: center;
}

.selected .objTitle {
	width: 60vmin;
	top: 10vmin;
}

.fullContent {
	width: 80%;
	height: auto;
	position: relative;
	left: 50%;
	top: 40px;
	transform: translate(-50%, -50%);
	transition: 1s;
	display: block;
	overflow: hidden;
	opacity: 0;
	padding: 0% 10% 30%;
}

.selected .fullContent {
	top: calc(10vmin + 20px);
	transform: translate(-50%);
	transition: 1s;
	opacity: 1;
}

.objCont {
	position: absolute;
	width: 80%;
	overflow: scroll;
	height: 100%;
	left: 50%;
	transform: translate(-50%);
	padding: 0 20vmin 0;
}

#pageScroll {
	height: 0;
	width: 50px;
	opacity: 0.5;
	position: absolute;
	top: 0;
	background-image: linear-gradient(#f90, #00b, #0f0);
}

/*.content::after
{
	height: 100vh;
	width: 100%;
	background: rgba(#999, 0.5);
	position: absolute;
	top: 0;
}*/

/***************************************ABOUT*****************************************/

div#about {
	padding: 10vh 10vw 40vh;
}

h1.loading {
	top: 50%;
	position: relative;
	transform: translateY(-50%);
}

::-webkit-scrollbar {
	/* remove scrollbar space */
	/* width: 0px; */
	/* optional: just make scrollbar invisible */
	/* background: transparent; */
}

@media (orientation: portrait) {
	#titleImg {
		padding: 0;
	}

	.smallTitle > #pageTitle {
		transform: scale(1) translate(-5rem, -0.5rem);
	}

	.smallTitle #titleImg {
		transform: scale(1.2);
	}
}
