@media (prefers-color-scheme: light) {
  :root {
    --front-body: #eee;
    --back-body: #ccc;
    --text-col: #bbb;
    --sect-col: #666;
    --text-hov: #fff;
    --back-hov: #666;
    --title-col: #000;
    --title-dom: #888;
    --curs-img: url(c-point-light.png);
    --curs-hov: url(c-line-light.png);
  }
}

@media (prefers-color-scheme: dark) {
  :root {
    --front-body: #333;
    --back-body: #000;
    --text-col: #666;
    --sect-col: #ccc;
    --text-hov: #666;
    --back-hov: #eee;
    --title-col: #fff;
    --title-dom: #999;
    --curs-img: url(c-point.png);
    --curs-hov: url(c-line.png);
  }
}

/*
################################################
################################################
################################################
################################################
################################################




################################################
################################################
################################################
################################################
################################################
 */

body {
  font-family: Ubuntu, "Helvetica neue", Helvetica, Arial,
    sans-serif;
  background: var(--front-body);
  color: var(--text-col);
  font-size: 1.4em;
  cursor:
    var(--curs-img) 1 1,
    auto;
}

.title {
  color: var(--title-col);
  margin: 0;
  padding: 0px 12px;
  border: 1px solid var(--text-col);
  border-radius: 1em;
  position: sticky;
}

.titledomain {
  color: var(--title-dom);
  display: inline-block;
  position: relative;
  top: 0px;
  padding-right: 0.3em;
}

.container {
  scroll-behavior: smooth;

  /*** sections ***/
  height: 94%;
  overflow-y: scroll;
  overflow-x: hidden;
  scroll-snap-type: y mandatory;
  /* background-color: red; */
}

section {
  scroll-snap-align: start;
  height: auto;
  /* padding-bottom: 1.2em; */
}

section:last-child {
  margin-bottom: 83vh;
}

section,
section .group {
  color: var(--text-col);
}

section:hover a,
section:hover .group {
  color: var(--sect-col) !important;
}

li,
.secname {
  display: inline-block;
  list-style-type: none;
  color: var(--back-body);
  min-width: 190px;
  font-family: "Ubuntu", "Helvetica neue", Helvetica, Arial,
    sans-serif;
}

li a {
  color: var(--sect-col) !important;
  padding: .2em 0.3em 0.2em 0.3em !important;
  text-decoration: none;
  border-radius: .35em;
  cursor:
    var(--curs-hov) 1 30,
    auto;
  margin: 0;
}

li a:hover,
a.secname:hover {
  color: var(--text-hov) !important;
  background-color: var(--back-hov) !important;
}

section a {
  color: var(--text-col) !important;
}

.secnum {
  font-size: small;
  display: none;
}

a.secname {
  font-size: smaller;
  text-decoration: none;
  padding: 8px 8px !important;
  min-width: 35px;
  display: inline-flex;
  color: var(--sect-col) !important;
  border-right: 1px solid var(--text-col);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.secname:first-child {
  border-left: 1px solid var(--sect-col);
}

.secname:last-child {
  border-right: 1px solid var(--text-col);
}

a.secname:hover {
  background-color: var(--sect-col) !important;
  /* padding: 1px; */
}


html {
  cursor:
    var(--curs-img) 1 1,
    auto;
  font-family: "ubuntu condensed", "helvetica neue", helvetica,
    arial, sans-serif;
}

body {
  background-color: var(--back-body);
}

div.seite {
  width: 99%;
  height: 99%;
  overflow-x: hidden;
  margin: 0px;
  border-radius: 0.87em;
  background-color: var(--front-body);
  position: fixed !important;

  -ms-overflow-style: none;
  /* for Internet Explorer, Edge */
  scrollbar-width: none;
  /* for Firefox */
  overflow-y: scroll;
}

div.seite::-webkit-scrollbar {
  display: none;
  /* for Chrome, Safari, and Opera */
}

.bottomspace {
  height: 0px;
  clear: both;
}

li {
  margin: 0 0 !important;
  width: auto;
  height: 36px;
  clear: both;
}

li a {
  text-decoration: none;
  display: block;
  padding: 0px;
}

.name {
  color: var(--text-col);
  width: 100%;
  padding-top: 0.25em;
  padding-bottom: .2em;
  margin-top: 0px;
  margin-bottom: 0px;
  font-family: "Helvetica Neue", helvetica, arial, sans-serif;
  font-size: 1.4em;
  text-transform: uppercase;
  border-bottom: .06em solid var(--text-col);
  background: none;

  padding-left: 0.2em;
}

.group {
  color: var(--sect-col) !important;
  width: 100%;
  max-width: 1250px;
  margin-top: .5em;
  margin-bottom: 1em;
  font-family: "helvetica neue", helvetica, arial, sans-serif;
  color: var(--title-col);
  border-bottom-width: 1px !important;
  background: none;
}

section:hover,
section:hover .name,
section:hover .group {
  color: var(--title-col) !important;
  border-color: var(--title-col);
  cursor:
    var(--curs-img) 1 1,
    auto;
}



section h3 a.navprev,
section h3 a.navnext {
  color: var(--text-col);
  /* opacity: 0.3; */
  opacity: 0;
  text-align: center;
  font-size: .83em;
  padding: 0.0em 0.22em .22em 0.22em;
  border-radius: 0.25em;
}

section:hover h3 a.navprev,
section:hover h3 a.navnext {
  color: var(--back-hov);
  opacity: 1;
}

a.navprev:hover,
a.navnext:hover {
  background-color: var(--back-hov) !important;
  color: var(--front-body) !important;
}



.group {
  padding-left: 0.12em;
}

.group .links {
  width: auto;
  padding-top: 0px;
  margin-top: 1em;
  font-family: "ubuntu condensed", "helvetica neue", helvetica,
    arial, sans-serif;
  font-size: 1.4em;
  line-height: 1.7em font-weight: normal;
  color: var(--sect-col);
  align: center;
}

.group .links .row {
  width: auto;
  margin: 0 auto;
}

.group .links .row .cell {
  width: 191px;
  float: left;
}

.group .links .row .cell a {
  color: var(--sect-col);
  padding: 0px 0px 0px 0px;
  text-decoration: none;
  border-radius: 6px;
  border: 0px solid var(--back-body);
  cursor:
    var(--curs-hov) 1 12,
    auto;
  overflow: hidden;
}

li a {
  color: var(--title-col);
}

.group .links .row .cell a:active {
  background-color: red;
}

#container {
  clear: both;
  color: var(--title-col);
  font-family: "helvetica neue", helvetica, arial, sans-serif;
  font-size: 1em;
  margin: auto;
  /* position: fixed; */
}

section h3 a {
  text-decoration: none !important;
  cursor: crosshair;
  display: inline-block;
  width: 80%
}


a.navprev,
.navnext {
  cursor: n-resize !important;
  color: var(--front-body);
  display: inline-block;
  width: 1em !important;
  position: relative;
  right: 2.2em;
}


a.navnext {
  cursor: s-resize !important;
  background-color: var(--front-body);
  color: var(--back-body)
}


/*
################################################
################################################
################################################
################################################
################################################
 */

/* iPad iPad iPad  */
@media only screen and (max-device-width: 1024px) {
  li {
    width: auto;
    /* Flexible Breite */
    width: 1em;
    /* Mindestbreite pro Element */
    /* max-width: 220px; */
    /* Maximalbreite pro Element */
    font-size: 1.05em;
    padding: 2px 0px !important;
    margin: 2px;
    display: inline-block;
  }

  .group {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
  }

  section {
    min-height: 25vh;
    max-height: 46vh;
    /* Eine Section pro Bildschirm */
    scroll-snap-align: start;
  }
}

/* SMARTPHONE Combined Rules (HOR & VERT) */
@media only screen and (min-device-width: 350px) and (max-device-width: 812px) {
  div.seite {
    width: 100%;
    height: 100%;
    margin: 0;
    top: 0;
    left: 0;
    border-radius: 0;
    /* REMOVED FLEXBOX REORDERING */
  }

  .container {
    height: 100%;
    /* Use full height */
    padding: 10px 10px 50px 10px;
    /* Add padding-bottom for the fixed title bar */
    box-sizing: border-box;
    overflow-y: auto;
    overflow-x: hidden;
  }

  .title {
    position: fixed;
    /* Fix position to viewport */
    bottom: 0;
    /* Align to bottom */
    left: 0;
    /* Align to left */
    width: 100%;
    /* Full width */
    z-index: 100;
    /* Ensure it's on top */

    margin: 0;
    border-radius: 0;
    border: none;
    border-top: 1px solid var(--text-col);
    padding: 0;
    height: auto;
    display: flex;
    align-items: center;
    overflow-x: auto;
    background-color: var(--front-body);
    /* Add background color to prevent content showing through */
    -ms-overflow-style: none;
    scrollbar-width: none;
  }

  .title::-webkit-scrollbar {
    display: none;
  }

  .home-link,
  #section-nav-list,
  .secname,
  #section-jumper,
  .gear-btn {
    flex-shrink: 0;
    padding: 0.5em 0.8em;
  }

  li a {
    padding: .05em !important;
    border-radius: .35em;
  }

  .group {
    padding-top:  0.12em;
  }
}

/* iPhone iPhone iPhone  HOR HOR HOR */
@media only screen and (min-device-width: 350px) and (max-device-width: 812px) and (orientation: landscape) {
  .name {
    display: none;
  }

  li {
    width: 30%;
    font-size: 0.9em;
    padding: 0px;
    clear: none;
  }

  section {
    height: 100%;
  }

  .group {
    line-height: 1.0em;
  }

  .title {
    display: flex;
  }
}

/* iPhone iPhone iPhone  VERT  VERT */
@media only screen and (min-device-width: 375px) and (max-device-width: 812px) and (-webkit-min-device-pixel-ratio: 3) and (orientation: portrait) {
  section {
    scroll-snap-stop: always;
  }

  /* DYNAMIC SECTION HEIGHTS */
  .paired-section {
    min-height: 49vh;
    /* Two sections fit on one screen */
  }

  .full-page-section {
    min-height: 98vh;
    /* A single section takes the full screen */
  }

  .group {
    display: flex;
    flex-wrap: wrap;
    margin: 0 !important;
  }

  li {
    width: calc(50% - 4px);
    /* Slightly more space between items */
    font-size: 0.9em;
    height: auto;
    margin: 0px;
    padding: 0 !important;
    clear: none;
    min-width: 0;
  }

  li a {
    margin: 0 !important;
    padding: 4px 6px !important;
    /* More padding inside links */
  }

  #section-nav-list {
    display: none !important;
    visibility: hidden;
  }
}


/*
################################################
################################################
################################################
################################################
################################################
################################################
 */


/* Additional modern functionality styles */
.home-link,
#section-nav-list,
a.secname {
  vertical-align: middle;
  line-height: 1.4em;
}


.home-link {
  white-space: nowrap;
  text-decoration: none;
  color: var(--title-col) !important;
  position: relative;
  left: -0.2em;
}

#section-nav-list {
  white-space: nowrap;
  overflow: hidden;
  flex-shrink: 1;
  min-width: 0;
  font-size: 0.9em;
}

a.secname {
  font-size: 1em;
  text-decoration: none;
  padding: 12px 6px;
  display: inline-block;
  color: var(--sect-col) !important;
  border-right: 1px solid var(--text-col);
}

a.secname:visited {
  color: var(--sect-col) !important;
}

a.secname:visited,
a.secname:hover {
  background-color: var(--text-col) !important;
}

a.secname.active {
  background-color: var(--back-hov) !important;
  color: var(--text-hov) !important;
  font-weight: bold;
}

.title select {
  background-color: transparent;
  border: 1px solid var(--text-col);
  color: var(--title-dom);
  border-radius: 5px;
  font-family: inherit;
  font-size: 0.8em;
}

.gear-btn {
  background: transparent;
  border: 1px solid var(--text-col);
  color: var(--text-col);
  border-radius: 50%;
  width: 28px;
  height: 28px;
  font-size: 16px;
  line-height: 26px;
  text-align: center;
  cursor: pointer;
  padding: 0;
  margin-left: auto;
}

.edit-mode li a {
  cursor: text !important;
}inline-star