/*
 * Main 
 */

html {
  font: 400 16px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif;
}

body {
  max-width: 1100px;
  min-width: 290px;
  margin: 0 auto;
}

fieldset {
  width: 0px;
}

dt {
  margin-top: 2em;
  margin-bottom: 1em;
  font-weight: bold;
}

.command {
  background-color: #333;
  color: #f2f2f2;
  padding: 5px;
}

footer {
  text-align: right;
  font-size: small;
}

/*
 * Menu
 */
/* Add a black background color to the top navigation */
.topnav {
  background-color: #333;
  overflow: hidden;
}
/* Style the links inside the navigation bar */
.topnav a {
  float: left;
  color: #f2f2f2;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 17px;
}
/* Change the color of links on hover */
.topnav a:hover {
  background-color: #ddd;
  color: black;
}
/* Add a color to the active/current link */
.topnav a.active {
  background-color: #04AA6D;
  color: white;
}

/* Text */
.underlinetext {
  text-decoration: underline;
}

.boldedtext {
  font-weight: bold;
}

/*
 * Table
 */
table {
  border-collapse: collapse;
  width: 100%;
}

td, th {
  border: 1px solid #cccccc;
  font-weight: 400;
  font-size: 15px;
  padding: 4px;
  text-align: left;
  vertical-align: top;
}

th {
  word-wrap: break-word;
}

tr:nth-child(even) {
  background-color: white;
}

/*
 * Buttons in Table
 */
/* Style the links inside the navigation bar */
.tablebutton a {
  float: left;
  background-color: #efefef;
  color: #6b6b6b;
  text-align: center;
  text-decoration: none;
  font-size: 18px;
  margin: 10px;
  border: 1px solid #b9b9b9;
  padding: 10px;
  border-radius: 20px;
}
/* Change the color of links on hover */
.tablebutton a:hover {
  background-color: white;
  color: #04aa6d;
  border-color: #04aa6d;
}
/* Add a color to the active/current link */
.tablebutton a.active {
  background-color: #04aa6d;
  color: white;
  border-color: grey;
}

.tablepage {
  word-break: break-all;
}

/*
 * Tree
 */
.tree{
  --spacing : 1.5rem;
  --radius  : 9px;
}

.tree li{
  display      : block;
  position     : relative;
  padding-left : calc(2 * var(--spacing) - var(--radius) - 2px);
  cursor  : pointer;
}

.tree ul{
  margin-left  : calc(var(--radius) - var(--spacing));
  padding-left : 0;
}

.tree ul li{
  border-left : 2px solid #ddd;
}

.tree ul li:last-child{
  border-color : transparent;
}

.tree ul li::before{
  content      : '';
  display      : block;
  position     : absolute;
  top          : calc(var(--spacing) / -2);
  left         : -2px;
  width        : calc(var(--spacing) + 2px);
  height       : calc(var(--spacing) + 1px);
  border       : solid #ddd;
  border-width : 0 0 2px 2px;
}

.tree summary{
  display : block;
  cursor  : pointer;
}

.tree summary::marker,
.tree summary::-webkit-details-marker{
  display : none;
}

.tree summary:focus{
  outline : none;
}

.tree summary:focus-visible{
  outline : 1px dotted #000;
}

.tree li::after,
.tree summary::before{
  content       : '';
  display       : block;
  position      : absolute;
  top           : calc(var(--spacing) / 2 - var(--radius));
  left          : calc(var(--spacing) - var(--radius) - 1px);
  width         : calc(2 * var(--radius));
  height        : calc(2 * var(--radius));
  border-radius : 50%;
  background    : #ddd;
}

.tree summary::before{
  content     : '+';
  z-index     : 1;
  background  : #696;
  color       : #fff;
  line-height : calc(2 * var(--radius) - 2px);
  text-align  : center;
}

.tree details[open] > summary::before{
  content : '-';
}

.container {
      display: flex;
    }

.left, .right {
      width: 50%;
      box-sizing: border-box;
}

.right {
      position: sticky;
      top: 0;
      padding: 1rem;
      height: 100vh;
}
