/*  load Gotham Rounded Book from OTF  */
@font-face {
  font-family: "Gotham Rounded Book";
  src: url("fonts/GothamRounded-Book.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
  font-display: swap; /* keep text visible until font loads */
}

/* apply Gotham Rounded site-wide  */
html,
body {
  font-family: "Gotham Rounded Book", -apple-system, BlinkMacSystemFont,
    "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
  line-height: 1.5; /* breathe */
  letter-spacing: 0.02em; /* subtle tracking */
  margin: 5;
  padding: 0;
  font-size: 12px;
}

a {
  color: #9e247b;
}

/* Style the button that is used to open and close the collapsible content */
.collapsible {
  background-color: #851764;
  color: #ffffff;
  cursor: pointer;
  padding: 18px;
  width: 100%;
  border: none;
  text-align: left;
  outline: none;
  font-size: 15px;
}

/* Add a background color to the button if it is clicked on (add the .active class with JS), and when you move the mouse over it (hover) */
.active,
.collapsible:hover {
  background-color: #b01f85;
}

/* Style the collapsible content. Note: hidden by default */
.content {
  padding: 0 18px;
  display: none;
  overflow: hidden;
  background-color: #e6e6e6;
}

/* Add styling for loading div that is shown while page elements are still loading */
.loading {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  text-align: center;
  justify-content: center;
  align-items: center;
  opacity: 0.7;
  background-color: #fff;
  z-index: 99;
}

#loading-image {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  z-index: 100;
}

#JmolDiv_intro {
  width: 25vmin;
  height: 20vmin;
  margin-right: 5px;
}

#playgroundcontrols {
  width: 20vmin;
  font-size: 10px;
}

#ramachandran_div {
  position: relative;
  width: 20vmin;
  height: 20vmin;
  margin-right: 10px;
}

#collapsibles {
  width: 25vmin;
}

#canvas,
#bgcanvas,
#labelscanvas {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0);
}

.sscontent {
  font-size: 12px;
  padding: 10px;
}

#playground {
  width: 100%;
  overflow: hidden;
}

#sequence {
  text-transform: uppercase;
}

.button {
  display: inline-block;
  margin: 4px 2px;
  font-family: Arial;
  font-size: 12px;
  text-align: center;
  text-decoration: none;
  background-color: #9e247b;
  color: white;
  border: black;
  border-radius: 5px;
  border-style: solid;
  border-width: 1px;
  border-color: #333;
  cursor: pointer;
  width: 37px;
  height: 28px;
}

.button:hover {
  color: white;
  background-color: #d64dae;
}

.button:active {
  color: white;
  background-color: #4f123d;
}

.playgroundContent {
  float: left;
}

.jmolContainer {
  width: 25vmin;
  height: 25vmin;
}

.structureBox {
  overflow: auto;
  border-style: solid;
  border-color: white;
  border-radius: 15px;
  color: white;
  padding-top: 5px;
  padding-bottom: 5px;
  padding-right: 5px;
  padding-left: 5px;
  margin-top: 5px;
  margin-bottom: 5px;
  margin-right: 5px;
  margin-left: 5px;
}

.bulletList {
  pointer-events: none;
  margin-left: -15px;
  margin-bottom: 0;
}

.explainingtext {
  text-align: justify;
}

.hoverable:first-letter {
  font-size: 20px;
  color: #9e247b;
}

.hoverable:hover {
  border-radius: 15px;
  background: #faeaf6;
  border-style: solid;
  border-color: #faeaf6;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-right: 10px;
  padding-left: 10px;
}

.mainBox {
  display: flex;
  position: relative;
}

#secondarystructures {
  width: fit-content;
  min-width: fit-content;
  font-size: 10px;
  background: #e6e6e6;
  display: grid;
  grid-template-areas:
    "sselementstitle sselementstitle"
    "helices strands"
    "turns turns"
    "coil coil";
}

#secondarystructures:hover {
  background: #f8f8f8;
}

#sselements_title {
  grid-area: sselementstitle;
  color: black;
}

#helices {
  grid-area: helices;
  background: #9e247b;
  display: grid;
  grid-auto-rows: min-content;
  grid-template-rows: auto auto auto auto;
}

#helices_title {
  grid-row: 1;
}

#alphahelices {
  background: #9e247b;
  border-style: dashed;
  grid-auto-rows: min-content;
  grid-auto-columns: min-content;
  grid-row: 3;
  display: grid;
  grid-template-areas:
    "alphahelicestitle alphahelicestitle"
    "regular distorted";
}

#alphahelices_title {
  grid-area: alphahelicestitle;
}

#regular {
  background: #9e247b;
  grid-area: regular;
}

#secondarystructures:hover:not(:has(*:hover)) {
  cursor: pointer;
}

#helices:hover:not(:has(*:hover)),
#strands:hover:not(:has(*:hover)),
#turns:hover:not(:has(*:hover)),
#regular:hover,
#distorted:hover,
#threeten:hover,
#pihelix:hover,
#parallel:hover,
#lefttwist:hover,
#relaxed:hover,
#righttwist:hover,
#coil:hover {
  background-color: #c82d9c;
  cursor: pointer;
}

#bulge:hover,
#piturns:hover,
#alphaturns:hover,
#betaturns:hover,
#gammaturns:hover,
#epsilonturns:hover,
#deltaturns:hover {
  background-color: #0069c7;
  cursor: pointer;
}

#distorted {
  background: #9e247b;
  grid-area: distorted;
}

#threeten {
  background: #9e247b;
  grid-row: 4;
}

#pihelix {
  background: #9e247b;
  grid-row: 2;
}

#strands {
  grid-area: strands;
  background: #9e247b;
  min-width: 375px;
}

#parallel,
#lefttwist,
#relaxed,
#righttwist,
#antiparallel {
  background: #9e247b;
}

#bulge {
  grid-auto-rows: min-content;
  grid-auto-columns: min-content;
  display: grid;
  grid-template-areas:
    "parallel parallel"
    "bulgetitle bulgetitle"
    "classic g1"
    "gx wide";
  margin-right: 20px;
}

#bulge_title {
  grid-area: bulgetitle;
}

#bulge_parallel {
  grid-area: parallel;
  border-style: dashed;
}

#bulge_classic {
  grid-area: classic;
  border-style: dashed;
}

#bulge_g1 {
  grid-area: g1;
  border-style: dashed;
}

#bulge_gx {
  grid-area: gx;
  border-style: dashed;
}

#bulge_wide {
  grid-area: wide;
  border-style: dashed;
}

#turns {
  grid-area: turns;
  background: #9e247b;
  grid-auto-rows: min-content;
  display: grid;
  grid-template-areas:
    "turnstitle turnstitle turnstitle turnstitle turnstitle"
    "piturns alphaturns betaturns gammaturns deltaturns"
    "piturns alphaturns betaturns epsilonturns deltaturns";
}

#turns_title {
  grid-area: turnstitle;
}

#piturns {
  grid-area: piturns;
  background: #004f95;
}

#alphaturns {
  grid-area: alphaturns;
  background: #004f95;
}

#betaturns {
  grid-area: betaturns;
  background: #004f95;
}

#gammaturns {
  grid-area: gammaturns;
  background: #004f95;
}

#epsilonturns {
  grid-area: epsilonturns;
  background: #004f95;
}

#deltaturns {
  grid-area: deltaturns;
  background: #004f95;
}

.structureBoxTitle {
  text-align: center;
}

.singleItem {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

#coil {
  grid-area: coil;
  flex: 1;
  background: #9e247b;
  border-style: solid;
}

#bulge {
  position: absolute;
  background: #004f95;
}

ol li span {
  /* make it clear it’s hoverable: */
  cursor: pointer;
}

/* on hover, switch to APP brand colour RGB(128, 30, 101) */
ol li span:hover {
  color: rgb(128, 30, 101);
}
