:root{
	--size:	400px; /* cube length*/
	--size-divtwo: 200px;
	--big-size: 1.7;
}

.separator{
	transition: padding-bottom 1s;
	padding-bottom:50px;
}
html {
	background-color: black;
}
body {
  text-align: center;
  background-image: url('/img/envious_bg.jpg');
  background-position: center center;
  background-attachment: fixed;
  background-size: cover;
}
html,body {
    scroll-behavior: smooth;
}
html{
	overflow: auto;
}
.wrapper{
  padding: 50px;
}
.left.col-md-6{
	text-align: left;
	/*padding-top: 40px;*/
}
.row{
	padding-top: 40px;
}
.black-opacity-grad-left{
    background-image: linear-gradient(to right, rgba(0,0,0,0.6), rgba(0,0,0,0));
}
.more-info{
    margin-top: 30px;
}
.more-info div{
    padding: 30px 40px 20px 40px;
}
.more-info p{
    line-height: 18px;
}
.envious-nav{
	margin-top: 30px;
	font-size: 30px;
	padding-left: 0;
	list-style: none;
}
.envious-nav li{
	padding-left: 30px;
	border-left: 2px solid #C0C0C0;
}
.envious-nav li.selected{
	border-left: 2px solid #3cff00;
}
.envious-nav li a{
    color: #c0c0c0;
}
.social-icons .fa{
    padding: 20px;
    font-size: 30px;
    width: 50px;
    padding: 10px;
    height: 50px;
    text-align: center;
    text-decoration: none;
    border-radius: 50%;
    background-color: black;
	color: white;
  	mix-blend-mode: multiply;
  	margin-left: 20px;
  	color: #c0c0c0;
}
.social-icons .fa:hover {
    opacity: 0.7;
}
.fa{
	font-family:FontAwesome!important;
}


.scene {
  display: inline-block;
  margin-top: 50px;
  width: var(--size);
  height: var(--size);
  
  perspective: 600px;
}
.cube {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  width: inherit;
  height: inherit;
  
  transform-style: preserve-3d;
  transition: transform 1s, margin-top 1s;
  /*transform:rotateY(-25deg) rotateX(-15deg) rotateZ(8deg);*/
  transform:rotateY(-30deg) rotateX(-20deg) rotateZ(8deg);
}
.cube-face {
  width: inherit;
  height: inherit;
  position: absolute;
  background: red;
  opacity: 1;

  padding: 20px;
  -webkit-font-smoothing: subpixel-antialiased;
  text-align: left;
}
.cube-face h3{
    font-family: 'Oswald', Fallback, sans-serif;
    text-transform: uppercase;
    color: #c0c0c0;
    text-align: center;
    font-size: 30px;
}
.cube-face p{
	font-family: 'ChakraPetch', Fallback, sans-serif;
}
.cube-face .sub-head{
	font-family: 'ChakraPetch', Fallback, sans-serif;
}
/* faces */
.cube-face-front {
  /*background: yellow;*/
  background: #000 url('/img/enviouslogo.png');
  background-size: 100% 100%;
  transform: translate3d( 0, 0, var(--size-divtwo));
}
.cube-face-back {
  background: black;
  transform: rotateY(180deg) translate3d(0, 0, var(--size-divtwo));
} 
.cube-face-left {
  background: black;/*green;*/
  transform: rotateY(-90deg) translate3d(0, 0, var(--size-divtwo));
} 
.cube-face-right {
  background: black;/*magenta;*/
  transform: rotateY(90deg) translate3d(0, 0, var(--size-divtwo));
} 
.cube-face-top {
  background: black; /*blue;*/
  transform: rotateX(90deg) translate3d(0, 0, var(--size-divtwo));
} 
.cube-face-bottom {
  background: black; /*red;*/
  transform: rotateX(-90deg) translate3d(0, 0, var(--size-divtwo));
}

@keyframes bubble {
	from {
  		transform: rotateY(-10deg) rotateX(-5deg) rotateZ(0deg);
	}
	25% {
  		transform:rotateY(-30deg) rotateX(-20deg) rotateZ(8deg);
	}
	50% {
  		transform: rotateY(-20deg) rotateX(-10deg) rotateZ(-2deg);
	}
	75% {
  		transform:rotateY(-24deg) rotateX(-20deg) rotateZ(8deg);
	}
	to { 
  		transform: rotateY(-10deg) rotateX(-5deg) rotateZ(0deg);
	}
}
/* controls */
.scene .cube.front{
  		transform: rotateY(-10deg) rotateX(-5deg) rotateZ(0deg);
  /*animation: bubble 40s infinite ease-in-out*/
}
.scene .cube.back{
  transform: rotateY(155deg) rotateX(15deg) rotateZ(-8deg);
}
.scene .cube.left {
  transform: rotateY(65deg) rotateX(-5deg) rotateZ(-8deg);
}
.scene .cube.right{
  transform: rotateY(-90deg);
}
.scene .cube.top{
  transform: rotateX(-105deg) rotateY(0deg) rotateZ(-20deg);
}
.scene .cube.bottom {
  transform: rotateX(90deg);
  margin-top: 36px;
}

/*cube corner points*/
.point{
	position: absolute;
	width: 10px;
	height: 10px;
	background-color: #3cff00;
}
.point.tleft{
	top: -5px;
	left: -5px;
}
.point.tright{
	top: -5px;
	right: -5px;
}
.point.bleft{
	bottom: -5px;
	left: -5px;
}
.point.bright{
	bottom: -5px;
	right: -5px;
}
.mobile{
	display: none;
}
.social-icons .col{
	float:left;
	width: auto;
	padding: 0;
}
.cube-face-left .float-right{
	text-align: right;
}
.cube-face-left .float-left{
	text-align: left;
}
.cube-face-left ul{
	list-style:none;
	padding:0;
    color: #c0c0c0;
}
.cube-face-left ul a{
    color: #c0c0c0;
}
.cube-face-left ul li.selected {
	text-decoration: underline solid #3cff00;
}
.cube-face-left ul li.selected a{
	text-decoration: underline solid #3cff00;
}
.cube-face-left ul li.selected span{
	color: #3cff00;
}
.cube-face-left ul .info-cont{
	display:none;
    position: absolute;
    top: 1000000px;
}
.cube-face-bottom .form-group{
	margin-bottom: 12px;
}
#portfolio .row{
	padding: 0;
}
.portfolio-piece img{
	margin-bottom: 5px;
	width: 100%;
}
.portfolio-piece a{
	color: #C0C0C0;
	font-size: 11px;
}
.portfolio-piece span{
    width: 115px;
    display: block;
}
.modal-profile span{
    width: 100%;
    display: block;
    margin-top: 10px;
}
.modal-profile .modal-header{
  background: #2d3032;
  border-bottom: 1px solid #2a2c2e;
}
.modal-profile .modal-body {
  background: #40464b;
}
.modal-profile .modal-footer {
  background: #2d3032;
  border-top: 1px solid #2a2c2e;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
.modal-open .modal, .btn:focus {
    outline: none !important;
}
.modal-profile .modal-header h1, .modal-profile .modal-header h2, .modal-profile .modal-header h3, .modal-profile .modal-header h4 {
  color: #ccc;
}
.modal-profile button.close{
	color: #fff;
}
.modal-profile img{
	width: 100% !important;
	display: block;
	float:left;
}
.modal-body > div{
	padding: 10px;
}
.modal-body iframe{
	width:100%;
	height:250px;
}
.modal-body p{
	text-align: left;
	margin-top: 20px;
}
.modal-body a{
	color: #3cff00;
}


.lds-ring {
  display: inline-block;
  position: relative;
  width: 64px;
  height: 64px;

    left: 50%;
    top: 50%;
    margin-top: -32px;
    margin-left: -32px;
}
.lds-ring div {
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 51px;
  height: 51px;
  margin: 6px;
  border: 6px solid #000;
  border-radius: 50%;
  animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: #000 transparent transparent transparent;
}
.lds-ring div:nth-child(1) {
  animation-delay: -0.45s;
}
.lds-ring div:nth-child(2) {
  animation-delay: -0.3s;
}
.lds-ring div:nth-child(3) {
  animation-delay: -0.15s;
}
@keyframes lds-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.contact-overlay{
	display:none;
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0.4);
	opacity: 0;
	transition: opacity 0.5s;
    top: 0px;
    left: 0px;
    z-index: 3;
}
.contact-overlay.on{
	display:block;
	opacity: 1;
}
.message-box{
	z-index: 10;
	position: absolute;
	left: 0px;
	top: 100%;
	width:100%;
	padding: 10px;
	transition: top 1s, opacity 1s;
	opacity: 0;
}
.message-box.on{
	top: 0px;
	opacity: 1;
}
.info-cont{
	text-align:left;
}
.footer{
	line-height: 52px;
	position: absolute;
	bottom: 0px;
	left: 0px;
	right: 0px;
}

.col-center {
	margin: 0 auto;
	float: none !important;
}
.carousel {
	margin: 30px auto;
	padding: 0 70px;
}
.carousel .item {
	font-size: 13px;
    text-align: center;
    min-height: 200px;
}
.carousel .testimonial {
	padding: 10px 0 10px;
}
.carousel .overview {	
	font-style: italic;
}
.carousel .overview b {
	text-transform: uppercase;
	color: #3cff00;
}
.carousel .carousel-control {
	width: 40px;
    height: 40px;
    margin-top: -20px;
    top: 50%;
	background: none;
}
.carousel-control i {
    font-size: 68px;
	line-height: 42px;
    position: absolute;
    display: inline-block;
}
.carousel .carousel-indicators {
	bottom: -60px;
}
.carousel-indicators li, .carousel-indicators li.active {
	width: 10px;
	height: 10px;
	margin: 1px 3px;
	border-radius: 50%;
}
.carousel-indicators li {	
	background: #999;
	border-color: transparent;
	box-shadow: inset 0 2px 1px rgba(0,0,0,0.2);
}
.carousel-indicators li.active {	
	background: #555;		
	box-shadow: inset 0 2px 1px rgba(0,0,0,0.2);
}
.overflowhidden{
	overflow:hidden;
	height: 220px;
    width: 100%;
    position: relative;
}
.carousel-inner{
	overflow: visible;
}
button.close{
    position: absolute;
    right: 20px;
    margin: 0px;
    padding: 0px;
}

/*ALL PHONES AND TABLET*/
@media only screen 
  and (min-device-width: 0px) 
  and (max-device-width: 1024px) 
  and (-webkit-min-device-pixel-ratio: 1) {
  	#contact{
  		padding-bottom: 200px;
  	}
	.scene .cube.back, .scene .cube.left, .scene .cube.right, .scene .cube.top, .scene .cube.bottom, .scene .cube.front{
	  transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
	}
  	.wrapper{
  		padding: 0;
  	}
  	.row{
  		padding: 0;
  		margin: 0;
  		height:100%;
  	}
  	.mob-head-bg{
  		float:left;
  		padding: 50px 40px 10px;
  		margin: 0px;
  		box-sizing: border-box;
  		background-color: rgba(0,0,0,0.3);
  		position: fixed;
  		z-index: 1000;
  		width: 100%;
  		transition: margin-top 1s;
  	}
  	.scene{
  		margin-top: 0;
  		height: auto;
  	}
  	.desktop{
  		display:none;
  	}
  	.mobile{
  		display: block;
  	}
  	.mobile.pad{
  		height: 1000px;
  	}
  	.col-md-6{
  		max-width: 100%;
  		padding:0;
  		flex: 0 0 100%;
  		height:100%;
  	}
  	.envious-nav{
  		margin-top: 20px;
  	}
  	.envious-nav li{
  		padding: 10px 20px 0px;
  		text-align: center;
  		width: 25%;
  		float: left;
  		border-left: none;
		border-top: 4px solid #C0C0C0;
  	}
  	.envious-nav li.selected{
  		border-left: none;
		border-top: 4px solid #3cff00;
	}
	.envious-nav li a:hover{
		text-decoration: none;
	}

	.scene{
		padding: 20px;
	}
	.cube{
		width: 100%;
		transform: none;
		height: auto;
	}
	.cube-face{
		position:relative;
		float:left;
		transform: none;
		margin-bottom: 20px;
		height: auto;
		background: none;
    	background-image: linear-gradient(to bottom, rgba(0,0,0,0.8), rgba(0,0,0,0));
    	margin-bottom: 1000px;
	}
	.left.col-md-6{
		margin-bottom: 500px;
	}
	.point{
		display: none;
	}
	.logo-cube{
		float:left;
		position: relative;
		top: 50%;
		transform: translateY(-50%);
		padding-top: 2em;
	}
	.logo-cube img{
		margin-left: auto;
		margin-right: auto;
		width: 50%;
		display: block;
	}
	.social-icons{
		position:absolute;
		bottom: 5em;
		text-align: center;
	}
	.social-icons .fa{
		margin: 0px 8px;
	}
	.social-icons .col{
		padding: 0px 10px;
		width: 50%;
	}
	.footer{
		text-align: center;
		position: fixed;
		bottom: 0px;
		width: 100%;
		line-height: 3em;
	}
	#portfolio, #services{
		max-height: 360px;
		overflow: scroll;
	}
	.cube-face-left ul .info-cont{
	    position: relative;
	    top: auto;
	}
	#services h3{
		display:none;
	}

  	.testimonial-nav-outer{
  		display:none;
  	}
  	.modal-body .w-50{
  		width: 100%!important;
  	}
}
/*TABLET SIZE ONLY*/
@media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1024px) 
  and (-webkit-min-device-pixel-ratio: 1) {
	.cube-face h3{
	}
	.cube-face p{
		font-size: 22px;
	}
	.cube-face .sub-head{
	}
	.logo-cube{
		padding-top: 10em;
	}
	.logo-cube img{
		width: 30%;
	}
    #services ul li{
    	font-size: 24px;
    }
}
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) 
and (orientation : landscape) {
	.cube-face{
		max-height: 370px;
		overflow: scroll;
	}
  	.testimonial-nav-outer{
  		display:block;
  	}
  	.modal-body .w-50{
  		width: 50%!important;
  	}
}

/*ALL PHONES UP TO TABLET*/
@media only screen 
  and (min-device-width: 0px) 
  and (max-device-width: 700px) 
  and (-webkit-min-device-pixel-ratio: 1) {
  	h1{
  		font-size: 30px;
  	}
  	h2{
  		font-size: 18px;
  	}
  	.mob-head-bg{
  		padding: 40px 20px 10px;
  	}
  	.envious-nav{
  		margin-top: 10px;
  		font-size: 16px;
  	}
  	.envious-nav li{
    	padding: 10px 0px 0px 0px;
    }
}

/*LANDSCAPE ALL PHONES*/
@media only screen 
and (min-device-width : 0px) 
and (max-device-width : 900px) 
and (orientation : landscape) {
	h1{
		font-size: 16px;
	}
	h2{
		font-size: 14px;
	}
  	.mob-head-bg{
  		padding: 20px 20px 10px;
  	}
	.envious-nav{
		font-size:14px;
	}
	.logo-cube img{
		width: 20%;
	}
	.social-icons{
		bottom: 45px;
	}
	.cube-face{
		max-height: 150px;
		overflow: scroll;
	}
	.cube-face h3{
		font-size: 14px;
	}
	.cube-face p{
		font-size: 14px;
	}
}
/*LANDSCAPE IPHONEX*/
@media only screen 
and (min-device-width : 375px) 
and (max-device-width : 812px) 
and (-webkit-device-pixel-ratio : 3)
and (orientation : landscape) {
	.logo-cube{
		padding-top: 6em;
	}
}
@media only screen 
  and (min-device-width: 0px) 
  and (max-device-width: 321px) 
  and (-webkit-min-device-pixel-ratio: 1) {

  	.mob-head-bg{
  		padding: 20px 20px 10px;
  	}
  	h1{
  		font-size: 18px;
  	}
  	h2{
  		font-size: 16px;
  	}

	.cube-face{
		max-height: 250px;
		overflow: scroll;
	}
	.cube-face p{
		font-family: 'josefin-sans-bold';
	}
  }

@media only screen 
and (min-device-width: 1024px) 
and (max-device-width: 1300px){
	:root{
		--size:	350px; /* cube length*/
		--size-divtwo: 175px;
		--big-size: 1.7;
	}
	#about{
		font-size: 14px;
	}
	#services{
		font-size: 14px;
	}
	#portfolio{
		line-height: 12px;
	}
	#contact p{
		font-size: 14px;
		line-height: 13px;
	}
	.portfolio-piece span {
	    width: 100px;
	}
	h1{
		font-size: 46px;
	}
	h2{
		font-size: 30px;
	}
	.envious-nav{
		font-size: 28px;
	}
	.row{
		padding-top: 0px;
	}
	.left.col-md-6{
    	padding-right: 50px;
	}
  	.testimonial-nav-outer{
  		display:none;
  	}
  	.modal-body .w-50{
  		width: 100%!important;
  	}
  }
