@charset "UTF-8";
/* ========================= */
/* === INDISPENSABLES */
/* boites */
*,
*::before,
*::after {
  box-sizing: border-box; }

/* Clearfix */
.clearfix::after {
  content: "";
  display: table;
  clear: both; }

/* Navigation */
nav ul {
  list-style: none;
  padding: 0;
  border: 0; }

/* images */
img {
  display: block;
  width: 100%;
  height: auto; }

/* Texte invisible */
.no_text {
  font-size: 0;
  margin: 0; }

/* Liens */
a {
  display: block;
  text-decoration: none; }

/* block / none */
.display {
  display: block; }

.none {
  display: none; }

/* ========================= */
/* === TITRES & TEXTES === */
html {
  font-size: 75%;
  font-family: 'Montserrat', sans-serif; }

@font-face {
  font-family: "Woulien";
  src: url("../fonts/woulien_script-webfont.woff2") format("woff2"), url("../fonts/woulien_script-webfont.woff") format("woff"); }
/* === BOUTONS & CTA === */
/* ========================= */
header {
  display: flex;
  justify-content: space-between;
  padding: 30px 10.28%;
  /* Lien vers administration */
  /* Titre */
  /* Navigation */
  /* Menu icones */ }
  @media screen and (min-width: 1024px) {
    header {
      padding: 50px 7.29%; } }
  header > #admin_link {
    font-size: 2em;
    position: absolute;
    top: 10px;
    right: 10px; }
    @media screen and (min-width: 768px) {
      header > #admin_link {
        top: 20px;
        right: 20px; } }
  header h1 {
    width: max-content;
    color: #000;
    font-family: 'Woulien', sans-serif;
    text-transform: uppercase;
    font-size: 5vw;
    /* "Le Néel" */ }
    @media screen and (min-width: 768px) {
      header h1 {
        font-size: 3em; } }
    @media screen and (min-width: 1024px) {
      header h1 {
        font-size: 4em; } }
    header h1 span {
      color: #007FFF; }
  header #burger_nav {
    display: flex;
    align-items: center;
    overflow: hidden;
    /* Checkbox */
    /* Icone menu burger */
    /* Croix */
    /* Liste menu */ }
    @media screen and (min-width: 768px) {
      header #burger_nav {
        height: auto;
        min-width: 50%; } }
    header #burger_nav #menu_toogle {
      height: 40px;
      width: 40px;
      position: absolute;
      top: 3px;
      right: 3px;
      z-index: 200;
      opacity: 0;
      /* Le menu burger disparait à la version Tablette */ }
      header #burger_nav #menu_toogle:checked ~ .cross {
        display: block; }
      @media screen and (min-width: 768px) {
        header #burger_nav #menu_toogle {
          display: none; } }
    header #burger_nav .icon_toogle {
      display: block;
      height: 40px;
      width: 40px;
      font-size: 3em;
      color: #000;
      cursor: pointer;
      /* Le menu burger disparait à la version Tablette */ }
      @media screen and (min-width: 768px) {
        header #burger_nav .icon_toogle {
          display: none; } }
    header #burger_nav .cross {
      display: none;
      position: absolute;
      right: 10px;
      top: 10px;
      z-index: 1000;
      cursor: pointer; }
      header #burger_nav .cross i {
        color: #fff;
        font-size: 3em; }
    header #burger_nav .burger_menu {
      background-color: rgba(0, 0, 0, 0.75);
      margin: 0;
      padding: 3em 0;
      height: 100vh;
      width: 100vw;
      text-align: center;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 100;
      /* Liens */ }
      @media screen and (min-width: 768px) {
        header #burger_nav .burger_menu {
          display: flex;
          justify-content: space-between;
          background: none;
          height: auto;
          padding: 0;
          width: 100%;
          position: static;
          transform: translateX(0); } }
      header #burger_nav .burger_menu a {
        display: block;
        margin: .5em;
        color: #fff;
        font-size: 6vw;
        font-weight: bold;
        text-decoration: none;
        text-transform: uppercase;
        -webkit-transition: all 0.5s;
        -moz-transition: all 0.5s;
        -o-transition: all 0.5s;
        transition: all 0.5s; }
        header #burger_nav .burger_menu a:active, header #burger_nav .burger_menu a:focus, header #burger_nav .burger_menu a:hover {
          color: #007FFF;
          -webkit-transition: all 0.5s;
          -moz-transition: all 0.5s;
          -o-transition: all 0.5s;
          transition: all 0.5s; }
        @media screen and (min-width: 768px) {
          header #burger_nav .burger_menu a {
            color: #000;
            font-size: 1em; } }
        @media screen and (min-width: 1024px) {
          header #burger_nav .burger_menu a {
            font-size: 1.5em; } }
  header #user_nav {
    display: flex;
    align-items: center;
    list-style: none;
    padding: 0;
    /* Icones */ }
    header #user_nav a:visited,
    header #user_nav a {
      margin: 0 10px;
      color: #007FFF;
      font-size: 2em;
      -webkit-transition: all 0.5s;
      -moz-transition: all 0.5s;
      -o-transition: all 0.5s;
      transition: all 0.5s; }
      @media screen and (min-width: 1024px) {
        header #user_nav a:visited,
        header #user_nav a {
          margin: 0 15px;
          font-size: 3em; } }

/* Action quand la case est cochée */
.displayed {
  transform: translateX(0); }

.notdisplayed {
  transform: translateX(-200vh); }

/* Bouton de ticket */
.ticket {
  display: none;
  width: 40%;
  position: fixed;
  bottom: 30px;
  left: calc(50% - (40% / 2));
  z-index: 1000;
  /* Question */
  /* Lien vers le formulaire */ }
  @media screen and (min-width: 768px) {
    .ticket {
      display: block;
      height: 55px;
      width: 55px;
      bottom: 10px;
      left: auto;
      right: 10px; } }
  @media screen and (min-width: 1024px) {
    .ticket {
      height: inherit;
      width: 8vw; } }
  @media screen and (min-width: 1440px) {
    .ticket {
      width: 180px; } }
  .ticket p {
    color: #fff;
    text-align: center; }
    @media screen and (min-width: 768px) {
      .ticket p {
        display: none; } }
    @media screen and (min-width: 1024px) {
      .ticket p {
        display: block;
        color: #8D8D8D;
        font-size: 1vw; } }
    @media screen and (min-width: 1440px) {
      .ticket p {
        font-size: .8em; } }
  .ticket a:visited,
  .ticket a {
    display: flex;
    align-items: center;
    background-color: #007FFF;
    border: 1px solid #007FFF;
    -moz-border-radius: 200px;
    -webkit-border-radius: 200px;
    border-radius: 200px;
    padding: 10px;
    color: #fff;
    text-decoration: none;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    /* Icone */
    /* Texte */ }
    .ticket a:visited:hover,
    .ticket a:hover {
      transform: scale(1.1);
      -webkit-transition: all 0.5s;
      -moz-transition: all 0.5s;
      -o-transition: all 0.5s;
      transition: all 0.5s; }
    @media screen and (min-width: 768px) {
      .ticket a:visited,
      .ticket a {
        height: 100%;
        width: 100%; } }
    .ticket a:visited i,
    .ticket a i {
      display: none; }
      @media screen and (min-width: 768px) {
        .ticket a:visited i,
        .ticket a i {
          display: block;
          margin: 0 auto;
          font-size: 2em; } }
      @media screen and (min-width: 1024px) {
        .ticket a:visited i,
        .ticket a i {
          display: none; } }
    .ticket a:visited span,
    .ticket a span {
      display: block;
      width: 100%;
      font-size: 1.6em;
      font-weight: 600;
      text-align: center;
      text-transform: uppercase; }
      @media screen and (min-width: 768px) {
        .ticket a:visited span,
        .ticket a span {
          display: none; } }
      @media screen and (min-width: 1024px) {
        .ticket a:visited span,
        .ticket a span {
          display: block;
          font-size: 1.1vw; } }
      @media screen and (min-width: 1440px) {
        .ticket a:visited span,
        .ticket a span {
          font-size: 1.3em; } }

#publicate {
  margin: 0 auto;
  width: 80%;
  max-width: 1024px;
  padding: 30px 0;
  animation-delay: .1s;
  /* Formulaire de publication */ }
  @media screen and (min-width: 768px) {
    #publicate {
      padding: 50px 0; } }
  #publicate form {
    width: 100%;
    /* Conteneur photo + bloc de texte */
    /* Ajout d'un fichier */
    /* Input fichier */
    /* Bouton "Envoyer" */ }
    #publicate form > div {
      /* Conteneur de l'image utilisateur */
      /* Bloc de texte */ }
      @media screen and (min-width: 768px) {
        #publicate form > div {
          display: flex;
          align-items: center; } }
      #publicate form > div > div {
        display: none;
        /* Image utilisateur */ }
        @media screen and (min-width: 768px) {
          #publicate form > div > div {
            display: block;
            float: left;
            overflow: hidden;
            -moz-border-radius: 200px;
            -webkit-border-radius: 200px;
            border-radius: 200px;
            height: 100px;
            width: 100px; } }
        @media screen and (min-width: 768px) {
          #publicate form > div > div {
            height: 10vw;
            max-height: 144px;
            max-width: 144px;
            width: 10vw; } }
        #publicate form > div > div img {
          height: auto;
          width: 100%; }
      #publicate form > div textarea {
        border: 1px solid #8D8D8D;
        height: 80px;
        padding: 10px;
        max-width: 100%;
        min-width: 100%;
        width: 100%;
        font-size: 1.3em; }
        @media screen and (min-width: 768px) {
          #publicate form > div textarea {
            margin-left: auto;
            min-width: inherit;
            height: 100px;
            width: 85%; }
            #publicate form > div textarea::placeholder {
              font-size: 1.5em; } }
        @media screen and (min-width: 1440px) {
          #publicate form > div textarea {
            margin-left: 64px; } }
    #publicate form label {
      display: block;
      float: left;
      background-color: #fff;
      margin-top: 10px;
      width: max-content;
      cursor: pointer;
      -webkit-transition: all 0.5s;
      -moz-transition: all 0.5s;
      -o-transition: all 0.5s;
      transition: all 0.5s;
      /* Icone */ }
      @media screen and (min-width: 768px) {
        #publicate form label {
          margin-left: 15%;
          font-size: 1.3em; } }
      @media screen and (min-width: 1440px) {
        #publicate form label {
          margin-left: 20%;
          margin-top: 0; } }
      #publicate form label:hover {
        text-decoration: underline;
        -webkit-transition: all 0.5s;
        -moz-transition: all 0.5s;
        -o-transition: all 0.5s;
        transition: all 0.5s; }
      #publicate form label i {
        margin-right: 5px;
        color: #007FFF; }
        @media screen and (min-width: 768px) {
          #publicate form label i {
            font-size: 1.1em; } }
    #publicate form input[type="submit"] {
      float: right;
      background-color: #007FFF;
      border: 1px solid #007FFF;
      margin-top: 10px;
      padding: 10px 30px;
      color: #fff;
      font-family: 'Woulien', sans-serif;
      text-transform: uppercase;
      font-size: 2em;
      cursor: pointer;
      -webkit-transition: all 0.5s;
      -moz-transition: all 0.5s;
      -o-transition: all 0.5s;
      transition: all 0.5s; }
      #publicate form input[type="submit"]:hover {
        transform: scale(1.1);
        -webkit-transition: all 0.5s;
        -moz-transition: all 0.5s;
        -o-transition: all 0.5s;
        transition: all 0.5s; }
      @media screen and (min-width: 768px) {
        #publicate form input[type="submit"] {
          padding: 10px 50px;
          font-size: 2.5em; } }

#flux {
  margin: 0 auto;
  width: 80%;
  max-width: 1024px;
  padding-bottom: -30px;
  animation-delay: .3s;
  /* Les messages de la famille */
  /* Classes d'ouverture et de fermeture des commentaires */ }
  @media screen and (min-width: 768px) {
    #flux {
      padding-bottom: 50px; } }
  #flux .message {
    margin-top: 50px;
    position: relative;
    /* Personne qui a écrit */
    /* Message */
    /* Partie écrire un ommentaire */ }
    #flux .message:hover button {
      display: block; }
    #flux .message .user {
      display: flex;
      align-items: center;
      /* Conteneur de la photo */
      /* Nom */ }
      #flux .message .user > a {
        display: block;
        overflow: hidden;
        -moz-border-radius: 200px;
        -webkit-border-radius: 200px;
        border-radius: 200px;
        height: 70px;
        width: 70px;
        /* Photo */ }
        #flux .message .user > a img {
          display: block;
          height: auto;
          width: 100%; }
      #flux .message .user p {
        height: max-content;
        margin: 0;
        margin-left: 20px;
        font-size: 1.5em;
        font-weight: 600; }
    #flux .message .user_message {
      background-color: #F3F3F3;
      margin-top: 10px;
      padding: 20px;
      position: relative;
      /* Bouton de suppression */
      /* Texte */
      /* Image */
      /* Date */ }
      #flux .message .user_message button {
        display: none;
        background: none;
        border: none;
        position: absolute;
        right: -25px;
        top: 0;
        cursor: pointer;
        /* Icone */ }
        #flux .message .user_message button i {
          color: #8D8D8D; }
      #flux .message .user_message p {
        margin: 0;
        font-size: 1.3em; }
      #flux .message .user_message a {
        margin-top: 20px; }
      #flux .message .user_message .date {
        font-size: 1em;
        position: absolute;
        right: 0;
        top: -20px; }
    #flux .message .write_comments {
      padding-bottom: 50px;
      /* "Commentaires" */
      /* Formulaire de commentaire */
      /* Partie commentaires */ }
      #flux .message .write_comments > h5 {
        margin: 20px 0 0;
        font-size: 1.5em;
        font-weight: normal;
        cursor: pointer;
        position: relative;
        /* Icone flèche */ }
        #flux .message .write_comments > h5 i {
          margin-left: 10px;
          color: #007FFF;
          font-size: 2em;
          position: absolute;
          top: -15px; }
      #flux .message .write_comments form {
        margin-top: 20px;
        /* Zone de texte */
        /* Bouton "envoyer" */ }
        #flux .message .write_comments form textarea {
          border: 1px solid #8D8D8D;
          padding: 5px;
          width: 100%; }
        #flux .message .write_comments form input[type="submit"] {
          float: right;
          background-color: #007FFF;
          border: 1px solid #007FFF;
          margin-top: 10px;
          padding: 8px 30px;
          color: #fff;
          font-family: 'Woulien', sans-serif;
          text-transform: uppercase;
          font-size: 1.6em;
          cursor: pointer;
          -webkit-transition: all 0.5s;
          -moz-transition: all 0.5s;
          -o-transition: all 0.5s;
          transition: all 0.5s; }
          #flux .message .write_comments form input[type="submit"]:hover {
            transform: scale(1.1);
            -webkit-transition: all 0.5s;
            -moz-transition: all 0.5s;
            -o-transition: all 0.5s;
            transition: all 0.5s; }
      #flux .message .write_comments .comments {
        /* Commentaire */ }
        #flux .message .write_comments .comments .comment {
          margin-top: 30px;
          position: relative;
          /* Date et heure */
          /* Conteneur de la photo */
          /* Nom */
          /* Commentaire */ }
          #flux .message .write_comments .comments .comment > p:first-of-type {
            margin: 0;
            position: absolute;
            right: 0;
            top: 5px; }
          #flux .message .write_comments .comments .comment a {
            display: block;
            overflow: hidden;
            float: left;
            border-radius: 100px;
            height: 50px;
            margin-right: 15px;
            width: 50px;
            /* Image */ }
            #flux .message .write_comments .comments .comment a img {
              display: block;
              height: auto;
              width: 100%; }
          #flux .message .write_comments .comments .comment p:nth-of-type(2) {
            margin: 0;
            color: #007FFF;
            font-size: 1.2em;
            font-weight: 700; }
          #flux .message .write_comments .comments .comment p:last-of-type {
            background-color: #F3F3F3;
            margin: 5px 0 0 60px;
            padding: 10px; }
  #flux .comments_closed {
    overflow: hidden;
    height: 50px;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s; }
  #flux .comments_opened {
    height: max-content;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s; }

/* Message d'information */
.info {
  background-color: #F3F3F3;
  margin-top: 50px;
  padding: 20px;
  position: relative;
  /* Date et heure */
  /* Message */ }
  .info p:first-of-type {
    margin: 0;
    position: absolute;
    right: 0;
    top: -20px; }
  .info p:last-of-type {
    margin: 0;
    font-size: 1.3em;
    font-weight: 600; }

/* PAGE DE CONNEXION */
#login {
  display: table-cell;
  /* comportement visuel de cellule */
  vertical-align: middle;
  overflow: hidden;
  height: 100vh;
  width: 100vw; }

#login_page {
  margin: 0 auto;
  max-width: 1230px;
  width: 80%;
  position: relative;
  /* Titre principal */
  /* Formulaire de connexion */
  /* Bulle oubli de mot de passe */ }
  @media screen and (min-width: 1440px) {
    #login_page {
      margin: 0 auto; } }
  #login_page h1 {
    margin: 0;
    color: #000;
    font-family: 'Woulien', sans-serif;
    text-transform: uppercase;
    font-size: 2.5em;
    text-align: center;
    /* "LE NÉEL" */ }
    @media screen and (min-width: 768px) {
      #login_page h1 {
        margin: 0 auto;
        width: 90%;
        font-size: 4em; } }
    @media screen and (min-width: 1024px) {
      #login_page h1 {
        width: 65%; } }
    #login_page h1 span {
      color: #007FFF; }
  #login_page form {
    margin-top: 40px;
    /* Erreur */
    /* Tous les champs */
    /* Champs à remplir */
    /* Bouton de connexion */ }
    @media screen and (min-width: 768px) {
      #login_page form {
        margin: 80px auto 0;
        width: 90%; } }
    @media screen and (min-width: 1024px) {
      #login_page form {
        width: 65%; } }
    #login_page form .error_co {
      margin-bottom: 10px;
      color: red; }
    #login_page form input {
      margin-bottom: 25px;
      padding: 15px;
      width: 100%;
      font-family: 'Montserrat', sans-serif;
      font-size: 1.5em; }
      @media screen and (min-width: 768px) {
        #login_page form input {
          padding: 10px;
          font-size: 1.2em; } }
    #login_page form input[type="mail"], #login_page form input[type="password"] {
      border: 1px solid #000; }
      #login_page form input[type="mail"]::placeholder, #login_page form input[type="password"]::placeholder {
        color: #8D8D8D; }
    #login_page form input[type="submit"] {
      background-color: #007FFF;
      border: 1px solid #007FFF;
      color: #fff;
      font-family: 'Woulien', sans-serif;
      text-transform: uppercase;
      font-size: 2em;
      cursor: pointer;
      -webkit-transition: all 0.5s;
      -moz-transition: all 0.5s;
      -o-transition: all 0.5s;
      transition: all 0.5s;
      /* Style au survol */ }
      @media screen and (min-width: 768px) {
        #login_page form input[type="submit"] {
          font-size: 2.5em; } }
      #login_page form input[type="submit"]:active, #login_page form input[type="submit"]:focus, #login_page form input[type="submit"]:hover {
        background-color: #fff;
        color: #007FFF;
        -webkit-transition: all 0.5s;
        -moz-transition: all 0.5s;
        -o-transition: all 0.5s;
        transition: all 0.5s; }
  #login_page #forget_password {
    background-image: url(../images/bulle.png);
    background-repeat: no-repeat;
    background-size: contain;
    height: 35vw;
    margin: 10px auto 0;
    padding-top: 7vw;
    width: 45vw;
    /* Textes */
    /* "Oups !" */
    /* "J'ai oublié mon mot de passe..." */
    /* Lien vers nouveau mot de passe */ }
    @media screen and (min-width: 768px) {
      #login_page #forget_password {
        height: 28vw;
        padding-top: 6vw;
        width: 34vw; } }
    @media screen and (min-width: 1024px) {
      #login_page #forget_password {
        height: 200px;
        padding-top: 30px;
        width: 200px;
        position: absolute;
        right: -50px;
        top: 10vh; } }
    #login_page #forget_password p, #login_page #forget_password a {
      margin: 0 auto; }
    #login_page #forget_password p:first-of-type {
      color: #007FFF;
      font-family: 'Woulien', sans-serif;
      text-transform: uppercase;
      font-size: 4vw;
      text-align: center; }
      @media screen and (min-width: 768px) {
        #login_page #forget_password p:first-of-type {
          font-size: 3vw; } }
      @media screen and (min-width: 1024px) {
        #login_page #forget_password p:first-of-type {
          font-size: 1.5em; } }
    #login_page #forget_password p:last-of-type {
      margin-top: 2vw;
      width: 60%;
      font-size: 2vw;
      text-align: center; }
      @media screen and (min-width: 768px) {
        #login_page #forget_password p:last-of-type {
          margin-top: 1vw;
          font-size: 1.4em; } }
      @media screen and (min-width: 1024px) {
        #login_page #forget_password p:last-of-type {
          margin-top: .5em;
          font-size: 1em; } }
    #login_page #forget_password a:visited,
    #login_page #forget_password a {
      display: block;
      margin-top: 2vw;
      width: 60%;
      color: #007FFF;
      font-size: 1.8vw;
      text-align: center; }
      @media screen and (min-width: 768px) {
        #login_page #forget_password a:visited,
        #login_page #forget_password a {
          margin-top: 1vw;
          font-size: 1.5vw; } }
      @media screen and (min-width: 1024px) {
        #login_page #forget_password a:visited,
        #login_page #forget_password a {
          margin-top: .5em;
          font-size: .8em; } }

/* Bulles */
#bubbles-1 {
  display: none; }
  @media screen and (min-width: 768px) {
    #bubbles-1 {
      display: block; }
      #bubbles-1 #bubble-1-1 {
        background-color: #007FFF;
        -moz-border-radius: 300px;
        -webkit-border-radius: 300px;
        border-radius: 300px;
        height: 20vw;
        width: 20vw;
        position: absolute;
        top: -7vw;
        left: -8vw; }
      #bubbles-1 #bubble-1-2 {
        background-color: rgba(100, 177, 255, 0.7);
        -moz-border-radius: 200px;
        -webkit-border-radius: 200px;
        border-radius: 200px;
        height: 10vw;
        width: 10vw;
        position: absolute;
        top: 5vw;
        left: 4vw; } }

#bubbles-2 {
  display: none; }
  @media screen and (min-width: 768px) {
    #bubbles-2 {
      display: block; } }
  @media screen and (min-width: 768px) and (min-width: 768px) {
    #bubbles-2 #bubble-2-1 {
      background-color: #007FFF;
      -moz-border-radius: 300px;
      -webkit-border-radius: 300px;
      border-radius: 300px;
      height: 35vw;
      width: 35vw;
      position: absolute;
      bottom: -10vw;
      right: -8vw; } }
  @media screen and (min-width: 768px) and (min-width: 768px) {
    #bubbles-2 #bubble-2-1 {
      height: 25vw;
      width: 25vw; } }
  @media screen and (min-width: 768px) and (min-width: 768px) {
    #bubbles-2 #bubble-2-2 {
      background-color: rgba(100, 177, 255, 0.7);
      -moz-border-radius: 200px;
      -webkit-border-radius: 200px;
      border-radius: 200px;
      height: 20vw;
      width: 20vw;
      position: absolute;
      bottom: 8vw;
      right: 8vw; } }
  @media screen and (min-width: 768px) and (min-width: 768px) {
    #bubbles-2 #bubble-2-2 {
      height: 13vw;
      width: 13vw;
      bottom: 4vw;
      right: 4vw; } }

#albums {
  margin: 0 auto;
  width: 80%;
  max-width: 1152px;
  padding: 30px 0;
  /* Titre de la page */
  /* Conteneur de tous les albums */ }
  @media screen and (min-width: 768px) {
    #albums {
      padding: 50px 0; } }
  #albums h3 {
    margin: 0;
    font-size: 2em;
    text-align: center;
    text-transform: uppercase; }
  #albums > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    padding-top: 30px;
    /* Tous les albums */
    /* Ajouter un album */
    /* Albums */ }
    #albums > div a {
      display: block;
      height: 38.5vw;
      margin: 20px 1% 0;
      width: 48%;
      text-decoration: none; }
      @media screen and (min-width: 768px) {
        #albums > div a {
          height: 24.8vw;
          margin-top: 30px;
          width: 31%; } }
      @media screen and (min-width: 1024px) {
        #albums > div a {
          height: 18.4vw;
          margin-top: 50px;
          width: 23%; } }
      @media screen and (min-width: 1440px) {
        #albums > div a {
          height: 203px;
          margin-top: 50px;
          width: 18%; } }
    #albums > div a#add-album:visited,
    #albums > div a#add-album {
      display: flex;
      align-items: center;
      border: 2px solid #007FFF;
      -webkit-transition: all 0.5s;
      -moz-transition: all 0.5s;
      -o-transition: all 0.5s;
      transition: all 0.5s;
      /* Icone plus */ }
      #albums > div a#add-album:visited:hover,
      #albums > div a#add-album:hover {
        transform: scale(1.1);
        -webkit-transition: all 0.5s;
        -moz-transition: all 0.5s;
        -o-transition: all 0.5s;
        transition: all 0.5s; }
      #albums > div a#add-album:visited:active i, #albums > div a#add-album:visited:focus i, #albums > div a#add-album:visited:hover i,
      #albums > div a#add-album:active i,
      #albums > div a#add-album:focus i,
      #albums > div a#add-album:hover i {
        color: #fff;
        -webkit-transition: all 0.5s;
        -moz-transition: all 0.5s;
        -o-transition: all 0.5s;
        transition: all 0.5s; }
      #albums > div a#add-album:visited i,
      #albums > div a#add-album i {
        margin: 0 auto;
        color: #007FFF;
        font-size: 30vw; }
        @media screen and (min-width: 768px) {
          #albums > div a#add-album:visited i,
          #albums > div a#add-album i {
            font-size: 20vw; } }
        @media screen and (min-width: 1024px) {
          #albums > div a#add-album:visited i,
          #albums > div a#add-album i {
            font-size: 15vw; } }
        @media screen and (min-width: 1440px) {
          #albums > div a#add-album:visited i,
          #albums > div a#add-album i {
            font-size: 13em; } }
    #albums > div .album {
      overflow: hidden;
      background-color: #F3F3F3;
      position: relative;
      -webkit-transition: all 0.5s;
      -moz-transition: all 0.5s;
      -o-transition: all 0.5s;
      transition: all 0.5s;
      /* Titre de l'album */
      /* Conteneur de l'image */ }
      #albums > div .album:hover {
        transform: scale(1.1);
        -webkit-transition: all 0.5s;
        -moz-transition: all 0.5s;
        -o-transition: all 0.5s;
        transition: all 0.5s; }
      @media screen and (min-width: 1024px) {
        #albums > div .album:hover p {
          opacity: 100;
          -webkit-transition: all 0.5s;
          -moz-transition: all 0.5s;
          -o-transition: all 0.5s;
          transition: all 0.5s; } }
      #albums > div .album p {
        background: linear-gradient(0deg, black 0%, rgba(0, 0, 0, 0) 100%);
        margin: 0;
        padding: 20px 10px;
        width: 100%;
        color: #fff;
        font-size: 1.2em;
        text-align: center;
        position: absolute;
        bottom: 0;
        z-index: 50;
        -webkit-transition: all 0.5s;
        -moz-transition: all 0.5s;
        -o-transition: all 0.5s;
        transition: all 0.5s; }
        @media screen and (min-width: 1024px) {
          #albums > div .album p {
            opacity: 0;
            -webkit-transition: all 0.5s;
            -moz-transition: all 0.5s;
            -o-transition: all 0.5s;
            transition: all 0.5s; } }
      #albums > div .album div {
        overflow: hidden;
        height: 100%;
        width: 100%;
        /* Image */ }
        #albums > div .album div img {
          display: block;
          height: 100%;
          width: auto; }

#album {
  margin: 0 auto;
  width: 80%;
  max-width: 1152px;
  padding: 30px 0;
  position: relative;
  /* Bouton de retour */
  /* Conteneur de l'en-tête */
  /* Conteneur des photos */ }
  @media screen and (min-width: 768px) {
    #album {
      padding: 50px 0; } }
  #album > a {
    background-color: #007FFF;
    border: 1px solid #007FFF;
    padding: 5px 10px;
    color: #fff;
    position: absolute;
    top: 0;
    right: 0; }
  #album > div:first-of-type {
    /* Nom de l'album */
    /* Créateur */
    /* Date */
    /* Supprimer */ }
    #album > div:first-of-type h3 {
      margin: 0;
      margin-top: 5px;
      font-size: 2.5em;
      text-transform: uppercase; }
    #album > div:first-of-type p:first-of-type {
      margin: 0;
      font-size: 1.2em;
      /* Nom */ }
      #album > div:first-of-type p:first-of-type span {
        color: #007FFF; }
    #album > div:first-of-type p:last-of-type {
      margin: 0;
      color: #8D8D8D;
      font-size: .8em; }
    #album > div:first-of-type a {
      text-align: right;
      cursor: pointer; }
  #album > div:last-of-type {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    padding-top: 30px;
    /* Toutes les photos */
    /* Tous les albums */
    /* Ajouter une photo */
    /* Ajouter un album */
    /* Photo */ }
    #album > div:last-of-type > div, #album > div:last-of-type a#add-photo {
      position: relative;
      height: 38.5vw;
      margin: 20px 1% 0;
      width: 48%; }
      @media screen and (min-width: 768px) {
        #album > div:last-of-type > div, #album > div:last-of-type a#add-photo {
          height: 24.8vw;
          margin-top: 30px;
          width: 31%; } }
      @media screen and (min-width: 1024px) {
        #album > div:last-of-type > div, #album > div:last-of-type a#add-photo {
          height: 18.4vw;
          margin-top: 50px;
          width: 23%; } }
      @media screen and (min-width: 1440px) {
        #album > div:last-of-type > div, #album > div:last-of-type a#add-photo {
          height: 203px;
          margin-top: 50px;
          width: 18%; } }
      #album > div:last-of-type > div:hover form, #album > div:last-of-type a#add-photo:hover form {
        display: block;
        -webkit-transition: all 0.5s;
        -moz-transition: all 0.5s;
        -o-transition: all 0.5s;
        transition: all 0.5s; }
    #album > div:last-of-type a.photo {
      display: block;
      height: 100%;
      width: 100%;
      text-decoration: none; }
    #album > div:last-of-type form.delete-photo {
      display: none;
      position: absolute;
      z-index: 1000;
      top: 0;
      left: 0;
      -webkit-transition: all 0.5s;
      -moz-transition: all 0.5s;
      -o-transition: all 0.5s;
      transition: all 0.5s; }
      #album > div:last-of-type form.delete-photo i {
        color: #fff; }
      #album > div:last-of-type form.delete-photo button {
        background-color: transparent;
        border: none;
        cursor: pointer; }
    #album > div:last-of-type a#add-photo:visited,
    #album > div:last-of-type a#add-photo {
      display: flex;
      align-items: center;
      border: 2px solid #007FFF;
      cursor: pointer;
      -webkit-transition: all 0.5s;
      -moz-transition: all 0.5s;
      -o-transition: all 0.5s;
      transition: all 0.5s;
      /* Icone plus */ }
      #album > div:last-of-type a#add-photo:visited:active, #album > div:last-of-type a#add-photo:visited:focus, #album > div:last-of-type a#add-photo:visited:hover,
      #album > div:last-of-type a#add-photo:active,
      #album > div:last-of-type a#add-photo:focus,
      #album > div:last-of-type a#add-photo:hover {
        transform: scale(1.1);
        -webkit-transition: all 0.5s;
        -moz-transition: all 0.5s;
        -o-transition: all 0.5s;
        transition: all 0.5s; }
      #album > div:last-of-type a#add-photo:visited:active i, #album > div:last-of-type a#add-photo:visited:focus i, #album > div:last-of-type a#add-photo:visited:hover i,
      #album > div:last-of-type a#add-photo:active i,
      #album > div:last-of-type a#add-photo:focus i,
      #album > div:last-of-type a#add-photo:hover i {
        color: #fff;
        -webkit-transition: all 0.5s;
        -moz-transition: all 0.5s;
        -o-transition: all 0.5s;
        transition: all 0.5s; }
      #album > div:last-of-type a#add-photo:visited i,
      #album > div:last-of-type a#add-photo i {
        margin: 0 auto;
        color: #007FFF;
        font-size: 30vw; }
        @media screen and (min-width: 768px) {
          #album > div:last-of-type a#add-photo:visited i,
          #album > div:last-of-type a#add-photo i {
            font-size: 20vw; } }
        @media screen and (min-width: 1024px) {
          #album > div:last-of-type a#add-photo:visited i,
          #album > div:last-of-type a#add-photo i {
            font-size: 15vw; } }
        @media screen and (min-width: 1440px) {
          #album > div:last-of-type a#add-photo:visited i,
          #album > div:last-of-type a#add-photo i {
            font-size: 13em; } }
    #album > div:last-of-type .photo {
      overflow: hidden;
      -webkit-transition: all 0.5s;
      -moz-transition: all 0.5s;
      -o-transition: all 0.5s;
      transition: all 0.5s;
      /* Image */ }
      #album > div:last-of-type .photo:active, #album > div:last-of-type .photo:focus, #album > div:last-of-type .photo:hover {
        transform: scale(1.1);
        -webkit-transition: all 0.5s;
        -moz-transition: all 0.5s;
        -o-transition: all 0.5s;
        transition: all 0.5s; }
      #album > div:last-of-type .photo img {
        display: block;
        height: 100%;
        width: auto; }

#create-album {
  margin: 0 auto;
  width: 80%;
  max-width: 1152px;
  padding: 30px 0;
  position: relative;
  /* Nom de l'album */
  /* Bouton de retour */
  /* Formulaire */ }
  @media screen and (min-width: 768px) {
    #create-album {
      padding: 50px 0; } }
  #create-album h3 {
    margin: 0;
    margin-top: 5px;
    font-size: 2.5em;
    text-transform: uppercase; }
  #create-album > a {
    background-color: #007FFF;
    border: 1px solid #007FFF;
    padding: 5px 10px;
    color: #fff;
    position: absolute;
    top: 0;
    right: 0; }
  #create-album form {
    margin-top: 20px;
    /* Label */
    /* Champ */
    /* Bouton 'créer' */ }
    #create-album form label {
      display: block;
      margin-bottom: 10px;
      font-size: 1.3em; }
    #create-album form input[type='text'] {
      display: block;
      padding: 5px 10px;
      width: 100%;
      font-size: 1.3em; }
    #create-album form button {
      display: block;
      border: none;
      margin-top: 20px;
      padding: 5px 20px;
      color: #fff;
      font-size: 1.3em;
      cursor: pointer;
      -webkit-transition: all 0.5s;
      -moz-transition: all 0.5s;
      -o-transition: all 0.5s;
      transition: all 0.5s; }
      #create-album form button:hover {
        transform: scale(1.1);
        -webkit-transition: all 0.5s;
        -moz-transition: all 0.5s;
        -o-transition: all 0.5s;
        transition: all 0.5s; }

.popup {
  display: none;
  background-color: #F3F3F3;
  padding: 50px 30px;
  width: 60%;
  position: fixed;
  top: 30vh;
  left: 20%;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
  /* Icone croix */
  /* Formulaire */ }
  .popup > i {
    position: absolute;
    right: 10px;
    top: 10px;
    cursor: pointer; }
  .popup form {
    margin-top: 20px;
    /* Label */
    /* Champ */
    /* Bouton 'créer' */ }
    .popup form label {
      display: block;
      margin-bottom: 10px;
      font-size: 1.3em; }
    .popup form input[type='text'] {
      display: block;
      padding: 5px 10px;
      width: 100%;
      font-size: 1.3em; }
    .popup form button {
      display: block;
      border: none;
      margin: 20px auto 0;
      padding: 5px 20px;
      color: #fff;
      font-size: 1.3em;
      cursor: pointer;
      -webkit-transition: all 0.5s;
      -moz-transition: all 0.5s;
      -o-transition: all 0.5s;
      transition: all 0.5s; }
      .popup form button:hover {
        transform: scale(1.1);
        -webkit-transition: all 0.5s;
        -moz-transition: all 0.5s;
        -o-transition: all 0.5s;
        transition: all 0.5s; }

#membres {
  margin: 0 auto;
  width: 80%;
  max-width: 1024px;
  padding: 30px 0;
  /* Titre de la page */
  /* Conteneurs des membres */ }
  @media screen and (min-width: 768px) {
    #membres {
      padding: 50px 0; } }
  #membres h3 {
    margin: 0;
    font-size: 2em;
    text-align: center;
    text-transform: uppercase; }
  #membres > div {
    display: flex;
    flex-wrap: wrap;
    /* Membre */ }
    #membres > div .membre {
      display: flex;
      align-items: center;
      margin-top: 50px;
      width: 100%;
      /* Conteneur de l'image */
      /* Nom */ }
      @media screen and (min-width: 768px) {
        #membres > div .membre {
          margin: 50px 1% 0;
          width: 48%; } }
      @media screen and (min-width: 1440px) {
        #membres > div .membre {
          margin: 50px 1% 0;
          width: 31%; } }
      #membres > div .membre > a:visited,
      #membres > div .membre > a {
        overflow: hidden;
        margin-left: auto;
        -moz-border-radius: 200px;
        -webkit-border-radius: 200px;
        border-radius: 200px;
        height: 100px;
        width: 100px;
        /* Image */ }
        #membres > div .membre > a:visited img,
        #membres > div .membre > a img {
          display: block;
          height: auto;
          width: 100%; }
      #membres > div .membre p {
        margin-right: auto;
        padding-left: 20px;
        font-size: 2em; }

#profil {
  margin: 0 auto;
  width: 80%;
  max-width: 1024px;
  padding: 30px 0;
  /* Conteneur image + nom */
  /* Lien vers les paramètres du compte */
  /* Ligne */ }
  @media screen and (min-width: 768px) {
    #profil {
      padding: 50px 0; } }
  #profil > div {
    /* Conteneur image */
    /* Nom */
    /* Anniversaire */ }
    #profil > div div {
      overflow: hidden;
      float: left;
      -moz-border-radius: 200px;
      -webkit-border-radius: 200px;
      border-radius: 200px;
      height: 100px;
      width: 100px; }
    #profil > div h3 {
      margin-bottom: 10px;
      padding-left: 110px;
      padding-top: 20px;
      font-size: 2em; }
    #profil > div p {
      margin: 0;
      padding-left: 110px;
      color: #8D8D8D;
      /* Icone */ }
      #profil > div p i {
        margin-right: 5px; }
  #profil > a:visited,
  #profil > a {
    margin-left: auto;
    width: max-content;
    /* Icone */ }
    #profil > a:visited i,
    #profil > a i {
      color: #8D8D8D;
      font-size: 2em;
      -webkit-transition: all 0.5s;
      -moz-transition: all 0.5s;
      -o-transition: all 0.5s;
      transition: all 0.5s; }
    #profil > a:visited:hover,
    #profil > a:hover {
      transform: rotate(360deg);
      -webkit-transition: all 0.5s;
      -moz-transition: all 0.5s;
      -o-transition: all 0.5s;
      transition: all 0.5s; }
  #profil hr {
    border: 1px solid #007FFF;
    margin-top: 20px;
    width: 100%; }

#historique {
  margin: 0 auto;
  width: 80%;
  max-width: 1024px;
  padding: 30px 0;
  /* Les messages de la famille */
  /* Classes d'ouverture et de fermeture des commentaires */ }
  #historique .message {
    position: relative;
    margin-top: 50px;
    /* Message */
    /* Partie écrire un ommentaire */ }
    #historique .message .user_message {
      background-color: #F3F3F3;
      margin-top: 10px;
      padding: 20px;
      position: relative;
      /* Bouton de suppression */
      /* Texte */
      /* Date */
      /* Fichier */ }
      #historique .message .user_message button {
        background: none;
        border: none;
        position: absolute;
        right: -25px;
        top: 0;
        cursor: pointer;
        /* Icone */ }
        #historique .message .user_message button i {
          color: #8D8D8D; }
      #historique .message .user_message p {
        margin: 0;
        font-size: 1.3em; }
      #historique .message .user_message .date {
        font-size: 1em;
        position: absolute;
        right: 0;
        top: -20px; }
      #historique .message .user_message a {
        margin-top: 20px; }
    #historique .message .write_comments {
      padding-bottom: 50px;
      /* "Commentaires" */
      /* Formulaire de commentaire */
      /* Partie commentaires */ }
      #historique .message .write_comments > p {
        margin: 20px 0 0;
        font-size: 1.5em;
        cursor: pointer;
        position: relative;
        /* Icone flèche */ }
        #historique .message .write_comments > p i {
          margin-left: 10px;
          color: #007FFF;
          font-size: 2em;
          position: absolute;
          top: -15px; }
      #historique .message .write_comments form {
        margin-top: 20px;
        /* Zone de texte */
        /* Bouton "envoyer" */ }
        #historique .message .write_comments form textarea {
          border: 1px solid #8D8D8D;
          padding: 5px;
          width: 100%; }
        #historique .message .write_comments form input[type="submit"] {
          float: right;
          background-color: #007FFF;
          border: 1px solid #007FFF;
          margin-top: 10px;
          padding: 8px 30px;
          color: #fff;
          font-family: 'Woulien', sans-serif;
          text-transform: uppercase;
          font-size: 1.6em;
          cursor: pointer;
          -webkit-transition: all 0.5s;
          -moz-transition: all 0.5s;
          -o-transition: all 0.5s;
          transition: all 0.5s; }
          #historique .message .write_comments form input[type="submit"]:hover {
            transform: scale(1.1);
            -webkit-transition: all 0.5s;
            -moz-transition: all 0.5s;
            -o-transition: all 0.5s;
            transition: all 0.5s; }
      #historique .message .write_comments .comments {
        /* Commentaire */ }
        #historique .message .write_comments .comments .comment {
          margin-top: 30px;
          position: relative;
          /* Date et heure */
          /* Conteneur de la photo */
          /* Nom */
          /* Commentaire */ }
          #historique .message .write_comments .comments .comment > p:first-of-type {
            margin: 0;
            position: absolute;
            right: 0;
            top: 5px; }
          #historique .message .write_comments .comments .comment a {
            display: block;
            overflow: hidden;
            float: left;
            border-radius: 100px;
            height: 50px;
            margin-right: 15px;
            width: 50px;
            /* Image */ }
            #historique .message .write_comments .comments .comment a img {
              display: block;
              height: auto;
              width: 100%; }
          #historique .message .write_comments .comments .comment p:nth-of-type(2) {
            margin: 0;
            color: #007FFF;
            font-size: 1.2em;
            font-weight: 700; }
          #historique .message .write_comments .comments .comment p:last-of-type {
            background-color: #F3F3F3;
            margin: 5px 0 0 60px;
            padding: 10px; }
  #historique .comments_closed {
    overflow: hidden;
    height: 50px;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s; }
  #historique .comments_opened {
    height: max-content;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s; }

#ticket {
  margin: 0 auto;
  width: 80%;
  max-width: 1024px;
  padding: 30px 0;
  /* Titre */
  /* Sous-titre */
  /* Formulaire */ }
  @media screen and (min-width: 768px) {
    #ticket {
      padding: 50px 0; } }
  #ticket h3 {
    font-size: 1.5em;
    text-align: center;
    text-transform: uppercase; }
    @media screen and (min-width: 768px) {
      #ticket h3 {
        font-size: 2em; } }
  #ticket h4 {
    color: #007FFF;
    text-align: center; }
    @media screen and (min-width: 768px) {
      #ticket h4 {
        font-size: 1.5em; } }
  #ticket form {
    margin-top: 30px;
    /* Labels */
    /* Liste déroulante */
    /* Message */
    /* Bouton "envoyer" */ }
    @media screen and (min-width: 768px) {
      #ticket form {
        margin-top: 50px; } }
    @media screen and (min-width: 1024px) {
      #ticket form {
        margin-top: 80px; } }
    #ticket form label {
      display: block;
      margin: 20px 0 10px;
      width: 100%;
      font-size: 1.3em; }
    #ticket form select {
      background-color: #F3F3F3;
      border: 1px solid #8D8D8D;
      padding: 10px 15px;
      width: 100%;
      font-size: 1.3em;
      cursor: pointer; }
    #ticket form textarea {
      background-color: #F3F3F3;
      border: 1px solid #8D8D8D;
      height: 200px;
      padding: 10px;
      width: 100%;
      font-size: 1.3em; }
    #ticket form input[type="submit"] {
      background-color: #007FFF;
      border: 1px solid #007FFF;
      margin-top: 30px;
      padding: 10px 15px;
      width: 100%;
      color: #fff;
      font-family: 'Woulien', sans-serif;
      text-transform: uppercase;
      color: #fff;
      font-size: 2em;
      cursor: pointer; }

#parametres {
  margin: 0 auto;
  width: 80%;
  max-width: 1152px;
  padding: 30px 0;
  /* Titre de la page */
  /* Formulaire */ }
  @media screen and (min-width: 768px) {
    #parametres {
      padding: 50px 0; } }
  #parametres h3 {
    margin: 0;
    font-size: 2em;
    text-align: center;
    text-transform: uppercase; }
  #parametres form {
    margin-top: 50px;
    /* Labels */
    /* Explications */
    /* Champs */
    /* Conteneur de l'image */
    /* Input couleur */
    /* Bouton "enregistrer" */ }
    #parametres form label {
      display: block;
      margin-bottom: 5px;
      font-size: 1.5em; }
    #parametres form p {
      margin: 0; }
    #parametres form input {
      margin: 5px 0 20px;
      padding: 10px;
      width: 100%;
      font-size: 1.5em; }
    #parametres form div {
      height: 100px;
      margin-bottom: 20px;
      width: 100px; }
    #parametres form input[type='color'] {
      height: 50px;
      width: 30%;
      cursor: pointer; }
    #parametres form input[type="submit"] {
      color: #fff;
      font-family: 'Woulien', sans-serif;
      text-transform: uppercase;
      font-size: 3em;
      cursor: pointer; }
      @media screen and (min-width: 768px) {
        #parametres form input[type="submit"] {
          display: block;
          margin: 10px auto 0;
          width: 50%; } }

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