BODY {
    font-size: 120% ;
    font-family: sans-serif ;
}

.questions {
    position: absolute;
    left: 0;
    right: 30%;
    top: 0px;
    bottom: 0px ;
    overflow: scroll ;
}

.feedback {
    position: absolute;
    left: 70%;
    right: 0;
    top: 0px ;
    bottom: 0px ;
    overflow: scroll ;
}

.feedback UL {
    padding-left: 1em ;
}

#resume TABLE, #resume TABLE TD {
    border: 1px solid #888 ;
}
#resume .item {
    white-space: nowrap ;
    cursor: default;
}
#resume DIV.code {
    display: inline
}
#resume DIV.effectif {
    font-weight: normal ;
}
#resume .item DIV.tip {
    display: none;
    position: absolute;
    background: #FFF ;
    cursor: pointer;
    white-space: normal ;
    font-weight: bold ;
    width: 15em ;
}
#resume .item:hover DIV.tip { display: block }
#resume .item:hover { background: #FFF }
#resume .item DIV.tip:hover { display: none }
#resume BUTTON {
    font-family: emoji ;
    border-width: 0px ;
    padding: 1px ;
}
#resume .pleine { background: #FCC }
#resume .possible { color: #888 }
#resume .warning.possible { color: #F80 }
#resume .possible:hover { color: #00F }

#resume .item.impossible { color: #F00 }
#resume .item.possible.impossible { color: #F88 }
#resume .item.impossible:hover { color: #F00 }

#resume TABLE {
    border-spacing: 0px ;
    margin: 1em ;
}
#resume TABLE TD {
    font-family: monospace ;
    vertical-align: top ;
}

#depassements, #erreurs, #ip_complete, #ip_incomplete {
    border-radius: 1em ;
    width: 100% ;
}
#depassements > DIV, #erreurs > DIV, #ip_complete > DIV, #ip_incomplete > DIV {
    margin: 0.5em ;
}

#depassements {
    background: #F00 ;
    color: #FFF ;
}

#erreurs {
    background: #FB0 ;
    color: #000 ;
}

#contenu_quest.ip_complete #ip_complete {
    display: block;
}
#contenu_quest #ip_complete {
    display: none ;
    background: #CCF ;
}

#contenu_quest.ip_incomplete #ip_incomplete {
    display: block;
}
#contenu_quest #ip_incomplete {
    display: none ;
    background: #EE3 ;
}

.historique B { white-space: nowrap ; margin-top: 1em }
.historique TABLE { border-spacing: 0px ; }
.historique TABLE TR { vertical-align: top }
.historique TABLE, .historique TABLE TD { border: 1px solid #AAA }
.historique TABLE TD { font-family: monospace ; }
.historique TABLE TD:nth-child(1) { text-align: right ; }
.historique TABLE TD:nth-child(2) { white-space: nowrap ; }

#qsave {
    text-align: center ;
}
#qsave BUTTON {
    padding: 1em;
    font-size: 150%;
    border-radius: 1em ;
    width:100%;
}

BUTTON.effacer_les_sequences, BUTTON.effacer_les_sequences_et_alternatives,
BUTTON.effacer_ip_printemps,
BUTTON.oublier_les_ues, BUTTON.ajouter_semestre_AEU {
    width:100%;
    margin-bottom: 0.4em ;
}

#qabandon {
    text-align: center ;
}

#qabandon BUTTON {
    padding: 0.5em;
    border-radius: 1em ;
    width:100%;
}

#commentaire {
    padding: 1em ;
}
#commentaire TEXTAREA {
    width: 100% ;
}

#contenu_quest              #qsave BUTTON      {background:#DFD;}
#contenu_quest              #qsave BUTTON:hover{background:#EFE;}
#contenu_quest.ip_complete  #qsave BUTTON      {background:#2F2;}
#contenu_quest.ip_complete  #qsave BUTTON:hover{background:#8F8;}
#contenu_quest.ip_interdite #qsave BUTTON      {background:#F88;pointer-events:none}

#contenu_quest #qabandon BUTTON  {background:#F00; color: #FFF}

DIV.compacte .element, DIV.compacte LABEL INPUT {
    margin-top: 0px;
    margin-bottom: 0px;
    border: 0px;
}

DIV.preambule {
    margin: 1em ;
    padding-top: 1em ;
    padding-left: 1em ;
    padding-right: 1em ;
    max-width: 40em ;
    border: 3px solid black ;
    margin-left: auto ;
    margin-right: auto ;
    border-radius: 1em ;
}

* { max-height: 99999px }

#check_feedback {
    position: fixed ;
    top: 0px ;
    right: 0px ;
}
.check_bad { background: #FCC }
.check_requiert { background: #FDF }
.check_ok { background: #CFC }


#contenu_quest > .element {
    margin-left: 0px ;
}
.element {
    margin-top: 0.5em ;
    margin-bottom: 0.5em ;
    margin-right: 0.5em ;
    margin-left: 2em ;
    border: 1px solid #CCC ;
}
.element .fils {
    transition: max-height 0.5s ;
    overflow: hidden ;
}
.element.pleindefils .fils { transition: max-height 0s ; }

.element.ferme .fils {
    max-height: 0px ;
}
.intitule {
    margin-left: 0.4em ;
}
.titre {
    background: #F8F8F8 ;
    padding-left: 0em ;
    padding-right: 0em ;
    box-sizing: border-box ;
    width: 100% ;
    transition: background 0.5s ;
}
.element.selectionnable:hover,
.element.ouvrable:hover
{
    border-color: #000 ;
}

.titre SELECT {
    width: 9em ;
    margin: 0.2em ;
}
SELECT.nr_choix_0 { background: #F00 }
SELECT.nr_choix_1 { opacity: 0.5 }
SELECT.nr_choix_42 { background: #F80 }

.ADM > .titre, .Vacq > .titre, .Acqc > .titre {
    background: #DFD ;
}
.AJ > .titre, .DEF > .titre {
    background: #FDD ;
}
.suivre > .titre {
    background: #8F8 ;
}
.oublier.ADM > .titre, .oublier .Acqc > .titre, .oublier .Acqc > .Vacq {
    background: #F88 ;
}
.titre DIV.droite {
    float: right ;
    font-family: courier ;
    font-size: 1em ;
}
.titre SPAN {
    padding-left: 0.3em ;
    display: inline-block ;
    transition: transform 1s ;
}
.titre SPAN.credits_max {
    padding-left: 0px ;
}
.titre .intitule .odf, #erreurs .odf {
    background: #FF0;
    font-size: 50% ;
    padding: 2px ;
    margin-left: 0em ;
    display: inline-block ;
    text-align: center ;
    text-decoration: none ;
    vertical-align: middle;
}
.changement {
    transform: scale(4,4) ;
}
LABEL INPUT {
    margin: 0.4em ;
    border: 1px solid #88F ;
}
LABEL {
    height: 100%;
    display: inline-block ;
    padding-right: 0.4em ;
}

.titre .intitule > DIV.tip {
    position: absolute ;
}

.titre .intitule > DIV.tip > DIV.question {
    display: none ;
    position: absolute ;
    background: #EEF ;
    color: #00F ;
    z-index: 1 ;
    font-size: 200% ;
    font-weight: bold ;
    width: 60px ;
    height: 60px ;
    text-align: center ;
    vertical-align: middle ;
    opacity: 0.3 ;
    border: 8px solid #00F ;
    border-radius: 60px ;
    top: -50px ;
    right: -15px ;
}
.titre .intitule:hover > DIV.tip > DIV.question {
    display: block ;
}

.titre .intitule > DIV.tip > DIV.question:hover {
    opacity: 1;
}

DIV.tip > DIV.error {
    display: none ;
    position: absolute ;
    color: #000 ;
    background: #EEF ;
    padding: 0.2em ;
    z-index: 1 ;
    width: 60em ;
    border: 1px solid #00F ;
    left: -25px ;
    border-radius: 1em ;
}
DIV.tip:hover > DIV.error {
    display: block ;
}
DIV.tip > DIV.error LI { margin-top: 0.5em }

.intitule LABEL {
    width: 100% ;
}
LABEL.disabled {
    opacity: 0.5 ;
}
#debug {
    background: #FF0 ;
}
#debug TD {
    vertical-align: top ;
    width: 50%;
}
#debug .ip {
    background: #EEF ;
}
.trop_de_credits > .titre .credits_courant {
    background: #000 ;
    color: #FFF ;
}

.erreurs_impose > .titre { color: #F00 }

.question .triangle { display: none }

DIV          > DIV > DIV > .triangle {
    opacity: 0.3;
    transform: rotate(90deg);
    font-size: 120% ;
    cursor: default;
}
DIV.ouvrable > DIV > DIV > .triangle { opacity: 1 }
DIV.ferme    > DIV > DIV > .triangle { transform: rotate(0deg) }

.cacher {
    display: none ;
}
.est_ailleurs .affiche_ici,
.est_ici .affiche_ailleurs,
.dans_un_pere_acquis .affiche_ici,
.fake
{ display: none }

.tout_impose, .tout_interdit, .tout_requiert {
    font-size:80% ;
    opacity:0.7 ;
}
.tout_impose:hover, .tout_interdit:hover, .tout_requiert :hover {
    opacity: 1 ;
}
.tout_impose { background:#FFF }
.tout_interdit { background:#FDD }
.tout_requiert { background:#DDF }

.highlight {
    padding: 2px;
    border:4px solid #F00;
    display: inline-block;
}

.mauvais_semestre {
    text-decoration: underline;
    text-decoration-color: #F00;
    text-decoration-thickness: 2px;
}

.sequence3 {
    border:4px solid #F0F;
}
