/* Monserrat and Work Sans */
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap");

html {
  --article-vpadding: 2rem;
  --article-hpadding: 3rem;
  --article-bg: #fff;
  --site-bg: #21b14c;
  --mobile-site-bg: #99d9ea;
  --main-width: calc(
    min(80ch, 92vw - 2 * var(--article-hpadding)) + 2 * var(--article-hpadding) +
      6px
  );
  --article-vmargin: 1rem;
  --accent-font: "Krungthep";
  --body-font: "Open Sans";
  --overhang: 2rem;
}

html,
body {
  padding: 0;
  margin: 0;
}

/* none */
nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.3rem 1rem;
  border-bottom: 3px solid black;
  font-family: var(--accent-font);
  font-size: 1.2rem;
}

#close {
  width: 1.4rem;
  height: 1.4rem;
  border: 3px solid black;
  padding: 2px;
  box-sizing: border-box;
}

#close-indicator {
  width: 100%;
  height: 100%;
}

#close:hover #close-indicator {
  background: #aaa;
}

nav ul {
  display: flex;
  gap: 1rem;
  list-style-type: none;
  margin: 0;
}

nav a {
  text-decoration: none;
  color: black !important;
}

/* basic link style */
a {
  text-decoration: none;
  color: rgb(3, 102, 214) !important;
}

/* markdown overrides that have to be done in globals */
.task-list-item::before {
  display: none !important;
}

/* text */
body {
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  /* the mobile queries override this to change the color outside of the bounds
     of the website to match the color of the water */
  background: var(--site-bg);
}

/* containers */
.container {
  background: var(--site-bg);
  text-align: center;
  position: relative;
}

.background {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
}

.stream-image {
  height: 100vh;
}

.left-stream {
  position: absolute;
  height: 100vh;
  right: calc(50% + var(--main-width) / 2);
}

.right-stream {
  position: absolute;
  height: 100vh;
  left: calc(50% + var(--main-width) / 2);
}

@keyframes otter-x {
  0% {
    transform: translateX(0);
  }
  5% {
    transform: translateX(2vh);
  }
  10% {
    transform: translateX(-1vh);
  }
  15% {
    transform: translateX(3vh);
  }
  20% {
    transform: translateX(1vh);
  }
  25% {
    transform: translateX(2vh);
  }
  30% {
    transform: translateX(-3vh);
  }
  35% {
    transform: translateX(2vh);
  }
}

@keyframes otter-y {
  0% {
    transform: translateY(0vh);
  }
  10% {
    transform: translateY(30vh);
  }
  20% {
    transform: translateY(65vh);
  }
  30% {
    transform: translateY(90vh);
  }
  40% {
    transform: translateY(120vh);
  }
  to {
    transform: translateY(120vh);
  }
}

.otter-holder {
  position: absolute;
  animation: otter-x 60s linear infinite;
  animation-timing-function: ease-in-out;
  top: -20vh;
}

.otter-donut {
  position: absolute;
  height: 25vh;
  animation: otter-y 60s linear infinite;
}

.otter-holder-1 {
  left: 35%;
}

.otter-donut-1,
.otter-holder-1 {
  animation-delay: 20s;
}

.otter-holder-2 {
  left: 45%;
}

.otter-donut-2,
.otter-holder-2 {
  animation-delay: 45s;
}

.otter-holder-3 {
  left: 55%;
}

.otter-donut-3,
.otter-holder-3 {
  animation-delay: 0s;
}

.otter-holder-4 {
  left: 40%;
}

.otter-donut-4,
.otter-holder-4 {
  animation-delay: 10s;
}

.otter-holder-5 {
  left: 50%;
}

.otter-donut-5,
.otter-holder-5 {
  animation-delay: 27s;
}

.otter-holder-6 {
  left: 55%;
}

.otter-donut-6,
.otter-holder-6 {
  animation-delay: 50s;
}

.main {
  text-align: left;
  margin-top: var(--article-vmargin);
  margin-bottom: var(--article-vmargin);
  width: var(--main-width);
  min-height: calc(100vh - 2 * var(--article-vmargin));
  box-sizing: border-box;
  background: var(--article-bg);
  border: 3px solid black;
  position: relative;
}

.article {
  padding: var(--article-vpadding) var(--article-hpadding);
}

/* text styles */
.main {
  font-family: var(--body-font), sans-serif;
  font-size: 1rem;
  text-align: left;
}

.main h1,
.main h2,
.main h3,
.main h4,
.main h5,
.main h6 {
  font-family: var(--accent-font), sans-serif;
  text-align: left;
}

/* overhang */

.markdown-body pre {
  position: relative;
  width: calc(100% + var(--overhang));
  left: calc(var(--overhang) / -2);
  box-sizing: border-box;
  margin: 0;
}

/* media queries */

@media (max-width: 68rem) {
  .left-stream {
    transform: translateX(20vw);
  }

  .right-stream {
    transform: translateX(-20vw);
  }

  body {
    background: var(--mobile-site-bg);
  }
}

@media (max-width: 45rem) {
  html {
    --article-hpadding: 1rem;
    --article-vpadding: 1rem;
    --article-vmargin: 1rem;
  }

  .left-stream {
    transform: none;
    left: -50vw;
    width: 200vw;
    height: auto;
    margin: 0;
  }

  .stream-image {
    width: 100%;
    transform: scaleY(-1);
  }

  .right-stream {
    display: none;
  }

  .container {
    background: var(--mobile-site-bg);
  }
}
