/**
 * Project style sheet.
 *
 * @package    vanilla
 * @subpackage css
 * @author     Loops <evrard at h2a dot lu>
 * @version    SVN: $Id: styles.css 42 2013-07-02 10:34:45Z greg $
 */


/** Defaults ***/
html{ font-size: 62.5%; background: #000; }

/* declare the default font and color here */
body, button, input, select, textarea { font-size: 14px; font-size: 1.4rem; color: #666666; }

/* paragraphs */
p { margin: 0; line-height: 1.45; }
p + p { margin-top: 15px; margin-top: 1.5rem; }

/* links */
a { color: #8c1927; text-decoration: underline; }
a:hover,
a:focus,
a:active{ text-decoration: none; }


/* titles, will be usefull to have a class */
h1, .h1 { color: #8c1927; text-transform: uppercase; font-family: 'latobold', sans-serif; font-weight: normal; font-size: 19px; font-size: 1.9rem; }
h2, .h2 { color: #8c1927; text-transform: uppercase; font-family: 'latobold', sans-serif; font-weight: normal; font-size: 17px; font-size: 1.7rem; }
h3, .h3 { color: #8c1927; text-transform: uppercase; font-family: 'latobold', sans-serif; font-weight: normal; font-size: 15px; font-size: 1.5rem; }
h4, .h4 { color: #8c1927; font-family: 'latobold', sans-serif; font-weight: normal; font-size: 15px; font-size: 1.5rem; }
h5, .h5 { color: #333; font-family: 'latobold', sans-serif; font-weight: normal; font-size: 15px; font-size: 1.5rem; }
h6, .h6 { color: #333; font-family: 'latobold_italic', sans-serif; font-weight: normal; font-style: normal; font-size: 15px; font-size: 1.5rem; }

#main-content h1:first-child,
#main-content .h1:first-child,
#main-content h2:first-child,
#main-content .h2:first-child,
#main-content h3:first-child,
#main-content .h3:first-child,
#main-content h4:first-child,
#main-content .h4:first-child,
#main-content h5:first-child,
#main-content .h5:first-child,
#main-content h6:first-child,
#main-content .h6:first-child{ margin-top: 0; }

q{ font-family: Georgia, Times, "Times New Roman", serif; font-style: italic; color: #8d8d8d; position: relative; margin: 20px 0; margin: 2rem 0; padding-left: 55px; padding-left: 5.5rem; display: inline-block; }
q:before{ content: "”"; font-size: 45px; font-size: 4.5rem; border-right: 1px solid #8c1927; border-right: 0.1rem solid #8c1927; color: #8c1927; position: absolute; top: 0; left: 5px; left: 0.5rem; bottom: 0; right: auto; padding-right: 15px; padding-right: 1.5rem; }
address{ font-style: normal; }

/* lists */
ul, ol { margin: 0 0 20px; margin: 0 0 2rem; padding-left: 20px; padding-left: 2rem; }
li + li{ margin-top: 15px; margin-top: 1.5rem }

/* miscellaneous */
abbr[title] { border: 0 }
small, .small { font-size: 75%; }
big, .big { font-size: 150%; }

/* custom styles, must comes after to overwrote if necessary */

.font-0 { font-family: 'latobold', sans-serif; font-weight: normal; } /* content font family */
.font-1 { font-family: 'montserratregular', sans-serif; font-weight: normal; font-style: normal; } /* nav, footer, big title, section */
.font-2 { font-family: Georgia, Times, "Times New Roman", serif; } /* quote */

.cl-0 { color: #666666; } /* default color  => light grey */
.cl-1 { color: #fff; } /* white */
.cl-2 { color: #8c1927; } /* red */
.cl-2 { color: #333333; } /* dark grey */

/* we advice to use the same color for each number */
.bg-0 { background: #fff; } /* default color */
.bg-1 { background: #3f3f3f; } /* secondary color */
.bg-2 { background: #8c1927; } /* ... */
  

/*** Forms ***/

/* message */
.form-error { color: #c22b2b; }
.form-success { color: #008913; }
.form-notice { color: #008913; }

/* elements */
/* default */
select[name], textarea[name], input[type="text"], input[type="password"] {}
/* hover */
select[name]:hover, textarea[name]:hover, input[type="text"]:hover, input[type="password"]:hover {}
/* focus, active */
select[name]:focus, textarea[name]:focus, input[type="text"]:focus, input[type="password"]:focus,
select[name]:active, textarea[name]:active, input[type="text"]:active, input[type="password"]:active {}
/* error (by default #c22b2b) */
.form-row-error select[name], .form-row-error textarea[name], .form-row-error input[type="text"], .form-row-error input[type="password"] { border-color: #c22b2b; color: #c22b2b; }

/*
  Assistive text
******************/
.assistive-text { clip: rect(1px, 1px, 1px, 1px);  position: absolute !important; }
.assistive-text:active,
.assistive-text:focus{ background: #8c1927; border: 1px solid #fff; text-decoration: none; font-family: 'latobold', sans-serif; font-weight: normal; border: 0.1rem solid #fff; display: block; clip: auto !important; color: #fff; font-size: 14px; font-size: 1.4rem; padding: 10px; padding: 1rem; position: absolute; right: 0; top: 0; z-index: 5; }

/* Structure */
.site-width{ width: 1024px; width: 102.4rem; position: relative; }
  .page-title{ font-family: 'montserratregular', sans-serif; font-weight: normal; padding: 1px 0 1px 50px; padding: 1rem 0 1rem 5rem; color: #fff; min-width: 226px; min-width: 22.6rem; display: inline-block; background: #8c1927; margin: 0; font-size: 14px; font-size: 1.4rem; }
  .page-subtitle{ display: block; font-family: 'montserratregular', sans-serif; font-weight: normal; margin: 1px 0 80px 50px; margin: 0.1rem 0 8rem 5rem; max-width: 650px; max-width: 65rem; font-size: 28px; font-size: 2.8rem; }
    .subtitle-txt{ color: #fff; background: #000; background: rgba(0, 0, 0, 0.4); display: inline; line-height: 1.5; text-transform: none; padding: 2px 0; padding: 0.2rem 0; }
  .content{ margin-bottom: 50px; margin-bottom: 5rem; }
  
  #main-content{ background: #fff; width: 100%; max-width: 450px; max-width: 45rem; padding: 30px 50px; padding: 3rem 5rem; }
    #main-content.team_index{ background: none; max-width: 974px; max-width: 97.4rem; padding-right: 0; }
  #secondary-nav + #main-content{ max-width: 648px; max-width: 64.8rem; float: left; }
  
  #secondary-nav{ float: left; width: 100%; max-width: 226px; max-width: 22.6rem; padding-left: 50px; padding-left: 5rem; background: #000; background: rgba(0, 0, 0, 0.8); }
    .secondary-nav-listing{ margin: 25px 0; margin: 2.5rem 0; }
      .secondary-nav-item{ display: block; }
        .secondary-nav-item + .secondary-nav-item{ border-top: 1px solid #666; border-top: 0.1rem solid #666; margin: 0; }
      .secondary-nav-link{ display: block; text-decoration: none; text-transform: uppercase; color: #898989; font-family: 'montserratregular', sans-serif; font-weight: normal; font-size: 12px; font-size: 1.2rem; padding: 12px 10px 12px 0; padding: 1.2rem 1rem 1.2rem 0; }
      .secondary-nav-link:hover,
      .secondary-nav-link:focus,
      .secondary-nav-link:active,
      .secondary-nav-link.active{ color: #fff; }
   #js-generated-selectnav{ display: none; }
      
   #langswitch-nav{ position: absolute; top: 67px; top: 6.7rem; left: 1024px; left: 102.4rem; }
    #langswitch-nav .langswitch-item{ display: block; margin: 0; }
    #langswitch-nav .langswitch-item + .langswitch-item{ margin-top: 1px; margin-top: 0.1rem; }
    #langswitch-nav .langswitch-link{ display: block; text-align:center; color: #fff; text-decoration: none; font-size: 11px; font-size: 1.1rem; font-family: 'montserratregular', sans-serif; font-weight: normal; text-transform: uppercase; padding: 6px; padding: 0.6rem; background: #6e6c6c; }
    #langswitch-nav .langswitch-link:hover,
    #langswitch-nav .langswitch-link:focus,
    #langswitch-nav .langswitch-link:active,
    #langswitch-nav .langswitch-link.active{ background: #8c1927; }
      
    
/* Contact */
#main-content .vcard{ line-height: 1.4; }
#main-content .vcard .org{ color: #8c1927; text-transform: uppercase; font-family: 'latobold', sans-serif; font-weight: normal; font-size: 15px; font-size: 1.5rem; }
#main-content .vcard .tel,
#main-content .vcard .fax{ display: block; }
.vcard .tel:before{ content: "T : "; }
.vcard .fax:before{ content: "F : "; }

.gmap{ padding-bottom: 40%; }

/* Header */
#goto-primary-nav{ display: none; }
.main-header{ margin: 0 0 80px; margin: 0 0 8rem; padding-top: 60px; padding-top: 6rem; }
  .logo-wrapper{ float: left; }
    .logo-wrapper a{ padding: 22px 30px 22px 85px; padding: 2.2rem 3rem 2.2rem 8.5rem; background: #8c1927; display: block; }
    .logo-wrapper img{ width: 161px; width: 16.1rem; height: auto; }

/* Main nav */
#main-nav{ position: absolute; left: 276px; left: 27.6rem; top: 67px; top: 6.7rem; right: 0; height: 72px; height: 7.2rem; max-width: 1024px; max-width: 102.4rem; background: #fff; display: block; }
  .nav-item{ float: left; display: block; padding: 0 35px; padding: 0 3.5rem; position: relative; }
    .nav-item + .nav-item{ margin: 0; }
    .nav-item + .nav-item:after{ content: " "; display: block; width: 1px; width: 0.1rem; height: 23px; height: 2.3rem; background: #d9d9d9; top: 25px; top: 2.5rem; left: 0; position: absolute; }
    .nav-link{ font-size: 14px; font-size: 1.4rem; color: #666666; text-decoration: none; font-family: 'montserratregular', sans-serif; font-weight: normal; text-transform: uppercase; border-bottom: 3px solid #fff; border-bottom: 0.3rem solid #fff; display: block; padding: 28px 0 24px 0; padding: 2.8rem 0 2.4rem 0; }
      .nav-link:hover,
      .nav-link:focus,
      .nav-link:active{ color: #8c1927; }
      .nav-link.active{ color: #8c1927; border-bottom-color: #8c1927; }

/* Footer */
  /* Sticky */
  html, body, .site-width{ height: 100%; }
  .wrapper{ min-height: 100%; height: auto !important; height: 100%; margin: 0 auto -38px; margin: 0 auto -3.8rem; }
  .main-footer, .push{ height: 38px; height: 3.8rem; clear: both; }
.main-footer{ overflow: hidden; text-transform: uppercase; color: #fff; background: #000; background: rgba(0, 0, 0, 0.45); font-size: 10px; font-size: 1rem; font-style: normal; font-family: "montserratregular", sans-serif; padding: 13px 20px 13px 50px; padding: 1.3rem 2rem 1.3rem 5rem; max-width: 954px; max-width: 95.4rem; position: relative; }
  .footer-adr{ float: left; }
  .footer-adr .email{ display: none; }
  .footer-adr .block{ display: inline; margin-right: 10px; margin-right: 1rem; }
  .footer-adr .tel,
  .footer-adr .adr{ margin: 0 10px; margin: 0 1rem; }
  .footer-adr a{ color: #fff; }
  .h2a-link{ float: right; }
    .h2a-link a{ color: #fff; text-decoration: none; }
    .h2a-link a:hover,
    .h2a-link a:focus,
    .h2a-link a:active{ text-decoration: underline; }

/* Team */
  .team-subtitle{ visibility: hidden; }
  .team-content { background: #fff; margin: 0 0 25px; margin: 0 0 2.5rem; padding: 30px 50px; padding: 3rem 5rem; }
  .team-listing{ margin-left: -2.6%; }
    .team-item{ float: left; display: block; width: 23.1%; margin-left: 2.48%; max-width: 225px; max-width: 22.5rem; margin-bottom: 150px; margin-bottom: 15rem; position: relative; }
      .team-item + .team-item{ margin-top: 0; }
      .team-link{ text-decoration: none; }
      .team-item figure{ position: relative; z-index: 1; }
        .team-image-2{ position: absolute; top: 0; left: 0; z-index: -1; width: 100%; }
        .team-image{ position: relative; z-index: 1; width: 100%; }
        .team-name{ position: absolute; bottom: 0; right: 0; left: 0; background: #000; background: rgba(0, 0, 0, 0.45); z-index: 3; color: #fff; text-decoration: none; text-align: center; padding: 15px; padding: 1.5rem; font-family: 'montserratregular', sans-serif; font-weight: normal; font-style: normal; font-size: 12px; font-size: 1.2rem; text-transform: uppercase; }
      
      .team-desc{ display: none; background: #fff; padding: 30px; padding: 3rem; color: #666666; position: absolute; top: 100%; width: 211%; z-index: 5; }
        .team-desc:before{ content: " "; display: block; width: 0; height: 0; border-left: 9px solid transparent; border-right: 9px solid transparent; border-bottom: 10px solid #fff; border-left: 0.9rem solid transparent; border-right: 0.9rem solid transparent; border-bottom: 1rem solid #fff; position: absolute; top: -10px; top: -1rem; left: 30px; left: 3rem; }
        .team-desc .fake-link{ background: #f1f1f1; font-size: 10px; font-size: 1rem; text-transform: uppercase; font-family: 'montserratregular', sans-serif; font-weight: normal; font-style: normal; position: absolute; right: 0; bottom: 0; display: block; padding: 10px; padding: 1rem; text-align: center; }
        
        /* Super backflip */
        .fourth-item .team-desc{ margin-left: -111%; }
          .fourth-item .team-desc:before{ left: auto; right: 35px; right: 3.5rem; }
        
        
      /* Hover effect */
      .team-link:hover .team-image-2,
      .team-link:focus .team-image-2,
      .team-link:active .team-image-2{ z-index: 2; }
      
      .team-link:hover .team-name,
      .team-link:focus .team-name,
      .team-link:active .team-name{ background: #f1f1f1; color: #8c1927; }
      
      .team-link:hover .team-desc,
      .team-link:focus .team-desc,
      .team-link:active .team-desc{ display: block; }


/*** Media queries ***/
@media screen and (min-width: 0px){
  
  .site-width{ max-width: 1024px; max-width: 102.4rem; width: 100%; }
  
}
/* 1080px */
@media screen and (max-width: 67.5em){
  
  .site-width,
  #main-nav,
  #main-content.team_index{ max-width: none; }
    #main-content.team_index{ padding-bottom: 0; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; padding-right: 50px; padding-right: 5rem; }
  
  #langswitch-nav{ left: auto; right: 0; top: 15px; top: 1.5rem; }
  .main-footer{ max-width: none; width: 100%; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }
  .nav-item{ padding: 0 3.3%; }
  
  #secondary-nav{ width: 21%; max-width: none; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }
  #secondary-nav + #main-content{ width: 79%; max-width: none; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }
  
  .team-item{ width: 47.52%; max-width: none; margin-bottom: 50px; margin-bottom: 5rem; }
    .team-item figure{ float: left; width: 47%; }
    .team-item figure img{ max-width: 100%; }
    .team-desc,
    .fourth-item .team-desc{ float: left; display: block; width: 53%; position: relative; top: 0; margin-left: 0; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }
      .team-desc:before,
      .fourth-item .team-desc:before{ border: none; border-top: 9px solid transparent; border-bottom: 9px solid transparent; border-right: 1rem solid #fff; border-top: 0.9rem solid transparent; border-bottom: 0.9rem solid transparent; border-right: 10px solid #fff; left: -10px; left: -1rem; top: 30px; top: 3rem; }
      
    .team-item:nth-child(2n+1){ clear: left; }
}

/* 768px */
@media screen and (max-width: 48em){
  
  html{ background-color: #fff; }
  
  body{ font-size: 16px; font-size: 1.6rem; }
  
  .content{ margin-bottom: 0; }
  .main-header{ margin: 0 0 330px; margin: 0 0 33rem; padding-top: 0; }
  .logo-wrapper{ float: none; background: #8C1927; }
  .logo-wrapper a{ padding: 22px 0 22px 50px; padding: 2.2rem 0 2.2rem 5rem; margin-right: 60px; margin-right: 6rem; min-height: 45px; min-height: 4.5rem; line-height: 45px; line-height: 4.5rem; }
    .logo-wrapper img{ display: inline-block; height: auto; max-width: 100%; vertical-align: middle; }
  .background-wrapper{ position: absolute; top: 140px; top: 14rem; bottom: auto; height: 280px; height: 28rem; background-attachment: scroll; }
  #langswitch-nav{ top: 90px; top: 9rem; z-index: 50; }
    #langswitch-nav .langswitch-link{ padding: 5px; padding: 0.5rem; }

  #main-nav{ top: 89px; top: 8.9rem; left: 0; right: 0; height: 50px; height: 5rem; }
    .nav-item:first-child{ padding-left: 50px; padding-left: 5rem; }
    .nav-item + .nav-item:after{ top: 15px; top: 1.5rem; }
    .nav-link{ padding: 17px 0 13px; padding: 1.7rem 0 1.3rem; }
  
  .page-title{ width: 100%; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; padding: 1rem 5rem; min-width: 0; }
  
  .page-subtitle{ margin: 25px 50px 10px; margin: 2.5rem 5rem 1rem; max-width: none; line-height: 1; }
  .subtitle-txt{ background: none; color: #8c1927; font-size: 23px; font-size: 2.3rem; padding: 0; line-height: 1; }
  .no-js #secondary-nav{ width: 100%; padding: 0 5rem; }
  #main-content,
  #secondary-nav + #main-content{ width: 100%; max-width: none; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }
  
  #secondary-nav{ display: none; }
  #js-generated-selectnav{ padding: 15px 0; padding: 1.5rem 0; border-bottom: 1px solid #8c1927; border-bottom: 0.1rem solid #8c1927; margin: 0 50px; margin: 0 5rem; display: block; text-align: center; }
  #js-generated-selectnav-menu{ display: inline; text-align: left; color: #090909; }
  
  .main-footer{ background: #525252; padding: 15px 50px 5px; padding: 1.5rem 5rem 0.5rem; }
  .main-footer .vcard,
  .main-footer .vcard .org,
  .main-footer .vcard .adr{ display: block; margin: 0 0 10px; margin: 0 0 1rem; }
  
  .main-footer .vcard .tel{ margin-left: 0; }
  .h2a-link{ position: absolute; bottom: 15px; right: 15px; bottom: 1.5rem; right: 1.5rem; }
  
  /* Sticky */
  .wrapper{ margin: 0 auto -87px; margin: 0 auto -8.7rem; }
  .main-footer, .push{ height: 87px; height: 8.7rem; }
  
  .team-content { margin: 0 0 50px; margin: 0 0 5rem; padding: 0; }
  .team-listing{ margin: 0; }
  .team-item{ float: none; margin: 0; width: 100%; overflow: hidden; background: #f1f1f1; margin-bottom: 25px; margin-bottom: 2.5rem; }
    .team-desc{ background: #f1f1f1; }
      .team-desc:before, .fourth-item .team-desc:before{ border-right-color: #f1f1f1; }
  
}

/* 560px */
@media screen and (max-width: 35em){
  
  .background-wrapper{ height: 200px; height: 20rem; top: 90px; top: 9rem; }
  .main-header{ margin-bottom: 200px; margin-bottom: 20rem; }
    
  #goto-primary-nav{ display: block; height: 18px; height: 1.8rem; width: 28px; width: 2.8rem; display: block; text-indent: -9999px; font-size: 0; position: absolute; top: 45px; right: 15px; top: 4.5rem; right: 1.5rem; background: url('./images/goto-icon.png') no-repeat 0 0 transparent; background-size: contain; opacity: 0.5; }
    #goto-primary-nav:hover,
    #goto-primary-nav:focus,
    #goto-primary-nav:active{ opacity: 1; }
  #main-nav{ position: static; padding: 20px 50px; padding: 2rem 5rem; height: auto; background: #eaeaea; }
    #main-nav .nav-item{ text-align: center; float: none; display: block; width: 100%; padding: 0; }
      #main-nav .nav-item:after{ display: none; }
      
      .nav-link{ border: none; padding: 12px 0; padding: 1.2rem 0; }
      .nav-link.active{ border-bottom: 1px solid #8c1927; border-top: 1px solid #8c1927; border-bottom: 0.1rem solid #8c1927; border-top: 0.1rem solid #8c1927; }
      
   .main-footer .vcard .street-address,
   .main-footer .vcard .tel,
   .main-footer .vcard .fax{ display: block; margin-bottom: 10px; margin-bottom: 1rem; }
  
  /* Sticky */
  .wrapper{ margin: 0 auto -132px; margin: 0 auto -13.2rem; }
  .main-footer, .push{ height: 132px; height: 13.2rem; }
   
   .team-item{ background: none; width: 225px; width: 22.5rem; margin: 0 auto 25px; margin: 0 auto 2.5rem; }
   .team-item figure,
   .team-desc,
   .fourth-item .team-desc{ float: none; width: auto; }
    
  
}

/* 470px */
@media screen and (max-width: 29.375em){
  
  .logo-wrapper a,
  .page-title,
  #main-content,
  #main-nav,
  .main-footer,
  #main-content.team_index{ padding-left: 15px; padding-right: 15px; padding-left: 1.5rem; padding-right: 1.5rem; }
  
  .page-subtitle,
  #js-generated-selectnav{ margin-left: 15px; margin-right: 15px; margin-left: 1.5rem; margin-right: 1.5rem; }
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
  /* Style adjustments for retina devices */
  #goto-primary-nav{ background-image: url('./images/goto-icon_x2.png'); background-size: 28px 18px; }
}
  
