:root {
  /* BG Colors */
  --c_bg_dark: #393738;
  --c_bg_darker: #343233;
  --c_bg_dark_mono: #333;
  --c_bg_light: #ede6e1;
  --c_bg_lighter: #f0ebe8;
  --c_bg_light_mono: #efefef;
  /* Text Colors */
  --c_txt_diff: 0.2;
  --c_txt_dark:
  hsl(0deg 0% calc(100% * var(--c_txt_diff)));
  --c_txt_light:
  hsl(0deg 0% calc(100% - 100% * var(--c_txt_diff)));
  --c_txt_lighter:
  hsl(0deg 0% calc(100% - 100% * (var(--c_txt_diff)/2)));

  /* Universal */
  --c_crayon_blue: #72b5e0;
  --c_crayon_blue_light: #b8e3ff;
  --c_caramel: #c77d0f;
  --c_crayon_yellow: #f2e4bb;
  --c_crayon_yellow_intense: #ffd152;
  --c_crayon_orange: #ffa65a;
  --c_crayon_orange_intense: #ff7d71;
  --c_mouse: #dbccbf;
  --c_mouse_intense: #b9a796;

  /* TRANSITIONS */
  --transition_1: 400ms;

  /* Z_INDEX */
  --z_curtain: 0;
}
* {
  box-sizing: border-box;
}
html {
  --font_base:
  'Montserrat', 'Arial', sans-serif;
  --font_size: 22;
  font-size: calc(var(--font_size) * 1px);
  font-family: var(--font_base);
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}
body, p, h1, h2, h3 {
  padding: 0;
  margin: 0;
}
body.locked {
  overflow: hidden;
}
ul {
  margin: 0px;
}
body {
  --padding_vertical: 10rem;
  --padding_horizontal: 5rem;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

#curtain {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #000;
  opacity: 0;
  transition: opacity 150ms ease-in-out;
  pointer-events: none;
}
#curtain.visible {
  opacity: 0.8;
}

section {
  width: 100%;
  padding: var(--padding_vertical) var(--padding_horizontal);
  background-color: var(--c_bg_lighter);
  color: var(--c_txt_dark);
  display: flex;
  flex-direction: column;
  align-items: center;
  border: none;
}
section:nth-of-type(odd) {
  background-color: var(--c_bg_light);
}

section.dark {
  background-color: var(--c_bg_darker);
  color: var(--c_txt_light);
}
section.dark:nth-of-type(even) {
  background-color: var(--c_bg_dark);
}

section > article {
  --gap: 4em;
  --primary_col: 10fr;
  --secondary_col: 2fr;
  --margin-p: 1.5em;
  --max_width_col: 60em;
  display: flex;
  flex-direction: row;
  align-items: center;
  column-gap: var(--gap);
  margin-bottom: var(--padding_vertical);
  transition: color 200ms linear;
  width: 100%;
}
section.row > article {
  flex-direction: column;
  max-width: calc(var(--max_width_col));
}
section > article.highlighted {
  color: var(--c_txt_lighter);
}
section.dark > article.highlighted {
  color: inherit;
}
section > article:last-child {
  margin-bottom: 0;
}

section > article.highlighted > contentInner:first-child,
section > article.highlighted contentHidden{
  z-index: 1;
}
section > article > contentInner {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
section.col contentInner {
  width: 50%;
}
section.row > article > contentInner {
  justify-content: flex-start;
}
section.col > article > contentInner:nth-child(2) {
  align-items: center;
}
section.row > article > contentInner:nth-child(2) {
  margin-top: var(--margin-p)
}


section > h1 {
  --font_scale: 2.2;
  display: block;
  flex-basis: 100%;
  width: fit-content;
  margin-bottom: calc(var(--padding_vertical) / 2);
  font-size: calc(var(--font_scale) * 1rem);
  color: var(--c_crayon_orange_intense);
  text-align: center;
}
section > h1,
section > h1 > sub {
  line-height: 1.1em;
}
section > h1 > sub {
  display: block;
  font-size: 1.5rem;
  font-weight: 100;
  border: 1px dashed var(--c_caramel_light);
  font-family: var(--font_base);
  color: var(--c_caramel);
  font-style: italic;
  margin-top: 1em;
}
section.dark > h1 {
  color: var(--c_crayon_yellow_intense);
  text-shadow: 4px 4px 4px #0006;
}
section.dark > h1 > sub {
  color: var(--c_crayon_yellow);
}

section contentInner:nth-child(2) {
  position: relative;
  height: var(--height1);
  overflow: hidden;
  transition: height var(--transition_1);
}

/* ALTERNATING */
section.col > article:nth-of-type(even) {
  flex-direction: row-reverse;
}
section > article:nth-of-type(even) contentInner:first-of-type {
  grid-column-start: 2;
  grid-column-end: 3;
  grid-row-start: 1;
  grid-row-end: 2;
}
/* END ALTERNATING */

contentInner > h2 {
  font-size: 1.3rem;
  font-weight: 400;
  color: var(--c_crayon_blue);
  margin-bottom: 1em;
  text-align: center;
}
contentInner > *:not(contentHidden),
contentHidden > * {
  margin-bottom: var(--margin-p);
}
contentInner p {
  word-spacing: 0.15em;
  letter-spacing: 0.05em;
  line-height: 1.4em;
}
contentInner:first-of-type p {
  text-align: center;
}
section.row contentInner p {
  text-align: justify;
  width: 100%;
}
contentInner :last-child {
  margin-bottom: 0;
}
contentInner ul > li {
  line-height: 2em;
}

contentInner > contenthidden {
  transform: translateX(-100%);
  opacity: 0;
  transition: transform var(--transition_1) 10ms linear, opacity calc(var(--transition_1)) linear;
  padding-left: 1em;
}
section > article:nth-child(odd) contenthidden {
  transform: translateX(101%);
  padding: 0px;
  padding-right: 1em;
}
section.row contentInner > contenthidden {
  transform: translateX(0%) translateY(-100%);
  padding: 0;
}
contentInner > contenthidden::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  box-sizing: inherit;
  top: 0;
  left: 0;
  border-left: 0.2em dashed var(--c_crayon_yellow_intense);
  z-index: -1;
  opacity: 0.5;
}
section > article:nth-child(odd) contenthidden::before {
  border: none;
  border-right: 0.2em dashed var(--c_crayon_yellow_intense);
}
section.row contentInner > contenthidden::before {
  border: none;
  /* border-top: 0.1em dashed #fff8; */
}
contentInner > placeholder {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translateX(0%);
  opacity: 1;
}
contentInner > contenthidden,
contentInner > placeholder {
  transition: transform var(--transition_1) ease-in-out, opacity calc(var(--transition_1)*0.8) ease-out;
}
contentInner > placeholder > span {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
contentInner > placeholder img,
contentInner > placeholder div {
  position: absolute;
  width: 117%;
}
contentInner > placeholder img:first-child {
  position: relative;
  width: 100%;
}

contentInner > button {
  /* font-size: 2rem;
  padding: 0.2em;
  border-radius: 50%;
  line-height: 0.55em;
  text-align: center; */
  background-color: transparent;
  font-size: 1rem;
  padding: 0;
  margin: 0;
  border: 0;
  line-height: 0;
  width: 1.5em;
  align-self: center;
  z-index: 1;
}

section.row .buttonParent {
  width: 2em;
  align-self: center;
}
.buttonSelector {
  fill: transparent;
}
.button {
  transform: rotate(0deg);
  transform-origin: center;
  transition: transform 600ms, fill 200ms;
}
.buttonSelector, .button.plus {
  cursor: pointer;
}
.button.plus {
  fill: var(--c_crayon_blue);
}
.button.plus.clicked {
  fill: var(--c_crayon_yellow_intense);
  transform: rotate(225deg);
}
section > article:nth-child(odd) .button.plus.clicked {
  transform: rotate(-225deg);
}
section.row .button.plus {
  fill: var(--c_mouse);
}
section.row.dark .button.plus {
  fill: var(--c_crayon_yellow_intense);
}
.buttonSelector:hover + .button.plus,
.button.plus:hover {
  fill: var(--c_crayon_blue_light);
}
.buttonSelector:hover + .button.plus.clicked,
.button.plus.clicked:hover {
  fill: var(--c_crayon_yellow);
}
section.row .buttonSelector:hover + .button.plus,
section.row .button.plus:hover {
  fill: var(--c_mouse_intense);
}
/* section.row .buttonSelector + .button.plus.clicked,
section.row .button.plus.clicked {
  fill: var(--c_crayon_orange_intense);
}
section.row .buttonSelector:hover + .button.plus.clicked,
section.row .button.plus.clicked:hover {
  fill: var(--c_caramel);
} */
section.row.dark .buttonSelector:hover + .button.plus,
section.row.dark .button.plus:hover {
  fill: var(--c_crayon_yellow);
}
