:root {
  --font-family-main: "Inter", sans-serif;
  --font-size-250: 2.5rem;
  --font-size-200: 2rem;
  --font-size-175: 1.75rem;
  --font-size-150: 1.5rem;
  --font-size-125: 1.25rem;
  --font-size-115: 1.15rem;
  --font-size-1: 1rem;
  --font-size-088: 0.88rem;
  --font-size-085: 0.85rem;
  --font-size-075: 0.75rem;
  --font-size-050: 0.5rem;

  --font-size-hero: 2.625rem;
  --font-size-solutions-hero: 3.8rem;
  --font-size-solutions-hero-subtitle: 1.5rem;
  --font-size-article: 1.125rem;
  --font-size-number-counter: 3.7rem;

  --margin-paragraph: 1.5em;
}
[data-bs-toggle="tooltip"] {
  cursor: pointer;
}
.tooltip {
  background-color: var(--color-n900);
  color: var(--color-n00);
  border-radius: 8px;
  padding: 0.5rem;
  /* tail dimension */
  --b: 1em; /* base */
  --h: 0.5em; /* height*/
  --p: 50%; /* position  */
  --r: 8px; /* the radius */
  --c: var(--color-n900);
  border-radius: var(--r);
  clip-path: polygon(0 100%, 0 0, 100% 0, 100% 100%,
  min(100%, var(--p) + var(--b) / 2) 100%,
  var(--p) calc(100% + var(--h)),
  max(0%, var(--p) - var(--b) / 2) 100%);
  background: var(--c);
  border-image: conic-gradient(var(--c) 0 0) fill 0/
  var(--r) calc(100% - var(--p) - var(--b) / 2) 0 calc(var(--p) - var(--b) / 2)/
  0 0 var(--h) 0;
}

a {
  text-decoration: none;
}

a.standard-link,
a.standard-link:visited {
  color: var(--color-sg800);
  &:hover {
    color: var(--color-agMain);
  }
}

a:hover,
a:hover::after,
.article-listing-item a:hover,
.hover-color {
  color: var(--color-sg800);
}

[class*="fa-"] {
  color: inherit;
}

.html-formatting {
  font-size: var(--font-size-article);
  line-height: 1.44em;
}

.font-size-xxxxl {
  font-size: var(--font-size-250);
}

.font-size-xxxl {
  font-size: var(--font-size-200);
}

.font-size-xxl {
  font-size: var(--font-size-175);
}

.font-size-xl {
  font-size: var(--font-size-150);
}

.font-size-lg {
  font-size: var(--font-size-125);
}

.font-size-md {
  font-size: var(--font-size-1);
}

.font-size-sm {
  font-size: var(--font-size-088);
  line-height: 1.4em;
}

.font-size-hero {
  font-size: var(--font-size-hero);
  font-weight: 700;
  line-height: 1.25;
}

.font-size-solutions-hero {
  font-size: var(--font-size-solutions-hero);
  font-weight: 700;
  line-height: 1.2em;
}

.font-size-solutions-hero-sub {
  font-size: var(--font-size-solutions-hero-subtitle);
  font-weight: 500;
  line-height: 1.2em;
}

.font-size-number-counter {
  font-size: var(--font-size-number-counter);
}

.font-size-action-icon-sm {
  font-size: var(--font-size-1);
}

body {
  font-family: var(--font-family-main);
  color: var(--color-gMain);
  font-size: var(--font-size-1);
}

.main-header {
  font-family: var(--font-family-main);
}

.basic-text {
  font-family: var(--font-family);
  font-size: var(--font-size-1);
  color: var(--color-gMain);
}

.section-header-sm {
  font-size: var(--font-size-150);
  font-weight: 600;
  line-height: 1.3em;
  margin-top: 20px;
  margin-bottom: 20px;
  padding-bottom: 20px;
}

.header-1 {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.25em;
  color: var(--color-g400);
  :not(:last-child) {
    margin-bottom: 0.25em;
  }
}

.header-2 {
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.25em;
  color: var(--color-g400);
}

.header-3 {
  font-size: 1.9rem;
  line-height: 1.25em;
  font-weight: 600;
  color: var(--color-g400);
}

.header-4 {
  font-size: 1.5rem;
  line-height: 1.4em;
  font-weight: 600;
  color: var(--color-g400);
}

.header-5 {
  font-size: 1.25rem;
  line-height: 1.25em;
  font-weight: 600;
  color: var(--color-g400);
}

.sub-text-1 {
  font-size: 1rem;
  line-height: 1.5em;
}

.sub-text-2 {
  font-size: 0.9rem;
  line-height: 1.5em;
}

.eyebrow-text {
  font-size: 1.3rem;
  line-height: 1.2em;
  font-weight: 700;
}

.eyebrow-text-2 {
  font-size: 0.88rem;
  line-height: 1.2em;
  font-weight: 700;
  letter-spacing: 0.3em;
}
 
.html-formatting {
  a:not([class]),
  a:visited:not([class]),
  a.arrow-link {
    color: var(--color-sg800);
    font-weight: 600;
    :hover {
      color: var(--color-agMain);
    }
  }
  a:not([class]):hover,
  a:visited:not([class]):hover {
    color: var(--color-agMain);
  } 

  a i {
    color: var(--color-gMain);
  }

  h1 > a:not([class]),
  h2 > a:not([class]),
  h3 > a:not([class]),
  h4 > a:not([class]),
  h5 > a:not([class]),
  h6 > a:not([class]),
  h1 a:not([class]):visited,
  h2 a:not([class]):visited,
  h3 a:not([class]):visited,
  h4 a:not([class]):visited,
  h5 a:not([class]):visited,
  h6 a:not([class]):visited {
    color: var(--color-gMain);
  }

  h1 > a:hover:not([class]),
  h2 > a:hover:not([class]),
  h3 > a:hover:not([class]),
  h4 > a:hover:not([class]),
  h5 > a:hover:not([class]),
  h6 > a:hover:not([class]),
  h1 > a:hover:not([class]):visited,
  h2 > a:hover:not([class]):visited,
  h3 > a:hover:not([class]):visited,
  h4 > a:hover:not([class]):visited,
  h5 > a:hover:not([class]):visited,
  h6 > a:hover:not([class]):visited {
    color: var(--color-sg800);
  }


  p {
    margin-bottom: var(--margin-paragraph);
    line-height: 1.44em;
  }

  p:last-child,
  p:has( + br) {
    margin-bottom: 0;
  }

  h1:not([class*="font-size"]):not([class*="header"]) {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.4em;
    :not(.first-child) {
      margin-top: 1.5em;
    }
  }

  h2:not([class*="font-size"]):not([class*="header"]) {
    font-size: 2.125rem;
    font-weight: 700;
    line-height: 1.235em;
    &:not(.first-child) {
      margin-top: 1.5em;
    }
  }

  h3:not([class*="font-size"]):not([class*="header"]) {
    font-size: 1.9rem;
    line-height: 1.2em;
    font-weight: 600;
  }

  h4:not([class*="font-size"]):not([class*="header"]) {
    font-size: 1.5rem;
    line-height: 1.4em;
    font-weight: 600;
  }

  h5:not([class*="font-size"]):not([class*="header"]) {
    font-size: 1.25rem;
    line-height: 1.35em;
    font-weight: 600;
  }

  q {
    font-size: 1.5rem;
    line-height: 1.4em;
    font-style: italic;
  }


  blockquote {
    font-size: 1.5rem;
    line-height: 1.335em;
    margin: var(--margin-paragraph) 0 var(--margin-paragraph) 0;
    font-style: italic;
    display: flex;
    flex-direction: row;
  }

  blockquote::before {
    content:'\f10d';
    display: block;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 6 Sharp";
    font-weight: 700;
    font-style: normal;
    font-size: 1.3em;
    margin-right: 0.8em;
    color: var(--color-ag200);
  }

  ul, ol {
    margin-bottom: var(--margin-paragraph);
  }
  ul:last-child, 
  ol:last-child {
    margin-bottom: 0;
  }

  ul ul,
  ul ol,
  ol ol,
  ol ul {
    margin-bottom: 0;
  }

  ol {
    list-style-type: numbered;
    list-style-position: inside;

    ol,
    ul {
      margin-left: 20px;
    }
  }

  ol li::before {
    content: "";
    margin-left: 0.5em;
  }

  ol li::marker {
    font-weight: 500;
    font-family: var(--font-family-main);
    font-size: var(--font-size-article);
  }

  ul {
    list-style-position: outside;
    list-style-type: '\f101';
    margin-left: 16px; /* reduced from 26px to align on blocks pages */
    ::marker {
      text-rendering: auto;
      -webkit-font-smoothing: antialiased;
      font-family: "Font Awesome 6 Pro";
      font-size: 0.8em;
    }
    li {
      padding-left: 14px;
    }
    ol,
    ul {
      margin-left: 1.6em;
    }
  }

  ol li,
  ul li {
    margin: 12px 0;
    font-family: var(--font-family-main);
    font-weight: 400;
  }

  .styled-header-01 {
    color: var(--color-agMain);
    font-size: var(--font-size-115);
    font-weight: 700;
    line-height: 1.3;
  }
  table {
    width: 100%;
    box-shadow: 0px 0px 12px 0px rgba(85, 90, 98, 0.08);
    margin:var(--margin-paragraph) 0;
    border-collapse: collapse;
    border-spacing:0;
    
    td {
      margin: 0;
      padding: 1.6rem 1rem;
      border: none;
      outline: none;
      border-spacing:0;
      * {
        font-size: 1em !important;
      }
    }
    thead {
      tr {
        background-color: var(--color-agMain);
        td {
          color: #fff;
          font-weight: 700;
          font-size: 1rem;
          background-color: var(--color-agMain);
        }
      }
    }
    tbody {
      tr {
        background-color: #FAFAFA;
        td:first-child{
          font-weight: 700;
        }
        &:nth-child(odd) {
          background-color: #FFF;
        }
        &:not(:last-child) {
          border-bottom: 2px solid var(--color-section-border);
        }
      }
    }
  }
}

.on-surface *:not(.undo-on-surface) {
  color: var(--color-n00);
  *:not(.undo-on-surface)
  a:not([class]):not(.undo-on-surface),
  a:visited:not([class]):not(.undo-on-surface) {
    color: var(--color-sgMain);
  }
  a:hover:not([class]):not(.undo-on-surface) {
    color: var(--color-sg500);
  }
  ul li:not(.undo-on-surface)::before {
    color:var(--color-sgMain);
  }
  h1:not([class], .undo-on-surface), 
  h2:not([class], .undo-on-surface),
  h3:not([class], .undo-on-surface),
  h4:not([class], .undo-on-surface), 
  h5:not([class], .undo-on-surface),
  h1 > a:not([class], .undo-on-surface),
  h2 > a:not([class], .undo-on-surface),
  h3 > a:not([class], .undo-on-surface),
  h4 > a:not([class], .undo-on-surface),
  h5 > a:not([class], .undo-on-surface),
  h1 > a:visited:not([class], .undo-on-surface),
  h2 > a:visited:not([class], .undo-on-surface),
  h3 > a:visited:not([class], .undo-on-surface),
  h4 > a:visited:not([class], .undo-on-surface),
  h5 > a:visited:not([class], .undo-on-surface),
  h1 > span:not([class], .undo-on-surface),
  h2 > span:not([class], .undo-on-surface),
  h3 > span:not([class], .undo-on-surface),
  h4 > span:not([class], .undo-on-surface),
  h5 > span:not([class], .undo-on-surface),
  .header-1:not(.undo-on-surface),
  .header-2:not(.undo-on-surface),
  .header-3:not(.undo-on-surface),
  .header-4:not(.undo-on-surface),
  .header-5:not(.undo-on-surface),
  p,
  q:not([class], .undo-on-surface),
  blockquote:not([class], .undo-on-surface),
  a:not([class], .undo-on-surface),
  a.arrow-link.on-surface,
  a.arrow-link.on-surface::after,
  .color-text-highlight-purple {
    color: var(--color-n00) !important;
  }
  
  .force-color-normal,
  .force-color-normal > * {
    color: var(--color-gMain) !important;
  }

  a:not([class], .undo-on-surface):hover {
    color: var(--color-sgMain) !important;
  }
}

.no-margin,
.no-margin-all {
  margin: 0;
}

.no-margin-top {
  margin-top: 0;;
}

.no-margin-bottom {
  margin-bottom: 0;
}

.no-padding,
.no-padding-all {
 padding:0; 
}

.no-padding-top {
  padding-top: 0;
}

.no-padding-bottom {
  padding-bottom: 0;
}

/* Page Specific Fonts */
body.home {
  h1.font-size-hero {
    font-size: 3.9rem;
  }
}

/* Phone & Tablet Breakpoint (Phone & Tablet:) */
@media (min-width: 0px) AND (max-width: 992px) {
  body, html {
    font-size: 14px;
  }

  .font-size-hero {
    font-size: 2.435rem;
  }
  .font-size-action-icon-sm {
    font-size: 1.1em;
  }

  body.home {
    h1.font-size-hero {
      font-size: 4rem;
    }
  }
}

/* Phone Breakpoint (phone ONLY) */
@media (min-width: 0px) AND (max-width: 767px) {
  body, html {
    font-size: 13px;
  }
  .font-size-hero {
    font-size: 2.435rem;
  }
  .header-1 {
    font-size: 1.85rem;
    line-height: 1.2em;
  }
  .header-2 {
    font-size: 1.85rem;
  }
  .header-3 {
    font-size: 1.5rem;
  }
  .header-4 {
    font-size: 1.3rem;
  }
  .header-5 {
    font-size: 1.25rem;
  }

  .html-formatting {
    h1:not([class*="font-size"]):not([class*="header"]) {
      font-size: 1.8rem;
      font-weight: 700;
      line-height: 1.4em;
      :not(.first-child) {
        margin-top: 1.5em;
      }
    }
  
    h2:not([class*="font-size"]):not([class*="header"]) {
      font-size: 1.7rem;
      font-weight: 600;
      line-height: 1.235em;
      &:not(.first-child) {
        margin-top: 1.5em;
      }
    }
  
    h3:not([class*="font-size"]):not([class*="header"]) {
      font-size: 1.6rem;
      line-height: 1.2em;
      font-weight: 600;
    }
  
    h4:not([class*="font-size"]):not([class*="header"]) {
      font-size: 1.4rem;
      line-height: 1.4em;
      font-weight: 600;
    }
  
    h5:not([class*="font-size"]):not([class*="header"]) {
      font-size: 1.25rem;
      line-height: 1.35em;
      font-weight: 600;
    }
  }

  .font-size-action-icon-sm {
    font-size: 1.2em;
  }

  /* for learn more module */
  .font-adjust-sm:is([class*="font-size-xl"]) {
    font-size: var(--font-size-1);
  }

  body.home {
    h1.font-size-hero {
      font-size: 3rem;
    }
  }
}
