/* CSS Document */

*{
	font-family: "raleway", Arial, Helvetica, sans-serif;
	padding:0px;
	margin:0px;
}
	*{
		margin: 0;
	}

body {
   margin: 0;
   padding: 0;
   height: 100%;
   width: 100%;
   background: #FFF;
}
#pageBody{
	min-height:100%;
	position:relative;
}
.wrap {
	overflow: hidden;
	margin: 0px;
	padding-top: 112px;
	padding-bottom: 95px;
}


.box {
   float: left;
   position: relative;
   width: 33.2%;
   padding-bottom: 18.56%;
   cursor: pointer;
}

.boxInner img {
   width: 100%;
}
.boxInner {
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	display: table-cell;
	vertical-align: bottom;
	background-color: rgba(0,0,0,0.08);
	
	background: -webkit-linear-gradient(top,rgba(50,50,50,0) 50%, rgba(0,0,0,.5)); /*Safari 5.1-6*/
	background: -o-linear-gradient(top,rgba(50,50,50,0)50%,rgba(0,0,0,.5)); /*Opera 11.1-12*/
	background: -moz-linear-gradient(top,rgba(50,50,50,0)50%,rgba(0,0,0,.5)); /*Fx 3.6-15*/
	background: linear-gradient(to bottom, rgba(50,50,50,0)50%, rgba(0,0,0,.5)); /*Standard*/
	
	
	-webkit-transition: background 0.2s ease-in-out;
	-moz-transition: background 0.2s ease-in-out;
	-o-transition: background 0.2s ease-in-out;
	transition: background 0.2s ease-in-out;
	
}
.brandedInner{
	position: absolute;
	bottom: 16px;
	left: 16px;
	right: 0px;
	font-weight: bold;
}
.clear{
	clear: both;	
}
.trans{
	position:absolute;
	opacity:.3;
	z-index:9;
}
.titleBox {
   position: absolute;
   bottom: 3%;
   left: 2%;
   width: 95%;
   text-align: left;
   z-index:10;

}
.spotBrand{
	/*margin-bottom: 1vw;*/
	color: #FFF;	
	font-weight:800;
}
.spotTitle{
	color: #D6D6D6;	
	font-style:italic;
	padding-left:3px;

}
body.no-touch .boxInner:hover .titleBox, body.touch .boxInner.touchFocus .titleBox {
   margin-bottom: 0;
}

#header{
	height:110px;
	width:100%;
	background-color:#f2f2f2;	
	text-align:right;
	margin-bottom: .2%;
	position:fixed;
	top:0;
	z-index:99;
}
#logo {
    padding-top: 24px;
    width: 62px;
    margin-right: 42px;
}

/********* BURGER MENU**/
#nav-toggle span { 
	position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    margin-top: 50px;
    margin-left: 42px;
}
#nav-toggle span, 
#nav-toggle span:before,
#nav-toggle span:after {
  cursor: pointer;
  border-radius: 1px;
  height: 5px;
  width: 35px;
  background: #0E0A09;
  position: absolute;
  display: block;
  content: '';
}
#nav-toggle span:before {
  top: -10px;
}
#nav-toggle span:after {
  bottom: -10px; 
}
#burger-catch{
	width:50px;
	height:50px;
	position:fixed;
	top:30px;
	left:35px;
	z-index:100;	
	cursor:pointer;
}
.burger-container{
	position: fixed;
    width: 100px;
    height: 100px;
	cursor:pointer;
	z-index:1000; 
	top:0;
	left:0;
}
#editors a{
	color: #CCC;
	text-decoration:none;	
}
#overlay{
	font-family:"raleway", sans-serif;
	position: fixed;
    width: 300px;
   /** height: 100%;*/
	background-color: #333;	
    bottom:0;
    top: 0;
    left: -300px;
    z-index: 110;
    -webkit-transition: left .4s ease;
    -moz-transition: left .4s ease;
    -o-transition: left .4s ease;
    -ms-transition: left .4s ease;
    transition: left .4s ease;
}
#editors{ 
	/*width:260px;*/
	position: relative;
	top: 110px;
	text-transform:uppercase;
	/*left:-260px;*/
    -webkit-transition: left .3s ease;
    -moz-transition: left .3s ease;
    -o-transition: left .3s ease;
    -ms-transition: left .3s ease;
    transition: left .3s ease;
	height: 91%;
    overflow-x: hidden;
    overflow-y: auto;
}
#editor-spacer{
	height:110px;
}
.editors-expand{
	left:0!important;	
}
.overlay-expand{
	left:0!important;
}
#editor-list-container{
	margin-left: 40px;
	margin-right: 35px;
	height: 668px;		
}
#editor-ul{
	list-style-type:none;
	position: relative;
	left: -2px;	
}
#editor-ul li{
	padding:2px 7px 2px 7px;
}
/*
#editor-ul li:not(.no-hover):hover{
	background-color:white;
	color:black!important;
	cursor:pointer;
}
*/
.editor-header{
	color:#ffffff;
}
.editor-header-top{
	color:black;	
}

#page-name{
    text-align: center;
    color: #0E0A09;
    text-transform: uppercase;
    font-size: 38px;
    font-weight: 800;
	width:100%;
	position:absolute;
    /*
	top: 28px;
	margin-top: 0px;
	*/
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);	
}
#home-link{
	position: relative;
    z-index: 10;	
}

/******** INDEX *********/
video#bgvid { 
    position: fixed;
    top: 50%;
    left: 50%;
	padding-top: 220px;
    min-width: 108%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: -100;
    -ms-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    background-size: cover; 
}

#splash-text{
    display: table;
    width: 100%;
    height: 100%;
    position: absolute;
}
.splashBox {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}
.spotBrand{
	color: #FFF;	
	font-size: 28px;
	font-weight:800;
}
.spotTitle{
	color: #D6D6D6;	
	font-style:italic;
	padding-left:3px;
	font-size: 16px;
}
/******* END INDEX *********/

/******* FOOTER *********/
#footer{
	position: fixed;
	z-index:100;
	bottom: 0;
	width: 100%;
	background-color: #000000;
	text-align:center;
	display:inline-block;
	overflow: hidden;
	border-top-style: solid;
    border-width: 3px;
	border-color: #1196e1;	
}
.footer-div{
	margin: 0% 1%;
	width: 32%;
    padding-bottom: 16%;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
	margin-left: 1%;
    margin-right: 1%;	
}
#footer-content {
    height: 75px;
    text-align: center;
    margin: 0px auto;
    width: 100%;
    max-width: 500px;
}
#footer-logo-left{
	display: inline-block;
	background-image:url(../img/footer-logo-optimus-bw.png);
}
.footer-logo-left-bg{
	background-image:url(../img/footer-logo-optimus-color.png)!important;
}
#footer-logo-mid{
	width: 23%;
	display: inline-block;
	background-image:url(../img/footer-logo-mid-bw.png);
}
.footer-logo-mid-bg{
	background-image:url(../img/footer-logo-mid-color.png)!important;	
}
#footer-logo-right{
	display: inline-block;
	background-image:url(../img/footer-logo-right-bw.png);
}
.footer-logo-right-bg{
	background-image:url(../img/footer-logo-right-color.png)!important;
}
/******** END FOOTER **************/



/*********CONTACT STYLES*********/
#top-image{
	width:100%;
	height:250px;	
	background-image:url(../img/contact-us.jpg);
	background-position: center center; /* First value is from left and second is from top. You can use use number as well*/
    background-repeat:no-repeat;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

#mid-container{
	text-align:left;
	margin-top:15px;
}
.mail-link a{
	color:#ff3336;	
	text-decoration:none;
}
.contact-head, .sales-header{
	font-size:27px;	
	margin-bottom:10px;
}

#contact-container{
	max-width:1000px;
	width:80%;
	margin:0px auto;
	overflow:hidden;
	margin-top:25px;
	padding-bottom: 90px;
}
.block{
	width:235px;		
	float: left;
	padding-bottom: 20px;
	padding-top:5px;
}
.city{
	display: inline-block;
	margin-top: 20px;	
}
#chicago{
	width:50%;
	
}
.clear{
	clear: both;	
}
ul{
	list-style-type:none;	
}
h1{
	font-weight:500;
	font-size:27px;	
	margin-bottom:5px;
	border-bottom-style: solid;
    border-width: 1px;
    border-color: #ccc;
    padding-bottom: 5px;
	
}
.contact-spacer{
	width:100%;
	height:2px;
	border-bottom-style:none;
	border-width:1px;
	border-color:#eaeaea;	
	/*
	margin-bottom:20px;
	margin-top:20px;
	*/
}
.tel-link a{
	color:black;
	text-decoration: none;
}
#services-container{
	width:100%;	 
	display:inline-block;
	margin:0px auto;
}
#services{
	max-width:1000px;
	height:250px;
	margin:0px auto;	
}
.service-item{
	height:333px;
	width:332px; 	
	float:left;
	text-align:center; 
	border-style: solid;
    border-width: 1px;
    border-color: #ccc;
}
#work-with-us{
	height:75px;
	color:white;
	text-align:center;
	width:100%;
	margin-top:50px;
}

#work-inner{
	font-size:27px;
	padding-top:50px;
	padding-bottom:50px;
	max-width:1000px;
	margin:0px auto;
	background-color:#ff3336;
		
}
a.work{
	text-decoration:none;
	color:white;	
}
	#page-name{
	}
	#contact-container{
	}
	#statement{
		margin-top: 120px;
		background-color: black;
		color: #f0f0f0;
		padding: 25px;
		font-size: 1.5em;
		text-align: center;
		font-weight: 100;	
	}
	#bar{
		height: 1px;
		border-top-style: solid;
		border-width: 1px;
		border-color: #2b2b2b;
		margin-top: 20px;
		margin-bottom: 20px;	
	}
	.caps{
		text-transform:uppercase;	
	}
	.gray{
		color:#919191;
		font-weight:100;
	}
	#people-container{
		margin-top: 20px;
		display: flex;	
		justify-content: space-around;
	}
	#left-person{
		width:330px;
	}
	#right-person{
		width:330px;
	}
	.about-text{
		width: 330px;
		text-align: center;
		color: #6c6c6c;
		font-size: 18px;
		line-height: 23px;
		background-color: #f2f2f2;
		margin-top: 5px;	
	}
	.name-title{
		color: #45b007;
		font-weight: 800;
		font-size: 24px;
		letter-spacing: 1px;	
	}
	.phone-number{
		font-variant-numeric: lining-nums;
		-moz-font-feature-settings: "lnum" 1;
		-moz-font-feature-settings: "lnum=1";
		-ms-font-feature-settings: "lnum" 1;
		-o-font-feature-settings: "lnum" 1;
		-webkit-font-feature-settings: "lnum" 1;
		font-feature-settings: "lnum" 1;	
	}
	.phone-link{
		text-decoration: none;
		color: #666;
	}
	.emailLink{
		color:#666;	
	}
	.emailLink:hover{
		color: #45b007;	
	}
	#rep-container{
		margin-top:18px;
		display:flex;
		flex-direction:row;	
		justify-content: space-around;
		padding: 20px;
	}
	.sales-list{
		font-size: 13px;
		color: #6c6c6c;
		line-height: 18px;
		margin-bottom:7px;
	}
	.sales-name{
		color: #222222;
		font-weight: 600;
		font-size: 16px;	
	}
	.sales-person, .sales-company{
		font-weight: 600;
		color: #222222;	
	}
	#map-container{
		margin-top:18px;	
	}
	.map-location{
		text-align:center;
		margin-top:18px;
		margin-bottom:18px;	
	}
	.one-footer{
		width: 100%;
		height: 90px;
		padding-top: 2px;
		font-size: 13px;
		color: #838383;
		background: #f2f2f2;
		position: fixed;
		bottom: 0px;	
		border-top-style: solid;
		border-width: 3px;
		border-color: #1196e1;
		z-index: 105;	
	}
	.center_footer{
		margin: 0px auto;
		text-align: center; 
		height: 90px;
		line-height: 17px;	
	}
	.opti-link{
		font-weight: 600;
    	color: #ee3a43;	 
	}

/********* END CONTACT STYLES*********/


/********************************/
/******** MEDIA QUERIES *********/
@media only screen and (max-width : 500px) {
   /* Smartphone view: 1 tile */
    #header{
         /*height: 19px;   */
    }
	#editors{ 
		height: 81%;
	}
   .box {
      width: 100%;
      padding-bottom: 56.25%;
      margin-bottom: 1px;
   }
   .spotBrand{
		font-size: 6vw;	
 		line-height: 8vw;	
   }
   .spotTitle{
		font-size: 4vw;	
   }
   #page-name{
		/*margin-top: 88px;*/
		background-color: white;
		padding: 4px 0px;;
     	font-size: 22px;
		top: 110px;  
	}
   .wrap{
		padding-top: 130px;
		padding-bottom: 0px;   
   }
   .box {
      width: 100%;
      padding-bottom: 56.25%;
	  
   }
	h1{
		font-size: 28px;
		font-weight: bold;	
	}
	.city{
		font-size: 24px;	
	}
	.block{
		margin-left: 20px;	
	}
   #top-image{
		display:none;   
   }
   #services{
		width:80%;   
   }
   .service-item{
		margin-left:-30px;   
   }
   #bioBtn{
		display: none;   
   }
      #people-container{
		flex-direction:column;   
   }
	.sales-list{
		margin-bottom:50px;	
		margin-bottom: 35px;
		width: 200px;
        font-size: 16px;
        line-height: normal;
	}
	#rep-container{ 
		flex-direction:column;	 
		align-items:center; 
	}
	#right-person{
		margin-top:7px;	
	}
   #footer{
	    position: relative;  
   }
   .footer-div{
		margin-top: 1%;   
   }
	.one-footer{
		position: relative;
		padding-bottom: 4px;
	}
	
	#contact-container{
		padding-bottom: 0px;	
	}
	/* nav full screen takeover on mobile */
	/*
	#overlay{
		position: fixed;
		width: 100%;
		left: -100%;
	}
	*/
    

}
@media only screen and (max-width : 800px) and (min-width : 501px) {
   /* Tablet view: 2 tiles */
   .box {
      width: 49.75%;
      padding-bottom: 27%;
	  margin-bottom: 0.5%
   }

   .box:nth-child(2n+1){
		margin-right: 0.5%;   
   }
   .spotBrand{
		font-size: 3.25vw;	
 		line-height: 3.75vw;	
   }
   .spotTitle{ 
		font-size: 1.75vw;	
   }
  #page-name{
     font-size: 24px;
  }
   #bioBtn{
		display: none;   
   }
      #people-container{
		flex-direction:column;  
		align-items:center; 
   }
   	#rep-container{ 
		flex-direction:column;	
		align-items:center; 
	}
	.sales-list{
		margin-bottom: 35px;
		width: 200px;
	}
	#right-person{
		margin-top:7px;	
	}
  
}
@media only screen and (min-width : 801px) {
    /* non-mobile */
    /* 3 tiles */
    #editor-ul li:not(.no-hover):hover{
        background-color:white;
        color:black!important;
        cursor:pointer;
    }
    
	.box {
	  width: 33.2%;
	  padding-bottom: 18.56%;
	  margin-bottom: 0.2%;
	}
	.box:nth-child(3n+3){
		margin-left: .2%;
		margin-right: .2%;   
	}
    /*.box:not(:first-child):not(:last-child) {
		margin-left: .2%;
		margin-right: .2%;   
    }
    */
}

@media only screen and (max-width : 1000px) and (min-width : 801px) {
   .spotBrand{
		font-size: 2.25vw;	
		line-height: 2.75vw;	
	}
	.spotTitle{
		font-size: 1.3vw;	
	}
	#page-name{
		font-size: 26px;
	}
}
@media only screen and (min-width : 1001px){
   .boxInner:hover{
		background-color: rgba(0,0,0,0.6);
	}
}
@media only screen and (max-width : 1300px) and (min-width : 1001px) {
   .spotBrand{
		font-size: 2.25vw;	
		line-height: 2.75vw;	
   }
   .spotTitle{
		font-size: 1.25vw;	
		letter-spacing: .1vw;

   }
}

@media only screen and (min-width : 1301px) {    
   /* Small desktop / ipad view: 3 tiles */
   .spotBrand{
		font-size: 2.25vw;
		line-height: 3.2vw;	
   }
   .spotTitle{
		font-size: 1vw;
		letter-spacing:.05vw;
   }
}

