/* CSS des fiches ECTS de la HEH */
html { margin:0; padding:0; font-size:100%; font-family:Arial,sans-serif; scroll-behavior: smooth; }
body { margin:0; padding:0; min-height:100dvh; background-color:#888; }
section { box-sizing:content-box; max-width:644px; margin:0 auto; padding:75px; background-color:#fff; color:#333; border:1px solid #444; margin-bottom:4rem; }
#header { max-width:794px; margin:0 auto; display:flex; flex-flow:row wrap; justify-content:flex-end; gap:0.25rem;  color:#fff; font-weight:bold; margin-top:1rem; }
#header>* { color:#fff; padding:0.666em 1.333em; text-decoration:none; /*flex:1;*/ text-align:center; cursor:pointer; user-select:none; align-content:center; border-radius:0.5rem 0.5rem 0 0; border:1px solid #444; border-bottom:0px;}
#header>*:active { background-color:#DAB00B; }
header img { height:80px; }
.espace { margin:0.666rem 0 0.333rem 0; }
.margintop { margin-top:1rem; }
.small { font-size:0.875rem; }
section>div{ margin:1.333rem 0; }
section>div.sansaut, tr:not(.gros), li, p, h1, h2, h3, h4, h5, h6 { page-break-inside: avoid; }
section>*:first-child { margin-top:0; } 

a:active { color: #DAB00B; }
h1, h2, h3, h4, h5, h6, li { margin:0.167em 0; }
h3 { font-size:1rem; }
h3 span { font-weight:normal; }
p, ul, ol{ margin:0.333em 0; }
ul, ol { padding-left: 1.333rem; }
table td, table th { vertical-align:top; }
td>*:first-child { margin-top:0; }
.cols2 { display:flex; flex-flow:row wrap; justify-content:space-between; gap:1rem; }
.cols2>* { flex:1; }
.right { text-align:right; }
.center { text-align:center; }
.odd tr td+td { padding-left:0.5rem; }
.odd ul { font-size:0.875rem; }
.odd img {width:100px; }
.adresse { margin-top:0.666em; }
.indent { padding-left:0.666rem; }

table.index { width:100%; border-spacing: 3px;}
table.index th, table.index td { vertical-align:middle; }
table.index tr.quad th { padding:0.333em 0.167em; }
table.index tr.quad th:first-child { font-size:1.25rem; }
table.index tr.ue { font-weight:bold; }
table.index tr.ue a { text-decoration:none; }
table.index tr.ue a:hover { text-decoration:underline; }
table.index tr.aa { font-size:0.875rem; }
table.index tr.aa td:first-child { padding-left:1.333rem; }
table.index th { padding:0.167em; }
table.index tr.aa:has(+tr:not(.aa)) td { padding-bottom:0.666em; }

.par2 { column-count:2; gap:1rem; }
.par2>*:first-child, .par2>div:first-child>*:first-child { margin-top:0; }
.par2>div, .par1>div:not(:first-child) { /*page-break-inside: avoid;*/ margin-top:1.333rem; }

footer { margin-top:3rem; page-break-inside: avoid; }

@page {
    size: A4;
}
@media print { 
    html, body { background-color:#fff; }
    section { padding:0; padding-bottom:0; margin-bottom:0; border:0; }
    h1, h2{ break-after: avoid; page-break-after: avoid; }
    #header { display:none; }
}
@media (max-width:800px) {
    section { padding:4%; page-break-after: always; }
    h1 { font-size:1.666rem; }
    .par2 { column-count:1; }
}
@media (max-width:650px) {
    header { font-size: 0.875rem; }
    header img { height:60px; }
}
@media (max-width:480px) {
    .odd img { width:80px; }
    .cols2 { flex-flow:column nowrap; gap:1rem; }
    .cols2>* { flex:1; }
}