   /* 00.generic.css */


/* Font */
@import url(https://fonts.googleapis.com/css?family=Open+Sans:300,400,700); /* https://www.google.com/fonts#QuickUsePlace:quickUse/Family:Open+Sans */
* { font-family:'Open Sans', sans-serif; font-weight:400; }


/* Generic */
span, div, a, b, p, strong, ul, ol, li, h1, h2, h3, h4 { color:inherit; font-size:inherit; text-align:inherit; font-weight:inherit; }

.light { font-weight:300; }
table { border-collapse:collapse; }
table tr { background-color:#CCC; color:#222; }
table tr:nth-of-type(odd) { background-color:#DDD; }
table td { padding:5px 10px; }

* { color:#737373; 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; min-width:320px; }
::selection { background:#AAA; } ::-moz-selection { background:#AAA; }
p { padding:0 0 15px 0; }
ul, ol { margin:10px 0; }
li { padding-bottom:5px; margin-left:21px; }
/* ul { list-style:none; }
ul > li:before { content: "• "; color:#277581; } */
.bold, b, strong { font-family:'Open Sans', sans-serif; font-weight:700; }
hr { border-bottom:1px solid #CACACA; margin:15px 0; }

.upper { text-transform:uppercase; }
.lower { text-transform:lowercase; }
.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; }
.valign-bottom { display:table; width:100%; height:100%; }
.valign-bottom > div { display:table-cell; height:100%; vertical-align:bottom; }

.table { display:table; width:100%; }
.table > div { display:table-cell; height:100%; }
.table.valign-top > div { vertical-align:top; }
.table.valign-middle > div { vertical-align:middle; }
.table.valign-bottom > div { vertical-align:bottom; }

/* Heading */
h1 { padding-bottom:10px; font-weight:700; }
h2 { padding-bottom:8px; font-weight:700; }
h3 { padding-bottom:5px; font-weight:700; }
h4 { padding-bottom:3px; font-weight:700; }


.panel-open { background:url('files/2/Icon-panel-minus-b_2016-06-16-15-43.png') no-repeat right 0; }
.panel-close { background:url('files/2/Icon-panel-plus-b_2016-06-16-15-43.png') no-repeat right 0; }
.panel-button { background-color:#e1e1e1; color:#009dbe; }


.news-item { padding:20px 0; border-top:1px solid #CACACA; }
.news-item a { display:block; padding-bottom:10px; color:#009dbe; font-size:18px; }

.button-tile { display:block; padding:20px; }
.button-tile h1 { font-weight:300; padding:0; } 

/* Color */

.bg-1 { background-color:#404040; color:#ffffff; }
.bg-1 a { color:#009dbe; }
.bg-1 h1, .bg-1 h2 { color:#ffffff; font-weight:300; }
.bg-2 { background-color:#ffffff; color:#4c4c4c; }
.bg-2 a { color:#277581; text-decoration:underline; font-weight:700; }
.bg-2 h1, .bg-5 h1 { color:#009dbe; }
.bg-2 h2 { color:#009dbe; font-weight:300; }
.bg-3 { background-color:#277581; color:#ffffff; }
.bg-4 { background-color:#009dbe; color:#ffffff; }
.bg-4 h1, .bg-4 h2 { color:#ffffff; font-weight:300; }
.bg-5 { background-color:#686868; color:#ffffff; }
.bg-5 a { color:#009dbe; text-decoration:underline; font-weight:700; }
.bg-6 { background-color:#929397; color:#4c4c4c; }
.bg-6 a { color:#009dbe; }
.bg-7 { background-color:#47986f; color:#ffffff; }
.bg-8 { background-color:#e1e1e1; color:#4c4c4c; }
.bg-8 h1, .bg-8 h2 { color:#4c4c4c; font-weight:300; }
.bg-8 a { font-weight:700; }
.bg-9 { background-color:#f6f6f6; color:#4c4c4c; }

.bg-header-box { background-color:rgba(0, 0, 0, 0.55); }
.bg-header-box h3 { color:#009dbe; text-transform:uppercase; padding:0; }

.font-1 { color:#ffffff; }
.font-2 { color:#4c4c4c; }
.font-3 { color:#009dbe; }
.font-4 { color:#277581; }
.font-9 { color:#6bc5bf; }


.header-full { overflow:hidden; min-height:160px; position:relative; }
.header-full img { width:100%; min-width:650px; }
#header-brand-logo { width:100%; min-width:auto; padding-top:30px; }
#header-brand-logo[src=''] { display:none; }

/*@media all and (max-width: 650px) { .header-full.right img { position:absolute; right:0; z-index:0; } }*/

/* Link */
a:hover { opacity:0.8; }
#footer-link a { display:block; font-size:14px; text-decoration:none; padding:5px 0; color:#818181; font-weight:400;  }
#footer-link h3 { color:#ffffff; }

.button-1, a.button-1, #contact-button, #footer-link a.button-1 { display:inline-block; padding:12px 35px; background-color:#009dbe; 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:#ffffff; color:#009dbe; line-height:1; font-size:16px; text-decoration:none; text-transform:uppercase; cursor:pointer; }
.button-2:hover, #mailing-button:hover { opacity:0.8 }
a.but-download { background: url('files/2/Download_blanc_2016-06-09-15-25.png') no-repeat 10px 10px; background-color:#277581; padding-left:40px; padding-right:15px; }


/* Navigation */
#nav-mobile { display:none; }
.nav-spacer { height:0; }
#nav { width:100%; height:75px; }
#logo { float:left; display:block; width:39px; height:46px; margin:7px 0 0 25px; }
#nav-main { float:right; }
#nav-buttons { padding-left:15px; color:#afafaf; }
  #nav-buttons a { font-weight:400; display:block; float:left; color:#afafaf; font-size:16px; height:24px; margin:29px 25px 0 0; text-transform:uppercase; text-decoration:none; }
  #nav-buttons a:hover { color:#009dbe; }
  #nav-buttons a.selected, #nav-buttons a.selected:hover { color:#009dbe; border-bottom:2px solid #009dbe; }
  #nav-buttons > div { float:right; }
	#nav-buttons a.link-lang { color:#BBB; }
	#nav-buttons a.link-lang:first-child { margin-right:5px; }

#nav-sub-desktop { display:table; table-layout:fixed; width:100%; background-color:#277581; }
#nav-sub-desktop > div { display:table-row; }
#nav-sub-desktop > div > a { display:table-cell; padding:25px 15px; font-size:16px; text-align:center; vertical-align:middle; color:#ffffff; border-right:1px solid #009dbe; }
#nav-sub-desktop > div > a.selected, #nav-sub-desktop > div > a:hover { background-color:#009dbe; }

@media all and (max-width: 1080px) {
  #nav-desktop { display:none; }
  #nav-sub-desktop { display:block; }
  #nav-sub-desktop > div { display:block; width:100%; }
  #nav-sub-desktop > div > a { display:none; width:90%; padding:10px 5%; border-right:0; border-bottom:1px solid #009dbe; }
  #nav-sub-desktop > div > a.selected { display:block; background: url('files/2/Icon-panel-plus_2016-06-14-13-43.png') no-repeat 15px 0px;   }
  #nav-sub-desktop > div > a.hide { display:none; }
  #nav-sub-desktop > div > a.show { display:block; }
  #nav-sub-desktop > div > a.selected.show { background: url('files/2/Icon-panel-minus_2016-06-14-13-42.png') no-repeat 15px 0px; }
  
  .nav-spacer { height:62px; }
  #nav-mobile { display:block; border-bottom:2px solid #3398aa; position:fixed; top:0; left:0; width:100%; min-width:320px; z-index:500; background-color:#ffffff; }
  #logo-mobile { float:left; display:block; width:31px; height:46px; margin:6px 0 0 15px; }
	#but-mobile { float:right; width:30px; height:26px; padding:17px 15px; cursor:pointer; }
    #but-mobile > div { width:100%; height:6px; background-color:#7e7e7e; }
    #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 #7e7e7e; }
    #nav-mobile-menu a { display:block; border-bottom:1px solid #7e7e7e; background-color:#404040; color:#ffffff; height:31px; padding:15px 15px 0 15px; text-align:center; margin:0; text-transform:uppercase; }
    #nav-mobile-menu a:hover { background-color:#7e7e7e; color:#ffffff; }
    #nav-mobile-menu a.selected, #nav-buttons a.selected:hover { background-color:#3398aa; color:#ffffff; }
}

#nav-top > #but-urgence { display:inline-block; padding:12px 30px 6px 30px; background-color:#009dbe; color:#ffffff; line-height:1; font-size:16px; text-decoration:none; text-transform:uppercase; cursor:pointer; }
#nav-top > #but-tel { margin-top:30px; }
#menu-service { display:none; position:absolute; top:122px; background-color:#929397; }
#menu-service a { float:none; text-align:left; padding:10px 25px; margin:0; border-bottom:1px solid #686868; text-transform:none; }
#map { height:450px; }

/* Flip Card Anim */
a.f1_container { perspective:1000; z-index:1; display:block; position:relative; }
.f1_card { width:100%; height:100%; transform-style:preserve-3d; transition:all 0.9s ease; }
.f1_container:hover .f1_card { transform:rotateY(180deg); }
.face { position:absolute; width:100%; height:100%; backface-visibility:hidden; }
.face.back { display:block; transform:rotateY(180deg); }  

/* 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; }
#header-mobile { display:none; }
.slice-full { width:84%; padding:0 8%; }

@media all and (max-width: 919px) {
  #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; }
	
  .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%; } 

  .tiles-box > div > div { width:100%; padding:0 0 40px 0; }
  .tiles-box > div:last-child > div { padding-bottom:0; }
  
  .text-1x { font-size:14px; }
  h3 { font-size:16px; }
  .text-2x, h2 { font-size:20px; }
  .text-3x, h1 { font-size:23px; }
  .text-4x { font-size:30px; }
  
  .table.break > div { display:block; height:auto; text-align:left; }
  
  #map { height:300px; }
  #header-mobile { display:block; }
  #header-rotator, .header-full { display:none; }
  .header-rotator-box { width:100%; height:100%; font-size:32px; }
  .header-product-box { width:100%; height:100%; font-size:24px; }
  .square, .rectangle { width:48%; margin:5px 1%; }
  .rectangle { height:130px; }
  
}
@media all and (min-width: 920px) and (max-width: 1219px) {
	/* Desktop */
  #platform:before { content:"DESKTOP"; }
  
	.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; }
  
  .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; }

  .tiles-box > div > div { padding:5% 30px; height:90%; border-left:1px solid #c5c5c5;  }
  .tiles-box > div:first-child > div { padding-left:0; border-left:0; }
  .tiles-box > div:last-child > div { padding-right:0; }
  
  .text-1x { font-size:15px; }
  h3 { font-size:18px; }
  .text-2x, h2 { font-size:24px; }
  .text-3x, h1 { font-size:29px; }
  .text-4x { font-size:55px; }
  
  .header-rotator-box { width:30%; height:100%; font-size:23px; margin-left:8%; }
  .header-product-box { width:30%; height:100%; font-size:23px; margin-left:8%; }
  .square, .rectangle { width:24%; margin:5px 0.5%; }
  .rectangle { height:123px; }

}
@media all and (min-width: 730px) and (max-width: 919px) {
  .square, .rectangle { width:30%; margin:5px 0.5%; }
  .rectangle { height:123px; }
}
@media all and (min-width: 1220px) {
	/* Desktop Full */
  #platform:before { content:"DESKTOP-FULL"; }

	.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; }
  
  .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; }

  .tiles-box > div > div { padding:5% 30px; height:90%; border-left:1px solid #c5c5c5;  }
  .tiles-box > div:first-child > div { padding-left:0; border-left:0; }
  .tiles-box > div:last-child > div { padding-right:0; }
  
  .text-1x { font-size:16px; }
  h3 { font-size:20px; }
  .text-2x, h2 { font-size:24px; }
  .text-3x, h1 { font-size:29px; }
  .text-4x { font-size:55px; }
  
  .header-rotator-box { width:30%; height:100%; font-size:30px; margin-left:8%; }
  .header-product-box { width:30%; height:100%; font-size:36px; margin-left:8%; }
  .square, .rectangle { width:19%; margin:5px 0.5%; }
  .rectangle { height:116px; }
}
@media all and (min-width: 2000px) {
  .header-rotator-box { width:30%; height:100%; font-size:48px; margin-left:8%; }
  .header-product-box { width:30%; height:100%; font-size:48px; margin-left:8%; }
}


/* Contact */
#contact div { }
#contact input, 
#contact select, 
#contact textarea { width:95%; padding:12px 3% 11px 3%; margin:5px 0 15px 0; border:1px solid #404040; background-color:#ffffff; color:#4c4c4c; 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:#4c4c4c; font-size:14px; line-height:1; }
#mailing-email:focus { color:#4c4c4c; }
#mailing-button { width:36%; float:right; padding-left:0; padding-right:0; text-align:center; }

