/* overview section */
:root {
  --hsd-overview-background-color: #F6F6F6;
  --hsd-overview-text-color: ;
}

.hsd-at-a-glance {
  background: var(--hsd-overview-background-color);
  color: var(--hsd-overview-text-color);
  max-width:1050px;
  width:100%;
  margin:1rem auto;
  padding:2em;
  padding-bottom: 4rem;
  text-align: center;
}
.hsd-at-a-glance ul {
  text-align:left;
  max-width:850px;
  margin:0 auto;
}
/* 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;
  }
}
  /* Pros & Cons Comparison Module Style */
  :root {
    /* pcs = Pros & Cons Section */

    /* Pros & Cons Cont */
    --hsd-mod-pcs-cont-background: #f9f9f9;
    --hsd-mod-pcs-cont-border: 1px solid #ddd;
    --hsd-mod-pcs-cont-border-radius: 4px;

    /* Pros & Cons h3 */
    --hsd-mod-pcs-heading-font-color: currentColor;

    /* Pros */
    /* h3 */
    --hsd-mod-pcs-pros-heading-border: 2px solid #008000;
    /* ::before */
    --hsd-mod-pcs-pros-marker: "\2713";
    --hsd-mod-pcs-pros-font-size: 10px;
    --hsd-mod-pcs-pros-font-color: #008000;

    /* Cons */
    /* h3 */
    --hsd-mod-pcs-cons-heading-border: 2px solid #ff0000;
    /* ::before */
    --hsd-mod-pcs-cons-marker: "\274C";
    --hsd-mod-pcs-cons-font-size: 10px;
    --hsd-mod-pcs-cons-font-color: #ff0000;

    /* Pros & Cons li */
    --hsd-mod-pcs-li-font-color: ;
  }

  /* Pros & Cons Comparison Parent */
  .hsd-mod-pro-con-comparison-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;

    max-width: 1440px;
    padding: 1rem;
    margin: 0 auto;
  }

  /* Single Pros & Cons Parent */
  .hsd-mod-pro-con-section {
    display: grid;
    grid-template-rows: auto 1fr;
    align-self: self-start;
    gap: 8px;

    height: 100%;
    width: 100%;
    margin: 0 auto;
  }

  /* Single Pros & Cons Heading (larger) */
  .hsd-mod-pro-con-section > h2 {
    display: flex;
    flex-flow: column;
    justify-content: flex-end;
    align-items: center;
    gap: 2px;

    height: 72px !important;
    margin: 16px auto 8px !important;
    padding: 0 8px;

    text-align: center;
  }

  /* Single Pros & Cons Heading (smaller) */
  .hsd-mod-pro-con-section > h2 span {
    font-size: 14px !important;
    line-height: 100% !important;
  }

  /* Single Pors & Cons Section */
  .hsd-mod-pcs-pro-con-cont {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: flex-start;
    gap: 0;

    height: 100%;
    padding: 20px !important;
    box-sizing: border-box;

    background-color: var(--hsd-mod-pcs-cont-background);
    border: var(--hsd-mod-pcs-cont-border);
    border-radius: var(--hsd-mod-pcs-cont-border-radius);
  }

  /* Pros cont and Cons cont */
  :is(.hsd-mod-pcs-pros, .hsd-mod-pcs-cons) {
    max-width: 550px;
    width: 50%;
    box-sizing: border-box;
    height: 100%;
  }

  /* Pros heading */
  :is(.hsd-mod-pcs-pros h2, .hsd-mod-pcs-pros h3) {
    border-bottom: var(--hsd-mod-pcs-pros-heading-border);
    width: fit-content;
    margin: 0 auto !important;

    color: var(--hsd-mod-pcs-heading-font-color) !important;
    text-align: center;
  }

  /* Cons heading */
  :is(.hsd-mod-pcs-cons h2, .hsd-mod-pcs-cons h3) {
    border-bottom: var(--hsd-mod-pcs-cons-heading-border);
    width: fit-content;
    margin: 0 auto !important;

    color: var(--hsd-mod-pcs-heading-font-color) !important;
    text-align: center;
  }

  /* Pros List and Cons List */
  :is(.hsd-mod-pcs-pros ul, .hsd-mod-pcs-cons ul) {
    padding: 14px;
  }
  :is(.hsd-mod-pcs-pros ul li, .hsd-mod-pcs-cons ul li) {
    color: var(--hsd-mod-pcs-li-font-color) !important;
    list-style: none;
  }

  /* Check */
  .hsd-mod-pcs-pros ul li::before {
    content: var(--hsd-mod-pcs-pros-marker);

    font-size: 14px !important;
    margin-right: var(--hsd-mod-pcs-pros-font-size);
    color: var(--hsd-mod-pcs-pros-font-color);
  }

  /* X */
  .hsd-mod-pcs-cons ul li::before {
    content: var(--hsd-mod-pcs-cons-marker);

    font-size: 10px !important;
    margin-right: var(--hsd-mod-pcs-cons-font-size);
    color: var(--hsd-mod-pcs-cons-font-color);
  }

  @media screen and (max-width: 850px) {
    /* Pros & Cons Comparison Parent */
    .hsd-mod-pro-con-comparison-section {
      grid-template-columns: 1fr;
    }

    /* Single Pors & Cons Section */
    .hsd-mod-pcs-pro-con-cont {
      align-items: center;
      gap: 16px;
    }

    /* Pros cont and Cons cont */
    :is(.hsd-mod-pcs-pros, .hsd-mod-pcs-cons) {
      width: 100%;
      height: auto;
    }
  }

  @media screen and (max-width: 650px) {
    /* Pros heading */
    :is(.hsd-mod-pcs-pros h2, .hsd-mod-pcs-pros h3) {
      margin: 0 0 0 14px !important;
    }

    /* Cons heading */
    :is(.hsd-mod-pcs-cons h2, .hsd-mod-pcs-cons h3) {
      margin: 0 0 0 14px !important;
    }
  }
    /* 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;
  }