/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */

html,
button,
input,
select,
textarea {
    color: #555;
}

html {
    font-size: 1em;
    line-height: 1.4;
}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
img,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

.browsehappy {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}


body {
    font: 16px/26px Tahoma, Helvetica, Helvetica Neue, Arial;
    background: #fcfbf3; /* beige */
    background: #fff;
    background: #ffd441; /* strong yellow */
}

.wrapper {
    width: 90%;
    margin: 0 5%;
}

/* ===================
    ALL sizes
   =================== */

.header-container {
/*  border-top: 4px solid #2e659d; */
  border-bottom: 4px solid #2d597c; /*  bleu fonce */
  background: #fcfbf3; /* beige pale */
  background: #ffd441; /* strong yellow */
  overflow: hidden;
  width: 100%;
  position: fixed;
}

.footer-container {
/*  background: #fcfbf3; */
  background: #ffd441; /* strong yellow */
  border-top: 4px solid #2d597c;
}

.main-container {
  background: #fff;
}

.main aside div.block {
  border-top: 4px solid #b1342b; /* Maroon */
  background: #fcfbf3;
}

.main > article {
  margin-top: 83px;
  transition: margin 0.5s;
}

.main > article.active {
  margin-top: 350px;
}

.main aside {
  margin-top: 2em;
}

/* ==============
    MOBILE: Menu
   ============== */
nav {
  max-height: 0px;
  overflow: hidden;
  transition: height, max-height 0.5s;
}

nav.visible {
  max-height: 400px;
}

nav.resetting {
  transition: none;
}

nav ul {
  margin: 0;
  padding: 0;
}

nav ul li {
  display: block;
  background: #2d597c;
  text-align: center;
  padding: 15px 0;
  margin: 10px 0 10px 0;
}

nav ul li:first-child {
  margin-top: 0;
}

nav a {
  display: block;
  text-decoration: none;
  font-weight: bold;

  color: #fff;
}

nav a:hover,
nav a:visited {
/*  color: white; */
}

nav a:hover {
  text-decoration: underline;
}

/* ==============
    MOBILE: Main
   ============== */

.main-container .main {
    padding: 0 0 2em 0;
}

.main-container .main article h1 {
  font-size: 2em;
}

.main-container .main aside div.block {
/*    color: white; */
    padding: 0px 5% 2em;
    margin-bottom: 2em;
}

.main-container .footer-container footer {
    color: #2d597c;
    padding: 20px 0;
}

.footer-container footer a {
  color: #2d597c;
}

.footer-container footer a:hover {
  color: #b1342b;
}
/* ===============
    ALL: IE Fixes
   =============== */

.ie7 .title {
    padding-top: 20px;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */


header h1.title {
  display: none;
}

header img.logo {
  margin: 10px 0 10px 0;
  width: 240px;
/*  height: 43px; */
}

#nav-button {
  background: url('../images/menu-icon.svg') no-repeat center center;
  display: block;
  border: 1px solid #2e659d;
  float: right;
  width: 40px;
  height: 30px;
  text-align: center;
  margin-top: 10px;
  padding-top: 9px;
  outline: none;
  text-decoration: none;
  font-size: 37px;
  color: #234669;
  overflow: hidden;
}

#nav-button.active {
  border: 1px inset #2e659d;
}


h1,h2,h3,h4,h5,h6 {
  color: #b1342b; /* maroon */
  color: #96b41e; /* olive */
  color: #2d597c; /* bleu fonce */
  line-height: 1.2;
}

aside .block h1, aside .block h2, aside .block h3, aside .block h4, aside .block h5, aside .block h6 {
  color: #b1342b;
}

/* ================================
   Form styles
   ================================= */

form {
    background-color: #fafafa;
    border-radius: 5px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
    margin: 1em 0;
    padding: 1em;
    position: relative;
}

.error-messages {
  background-color: #f1d7d7;
  color: #a95252;
  border-radius: 0.325em;
  box-sizing: border-box;
  height: auto;
  line-height: 1.33;
  margin: 1em 0;
  min-height: 18px;
  padding: 1em;
  position: relative;
  transition: opacity 0.1s ease 0s, color 0.1s ease 0s, background 0.1s ease 0s, box-shadow 0.1s ease 0s;
}

.error-messages h1,
.error-messages h2,
.error-messages h3 {
  color: #a95252;
  margin-top: 0;
}

form .field {
  margin: 0 0 1em 0;
}

form .field label {
  display: block;
}

form .fields {
  clear: both;
}

form .fields:after {
  clear: both;
  content: " ";
  display: block;
  height: 0;
  line-height: 0;
  visibility: hidden;
}

form .field input,
form .field textarea {
  width: 100%;
}


form input[type="text"], form input[type="email"],
form input[type="password"], form input[type="search"],
form input[type="tel"], form textarea {
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0.3125em;
  box-shadow: 0 0 rgba(0, 0, 0, 0.3) inset;
  box-sizing: border-box;
  color: rgba(0, 0, 0, 0.7);
  font-size: 1em;
  margin: 0;
  outline: 0 none;
  padding: 0.65em 1em;
  transition: background-color 0.3s ease-out 0s, box-shadow 0.2s ease 0s, border-color 0.2s ease 0s;
}

form input[type="text"]:focus, form input[type="email"]:focus,
form input[type="password"]:focus, form input[type="search"]:focus,
form input[type="tel"]:focus, form textarea:focus {
  border-color: rgba(0,0,0,0.3);
  box-shadow: 0.3em 0 0 0 rgba(0,0,0,0.2) inset;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}

form .field.with-error input[type="text"], form .field.with-error input[type="email"],
form .field.with-error input[type="password"], form .field.with-error input[type="search"],
form .field.with-error input[type="tel"], form .field.with-error textarea {
    background-color: snow;
    border-bottom-left-radius: 0;
    border-color: #e7bebe #e7bebe #e7bebe -moz-use-text-color;
    border-left: medium none;
    border-top-left-radius: 0;
    box-shadow: 0.3em 0 0 0 #d95c5c inset;
    color: #d95c5c;
    padding-left: 1.2em;
}


.button {
    -moz-user-select: none;
    background-color: #fafafa;
    background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.05));
    border: medium none;
    border-radius: 0.25em;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08) inset;
    box-sizing: border-box;
    color: gray;
    cursor: pointer;
    display: inline-block;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    margin: 0;
    min-height: 1em;
    outline: 0 none;
    padding: 0.8em 1.5em;
    text-align: center;
    text-decoration: none;
/*    text-transform: uppercase; */
    transition: opacity 0.25s ease 0s, background-color 0.25s ease 0s, color 0.25s ease 0s, background 0.25s ease 0s, box-shadow 0.25s ease 0s;
    vertical-align: middle;
}

.button:hover {
    background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.08));
    color: rgba(0, 0, 0, 0.7);
    text-decoration: none;
}

.button.blue {
  background-color: #2d597c;
  color: #f0f0f0;
}

.button.blue:hover {
  background-image: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.15));
  color: #fff;
}

.button a {
  color: #f0f0f0;
  text-decoration: none;
}

.button a:hover {
  color: #fff;
  text-decoration: none;
}

.button.centered {
  display: block;
  margin: auto;
  width: 50%;
}

/* ==========================================================================
   Media Queries
   ========================================================================== */


@media only screen and (min-width: 768px) {

    .header-container {
      position: static;
    }

/* ============
    WIDE: Menu
   ============ */

    #nav-button {
      display: none;
    }

    nav {
      transition: none;
      max-height: 400px;
      width: 100%;
      float: none;
    }

    nav ul li {
      display: inline-block;
      margin: 0 5px 0 5px;
      width: 23.3%;
    }

    nav a {
      display: inline-block;
    }

    nav li:first-child {
        margin-left: 0;
    }

    nav li:last-child {
        margin-right: 0;
    }

/* ============
    WIDE: Main
   ============ */

    .main > article {
      min-height: 500px;
      margin-top: 0px;
    }

    .main article,
    footer .main {
        float: left;
        width: 57%;
    }

    footer .main section {
      float: left;
      width: 50%;
    }

    .main aside,
    footer aside {
        float: right;
        width: 34%;
    }

    .main article.wide {
      width: 100%;
    }

    .main .two.columns .column:first-child {
      width: 49%;
      margin: 0 1% 0 0;
      float: left;
    }

    .main .two.columns .column:last-child {
      width: 49%;
      margin: 0 0 0 1%;
      float: left;
    }

/* ===============
   WIDE: Footer
   ================ */

   footer section.first {
    width: 32%;
    float: left;
   }


}



@media only screen and (min-width: 818px) {

  nav ul li {
    width: 23.4%;
  }


/* ====================
   WIDE: forms
   ===================== */

  form {
    max-width: 800px;
  }

  form .two.fields > .field, form .two.fields > .fields {
    padding-left: 1%;
    padding-right: 1%;
    width: 48%;
    float: left;
  }

  form .two.fields > .field:first-child {
    padding-left: 0;
  }

  form .two.fields > .field:last-child {
    padding-right: 0;
  }


  form .field.half {
    width: 48%;
  }


}


@media only screen and (min-width: 875px) {

  nav ul li {
    width: 22.6%;
  }

}

/*

@media only screen and (min-width: 1024px) {

  nav ul li {
    width: 23.7%;
  }

}

@media only screen and (min-width: 1110px) {

  nav ul li {
    width: 23.8%;
  }

}

*/

@media only screen and (min-width: 1024px) {


  header img.logo {
    float: left;
    margin: 15px 0 5px 0;
    width: 300px;
  }

  nav {
    float: right;
    width: 600px;
    margin-top: 25px;
    text-align: right;
  }

  nav ul li {
    width: 23%;
  }

}

@media only screen and (min-width: 1140px) {

/* ===============
    Maximal Width
   =============== */

    .wrapper {
        width: 1026px; /* 1140px - 10% for margins */
        margin: 0 auto;
    }
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

.hidden {
    display: none !important;
    visibility: hidden;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {
    * {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}