/* ------------------------------------------------
 * Tweaking the slides
 * ------------------------------------------------ */
:root {
  /* Catppuccin Macchiato Green */
  --r-heading-color: #cdd6f4;
  --r-link-color: #a6da95;
  --r-background-color: #24273a;
  --custom-accent-color: #a6da95;

  /* Other adjustments */
  --r-heading1-size: 6rem;
  --r-heading2-size: 3rem;
  --r-inline-code-color: #ddd;
  --custom-title-border-radius: 10rem;
  --custom-border-radius: 0.5rem;
  --custom-bg-lighter: #363a4f;
  --custom-box-shadow: 0.15rem 0.15rem 0.5rem rgba(0,0,0,0.15), -0.15rem -0.15rem 0.5rem rgba(0,0,0,0.15);
  --custom-border-color: rgba(0,0,0,0.15);
}

/* Center vertically the main title slides (the very first slide), or any block with the helper */
.reveal .slides .title,
.reveal .center-vertical {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

/* Custom opening slide with round accent-colored borders */
.reveal .slides .title h1 {
    padding: 2rem 4rem;
    border-radius: var(--custom-title-border-radius);
    background: transparent;
    border: solid 5px transparent;
}

.reveal .slides .dark.title h1 {
    background: #363a4f;
    border-color: var(--custom-accent-color);
}

/* Custom slide titles with round accent-colored borders */
.reveal .slides h2 {
	text-align: left;
  padding: 2rem 4rem;
  border-radius: var(--custom-title-border-radius);
  background: #363a4f;
  border: solid 5px var(--custom-accent-color);
}

/* No centering by default in slide content */
.reveal .slides .slide-content {
	text-align: left;
}
.reveal .slides .footnotes {
  text-align: left;
}
/* Except for images */
.reveal .slides .slide-content .imageblock {
  text-align: center;
}

/* Unlock images */
.reveal .slides .slide-content img {
  max-height: 500px;
}

/*
 * Rework quotes handling
 * - better border with a "left vertical bar"
 * - no more box-shadow
 * -
 */
.reveal .slides blockquote {
  padding: 1rem 1.5rem;
  background: var(--custom-bg-lighter);
  border-radius: var(--custom-border-radius);
  box-shadow: none;
  border: solid 0.15rem var(--custom-accent-color);
  border-left: solid 0.75rem var(--custom-accent-color);
  width: 85%;
}

/* Add emphasis on inline code */
.reveal .slides code {
  background-color: var(--custom-bg-lighter);
}

/*
 * Remove hardcoded max-height:400px on code snippets
 * Add spacing around code
 * Smooth edges
 */
.reveal .slides pre code {
    max-height: initial;
    padding: 1rem;
    border-radius: var(--custom-border-radius);
}


/* ------------------------------------------------
 * Utility classes
 *
 * Can be used with [.classname]
 * - on a slide title
 * - on any block
 *
 * ------------------------------------------------ */

/* White text */
.text-white {
    color: #fff !important;
}
.text-white h2 {
    color: #fff !important;
 }

/*
 * Remove slide title decoration
 * Useful when using a image cover
 */
.no-title-box h2 {
    box-shadow: none !important;
    border: none !important;
    background: transparent !important;
}

/* Center slide title */
.reveal .slides .text-center h2,
.text-center {
    text-align: center !important;
}

/* Apply specific margin/paddings */
.mt-4 {
    margin-top: 4rem;
}
.mt-8 {
    margin-top: 8rem;
}
.pb-1 {
    padding-bottom: 1rem;
}

/* Promote a block as a h2 title */
.h2 {
    font-size: var(--r-heading2-size);
}

/*
 * Custom steps
 * - visible at start
 * - get strike-through or underlined when stepped
 *
 * Usage (note the syntax `#text between sharps#` that apply an 'inline' class) :
 * * [.styled.step.line-through]#Item One#
 * * [.styled.step.underline]#Item Two#
 *
 */
.fragment.styled.step {
    visibility: inherit;
    opacity: inherit;
}
.fragment.step.line-through {
    text-decoration: none;
    visibility: inherit;
    opacity: inherit;
}
.fragment.step.line-through.visible, /* <-- TODO : check if that one is really useful */
.fragment.styled.step.visible.line-through {
    text-decoration: line-through;
}
.fragment.styled.step.underline.visible {
    text-decoration: underline;
}