@import url('https://fonts.googleapis.com/css?family=Lato:300,400,700|Montserrat:600&display=swap');

*{
	box-sizing:border-box;
}

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

.fiveColumns{
	column-count: 5;
}

.fourColumns{
	column-count: 4;
}

.marginBottom{
	margin-bottom: 3em !important;
}

.marginBottom2px{
	margin-bottom: 2px;
}

.fullMarginBottom{
	margin-bottom: 6em !important;
}

.opacityZero{
	opacity: 0 !important;
}

body{
	font-family: 'Lato', sans-serif;
	color: #7F7F7F;
	font-size: 1vw;
	overflow: auto;
	background-color: #EEEEEE;
}

.mainWrapper{
	transition: transform .5s, opacity .5s;
}

.mainWrapper.out{
	transform: translate3d(0,0em,0);
	opacity: 0;
}


/* Proto on  */
.masterWrapper{
	background-color: #EEE;
}

body.proto .masterWrapper{
	transform: translate3d(-50.5vh,0em,0);
	opacity: 1;
	background-color: #EEE;
	box-shadow: -10em 0px 10em rgb(0 0 0 / 50%) inset;
}

body.proto .mainWrapper{
	opacity: .3;
}

body.proto .close-icon, body.proto  .main-logo, body.proto .menu-icon{
	opacity: 0;
}



.prototypeArea{
	height: 100%;
	width: 100%;
	background-color: #c3c3c3;
	position: fixed;
	right:0px;
	opacity: 0;
	transition-delay: 2s;
	transition: all 1s;
	display: block;
	pointer-events: none;
}

.prototypeArea.out {
	display: none;
	pointer-events: none;
}

body.proto .prototypeArea{
	opacity: 1;
	transition-delay: 0s;
	transition: all 0s;
	pointer-events: all;
}

.protoCanvas{
	background-color: black;
    position: absolute;
    width: 40.5vh;
    height: 90vh;
    right: 5vh;
    top: 5vh;
    border-radius: 3vh;
}

.protoCanvas .protoIframe{
	width: 100%;
    height: 100%;
    border: 0px;
    border-radius: 3vh;
    box-shadow: 1vw 1vw 2vw rgb(0 0 0 / 20%);
}

/* Proto on end */

.table{
	display: table;
	height: 100%;
}

.table .cell{
	display: table-cell;
	vertical-align: middle;
}

.btCloseProto{
	font-family: "Montserrat";
    font-weight: 600;
    color: white;
    border: 0.2em solid white;
    padding: 1em 2em;
    border-radius: 3em;
    display: inline-block;
    font-size: 1em;
    width: 14em;
    bottom: -3.8em;
    pointer-events: all;
    transition: all .3s;
    letter-spacing: .1em;
    cursor: pointer;
    transition: all .5s;
    transition-delay: 0s;
    background-color: transparent;
    position: fixed;
    top: calc(50% - 3.5em);
    right: calc(50vh - 3.5em);
    z-index: 1000;
    height: fit-content;
    text-align: center;
    transform: rotate(270deg);
    opacity: 0;
    display: block;
}

.btCloseProto.out{
	display: none;
}

body.proto .btCloseProto{
	opacity: 1;
	transition-delay: 1s;
}

/*MAIN------------------------------------------------------------*/

.mainBanner{
	width: 100%;
    height: calc(100% - 12em);
    margin-bottom: 6em;
    background-color: #333;
    padding: 0 8em;
    position: relative;

    background-size: cover;
    background-position: center bottom;
}

.mainBanner .text{
	float: left;
	z-index: 2;
	width: 45%;
	position: relative;
}


.mainBanner h1{
	font-family: "Lato";
	font-weight: 400;
	font-size: 5em;
	line-height: initial;
	margin-bottom: .3em;
	opacity: 1;
    transition: opacity .5s;
    transition-delay:.6s;
}


.ProjectWrapper .mainBanner p{
	color:white !important;
	font-size: 1.400em;
	font-weight: 300;
	opacity: .8;
	opacity: 1;
    transition: opacity .5s;
    transition-delay:.7s;
}

.mainBanner img{	
    height: 120%;
    position: absolute;
    top: 3em;
    right: 3em;
    transition: opacity .5s, transform .5s;
    transition-delay:1s;
}

.ProjectWrapper.out .mainBanner .tag, 
.ProjectWrapper.out .mainBanner h1, 
.ProjectWrapper.out .mainBanner p{
	opacity: 0;
}

.ProjectWrapper.out .mainBanner img{
	opacity: 0;
	transform: translate3d(10em, 0,0);
}

.mainBanner .tag{
	font-weight: 400;
    color: white;
    background-color: var(--specialColor);
    display: inline-block;
    padding: .8em 1.5em;
    border-radius: 10em;
    margin-bottom: 1em;
    opacity: 1;
    transition: opacity .5s;
    transition-delay:.5s;
}

.box{
	width: 100%;
	padding: 8em;
	position: relative;
}

.box h4{
	font-size: 1em;
	color: #0FA6A1;
	font-weight: 600;
	margin: 0;
}

.box h3{
	font-size: 2.1em;
	color: black;
	margin:0;
	margin-bottom: .3em;
}

.audienceBox{
	background-color: white;
}

.audienceBox img{
	float: left;
	margin-right: 7em;
	width: 20%;
}

.solutionBox{
	background-color: #78DEDA;
	background-size: cover;
	background-position: right center;
	height: 45em;
}

.solutionBox p{
	color: black !important;
	opacity: .7;
}

.solutionBox strong{
	color:white;
}

.solutionBox .textWrapper{
	width: 40%;
}

.ProjectWrapper.out .visualDesignBox{
	opacity: 0;
	transform: translate3d(0,10em,0);
}

.visualDesignBox{
	width: 100%;
	position: relative;
	transition: opacity .5s, transform .5s;
    transition-delay:1.2s;

}

.visualDesignBox img{
	width: 100%;
	padding: 0 4em;
}

.visualDesignBox img.noPadding{
	padding: 0;
}

.visualDesignBox img.negativePadding{
	margin: 0 -10em;
    width: calc(100% + 20em);
}

/*PROCESS------------------------------------------------------------*/

.processTabButton{
	width: 100%;
	/*margin-bottom: 2px;*/
	border-bottom: 1px solid #DADADA;
	text-align: center;
	font-family: 'Montserrat', sans-serif;
	font-size: 1.5em;
	color: black;
	background-color: white;
	padding: 1.45em 0;
	cursor: pointer;
}

.processTabButton.fixed{
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 90;
	display: none;
	border-bottom: 1px solid #DADADA;
}


.processTabButton.bottomfixed{
	position: fixed;
	bottom: 0px;
	left: 0px;
	z-index: 90;
	display: block;
	border-bottom: 1px solid #DADADA;
}

.processTabButton.bottomfixed.hide{
	display: none;
}

.processTabButton.fixed.show{
	display: block;
}

.processTabButton .showProcess{
	display:none;
}

.processTabButton.closed .showProcess{
	display:block;
}

.processTabButton .hideProcess{
	display:block;
}

.processTabButton.closed .hideProcess{
	display:none;
}

.processTabButton img{
	margin: 0px 1em;
	width: 1em;
	transition: margin .25s;
}

.processTabButton:hover .showProcess img{
	margin: -.25em 1em;
}

.processTabButton:hover .hideProcess img{
	margin: .25em 1em;
}


h3{
	font-family: 'Montserrat', sans-serif;
	color: black;
	font-size: 2.1em;
	margin: 0 0 .5em 0;
}

.ProjectWrapper{
	background-color: #EEE;
	width: calc(100%);
	padding: 6em;
	position: relative;
	height: auto;
	opacity: 1;
	transition: transform .5s;
}

.ProjectWrapper.out{
	transform: translate3d(0, 10em, 0px);
	opacity: 0;
}

.ProjectWrapper p, p{
	color: #7F7F7F;
	font-size: 1.3em;
	margin: 0;
}

.ProjectWrapper p strong, p strong{
	color: black;
}

/*Process Boxes*/
.processWrapper{
	width: 100%;
	border-bottom: 1px solid #DADADA;
}

.processWrapper.hide{
	height: 0;
    overflow: hidden;
    border-bottom: 0px solid #DADADA;
}

.processWrapper{
	height: auto;
    overflow: hidden;
}

.processWrapper .whiteTextBox{
	width: 100%;
	background-color: white;
	padding: 8em 0;
}

.processWrapper .whiteTextBox .textUnit{
	width: 100%;
	display: flex;
}

.processWrapper .whiteTextBox .textUnit .leftColumn{
	width: 37%;
	float: left;
}

.processWrapper .whiteTextBox .textUnit .rightColumn{
	width: 63%;
	padding-right: 10%;
	float:left;
}

.processWrapper .whiteTextBox .textUnit .leftColumn img{
	width: 100%;
}

.processWrapper .grayBox{
	padding: 8em 10em;
	width: 100%;
	background-color: #F2F2F2;
	border-top: 1px solid white;
	border-bottom: 1px solid white;
}

.processWrapper .grayBox.white {
    background-color: #FFF;
    border-top: 1px solid #f2f2f2;
    border-bottom: 1px solid #f2f2f2;
}

.processWrapper .grayBox.white img{
	border: 1.5px solid #f2f2f2;
}

.processWrapper .grayBox .center{
	width: 100%;
	text-align: center;
}

.processWrapper .grayBox .center img{
	width: 100%;
	height: auto;
}


.processWrapper .grayBox .center img.smaller{
	width: 80%;
	height: auto;
}


.processWrapper .grayBox .column{
	position: relative;
}

.processWrapper .grayBox .column img{
	width: 100%;
	margin-bottom: 1em;
	height: auto;
}


.processWrapper .grayBox .columnWrapper4, .processWrapper .grayBox .columnWrapper3, .processWrapper .grayBox .columnWrapper2{
	display: flex;
}

.processWrapper .grayBox .columnWrapper2 .column1{
	width: 50%;
	float: left;
	padding-right: 10%;
	border-right: 1px solid white;
}

.processWrapper .grayBox .columnWrapper2 .column2{
	width: 50%;
	float: left;
	padding-left: 10%;
}

.processWrapper .grayBox .columnWrapper2 .column60{
	width: 59%;
	float: left;
	padding-right: 10%;
	border-right: 1px solid white;
}

.processWrapper .grayBox .columnWrapper2 .column40{
	width: 41%;
	float: left;
	padding-left: 10%;
}

.processWrapper .grayBox .columnWrapper3 .column1{
	width: 33%;
	float: left;
	padding-right: 2%;
}

.processWrapper .grayBox .columnWrapper3 .column2{
	width: 33%;
	float: left;
	padding: 0 1%;
}

.processWrapper .grayBox .columnWrapper3 .column3{
	width: 33%;
	float: left;
	padding-left: 2%;
}

.processWrapper .grayBox .columnWrapper4 .column1{
	width: 25%;
	float: left;
	padding-right: 2.66%;
}

.processWrapper .grayBox .columnWrapper4 .column2{
	width: 23.66%;
	float: left;
	padding: 0 1.33% 0 0;
}

.processWrapper .grayBox .columnWrapper4 .column3{
	width: 23.66%;
	float: left;
	padding: 0 0 0 1.33%;
}

.processWrapper .grayBox .columnWrapper4 .column4{
	width: 25%;
	float: left;
	padding-left: 2.66%;
}

/*Singature*/

.projectSignature{
	width: 100%;
	height: 20em;
	background-color: white;
}

.projectSignature h3{
	font-size: 1.5em;
}

.projectSignature .appInfo{
	border-right: 1px solid #DADADA;
    float: left;
    padding: 5em 0em 0 6em;
    height: 100%;    
    width: 39%;
}

.projectSignature ul li{
	list-style: none;
	font-size: 1.2em;
	margin: .3em 0;
}

	.projectSignature .appInfo .appIcon{
		float: left;
		width: 10em;
		height: auto;
		margin-right: 3em;
	}

	.projectSignature .appInfo .appLinks{
		float: left;
	}

	.projectSignature .appInfo .appLinks a{
		display: block;
		color: #636363;
		text-decoration: none;
		font-size: 1.2em;
		margin: .3em 0;
		width: 7.5em;
		transition: width .3s;
	}

	.projectSignature .appInfo .appLinks a:hover{
		width: 8em;
		color: black;
	}

	.projectSignature .appInfo .appLinks a img{
		float: right;
	    width: .4em;
	    margin-top: .2em;
	}

.projectSignature .roleInfo{
	float:left;
	padding: 5em 5em 0 4.5em;
}

	.projectSignature .roleInfo .role{
		float:left;
	}

	.projectSignature .roleInfo .agency{
		float:left;
		padding-left: 6em;
	}

.projectSignature .nextProject{
	float:right;
	background-color: #2E2E2E;
	color: white;
	width: 25em;
	height: 20em;
	padding: 8.5em 5em 0 5em;
	cursor: pointer;
	transition: background-color .5s, padding .5s;
}

.projectSignature .nextProject:hover{
	padding: 8.5em 4em 0 5em;
	background-color: var(--specialColor);
}


.projectSignature .nextProject h4{
	font-family: 'Lato';
    color: white;
    opacity: .4;
    font-weight: 400;
    font-size: 1.4em;
    margin-bottom: .3em;
    margin-top: 0;

}

.projectSignature .nextProject h3{
	color: white;
}

.projectSignature .nextProject .text{
	float: left;
}

.projectSignature .nextProject .arrow{
	float: right;
	width: 2em;
}

/*VERICAL STYLES-----------------------*/

@media screen and (orientation:portrait){

	.processWrapper .grayBox .center img.smaller{
		width: 100%;
		height: auto;
	}

	.ProjectWrapper {
    	padding: 8.4em;
	}

	.mainBanner {
	    width: 100%;
	    height: calc(100% - 16.8em);
	    margin-bottom: 8.4em;
	    padding: 11em 11em;
	}

	.mainBanner img {
	    height: auto;
	    width: 93%;
	    margin-top: 67%;
	    position: absolute;
	    top: 3em;
	    right: 3em;
	}

	.mainBanner .text {
	    float: left;
	    z-index: 2;
	    width: 100%;
	    height: 50%;
	}

	.mainBanner .tag {
	    font-size: 2em;
	}

	.mainBanner h1 {
		font-size: 8em;
	}

	.ProjectWrapper .mainBanner p {
		font-size: 3.1em;
	}

	.visualDesignBox img.negativePadding {
	    margin: 0px -12em;
	    width: calc(100% + 24em);
	}

}

@media screen and (max-aspect-ratio: 16/9) and (orientation: portrait) and (max-width: 600px){
	
	.processWrapper .grayBox .columnWrapper4 .column1{
		width: 100%;
		float: left;
		padding:0;
		margin-bottom: 6em;
	}

	.processWrapper .grayBox .columnWrapper4 .column2{
		width: 100%;
		float: left;
		padding:0;
		margin-bottom: 6em;
	}

	.processWrapper .grayBox .columnWrapper4 .column3{
		width: 100%;
		float: left;
		padding:0;
		margin-bottom: 6em;
	}

	.processWrapper .grayBox .columnWrapper4 .column4{
		width: 100%;
		float: left;
		padding:0;
		margin-bottom: 6em;
	}

	.ProjectWrapper {
	    padding: 12em;
	}

	.processWrapper .whiteTextBox .textUnit .leftColumn {
	    width: 100%;
	    float: left;
	}

	.ProjectWrapper .mainBanner .table .cell {
	    display: table-cell;
	    vertical-align: top;
	}

	.mainBanner {
	    height: 126em;
	    margin-bottom: 12em;
	}

	.mainBanner img {
	    height: auto;
	    width: 84%;
	    margin-top: 67%;
	    position: absolute;
	    top: initial;
	    bottom: -18em;
	    right: 9%;
	}

	.halfMarginBottom{
		margin-bottom: 4em !important;
	}

	.fullMarginBottom{
		margin-bottom: 8em !important;
	}

	.fullMarginBottomDouble{
		margin-bottom: 16em !important;
	}

	.processTabButton {
	    padding: 1.5em 0;
	    height: 4.2em;
	    font-size: 3.2em;
	}

	.projectSignature{
		font-size: 2.2em;
	}

	/*signature*/
	.projectSignature .appInfo {
	    border-right: 0px solid #DADADA;
	    border-bottom: 1px solid #DADADA;
	    float: left;
	    padding: 4em 0em 4em 6em;
	    height: auto;
	    width: 100%;
	    background-color: white;
	}

	.projectSignature .roleInfo {
	    width: 100%;
	    background-color:white;
	    padding: 4em 0em 4em 6em;
	    height: auto;
	}

	.projectSignature .nextProject {
	    float: right;
	    background-color: #2E2E2E;
	    color: white;
	    width: 100%;
	    height: 20em;
	    padding: 7.5em 5em 0 6em;
	}

	.projectSignature .nextProject .arrow{
		float: right;
		width: 2.5em;
	}

	.projectSignature .appInfo .appLinks a {
		font-size: 1.6em;
	}

	.projectSignature ul li, .projectSignature .appLinks p {
	    font-size: 1.6em;
	}

	.processWrapper .whiteTextBox .textUnit {
	    width: 100%;
	    display: flow-root;
	}

	.processWrapper .whiteTextBox .textUnit .leftColumn img {
	    width: 100%;
	    margin-bottom: 8em;
	}

	.processWrapper .whiteTextBox .textUnit .rightColumn {
	    width: 100%;
	    padding: 0px 12em;
	    float: left;
	}

	h3 {
	    font-family: 'Montserrat', sans-serif;
	    color: black;
	    font-size: 5em;
	    margin: 0 0 .5em 0;
	}

	.ProjectWrapper p, p {
	    color: #7F7F7F;
	    font-size: 3.5em;
	    margin: 0;
	    font-weight: 400;
	}

	.processWrapper .whiteTextBox {
	    width: 100%;
	    background-color: white;
	    padding: 12em 0;
	}

	.fiveColumns {
	    column-count: 2;
	}

	.processWrapper .grayBox {
	    padding: 8em 12em;
	    width: 100%;
	    background-color: #F2F2F2;
	    border-top: 1px solid white;
	    border-bottom: 1px solid white;
	}

	.processWrapper .grayBox.white {
	    background-color: #FFF;
	    border-top: 1px solid #f2f2f2;
	    border-bottom: 1px solid #f2f2f2;
	}

	.processWrapper .whiteTextBox .textUnit .leftColumn {
	    width: 100%;
	    float: left;
	}

	.processWrapper .grayBox .columnWrapper4, .processWrapper .grayBox .columnWrapper3, .processWrapper .grayBox .columnWrapper2 {
	    display: flow-root;
	}

	.processWrapper .grayBox .columnWrapper3 .column1 {
	    width: 100%;
	    float: none;
	    padding-right: 0;
	    margin-bottom: 6em;
	}

	.processWrapper .grayBox .columnWrapper3 .column2 {
	    width: 100%;
	    float: left;
	    padding: 0;
	   	margin-bottom: 6em;
	}

	.processWrapper .grayBox .columnWrapper3 .column3 {
	    width: 100%;
	    float: none;
	    padding-left: 0;
	}

	.marginBottom {
	    margin-bottom: 1.5em;
	}

	.processWrapper .grayBox .columnWrapper2 .column1 {
	    width: 100%;
	    text-align: center;
	    float: left;
	    padding-right: 0;
	    border-right: 0px solid white;
	}

	.processWrapper .grayBox .columnWrapper2 .column2 {
	    width: 100%;
	    float: left;
	    padding-left: 0;
	    text-align: center;
	    margin-top: 9em;
	}

	.processWrapper .grayBox .columnWrapper2 .column60 {
	    width: 100%;
	    float: left;
	    padding-right: 0;
	    border-right: 0px solid white;
	    margin-bottom: 9em;
	}

	.processWrapper .grayBox .columnWrapper2 .column40 {
	    width: 100%;
	    float: left;
	    padding-left: 0;
	}

	.projectSignature .nextProject h4 {
	    font-size: 1.6em;
	}

	.projectSignature h3 {
	    font-size: 2.2em;
	}
}

/*tablet*/

@media screen and (orientation:portrait) and (min-width: 600px){
	.ProjectWrapper {
	    padding: 8em;
	}

	.ProjectWrapper .mainBanner .table .cell {
	    display: table-cell;
	    vertical-align: top;
	}

	.mainBanner {
	    height: 126em;
	    margin-bottom: 8em;
	}

	.frame {
	    width: calc(100% - 5px);
	    border: 8em solid rgba(0,0,0,.05);
	}

	.close-icon {
	    width: 7vw;
	    height: 7vw;
	    top: 0.4vw;
	    right: calc(0.4vw);
	}
	
}

/*Vertical vs Horizontal project page*/

@media screen and (orientation:portrait){
	.visualDesignBox.horizontal{display: none}
	.visualDesignBox.vertical{display: block}

	.visualDesignBox img {
	    width: 100%;
	    padding: 0px 0em;
	}
}



@media screen and (orientation:landscape){
	.visualDesignBox.horizontal{display: block}
	.visualDesignBox.vertical{display: none}
	.hideOnlandscape{display:none;}
}

@media screen and (orientation:portrait) and (min-width: 600px){
	.visualDesignBox.horizontal{display: block}
	.visualDesignBox.vertical{display: none}
	.hideOnlandscape{display:none;}
}

/*about*/

.initialWrapper{
	width: 100%;
	height: 100%;
}

.about .mainWrapper{
	padding: 3.5em;
}

.about h2{
	font-family: "Lato";
	font-weight: 300;
	font-size: 3.85em;
}

.about .logotype{
	width: 15em;
}

.btResume-old{
	background-color: white;
    padding: 1em 2em;
    font-family: "Lato";
    font-size: 1.15em;
    color: black;
    font-weight: 700;
    display: inline-block;
    transition: all .3s;
    cursor: pointer;
}

.ProjectWrapper.out .btResume{
	opacity:0;
}

.btResume{
	font-family: "Montserrat";
    font-weight: 600;
    color: black;
    border: 0.2em solid white;
    padding: 1em 2em;
    border-radius: 3em;
    display: inline-block;
    font-size: 1.2em;
    width: auto;
    bottom: -3.8em;
    pointer-events: all;
    transition: all .3s;
    letter-spacing: .1em;
    cursor: pointer;
    transition: all .5s, opacity .5s;
    transition-delay: 0s, 2s;
    background-color: white;
    position: fixed;
    top: 1vw;
    right: 6vw;
    z-index: 1000;
    height: fit-content;
    text-align: center;
    display: block;
    opacity: 1;
}




.btResume:hover{
	background-color: black;
	color: white;
}

.about .twoColumns{
	width: 100%;
	line-height: 1.8em;
	font-size: 1.1em;
}

.about .twoColumns br.hideDesktop{
	display: none;
}

.about .twoColumns strong{
	font-weight: 700;
	color: black;

}

.about .twoColumns h3{
	font-family: "Montserrat";
	color: black;
	font-size: 1.6em;
	margin-bottom: 1em;
}

.about .twoColumns .column1{
	float: left;
	width: 70%;
	border-right: 2px solid white;
}

.about .twoColumns .column2{
	float: left;
	width: 30%;
	padding-left: 4em;
}

.mobileColumns{
	column-count: 1;
}


@media screen and (orientation:portrait){

	.btResume {	    
	    font-size: 2em;
	    top: 2vw;
	    right: 11vw;
	    position: initial;
	    transition-delay: 0s, 0s;
	}

	.about .logotype{
		width: 25em;
	}

	a{
		text-decoration: none;
	}

	.mobileColumns{
		column-count: 2;
	}

	.about .twoColumns br.hideDesktop{
		display: initial;
	}

	.about .initialWrapper {
	    width: 100%;
	    height: auto;
	    font-size: 1.6em;
	    margin-bottom: 8em;
	}

	.about .twoColumns .column1, .about .twoColumns .column2{
		width: 100%;
	    padding: 0;
	    border: 0;
	    font-size: 3.5em;
	    line-height: 2.2em;
	    margin-bottom: 6em;
	}
};