/* -------------------------------------------------------------------------- */
/* ------------------------------ Formulaire -------------------------------- */
/* -------------------------------------------------------------------------- */

/* ------------------------------- Element ---------------------------------- */
form .element{
    width: 100%;
    min-height: 37px;
    
    margin: 12px 0px;
}
form .element.deux{
    max-width: calc((100% - 50px) / 2);
}

form .element p{
    margin: 0px;
    padding: 7px 0px;
}
form label{
    display: inline-block;
    
    font-size: 18px;
    font-family: "Arial";
    text-align: center;
    color: rgb(255, 255, 255);
}
/* -------------------- Positionnement des elements ------------------------- */

/* --------------------------  Input & Select ------------------------------- */
form input{
    width: calc(100% + 2px);
}
form select{
    width: calc(100% - 30px);
}
form input, form select, form textarea{    
    height:  calc(100% + 1px);
    
    margin: -1px 0px 0px -1px;
    padding: 1px 14px;
    
    position: relative;
    float: left;
    
    font-size: 16px;
    font-family: "Arial";
    color: rgb(73, 73, 73);
    
    border:  none;
    background-color: rgb(255, 255, 255);
    box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.1), 
        inset 0px 3px 7px 0px rgba(80, 78, 78, 0.7);

    appearance: button;
    -moz-appearance: none; /* Firefox */
    -webkit-appearance: none; /* Safari and Chrome */
}
/* ----------------- Contoure : Input & Select & Fichier -------------------- */
form .element .input{ 
    width: 250px;
    height: 32px;
    
    position: relative;
    float: right;
    
    overflow: hidden;
    
    border-radius: 4px; 
    border-width: 2px; 
    border-color: rgba(0, 0, 0, 0.4);
    border-style: solid;
}
form .element .select,
form .element .download{ 
    width: 30px;
    
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    
    overflow: hidden;
    cursor: pointer;
    
    box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.1), 
        inset 2.5px -4.33px 7px 0px rgba(0, 0, 0, 0.6);
    text-align: center;
    
    border-width: 0px 0px 0px 2px; 
    border-color: rgba(0, 0, 0, 0.4);
    border-style: solid;
}
form .element .select i{ 
    padding-top: 2px;
    
    font-size: 24px;
    color: rgb(255, 255, 255);
}
form .element:hover .select{ 
    transition: all 0.05s linear;
    
    box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0), 
        inset 2.5px -4.33px 7px 0px rgba(0, 0, 0, 0.47);
}
form .element:hover .select i{ 
    transition: all 0.05s linear;
    
    padding-top: 4px;
}
form .element .download i{ 
    padding-top: 7px;
    
    font-size: 18px;
    color: rgb(255, 255, 255);
}
form .element .download:hover i{ 
    transition: all 0.05s linear;
    
    padding-top: 9px;
}
form .element select::-ms-expand, 
form .element input[type="file"]::-ms-expand  {
    display: none;
}
form .element .fichier{
    height: 32px;
    
    position: relative;
    
    overflow: hidden;
    cursor: pointer;
    
    border-width: 2px; 
    border-color: rgba(0, 0, 0, 0.4);
    border-style: solid;
    border-radius: 4px;
}
form .element .fichier input[type="file"] {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
    padding: 0;
    font-size: 20px;
    cursor: pointer;
    opacity: 0;
    filter: alpha(opacity=0);
}
form .element .fichier .input{
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    
    border-width: 0px 0px 0px 2px;
    border-radius: 0px;
}
form .element.checkbox .input{
    border: none;
}
form .element.checkbox input{
    width: 25px;
    height: 25px;
    
    margin: 3px;
    
    float: none;
    
    box-shadow: none;
    
    appearance: checkbox;
    -moz-appearance: checkbox;
    -webkit-appearance: checkbox;
}
form .element .fichier .bouton{
    width: calc(100% - 252px);
    height: 100%;
    
    float: left;
    
    overflow: hidden;
    cursor: pointer;
    line-height: 30px;
    vertical-align: middle;
    
    font-size: 18px;
    font-family: "Arial";
    text-align: center;
    
    color: rgb(255, 255, 255);    
    box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.1), 
        inset 2.5px -4.33px 7px 0px rgba(0, 0, 0, 0.6);
}
form .element .fichier:hover .bouton{ 
    transition: all 0.05s linear;
    
    line-height: 32px;
    
    box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0), 
        inset 2.5px -4.33px 7px 0px rgba(0, 0, 0, 0.47);
}
form .element .fichier label{
    width: 100%;
    height: 100%;
    vertical-align: middle;
    line-height: 32px;
    cursor: pointer;
    color: rgb(73, 73, 73);
    text-align: left;
    padding-left: 10px;
    background-color: rgb(255, 255, 255);
    box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.1), inset 0px 3px 7px 0px rgba(80, 78, 78, 0.7);
}
/* ---------------------- Positionnement des elements ----------------------- */
form .ligne{
    width: 100%;
}
form .ligne .element{
    display: inline-block;
}
form .ligne .element.droite{
    float: right;
}
/* ------------------------------- Erreur  ---------------------------------- */
form .input.erreur, form .element .fichier.erreur, #inscription .element.planning td.erreur, #inscription .element.planning th.erreur{
    border-width: 2px 2px 2px 2px;
    border-color: rgb(190, 50, 50);
}
form .input.erreur.erreur-vide:after, form .element .fichier.erreur.erreur-vide:after,
form .input.erreur.erreur-format:after, form .element .fichier.erreur.erreur-format:after{
    content: "";
    
    width: 130px;
    
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    
    line-height: 30px;
    vertical-align: middle;
    
    font-size: 16px;
    text-align: center;
    color: rgb(255, 255, 255);
    
    background-color: #ff2e2e;
    box-shadow: -2px 1px 4px 0px rgba(0, 0, 0, 0.39), 
          inset 2.5px -2.5px 8px 0px rgba(0, 0, 0, 0.30);
    
    border-left: 2px solid rgb(190, 50, 50);
}
form .input.erreur.erreur-vide:after, form .element .fichier.erreur.erreur-vide:after{
    content: "Obligatoire";
}
form .input.erreur.erreur-format:after, form .element .fichier.erreur.erreur-format:after{
    content: "Format incorrect";
}
/* -------------------------- Page Inscription ------------------------------ */
#inscription #parents #parent_1, #parents #parent_2{
    width: calc((100% - 50px) / 2);
}
#inscription #parents #parent_1{
    float: left;
    
    padding-right: 20px;
    
    border-width: 0px 3px 0px 0px; 
    border-color: rgba(0, 0, 0, 0.5);
    border-style: solid;
}
#inscription #parents #parent_2{
    float: right;
}

#inscription #enfants .ligne .element.droite{
    width: 470px;
    max-width: calc((100% + 20px) / 2);
}
#inscription .element.civilite{ 
    width: calc(100% - 135px);
}
#inscription .element.civilite .input{ 
    width: 115px;
}
form .element.grand{ 
    width: 100%;
}
form .element.grand .input{ 
    width: calc((100% / 2) + 275px);
}

#inscription .element.planning{ 
    width: 100%;
}
#inscription .element.planning table{
    width: 100%;
    
    margin-bottom: 45px;
        
    border-collapse: collapse;
}
#inscription .element.planning table label{
    width: 100%;
    height: 100%;
    
    line-height: 30px;
}
#inscription .element.planning tr{
    width: 100%;
    height: 30px;
}
#inscription .element.planning th.planning_vendredi,
#inscription .element.planning td.planning_vendredi{
    border-right-width: 2px;
}
#inscription .element.planning th, 
#inscription .element.planning td{
    height: 30px;
    
    position: relative;
    
    font-weight: normal;
    color: #FFFFFF;
    
    border-width: 2px 0px 2px 2px; 
    border-color: rgba(0, 0, 0, 0.4);
    border-style: solid;
}
#inscription .element.planning th{
    background-color: rgba(0, 0, 0, 0.40);
    
    border-width: 0px 0px 2px 2px;
}
#inscription .element.planning th.planning_nom{
    width: 190px;
    border-width: 0px;
    background-color: inherit;
}
#inscription .element.planning td{
    text-align: center;
}
#inscription .element.planning td.planning_nom{
    padding-left: 20px;
    
    background-color: rgba(0, 0, 0, 0.40);
    
    text-align: left;
    
    border-width: 2px 0px;
}
#inscription .element.planning td .select{
    height: 34px;
    
    margin: -1px -1px -1px -1px;
}
#inscription .element:hover.planning td .select{ 
      box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.1), 
          inset 2.5px -4.33px 7px 0px rgba(0, 0, 0, 0.6);
}
#inscription .element:hover.planning td .select i{ 
    padding-top: 2px;
}
#inscription .element.planning td:hover .select{ 
    transition: all 0.05s linear;
    box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0), 
        inset 2.5px -4.33px 7px 0px rgba(0, 0, 0, 0.47);
}
#inscription .element.planning td:hover .select i{ 
    transition: all 0.05s linear;
    padding-top: 4px;
}
#inscription .element.planning td select:disabled{
    color: #FFFFFF;
}
#inscription .element.planning tr.arrive select,
#inscription .element.planning tr.depart select{
    width: calc(100% - 30px);
    height: 32px;
    
    margin: -1px -1px -1px -1px;
}
#inscription .element.planning tr.presence input{
    width: 25px;
    height: 25px;
    
    margin: 3px;
    
    float: none;
    
    box-shadow: none;
    
    appearance: checkbox;
    -moz-appearance: checkbox;
    -webkit-appearance: checkbox;
}
form .element.validation.grand{
    width: calc(100% - 30px);
    height: 70px;
    
    margin: 40px 15px 20px 15px;
}
form .element.validation.grand input[type="submit"]{
    width: 100%;
    height: 100%;
    
    text-align: center;
    font-size: 35px;
    font-family: 'ComicSansMT', 'Helvetica Rounded', Arial, sans-serif;
    color: rgb(255, 255, 255);
    
    background-color: inherit;
    box-shadow: none;
    
    border-radius: 0px;
    cursor: pointer;
}
form .element.validation.grand:hover{ 
    transition: all 0.05s linear;
    
    margin: 42px 15px 18px 15px;
    
    box-shadow: -2px 3px 5px 0px rgba(0, 0, 0, 0.3);
}
form .element.validation.grand:hover input[type="submit"]{ 
    transition: all 0.05s linear;
    
    padding-top: 5px;
}
/* ------------------------------- Facture ---------------------------------- */
#section .element.tableau table{
    width: 100%;
    
    margin-bottom: 45px;
        
    border-collapse: collapse;
}
#section .element.tableau table tr{
    width: 100%;
    height: 30px;
}
#section .element.tableau table th.supprimer,
#section .element.tableau table td.supprimer{
    border-right-width: 2px;
}
#section .element.tableau table th, 
#section .element.tableau table td{
    height: 30px;
    
    position: relative;
    
    font-weight: normal;
    color: #FFFFFF;
    
    border-width: 2px 0px 2px 2px; 
    border-color: rgba(0, 0, 0, 0.4);
    border-style: solid;
}
#section .element.tableau table th{
    line-height: 30px;
    
    background-color: rgba(0, 0, 0, 0.40);
    
    border-width: 0px 0px 0px 2px;
}
#section .element.tableau table th.reference{
    width: 15%;
}
#section .element.tableau table th.designation{
    width: 400px;
}
#section .element.tableau table th.quantite{
    width: 20%;
}
#section .element.tableau table th.montant{
    width: 20%;
}
#section .element.tableau table th.supprimer{
    width: 30px;
}
#section .element.tableau table .quantite input,
#section .element.tableau table .montant input{
    text-align: center;
}
#section .element.tableau table td input{
    width: calc(100% - 26px);
    min-height: calc(100% + 2px);
}
#section .element.tableau table td textArea{
    min-width: 374px;
    max-width: 374px;
    margin-right: -1px;
    margin-bottom: -1px;
    padding: 5px 14px;
    min-height: calc(100% + 2px);
}
#section .element.tableau table td .bouton{
    height: calc(100% + 2px);
    
    margin: -1px -1px -1px -1px;
    
    text-align: center;
}
#section .element.tableau table td .bouton{ 
      box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.1), 
          inset 2.5px -4.33px 7px 0px rgba(0, 0, 0, 0.6);
}
#section .element.tableau table td .bouton i{ 
    position: absolute;
    top: calc(50% - 15px);
    left: calc(50% - 7px);
  
    padding-top: 2px;
    font-size: 20px;
}
#section .element.tableau table td:hover .bouton{ 
    transition: all 0.05s linear;
    box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0), 
        inset 2.5px -4.33px 7px 0px rgba(0, 0, 0, 0.47);
}
#section .element.tableau table td:hover .bouton i{ 
    transition: all 0.05s linear;
    padding-top: 4px;
}
#section .element.tableau table td.erreur{
    border-width: 2px 2px 2px 2px;
    border-color: rgb(190, 50, 50);
}
#section .element.tableau table td.erreur:after{
    content: "\f128";
    font: normal normal normal 14px/1 FontAwesome;
    width: 30px;
    
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    
    line-height: 30px;
    vertical-align: middle;
    
    font-size: 28px;
    text-align: center;
    color: rgb(255, 255, 255);
    
    background-color: #ff2e2e;
    box-shadow: -2px 1px 4px 0px rgba(0, 0, 0, 0.39), 
          inset 2.5px -2.5px 8px 0px rgba(0, 0, 0, 0.30);
    
    border-left: 2px solid rgb(190, 50, 50);
}
#section .element.tableau.facture table td{
    background-color: #FFFFFF;
    color: #4E4E4E;
}
/* ------------------------------- Tableau ---------------------------------- */
table.table {
    width: 100%;
  
    border-collapse: collapse;
    border-spacing: 0;
}
table.table thead th{
    border-top: 0;
    padding: 8px;
    line-height: 20px;
    font-size: 24px;
    text-align: center;
}
table.table tbody > tr:nth-child(odd) > td{
    background-color: #f9f9f9;
}
table.table tbody td{
    padding: 8px;
    line-height: 20px;
    text-align: left;
    font-size: 16px;
    border-top: 1px solid #dddddd;
}
/* ---------------------------- Facture liste ------------------------------- */
table.table thead th.date{
    width: 25%;
}
table.table thead th.information{
    width: 45%;
}
table.table thead th.actions{
    width: 30%;
}
table.table tbody td.date{
    font-size: 16px;
    text-align: center;
}
table.table tbody td.information{
    font-size: 18px;
}
table.table tbody td.actions{
    text-align: center;
}