/*-- scss:defaults --*/

// Custom colours and variables

$jet: #131516;
$accent: #004bad;
$accent2: #b30000;
// $accent2: #e64173;
$right-arrow: "\2192"; // Unicode character for right arrow

// Fonts

// Import from Google Fonts
// @import url(https://fonts.googleapis.com/css?family=Roboto:200,200i,300,300i,350,350i,400,400i);
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@300&display=swap');
$font-family-sans-serif: "Noto Sans", sans-serif !default;
$presentation-heading-font: "Noto Sans", sans-serif !default;

// Include Fira Code for monospace font
@import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@300&display=swap');
$font-family-monospace: "Fira Code", monospace !default;
$monospace-font-size: 0.9em; // Reduce monospace font size

$presentation-heading-color: $jet !default;
$presentation-heading-font-weight: lighter;
//$presentation-heading-line-height: 2;
//$presentation-block-margin: 28px;
$presentation-font-size-root: 32px;

// colors
//$body-bg: #f0f1eb !default;
$body-color: $jet !default;
$link-color: $accent !default;
$selection-bg: #2d4563 !default;


/*-- scss:rules --*/

.reveal a {
  line-height: 1.5em;
}

.reveal p {
  // font-weight: 300;
  font-weight: lighter;
  margin-top: 1.25em;
}

.reveal .slides section code {
  font-size: 0.95em;
  color: $accent;
}

// title and headings

#title-slide {
  text-align: left;

  .title {
    color: $body-color;
    font-size: 1.4em;
    // font-weight: 350;
    font-weight: lighter;
  }

  .subtitle {
    color: $accent;
    font-style: italic;
    margin-top: 0em;
    font-weight: lighter;
  }

  .institute,
  .quarto-title-affiliation,
  .quarto-title-author-email

  .author,
  .quarto-title-author-name {
    color: $body-color;
  }

  .quarto-title-authors {
    display: flex;
    justify-content: left;

    .quarto-title-author {
      padding-left: 0em;
      padding-right: 0em;
      width: 100%;
    }
  }

}

.highlight-blue {
  background-color: white; // replace with your desired shade of blue
  color: black; // replace with black for the text color
  padding: 0em;
  border: none; // remove the border
}

.reveal h2 {
  // font-weight: 350;
  font-weight: lighter;
  font-size: 1.4em;
}

.reveal h3 {
  color: $accent;
  font-style: italic;
  // font-weight: 350;
  font-weight: lighter;
  font-size: 0.95em;
}

.reveal h4 {
  color: $accent2;
  // font-weight: 350;
  font-weight: normal;
  margin-top: 1.25em;
}

// alerts etc.

.alert {
  color: $accent2;
}

.fg {
  color: var(--col, $jet);
}

.bg {
  background-color: var(--col, white);
  padding: 0.1em;
  border-radius: 5px;
  display: inline-block;
}

// lists

// Unordered lists

.reveal ul {
  // font-weight: 300;
  font-weight: lighter;
  padding-left: 16px;

  li::marker {
    color: mix($accent, white, 70%);
  }
}

.reveal ul ul {
  list-style: none;

  li:before {
    content: $right-arrow;
    color: mix($accent, white, 60%);
    display: inline-block;
    width: 1em;
    margin-left: -1em;
    margin-right: 0.5em;
  }
}

// Ordered lists

.reveal ol {
  // font-weight: 300;
  font-weight: lighter;
  padding-left: 16px;

  li::marker {
    color: $accent;
  }
}

// Move "hamburger" menu button to top right

// .reveal .slide-menu-button {
  // position: fixed;
  // top: 6px;
  // right: 0;
  // display: flex;
  // justify-content: flex-end;
  // align-items: flex-start;
  // pointer-events: none;
// }

.reveal .slide-menu-button > * {
  pointer-events: auto;
}


// Same for chalkboard buttons (with an offset)

.reveal .slide-chalkboard-buttons {
  position: fixed;
  top: 12px;
  right: 24px;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  pointer-events: none;
}

.reveal .slide-chalkboard-buttons > * {
  pointer-events: auto;
}

// Beamer-style button link environment

.button {
  display: inline-block;
  padding: 6px 12px;
  margin-bottom: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.42857143;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  background-color: $accent;
  border: 1px solid $accent;
  color: #fff !important;
  text-decoration: none;
  border-radius: 4px;
  transition: all 0.2s ease-in-out;
}

.button:hover {
  background-color: #c3ddfc;
  border-color: #c3ddfc;
}

.button::before {
  content: "▶";
  margin-right: 5px;
}

// Special catch for etable environment to ensure these table images
// don't overflow the slide.
// See: https://lrberge.github.io/fixest/articles/etable_new_features.html

.etable {
  width: 100%;
  height: calc(100% - 3em); /* Adjust 3em based on the height of your header, if necessary */
  display: flex;
  align-items: center;
  justify-content: center;
}

.etable img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

// Tables

.reveal table {
// height: auto; /* Adjust table width to fit content up to the available slide space */
  margin: auto;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 0.8em;
}

.reveal table th,
.reveal table td {
  border: none; /* Remove internal row lines */
  padding: .23em; /* Adjust padding as needed */
  text-align: left; /* Adjust text alignment as needed */
  font-weight: lighter; /* Lighter font weight for main table text */
}

/* Adds a bottom border to the table header row for distinction */
.reveal table thead th,
.reveal .slides table tr:last-child td,
.reveal .slides table {
  border-bottom: 2px solid #D3D3D3; /* Dark grey color for the bottom border */
}

/* Make column headers bold */
.reveal table thead th {
  font-weight: bold;
}

/* Styling table captions */
.reveal table caption {
  color: #666666; /* Dark grey color for the caption */
  font-variant: small-caps; /* Use small caps for the caption text */
}

/* Code blocks */
.reveal pre code { /* Adjust code chunk font size */
  font-size: 1.25em !important;
} 

