/*-- scss:defaults --*/

// Custom colours and variables

$jet: #131516;
$accent: #107895;
$accent2: #9a2515;
// $accent2: #e64173;
$right-arrow: "\2192"; // Unicode character for right arrow

// fonts

/*
Note: This theme uses the Roboto font family, which it imports from Google
  Fonts to ensure consistent weighting in addition to availability. While
  you can use a local installation of Roboto, this is generally not 
  recommended since the weighting will likely be wrong (probably too
  light). OTOH, importing from Google Fonts can cause some issues in
  certain secure environments due the external CDN (see:
  https://github.com/grantmcdermott/quarto-revealjs-clean/issues/7). If
  that's the case for you, simply comment out the `@import url(...)` line
  below and it will default for the default Sans Serif font on your system
  (e.g., Helvetica on a Mac). Circling back to the earlier point about
  preserving consistent font weights, you may also wish to remove "Roboto"
  from the choice set if the family is installed locally.
*/
@import url(https://fonts.googleapis.com/css?family=Roboto:200,200i,300,300i,350,350i,400,400i);
$font-family-sans-serif: "Roboto", sans-serif !default;
$presentation-heading-font: "Roboto", sans-serif !default;

$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: #26351c !default;

$code-color: rgb(212, 0, 0);
$code-background-color: #f3bebe33;

/*-- scss:rules --*/

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

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

// inline
.reveal code {
	font-size: 90%;
	background-color: #afb8c133;
	color: #c70101;
	padding: 4px;
	border-radius: 6px;
}

// 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 {
    font-style: italic;
    // font-size: 80%;
    // color: #7F7F7F;
  }

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

}


.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, #fff);
  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 bottom left

.reveal .slide-menu-button {
  position: fixed;
  bottom: 6px;
  left: 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;
  bottom: 6px;
  left: 0px;
  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: #0056b3;
  border-color: #0056b3;
}

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