/* 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 {
  --primary: #de4e4e;
  --secondary: #DE8F4E;
  --tertiary-dark: #2F8585;
  --tertiary-light: #bfffff;
  --highlight: rgb(255, 255, 100);
  --dark-gray: #a1a4a7;
  --hr: #dee2e6;
}

/* TOP NAVBAR */

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

/* HEADERS */

h1, h2, h3, h4 {
  font-family: "Impact";
  letter-spacing: -1px !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;
}

/* BODY */

body {
  font-family: "Neuton";
  font-size: 1.1em;
}

/* LINKS */

a {
  color: rgb(0, 0, 0);
}
a:hover {
  color: red;
}

/* TOC - RIGHT */

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

#toc-title {
  text-transform: uppercase;
  /* font-family: "Impact"; */
  font-weight: 700;
  /* 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 {
  color: var(--primary) !important;
}

.sidebar nav[role=doc-toc] ul>li>a.active,
.sidebar nav[role=doc-toc] ul>li>ul>li>a.active {
  color: var(--primary) !important;
  border-color: var(--primary) !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 {
  color: #fff !important;
}
.sidebar-navigation li a.active {
  color: #fff !important;
  font-style: italic;
}

/* TABLES */

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: 1em;
}

.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;
}

.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: 4em;
  line-height: 0.85;
  letter-spacing: -2px !important;
  border-bottom: none;
  padding-bottom: .5rem;
}

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

.margin-sidebar {
  background-color: #ffffff !important;
}

nav.quarto-secondary-nav {
  background-color: var(--tertiary-dark) !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(--primary) !important;
}

/* TABLE FOR SCHEDULE */

.schedule-table th:nth-child(1) { width: 10%; } /* Week */
.schedule-table th:nth-child(2) { width: 24%; } /* 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: 7%; text-align: center; } /* Lab */
.schedule-table th:nth-child(6) { width: 7%; text-align: center; } /* Sketch */
.schedule-table th:nth-child(7) { width: 7%; text-align: center; } /* Reading */
.schedule-table th:nth-child(8) { width: 7%; 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-gray);
  /* opacity: 0.5; */
}

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