/*
Theme Name: CEDR Barebones Theme
Theme URI: https://cthecreative.com/
Author: Carlos Diaz-Rivera (ChatGPT assisted)
Author URI: https://cthecreative.com/
Description: A bare-bones starter theme with only the essentials.
Version: 1.1.12
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cedr-barebones-theme
Tags: blank, starter, developer-friendly
*/

:root {
  --bkImgPathFileUrl: url("images/TexturedPaperTile-000-307x307-03.png");

  --font-body-family: "Quattrocento Sans", sans-serif;
  --font-body-style: normal;
  --font-body-weight: 400;
  --font-body-weight-bold: 700;
  --font-heading-family: Trirong, serif;
  --font-heading-style: normal;
  --font-heading-weight: 400;
  --font-body-scale: 1.0;
  --font-heading-scale: 1.0;
  /*  font-family: Arial, Helvetica, sans-serif;*/
  font-family: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --test-point-size: 8px;
  --thumbnail-height-base: 48px;
  --thumbnail-height-max-hover: 192px;
  --thumbnail-height-max-view: 1024px;
  --thumbnail-proportions: calc(16.0 / 9.0);
  --thumbnail-desired-scale: 1;
  /*filter: sepia(85%) brightness(85%) saturate(0.90);*/
  /*filter: sepia(100%) saturate(180%) brightness(90%) contrast(105%);*/
  /*filter: sepia(100%) saturate(220%) brightness(78%) contrast(115%);*/
  /*filter: sepia(85%) saturate(130%) brightness(102%) contrast(92%);*/

  filter: sepia(0%) saturate(100%) hue-rotate(0deg) brightness(100%) contrast(100%);
  transition: filter 15s ease;
}

:root div {
  border: 0px solid magenta !important;
}

.default_colors {
  filter: sepia(0%) saturate(100%) hue-rotate(0deg) brightness(100%) contrast(100%);
}

/*.master_sepia:not(.default_colors) {*/
  /*  filter: sepia(100%) saturate(180%) hue-rotate(-32deg) brightness(88%) contrast(108%);*/
  /*filter: sepia(0%) saturate(100%) hue-rotate(0deg) brightness(100%) contrast(100%);
}*/

.dont_enable_master_sepia {
  position: sticky;
  transition: filter 15s ease;
  filter: sepia(0%) saturate(100%) hue-rotate(0deg) brightness(100%) contrast(100%);
}

.dont_enable_sub_sepia {
  position: sticky;
  transition: filter 15s ease;
  filter: sepia(0%) saturate(100%) hue-rotate(0deg) brightness(100%) contrast(100%);
}

.no-select {
  -webkit-user-select: none; /* Safari */
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none; /* Internet Explorer/Edge */
  user-select: none; /* Standard */
}

body {
  --page-bg: #EFEFEF;
  --link-color-visited: #7F007F;
  --link-color: #0066CC;
  --default-color: #000000;
  color: var(--default-color);
  background-color: #EFEFEF; /*var(--page-bg);*/
  /*cursor: url('images/brush-02-32x32.png') 1 31, auto !important;*/
  cursor: none;
  transition: filter 15s ease;
  /*filter: sepia(0%) saturate(100%) hue-rotate(0deg) brightness(100%) contrast(100%);*/
}

  body.master_sepia > #custom-cursor,
  body.master_sepia > .site-header,
  body.master_sepia > .site-main,
  body.master_sepia > .site-footer {
    filter: sepia(100%) saturate(180%) hue-rotate(-32deg) brightness(88%) contrast(108%);
  }
/*  body.master_sepia > :not(#clean_slate_layer) {
    filter: sepia(100%) saturate(180%) hue-rotate(-32deg) brightness(88%) contrast(108%);
  }*/

.sub_sepia svg {
  filter: sepia(100%) saturate(180%) hue-rotate(-32deg) brightness(88%) contrast(108%);
}

.svg_sepia {
  filter: sepia(100%) saturate(180%) hue-rotate(-32deg) brightness(88%) contrast(108%);
}

header,
footer {
  /*background-color: var(--page-bg);*/
  /*background-image: url("images/TexturedPaperTile-000-307x307.png");*/
  opacity: 1.0;
}

.header-background {
  background-image: var(--bkImgPathFileUrl);
  background-repeat: repeat;
  opacity: 1.0;
}

.header-inner {
  opacity: 0.80;
}


html,
body {
  background-image: var(--bkImgPathFileUrl);
  background-repeat: repeat;
  background-position: top left;
  background-size: 307px, 307px;
}

a {
  text-decoration: underline;
  text-decoration-skip-ink: none; /* Forces a solid line through any glyph */
  text-underline-offset: 0.2em; /* Shifts the line down to prevent overlapping */
}

/* WP style defense */
.site-header,
.site-main,
.site-footer {
  margin-block: 0;
  background-image: var(--canvas-texture);
}

.site-main {
  display: flow-root;
}

  .site-main > :first-child,
  .site-main .entry-content > :first-child {
    margin-top: 0;
  }

  .site-main > :last-child,
  .site-main .entry-content > :last-child {
    margin-bottom: 0;
  }

.wp-site-blocks {
  gap: 0;
}

  .wp-site-blocks > .site-header,
  .wp-site-blocks > .site-main,
  .wp-site-blocks > .site-footer {
    margin-block: 0;
  }
/* End WP style defense*/
#filter_layer {
  position: fixed;
  inset: 0;
  z-index: 14999;
  pointer-events: none;
  display: flex;
  background-color: #00FFFF00;
  opacity: 1.0;
  backdrop-filter: sepia(0%) saturate(100%) hue-rotate(0deg) brightness(100%) contrast(100%);
  transition: backdrop-filter 15s ease;
}

  #filter_layer.master_sepia {
    backdrop-filter: sepia(100%) saturate(180%) hue-rotate(-32deg) brightness(88%) contrast(108%);
  }

#clean_slate_layer {
  position: fixed;
  inset: 0;
  z-index: 90008;
  pointer-events: none;
  display: flex;
  background-color: #00FFFF00;
  opacity: 1.0;
  backdrop-filter: none;
}

a:link {
    /*color: var(--link-color);*/
    color: #FFFFFF;
}

a:visited {
    /*color: var(--link-color-visited);*/
    color: #DFDFDF;
}

.href_special_00 {
    text-decoration: none;
}
/* */
.hidden_toggle {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* */
.video_links_super_header {
  position: relative;
  border: 1px solid var(--link-color);
  border-radius: 12px;
  padding: 1rem;
  background-color: #0000002F;
  margin: 0.83rem 0;
  font-size: 1.5em;
  font-weight: bold;
  color: var(--default-color);
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

/* */
.video_goto_link {

}

.video_links_header {
  position: relative;
  border: 1px solid var(--link-color);
  border-radius: 12px;
  padding: 1rem;
  background-color: #0000001F;
  margin: 0.83rem 0;
  font-size: 1.5em;
  font-weight: bold;
  color: var(--default-color);
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
  .video_links_header > div {
    position: relative;
    border: 1px solid var(--link-color);
    border-radius: 12px;
    padding: 1rem;
    background-color: #0000001F;
    margin: 0.83rem 0;
    font-size: 1.5em;
    font-weight: bold;
    color: var(--default-color);
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  }

/* */
.video_links {
  position: relative;
  border: 1px solid var(--link-color);
  border-radius: 12px;
  padding: 1rem;
  background-color: #0000000F;
  margin: 0.83rem 0;
  font-size: 1.5em;
  font-weight: bold;
  color: var(--default-color);
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  flex: 0 0 auto;
  list-style: none;
}

  .video_links:hover {
    border-color: #0066CC;
    background-color: #FFFFFF7F;
    box-shadow: 0 4px 10px #00000020;
  }

.video_links > div {
  overflow: visible;
  display: flex;
}

/* - */
@property --vignette-solid {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 50%;
}

@property --vignette-edge-alpha1 {
  syntax: "<number>";
  inherits: false;
  initial-value: 0.68;
}

@property --vignette-edge-alpha2 {
  syntax: "<number>";
  inherits: false;
  initial-value: 0.0;
}

.thumbnail_container {
  z-index: 101;
}

.thumbnail_container:hover {
  z-index: 10001;
}

  .thumbnail_container > input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }


.thumbnail_container img {
  transform-origin: center center;
  /*transform: scale(1);*/
  z-index: 10001;

  width: calc(var(--thumbnail-height-base) * var(--thumbnail-proportions));
  height: var(--thumbnail-height-base);
  -webkit-mask-image: radial-gradient( ellipse at center, black var(--vignette-solid), rgba(0, 0, 0, var(--vignette-edge-alpha1)) 68%, rgba(0, 0, 0, var(--vignette-edge-alpha2)) 95%, rgba(0, 0, 0, var(--vignette-edge-alpha2)) 100% );
  mask-image: radial-gradient( ellipse at center, black var(--vignette-solid), rgba(0, 0, 0, var(--vignette-edge-alpha1)) 68%, rgba(0, 0, 0, var(--vignette-edge-alpha2)) 95%, rgba(0, 0, 0, var(--vignette-edge-alpha2)) 100% );
  transition: transform 0.3s ease, filter 0.25s ease, --vignette-solid 1.5s ease, --vignette-edge-alpha1 1.5s ease, --vignette-edge-alpha2 1.5s ease;
}
/*  .thumbnail_container img:hover {
    transform-origin: center center;
    transform: scale(6);
    cursor: zoom-in;
    --vignette-solid: 85;
    --vignette-edge-alpha1: 1.0;
    --vignette-edge-alpha2: 1.0;
    z-index: 10001;
  }*/
  .thumbnail_container.hover_active img {
    transform-origin: center center;
    transform: scale(6);
    cursor: zoom-in;
    --vignette-solid: 85;
    --vignette-edge-alpha1: 1.0;
    --vignette-edge-alpha2: 1.0;
    z-index: 10001;
  }
/**/
/*.thumbnail_toggle:checked + .thumbnail_label {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(0, 0, 0, 0.8);
  z-index: 10000;
}*/

/*.thumbnail_toggle:not(:checked) + .thumbnail_label img {*/
  /*      position: static;
          width: auto;
    height: auto;*/
  /*width: calc(var(--thumbnail-height-base) * var(--thumbnail-proportions));
  height: var(--thumbnail-height-base);
  max-width: 95vw;
  max-height: 90vh;
  object-fit: contain;*/
  /*transform: scale(1);*/
  /*-webkit-mask-image: none;
  mask-image: none;
  z-index: 10001;
  cursor: zoom-out;*/
/*  outline: 8px solid red !important;*/
/*}

  .thumbnail_toggle:checked + .thumbnail_label img {*/
    /*position: static;*/
    /*    width: auto;
    height: auto;*/
/*    width: calc(var(--thumbnail-height-max-view) * var(--thumbnail-proportions));
    height: var(--thumbnail-height-max-view);*/
    /*max-width: 95vw;
    max-height: 90vh;
    object-fit: contain;
    transform: scale(var(--thumbnail-desired-scale));
    -webkit-mask-image: none;
    mask-image: none;
    z-index: 10001;
    cursor: zoom-out;*/
    /*outline: 8px solid red !important;*/
  /*}*/
  /*.video_links ul {
  color: red;
  list-style: none;
  padding-left: 0;
  margin-left: 2em;*/ /* Optional indentation */
  /*}

.video_links li {
  color: red;
  list-style: none;
  margin-bottom: 0.5em;
}*/
  /*
.video_links > div {
  position: relative;
  border: 1px solid var(--link-color);
  border-radius: 12px;
  padding: 1rem;
  background-color: #0000000F;
  margin: 0.83rem 0;
  font-size: 1.5em;
  font-weight: bold;
  color: var(--default-color);
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  
  display:flex;
  align-items: center;
}

  .video_links > div:hover {
    border-color: #0066CC;
    background-color: #FFFFFF7F;
    box-shadow: 0 4px 10px #00000020;
  }

.video_thumbnail {
  position: relative;
  width: calc(var(--thumbnail-height-base) * var(--thumbnail-proportions));
  height: var(--thumbnail-height-base);
  flex: 0 0 auto;
  overflow: visible;
  z-index: 1;
}*/
  /*.dbg_video_thumbnail {
  position: relative;
  width: calc(var(--thumbnail-height-base) * var(--thumbnail-proportions));
  height: var(--thumbnail-height-base);
  flex: 0 0 auto;
  overflow: visible;
  z-index: 1;
}*/

/*  .xvideo_thumbnail:hover {
    z-index: 100;
    border: 0px;
    border-color: #FF00FF;
    border-style: solid;
  }*/

/*.video_thumbnail > img {
  height: 32px;
  display: inline-flex;
  transition: height 0.3s ease, width 0.3s ease;
  }
.video_thumbnail > img:hover {
  height: 192px;
  transition: height 0.3s ease, width 0.3s ease;
}
}*/

/*@*/
/*@property --vignette-solid {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 50%;
}

@property --vignette-edge-alpha1 {
  syntax: "<number>";
  inherits: false;
  initial-value: 0.68;
}

@property --vignette-edge-alpha2 {
  syntax: "<number>";
  inherits: false;
  initial-value: 0.0;
}

.thumbnail_label {
  display: inline-block;
  cursor: zoom-in;
}*/

/*  .video_thumbnail img {*/
/*.thumbnail_label img {
  position: absolute;
  left: 50%;
  top: 50%;
  width: calc(var(--thumbnail-height-base) * var(--thumbnail-proportions));
  height: var(--thumbnail-height-base);
  object-fit: cover;
  transform: translate(-50%, -50%) scale(1);
  transform-origin: center center;*/
  /*transition: transform 0.25s ease, filter 0.25s ease;*/
  /*z-index: 1;
  -webkit-mask-image: radial-gradient( ellipse at center, black var(--vignette-solid), rgba(0, 0, 0, var(--vignette-edge-alpha1)) 68%, rgba(0, 0, 0, var(--vignette-edge-alpha2)) 95%, rgba(0, 0, 0, var(--vignette-edge-alpha2)) 100% );
  mask-image: radial-gradient( ellipse at center, black var(--vignette-solid), rgba(0, 0, 0, var(--vignette-edge-alpha1)) 68%, rgba(0, 0, 0, var(--vignette-edge-alpha2)) 95%, rgba(0, 0, 0, var(--vignette-edge-alpha2)) 100% );

  transition:
  transform 0.3s ease,
  filter 0.25s ease,
  --vignette-solid 1.5s ease,
  --vignette-edge-alpha1 1.5s ease,
  --vignette-edge-alpha2 1.5s ease;
  }

.xvideo_thumbnail:hover img {
  --vignette-solid: 85;
  --vignette-edge-alpha1: 1.0;
  --vignette-edge-alpha2: 1.0;

  transform: translate(-50%, -50%) scale(6);
  z-index: 20000;

  cursor: zoom-in;
}*/

/*.thumbnail_label img {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 80px;
  height: 45px;
  object-fit: contain;
  transform: translate(-50%, -50%) scale(1);
  transition: transform 0.25s ease;
}*/

/*thumbnail_label:hover img {
  --vignette-solid: 85;
  --vignette-edge-alpha1: 1.0;
  --vignette-edge-alpha2: 1.0;
  transform: translate(-50%, -50%) scale(6);
  z-index: 100;
  cursor: zoom-in;
}

.thumbnail_toggle {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

  .thumbnail_toggle:checked + .thumbnail_label {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(0, 0, 0, 0.8);
    z-index: 10000;
  }

    .thumbnail_toggle:checked + .thumbnail_label img {
      position: static;
      width: auto;
      height: auto;
      max-width: 95vw;
      max-height: 90vh;
      object-fit: contain;
      transform: none;
      -webkit-mask-image: none;
      mask-image: none;
      z-index: 10001;
      cursor: zoom-out;

      outline: 8px solid red !important;
    }*/
/* ^^^ */

/* */
.center_block_half_width {
    color: #000000;
    width: 100%;
    max-width: 50%;
    margin: 0 auto;
    text-align: center;
}

.center_block_80_width {
    color: #000000;
    width: 100%;
    max-width: 80%;
    margin: 0 auto;
    text-align: center;
}

.center_block_80_width_no_text {
    color: #000000;
    width: 100%;
    max-width: 80%;
    margin: 0 auto;
}

.center_block_80_width_no_text a:link {
    color: var(--link-color);   
}

.center_block_80_width_no_text a:visited {
    color: var(--link-color-visited);   
}

.thoughts_link {
    display: block;
    text-decoration: none;
    color: #FF0000;
}

.thoughts_link:link .thoughts_frame {
    border-color: var(--link-color);
}

.thoughts_link:visited .thoughts_frame {
    border-color: var(--link-color-visited);
}

.thoughts_link:hover .thoughts_frame {
    background-color: #FFFFFFBF;
    box-shadow: 0 4px 10px #00000020;
}

.thoughts_link:active .thoughts_frame {
    background-color: #DDDDDD;
}

.thoughts_frame {
    border: 1px solid var(--link-color);
    border-radius: 12px;
    padding: 1rem;
    background-color: #0000000F;
    margin: 0.5rem 0;
    color: var(--default-color);
    cursor: pointer;
    
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.thoughts_frame:hover {
    border-color: #0066CC;
    background-color: #FFFFFF7F;
    box-shadow: 0 4px 10px #00000020;
}

.thoughts_single {
    border: 1px solid #000000;
    border-radius: 12px;
    padding: 1rem;
    background-color: #0000001F;
    margin: 0.5rem 0;
    color: var(--default-color);
    cursor: inherit;
}

.thoughts_date {
    font-size: 50%;  
}

.thoughts_date_entry {
    font-size: 75%;  
}

.thoughts_summary {
    font-size: 75%;  
    text-align: left;
}

.thoughts_entry {
    font-size: 100%;  
    text-align: left;
}

/********************/
/* Licesing Styling */
/********************/
.license_div {
  max-width: 860px;
  margin: 0 auto;
  padding: 2rem 1.25rem 4rem;
  background: inherit;
  color: var(--default-color);
  text-align: left;
}
.license_div h1 {
  margin: 0 0 0.5rem;
  font-size: clamp(2rem, 5vw, 3rem);
  line-height: 1.1;
}
.license_div h2 {
  margin: 1.75rem 0 0.65rem;
  font-size: 1.3rem;
  line-height: 1.25;
}
.license_div p, .license_div li { max-width: 75ch; }
.license_div ul, .license_div ol { padding-left: 1.6rem; }
.license_div li + li { margin-top: 0.4rem; }
.license_div hr {
  border: 0;
  border-top: 1px solid var(--default-color);
  margin: 1.75rem 0;
  opacity: 0.45;
}
.license_div a { color: var(--LinkText); }
@media print {
    .license_div {
        max-width: none;
        padding: 0;
        background: white;
        color: black;
    }

    .license_div a {
        color: inherit;
        text-decoration: none;
    }

    .license_div h2 {
        break-after: avoid;
    }

    .license_div p,
    .license_div li {
        orphans: 3;
        widows: 3;
    }
}

.license_single {
    border: 1px solid #000000;
    border-radius: 12px;
    padding: 1rem;
    background-color: #0000001F;
    margin: 0.12rem 0;
    color: var(--default-color);
    cursor: inherit;
}

.license_single > h1,
.license_single > h2,
.license_single > h3{
    padding: 0.25rem;
    margin: 0.12rem 0;
    color: var(--default-color);
    cursor: inherit;
}

.license_date_entry {
    font-size: 75%; 
    padding: 0.25rem;
    margin: 0.12rem 0;
    color: var(--default-color);
}

.license_card
{
    position: relative;
    border: 1px solid var(--link-color);
    border-radius: 12px;
    padding: 1rem;
    background-color: #0000000F;
    margin: 0.83rem 0;
    font-size:1.5em;
    font-weight: bold;
    color: var(--default-color);
    cursor: pointer;
    
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;    
}
.license_card:hover {
    border-color: #0066CC;
    background-color: #FFFFFF7F;
    box-shadow: 0 4px 10px #00000020;
}

.license_card_overlay
{
    position: absolute;
    inset: 0;
    z-index: 1;
}

.license_card_buy
{
    display: inline-block;
    position: relative;
    z-index: 2;
    
    transition: transform 0.15s ease, background-color 0.15s ease;
}
.license_card_buy:hover 
{
    transform: scale(1.10);
    background-color: #00FF001F;}

.license_card_title
{
    display: inline-block;
    position: relative;
    z-index: 0;
    
    transition: transform 0.15s ease;
}
.license_card:hover .license_card_title
{
    transform: scale(1.05);
}

/* HEADER STRUCTURE & STICKY STYLING */
.site-header {
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 1000;
  /* background: white; */
  /* background-color: red; */
  /* box-shadow: 0 1px 4px rgba(0,0,0,0.1); */
  transition: filter 15s ease;
}

.header-inner {
  text-align: center;
  padding: 10px 0px;
  transition: all 0.3s ease;
}

  .header-inner > * {
    margin: 12px 0px;
    transition: margin 0.3s ease;
  }

.header-logo {
  width: 20%;
  max-width: 90%;
  transition: all 0.3s ease;
}

.header-title {
  font-size: 1.8em;
  margin: 0.5em 0;
  transition: all 0.3s ease;
  background-color: black;
  color: white;
  padding: 0.5em;
}

.entry-title {
  transform-origin: top left;
  transition: all 0.3s ease;
}

/* SHRINK MODE ON SCROLL */
.shrink .header-logo {
  width: 10%;
}

.shrink .header-title {
  font-size: 0px;
  opacity: 0;
  margin: 0;
}

.shrink .entry-title-text {
  /*       transform-origin: top left;
      transform: scale(0.75); */
  font-size: 75%;
  padding: 0px;
}

.shrink .header-inner {
  padding: 5px 0px;
  margin: 0px;
}

  .shrink .header-inner > * {
    margin: 6px 0px;
  }

/* Optional: animate background color on shrink */
.shrink {
  /*background-color: #f8f8f8;*/
  opacity: 1.0;

}


.site-main,
.site-footer {
  background-image: var(--bkImgPathFileUrl);
  background-repeat: repeat;
  background-position: top left;
  opacity: 1.0;
}

/* MAIN CONTENT */
.site-main {
  /*filter: sepia(0%) saturate(100%) hue-rotate(0deg) brightness(100%) contrast(100%);*/
  transition: filter 15s ease;
}

/* FOOTER */
.site-footer {
  opacity: 1.0; /*0.80;*/
  padding: 1em 0;
  transition: filter 15s ease;
}


/*** Special Effects CSS ***/
#MasterAnimLayer {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  margin: 0;
  padding: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 9999;
  opacity: 0.94;
  transition: opacity 0.5s ease;

  user-select: none;
  -webkit-user-select: none;
}

#MasterAnimLayer.Off {
  opacity: 0.00;
}

#liquid-overlay {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  z-index: 1000;
}

#liquid-shape {
  fill: rgba(15,15,15, 0.85);
  stroke: rgba(15, 15, 15, 0.9);
  stroke-width: 1;
  stroke-linejoin: round;
  stroke-linecap: round;
}

#drops-overlay {
  background: transparent;
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  z-index: 2975;
}

#stroke-overlay {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  z-index: 900;
}

#stroke-shape {
  fill: none; /*rgba(0, 0, 0, 0.8);*/
  stroke: rgba(0, 0, 0, 0.9);
  stroke-width: 8;
  stroke-linejoin: round;
  stroke-linecap: round;
}

#stroke-canvas {
  background: transparent;
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  z-index: 950;
}

/*
 * Red cursor-following triangle.
 */
#cursor-custom {
  position: fixed;
  width: 34px;
  height: 34px;
  left: 0;
  top: 0;
  pointer-events: none;
  visibility: visible;
  z-index: 90009;
  /*
             * Transform positioning is used instead of repeatedly
             * changing left and top.
             */
  will-change: transform, filter;
  transition: filter 15s ease;
}

.drop {
  position: fixed;
  width: 12px;
  height: 12px;
  left: 0;
  top: 0;
  pointer-events: none;
  visibility: hidden;
  z-index: 2000;
  /*
             * Transform positioning is used instead of repeatedly
             * changing left and top.
             */
  will-change: transform;
}

#test_pt_L {
  position: fixed;
  width: var(--test-point-size);
  height: var(--test-point-size);
  /*
   * These coordinates identify the circle's center,
       * not the SVG's upper-left corner.
       */
  left: 0;
  top: 0;
  /*
       * Move the SVG backward by half its own dimensions,
       * placing its center at left:0, top:50%.
       */
  transform: translate(-50%, -50%);
  pointer-events: none;
  visibility: hidden;
  z-index: 2200;
  will-change: transform;
}

#test_pt_M {
  position: fixed;
  width: var(--test-point-size);
  height: var(--test-point-size);
  /*
   * These coordinates identify the circle's center,
       * not the SVG's upper-left corner.
       */
  left: 0;
  top: 0;
  /*
       * Move the SVG backward by half its own dimensions,
       * placing its center at left:0, top:50%.
       */
  transform: translate(-50%, -50%);
  pointer-events: none;
  visibility: hidden;
  z-index: 2200;
  will-change: transform;
}


#test_pt_R {
  position: fixed;
  width: var(--test-point-size);
  height: var(--test-point-size);
  /*
   * These coordinates identify the circle's center,
       * not the SVG's upper-left corner.
       */
  left: 0;
  top: 0;
  /*
       * Move the SVG backward by half its own dimensions,
       * placing its center at left:0, top:50%.
       */
  transform: translate(-50%, -50%);
  pointer-events: none;
  visibility: hidden;
  z-index: 2200;
  will-change: transform;
}

/*** Settings PopUp Styles ***/
#cthe-settings-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 10000;
}

#cthe-settings-panel {
  position: fixed;
  top: 50%;
  left: 50%;
  width: min(420px, calc(100vw - 32px));
  transform: translate(-50%, -50%);
  background: #ffffff;
  color: #202020;
  border: 2px solid #202020;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
  z-index: 10001;
}

  #cthe-settings-panel[hidden],
  #cthe-settings-backdrop[hidden] {
    display: none;
  }

.cthe-settings-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: #2b2b2b;
  color: #ffffff;
}

  .cthe-settings-header h2 {
    margin: 0;
  }

#cthe-settings-close {
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.cthe-settings-body {
  padding: 20px;
}

.cthe-settings-option {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.cthe-settings-button {
  border: 0;
  background: transparent;
  color: #FFFFFF;
  font: inherit;
  cursor: pointer;
  text-decoration: underline;
}

/**************************/
/*** Cell Phone Styling ***/
/*@media (max-width: 768px) {
  #MasterNavBar {
    height: 8px;
    max-height: none;
    overflow: visible;
  }
}*/

.dbgMasterNavBar {
  height: auto;
  margin: 0;
  padding: 0;
  max-height: none;
  overflow: hidden;
}

/***************/
/*** Gallery ***/
#frame_svg {
  position:fixed;
}

.image_gallery {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5vw 2.5vw;
  background: rgba(0, 0, 0, 0.85);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, visibility 0s linear 0.25s, filter 15s ease;
  z-index: 20000;
  filter: sepia(0%) saturate(100%) hue-rotate(0deg) brightness(100%) contrast(100%);

/*  border:8px solid magenta;*/
}
/*.image_gallery {
  position: fixed;
  display: grid;
  place-items: center;
  padding: 5vw 2.5vw;
  background: rgba(0, 0, 0, 0.85);
}

.image_gallery > * {
  grid-area: 1 / 1;
}*/

  .image_gallery.open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity 0.25s ease, visibility 0s, filter 15s ease;
    cursor: zoom-out;
  }

.image_gallery_img {
  display: block;
  max-width: 95vw;
  max-height: 90vh;
  width: auto;
  height: auto;
  object-fit: contain;
  transform: scale(0.9);
  transition: transform 0.25s ease;
  /*border: 8px solid magenta;*/
  opacity: 1.0;
}
/*.image_gallery_img {
  margin: 0;
}*/

.image_gallery.open .image_gallery_img {
  transform: scale(1);
  cursor: zoom-out;
}

.image_gallery_frame {
  background-color: #7F7F7F;
  z-index: 1000;
}


.image_gallery_hover_clone {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: flex-start;
  justify-content: left;
  padding: 0;
  background: rgba(0, 0, 0, 0.0);
  opacity: 0.0;
  visibility: visible;
  pointer-events: none;
  transition: opacity 1.5s ease, visibility 0s linear 0.25s, filter 15s ease;
  z-index: 19999;
  /*filter: sepia(0%) saturate(100%) hue-rotate(0deg) brightness(100%) contrast(100%);*/
  /*  border:8px solid magenta;*/
}

.image_gallery_hover_clone.on_hover {
  opacity: 1.0;
}

.image_gallery_hover_clone_frame {
  position:absolute;
}

