.columns{
    display: flex;
    padding:20px; /* this */
    background-color: red;
}
.col{
    flex: 1;
    background-color: red;
}
.multicol{
    flex: 1;
    flex-grow: 2;
}
.colsep{
    flex: 1;
}

.scrollable {
    text-align: center;
    overflow-y: auto  !important;
    overflow-x: hidden !important;
    max-height: 400px;
    width: 100%;
}

.listHeader {
  padding: 10px 0px 10px 0px;
  text-transform: uppercase;
  font-weight: bold;
  /* position: absolute; */
  /* z-index: 10; */
}

/* .reveal .slides { margin: 0; } */
/* Slide-specific vertical centering override */
.reveal .slides section[data-vertical-align-top]{
	top: 0 !important;
}

.reveal section img { background:none; border:none; box-shadow:none; }

/* Custom colors for text elements */
:root {
    --tagColor: #19ffff;
    --emphColor: #ffc51b;
  }

/* Nested fragment grow correction
.reveal .slides section span.fragment.grow.visible {
  font-weight: bold;
  font-size: 120%;
  -webkit-transform: none;
  transform: none;
} */


/* Continue button config */
.continue {
  background-color: var(--main-color);
  border: 3px solid var(--tagColor);
  border-radius: 8px;
  color: var(--background-color);
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  display: inline-block;
  font-family: var(--main-font);
  font-size: 16px;
  margin-right: 7px;
  margin-left: 7px;

  cursor: pointer;
}

.continue:hover {
  background-color: var(--tagColor); /* Green */
  color: var(--background-color);
}

.continue span {
  cursor: pointer;
  display: inline-block;
  position: relative;
  transition: 0.5s;
}

.continue span:after {
  color: var(--background-color);
  content: '\00bb';
  font-size: 16px;
  position: absolute;
  opacity: 0;
  top: 0;
  right: -20px;
}

.continue:hover span {
  padding-right: 25px;

}

.continue:hover span:after {
  opacity: 1;
  right: 0;
}

/* Ask button config */
.ask_button {
  background-color: var(--main-color);
  border: 3px solid var(--tagColor);
  border-radius: 100%;
  color: var(--background-color);
  padding: 10px 15px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-family: var(--main-font);
  font-size: 14px;
  overflow: hidden;

  /* Position at bottom */
  position: fixed;
  bottom: 0;
  left: 0;
  margin-left: 30px;
  margin-bottom: 30px;
  z-index: 10;

  cursor: pointer;
}


.ask_button:hover {
  background-color: var(--tagColor); /* Green */
  color: var(--background-color);
  padding: 10px 30px;
  border-radius: 8px;
  transition: 0.5s;
}

.ask_button:hover::after {
  content: 'Ask a question!';
  font-size: 14px;
  text-transform: uppercase;
}


.ask_button:hover span {
  display: none;
}

/* Color but no emph formulas */
.colorMath {
  color: var(--emphColor);
}

/* Color text in italics for definitions */
.emph {
  color: var(--emphColor);
  font-style: italic;
}

/* Multiple Choice question answer choice styling */
.choice {
  display: block;
  text-align: left;
  width: 100%;
}

input[type="radio"] {
  margin-top: -1px;
  vertical-align: middle;
  margin-right: 8px;
}


/* Theorem-like environments */
.answer {
    display: block;
    margin: 12px 0;
    font-style: normal;
}
.answer:before {
    color: var(--tagColor);
    content: "A:";
    font-weight: bold;
    font-style: normal;
    text-decoration: underline;
}

.definition {
    display: block;
    margin: 12px 0;
    font-style: normal;
}
.definition:before {
    color: var(--tagColor);
    content: "Definition.";
    font-weight: bold;
    font-style: normal;
}

.example {
    display: block;
    margin: 12px 0;
    font-style: normal;
    text-align: left;
}
.example:before {
    color: var(--tagColor);
    content: "Example.";
    font-weight: bold;
    font-style: normal;
}

.hint {
    display: block;
    margin: 12px 0;
    font-style: normal;
}
.hint:before {
    color: var(--tagColor);
    content: "Hint:";
    font-weight: bold;
    font-style: italic;
}

.lemma {
    display: block;
    margin: 12px 0;
    font-style: italic;
}
.lemma:before {
    content: "Lemma.";
    font-weight: bold;
    font-style: normal;
}

.mainIdea {
    display: block;
    margin: 12px 0;
    font-style: bold;
    justify-content: flex-start;
}
.mainIdea:before {
    color: var(--tagColor);
    content: "Main idea.";
    font-weight: bold;
    /* text-decoration: underline; */
}

.proof {
    display: block;
    margin: 12px 0;
    font-style: normal;
    text-align: left;
}
.proof:before {
    color: var(--tagColor);
    content: "Proof.";
    font-style: italic;
}
.proof:after {
    color: var(--tagColor);
    content: "\25FC";
    float:right;
}

.question {
    display: block;
    margin: 12px 0;
    font-style: italic;
    justify-content: flex-start;
}
.question:before {
    color: var(--tagColor);
    content: "Q:";
    font-weight: bold;
    text-decoration: underline;
}

.remark {
    display: block;
    margin: 12px 0;
    font-style: normal;
}
.remark:before {
    color: var(--tagColor);
    content: "Remark.";
    font-weight: bold;
    font-style: italic;
}

.theorem {
    display: block;
    margin: 12px 0;
    font-style: normal;
    text-align: justify;
}
.theorem:before {
    color: var(--tagColor);
    content: "Theorem.";
    font-weight: bold;
    font-style: normal;
}

.proposition {
    display: block;
    margin: 12px 0;
    font-style: normal;
    text-align: justify;
}
.proposition:before {
    color: var(--tagColor);
    content: "Proposition.";
    font-weight: bold;
    font-style: normal;
}

.true_false {
    display: block;
    margin: 12px 0;
    font-style: normal;
    text-align: center;
}
.true_false:before {
    color: var(--tagColor);
    content: "True or false? ";
    font-weight: bold;
    font-style: normal;
}


/* TESTING QUESTION MODAL */
.modal-cover {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  transform: translateZ(0);
  background-color: rgba(0, 0, 0, 0.8);
}

.modal-area {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 2.5em 1.5em 1.5em 1.5em;
  background-color: var(--main-color);
  box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.1);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;

  text-align: center;
}

@media screen and (min-width: 500px) {
  /* Center the Modal! */
  .modal-area {
    left: 50%;
    top: 50%;
    height: auto;
    transform: translate(-50%, -50%);
    max-width: 30em;
    max-height: calc(100% - 1em);
  }
}

.input {
  width: 100%;
  font-family: var(--main-font);
  font-size: 20px;
}

.form-group {
  font-family: var(--main-font);
  font-size: 20px;
  width: 100%;
  text-align: left;
  color: var(--background-color);
}

._modal-close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0.5em;
  line-height: 1;
  background: var(--main-color);
  border: 0;
  box-shadow: 0;
  cursor: pointer;
}

._modal-close-icon {
  width: 25px;
  height: 25px;
  fill: transparent;
  stroke: black;
  stroke-linecap: round;
  stroke-width: 2;
}

.modal-body {
  padding-top: 0.25em;
}
._hide-visual {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}

.answer-area {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 2.5em 1.5em 1.5em 1.5em;
  background-color: var(--main-color);
  box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.1);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;

  text-align: center;
}

@media screen and (min-width: 500px) {
  /* Center the Modal! */
  .answer-area {
    left: 50%;
    top: 50%;
    height: auto;
    transform: translate(-50%, -50%);
    max-width: 10em;
    max-height: calc(100% - 1em);
  }
}

/* Technical credits button */
.credits {
  position: absolute;
  bottom: 0;
  left: 0;
  margin-left: 5%;
  margin-bottom: -5%;
  font-size: 14pt;
}
