/** GENERAL **/
:root {
    --bgcol-light: #ffe;
    --bgcol-dark: #333;
    --fontcol-light: var(--bgcol-dark);
    --fontcol-dark: var(--bgcol-light);

    --butcol-light: #7ce;
    --butcol-dark: #344;
    --disablecol: #888;
/*    --commcol-light: var(--fontcol-light);
    --commcol-dark: var(--fontcol-dark);*/

    --bgcol-list-light: var(--bgcol-dark);
    --bgcol-list-dark: #ddc;
    --fontcol-list-light: var(--fontcol-dark);
    --fontcol-list-dark: var(--fontcol-light);
    --link-col-light: darkslateblue;
    --link-col-dark: beige;

    --body-width: 28cm;

    --but-height: 52px;
    --but-width: 225px;
    --but-radius: 26px;
    --info-spacing: calc(0.5 * var(--but-height));

    --margin-but-tb: 25px;
}

* { font-family: "Open Sans",sans-serif; }
.center {
    max-width: var(--body-width);
    margin: 0 auto;
    text-align: center;
}
h1 { font-size: xxx-large; }
h2 {
    text-align: left;
    margin-bottom: 10px;
}

/** SECTIONS **/

.links_board {
    display: flex;
    flex-direction: column;
    text-align: center;
    justify-content: center;
}
.block {
    margin-bottom: 10px;
}

/** BUTTONS **/

img.logo {
    max-height: 35;
    max-width: 35;
    border-radius: 50%;
    position: absolute;
    transform: translateX(9px);
}
.text_but {
    font-weight: bold;
    position: absolute;
    transform: translateX(55px);
}
.link_elt {
    margin: var(--margin-but-tb) 18px;
}
.link_elt:hover {
    transition: all 300ms;
    box-shadow: 3px 2px 7px rgb(0,0,0,0.3);
}
.subd_but {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    text-decoration: none;
    padding: 0;
    height: var(--but-height);
    width: var(--but-width);
    display:flex;
    align-items: center;
    border-radius: var(--but-radius);
    float: left;
    cursor: pointer;
}
.subd_info {
    position: absolute;
    user-select: none;
}
.not_yet {
    text-decoration: line-through;
    cursor: not-allowed;
    filter: opacity(0.7) blur(1px);
}
.not_yet:hover {
    box-shadow: 0 0;
}

/** INFOS **/

summary {
    width: var(--but-width);
    height: var(--but-height);
    border-radius: var(--but-radius);
    position: absolute;
}
summary::marker { content: ""; }
summary::-webkit-details-marker {
    display: none;
}
.chevron-down {
    box-sizing: border-box;
    position: absolute;
    display: block;
    transform: translateX(191px) translateY(-1px);
    width: 15px;
    height: 15px;
    border: 2px solid transparent;
    border-radius: 100px;
}
.chevron-down::after {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
    width: 12px;
    height: 12px;
    border-bottom: 3px solid;
    border-right: 3px solid;
    transition: 250ms transform ease;
    transform: rotate(45deg);
    transform-origin: 60% 60%;
    left: 0px;
    top: 0px;
}
details[open] .chevron-down::after {
    transform: rotate(225deg);
}
.info_menu {
    border-radius: 0 0 var(--but-radius) var(--but-radius);
    margin-top: var(--info-spacing);
    margin-bottom: var(--margin-but-tb);
    height: fit-content;
    width: var(--but-width);
    font-size: 13pt;
    cursor: auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    animation: closeMenu 300ms ease-in-out forwards;
}
.info_menu div:nth-of-type(1) {
    margin-top: calc(var(--info-spacing) + 4px);
}
.info_menu div:nth-last-of-type(1) {
    margin-bottom: 20px;
}
.info_menu > div {
    padding: 2px 5px;
    margin: 2px 10px;
    text-align: left;
}
.property {
    font-weight: bold;
}
.value {
    text-align: right;
    font-family: monospace;
    font-size: 12pt;
    /*letter-spacing: -1px;*/
}
.value > a {
    text-decoration: none;
    font-style: italic;
    color: inherit;
}
.mail {
    text-decoration: underline solid transparent;
    transition: text-decoration 0.15s ease;
}
.mail:hover {
    text-decoration: underline solid currentColor;
    transition: text-decoration 0.2s ease;
}
/* .property, .value { margin: 0 3px; } */
.comment {
    font-size: 10pt;
    font-family: Open Sans;
    display: block;
}
.on, .off, .unkn {
    padding: 2px 6px;
    border-radius: 3px;
}
.on { background-color: mediumseagreen; }
.off {background-color: orangered; }
.unkn {background-color: gray; }

/* animation */
details[open] .info_menu {
  animation-name: menuAnim;
}
@keyframes menuAnim {
  0% {
    height: 0;
  }
  100% {
    height: 165px;
  }
}

/** THEMES **/

@media (prefers-color-scheme: dark) {
    body {
        background: var(--bgcol-dark);
        color: var(--fontcol-dark);
    }
    .text_but { color: var(--fontcol-dark); }
    .subd_but { background: var(--butcol-dark); }
    .not_yet { color: var(--disablecol); }

/*    .comment { color: var(--commcol-dark); }*/

    .info_menu {
        background: var(--bgcol-list-dark);
    }
    .info_menu, .value {
        color: var(--fontcol-list-dark);
    }

    a {
        color: var(--link-col-dark);
    }
}
@media (prefers-color-scheme: light) {
    body {
        background: var(--bgcol-light);
        color: var(--fontcol-light);
    }
    .text_but { color: var(--fontcol-light); }
    .subd_but { background: var(--butcol-light); }
    .not_yet { color: var(--disablecol); }

/*    .comment { color: var(--commcol-light); }*/

    .info_menu {
        background: var(--bgcol-list-light);
    }

    .info_menu, .value {
        color: var(--fontcol-list-light);
    }
    
    a {
        color: var(--link-col-light);
    }
}

@media only screen and (max-width: 28cm) {/* --body-width */
    .center { max-width: calc(0.75 * var(--body-width)); }
}

@media only screen and (max-width: 21cm) {/* 3/4 * --body-width */
    .center { max-width: calc(0.5 * var(--body-width)); }
}
