@charset "UTF-8";
* {
  box-sizing: border-box;
}

/* Styles globaux */
body {
  font-family: sans-serif;
  font-size: 1rem;
  line-height: 1.5em;
  margin: 0;
  color: #444;
  z-index: 1;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

a {
  text-decoration: none;
  color: #3300CC;
}

a:hover {
  text-decoration: underline;
}

img {
  max-width: 100%;
  height: auto;
  border: none;
}

.important {
  color: #C00;
}

.alerte {
  color: #C00;
  background-color: #F5C6CB;
  padding: 1em;
  text-align: center;
}

.mt0 {
  margin-top: 0;
}

.mb0 {
  margin-bottom: 0;
}

.big {
  font-size: 1.2em;
}

.small {
  font-size: 0.8em;
}

h1, h2, h3, h4, h5, h6 {
  font-family: serif;
  font-weight: normal;
}

h1 {
  font-size: 2.8rem;
  line-height: 1.4em;
}

h2 {
  font-size: 2.2rem;
  line-height: 1.3em;
}

h2.small {
  font-size: 2rem;
}

h3 {
  font-size: 1.6rem;
  line-height: 1.2em;
}

h4 {
  font-size: 1.4rem;
  line-height: 1.2em;
}

address {
  font-style: normal;
}

button {
  cursor: pointer;
  background-color: #444;
  color: #FFF;
  border: 0;
  padding: 6px 20px;
  font-size: 1.2em;
  border-radius: 6px;
}

button:hover {
  background-color: #666;
}

.btn {
  background-color: #444;
  color: #FFF;
  padding: 6px 20px;
  font-size: 1.2em;
  border-radius: 6px;
}

.btn:hover {
  opacity: 0.8;
}

hr {
  border-top: 1px dotted #444;
  height: 0;
}

nav ul {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
}

nav ul ul {
  position: absolute;
  z-index: 100;
  display: none;
  opacity: 0.95;
  background-color: #FFF;
  border-top: 2px solid #444;
}

nav li li {
  text-align: left;
}

/* On affiche le sous-menu de niveau 2 au survol de la souris */
nav > ul > li:hover > ul {
  display: block;
}

/* On ajoute le caractère angle-down de Font Awesome pour indiquer le sous-menu de niveau 2 */
nav li.deeper > a::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: " ";
  margin-left: 5px;
}

nav li.deeper:hover > a::after {
  transform: rotate(180deg);
}

/* Largeur des contenus */
.container {
  width: 90%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

/* Styles du header */
header h1 {
  font-size: 1rem;
  margin: 0;
}

header nav {
  padding: 1%;
  text-align: center;
}

header nav a {
  color: #444;
  display: block;
  width: 100%;
}

header nav li li a {
  padding: 8px;
}

header nav a:hover {
  text-decoration: none;
}

/* Styles du MAIN */
main {
  text-align: justify;
  padding-bottom: 2em;
}

main section {
  margin-top: 30px;
  margin-bottom: 30px;
}

/* Styles des tableaux */
table {
  width: 100%;
  border-collapse: collapse;
}

th, td {
  padding: 5px 10px;
}

iframe {
  width: 100%;
  height: 350px;
  border: 0;
}

/* Styles des formulaires */
form .required::after {
  content: " (*) ";
  color: #C00;
}

.form-row {
  margin-bottom: 1em;
}

input, textarea, select {
  padding: 5px;
  border: 1px solid #DDD;
}

.form-row .field-ok, .ok {
  color: #35B33F;
  background-color: #DDF9E1;
  border: 1px solid #46A74E;
}

.form-row .field-nok, .error {
  color: #F50057;
  background-color: #FCE4EC;
  border: 1px solid #F8BBD0;
}

.ok, .error {
  padding: 2px 5px;
}

.form-row .erreur {
  flex-basis: 100%;
  font-style: italic;
  color: #C00;
}

.form-row input#nb_char {
  width: 50px;
  color: #00CC00;
}

/* Styles du FOOTER */
footer {
  background-color: #444;
  color: #FFF;
}

footer h2 {
  font-size: 1.2rem;
  color: #FFF;
}

footer ul {
  list-style: none;
  padding-left: 0;
}

footer li {
  margin-bottom: 5px;
}

footer a {
  color: inherit;
}

footer #copyright {
  background-color: #FFF;
  color: #444;
  text-align: center;
  padding: 1em;
  position: relative;
  z-index: 10;
}

footer #copyright p {
  margin: 0;
}

@media screen and (min-width: 900px) {
  a.top {
    color: #444;
    position: absolute;
    right: 2em;
    bottom: 0.5em;
    z-index: 1000;
  }

  a.top:hover {
    color: #FFFFFF;
    background-color: #444;
  }
}
@media screen and (min-width: 768px) {
  .float-left {
    float: left;
    margin-right: 1.5em;
  }

  .float-right {
    float: right;
    margin-left: 1.5em;
  }

  .clear {
    clear: both;
  }

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

  .clearfix:after {
    clear: both;
  }

  /* Pour IE 6/7 */
  .clearfix {
    *zoom: 1;
  }

  .flex {
    display: flex;
  }

  .flexwrap {
    flex-wrap: wrap;
  }

  .flexwrap > h1,
.flexwrap > h2,
.flexwrap > h3 {
    flex-basis: 100%;
  }

  .space-between {
    justify-content: space-between;
  }

  .space-around {
    justify-content: space-around;
  }

  .align-items-center {
    align-items: center;
  }

  .flex-col-md-6 > * {
    flex-basis: 15%;
  }

  .flex-col-md-4 > * {
    flex-basis: 23%;
  }

  .flex-col-md-3 > * {
    flex-basis: 31%;
  }

  .flex-col-md-2 > * {
    flex-basis: 48%;
  }

  .flex-col-span-8 {
    flex-basis: 60%;
  }

  .flex-col-span-4 {
    flex-basis: 30%;
  }

  .flex-form-row {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  .flex-form-row label {
    text-align: right;
    flex-basis: 34%;
  }

  .flex-form-row input[type=text],
.flex-form-row input[type=email],
.flex-form-row input[type=tel],
.flex-form-row textarea,
.flex-form-row select {
    flex-basis: 64%;
  }

  .flex-form-row .compteur {
    margin-left: 34%;
    margin-top: 1em;
  }

  .flex-form-row span {
    flex-basis: 100%;
  }

  .column-2 {
    column-count: 2;
    column-gap: 2%;
    column-rule: 1px solid #CCC;
  }
}
@media screen and (min-width: 1024px) {
  .flex-col-lg-6 > * {
    flex-basis: 15%;
  }

  .flex-col-lg-5 > * {
    flex-basis: 18%;
  }

  .flex-col-lg-4 > * {
    flex-basis: 23%;
  }

  .flex-col-lg-3 > * {
    flex-basis: 31%;
  }

  .flex-col-lg-2 > * {
    flex-basis: 48%;
  }
}
@media screen and (min-width: 1200px) {
  .flex-col-xl-6 > * {
    flex-basis: 15%;
  }

  .flex-col-xl-5 > * {
    flex-basis: 18%;
  }

  .flex-col-xl-4 > * {
    flex-basis: 23%;
  }

  .flex-col-xl-3 > * {
    flex-basis: 31%;
  }

  .flex-col-xl-2 > * {
    flex-basis: 48%;
  }
}

/*# sourceMappingURL=style.css.map */
