@import url('https://fonts.googleapis.com/css?family=Titillium+Web:400,400i,700,700i');

body {
    background-color: white;
    font-family: 'Titillium Web', sans-serif;
    color: #2D3236;
    margin: 0px;
    font-size: 0.95em;}

#wrapper {
	max-width: 1220px;
	display: flex;  
	flex-flow: row wrap;
	margin-left: auto;
	margin-right: auto;
    background-color: white;
    border: 1px solid #dcdcdc;
    -moz-box-shadow: 0px 0px 10px 0px #656565;
    -webkit-box-shadow: 0px 0px 10px 0px #656565;
    -o-box-shadow: 0px 0px 10px 0px #656565;
    box-shadow: 0px 0px 10px 0px #656565;
    filter:progid:DXImageTransform.Microsoft.Shadow(color=#656565, Direction=NaN, Strength=10);}

header {
	flex: 1 100%;
  }

main {
    width: 100%;
}

aside {
	flex: 1 100%;
	text-align: center;
  }

footer {
	flex: 1 100%;
}

  /* sidebar de 300px de large au-dessus de 800px de largeur du site */
  @media all and (min-width: 800px) {
	main    { order: 1; flex: 1 0px; }
	aside   { order: 2; flex: 0 310px; }
	footer  { order: 3; }
  }
  
/* sidebar réduite à 160px (si pas d'éléments plus larges dans la sidebar) de large quand le site fait entre 800px et 1024px */
  @media all and (min-width: 800px) and (max-width: 1024px){
	aside   { order: 2; flex: 0 160px; }
  }

/* ------------------------------------CONTENT LAYOUT */
main {
    background: white;
}

section {
    margin-top: 10px;
    background: white;
    padding: 5px 15px 15px 15px;
    border-right: 1px dotted #e5e5e5;}

@media (max-width: 800px) {
section {
    width: 100%;
    margin:0px;
    padding: 0px;}
}

article {
 margin-bottom: 90px;}

.center {
    text-align: center;
    margin-left: auto;
    margin-righ: auto;
}

/* --------------------------PARAGRAPH-----*/

p {
    padding: 0px 15px;
    line-height: 1.31;
}

/* --------------------------Blockquote -----*/
blockquote {
    font-style: italic;
    color: #4c4c4c;
    border-left: 5px solid gainsboro;
    padding: 0px 5px;
}

/* --------------------------DL / DT -----*/
dl{
        padding: 0px 15px;
}

/* --------------------------LINKS Default -----*/
a, a:visited {
    color: #2a6496;
    text-decoration: none;}
    
a:hover, a:active {
    color: #2a6496;
    background-color: none;
    text-decoration: underline;
}

/* ------------------------------------TITLES */

h1 {
    color:#666;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 2.2em;
    text-align: center;
    margin: 20px 0px 20px 0px;}
			 
h2 {
    background-color: #416DA7;
    color: white;
    text-align: center;
    font-size: 1.5em;
    margin: 30px 0px 10px 0px;
    padding: 10px 10px;
    border-top: 1px solid #1B29A6;
    border-bottom: 1px solid #1B29A6;}

h3 {
    color: #343743;
    font-size: 1.1em;
    margin: 40px 0px 5px 0px;
    padding: 0px 0px 0px 5px;
    border-bottom: 1px dotted gray;}

h4 {color: #a0a0a0;
    margin-bottom: 0px;
}

/* ------------------------------------IMAGES */

img {
    max-width: 100%;
}

.border {
    border-width: 1px;
    border-color: gray;
    border-style: solid;}

.shadow {
    margin-bottom: 7px;
    margin-right: 12px;
    -webkit-box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.55);
    -moz-box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.55);
    box-shadow: 2px 2px 5px 0px rgba(0,0,0,0.55);}

figcaption {
    font-size: 70%;
    color: gray;}

/* ------------------------------------------Alignement TEXTE/IMAGE Timbre homepage */

.align-img-text {
    width: 70%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
   }

/* ajustements mise en page en dessous de 800px de largeur du site */
@media all and (max-width: 800px) {
  .align-img-text {
      width: 100%;
      margin-left: 4px;
     }
  }

/* -----------------------------------HEADER */ 

.header-image {
    width: 100%;
    max-width: 100%;
    display:block;
    padding-bottom: 4px;}

#header-pub-desktop, #header-pub-tablet, #header-pub-mobile {
    padding: 4px 0px;}


/* si site en-dessous de 730px de large => affichage pub mobile */ 
@media (max-width: 730px) {
    #header-pub-desktop {display:none;}
    #header-pub-tablet {display:none;}   
    }

/* si site de 731px ou au-dessus => ne pas afficher la pub mobile */ 
@media (min-width: 731px) {
    #header-pub-mobile {display:none;}
}

/* si site de 970px ou au-dessus => ne pas afficher la pub tablet */ 
@media (min-width: 970px) {
    #header-pub-tablet {display:none;}
    }

/* si site entre 731px et 969px => ne pas afficher la pub desktop */ 
@media (min-width: 731px) and (max-width: 969px) {
    #header-pub-desktop {display:none;}
}


/* ------------------------------------------LISTS */

ul {
    margin-top: 0px;
    margin-bottom: 10px;}


.list-top-home {
    line-height: 1.6;}

.list-brochure {
    line-height: 1.4;}
    
/* ------------------------------------------DEFINITION */
dt {
    font-weight: bold;
    text-decoration: underline;
}

/* -----------------------------------NAVIGATION (must be placed after the styling for LISTS to take effect) */
nav {
    color: white;
    background-color: #565656;
    text-align: center;
    font-size: 1em;
    font-weight: bold;
    padding: 0px;
    margin: 0px auto;
    width: 100%;}

nav ul {
    margin: 0px;
    padding: 0px;
    line-height: 2.4;
    }

nav li {
    display: inline;
    padding-right: 10px;
    padding-left: 10px;
    border-left: 1px dotted white;}

nav li.first  {
    padding-right: 10px;
    padding-left: 10px;
    border-left: none;}

nav li a, nav li a:visited {
    color: white;
    text-decoration: none;
    background-color: none;
    padding: 3px 5px;}

nav li a:hover, nav li a:active {
        color: white;
        background-color:#0C090A;
        text-decoration: none;
        padding: 3px 5px;}

/* media query décidant à partir de quelle largeur le menu se transforme en blocs les uns en dessous des autres au lieu d'inline */
@media (max-width: 880px) {
        nav li {
            display: block;
            border-top: 1px solid rgba(255,255,255,0.3); 
            border-bottom: 1px solid rgba(0,0,0,0.1); 
            border-left: none;
            padding-right: 0px;
            padding-left: 0px;
          }
        nav li a {
            display: block;
            padding-right: 0px;
            padding-left: 0px;}
        
        nav li.first  {
            padding-right: 0px;
            padding-left: 0px;}
}

/* ---------------------NAVIGATION Interne */
.internal-nav {
    color: gray;
    font-size: 80%;
    line-height: 2;
    text-align: center;
    margin: 5px 0 5px 0;
}

.internal-nav a:link, .internal-nav a:visited , .internal-nav a:hover ,.internal-nav a:active {
    text-decoration: none;
    color: gray;
}

/* ------------------------------------------TABLES */

table {
    border-collapse: collapse;
    border: 2px solid black;
    width: 70%;
    margin-bottom: 20px;
    margin-top: 7px;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 800px) {
table {
    width: 99%;}
}

.row-highlight {
    background-color: #dedede;
    font-weight: bold;
}

th {
    background-color: #292C34;
    color: white;
    font-size: 1.1em;
    border: 1px solid black;}

td {
    font-size: 1.1em;
    border: 1px solid #909090;}

.recap { 
    border: 1px solid black;}

th, td {
    padding: 6px;
    text-align: center;
    vertical-align: middle;}

.hidden {
    visibility: hidden;}

caption {
    font-style: italic;
    font-size: 90%;
    padding-bottom: 5px;}

/* ------------------------------------------BLOC INFO */

.bloc-info {
    background: #ececec;
    width: 80%;
    margin: 0px auto 0px auto;
    font-style: italic;
    font-size: 0.8em;
    line-height: 1.4em;
    padding: 15px;}

.bloc-info p {
    margin: 0px;}

.bloc-info a {
    background-color: #ececec;
    text-decoration: none;}

.bloc-info a:hover {
    background-color: #ececec;
    text-decoration: none;}

@media (max-width: 770px) {
.bloc-info {
    display: none;}
}

/* ------------------------------------------SIDEBAR - ASIDE */
aside {
    background: #fff;
    padding-top: 0px;
    font-size: 0.8em;
}

.aside-text {
    padding: 10px 20px;
    margin: 10px 10px 30px 10px;
    background-color: rgb(240, 240, 240);
    }

aside p {
    color: green;
    padding: 0px 20px;}

aside h3 {
    color: #2C644A;
    font-weight: bold;
    line-height: 1.2;
    padding: 2px 5px;
    margin: 20px 0px 10px 0px;
    border-bottom: 1px solid #2C644A;}

aside a {
    color: rgb(10, 82, 182);
    display: block;
}

aside a:hover {
    color: darkblue;
    background-color: transparent;
}

.aside-text-links {
    text-align: left;
    line-height: 0.7;
    padding: 0px;
    margin: 40px 0px 30px 0px;
    background-color: white;
    font-size: 1.2em;
}

.aside-text-links a:link, .aside-text-links a:visited, .aside-text-links a:active {
        color: rgb(45, 122, 223);
        display: block;
        padding: 7px 10px;
        border-bottom: 1px dotted #bfbfbf}

.aside-text-links a:hover {
    color: white;
    background-color: darkblue;
    padding: 7px 10px;
    text-decoration: none;}

.aside-image {
    margin: 0px auto 20px auto;
    display:block;}

.aside-pub-first {
    margin: 133px auto 10px auto;
    display:block;
}
.aside-pub {
    margin: 100px auto 10px auto;
    display:block;
}

  /* réduction de margin pour les pubs en dessous de 800px de largeur du site */
  @media all and (max-width: 800px) {
    .aside-pub-first {
        margin: 20px auto 10px auto;
        display:block;
    }
    .aside-pub {
        margin: 20px auto 10px auto;
        display:block;
    }
  }

/* ------------------------------------------PARTENAIRES */

.partenaires {
    font-size: 0.8em;
    color: gray;
    margin-top: 40px;
    padding: 5px;}

.partenaires a {
    color: gray;}
.partenaires a:hover  {
    color: black;}

/* ------------------------------------------FOOTER */
footer {
    text-align: center;
    color: #a0a0a0;
    background-color: #eaeaea;
    font-size: 0.8em;
    padding: 5px;}

footer a, footer a:hover, footer a:active, footer a:visited {
    color: #a0a0a0;
    text-decoration: none;}