:root {
  --jawniche-white: #fffaf3;
  --jawniche-blue: #021627;
  --jawniche-blue-25: rgba(2, 22, 39, 0.25);
  --jawniche-blue-50: rgba(2, 22, 39, 0.5);
  --jawniche-red: #9b2424;
  --jawniche-red-50: rgba(155, 36, 36, 0.5);
  --jawniche-red-90: rgba(155, 36, 36, 0.9);
  --transition-time: 0.25s;
  --transition-time-slow: 0.5s;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  max-width: 125rem;

  font-family: "Libre Baskerville";
  font-size: 16px;
  line-height: 1.5;
  color: var(--jawniche-blue);
  background-color: var(--jawniche-white);
}

a {
  color: var(--jawniche-blue);
  text-decoration: none;
  transition: color var(--transition-time), text-shadow var(--transition-time);

}

a:hover {
  color: var(--jawniche-red);
  text-shadow: 0 0 1rem var(--jawniche-red-50);
}

main {
  padding: 2rem;
  margin-left: 22rem;
}

h1 {
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 1rem;
}

h2 {
  margin-bottom: 1rem;
}

h3 {
  margin-bottom: 1rem;
}

footer.sidebar__section {
  position: absolute;
  bottom: 2rem;
  margin: 0;
  color: var(--jawniche-blue-50);
}

.sidebar {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;

  max-width: 22rem;
  padding: 2rem;
  
  background: var(--jawniche-white);
}

.sidebar__title {
  margin-bottom: 4rem
}

.sidebar__title-link {
  font-style: italic;
  color: var(--jawniche-red);
}

.sidebar__section {
  margin-bottom: 4rem;
}

.sidebar__item {
  margin-bottom: 2rem;
}

.sidebar__item--active {
  color: var(--jawniche-red);
  padding-bottom: 0.5rem;
  text-shadow: 0 0 1rem var(--jawniche-red-50);
  border-bottom: 1px solid var(--jawniche-red);
}

.sidebar__item--maintenance {
  color: var(--jawniche-blue-25);
  cursor: progress;
}

.sidebar__item--maintenance::after {
  content: "(under maintenance)";
  margin-left: 1rem;

  color: var(--jawniche-white);
  text-shadow: 0 0 0.5rem var(--jawniche-blue);
  opacity: 0;
  transition: opacity var(--transition-time-slow);
  pointer-events: none;
}

.sidebar__item--maintenance:hover::after {
  opacity: 1;
  pointer-events: none;
}

.section__heading--maintenance {
  color: var(--jawniche-blue-25);
  cursor: progress;
}

.section__heading--maintenance::after {
  content: "(under maintenance)";
  margin-left: 1rem;
  
  color: var(--jawniche-white);
  text-shadow: 0 0 0.5rem var(--jawniche-blue-50);
  opacity: 1;
  transition: opacity var(--transition-time-slow);
  pointer-events: none;
}

.section--video-only {
  margin-bottom: 3rem;
}

.section-grid {
  margin-bottom: 3rem;
}

.section-grid__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
  gap: 0.5rem;
}

.section-grid__item {
  position: relative;

  display: flex;
  align-items: center;
  justify-content: center;
  
  width: 100%;
  height: auto;
  
  aspect-ratio: 16 / 9;
  
  object-fit: cover;
  
  background-color: var(--jawniche-blue);

  color: var(--jawniche-white);
}

iframe {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.grid__item__overlay {
  position: absolute;
  inset: 0;
  padding: 2rem 2rem;
  background-color: var(--jawniche-red-90);
  opacity: 0;
  transition: opacity var(--transition-time);
}

.grid__item__overlay > a {
  color: var(--jawniche-white);
}
.grid__item__overlay:hover {
  opacity: 1;
}

.item__overlay__heading {
  margin: 0;
  line-height: 1;
}

.item__overlay__subheading {
  font-weight: 500;
}

.item__overlay__description {
  padding-left: 1rem;
}

.section-articles__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(24rem, 1fr));
  /* display: flex;
  flex-direction: column;
  align-items: center; */
  gap: 2rem;
}

article {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 1rem;
  /* margin-bottom: 2rem; */
}

.article__image {
  display: flex;
  flex: 1 1 20rem;
  background-color: var(--jawniche-blue);
}

img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.article__text {
  flex: 1 1 40ch;
  max-width: 64ch;
  min-width: 28ch;
}

.article__heading {
  margin-bottom: 0.5rem;
}

.section-404 {
  padding: 2rem;
  color: var(--jawniche-white);
  background: var(--jawniche-blue);
  max-width: 100vw;
  min-height: 50vh;
}
@media (max-width: 570px) {
  .sidebar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    
    max-width: 100%;
    height: 7rem;

    background-color: var(--jawniche-white);
    z-index: 999;
  }

  .sidebar__section {
    display: none;
  }

  .sidebar__title {
    font-size: 1.5rem;
  }

  h1 {
    font-size: 1rem;
  }
  
  main {
    margin-top: 7rem;
    margin-left: 0rem;
  }
} 
