/********* 
* Global *
*********/

body {
    padding: 0;
    margin: 0;
    font-family: sans-serif;
    font-size: 16pt;
    line-height: 135%
}

h1, h2, h3 {
    text-align: center;
    color: #4f4f4f;
}

p {
    text-align: left;
}

p.center {
    text-align: center;
}

p.right {
    text-align: right;
}

p.gras {
    font-weight: bold;
}

p.note {
    font-size: 24pt;
    text-align: center;
    margin: 0pt;
    padding: 0pt;
}

/*********
* Header *
*********/

span.left {
    float: left;
}

span.right {
    float: right;
}

div.header {
    border: none;
    margin: 0px;
    padding: 10px;
    text-align: right;
    background-color: #fdb52d;
    color: white;
    font-size: 16pt;
    height: 50px;
    line-height: 50px;
}


div.header a {
    height: 50px;
    background-color: #fdb52d;
    display: inline-block;
    border: 1px solid black;
    color: white;
    margin: 0px 5px;
    cursor: pointer;
    text-align: center;
    line-height: 50px;
    padding: 0px 10px;
}

div.header a.retour {
    background-color: tomato;
}

/********
* Forms *
********/

div.form-container {
    border-radius: 12px;
    background-color: #f4f4f4;
    padding: 20px;
    width: max-content;
    margin: 20px auto;
    text-align: center;
}

div.fullwidth {
    margin: 20px;
}

div.notes{
    display: inline-block;
}

form h3 {
    text-align: left;
}

input[type=text], input[type=number], input[type=password]{
    width: 100%;
    padding: 12px 20px;
    margin: 8px 0;
    display: inline-block;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
}

input[type=number].mini {
    width: 100px;
    margin: 8px 3px;
}

input[type=time] {
    margin: 8px 10px;
    font-size: 16pt;
}

div.mail input[type=text] {
    display: inline;
    width: 250px;
}

select {
    width: 100%;
    padding: 12px 20px;
    margin: 8px 0;
    display: inline-block;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
    font-size: 16pt;
}

option {
    font-size: 16px;
}

div.responsable {
    text-align: left;
    width: 750px;
    margin-top: -20px;
    font-style: italic;
}

section {
    text-align: left;
    position: relative;
}

/**********
* Etoiles *
**********/

.wrapper-rating {
    font-size: 3em;
    line-height: 0;
    margin: 0;
    text-align: center;
    --coulFillHover: #FD0;            /* couleur de fond au survol */
    --coulFillSelected: #fdb52d;      /* couleur de fond selected */
    --coulStrokeHover: #F00;          /* couleur de bord au survol */
    --coulStrokeSelected: #FA0;       /* couleur de bord selected */
}
.wrapper-rating label {
    cursor: pointer;
    border-bottom: 2px solid currentColor;
}
.wrapper-rating input {
    position: absolute;
    opacity: 0;
}
.wrapper-rating input:checked ~ * label {
    --coulFillSelected: #FAFAFA;      /* couleur de fond par défaut */
    --coulStrokeSelected: #CCC;       /* couleur de bord par défaut */
    border-bottom: 2px solid transparent;
}
.wrapper-rating .star {
    display: inline-flex;
    color: var(--coulStrokeSelected);
    cursor: pointer;
}
.wrapper-rating .star svg {
    width: 1em;
    height: 1em;
    transition: .25s;
    stroke-width: 1;
    stroke: var(--coulStrokeSelected);
    fill: var(--coulFillSelected);
}

.wrapper-rating .star:hover > label svg {
    fill: var(--coulFillHover);
    stroke: var(--coulStrokeHover);
}

/**********
* Buttons *
**********/

a {
    text-decoration: none;
    color: inherit;
}

a.gris {
    color: #4f4f4f;
}

a.gris:hover {
    color: #5f5f5f;
}

a.jaune {
    color: #fdb52d;
}

a.logout {
    font-size: 12pt;
    margin-left: 10px;
}

input[type=submit], a.button {
    height: 50px;
    width: 260px;
    background-color: #fdb52d;
    display: block;
    border: 1px solid black;
    color: white;
    font-size: 16pt;
    margin: 10px auto;
    cursor: pointer;
    text-align: center;
    line-height: 50px;
}

a.retour {
    background-color: tomato;
}

a.note {
    width: 100px;
}

a.disabled {
    background-color: grey;
    cursor: default;
}

input[type=submit]:disabled {
    background-color: #f3f3f3;
}

button#toggle-password {
    background: none;
    color: gray;
    font-size: 12pt;
    border: none;
    cursor: pointer;
    padding: 0px 10px;
    position: absolute;
    top: 0;
    right: 0;
}

}

/********
* Table *
********/

table {
    border-collapse: collapse;
    width: 100%;
}

td, th {
    border: 1px solid orange;
    text-align: center;
    padding: 5px 10px;
}

td a {
    display: inline-block;
    width: 100%;
    height: 100%;
}

.liens tr:hover td {
    background-color: #fdb52d;
    cursor: pointer;
}

td.epreuves {
    white-space: pre;
}

td.gris {
    background-color: gray;
}

td.rouge {
    background-color: red;
}

td.orange {
    background-color: orange;
}

td.vert {
    background-color: green;
}

tr {
    width: max-content;
}

tr a {
    display: block;
}

/*************
* Calendrier *
*************/

div.calendrier {
    position: absolute;
    top: 100px;
    left: 20px;
    text-align: left;
}

div.etape {
    background-color: #fdb52d;
    color: white;
    border-radius: 3px;
    margin-bottom: 20px;
}

div.etape-future {
    background: #f4f4f4;
    border-radius: 3px;
    text-align: center;
    margin-bottom: 20px;
}

.etape p, .etape-future p {
    text-align: left;
    margin: 5px;
}

.calendrier h3, p.date {
    text-align: center;
    margin: 5px;
}

/*********
* Errors *
*********/

div.error {
    color: red;
}

li.error {
    margin-left: 30px;
}

div.error h2{
    color: red;
    text-align: center;
    font-size: 20pt;
}

/*********
* Modals *
*********/

.modal-container {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.7);
    display: none;
}

.modal {
    position: relative;
    width: max-content;
    margin: 10px auto;
    padding: 15px;
    background: rgba(255, 255, 255, 1);
    border-radius: 0.25em;
    border: 1px solid rgba(100, 100, 100, 0.3);
    transition: .4s ease-out;
    color: rgba(6, 49, 68, 0.9);
    text-align: center
}

/*********
* Thymio *
*********/

label.hide {
    cursor: pointer;
}

input[type="radio"].hide {
    display: none;
}

input[type="radio"]+.hide {
    display: none;
}

input[type="radio"]:checked+.hide {
    display: block;
}
