/* Table of Contents w/ Page Overview Section */
:root {
  /* !!! OEM Color (match website CTAs) !!! */
  --hsd-tocwo-oem-color: #2a609d;
  /* sidebar variables, leave empty for default values */
  --hsd-tocwo-sidebar-background: #f0f0f0;
  --hsd-tocwo-sidebar-text: ;
  --hsd-tocwo-sidebar-links: #333;
  /* content section variables, leave empty for default values */
  --hsd-tocwo-content-background: var(--hsd-tocwo-oem-color);
  --hsd-tocwo-content-text: #fff;
  --hsd-tocwo-content-links: #fff;
}
  .hsd-table-of-contents-overview {
    display: flex;
    flex-wrap: wrap;
    margin: 20px 0;
  }
  .hsd-tocwo-sidebar {
    flex: 1;
    max-width: 33.33%;
    padding: 2rem;
    background-color: var(--hsd-tocwo-sidebar-background);
    color: var(--hsd-tocwo-sidebar-text) !important;
  }
  .hsd-tocwo-sidebar hr {
    margin-top: 0;
    border: 0;
    border-top: 3px solid var(--hsd-tocwo-oem-color);
  }
  .hsd-tocwo-sidebar a {
    display: block;
    margin-bottom: 10px;
    text-decoration: none;
    color: var(--hsd-tocwo-sidebar-links);
  }
  .hsd-tocwo-sidebar a:hover {
    color: var(--hsd-tocwo-oem-color);
  } 
  .hsd-tocwo-content {
    flex: 2;
    max-width: 66.66%;
    padding: 2rem;
    background-color: var(--hsd-tocwo-content-background);
    color: var(--hsd-tocwo-content-text) !important;
  }
  .hsd-tocwo-content h2 {
    color: currentColor !important;
  }
/* Mobile CSS */
  @media (max-width: 768px) {
    .hsd-tocwo-sidebar,
    .hsd-tocwo-content {
      max-width: 100%;
      flex: 100%;
    }
  }

  /* Content w/ Lifestyles customizable root variables */
:root {
  /* cwl = Content w/ Lifestyles */

  /* Accent Class */
  --hsd-mod-cwl-50-50-accent-background-color: #000;
  --hsd-mod-cwl-50-50-accent-text-color: #fff;
  --hsd-mod-cwl-50-50-accent-link-color: #fff;
}

/* Module Parent */
.hsd-mod-content-w-lifestyle-50-50 {
  display: grid;
  grid-template-columns: 50% 50%;
  align-items: center;
  justify-items: center;
  max-width: 1440px;
  width: 100%;
  margin: 1rem auto;
}

/* Image Cont */
.hsd-mod-cwl-50-50-img {
  width: 100%;
  height: 100%;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
}
.hsd-mod-cwl-50-50-img img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* Content Cont */
.hsd-mod-cwl-50-50-content {
  margin: 1rem;
  padding: 4rem;
  box-sizing: border-box;
}

/*  ** Optional Classes ** */

/* Reverse Class */
/* (swaps image and content position when added) */
.hsd-mod-cwl-50-50-reverse {
  grid-template-columns: 50% 50%;
}
.hsd-mod-cwl-50-50-reverse .hsd-mod-cwl-50-50-content {
  order: 1;
}

/* Accent styling */
.hsd-mod-cwl-50-50-accent {
  color: var(--hsd-mod-cwl-50-50-accent-text-color) !important;
  background-color: var(--hsd-mod-cwl-50-50-accent-background-color);
}
.hsd-mod-cwl-50-50-accent a {
  color: var(--hsd-mod-cwl-50-50-accent-link-color) !important;
}

/* Media Query for mobile */
@media screen and (max-width: 767px) {
  /* Module Parent */
  .hsd-mod-content-w-lifestyle-50-50 {
    grid-template-columns: 1fr;
  }

  /* Content Cont */
  .hsd-mod-cwl-50-50-content {
    margin: 1rem;
    padding: 1rem;
  }

  /* Have the content above the image */
  .hsd-mod-content-w-lifestyle-50-50 .hsd-mod-cwl-50-50-content {
    order: 2;
  }
}

  /* Responsive Table Module Styles */
  :root {
    --hsd-rt-scrollbar-color: #f2f2f2 transparent;
    --hsd-rt-webkit-scrollbar-thumb-color: #f2f2f2;
    --hsd-rt-webkit-scrollbar-track-color: transparent;
  }

  /* Table Scroll Label Module Styles */
  :root {
    /* ::before */
    --hsd-mod-tsl-before-background: transparent;
    --hsd-mod-tsl-before-color: #000;
    --hsd-mod-tsl-before-font-size: 14px;
  }

  /* If the table starts scrolling before 650px screensize, update
    the max-width to the screen size where scrolling starts */
  @media screen and (max-width: 716px) {
    .hsd-mod-table-scroll-label:before {
      content: "Scroll to see more \2192";
    }
  }
  @media screen and (max-width: 650px) {
    .hsd-mod-table-scroll-label:before {
      content: "Drag to see more \2192";
    }
  }

  /* Responsive Table Module Styles */
  .hsd-mod-responsive-table {
    max-width: 1440px;
    margin: 0 auto;
    padding: 1rem;
  }

  /* Scroll For Overflow */
  .hsd-mod-rt-scroll-cont {
    max-width: 100%;

    overflow-x: scroll;
    scrollbar-color: var(--hsd-rt-scrollbar-color);
  }
  .hsd-mod-rt-scroll-cont::-webkit-scrollbar-thumb {
    background: var(--hsd-rt-webkit-scrollbar-thumb-color);
  }
  .hsd-mod-rt-scroll-cont::-webkit-scrollbar-track {
    background: var(--hsd-rt-webkit-scrollbar-track-color);
  }

  /* Table */
  .hsd-mod-rt-table {
    max-width: 100% !important;
    width: 100% !important;
    margin: 1rem 0px;

    border-collapse: collapse;
  }

  .hsd-mod-rt-table th,
  .hsd-mod-rt-table td {
    min-width: 150px;
    padding: 8px;

    border: 1px solid #ddd;
    text-align: center;
  }

  .hsd-mod-rt-table thead th {
    background-color: #f2f2f2;
    color: #333;
  }

  .hsd-mod-rt-table tr:nth-child(even) {
    background-color: #f9f9f9;
  }

  .hsd-mod-rt-table tr:hover {
    background-color: #f1f1f1;
  }

  .hsd-mod-rt-table td {
    color: #555;
  }

  :is(.hsd-mod-rt-table td ul, .hsd-mod-rt-table td ol) {
    display: table;
    margin: 0 auto;
    list-style-position: inside;
    
    text-align: left;
  }

  .hsd-mod-rt-show-mobile {
    display: none;

    text-align: center;
  }

  @media screen and (min-width: 740px) {
    /* hide scrollbar but allow scrolling */
    .hsd-mod-rt-scroll-cont {
      /* -ms-overflow-style: none;  */
      /* for Internet Explorer, Edge */
      /* scrollbar-width: none;  */
      /* for Firefox */
      overflow-y: scroll;
    }

    .hsd-mod-rt-scroll-cont::-webkit-scrollbar {
      display: none; /* for Chrome, Safari, and Opera */
    }
  }

  @media screen and (max-width: 740px) {
    .hsd-mod-rt-show-mobile {
      display: block;
      text-align: center;
    }
  }

  /* Table Scroll Label Mod Styles */
  .hsd-mod-table-scroll-label {
    position: relative;
  }

  .hsd-mod-table-scroll-label:before {
    position: sticky;
    top: 0;
    left: 0;

    padding-left: 8px;

    background: var(--hsd-mod-tsl-before-background);
    color: var(--hsd-mod-tsl-before-color) !important;
    font-size: var(--hsd-mod-tsl-before-font-size) !important;
    font-style: italic;
  }
