@import url(https://fonts.googleapis.com/css?family=Libre+Baskerville:400,400italic,700);

html, body {
    margin: 0;
    height: 100%;
}

body {
    font-size: 80%;
    font-family: Verdana, Geneva, sans-serif;
    background-color: white;
    color: black;
    margin: 0 auto;
    min-height: 100%;
}

a {
    color: #1d1d89;
}
a img {
    border: 0 none;
}

body > header {
    background-color: #17176e;
    color: white;
}
body > footer > div {
    color: #1d1d89;
    padding: 2px 0;
}
body > footer a {
    text-decoration-style: dotted;
}
body > header > div,
body > footer > div {
    max-width: 1020px;
    margin: auto;
}
body > header#title div:first-child {
    font-family: 'Libre Baskerville', serif;
    letter-spacing: 1px;
    padding: 10px 0 20px 0;
    background: linear-gradient(to right, #17176e, rgba(23, 23, 110, 0.2), rgba(23, 23, 110, 0.2), rgba(23, 23, 110, 0.2), #17176e), url(../images/banner.jpg) center;
    background-size: 100%;
}
body > header > div > * {
    padding: 0px 10px;
    margin: 0;
}
body > header h1 {
    font-size: 2.6em;
    font-weight: normal;
}
body > header h1 > a,
body > header h1 > a:hover {
    text-decoration: none;
    color: inherit;
}
body > header p {
    font-size: 1.4em;
    font-style: italic;
    padding-left: 13px;
}
body > header a#menu {
    padding: 0;
    margin: 0;
    display: none;
}
body > header a#menu::after {
    content:"";
    background: url(../images/nav-icon.png) no-repeat;
    width: 20px;
    height: 20px;
    display: inline-block;
    position: absolute;
    right: 20px;
    top: 20px;
}
body > header div#menu a {
    display: block;
    font-size: 1.2em;
    font-weight: bold;
    padding: 0px 10px 10px 10px;
}
body > footer > div {
    text-align: center;
    border-top: 1px solid #1d1d89;
}

div#main {
    margin: 10px auto;
    max-width: 1000px;
    padding: 0 10px;
}
div#main::after {
    clear: both;
    display: block;
    content: "";
}
div#main p {
    text-align: justify;
}
div#main > nav {
    float: left;
    width: 25%;
}
div#main > nav div#logo {
    text-align: center;
    margin: 10px 0;
}
div#main > nav div#logo img {
    height: 200px;
}
div#main > nav div#soutien {
    margin: 20px 0;
}
div#main > nav ul {
    list-style: none outside none;
    margin: 0 0 0 20px;
    padding: 0;
}
div#main > nav > ul {
    margin: 0 10px 0 0;
}
div#main > nav ul > li {
    margin: 2px 0;
    font-weight: bold;
}
div#main > nav ul li > a {
    display: block;
    padding: 4px 8px;
    text-decoration: none;
    color: #1d1d89;
}
div#main > nav ul li.current > a {
    color: #af1a1a;
}
div#main > nav ul li > a:hover {
    background-color: #bbbbdc;
    background-size: auto 100%;
    transition: background-color 0.3s linear 0s;
}
div#main > nav ul li span {
    margin: 4px 8px;
}
div#main > nav ul li.current > a:hover {
    background-color: #e7baba;
}
div#main > nav ul li > a:not(:hover) {
    transition: background-color 0.3s linear 0s;
}

div#content {
    float: right;
    width: 75%;
}
div#content > section {
    margin: 0 0 0 10px;
}

div#content h1,
div#content h2,
div#content h3,
div#content h4,
div#content h5,
div#content h6 {
    color: #af1a1a;
}
div#content h1 {
    font-size: 1.8em;
}
div#content h2 {
    font-weight: normal;
}

div#content div.success,
div#content div.info,
div#content div.error {
    border-width: 1px;
    border-style: solid;
    padding: 5px 10px;
    margin: 2px auto;
    color: black;
}
div#content div.success {
    background-color: lightgreen;
    border-color: green;
}
div#content div.info {
    background-color: lightblue;
    border-color: blue;
}

div#content div.error {
    background-color: lightpink;
    border-color: red;
}

div#content img {
    max-width: 100%;
}

div#content table {
    border-collapse: separate;
    border-spacing: 2px;
    caption-side: bottom;
    display: table;
    margin: 10px auto;
    max-width: 100%;
}
div#content th {
    color: #af1a1a;
    background-color: #f7e8e8;
    padding: 3px;
    text-align: left;
}
div#content td {
    padding: 3px;
}
div#content tr.subhead td {
    background-color: #e7baba;
}
div#content tr:nth-child(odd) td {
    background-color: #f6f6f6;
}

div#content fieldset {
    border: 1px solid #8e8ec4;
}
div#content fieldset legend {
    color: #8e8ec4;
}

div#content fieldset,
div#content form {
    margin: 10px auto;
}
div#content form fieldset {
    margin-top: 0px;
}
div#content form::before {
    content: "* Champs obligatoires";
    color: red;
    text-align: right;
    display: block;
    font-size: 85%;
}
div#content form.no-required-fields::before {
    display: none;
}
div#content fieldset > div,
div#content form > div {
    margin: 5px 0;
}
div#content fieldset > div::after,
div#content form > div::after {
    clear: both;
    content: "";
    display: block;
}
div#content form > fieldset div ul,
div#content form > div ul,
div#content form > ul {
    color: red;
}
div#content form > fieldset div ul,
div#content form > div ul {
    margin: 0 0 6px 0;
}
div#content fieldset label,
div#content form label {
    color: #1d1d89;
    font-weight: bold;
}
div#content form input[type="radio"] ~ label,
div#content form input[type="checkbox"] ~ label {
    font-weight: normal;
}
div#content fieldset > div > label,
div#content form > div > label {
    float: left;
    width: 30%;
}
div#content form label.required::after {
    content: " *";
    color: red;
}
div#content form div > * > label.required::after {
    display: none;
}
div#content fieldset > div > div,
div#content form > div > div {
    float: right;
    width: 70%;
}
div#content form div.mce-tinymce > div {
    float: none;
    width: auto;
}
div#content form div input,
div#content form div select,
div#content form div textarea {
    width: 98%;
    color: black;
    margin: 2px auto;
}
div#content form div textarea {
    resize: vertical;
}
div#content form input[type="submit"],
div#content form input[type="checkbox"],
div#content form input[type="radio"],
div#content form button[type="submit"] {
    width: auto;
}
div#content form div > div > div input[type="radio"],
div#content form div > div > div input[type="checkbox"] {
    margin-left: 5px;
    margin-right: 5px;
}
div#content form div > div > div label {
    margin-right: 20px;
}

div#content form input,
div#content form button[type="submit"],
div#content form textarea,
div#content form select {
    border: 1px solid #8e8ec4;
    border-radius: 2px;
    padding: 3px;
}
div#content form input:focus,
div#content form textarea:focus,
div#content form select:focus {
    border-color: #1d1d89;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) inset, 0 0 8px rgba(29, 29, 137, 0.6);
    outline: 0 none;
    transition: box-shadow 0.15s linear 0s, color 0.15s linear 0s;
}
div#content form input:not(:focus),
div#content form textarea:not(:focus),
div#content form select:not(:focus) {
    transition: box-shadow 0.15s linear 0s, color 0.15s linear 0s;
}
div#content form input[type="submit"],
div#content form button[type="submit"] {
    margin: 5px;
    background-color: #1d1d89;
    border-color: #1d1d89;
    color: white;
    font-weight: bold;
    float: right;
}
div#content form input[type="submit"]:focus,
div#content form button[type="submit"]:focus,
div#content form input[type="submit"]:hover,
div#content form button[type="submit"]:hover {
    background-color: #e8e8f3;
    color: #1d1d89;
    transition: background-color 0.15s linear 0s, color 0.15s linear 0s;
}
div#content form input[type="submit"]:not(:focus),
div#content form button[type="submit"]:not(:focus),
div#content form input[type="submit"]:not(:hover),
div#content form button[type="submit"]:not(:hover) {
    transition: background-color 0.15s linear 0s, color 0.15s linear 0s;
}
div#content form input::-webkit-input-placeholder { /* WebKit browsers */
    color: #b3b3b3;
    font-style: italic;
}
div#content form input::-moz-placeholder { /* Mozilla Firefox 19+ */
    color: #b3b3b3;
    opacity: 1;
    font-style: italic;
}
div#content form input:-ms-input-placeholder { /* Internet Explorer 10+ */
    color: #b3b3b3;
    font-style: italic;
}

noscript {
    color: red;
    text-align: center;
    width: 100%;
    margin: 10px auto;
    display: block;
    border: 1px solid red;
    padding: 2px;
}

/**
 * 100 ANS
 */
div.cent-ans {
    background-color: rgba(29, 29, 137, 0.2);
    border-radius: 20px;
    padding: 10px 20px;
    position: relative;
    z-index: 1;
}
div.cent-ans * {
    position: relative;
    z-index: 3;
}
div.cent-ans img#logo_100 {
    position: absolute;
    bottom: 10px;
    right: 10px;
    z-index: 2;
}

/**
 *  MEDIA QUERIES
 */
@media screen and (max-width: 560px) {
    div#main {
        font-size: 115%;
    }
    div#main > nav {
        width: 35%;
    }
    body > footer > div {
        color: white;
        background-color: #1d1d89;
        border: none;
    }
    div#content {
        width: 65%;
    }
    div#content form > div > label,
    div#content form > div > div {
        float: none;
        width: 100%;
    }
}
@media screen and (max-width: 480px) {
    body > header#title div:first-child {
        background: none;
        letter-spacing: normal;
    }
    body > header h1 {
        font-size: 1.7em;
    }
    body > header p {
        font-size: 1.1em;
    }
    body > header a.menu#menu {
        display: initial;
    }
    div#main > nav {
        clear: both;
        width: 100%;
        border-bottom: 1px solid #1d1d89;
    }
    div#main > nav.hidden {
        display: none;
    }
    div#main > nav div#logo {
        display: none;
    }
    div#main > nav > ul {
        margin: 10px 0;
    }
    div#content {
        clear: both;
        width: 100%;
    }
}
@media print {
    body {
        font-family: "Libre Baskerville", serif;
    }
    body > header#title {
        color: #17176e;
        font-size: 80%;
    }
    body > header#title > div,
    body > header > div > *,
    div#main {
        padding: 0px;
    }
    div#main > nav {
        display: none;
    }
    div#content {
        float: none;
        width: 100%;
    }
}
