:root {
  --standard-border-radius: 8px;

  /* Default (light) theme */
  --bg: #509fc4;
  --text: #0b012c;
  --main-bg: #3f3c3a;
  --input-bg: #fff;
  --accent-bg: #8790b4;
  --hover-bg: #7777772a;
  --text-light: #585858;
  --border: #898EA4;
  --accent: #040455;
  --accent-hover: #1266e2;
  --accent-text: var(--bg);
  --code: #d81b60;
  --preformatted: #444;
  --marked: #ffdd33;
  --disabled: #efefef;
  --header-bg: #020024;
  --header-bg-gradiant: var(--bg);
  --button-bg: #040455;

  --font-size: 16pt;
}

body {
  margin: 0 5pt;
  background: var(--bg);
  color: var(--text);
  font-size: var(--font-size);
  letter-spacing: 0.7px;
}

header {
  padding: 0 30pt;
  padding-top: 20pt;
  min-height: 300pt;
  border-bottom: 1pt solid var(--border);
  margin-bottom: 16pt;
}

main {
  border-radius: var(--standard-border-radius);
  padding: 8pt;
  margin: 8pt;
  background: var(--main-bg);
  padding-bottom: 8pt;
}

h1 {
  margin-top: 0;
  letter-spacing: 6px;
  font-size: 52pt;
  margin-bottom: 10pt;
}

h2 {
  margin-top: 0;
  letter-spacing: 3px;
  font-size: 2em
}

h3 {
  margin-top: 0;
  margin-bottom: .5em;
  letter-spacing: 2px;
}

a {
  color: white;
  letter-spacing: 2px;
}

small {
  font-size-adjust: 0.35;
}

big {
  font-size-adjust: 1.00;
}


menu {
  list-style-type: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background-color: var(--main-bg);
  margin-bottom: 8pt;
}

menu>li {
  float: left;
}

li a {
  display: block;
  text-decoration: none;
  padding: 6pt 8pt;
  border: solid 2pt transparent;
}

li a:hover {
  background-color: var(--bg);
  border: solid 2pt white;
}

.right {
  float: right;
}

.full_background {
  width: 100%;
  background: #2d2d2d;
  height: 90vh;
  padding: 20pt;
  position: absolute;
  top: 0;
  left: 0;
}

.welcome_bubble {
  border-radius: 16pt;
  background: var(--bg);
  width: 50%;
  max-width: 300pt;
  margin: auto;
  padding: 20pt;
  border: 2pt double white;
  border-style: double;
}

.cta_button{
  background: rgb(46, 143, 46);
  color: rgb(3, 3, 3);
  padding: 10pt 15pt;
  border-radius: 14pt;
  font-size: 12pt;
  font-weight: bolder;
  box-shadow: 2pt 2pt 10pt rgb(144, 239, 154);
}
.submit-btn {
  margin-top: 8pt;
  font-size: 18pt;
  padding: 12pt 24pt;
  border-radius: 8pt;
  background: var(--button-bg);
  color: var(--accent-text);
  border: none;
  cursor: pointer;
  font-weight: bold;
}

.submit-btn:hover {
  background: var(--accent-hover);
}

.undotted_list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.sticky_details {
  position: sticky;
  top: 0;
}

.chapter-group input[type="radio"] {
  display: none;
}

.chapter-sticky {
  position: relative;
}

.chapter-label {
  display: block;
  padding: 8px;
  font-weight: bold;
  cursor: pointer;
  background: var(--bg);
  border-bottom: 1px solid var(--border);
  user-select: none;
}

.chapter-label:hover {
  background: var(--hover-bg);
}

.chapter-group input[type="radio"]:checked ~ .chapter-sticky .undotted_list {
  position: sticky;
  top: 0;
}

.chapter-group input[type="radio"]:not(:checked) ~ .chapter-sticky .undotted_list {
  display: none;
}
