:root {
  --ids__text-RGB: 30, 60, 90;

  --ids__link-RGB: 44, 44, 44;
  --ids__hover-RGB: 0, 110, 220;
  --ids__accent-RGB: 0, 130, 240;
  --ids__pen-RGB: 0, 65, 205;
  --ids__mark-RGB: 255, 200, 29;
  --ids__surface-RGB: 237, 237, 240;
  --ids__background-RGB: 255, 255, 255;
}

body {
  color: rgba(var(--ids__text-RGB), 1);
  background-color: rgba(var(--ids__background-RGB), 1);
}

.notes-theme {
  --ids__text-RGB: 60, 60, 60;
  --ids__link-RGB: 44, 44, 44;
  --ids__hover-RGB: 0, 110, 220;
  --ids__accent-RGB: 0, 130, 240;
  --ids__pen-RGB: 0, 65, 205;
  --ids__mark-RGB: 255, 200, 29;
  --ids__surface-RGB: 237, 237, 240;
  --ids__background-RGB: 255, 255, 255;

  color: rgba(var(--ids__text-RGB), 1);
  background-color: rgba(var(--ids__background-RGB), 1);
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

 html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/**
 * IDS additional resets
 */

*,
*:before,
*:after {
  box-sizing: border-box;

  &:focus:not(:focus-visible) {
    outline: none;
  }
}

img {
  display: block;
  width: 100%;
}

* {
  box-sizing: border-box;
}

/* Fonts */


@font-face {
  font-family: "Arsenal";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/Arsenal-Regular.ttf") format("truetype");
}

@font-face {
  font-family: "Arsenal";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/Arsenal-Bold.ttf") format("truetype");
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-display: swap;
  src: url("fonts/Inter-VariableFont_opsz,wght.ttf") format("truetype");
}

@font-face {
  font-family: "Inter";
  font-style: italic;
  font-display: swap;
  src: url("fonts/Inter-Italic-VariableFont_opsz,wght.ttf") format("truetype");
}


:root {
  --sans: "Inter";
  --gothic: "Arsenal";

}

body {
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
  font-weight: 400;
}

/* Density */

:root {
  --ids__density: 1.3;
}

body {
  font-size: 1em;
  line-height: var(--ids__density);
}

html {
  /* Font-size calculation using variables */

  --mobile-font-size-min: 14;
  --mobile-font-size-max: 32;

  --desktop-font-size-min: 9.3;
  --desktop-font-size-max: 20;

  --mobile-viewport-min: 320;
  --mobile-desktop-breakpoint: 768;
  --desktop-viewport-max: 1500;

  font-size: calc(var(--mobile-font-size-min) * 1px);

  @media screen and (min-width: 320px) {
    font-size: calc(var(--mobile-font-size-min) * 1px + (var(--mobile-font-size-max) - var(--mobile-font-size-min)) * ((100vw - var(--mobile-viewport-min) * 1px) / (var(--mobile-desktop-breakpoint) - var(--mobile-viewport-min))));
  }

  @media screen and (min-width: 768px) {
    font-size: calc(var(--desktop-font-size-min) * 1px + (var(--desktop-font-size-max) - var(--desktop-font-size-min)) * ((100vw - var(--mobile-desktop-breakpoint) * 1px) / (var(--desktop-viewport-max) - var(--mobile-desktop-breakpoint))));
  }

  @media screen and (min-width: 1500px) {
    font-size: calc(var(--desktop-font-size-max) * 1px);
  }
}

/* Smooth scroll for anchored links */

@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}
.ids__space {
  height: calc(var(--ids__density) * 0.7em);

  &.S {
    height: calc(var(--ids__density) * 0.7em);
  }

  &.M {
    height: calc(var(--ids__density) * 1.4em);
  }

  &.L {
    height: calc(var(--ids__density) * 2.4em);
  }

  &.XL {
    height: calc(var(--ids__density) * 4em);
  }
}

.ids__wrapper {
  position: relative;
  width: 48%;
  margin: 0 auto;
  max-width: 1120px;

  @media (width < 768px) {
    width: 100%;
    margin: 0 auto;
    padding: 0 calc(var(--ids__density) * 0.4em);
  }

  &.L {
    width: 60%;
    margin: 0 auto;
    max-width: 1120px;

    @media (width < 768px) {
      width: 100%;
      margin: 0 auto;
      padding: 0 calc(var(--ids__density) * 0.4em);
    }
  }

  &.XL {
    width: 100%;
    margin: 0 auto;
    /* padding: 0 calc(var(--ids__density) * 0.75em); */

    @media (width < 768px) {
      padding: 0 calc(var(--ids__density) * 0.6em);
    }
  }

  &.XXL {
    width: 100%;

    @media (width < 768px) {
      padding: 0;
    }
  }

  & .ids__text-width {
    width: 80%;
    max-width: 816px;

    @media (width < 768px) {
      width: 100%;
    }
  }
}

.ids__sequence {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: calc(var(--ids__density) * 0.4em);
  --gap: 0em;
  gap: var(--gap);

  &.gap-L {
    --gap: 1.5em;
    margin-bottom: calc(var(--gap) * 1.5);
  }

  &.gap-M {
    --gap: 1em;
    margin-bottom: calc(var(--gap) * 1.5);
  }

  &.gap-S {
    --gap: 0.5em;
    margin-bottom: calc(var(--gap) * 1.5);
  }

  .ids__sequence-item {
    --columns: 4;
    width: calc((100% - var(--gap) * (var(--columns) - 1)) / var(--columns));

    @media (width < 768px) {
      --columns: 2;
    }
  }

  &.XL {
    .ids__sequence-item {
      --columns: 2;

      @media (width < 768px) {
        --columns: 2;
      }
    }
  }

  &.L {
    .ids__sequence-item {
      --columns: 3;

      @media (width < 768px) {
        --columns: 2;
      }
    }
  }

  &.S {
    .ids__sequence-item {
      --columns: 6;

      @media (width < 768px) {
        --columns: 3;
      }
    }
  }

  &.mobile-XL {
    .ids__sequence-item {
      @media (width < 768px) {
        --columns: 1;
      }
    }
  }
}
.ids {
  & a {
    color: rgb(var(--ids__link-RGB));
    text-decoration: underline;
    will-change: color;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.2em;
    text-decoration-skip-ink: none;
    text-decoration-color: rgba(var(--ids__link-RGB), 0.2);
    transition: color 0.5s ease, text-decoration 0.5s ease;

    &:hover {
      color: rgb(var(--ids__hover-RGB));
      text-decoration-color: rgba(var(--ids__hover-RGB), 0.2);
      transition: color 0s ease, text-decoration 0s ease;
    }
  }

  & p {
    margin-top: 0;
    margin-bottom: calc(var(--ids__density) * 0.4em);

    &.loud {
      font-size: 1.5em;
      line-height: 1.15;
      font-weight: 350;

      & em {
        font-size: 1.02em;
      }

      @media (width < 768px) {
        font-size: 1.35em;
      }

      &.serif {
        font-size: 1.44em;
        line-height: 1.2;
      }

      &.mono {
        font-size: 1.35em;
        line-height: 1.25;

        & em {
          font-size: 1.05em;
        }
      }



    }

    &.caption {
      font-size: 0.8em;
    }

  }

  & h1,
  & h2,
  & h3,
  & h4,
  & h5,
  & h6 {
    margin: 0;
    font-weight: 600;
  }

  & h1 {
    font-size: 4em;
    font-weight: 500;
    line-height: calc(var(--ids__density) / 1.3);
    margin-bottom: 0.2em;
    margin-left: -0.04em;


    &.XL {
      font-size: 6.5em;

      @media (width < 768px) {
        font-size: 4em;
      }
    }
  }

  & h2 {
    font-size: 2.4em;
    font-weight: 550;
    line-height: 1;
    margin-bottom: 0.5em;

    @media (width < 768px) {
      font-size: 1.8em;
    }


  }

  & h3 {
    font-size: 1.7em;
    line-height: 1.08;
    font-weight: 550;
    margin-bottom: 0.4em;
  }

  & h4 {
    font-size: 1.1em;
    font-weight: 500;
    line-height: 1.2;
    margin-bottom: 0.4em;
  }

  & h5 {
    font-size: 1.08em;
    font-weight: 450;
    line-height: 1.2;
    margin-bottom: 0.5em;
  }

  & h6 {
    font-size: 0.8em;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: var(--ids__density);
    margin-bottom: 0.5em;
  }

  & strong,
  & b {
    font-weight: 600;
  }

  & mark {
    color: rgb(var(--ids__text-RGB));
    background-color: rgb(var(--ids__mark-RGB));
  }

  & ul,
  & ol {
    margin: 0 0 calc(var(--ids__density) * 0.75em) 0;
    padding: 0;

    & li {
      position: relative;
      margin-bottom: calc(var(--ids__density) * 0.5em);
    }
  }

  & ul {
    & li {
      list-style-type: none;
      padding-left: calc(var(--ids__density) * 0.75em);

      &:before {
        position: absolute;
        left: 0;
        content: "⋅ ";
      }
    }
  }

  & ol {
    & li {
      list-style: decimal inside none;
    }
  }

  & em {
    font-family: var(--serif);
    font-size: 1.05em;

  }

  & blockquote {
    font-size: 1.4em;
    line-height: var(--ids__density);
    margin: 0;
    padding-left: calc(var(--ids__density) * 0.75em);
    margin-bottom: calc(var(--ids__density) * 1em);
  }

  & aside {
    margin: 0;
    margin-bottom: calc(var(--ids__density) * 0.5em);
    background: rgb(var(--ids__surface-RGB));
    padding-top: calc(var(--ids__density) * 0.4em);
    padding-right: calc(var(--ids__density) * 1.5em);
    padding-bottom: calc(var(--ids__density) * 0.4em);
    padding-left: calc(var(--ids__density) * 0.5em);
    border-radius: 0.2em;

    @media (width < 768px) {
      padding-right: calc(var(--ids__density) * 0.75em);
    }
  }

  & code {
    font-size: 0.9em;
    font-family: var(--mono);
    letter-spacing: 0.02em;
    font-weight: 450;
    padding: 0.1em 0.25em;
    border-radius: 0.2em;
    color: rgba(var(--ids__code-RGB), 1);
    border: 1px solid rgba(var(--ids__code-RGB), 0.1);
    background: rgba(var(--ids__code-RGB), 0.1);
  }

  & figure {
    margin: 0 0 calc(var(--ids__density) * 0.5em) 0;

    &.XXS,
    &.ids__figure__XXS {
      width: 25%;
    }

    &.XS,
    &.ids__figure__XS {
      width: 50%;
    }

    &.S,
    &.ids__figure__S {
      width: 75%;
    }

    & figcaption {
      margin-top: calc(var(--ids__density) * 0.25em);
      font-size: 0.8em;
      line-height: var(--ids__density);
      opacity: 0.7;
    }
  }

  & details {
    padding: 0.5em;
    cursor: pointer;
    border-radius: var(--ids__radius);

    & summary {
      padding-bottom: var(--ids__micro-padding);
    }
  }

  & table {
    & caption {}
  }

  & hr {
    border-top-color: rgba(var(--ids__text-RGB), 0.2);
    border-bottom: 0;
  }

  & .promo-link {
    font-family: var(--mono);
    display: inline-block;
    padding: 0.5em 1em;
    background-color: rgb(var(--ids__accent-RGB));
    text-decoration: none;
    color: white;
    border-radius: 0.25em;
    transition: background-color 0.5s ease;

    &:hover {
      background-color: rgb(var(--ids__hover-RGB));
      transition: background-color 0s;
      color: white;
    }
  }


}
ids-gallery,
.ids__gallery {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 5em;


    figure {
        flex: 0 0 5em;

        &:focus-within:has(a:focus-visible) {
            outline: 2px solid rgb(var(--ids__link-RGB));
            outline-offset: 2px;
        }

        a:hover,
        a:focus-visible {
            opacity: 0.9;
        }

        img {
            object-fit: contain;
            max-height: 100%;
            max-width: 100%;
        }
    }
}
/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */

.pswp {
  --pswp-bg: #000;
  --pswp-placeholder-bg: #222;
  

  --pswp-root-z-index: 100000;
  
  --pswp-preloader-color: rgba(79, 79, 79, 0.4);
  --pswp-preloader-color-secondary: rgba(255, 255, 255, 0.9);
  
  /* defined via js:
  --pswp-transition-duration: 333ms; */
  
  --pswp-icon-color: #fff;
  --pswp-icon-color-secondary: #4f4f4f;
  --pswp-icon-stroke-color: #4f4f4f;
  --pswp-icon-stroke-width: 2px;

  --pswp-error-text-color: var(--pswp-icon-color);
}


/*
	Styles for basic PhotoSwipe (pswp) functionality (sliding area, open/close transitions)
*/

.pswp {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: var(--pswp-root-z-index);
	display: none;
	touch-action: none;
	outline: 0;
	opacity: 0.003;
	contain: layout style size;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* Prevents focus outline on the root element,
  (it may be focused initially) */
.pswp:focus {
  outline: 0;
}

.pswp * {
  box-sizing: border-box;
}

.pswp img {
  max-width: none;
}

.pswp--open {
	display: block;
}

.pswp,
.pswp__bg {
	transform: translateZ(0);
	will-change: opacity;
}

.pswp__bg {
  opacity: 0.005;
	background: var(--pswp-bg);
}

.pswp,
.pswp__scroll-wrap {
	overflow: hidden;
}

.pswp__scroll-wrap,
.pswp__bg,
.pswp__container,
.pswp__item,
.pswp__content,
.pswp__img,
.pswp__zoom-wrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.pswp__img,
.pswp__zoom-wrap {
	width: auto;
	height: auto;
}

.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img {
	cursor: -webkit-zoom-in;
	cursor: -moz-zoom-in;
	cursor: zoom-in;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img {
	cursor: move;
	cursor: -webkit-grab;
	cursor: -moz-grab;
	cursor: grab;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active {
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing;
}

/* :active to override grabbing cursor */
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,
.pswp__img {
	cursor: -webkit-zoom-out;
	cursor: -moz-zoom-out;
	cursor: zoom-out;
}


/* Prevent selection and tap highlights */
.pswp__container,
.pswp__img,
.pswp__button,
.pswp__counter {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.pswp__item {
	/* z-index for fade transition */
	z-index: 1;
	overflow: hidden;
}

.pswp__hidden {
	display: none !important;
}

/* Allow to click through pswp__content element, but not its children */
.pswp__content {
  pointer-events: none;
}
.pswp__content > * {
  pointer-events: auto;
}


/*

  PhotoSwipe UI

*/

/*
	Error message appears when image is not loaded
	(JS option errorMsg controls markup)
*/
.pswp__error-msg-container {
  display: grid;
}
.pswp__error-msg {
	margin: auto;
	font-size: 1em;
	line-height: 1;
	color: var(--pswp-error-text-color);
}

/*
class pswp__hide-on-close is applied to elements that
should hide (for example fade out) when PhotoSwipe is closed
and show (for example fade in) when PhotoSwipe is opened
 */
.pswp .pswp__hide-on-close {
	opacity: 0.005;
	will-change: opacity;
	transition: opacity var(--pswp-transition-duration) cubic-bezier(0.4, 0, 0.22, 1);
	z-index: 10; /* always overlap slide content */
	pointer-events: none; /* hidden elements should not be clickable */
}

/* class pswp--ui-visible is added when opening or closing transition starts */
.pswp--ui-visible .pswp__hide-on-close {
	opacity: 1;
	pointer-events: auto;
}

/* <button> styles, including css reset */
.pswp__button {
	position: relative;
	display: block;
	width: 50px;
	height: 60px;
	padding: 0;
	margin: 0;
	overflow: hidden;
	cursor: pointer;
	background: none;
	border: 0;
	box-shadow: none;
	opacity: 0.85;
	-webkit-appearance: none;
	-webkit-touch-callout: none;
}

.pswp__button:hover,
.pswp__button:active,
.pswp__button:focus {
  transition: none;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
  opacity: 1;
}

.pswp__button:disabled {
  opacity: 0.3;
  cursor: auto;
}

.pswp__icn {
  fill: var(--pswp-icon-color);
  color: var(--pswp-icon-color-secondary);
}

.pswp__icn {
  position: absolute;
  top: 14px;
  left: 9px;
  width: 32px;
  height: 32px;
  overflow: hidden;
  pointer-events: none;
}

.pswp__icn-shadow {
  stroke: var(--pswp-icon-stroke-color);
  stroke-width: var(--pswp-icon-stroke-width);
  fill: none;
}

.pswp__icn:focus {
	outline: 0;
}

/*
	div element that matches size of large image,
	large image loads on top of it,
	used when msrc is not provided
*/
div.pswp__img--placeholder,
.pswp__img--with-bg {
	background: var(--pswp-placeholder-bg);
}

.pswp__top-bar {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 60px;
	display: flex;
  flex-direction: row;
  justify-content: flex-end;
	z-index: 10;

	/* allow events to pass through top bar itself */
	pointer-events: none !important;
}
.pswp__top-bar > * {
  pointer-events: auto;
  /* this makes transition significantly more smooth,
     even though inner elements are not animated */
  will-change: opacity;
}


/*

  Close button

*/
.pswp__button--close {
  margin-right: 6px;
}


/*

  Arrow buttons

*/
.pswp__button--arrow {
  position: absolute;
  top: 0;
  width: 75px;
  height: 100px;
  top: 50%;
  margin-top: -50px;
}

.pswp__button--arrow:disabled {
  display: none;
  cursor: default;
}

.pswp__button--arrow .pswp__icn {
  top: 50%;
  margin-top: -30px;
  width: 60px;
  height: 60px;
  background: none;
  border-radius: 0;
}

.pswp--one-slide .pswp__button--arrow {
  display: none;
}

/* hide arrows on touch screens */
.pswp--touch .pswp__button--arrow {
  visibility: hidden;
}

/* show arrows only after mouse was used */
.pswp--has_mouse .pswp__button--arrow {
  visibility: visible;
}

.pswp__button--arrow--prev {
  right: auto;
  left: 0px;
}

.pswp__button--arrow--next {
  right: 0px;
}
.pswp__button--arrow--next .pswp__icn {
  left: auto;
  right: 14px;
  /* flip horizontally */
  transform: scale(-1, 1);
}

/*

  Zoom button

*/
.pswp__button--zoom {
  display: none;
}

.pswp--zoom-allowed .pswp__button--zoom {
  display: block;
}

/* "+" => "-" */
.pswp--zoomed-in .pswp__zoom-icn-bar-v {
  display: none;
}


/*

  Loading indicator

*/
.pswp__preloader {
  position: relative;
  overflow: hidden;
  width: 50px;
  height: 60px;
  margin-right: auto;
}

.pswp__preloader .pswp__icn {
  opacity: 0;
  transition: opacity 0.2s linear;
  animation: pswp-clockwise 600ms linear infinite;
}

.pswp__preloader--active .pswp__icn {
  opacity: 0.85;
}

@keyframes pswp-clockwise {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


/*

  "1 of 10" counter

*/
.pswp__counter {
  height: 30px;
  margin-top: 15px;
  margin-inline-start: 20px;
  font-size: 14px;
  line-height: 30px;
  color: var(--pswp-icon-color);
  text-shadow: 1px 1px 3px var(--pswp-icon-color-secondary);
  opacity: 0.85;
}

.pswp--one-slide .pswp__counter {
  display: none;
}



.footer {
  margin-top: 5em;
  padding: 4em;
  text-align: center;
  font-size: 0.8em;
}
.language-swither {
  position: absolute;
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  font-size: 0.8em;
  gap: 0.5em;
  padding: 0.7em;
  letter-spacing: 0.1em;

  @media (width < 768px) {
    position: static;
    justify-content: center;
  }

  & .active {
    border: 1px solid rgba(var(--ids__text-RGB), 1);
    border-radius: 0.3em;
    corner-shape: squircle;
    padding: 0.05em 0.2em 0.05em 0.3em;
    font-style: italic;
  }
}

.title {
  padding: 1.5em 0 1em;
  text-align: center;

  & h1 {
    font-size: 3.5em;
    line-height: 0.9;
    margin-bottom: 0.4em;

    @media (width < 768px) {
      font-size: 2.3em;
    }
  }

  & p {
    font-size: 0.9em;

    @media (width < 768px) {
      font-size: 0.8em;
    }
  }
}

.video {
  & .video-player {
    position: relative;

    & .fake-play-button {
      position: absolute;
      display: flex;
      top: 0;
      bottom: 0.5em;
      left: 0;
      right: 0;

      justify-content: center;
      align-items: center;

      color: white;
      font-size: 1.5em;
      font-weight: 300;

      transition: color 0.5s ease;

      &:hover {
        color: rgba(var(--ids__hover-RGB), 1);
        transition: color 0s ease;
      }
    }
  }
}

.journal {
  padding: 0.3em;
  background: rgba(var(--ids__surface-RGB), 1);
  transition: background-color 0.5s ease;
  cursor: pointer;
  border-radius: 0.2em;
  user-select: none;

  &:hover {
    background-color: rgba(218, 223, 236, 1);
    transition: background-color 0s ease;

    & .journal-nav {
      & .nav-item {
        color: rgba(var(--ids__hover-RGB), 1);
        transition: color 0s ease;

        &.date {
          &::before {
            border-bottom: 1px solid rgba(var(--ids__hover-RGB), 1);
            transition: border 0s ease;
          }

          & .date-caption {
            background-color: rgba(218, 223, 236, 1);
            transition:
              background-color 0s ease,
              left 0.3s ease;
          }
        }

        & .reload-icon-button {
          border: 1px solid rgba(var(--ids__hover-RGB), 0.5);
          transition: border 0s ease;

          & .reload-icon {
            & svg {
              & .cls-1 {
                stroke: rgba(var(--ids__hover-RGB), 1);
                transition: stroke 0s ease;
              }
            }
          }
        }
      }
    }
  }

  & .journal-nav {
    font-size: 0.8em;
    display: flex;

    gap: 0.6em;

    border-radius: 0.4em;

    text-decoration: none;
    opacity: 0.5;
    transition:
      opacity 0.5s ease,
      color 0.5s ease,
      background-color 0.5s ease;

    & .nav-item {
      transition: color 0.5s ease;

      &:not(.icon) {
        padding: 0.3em;
      }

      &.date {
        position: relative;
        flex-grow: 2;
        margin-right: 0.3em;

        &::before {
          content: "";
          position: absolute;
          left: 0;
          right: 0;
          top: 1em;

          border-bottom: 1px solid rgba(var(--ids__text-RGB), 0.5);
          transition: border 0.5s ease;
        }

        & .date-caption {
          display: inline-block;
          position: relative;
          left: 0%;
          padding: 0 0.1em;

          background-color: rgba(var(--ids__surface-RGB), 1);
          transition:
            background-color 0.5s ease,
            left 0.5s ease;
        }
      }

      & .reload-icon-button {
        border: 1px solid rgba(var(--ids__text-RGB), 0.5);
        transition: border 0.5s ease;
        padding: 0.3em 1.5em 0.25em;
        border-radius: 0.5em;
        corner-shape: squircle;

        & .reload-icon {
          width: 1em;
          height: 1.2em;

          & svg {
            & .cls-1 {
              stroke: rgba(var(--ids__text-RGB), 1);
              stroke-miterlimit: 10;
              stroke-width: 10px;
              fill: none;
              transition: stroke 0.5s ease;
            }
          }
        }

        &:hover {
          border: 1px solid rgba(var(--ids__hover-RGB), 1);
        }
      }
    }
  }

  & .journal-title {
    text-align: center;
    padding: 1.5em 2em 0em;

    & h2 {
      font-size: 1.4em;
      margin-bottom: 0;

      @media (width < 768px) {
        font-size: 1.25em;
      }
    }
  }

  & .journal-record {
    text-align: center;
    padding: 1em 4em 2em;
    display: none;
    opacity: 0;
    transition: opacity 0.5s ease;

    @media (width < 768px) {
      padding: 1em 2em 2em;
    }

    &.visible {
      display: block;
      opacity: 1;
    }

    & .date {
      display: none;
    }

    & .journal-record-text {
      & blockquote {
        font-style: italic;
        font-size: 1em;
        font-weight: 500;
        margin-top: 1em;
        margin-bottom: calc(var(--ids__density) * 0.4em);

        & > p {
          margin-bottom: 0.1em;
        }
      }

      & p.before-ul {
        text-align: left;
        margin-top: 1em;
        width: 70%;
        margin: 1em auto calc(var(--ids__density) * 0.4em);

        @media (width < 768px) {
          width: 85%;
        }
      }

      & ul {
        width: 70%;
        margin: 0em auto 1em;
        text-align: left;

        @media (width < 768px) {
          width: 85%;
        }
      }

      & em {
        font-style: normal;
        font-size: 0.8em;
      }
    }
  }
}

.about {
  font-size: 0.9em;

  @media (width < 768px) {
    font-size: 0.8em;
    padding: 0 1.3em;
  }
}

.circle {
  position: relative;
  width: 15em;
  height: 15em;
  margin: 2em auto;
  border-radius: 50%;
  background-color: rgba(var(--ids__surface-RGB), 1);
  overflow: hidden;
  animation: circle-animation 20s ease-in-out infinite;

  @media (width < 768px) {
    width: 15em;
    height: 15em;
  }

  & .circle-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: 100% 100%;

    &.bg-pale {
      background-image: url("assets/bg-pale.png");
    }

    &.bg-blue {
      background-image: url("assets/bg-blue.png");
      animation: blue-bg-animation 20s linear infinite;
    }

    &.bg-red {
      background-image: url("assets/bg-red.png");
      animation: red-bg-animation 20s linear infinite;
    }
  }
}

@keyframes circle-animation {
  0%,
  100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.2);
  }
}

@keyframes blue-bg-animation {
  0%,
  22% {
    opacity: 0;
  }

  33%,
  80% {
    opacity: 1;
  }

  81%,
  100% {
    opacity: 0;
  }
}

@keyframes red-bg-animation {
  0%,
  55% {
    opacity: 0;
  }

  66%,
  88% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

& .full-journal {
  & .journal {
    & .journal-nav {
      display: none;
    }

    & .journal-title {
      display: none;
    }

    & .journal-record {
      display: block;
      opacity: 1;

      & .date {
        display: block;
        font-weight: 600;
        margin-bottom: 0.5em;
      }
    }
  }
}

.journal-notes {
  border: 1px solid rgba(var(--ids__text-RGB), 0.2);
  border-radius: 0.4em;
  overflow: hidden;
  box-shadow: 0 0.2em 0.4em 0 rgba(var(--ids__text-RGB), 0.1);
  min-height: 20em;

  & .journal-notes-header {
    display: flex;
    justify-content: space-between;
    padding: 0.8em 1em 0.8em 1.2em;
    background-color: rgba(var(--ids__background-RGB), 1);
    box-shadow: 0 0 0.4em 0 rgba(var(--ids__text-RGB), 0.2);

    & .notes-header-title {
      font-weight: 600;
    }

    & .notes-header-reload-icon {
      position: relative;
      width: 1.1em;
      height: 1.2em;

      /* &::before {
        content: '';
        position: absolute;
        top: -0.3em;
        left: -0.3em;
        right: -0.3em;
        bottom: -0.3em;
        background-color: rgba(var(--ids__mark-RGB), 1);
        border-radius: 50%;
      } */

      & svg {
        position: relative;

        & .cls-1 {
          stroke: rgba(var(--ids__mark-RGB), 1);
          stroke-miterlimit: 10;
          stroke-width: 10px;
          fill: none;
          transition: stroke 0.5s ease;
        }
      }
    }


  }

  & .notes-header-date {
    position: relative;
    border-top: 1px solid rgba(var(--ids__text-RGB), 0.2);
    color: rgba(var(--ids__text-RGB), 0.5);
    font-size: 0.9em;
    padding-top: 0.2em;
    text-align: center;


  }

  & .note {
    padding: 1.2em 2em 2em 1.2em;

    & .note-title {
      & h2 {
        font-weight: 700;


      }
    }

    & .note-text {
      & .journal-record {

        display: none;

        &:first-child {
          display: block;
        }

        & .date {
          display: none;
        }
      }

    }

  }

}

.plyr {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  align-items: center;
  direction: ltr;
  display: flex;
  flex-direction: column;
  font-family: var(--plyr-font-family, inherit);
  font-variant-numeric: tabular-nums;
  font-weight: var(--plyr-font-weight-regular, 400);
  line-height: var(--plyr-line-height, 1.7);
  pointer-events: none;
  max-width: 100%;
  min-width: 200px;
  text-shadow: none;
  transition: box-shadow 0.3s ease;
  border-radius: inherit;
  z-index: 1;
}

[data-media-player][data-layout='plyr']:not([data-fullscreen]) {
  border-radius: var(--plyr-border-radius, 10px);
}

.plyr button,
.plyr [role='button'] {
  font: inherit;
  line-height: inherit;
  width: auto;
  pointer-events: auto;
}

.plyr:focus {
  outline: 0;
}

.plyr {
  box-sizing: border-box;
}

.plyr *,
.plyr *::after,
.plyr *::before {
  box-sizing: inherit;
}

.plyr a,
.plyr button,
.plyr [role='button'],
.plyr input,
.plyr [role='slider'],
.plyr label {
  touch-action: manipulation;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Badge
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

.plyr__badge {
  background: var(--plyr-badge-background, hsl(216, 15%, 34%));
  border-radius: var(--plyr-badge-border-radius, 2px);
  color: var(--plyr-badge-text-color, #fff);
  font-size: var(--plyr-font-size-badge, 9px);
  line-height: 1;
  padding: 3px 4px;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Captions
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

.plyr__captions {
  animation: plyr-fade-in 0.3s ease;
  bottom: 0;
  display: none;
  font-size: var(--plyr-font-size-small, 13px);
  left: 0;
  padding: var(--plyr-control-spacing, 10px);
  position: absolute;
  text-align: center;
  transition: transform 0.4s ease-in-out;
  width: 100%;
}

.plyr__captions span:empty {
  display: none;
}

@media (min-width: 480px) {
  .plyr__captions {
    font-size: var(--plyr-font-size-base, 15px);
    padding: calc(var(--plyr-control-spacing, 10px) * 2);
  }
}

@media (min-width: 768px) {
  .plyr__captions {
    font-size: var(--plyr-font-size-large, 18px);
  }
}

.plyr--captions-active .plyr__captions {
  display: block;
}

.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty) ~ .plyr__captions {
  transform: translateY(calc(var(--plyr-control-spacing, 10px) * -4));
}

.plyr__caption {
  background: var(--plyr-captions-background, rgba(0, 0, 0, 0.8));
  border-radius: 2px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  color: var(--plyr-captions-text-color, #fff);
  line-height: 185%;
  padding: 0.2em 0.5em;
  white-space: pre-wrap;
}

.plyr__caption div {
  display: inline;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Controls
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

.plyr__control {
  background: transparent;
  border: 0;
  border-radius: var(--plyr-control-radius, 4px);
  contain: layout style;
  color: inherit;
  cursor: pointer;
  flex-shrink: 0;
  overflow: visible;
  padding: calc(var(--plyr-control-spacing, 10px) * 0.7);
  position: relative;
  transition: all 0.3s ease;
}

.plyr__control svg {
  display: block;
  fill: currentColor;
  height: var(--plyr-control-icon-size, 18px);
  pointer-events: none;
  width: var(--plyr-control-icon-size, 18px);
}

.plyr :focus {
  outline: 0;
}

.plyr *:focus-visible,
.plyr *[data-focus] {
  outline: 2px dashed var(--plyr-focus-visible-color, var(--plyr-color-main, hsl(198, 100%, 50%)));
  outline-offset: 2px;
}

a.plyr__control {
  text-decoration: none;
}

a.plyr__control::after,
a.plyr__control::before {
  display: none;
}

.plyr__control[aria-pressed='false'] .icon--pressed,
.plyr__control[aria-pressed='true'] .icon--not-pressed,
.plyr__control[aria-pressed='false'] .label--pressed,
.plyr__control[aria-pressed='true'] .label--not-pressed {
  display: none;
}

.plyr__controls {
  align-items: center;
  display: flex;
  justify-content: flex-end;
  text-align: center;
  pointer-events: auto;
}

.plyr__controls .plyr__progress__container {
  flex: 1 1 0%;
  min-width: 0;
}

.plyr__controls .plyr__controls__item {
  margin-left: calc(var(--plyr-control-spacing, 10px) / 4);
}

.plyr__controls .plyr__controls__item:first-child {
  margin-left: 0;
  margin-right: auto;
}

.plyr__controls .plyr__controls__item.plyr__progress__container {
  padding-left: calc(var(--plyr-control-spacing, 10px) / 4);
}

.plyr__controls .plyr__controls__item.plyr__time {
  padding: 0 calc(var(--plyr-control-spacing, 10px) / 2);
}

.plyr__controls .plyr__controls__item.plyr__progress__container:first-child,
.plyr__controls .plyr__controls__item.plyr__time:first-child,
.plyr__controls .plyr__controls__item.plyr__time + .plyr__time {
  padding-left: 0;
}

.plyr__controls:empty {
  display: none;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Menu
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

.plyr__menu {
  display: flex;
  position: relative;
}

.plyr__menu [aria-disabled='true'],
.plyr__menu [role='menu'][aria-hidden='true'] {
  display: none !important;
}

.plyr__menu .plyr__control svg {
  transition: transform 0.3s ease;
}

.plyr__menu .plyr__control[aria-expanded='true'] svg {
  transform: rotate(90deg);
}

.plyr__menu .plyr__control[aria-expanded='true'] .plyr__tooltip {
  display: none;
}

.plyr__menu__container {
  --media-menu-x-offset: 3px;
  --media-menu-y-offset: calc(calc(var(--plyr-control-spacing, 10px) / 2) * 2);
  animation: plyr-popup 0.2s ease;
  background: var(--plyr-menu-background, rgba(255, 255, 255, 0.9));
  border-radius: var(--plyr-menu-radius, 8px);
  box-shadow: var(--plyr-menu-shadow, 0 1px 2px rgba(0, 0, 0, 0.15));
  color: var(--plyr-menu-color, hsl(216, 15%, 34%));
  font-size: var(--plyr-font-size-base, 15px);
  text-align: left;
  white-space: nowrap;
  z-index: 3;
}

.plyr__menu__container > div {
  overflow: hidden;
  transition:
    height 0.35s cubic-bezier(0.4, 0, 0.2, 1),
    width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.plyr__menu__container::after {
  border: var(--plyr-menu-arrow-size, 4px) solid transparent;
  border-top-color: var(--plyr-menu-background, rgba(255, 255, 255, 0.9));
  content: '';
  height: 0;
  position: absolute;
  right: calc(
    ((var(--plyr-control-icon-size, 18px) / 2) + calc(var(--plyr-control-spacing, 10px) * 0.7)) -
      (var(--plyr-menu-arrow-size, 4px) / 2)
  );
  top: 100%;
  width: 0;
}

.plyr__menu__container > div > div {
  padding: calc(var(--plyr-control-spacing, 10px) * 0.7);
}

.plyr__menu__container [role='menuitem'],
.plyr__menu__container [role='menuitemradio'] {
  margin-top: 2px;
}

.plyr__menu__container [role='menuitem']:first-child,
.plyr__menu__container [role='menuitemradio']:first-child {
  margin-top: 0;
}

.plyr__menu__container .plyr__control {
  align-items: center;
  color: var(--plyr-menu-color, hsl(216, 15%, 34%));
  display: flex;
  font-size: var(--plyr-font-size-menu, var(--plyr-font-size-small, 13px));
  padding: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) / 1.5)
    calc(calc(var(--plyr-control-spacing, 10px) * 0.7) * 1.5);
  -webkit-user-select: none;
  user-select: none;
  width: 100%;
}

.plyr__menu__container .plyr__control > span {
  align-items: inherit;
  display: flex;
  width: 100%;
}

.plyr__menu__container .plyr__control::after {
  border: var(--plyr-menu-item-arrow-size, 4px) solid transparent;
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.plyr__menu__container .plyr__control--forward {
  padding-right: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) * 4);
}

.plyr__menu__container .plyr__control--forward::after {
  border-left-color: var(--plyr-menu-arrow-color, hsl(216, 15%, 52%));
  right: calc(
    (calc(var(--plyr-control-spacing, 10px) * 0.7) * 1.5) - var(--plyr-menu-item-arrow-size, 4px)
  );
}

.plyr__menu__container .plyr__control--forward:focus-visible::after,
.plyr__menu__container .plyr__control--forward[data-focus]::after,
.plyr__menu__container .plyr__control--forward:hover::after {
  border-left-color: currentColor;
}

.plyr__menu__container .plyr__control--back {
  font-weight: var(--plyr-font-weight-regular, 400);
  margin: calc(var(--plyr-control-spacing, 10px) * 0.7);
  margin-bottom: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) / 2);
  padding-left: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) * 4);
  position: relative;
  width: calc(100% - (calc(var(--plyr-control-spacing, 10px) * 0.7) * 2));
}

.plyr__menu__container .plyr__control--back::after {
  border-right-color: var(--plyr-menu-arrow-color, hsl(216, 15%, 52%));
  left: calc(
    (calc(var(--plyr-control-spacing, 10px) * 0.7) * 1.5) - var(--plyr-menu-item-arrow-size, 4px)
  );
}

.plyr__menu__container .plyr__control--back::before {
  background: var(--plyr-menu-back-border-color, hsl(216, 15%, 88%));
  box-shadow: 0 1px 0 var(--plyr-menu-back-border-shadow-color, #fff);
  content: '';
  height: 1px;
  left: 0;
  margin-top: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) / 2);
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 100%;
}

.plyr__menu__container .plyr__control--back:focus-visible::after,
.plyr__menu__container .plyr__control--back[data-focus]::after,
.plyr__menu__container .plyr__control--back:hover::after {
  border-right-color: currentColor;
}

.plyr__menu__container .plyr__control[role='menuitemradio'] {
  padding-left: calc(var(--plyr-control-spacing, 10px) * 0.7);
}

.plyr__menu__container .plyr__control[role='menuitemradio']::before,
.plyr__menu__container .plyr__control[role='menuitemradio']::after {
  border-radius: 100%;
}

.plyr__menu__container .plyr__control[role='menuitemradio']::before {
  background: rgba(0, 0, 0, 0.1);
  content: '';
  display: block;
  flex-shrink: 0;
  height: 16px;
  margin-right: var(--plyr-control-spacing, 10px);
  transition: all 0.3s ease;
  width: 16px;
}

.plyr__menu__container .plyr__control[role='menuitemradio']::after {
  background: #fff;
  border: 0;
  height: 6px;
  left: 12px;
  opacity: 0;
  top: 50%;
  transform: translateY(-50%) scale(0);
  transition:
    transform 0.3s ease,
    opacity 0.3s ease;
  width: 6px;
}

.plyr__menu__container .plyr__control[role='menuitemradio'][aria-checked='true']::before {
  background: var(
    --plyr-control-toggle-checked-background,
    var(--plyr-color-main, hsl(198, 100%, 50%))
  );
}

.plyr__menu__container .plyr__control[role='menuitemradio'][aria-checked='true']::after {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

.plyr__menu__container .plyr__control[role='menuitemradio']:focus-visible::before,
.plyr__menu__container .plyr__control[role='menuitemradio'][data-focus]::before,
.plyr__menu__container .plyr__control[role='menuitemradio']:hover::before {
  background: rgba(35, 40, 47, 0.1);
}

.plyr__menu__container .plyr__menu__value {
  align-items: center;
  display: flex;
  margin-left: auto;
  margin-right: calc((calc(var(--plyr-control-spacing, 10px) * 0.7) - 2px) * -1);
  padding-left: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) * 3.5);
  pointer-events: none;
}

.plyr__menu__container .plyr__control[data-open] .plyr__menu__value {
  display: none;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Sliders
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

.plyr .plyr__slider {
  --value: var(--slider-fill);
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  border: 0;
  border-radius: calc(var(--plyr-range-thumb-height, 13px) * 2);
  contain: layout style;
  color: var(--plyr-range-fill-background, var(--plyr-color-main, hsl(198, 100%, 50%)));
  display: flex;
  align-items: center;
  justify-content: center;
  height: calc(
    (var(--plyr-range-thumb-active-shadow-width, 3px) * 2) + var(--plyr-range-thumb-height, 13px)
  );
  min-width: 0;
  pointer-events: auto;
  padding: 0;
  transition: box-shadow 0.3s ease;
  width: 100%;
  /** Prevent thumb flowing out of slider. */
  margin: 0 calc(var(--plyr-range-thumb-height, 13px) / 2);
}

.plyr .plyr__slider__track {
  background: transparent;
  border: 0;
  border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
  height: var(--plyr-range-track-height, 5px);
  -webkit-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -webkit-user-select: none;
  user-select: none;
  background-image: linear-gradient(
    to right,
    currentColor var(--value, 0%),
    transparent var(--value, 0%)
  );
  width: 100%;
  z-index: 1;
}

.plyr .plyr__slider__thumb {
  position: absolute;
  top: 50%;
  left: var(--value);
  will-change: left;
  background: var(--plyr-range-thumb-background, #fff);
  border: 0;
  border-radius: 100%;
  box-shadow: var(
    --plyr-range-thumb-shadow,
    0 1px 1px rgba(35, 40, 47, 0.15),
    0 0 0 1px rgba(35, 40, 47, 0.2)
  );
  height: var(--plyr-range-thumb-height, 13px);
  -webkit-transition: all 0.2s ease;
  transition:
    opacity 0.2s ease,
    box-shadow 0.2s ease;
  transform: translate(-50%, -50%);
  width: var(--plyr-range-thumb-height, 13px);
  -webkit-appearance: none;
  appearance: none;
  z-index: 2;
}

.plyr .plyr__slider:focus {
  outline: 0;
}

.plyr .plyr__slider:focus-visible .plyr__slider__track,
.plyr .plyr__slider[data-focus] .plyr__slider__track {
  outline: 2px dashed var(--plyr-focus-visible-color, var(--plyr-color-main, hsl(198, 100%, 50%)));
  outline-offset: 2px;
}

.plyr__volume {
  align-items: center;
  display: flex;
  position: relative;
  flex: 1 1 0%;
  max-width: 128px;
}

.plyr__volume .plyr__slider {
  max-width: 90px;
  min-width: 60px;
  position: relative;
  z-index: 2;
}

.plyr__volume + .plyr__controls__item {
  margin-left: calc(var(--plyr-control-spacing, 10px));
}

.plyr__progress .plyr__tooltip {
  left: var(--slider-pointer);
  max-width: 120px;
  overflow-wrap: break-word;
}

.plyr__progress {
  left: calc(var(--plyr-range-thumb-height, 13px) * 0.5);
  margin-right: var(--plyr-range-thumb-height, 13px);
  position: relative;
}

.plyr__progress .plyr__slider {
  position: relative;
  z-index: 2;
}

[data-live] .plyr__progress .plyr__slider {
  color: var(--plyr-progress-live-color, white);
}

[data-live-edge] .plyr__progress .plyr__slider {
  color: var(--plyr-progress-live-edge-color, var(--plyr-color-main, hsl(198, 100%, 50%)));
}

.plyr__slider__buffer {
  -webkit-appearance: none;
  background: transparent;
  border: 0;
  border-radius: 100px;
  height: var(--plyr-range-track-height, 5px);
  left: 0;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
}

.plyr--loading .plyr__slider__buffer {
  animation: plyr-progress 1s linear infinite;
  background-image: linear-gradient(
    -45deg,
    var(--plyr-progress-loading-background, rgba(35, 40, 47, 0.6)) 25%,
    transparent 25%,
    transparent 50%,
    var(--plyr-progress-loading-background, rgba(35, 40, 47, 0.6)) 50%,
    var(--plyr-progress-loading-background, rgba(35, 40, 47, 0.6)) 75%,
    transparent 75%,
    transparent
  );
  background-repeat: repeat-x;
  background-size: var(--plyr-progress-loading-size, 25px) var(--plyr-progress-loading-size, 25px);
  color: transparent;
}

.plyr--video.plyr--loading .plyr__slider__buffer {
  background-color: var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, 0.25));
}

.plyr--audio.plyr--loading .plyr__slider__buffer {
  background-color: var(--plyr-audio-progress-buffered-background, rgba(193, 200, 209, 0.6));
}

.plyr__progress__marker {
  background-color: var(--plyr-progress-marker-background, #fff);
  border-radius: 1px;
  height: var(--plyr-range-track-height, 5px);
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: var(--plyr-progress-marker-width, 3px);
  z-index: 3;
}

.plyr__progress__marker-label {
  color: #fff;
  font-size: var(--plyr-font-size-progress-marker, var(--plyr-font-size-small, 13px));
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Poster
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

.plyr__poster {
  background-color: var(--plyr-video-background, var(--plyr-video-background, rgb(0, 0, 0)));
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: contain;
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity 0.2s ease;
  width: 100%;
  z-index: 1;
  pointer-events: none;
}

.plyr--stopped.plyr__poster-enabled .plyr__poster,
.plyr__poster[data-remotion-poster][data-visible] {
  opacity: 1;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Time
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

.plyr__time {
  font-size: var(--plyr-font-size-time, var(--plyr-font-size-small, 13px));
  border-radius: var(--plyr-time-radius, 5px);
  pointer-events: auto;
}

.plyr__time:focus {
  outline: none;
}

.plyr__time:focus-visible {
  outline: 2px dashed var(--plyr-focus-visible-color, var(--plyr-color-main, hsl(198, 100%, 50%)));
}

.plyr__time + .plyr__time::before {
  content: '⁄';
  margin-right: var(--plyr-control-spacing, 10px);
}

@media (max-width: 767px) {
  .plyr__time + .plyr__time {
    display: none;
  }
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Tooltip
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

.plyr__tooltip {
  background: var(--plyr-tooltip-background, #fff);
  border-radius: var(--plyr-tooltip-radius, 5px);
  bottom: 100%;
  box-shadow: var(--plyr-tooltip-shadow, 0 1px 2px rgba(0, 0, 0, 0.15));
  color: var(--plyr-tooltip-color, hsl(216, 15%, 34%));
  font-size: var(--plyr-font-size-small, 13px);
  font-weight: var(--plyr-font-weight-regular, 400);
  left: 50%;
  line-height: 1.3;
  margin-bottom: calc(calc(var(--plyr-control-spacing, 10px) / 2) * 2);
  opacity: 0;
  padding: calc(var(--plyr-control-spacing, 10px) / 2)
    calc(calc(var(--plyr-control-spacing, 10px) / 2) * 1.5);
  pointer-events: none;
  position: absolute;
  transform: translate(-50%, 10px) scale(0.8);
  transform-origin: 50% 100%;
  transition:
    transform 0.2s 0.1s ease,
    opacity 0.2s 0.1s ease;
  white-space: nowrap;
  z-index: 2;
}

.plyr__tooltip::before {
  border-left: var(--plyr-tooltip-arrow-size, 4px) solid transparent;
  border-right: var(--plyr-tooltip-arrow-size, 4px) solid transparent;
  border-top: var(--plyr-tooltip-arrow-size, 4px) solid var(--plyr-tooltip-background, #fff);
  bottom: calc(var(--plyr-tooltip-arrow-size, 4px) * -1);
  content: '';
  height: 0;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 0;
  z-index: 2;
}

.plyr .plyr__control:hover .plyr__tooltip,
.plyr .plyr__control:focus-visible .plyr__tooltip,
.plyr__tooltip--visible,
.plyr__slider[data-active] .plyr__tooltip {
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
}

.plyr .plyr__control:hover .plyr__tooltip {
  z-index: 3;
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip,
.plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip {
  left: 0;
  transform: translate(0, 10px) scale(0.8);
  transform-origin: 0 100%;
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip::before,
.plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip::before {
  left: calc(
    (var(--plyr-control-icon-size, 18px) / 2) + calc(var(--plyr-control-spacing, 10px) * 0.7)
  );
}

.plyr__controls > .plyr__control:last-child .plyr__tooltip {
  left: auto;
  right: 0;
  transform: translate(0, 10px) scale(0.8);
  transform-origin: 100% 100%;
}

.plyr__controls > .plyr__control:last-child .plyr__tooltip::before {
  left: auto;
  right: calc(
    (var(--plyr-control-icon-size, 18px) / 2) + calc(var(--plyr-control-spacing, 10px) * 0.7)
  );
  transform: translateX(50%);
}

.plyr__controls > .plyr__control:first-child:hover .plyr__tooltip,
.plyr__controls > .plyr__control:first-child:focus-visible .plyr__tooltip,
.plyr__controls > .plyr__control:first-child .plyr__tooltip--visible,
.plyr__controls > .plyr__control:first-child + .plyr__control:hover .plyr__tooltip,
.plyr__controls > .plyr__control:first-child + .plyr__control:focus-visible .plyr__tooltip,
.plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip--visible,
.plyr__controls > .plyr__control:last-child:hover .plyr__tooltip,
.plyr__controls > .plyr__control:last-child:focus-visible .plyr__tooltip,
.plyr__controls > .plyr__control:last-child .plyr__tooltip--visible {
  transform: translate(0, 0) scale(1);
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Audio Controls
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

.plyr--audio {
  display: block;
  width: 100%;
}

.plyr--audio .plyr__controls {
  background: var(--plyr-audio-controls-background, #fff);
  border-radius: inherit;
  color: var(--plyr-audio-control-color, hsl(216, 15%, 34%));
  padding: var(--plyr-control-spacing, 10px);
  border: var(--plyr-audio-border, 1px solid #edecec);
}

.plyr--audio .plyr__control:focus-visible,
.plyr--audio .plyr__control:hover,
.plyr--audio .plyr__control[role='button'][aria-expanded='true'] {
  background: var(
    --plyr-audio-control-background-hover,
    var(--plyr-color-main, hsl(198, 100%, 50%))
  );
  color: var(--plyr-audio-control-color-hover, #fff);
}

.plyr.plyr--audio .plyr__slider__track {
  background-color: var(
    --plyr-audio-range-track-background,
    var(--plyr-audio-progress-buffered-background, rgba(193, 200, 209, 0.6))
  );
}

.plyr.plyr--audio .plyr__slider:active .plyr__slider__thumb,
.plyr.plyr--audio .plyr__slider[data-dragging] .plyr__slider__thumb {
  box-shadow:
    var(
      --plyr-range-thumb-shadow,
      0 1px 1px rgba(35, 40, 47, 0.15),
      0 0 0 1px rgba(35, 40, 47, 0.2)
    ),
    0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px)
      var(--plyr-audio-range-thumb-active-shadow-color, rgba(35, 40, 47, 0.1));
}

.plyr--audio .plyr__slider__buffer {
  color: var(--plyr-audio-progress-buffered-background, rgba(193, 200, 209, 0.6));
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Video Controls
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

.plyr--video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.plyr--video.plyr--menu-open {
  overflow: visible;
}

.plyr--video .plyr__controls {
  background: var(
    --plyr-video-controls-background,
    linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75))
  );
  border-bottom-left-radius: inherit;
  border-bottom-right-radius: inherit;
  bottom: 0;
  color: var(--plyr-video-control-color, #fff);
  left: 0;
  padding: calc(var(--plyr-control-spacing, 10px) / 2);
  padding-top: calc(var(--plyr-control-spacing, 10px) * 2);
  position: absolute;
  right: 0;
  transition:
    opacity 0.4s ease-in-out,
    transform 0.4s ease-in-out;
  z-index: 3;
}

@media (min-width: 480px) {
  .plyr--video .plyr__controls {
    padding: var(--plyr-control-spacing, 10px);
    padding-top: calc(var(--plyr-control-spacing, 10px) * 3.5);
  }
}

.plyr--video.plyr--hide-controls .plyr__controls {
  opacity: 0;
  pointer-events: none;
  transform: translateY(100%);
}

.plyr--video .plyr__control:focus-visible,
.plyr--video .plyr__control:hover,
.plyr--video .plyr__control[data-hocus],
.plyr--video .plyr__control[role='button'][aria-expanded='true'] {
  background: var(
    --plyr-video-control-background-hover,
    var(--plyr-color-main, hsl(198, 100%, 50%))
  );
  color: var(--plyr-video-control-color-hover, #fff);
}

.plyr__control--overlaid {
  background: var(
    --plyr-video-control-background-hover,
    var(--plyr-color-main, hsl(198, 100%, 50%))
  );
  border: 0;
  border-radius: 100%;
  color: var(--plyr-video-control-color, #fff);
  display: none;
  left: 50%;
  opacity: 0.9;
  padding: calc(var(--plyr-control-spacing, 10px) * 1.5);
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: 0.3s;
  z-index: 2;
}

.plyr__control--overlaid svg {
  left: 2px;
  position: relative;
}

.plyr__control--overlaid:hover,
.plyr__control--overlaid:focus,
.plyr__control--overlaid[data-hocus] {
  opacity: 1;
}

.plyr--playing .plyr__control--overlaid {
  opacity: 0;
  visibility: hidden;
}

.plyr.plyr--video .plyr__control--overlaid {
  display: block;
}

.plyr.plyr--video .plyr__slider__track {
  background-color: var(
    --plyr-video-range-track-background,
    var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, 0.25))
  );
}

.plyr.plyr--video .plyr__slider:active .plyr__slider__thumb,
.plyr.plyr--video .plyr__slider[data-dragging] .plyr__slider__thumb {
  box-shadow:
    var(
      --plyr-range-thumb-shadow,
      0 1px 1px rgba(35, 40, 47, 0.15),
      0 0 0 1px rgba(35, 40, 47, 0.2)
    ),
    0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px)
      var(--plyr-audio-range-thumb-active-shadow-color, rgba(255, 255, 255, 0.5));
}

.plyr--video .plyr__slider__buffer {
  color: var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, 0.25));
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Fullscreen
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

.plyr.plyr--fullscreen-active {
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
}

.plyr.plyr--fullscreen-active .plyr__control .icon--exit-fullscreen {
  display: block;
}

.plyr.plyr--fullscreen-active .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}

.plyr.plyr--fullscreen-active.plyr--hide-controls {
  cursor: none;
}

@media (min-width: 1024px) {
  .plyr.plyr--fullscreen-active .plyr__captions {
    font-size: var(--plyr-font-size-xlarge, 21px);
  }
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Preview
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

.plyr__slider__preview {
  background-color: var(--plyr-tooltip-background, #fff);
  border-radius: var(--plyr-menu-radius, 8px);
  box-shadow: var(--plyr-tooltip-shadow, 0 1px 2px rgba(0, 0, 0, 0.15));
  margin-bottom: calc(calc(var(--plyr-control-spacing, 10px) / 2) * 2);
  opacity: 0;
  padding: 3px;
  pointer-events: none;
  transform: scale(0.8);
  transition:
    transform 0.2s 0.1s ease,
    opacity 0.2s 0.1s ease;
  z-index: 2;
}

.plyr__slider__preview[data-visible] {
  opacity: 1;
  transform: scale(1);
}

.plyr__slider__preview::before {
  border-left: var(--plyr-tooltip-arrow-size, 4px) solid transparent;
  border-right: var(--plyr-tooltip-arrow-size, 4px) solid transparent;
  border-top: var(--plyr-tooltip-arrow-size, 4px) solid var(--plyr-tooltip-background, #fff);
  bottom: calc(var(--plyr-tooltip-arrow-size, 4px) * -1);
  content: '';
  height: 0;
  left: calc(50% + var(--preview-arrow-offset));
  position: absolute;
  transform: translateX(-50%);
  width: 0;
  z-index: 2;
}

.plyr__slider__preview__thumbnail {
  --aspect-ratio: calc(var(--plyr-thumbnail-aspect-ratio, 16 / 9));
  --min-width: var(--plyr-thumbnail-min-width, 140px);
  --max-width: var(--plyr-thumbnail-max-width, 180px);
  background: hsl(216, 15%, 79%);
  border-radius: calc(var(--plyr-menu-radius, 8px) - 1px);
  overflow: hidden;
  position: relative;
  display: block;
  width: var(--thumbnail-width);
  height: var(--thumbnail-height);
  contain: strict;
  z-index: 0;
  min-width: var(--min-width);
  min-height: var(--plyr-thumbnail-min-height, calc(var(--min-width) / var(--aspect-ratio)));
  max-width: var(--max-width);
  max-height: var(--plyr-thumbnail-max-height, calc(var(--max-width) / var(--aspect-ratio)));
}

.plyr__slider__preview__thumbnail img,
.plyr__slider__preview__thumbnail::after {
  max-height: none;
  max-width: none;
  object-fit: contain;
  will-change: width, height, transform;
}

.plyr__slider__preview__thumbnail::after {
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.15);
  content: '';
  height: 100%;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
}

.plyr__slider__preview__time-container {
  background: var(
    --plyr-video-controls-background,
    linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75))
  );
  border-bottom-left-radius: calc(var(--plyr-menu-radius, 8px) - 1px);
  border-bottom-right-radius: calc(var(--plyr-menu-radius, 8px) - 1px);
  bottom: 0;
  left: 0;
  line-height: 1.1;
  padding: 20px 6px 6px;
  position: absolute;
  right: 0;
  z-index: 3;
}

.plyr__slider__preview__time {
  color: #fff;
  font-size: var(--plyr-font-size-time, var(--plyr-font-size-small, 13px));
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Preview Scrubbing
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

.plyr__preview-scrubbing {
  bottom: 0;
  filter: blur(1px);
  left: 0;
  margin: auto;
  opacity: 0;
  contain: strict;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  transition: opacity 0.3s ease;
  width: var(--thumbnail-width);
  height: var(--thumbnail-height);
  min-width: 100%;
  min-height: 100%;
  z-index: 1;
}

[data-seeking] .plyr__preview-scrubbing {
  opacity: 1;
}

.plyr__preview-scrubbing img {
  max-height: none;
  max-width: none;
  object-fit: contain;
  will-change: width, height, transform;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Gesture
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

.plyr__gesture {
  contain: content;
  display: block;
  height: 100%;
  inset: 0;
  opacity: 0;
  pointer-events: none !important;
  position: absolute;
  visibility: hidden;
  width: 100%;
  z-index: 0;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Live Button
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

.plyr__live-button {
  background-color: unset !important;
  margin-left: calc(var(--plyr-control-spacing, 10px) * 1.5) !important;
}

.plyr__live-button[data-focus] {
  outline-offset: -5px;
}

.plyr__live-button[data-edge] {
  cursor: unset;
}

.plyr__live-button__text {
  background-color: var(--plyr-live-button-bg, #8a8a8a);
  border-radius: var(--plyr-live-button-border-radius, 2px);
  color: var(--plyr-live-button-color, #161616);
  font-family: var(--plyr-font-family, sans-serif);
  font-size: var(--plyr-font-size-live-button, 12px);
  font-weight: var(--plyr-font-weight-live-button, 600);
  letter-spacing: var(--plyr-live-button-letter-spacing, 1.5px);
  padding: var(--plyr-live-button-padding, 1px 4px);
  transition: color 0.3s ease;
}

.plyr__live-button[data-edge] .plyr__live-button__text {
  background-color: var(--plyr-live-button-edge-bg, #dc2626);
  color: var(--plyr-live-button-edge-color, #f5f5f5);
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Utils
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

.plyr--no-transition {
  transition: none !important;
}

.plyr__sr-only {
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  border: 0 !important;
  height: 1px !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
}

.plyr [hidden],
.plyr [role][aria-hidden='true'] {
  display: none !important;
}

/*
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Keyframes
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

@keyframes plyr-progress {
  to {
    background-position: var(--plyr-progress-loading-size, 25px) 0;
  }
}

@keyframes plyr-popup {
  0% {
    opacity: 0.5;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes plyr-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* ========================================
   Plyr & Vidstack customization with IDS
   ======================================== */

/* Plyr CSS Variables */
:root {
  /* Main accent color - using IDS hover color (blue) */
  --plyr-color-main: rgb(var(--ids__hover-RGB));

  /* Focus outline color */
  --plyr-focus-visible-color: rgb(var(--ids__hover-RGB));

  /* Range/progress colors */
  --plyr-range-fill-background: rgb(var(--ids__hover-RGB));
  --plyr-control-toggle-checked-background: rgb(var(--ids__hover-RGB));

  /* Live edge color */
  --plyr-progress-live-edge-color: rgb(var(--ids__hover-RGB));
}

/* Animations */
@keyframes video-loading {
  0% {
    background-position: -100% 0;
  }

  to {
    background-position: -200% 0;
  }
}

/* Vidstack Media Player Styles */
media-player {
  display: block;
  aspect-ratio: 16 / 9;

  /* Embedded iframe */
  iframe {
    pointer-events: none;
    display: block;
    height: 100%;
    width: 100%;
  }

  /* Custom play button */
  &[data-playing] media-play-button.ids-play {
    display: none;
  }

  media-poster {
    position: absolute;
    inset: 0;
  }

  &[data-started] media-poster {
    display: none;
  }

  media-play-button.ids-play {
    position: absolute;
    z-index: 1;
    inset: 0;
    display: grid;
    place-items: center;
    cursor: pointer;

    &>div {
      color: rgb(var(--ids__surface-RGB));
      background-image: linear-gradient(to right,
          rgba(var(--ids__link-RGB), 1),
          rgba(var(--ids__link-RGB), 1) 49%,
          rgba(var(--ids__hover-RGB), 1) 49%,
          rgba(var(--ids__hover-RGB), 1));
      background-size: 201% 100%;
      background-position: -100% 0;
      border: solid 0 transparent;
      border-radius: 1.5em;
      padding: 0.45em 1em 0.4em 1.3em;
      transition: transform 0.5s ease;
      corner-shape: squircle;

      &:hover {
        background-image: linear-gradient(to right,
            rgba(var(--ids__hover-RGB), 1),
            rgba(var(--ids__hover-RGB), 1) 49%,
            rgba(var(--ids__accent-RGB), 1) 49%,
            rgba(var(--ids__accent-RGB), 1));
      }
    }

    &:hover>div {
      transform: scale(1.1);
      transition: transform 0s ease;
    }
  }

  /* Loading state animation */
  &[data-waiting] media-play-button.ids-play>div {
    background-image: linear-gradient(to right,
        rgba(var(--ids__hover-RGB), 1),
        rgba(var(--ids__hover-RGB), 1) 49%,
        rgba(var(--ids__link-RGB), 1) 49%,
        rgba(var(--ids__link-RGB), 1));
    animation: video-loading 1.5s ease-out infinite;
  }

  /* Hide controls before video starts */
  &:not([data-started]) media-plyr-layout {
    opacity: 0;
  }

  /* Plyr layout customization */
  media-plyr-layout {
    z-index: 2 !important;

    media-play-button.plyr__control--overlaid {
      display: none !important;
    }
  }

  .plyr__controls__item.plyr__volume {
    flex-grow: 0;
  }
}
