   /* 00.generic.css */


/* 10.site.css */
/* Font */
@import url(https://fonts.googleapis.com/css?family=Lato:400,700); /* https://www.google.com/fonts#QuickUsePlace:quickUse/Family:Lato */
* { font-family: 'Lato', Arial, sans-serif; font-weight:400; }
.bold, b, strong { font-family: 'Lato', Arial, sans-serif; font-weight:700; }

/* Generic */
* { color:#4e4846; font-size:14px; line-height:125%; border:0; margin:0; padding:0; text-decoration:none; -webkit-tap-highlight-color:rgba(0,0,0,0); -webkit-tap-highlight-color:transparent; }
html, body { height:101%; margin:0; padding:0; }
::selection { background:#AAA; } ::-moz-selection { background:#AAA; }
span, div, a, b, p, strong, ul, ol, li, h1, h2, h3, h4 { color:inherit; font-size:inherit; text-align:inherit; }
p { padding:0; }
ul { margin:10px 0; list-style:none; }
li { padding-bottom:5px; }
li:before { content: "• "; color:#e63f2c; }

.upper { text-transform:uppercase; }
.center { text-align:center; }
.left { text-align:left; }
.right { text-align:right; }
.clear { float:none; clear:both; }
.valign-middle { display:table; width:100%; height:100%; }
.valign-middle > div { display:table-cell; height:100%; vertical-align:middle; }

/* Heading */
h1 { margin-bottom:10px; }
h2 { margin-bottom:8px; }
h3 { margin-bottom:5px; }
h4 { margin-bottom:3px; }

/* Color */

.bg-1 { background-color:#4e4846; color:#ffffff; }
.bg-1 a { color:#b5a368; }
.bg-2 { background-color:#ffffff; color:#4e4846; }
.bg-3 { background-color:#b5a368; color:#ffffff; }
.bg-4 { background-color:#242424; color:#ffffff; }
.bg-5 { background-color:#e63f2c; color:#ffffff; }
.bg-6 { background-color:#f0f0f0; color:#4e4846; }
.font-1 { color:#ffffff; }
.font-2 { color:#4e4846; }
.font-3 { color:#b5a368; }
.font-4 { color:#e63f2c; }

.header-full { overflow:hidden; min-height:170px; position:relative; }
.header-full img { width:100%; min-width:650px; }
/*@media all and (max-width: 650px) { .header-full.right img { position:absolute; right:0; z-index:0; } }*/

/* Link */
a:hover { opacity:0.8; }

.button-1, a.button-1, #contact-button { display:inline-block; padding:12px 35px; background-color:#e63f2c; color:#ffffff; line-height:1; font-size:16px; text-decoration:none; text-transform:uppercase; cursor:pointer; }
.button-1:hover, #contact-button:hover { opacity:0.8 }
.button-2, a.button-2, #mailing-button { display:inline-block; padding:12px 35px; background-color:#b5a368; color:#ffffff; line-height:1; font-size:16px; text-decoration:none; text-transform:uppercase; cursor:pointer; }
.button-2:hover, #mailing-button:hover { opacity:0.8 }
.button-3, a.button-3 { display:inline-block; padding:12px 35px; margin-top:5px; background-color:#ffffff; color:#e63f2c; line-height:1; font-size:16px; text-decoration:none; text-transform:uppercase; cursor:pointer; }
.button-3:hover { opacity:0.8 }

/* Navigation */
#nav-mobile { display:none; }
.nav-spacer { height:130px; }
#nav { width:100%; height:130px; /*overflow:hidden;*/ }
#logo { float:left; display:block; width:235px; height:80px; padding-top:41px; }
#nav-main { float:right; }
#nav-buttons { padding-left:15px; color:#4e4846; }
  #nav-buttons a { display:block; float:left; color:#4e4846; font-size:16px; height:22px; margin:19px 0 0 24px; text-transform:uppercase; text-decoration:none; }
  #nav-buttons a:hover { color:#e63f2c; }
  #nav-buttons a.selected, #nav-buttons a.selected:hover { color:#e63f2c; border-bottom:2px solid #e63f2c; }
  #nav-buttons > div { float:right; }
#nav-top a { font-size:13px; margin:28px 0 0 15px; color:#b5a268; }
#nav-top a:hover { color:#4e4846; }
#nav-top a.selected, #nav-top a.selected:hover { border:0; }
#nav-top a.link-lang { }
#nav .menu-sub-container { float:left; position:relative;  }
#nav .menu-sub { display:none; position:absolute; left:0; top:82px; padding:5px 0; background-color:rgba(236, 236, 236, 0.90); }
#nav .menu-sub > a { float:none; margin:0; padding:5px 30px; text-align:left; white-space:nowrap; }
#nav .menu-sub > a.selected { border:0; }
/*#about-submenu { left:0; }
#future-submenu { left:389px; }*/


@media all and (max-width: 919px) {
  #nav { display:none; }
  .nav-spacer { height:62px; }
  #nav-mobile { display:block; border-bottom:2px solid #b5a268; position:fixed; top:0; left:0; width:100%; z-index:50; background-color:#ffffff; }
  #logo-mobile { float:left; display:block; margin-left:15px; width:180px; height:52px; padding-top:8px; }
	#but-mobile { float:right; width:30px; height:26px; padding:17px 15px; cursor:pointer; }
    #but-mobile > div { width:100%; height:6px; background-color:#333333; }
    #but-mobile > div:first-child { margin-bottom:4px; }
    #but-mobile > div:last-child { margin-top:4px; }
  #nav-mobile-menu { width:100%; display:none; overflow:auto; border-top:1px solid #333333; }
    #nav-mobile-menu a { display:block; border-bottom:1px solid #333333; height:31px; padding:15px 15px 0 15px; text-align:center; margin:0; text-transform:uppercase; }
    #nav-mobile-menu a:hover { background-color:#333333; color:#ffffff; }
    #nav-mobile-menu a.selected, #nav-buttons a.selected:hover { background-color:#b5a268; color:#ffffff; }
}


/* Responsive */
.slice > div { text-align:center; }
.slice.full-height { height:100%; -webkit-transition: height .50s ease-in; -moz-transition: height .50s ease-in; -o-transition: height .50s ease-in; transition: height .50s ease-in;} /* Javascript driven */
.slice.valign-middle { width:100%; display:table; }
.slice.valign-middle > div { width:100%; display:table-cell; text-align:center; vertical-align:middle; }
.padding-right { padding-right:40px; }

/* Custom */
#project-icon > div { float:left; }
#project-icon > div > div { text-align:center; margin-right:12px; min-height:150px; }
.line-sep { padding-top:30px; border-bottom:1px solid #B2B2B2; margin-bottom:30px; }


@media all and (max-width: 619px) {
  #platform:before { content:'MOBILE'; }
  .mobile-hidden { display:none; }
  .logo { border: 0; }
	.slice > div { padding:0 25px; }
  .padding { padding-top:50px; padding-bottom:50px; }
  .padding-top { padding-top:50px; }
  .padding-bottom { padding-bottom:50px; }
  .tile-pad { padding:30px 0; }

  .slice-tiles { width:90%; padding:0 5%; }
  .slice-tiles.full { width:100%; padding:0; }
	.slice-tiles.rows-2 > div { width:100%; margin:0; }
  .slice-tiles.rows-3 > div { width:100%; margin:0; }
  .slice-tiles.rows-4 > div { width:100%; margin:0; }
  .slice-tiles.rows-5 > div { width:100%; margin:0; }
  .slice-tiles.rows-6 > div { width:100%; margin:0; }
    .slice-tiles > div.row-100pc { width:100%; }  
  	.slice-tiles > div.row-80pc { width:100%; }    
    .slice-tiles > div.row-66pc { width:100%; }           
    .slice-tiles > div.row-33pc { width:100%; } 
  	.slice-tiles > div.row-20pc { width:100%; } 
  
  .text-1x, h3 { font-size:14px; }
  .text-2x, h2 { font-size:20px; }
  .text-3x, h1 { font-size:23px; }
  .text-4x { font-size:30px; }

 
}
@media all and (min-width: 620px) and (max-width: 919px) {
	/* Tablette */
  #platform:before { content:'TABLETTE'; }
  .tablette-hidden { display:none; }
  .desktop-hidden { display:none; }
	.slice > div { padding:0 15px; margin:0 auto; width:570px; }
  .padding { padding-top:50px; padding-bottom:50px; }
  .padding-top { padding-top:50px; }
  .padding-bottom { padding-bottom:50px; }
  .tile-pad { padding:30px 10px; }
  
  .slice-tiles { padding:0 15px; margin:0 auto; width:570px; }
  .slice-tiles.full { width:100%; padding:0; }
  .slice-tiles.rows-2 > div { float:left; width:50%; }      
  .slice-tiles.rows-3 > div { float:left; width:50%; }       
  	
  .slice-tiles.rows-4 > div { float:left; width:50%; }       
  .slice-tiles.rows-5 > div { float:left; width:33.33%; }     
  .slice-tiles.rows-6 > div { float:left; width:33.33%; }
    .slice-tiles > div.row-100pc { width:100%; }        
  	.slice-tiles > div.row-80pc { width:80%; }          
    .slice-tiles > div.row-66pc { width:66.66%; }           
    .slice-tiles > div.row-33pc { width:33.33%; } 
  	.slice-tiles > div.row-20pc { width:20%; } 
  	.slice-tiles > div:last-child { float:none; clear:both; width:auto; }
 
  .text-1x, h3 { font-size:15px; }
  .text-2x, h2 { font-size:24px; }
  .text-3x, h1 { font-size:27px; }
  .text-4x { font-size:35px; }
  
}
@media all and (min-width: 920px) and (max-width: 1219px) {
	/* Desktop */
  #platform:before { content:"DESKTOP"; }
  .desktop-hidden { display:none; }
	.slice > div { padding:0 15px; margin:0 auto; width:870px; }
	.padding { padding-top:50px; padding-bottom:50px; }
  .padding-top { padding-top:50px; }
  .padding-bottom { padding-bottom:50px; }
  .tile-pad { padding:30px 10px; }
  
  .slice-tiles { padding:0 15px; margin:0 auto; width:870px; }
  .slice-tiles.full { width:100%; padding:0; }
  .slice-tiles.rows-2 > div { float:left; width:50%; }        
  .slice-tiles.rows-3 > div { float:left; width:33.33%; }                    
  .slice-tiles.rows-4 > div { float:left; width:25%; }                      
  .slice-tiles.rows-5 > div { float:left; width:20%; }                      
  .slice-tiles.rows-6 > div { float:left; width:16.6%; }
    .slice-tiles > div.row-100pc { width:100%; }        
  	.slice-tiles > div.row-80pc { width:80%; }          
    .slice-tiles > div.row-66pc { width:66.66%; }           
    .slice-tiles > div.row-33pc { width:33.33%; } 
  	.slice-tiles > div.row-20pc { width:20%; }  
	  .slice-tiles > div:last-child { float:none; clear:both; width:auto; }
  
  .text-1x, h3 { font-size:15px; }
  .text-2x, h2 { font-size:24px; }
  .text-3x, h1 { font-size:29px; }
  .text-4x { font-size:55px; }

}
@media all and (min-width: 1220px) {
	/* Desktop Full */
  #platform:before { content:"DESKTOP-FULL"; }
  .desktop-hidden { display:none; }
	.slice > div { padding:0 15px; margin:0 auto; width:1170px; }
	.padding { padding-top:50px; padding-bottom:50px; }
  .padding-top { padding-top:50px; }
  .padding-bottom { padding-bottom:50px; }
  .tile-pad { padding:30px 10px; }
  
  .slice-tiles { padding:0 15px; margin:0 auto; width:1170px; }
  .slice-tiles.full { width:100%; padding:0; }
  .slice-tiles.rows-2 > div { float:left; width:50%; }        
  .slice-tiles.rows-3 > div { float:left; width:33.33%; }                    
  .slice-tiles.rows-4 > div { float:left; width:25%; }                      
  .slice-tiles.rows-5 > div { float:left; width:20%; }                      
  .slice-tiles.rows-6 > div { float:left; width:16.6%; }
    .slice-tiles > div.row-100pc { width:100%; }        
  	.slice-tiles > div.row-80pc { width:80%; }          
    .slice-tiles > div.row-66pc { width:66.66%; }           
    .slice-tiles > div.row-33pc { width:33.33%; } 
  	.slice-tiles > div.row-20pc { width:20%; } 
	  .slice-tiles > div:last-child { float:none; clear:both; width:auto; }
  
  .text-1x, h3 { font-size:17px; }
  .text-2x, h2 { font-size:24px; }
  .text-3x, h1 { font-size:29px; }
  .text-4x { font-size:55px; }

}
@media all and (min-width: 1930px) {
    .slice-tiles.full { width:1170px; }
}
/* Contact */
#contact div { }
#contact input, 
#contact select, 
#contact textarea { width:95%; padding:12px 3% 11px 3%; margin:5px 0 15px 0; background-color:#ffffff; color:#4e4846; font-size:14px; }
#contact textarea { width:95%; height:80px; }
#contact option { color:#000; }
#contact-button { }


/* Mailing */
#mailing { }
#mailing-quote { font-size:20px; margin-bottom:8px; color:#FFF; text-transform:uppercase; }
#mailing-email { width:56%; padding:12px 3% 11px 3%; background-color:#ffffff; color:#4e4846; font-size:14px; line-height:1; }
#mailing-email:focus { color:#4e4846; }
#mailing-button { width:36%; float:right; padding-left:0; padding-right:0; text-align:center; }



/* CSS */