/* css styles */

@import url('https://fonts.googleapis.com/css2?family=DM+Mono:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&family=Neuton:ital,wght@0,200;0,300;0,400;0,700;0,800;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Mono:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&family=Inconsolata:wght@200..900&family=Neuton:ital,wght@0,200;0,300;0,400;0,700;0,800;1,400&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Neuton:ital,wght@0,200;0,300;0,400;0,700;0,800;1,400&family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap');

/* @font-face {
  font-family: 'Domaine';
  src: url('./assets/fonts/DomaineDispNar-Regular.woff'),
       url('./assets/fonts/DomaineDispNar-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Plantin';
  src: url('./assets/fonts/PlantinMTProRg.TTF');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
} */

/* ROOT COLORS */

:root {
  --base-font: #2b2a29;
  --font-inverted: #F3EEE0;
  --light-base: #f1efe7;
  --light-secondary: #ebdab7;
  --light-tertiary: #c0b194;
  --dark-base: #a3a5a9;
  --dark-secondary: #E1E6F2;
  --dark-tertiary: #E9ECF2;
  --nav-bg: #8d5c9c;
  --nav-bg-brown: #756b5a;
  --tetradic-green: #E7F1EA;
  --tetradic-lavender: #E7E9F1;
  --tetradic-pink: #F1E7EE;
  --light-links: rgb(0, 102, 255);
  --dark-links: rgba(13,110,253,1);
  --highlight: #fff47c;
}

/* EVERYTHING */

body {
  background-color: var(--light-base) !important;
  color: var(--base-font) !important;
  font-family: "EB Garamond";
  font-size: 1.1em;
  overflow-x: hidden;
}

/* TOP NAVBAR */

.navbar {
  background-color: var(--nav-bg);
}

/* HEADERS */

h1, h2, h3, h4 {
  font-family: "Open Sans";
  letter-spacing: -2px !important;
  /* text-transform: uppercase; */
}

h1 {
  font-weight: 700;
  border-bottom: 1px solid var(--hr);
  padding-bottom: .5rem;
}

h2 {
  text-transform: none !important;
}

h3 {
  text-transform: none !important;
  font-style: italic !important;
}

h2, h3, h4 {
  border-bottom: none;
}

/* LINKS */

/* a {
  color: rgb(0, 0, 0);
} */
a:hover {
  filter: brightness(0.8);
}

/* TOC - RIGHT */

/* #TOC {
  font-family: "Space Mono" !important;
} */

#toc-title {
  text-transform: uppercase;
  letter-spacing: 0.3px !important;
  /* font-family: "Impact"; */
  font-weight: 800;
  /* font-size: 0.8em !important; */
}

#TOC > ul > li {
  font-size: 0.9em !important;
}

.sidebar nav[role=doc-toc] ul>li>a:hover,
.sidebar nav[role=doc-toc] ul>li>ul>li>a:hover {
  filter: brightness(0.7) !important;
}

.sidebar nav[role=doc-toc] ul>li>a.active,
.sidebar nav[role=doc-toc] ul>li>ul>li>a.active {
  color: var(--base-font) !important;
  border-color: var(--base-font) !important;
  font-style: italic;
}

/* SIDEBAR - LEFT */

/* #quarto-sidebar {
  font-family: "Space Mono" !important;
} */

/* .sidebar-navigation li a {
  color: var(--tertiary-light) !important;
} */
.sidebar-navigation li a:hover {
  filter: brightness(0.7) !important;
  color: var(--light-links) !important;
}
.sidebar-navigation li a.active {
  color: var(--light-base) !important;
  font-style: italic;
}

/* TABLES */

table {
  background-color: #fff;
}

table.quarto-listing-table a {
  text-decoration: underline !important;
  table-layout: fixed;
}

tr > th {
  text-transform: uppercase;
  font-family: "Space Mono";
  font-size: 0.6em;
}

tbody {
  font-size: 0.9em;
}

.eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.85rem;
  /* font-weight: 600; */
  color: #6c757d;
  margin-bottom: 0.25rem;
  font-family: "Space Mono";
  margin-top: 1em;
  opacity: .8;
  font-weight: 400;
}

.eyebrow-title {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.85rem;
  color: #1e1e1e;
  /* background-color: #fff; */
  padding: 0 0.5em 0 0.5em;
  margin-bottom: 0.25rem;
  font-family: "Space Mono";
  margin-top: 1em;
  opacity: .8;
  font-weight: 400;
}

.navbar-nav > .nav-item {
  font-family: "Space Mono";
  text-transform: uppercase;
  font-size: 0.7em;
}

.navbar-brand > .navbar-title {
  font-family: "Space Mono";
  text-transform: uppercase;
  font-size: 0.8em;
  /* color: black !important; */
}

.quarto-title-meta-heading {
  font-family: "Space Mono";
}

.quarto-title > .title {
  text-transform: uppercase;
  font-size: 4rem;
  line-height: 0.85;
  letter-spacing: -6px !important;
  border-bottom: none;
  padding-bottom: .5rem;
  margin: 0.3em 0em 0.3em 0em;
}

.sidebar {
  background-color: var(--light-tertiary) !important;
}

.margin-sidebar {
  background-color: var(--light-base) !important;
}

nav.quarto-secondary-nav {
  background-color: var(--light-tertiary) !important;
}

.smaller {
  font-size: 0.8em;
}

.button {
  width: 2.5em;
  height: 2.5em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0.5em;
  border: solid black 1px;
  border-radius: 50%;
  border-color: #000;
}

.quarto-alternate-formats > h2 {
  display: none;
}

/* ICONS */

/* a > .fa-solid {
  color: var(--base-font) !important;
} */

/* TABLE FOR SCHEDULE */

.schedule-table th:nth-child(1) { width: 10%; } /* Week */
.schedule-table th:nth-child(2) { width: 22%; } /* Topic */
.schedule-table th:nth-child(3) { width: 5%;  } /* Day */
.schedule-table th:nth-child(4) { width: 5%; } /* Date */
.schedule-table th:nth-child(5) { width: 6%; text-align: center; } /* activity */
.schedule-table th:nth-child(6) { width: 6%; text-align: center; } /* lab */
.schedule-table th:nth-child(7) { width: 6%; text-align: center; } /* challenge */
.schedule-table th:nth-child(8) { width: 6%; text-align: center; } /* read */
.schedule-table th:nth-child(9) { width: 6%; text-align: center; } /* slides */

/* Custom striping: groups every 2 rows (one week = M + W) */
.schedule-table tbody tr:nth-child(4n+1),
.schedule-table tbody tr:nth-child(4n+2) {
  background-color: #f2f2f2;
}

.schedule-table tbody tr:nth-child(4n+3),
.schedule-table tbody tr:nth-child(4n) {
  background-color: #ffffff;
}

.schedule-table td[rowspan] {
  vertical-align: middle;
}

.schedule-table thead {
  position: sticky;
  top: 3em;
  z-index: 10;
  background-color: #ffffff;
  box-shadow: 0 2px 8px -1px rgba(0, 0, 0, 0.15);
}

.schedule-table td.class-cancelled {
  background-color: var(--dark-base);
  opacity: 0.5;
}

.schedule-table td.exam {
  background-color: var(--highlight);
  opacity: 0.8;
}

/* FOOTER */

.nav-footer {
  background-color: var(--nav-bg);
  color: var(--font-inverted);
}

.nav-footer a {
  color: var(--font-inverted);
}

/* TITLE BLOCK HERO */

main.content#quarto-document-content {
  margin-top: 0 !important;
}

.hero {
  position: relative;
  overflow: hidden;
  min-height: 60vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding-top: 8rem;
  /* padding-bottom: -2rem; */
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-top: -1em !important;
}

.hero-image-wrap {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

.hero-image {
  position: absolute;
  /* top: 0; */
  left: -10%;
  width: 120%;
  height: 100%;
  background-size: cover;
  background-position: center 0%;
}

/* @keyframes drift {
  from { transform: translateX(0); }
  to   { transform: translateX(-8%); }
} */

.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    to bottom,
    rgb(241, 239, 231, 0) 0%,
    rgb(241, 239, 231, 0.85) 90%,
    rgb(241, 239, 231, 1) 100%
  );
}

.hero .quarto-title,
.hero .quarto-title-meta {
  position: relative;
  z-index: 2;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2rem;
  padding-right: 2rem;
  /* text-align: center; */
}

.hero .quarto-title {
  display: flex;
  flex-direction: column;
  /* align-items: center; */
}


/* listing tables in coursework */

#listing-activities table th:nth-child(1),
#listing-labs table th:nth-child(1),
#listing-challenges table th:nth-child(1) {
  width: 20%;
}
#listing-activities table th:nth-child(2),
#listing-labs table th:nth-child(2),
#listing-challenges table th:nth-child(2) {
  width: 40%;
}
#listing-activities table th:nth-child(3),
#listing-labs table th:nth-child(3),
#listing-challenges table th:nth-child(3) {
  width: 40%;
}

.highlight {
  background-color: var(--highlight);
  padding: 0.1em 0.2em 0.1em 0.2em;
  opacity: 0.8;
}