@charset "UTF-8";
/* UTF-8 déclaré avant toute chose */

/******************************************************************
 * ROCSSTI : une base CSS par Nicolas Hoffmann http://rocssti.nicolas-hoffmann.net/
 * inspiré par http://www.knacss.com/
 *
 * ROCSSTI est sous licence CC-BY : http://creativecommons.org/licenses/by/3.0/fr/
 * 
 * cette CSS est fournie telle quelle, sans aucune garantie d'aucun type, 
 * l'auteur ne saurait être tenu responsable de quoi que ce soit pour 
 * l'utilisation de RÖCSSTI.
 * 
 * résumé
 * 01 -- reset
 * 02 -- webfonts  + structure Hx
 * 03 -- classes utilitaires + fix typos + styles "balises fixes"
 * 04 -- liens + icônes
 * 05 -- layout et modules
 * 06 -- structure (page / menuaccess / header / main content / footer)
 * 07 -- forms
 * 08 -- dans le contenu
 * 09 -- breakpoints mineurs entre desktop et tablettes
 * 10 -- tablettes - breakpoint majeur
 * 11 -- breakpoints mineurs entre tablettes et mobile
 * 12 -- mobile - breakpoint majeur
 * 13 -- breakpoints mineurs tout petit mobile
 * 14 -- print
 * 15 -- fix viewport 
 * 16 -- bonus : Fixes IE
 */




/*
 *****************************************************************
 * 1 -- reset
 *****************************************************************
 */

/* spécial HTML 5 */
article, aside, audio, canvas, datagrid, datalist, details, dialog, figure, footer, header, main, menu, nav, section, video { display: block; }
abbr, eventsource, mark, meter, time, progress, output, bb { display: inline; }

/* reset minimum */
html, body, blockquote, ul, ol, form { margin: 0; padding: 0; }
p, ul, ol, dl, blockquote, pre, td, th, label, textarea {
  font-size: 1em; /* equiv 14px */
  line-height: 1.5;
  margin: 1.5em 0;
}
ul, ol { padding-left: 2em; }


/* la base correspond à 10px */
html { font-size: 62.5%; }
body {
  background: #58a0d6 url(../images/bg-vache.jpg) no-repeat right top;
  color: #333;
  font-family: 'open_sans', Times, sans-serif;
  font-size: 1.4em; /* taille de base équiv à 14px */
  line-height: 1.5; /* à corriger si besoin est */
}




/*
 *****************************************************************
 * 02 -- webfonts  + structure Hx
 *****************************************************************
 */ 
@font-face {
    /*font-family: 'open_sanslight';*/
	font-family: 'open_sans';
    src: url('webfonts/opensans-light-webfont.eot');
    src: url('webfonts/opensans-light-webfont.eot#iefix') format('embedded-opentype'),
         url('webfonts/opensans-light-webfont.woff') format('woff2'),
         url('webfonts/opensans-light-webfont.woff') format('woff'),
         url('webfonts/opensans-light-webfont.ttf') format('truetype'),
         url('webfonts/opensans-light-webfont.svg') format('svg');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    /*font-family: 'open_sanssemibold';*/
	font-family: 'open_sans';
    src: url('webfonts/opensans-semibold-webfont.eot');
    src: url('webfonts/opensans-semibold-webfont.eot#iefix') format('embedded-opentype'),
         url('webfonts/opensans-semibold-webfont.woff') format('woff2'),
         url('webfonts/opensans-semibold-webfont.woff') format('woff'),
         url('webfonts/opensans-semibold-webfont.ttf') format('truetype'),
         url('webfonts/opensans-semibold-webfont.svg') format('svg');
    font-weight: bold;
    font-style: normal;
}
@font-face {
    /*font-family: 'open_sanslight_italic';*/
	font-family: 'open_sans';
    src: url('webfonts/opensans-lightitalic-webfont.eot');
    src: url('webfonts/opensans-lightitalic-webfont.eot#iefix') format('embedded-opentype'),
         url('webfonts/opensans-lightitalic-webfont.woff') format('woff2'),
         url('webfonts/opensans-lightitalic-webfont.woff') format('woff'),
         url('webfonts/opensans-lightitalic-webfont.ttf') format('truetype'),
         url('webfonts/opensans-lightitalic-webfont.svg') format('svg');
    font-weight: normal;
    font-style: italic;
}


/* calculées via http://soqr.fr/vertical-rhythm/ merci @goetter & @eQRoeil */

h1,
.h1 {
  display: block;
  font-size:  1.8571em; /* equiv 26px */
  line-height: 1.6154;
  margin: 1.6154em 0 .8077em 0;
}
h2,
.h2 {
  display: block;
  font-size: 1.7143em; /* equiv 24px */
  line-height: 1.75;
  margin: 1.75em 0 .875em 0;
}
h3,
.h3 {
  display: block;
  font-size: 1.5714em; /* equiv 22px */
  line-height: 1.909;
  margin: 1.909em 0 .9545em 0;
}
h4,
.h4 {
  display: block;
  font-size: 1.4286em; /* equiv 20px */
  line-height: 1.05;
  margin: 2.1em 0 1.05em 0;
}
h5,
.h5 {
  display: block;
  font-size: 1.2857em; /* equiv 18px */
  line-height: 1.1667;
  margin: 2.3334em 0 1.1667em 0;
}
h6,
.h6 {
  display: block;
  font-size: 1.1429em; /* equiv 16px */
  line-height: 1.3125;
  margin: 2.625em 0 1.3125em 0;
}

.uppercase {
  text-transform: uppercase;
}

/* autres classes utiles */
.smaller {
  font-size: .7143em; /* equiv 10px */
  line-height: 2.1;
  margin: 2.1em 0;
}
.small {
  font-size: .8571em; /* equiv 12px */
  line-height: 1.75;
  margin: 1.75em 0;
}
.big {
  font-size: 1.1429em; /* equiv 16px */
  line-height: 1.3125;
  margin: 1.3125em 0;
}
.bigger {
  font-size: 1.2857em; /* equiv 18px */
  line-height: 1.1667;
  margin: 1.1667em 0;
}
.biggest {
  font-size: 1.4286em; /* equiv 20px */
  line-height: 1.05;
  margin: 1.05em 0;
}




/*
 *****************************************************************
 * 03 -- classes utilitaires + fix typos + styles "balises fixes"
 *****************************************************************
 */

.noborder,
iframe { border: 0; }

table {
  table-layout: fixed;
}

/* éviter interlignage disgracieux */
sup,
sub {
  vertical-align: 0;
  position: relative;
}
sup {
  bottom: 1ex;
}
sub {
  top: .5ex;
}

/* éviter problèmes de margin */
h1:first-child,.h1:first-child,
h2:first-child,.h2:first-child,
h3:first-child,.h3:first-child,
h4:first-child,.h4:first-child,
h5:first-child,.h5:first-child,
h6:first-child,.h6:first-child {
  margin-top: 0;
}
/* virer marge basse sur dernier enfant */
p:last-child,
ul:last-child,
ol:last-child,
dl:last-child,
blockquote:last-child,
pre:last-child,
table:last-child {
  margin-bottom: 0;
}

/* éviter marges supplémentaires sur éléments imbriqués */
li p,
li ul {
  margin-bottom: 0;
  margin-top: 0;
}
/* Activation de la césure */
textarea,
table,
td,
th,
code,
pre,
samp,
div,
p {
  word-wrap: break-word;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  -o-hyphens: auto;
  hyphens: auto;
}
/* pour supprimer la césure si besoin */
.nocut {
  word-wrap: normal;
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  -o-hyphens: none;
  hyphens: none;
}

code,
pre,
samp {
  white-space: pre-wrap;
}
code {
  line-height: 1;
}
kbd {
  border: solid 1px;
  border-top-left-radius: .5em;
  border-top-right-radius: .5em;
  padding: 0 .25em;
}
table {
  margin-bottom: 1.5em;
}
/* Abbréviations, sigles, etc. */
/* seuls ceux ayant un title sont signalés */
abbr[title] {
  border-bottom: dotted 1px; 
  cursor: help;
  /* couleur héritée du texte */
} 

/* alignements de textes */
.alignright  { text-align: right; }
.aligncenter { text-align: center; }
.alignleft   { text-align: left; }
.aligntop    { vertical-align: top; }
.alignbottom { vertical-align: bottom; }
.alignmiddle { vertical-align: middle; }




/*
 *****************************************************************
 * 04 -- liens + icônes
 *****************************************************************
 */

/* Liens */
a {
  color: #5d5d5d;
  cursor: pointer;
  text-decoration: none;
}
/* penser au focus */
a:focus,
a:hover,
a:active {
  color: #000;
}
/* éviter la bordure sur une image comprise dans un lien + fix bordure image IE */
a:link img,
a:visited img, 
img {
  border-style: none;
}

/* liens avec icônes, on peut utiliser les DATA-URI */





/*
 *****************************************************************
 * 05 -- layout et modules
 *****************************************************************
 */

/* éviter les dépassements */
img,
table,
td,
blockquote,
code,
pre,
textarea,
input {
  height: auto;
  max-width: 100%;
}
/* pas de reset sur embed, object et video, certains players n'aiment pas */

/* utile pour gérer les floattants */
/* contient des floats */
.mod { 
  overflow: auto;
}

/* quelques floattants */
.left {
  float: left;
}
.right {
  float: right;
}

/* clearer les floats */
.clear {
  clear: both;
}
.clearleft {
  clear: left;
}
.clearright {
  clear: right;
}
.clearhidden {
  clear: both;
  margin: 0;
  padding: 0;
  visibility: hidden;
}
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

/* gouttière */
.gut {
  height: 1px;
}

/* gestion du table-design en CSS */
.row {
  display: table;
  table-layout: fixed;
}
.col {
  display: table-cell;
  vertical-align: top;
}
.col-noalign {
  display: table-cell;
}


/* bloc centré */
.margesauto {
  margin-left: auto;
  margin-right: auto;
}


/* largeurs de blocks */
.w1   { width: 1%; }
.w2   { width: 2%; }
.w3   { width: 3%; }
.w5   { width: 5%; }
.w10  { width: 10%; }
.w20  { width: 20%; }
.w25  { width: 25%; }
.w30  { width: 30%; }
.w33  { width: 33.333%; }
.w40  { width: 40%; }
.w45  { width: 45%; }
.w49  { width: 49%; }
.w50  { width: 50%; }
.w60  { width: 60%; }
.w66  { width: 66.666%; }
.w70  { width: 70%; }
.w75  { width: 75%; }
.w80  { width: 80%; }
.w90  { width: 90%; }
.w100 { width: 100%; }

/* ici ajouter les largeurs en pixels */

/* ici ajouter les largeurs max en pixels */

/* margins */
.mt0 { margin-top: 0; }
.mt1 { margin-top: 1em; }
.mt2 { margin-top: 2em; }
.mr0 { margin-right: 0; }
.mr1 { margin-right: 1em; }
.mr2 { margin-right: 2em; }
.mb0 { margin-bottom: 0; }
.mb0-5 { margin-bottom: .5em; }
.mb1 { margin-bottom: 1em; }
.mb2 { margin-bottom: 2em; }
.ml0 { margin-left: 0; }
.ml1 { margin-left: 1em; }
.ml2 { margin-left: 2em; }
.m0  { margin: 0; }

.m1  { margin: 1em; }
.m2  { margin: 2em; }

/* paddings */
.pt0 { padding-top: 0; }
.pt1 { padding-top: 1em; }
.pt2 { padding-top: 2em; }
.pr0 { padding-right: 0; }
.pr1 { padding-right: 1em; }
.pr2 { padding-right: 2em; }
.pb0 { padding-bottom: 0; }
.pb1 { padding-bottom: 1em; }
.pb2 { padding-bottom: 2em; }
.pl0 { padding-left: 0; }
.pl1 { padding-left: 1em; }
.pl2 { padding-left: 2em; }
.p0  { padding: 0; }
.p1  { padding: 1em; }
.p2  { padding: 2em; }

/* spécial hr de 1px de haut */
hr {
  background-color: #000;
  border: 0;
  color: #000;
  height: 1px;
  margin: 0 0 1em;
  padding: 0;
}

/* pour cacher du texte de manière accessible… toussââââ */
.invisible {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.hidden    { display: none; } /* caché partout */
.nodesktop { display: none; } /* caché sur desktop */
.noprint   {} /* caché sur print */
.notablet  {} /* caché sur tablettes */
.nomobile  {} /* caché sur mobile */




/*
 *****************************************************************
 * 06 -- structure globale 
 *      (page / menuaccess / header / contenu principal / footer)
 *****************************************************************
 */

/* === page === */
#page {
  margin: 0 auto;
  position: relative;
  max-width: 732px;
  padding: 1em 1em 0 1em;
  background: #fff;
}

/* === menuaccess = liens d'évitement === */
#menuaccess {

}
/* idéalement mettez-les visibles pas uniquement au focus */
#menuaccess a {

}
/* sinon pensez à les rendre visibles au focus */
#menuaccess a:focus,
#menuaccess a:hover,
#menuaccess a:active {

}



/* === header === */
#header {

}
#logo {

}
#navigation {

}


/* === contenu principal === */
#main {

}


/* === footer === */
#footer {
  padding-top: 1em;
  border-top: 2px solid #565656;
}






/*
 *****************************************************************
 * 07 -- forms
 *****************************************************************
 */

/* donne envie de cliquer sur un bouton */
label,
button,
input[type="submit"],
input[type="button"],
input[type="reset"] {
  cursor: pointer;
}

/* évite un resize qui déborde */
textarea {
  resize: vertical;
}

label,
button,
input,
select {
  vertical-align: middle;
}

/* à adapter selon le design voulu */
input,
select,
textarea {
  border: 1px solid #000;
  border-radius: 5px;
  padding: .5em;
  width: 250px;
}

/* à adapter selon le design voulu */
.button {
  background: #fff;
  border-radius: 5px;
  -webkit-box-shadow: 1px 1px 1px #ddd; 
  box-shadow: 1px 1px 1px #ddd; 
  color: #000;
}

/* 
 * évite dimensionnement des radios, checkboxes et images
 * et un affichage différent sous IE 
 */
input[type="radio"],
input[type="checkbox"],
input[type="image"] {
  background-color: transparent;
  border: 0;
  width: auto;
}

/* pour annuler la taille des inputs ou autres */
.auto {
  width: auto;
}

/* messages d'erreur ou de confirmation */
.alert,
.alert input,
.alert textarea,
.alert select {
  color: #bf0000;
  font-weight: bold;
}
/* .redborder sert à débugger uniquement */
.alert input,
.alert textarea,
.alert select,
.redborder {
  border: 1px solid #bf0000;
}
.alert img {
  border: 0;
}
.ok {

}

/* 
 * peut être complété par les attributs HTML5 required
 * exemple avec une couleur, penser à ne pas uniquement transmettre l'info ainsi
 */
select:required:invalid,
input:required:invalid,
input:focus:invalid,
textarea:required:invalid,
textarea:focus:invalid {
  background: #fef6f6;
  -moz-box-shadow: none;
}

input:focus:required:valid,
textarea:focus:required:valid,
select:focus:required:valid {
  background: #efe;
  -moz-box-shadow: none;
}




/*
 *****************************************************************
 * 08 -- dans le contenu (contenus spécifiques aux pages)
 *****************************************************************
 */

/* home */





/*
 *****************************************************************
 * 09 -- breakpoints mineurs entre desktop et tablettes
 *****************************************************************
 */





/*
 *****************************************************************
 * 10 -- tablettes - breakpoint majeur
 *****************************************************************
 */ 

@media (max-width: 768px) {
   
  /* affichage des éléments */
  .nodesktop { display: block; }

  /* cachage des éléments inutiles ! */
  .notablet { display: none; }
  
  /* linéarisation contenus flottants */
  .autotablet {
    float: none;
    display: block;
    width: auto;
  }

  /**
   * adaptation structure globale (page / menuaccess / header / contenu principal / footer)
   */
  
  
  /**
   * dans le contenu (contenus spécifiques aux pages)
   */

}




/*
 *****************************************************************
 * 11 -- breakpoints mineurs entre tablettes et mobile
 *****************************************************************
 */






/*
 *****************************************************************
 * 12 -- mobile - breakpoint majeur
 *****************************************************************
 */

@media (max-width: 800px) {

  /* affichage des éléments */
  .notablet { display: block; }

  /* cachage des éléments inutiles ! */
  .nomobile { display: none; }

  /* linéarisation contenus flottants */
  .automobile {
    float: none;
    display: block;
    width: auto;
  }

  /**
   * adaptation structure globale (page / menuaccess / header / contenu principal / footer)
   */
  #footer {
    text-align: center;
  }
  
  .footer-img {
    margin-top: 1em;
  }
  
  /**
   * dans le contenu (contenus spécifiques aux pages)
   */

}




/*
 *****************************************************************
 * 13 -- breakpoints mineurs tout petit mobile
 *****************************************************************
 */





/*
 *****************************************************************
 * 14 -- print
 *****************************************************************
 */

@media print {
  /* ajouter là-dedans les éléments qui ont besoin d'être
   * totalement resetés pour le print
   */
  body,
  html,
  #page {
    background-color: #fff;
    background-image: none;
    border: 0;
    box-shadow: none;
    color: #000;
    float: none;
    height: auto;
    margin: 0;
    min-height: auto;
    padding: 0;
    position: static;
    width: auto;
  }

  body {
    padding: .5em;
  }

  /* cachage des éléments inutiles ! */
  .noprint {
    display: none;
  }
  
  /* affichage éléments spécifiques au print */
  .onprint {
    display: block;
  }
  
  /* éviter saut de page hasardeux */
  blockquote, ul, ol {
    page-break-inside: avoid;
  }
  h1, h2, h3, caption {
    page-break-after: avoid;
  }
  
  /* affichage des liens, sauf pour image contenue */
  /* attention, penser à vérifier le résultat et penser 
   * à limiter cette possibilité aux liens dans le contenu */
  /*a:after {
    content: " (" attr(href) ") ";
  }
  a:after img {
    content: "";
  }*/

  /* ici fix propriétés particulières */


} /* end print */




/*
 *****************************************************************
 * 15 -- fix viewport
 *****************************************************************
 */

/* fix viewport pour Win8 (snap mode) et préparer le jour 
 * où le viewport sera supporté par tous les moteurs 
 *  
 * Exemples : http://dev.opera.com/articles/view/an-introduction-to-meta-viewport-and-viewport/
 * width=device-width   => width: device-width;
 * height=device-height => height: device-height;
 * initial-scale=2      => zoom: 2;
 * maximum-scale=2      => max-zoom: 2;
 * minimum-scale=0.5    => min-zoom: 0.5;
 * user-scalable=no     => user-zoom: fixed;
 * 
 * pour le snap mode de Win8 => seul width: device-width; fonctionne pour l'instant  
 */

@-webkit-viewport {
  width: device-width;
}
@-moz-viewport {
  width: device-width;
}
@-ms-viewport {
  width: device-width;
}
@-o-viewport {
  width: device-width;
}
@viewport {
  width: device-width;
}




/*
 *****************************************************************
 * 16 -- Bonus : Fixes IE
 *****************************************************************
 */

/*  
 * basé sur les classes conditionnelles sur l'élément HTML
 *  
 * à utiliser seulement si peu de corrections et 
 * pas d'impact sur les perfs sur les autres navigateurs
 *       
 */

/* less than IE 9 */
.oldies .nooldies {
  display: none;
}

.ie6 .noie6 {
  display: none;
}
.ie7 .noie7 {
  display: none;
}
.ie8 .noie8 {
  display: none;
}
.ie9 .noie9 {
  display: none;
}

.ie7 .col, 
.ie6 .col {
  float: left;
}
.ie7 .row,
.ie6 .row {
  overflow: auto;
}