body {
    font-family: 'Roboto Mono', monospace;
    font-size: 3.5vw;
    font-weight: 300;
    line-height: 140%;
	color: #262626;
	background-color: #ffffff;
	background-image: url(../images/tile_bg.svg);
    background-size: 300px;
    background-attachment: fixed;
}
* {
	transition: all 0.25s ease-in-out;
}

/*----- ANIMATIONS ------*/
@keyframes hide {
	0%   {opacity: .5;}
    100% {opacity: 0; visibility: hidden;}
}
@keyframes show {
	0%   {opacity: 0;}
    100% {opacity: 1; visibility: inherit;}
}
@keyframes loading-fade-out {
	0%   {background: #111111;}
    100% {background: #1c1c1c00;}
}
@keyframes hero-fade-in {
	0%   {opacity: 0;}
    100% {opacity: 1;}
}
@keyframes scroll-down-bounce {
	0%   {transform: translateY(0px)}
    100% {transform: translateY(14px)}
}
.hide {
	animation-name: hide;
    animation-duration: .25s;
    animation-fill-mode: forwards;
}
.show {
	animation-name: show;
    animation-duration: .25s;
    animation-fill-mode: forwards;
}
.loading-fade-out {
	animation-name: loading-fade-out;
    animation-duration: 3s;
    animation-fill-mode: forwards;
}
.hero-fade-in {
	animation-name: hero-fade-in;
    animation-duration: 2s;
    animation-fill-mode: forwards;
}
h1,h2,h3,h4,h5,h6 {
	font-family: 'Rajdhani', sans-serif;
	text-transform: uppercase;
	line-height: 1;
	letter-spacing: .2vw;
	font-weight: 600;
	width: 100%;
	margin: 0;
}
h1 {
    font-size: 16.5vw;
    line-height: 1em;
    margin: 0;
    font-weight: 600;
}
.h2, h2 {
	font-size: 8vw;
}
.h3 {
	font-weight: 300;
}
a {
	color: #262626;
	text-decoration: none;
}
.loading {
	height: 100vh;
	width: 100vw;
    position: fixed;
    background: #111111;
    bottom: 0;
    display: flex;
    z-index: 9999;
}
.loading-logo {
	width: 100%;
    max-width: 6rem;
}
.nav {
    height: 55px;
	border-width: 2px;
	border-style: none none solid none;
    border-color: #262626;
    border-radius: 0;
}
.nav.scroll {
    background: #F7F5F2;
    position: fixed;
}
.navbar p {
	margin: 0;
}
.dot {
	height: 5px;
    width: 5px;
    background: #262626;
    display: inline-block;
    border-radius: 100%;
    margin-left: 5px;
}
.social {
	padding-left: 5.5vw;
	margin: auto 0;
}
.social .icon {
	padding-right: 1em;
}
#primary {
    padding-top: 3.5em;
}
.container-fluid {
	width: 100%;
	max-width: 100%;
	padding: 0;
}
.wrap {
	border-width: 2px;
    border-style: solid none none none;
    border-color: #262626;
    border-radius: 0;
}
.nav-toggle {
	margin: auto;
    width: 11vw;
}
.nav-toggle .bar {
    border: 1px solid #e00000;
    margin: 2vw;
}
.no-gutters .fill {
    color: #262626;
	background: #262626;
}
.overlay {
	position: fixed;
	height: 100vh;
    width: auto;
	max-width: inherit;
    top: 0;
    z-index: -999;
    opacity: .4;
}
.overlay .img-fluid {
	height: 100%;
}
.bg-overlay-left {
	left: -10vmin;
}
.bg-overlay-right {
	left: -10vmin;
	display: inherit;
}
.hero-logo {
	min-height: 96vh;
	display: flex;
}
.hero-logo .logo {
	max-width: 100%;
	width: 300px;
	margin-bottom: 10vmin;
}
.carousel {
	height: 100vh;
}
.carousel-inner {
	height: 100vh;
}
.carousel-item {
	overflow-y: hidden;
    height: 100%;
}
#carousel_controls {
	height: 50px;
    border-width: 2px;
    border-style: solid none solid none;
    border-color: #262626;
}
#myCarousel.stick {
	top: 0px;
	overflow: hidden;
}
#myCarousel.stick #carousel_controls {
    position: fixed;
    top: 50px;
    width: 100%;
    z-index: 999;
    background: #000;
}
#myCarousel.stick .carousel-inner {
	top: 0px;
}
#myCarousel.stick .carousel-item {
	overflow-y: scroll;
    height: 100%;
}
#carousel_controls_phantom {
	height: 50px;
	visibility: hidden;
}
#nav_phantom {
	display: none;
	height: 55px;
	visibility: hidden;
}
.footer {
	padding: 1rem;
	border-right: 2px solid #262626;
    border-left: 2px solid #262626;
    border-top: 2px solid #262626;
}
/* Controls and Elements */
.scroll-down {
    position: fixed;
    bottom: 4rem;
    right: 49.25vw;
    width: 20px;
    height: 35px;;
    padding: 2px;
    display: flex;
    border: 1px solid;
    border-radius: 100px;
    opacity: 1;
}
.scroll-down-inner {
	margin: auto;
	border: none;
    height: 6px;
    width: 6px;
    padding: 0px;
    margin-top: 4px !important;
    border-radius: 10px;
    background: #e23a1e;
   	animation-name: scroll-down-bounce;
    animation-duration: .75s;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}
/* Helper Classes */
.no-overflow {
	overflow: hidden;
}
.borders {
    background: transparent;
    border-width: 2px;
    border-style: none solid none solid;
    border-color: #262626;
    border-radius: 0;
}
.borders-l {
    background: transparent;
    border-width: 2px;
    border-style: none none none solid;
    border-color: #262626;
    border-radius: 0;
}
.borders-r {
	background: transparent;
    border-width: 2px;
    border-style: none solid none none;
    border-color: #262626;
    border-radius: 0;
}
.flex {
	display: flex;
}
.m-auto-l {
	margin: auto;
	margin-left: 0 !important;
}
.pad {
	padding: 5.5vw;
}
.list {
	padding: 1.6rem;
	padding-right: 1.6rem;
	padding-left: 1.6rem;
}
.no-gutters .pad {
	padding-right: 5.5vw;
	padding-left: 5.5vw;
}
.no-gutters .list {
	padding: 1.6rem;
	padding-right: 1.6rem;
	padding-left: 1.6rem;
}
i.arrow {
    border: solid #262626;
    border-width: 0 2px 2px 0;
    display: inline-block;
    padding: 5px;
}
.right {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
}

.left {
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
}

.up {
    transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
}

.down {
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}
.hidden {
	display: none;
}
img {
	height: 100%;
}
/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) { 
	body {
		font-size: 2vw;
	}
	.overlay {
	    left: 0vw;
	    height: 100vh;
	}
	.bg-overlay-right {
		display: block;
	}
}

/*  Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
	body {
		font-size: 14px;
	}
	h1 {
		font-size: 6rem;
    	line-height: 100%
	}
	.pad {
		padding: 2rem;
	}
	.no-gutters .pad {
	    padding-right: 2rem;
	    padding-left: 2rem;
	}
	.hero-logo .logo {
    	width: 350px;
	}
}

/*  Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
	#main {
		padding-top: 0;
	}
	#primary {
		border-right: 2px solid #262626;
		border-left: 2px solid #262626;
	}
	.phantom-pad {
		margin-top: 55px !important;
	}
	.nav {
		position: inherit;
		border-right: 2px solid #262626;
		border-left: 2px solid #262626;
		border-top: 2px solid #262626;
	}
	#myCarousel.stick #carousel_controls {
		width: 956px;
	}  
	h1 {
		font-size: 6rem;
    	line-height: 100%
	}
	.social {
    	padding-left: 2rem;
	}
	.bg-overlay-left {
		left: -20vmin;
	}
	.bg-overlay-right {
		right: -20vmin;
		transform: reflect;
	    -moz-transform: scaleX(-1);
	    -o-transform: scaleX(-1);
	    -webkit-transform: scaleX(-1);
	    transform: scaleX(-1);
	    filter: FlipH;
	    -ms-filter: "FlipH";
	}
	.scroll-down {
	    bottom: 4rem;
	}
}

/*  Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) { 
	.container, 
	.nav,
	.project-info {
	    width: 1140px;
	    max-width: 100%;
	}
		#myCarousel.stick #carousel_controls {
		width: 1136px;
	} 
}

