/*! ========================
    | CMS CUSTOM CSS       |
    ======================== */
:root,
[data-bs-theme="light"] {
  --bs-primary: rgb(6, 25, 55);
  --bs-primary-rgb: 6, 25, 55;
  --bs-primary-dark: color-mix(in srgb, black 25%, var(--bs-primary));
  --bs-primary-light: color-mix(in srgb, white 25%, var(--bs-primary));
  --bs-primary-bg-subtle: color-mix(in srgb, white 85%, var(--bs-primary));
  --bs-secondary: #0063AD;
  --bs-secondary-rgb: 0, 99, 173;
  --bs-secondary-dark: color-mix(in srgb, black 25%, var(--bs-secondary));
  --bs-secondary-light: color-mix(in srgb, white 25%, var(--bs-secondary));
  --bs-secondary-bg-subtle: color-mix(in srgb, white 85%, var(--bs-secondary));
  --bs-tertiary: rgb(131, 223, 74);
  --bs-tertiary-rgb: 131, 223, 74;
  --bs-tertiary-dark: color-mix(in srgb, black 25%, var(--bs-tertiary));
  --bs-tertiary-light: color-mix(in srgb, white 25%, var(--bs-tertiary));
  --bs-tertiary-bg-subtle: color-mix(in srgb, white 85%, var(--bs-tertiary));
  --bs-light: #f1f2f3;
  --bs-light-rgb: 241, 242, 243;
  --bs-dark: #1a1a1a;
  --bs-dark-rgb: 21, 24, 27;
  --bs-text-black: #000;
  --bs-border-color: #ccc;
  --bs-gradient-primary: linear-gradient(
    180deg,
    var(--bs-primary-light) 0%,
    var(--bs-primary-dark) 100%
  );
  --bs-gradient-secondary: linear-gradient(
    180deg,
    var(--bs-secondary-light) 0%,
    var(--bs-secondary-dark) 100%
  );
  --bs-body-color: #333;
  --bs-heading-color: var(--bs-dark);
  --bs-yellow: #ffdd00;
  --bs-purple: #614b79;
  --bs-aqua: #00CFEC;
  --bs-magenta: #FA3D8D;
  --bs-gold: #FFC42D;
  --bs-lightblue: #0086EB;
  --bs-brightblue: #00CFEC;
  --bs-blue: #0C2A4D;
  --bs-gray: #F2F4F5;
  --bs-cta: rgba(255, 196, 45, 1);
  /* Body, nav, UI: Roboto Flex (Figma text/base, Heading/Nav) */
  --bs-font-sans-serif:
    "Roboto Flex", system-ui, -apple-system, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, "Noto Sans", sans-serif,
    "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  /* Display, H1, H2, H4: Rocky Bold (Figma Heading/Display, H1, H2, H4) */
  --bs-heading-font:
    "Rocky", "Roboto Flex", system-ui, -apple-system, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, sans-serif;
  /* Figma type scale (reference) */
  --bs-font-display-size: 2.625rem;   /* 56px Display */
  --bs-font-h1-size: 2.625rem;      /* 42px H1 */
  --bs-font-h2-size: 2.125rem;      /* 34px H2 */
  --bs-font-h4-size: 1.25rem;       /* 20px H4 */
  --bs-heading-letter-spacing: 0;
  --bs-eyebrow-letter-spacing: 0;
  --bs-link-color: var(--bs-secondary);
  --bs-link-hover-color: rgb(var(--bs-secondary-rgb));
  --bs-link-decoration: underline;
  --bs-nav-inverse-link-color: #fff;
  --bs-nav-inverse-link-hover-color: rgba(255, 255, 255, 0.85);
  --bs-focus-ring-color: var(--bs-secondary);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
  --ease-sharp: cubic-bezier(0.4, 0, 0.6, 1);
  --bs-box-shadow-xs:
    0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14),
    0px 1px 3px 0px rgba(0, 0, 0, 0.12);
  --bs-box-shadow-sm:
    0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14),
    0px 1px 5px 0px rgba(0, 0, 0, 0.12);
  --bs-box-shadow:
    0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14),
    0px 1px 8px 0px rgba(0, 0, 0, 0.12);
  --bs-box-shadow-lg:
    0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14),
    0px 1px 10px 0px rgba(0, 0, 0, 0.12);
  --bs-box-shadow-xl:
    0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14),
    0px 3px 14px 2px rgba(0, 0, 0, 0.12);
}
[data-bs-theme="dark"] {
  --bs-heading-color: #fff;
}
.shadow-xs {
  box-shadow: var(--bs-box-shadow-xs) !important;
}
.shadow-xl {
  box-shadow: var(--bs-box-shadow-xl) !important;
}
.bg-primary {
  background-color: var(--bs-primary) !important;
}
.bg-primary-dark {
  background-color: var(--bs-primary-dark) !important;
}
.bg-primary-light {
  background-color: var(--bs-primary-light) !important;
}
.bg-primary-subtle {
  background-color: var(--bs-primary-bg-subtle) !important;
}
.bg-secondary {
  background-color: var(--bs-secondary) !important;
}
.bg-secondary-dark {
  background-color: var(--bs-secondary-dark) !important;
}
.bg-secondary-light {
  background-color: var(--bs-secondary-light) !important;
}
.bg-secondary-subtle {
  background-color: var(--bs-secondary-bg-subtle) !important;
}
.bg-tertiary {
  background-color: var(--bs-tertiary) !important;
}
.bg-tertiary-dark {
  background-color: var(--bs-tertiary-dark) !important;
}
.bg-tertiary-light {
  background-color: var(--bs-tertiary-light) !important;
}
.bg-tertiary-subtle {
  background-color: var(--bs-tertiary-bg-subtle) !important;
}
.text-tertiary {
  color: var(--bs-tertiary) !important;
}
.text-cta {
  color: var(--bs-cta) !important;
}
.bg-light-grey {background-color: var(--bs-gray) !important;}
.bg-gradient,
.bg-gradient-primary {
  background: var(--bs-gradient-primary) !important;
}
.bg-gradient-secondary {
  background: var(--bs-gradient-secondary) !important;
}
.bg-purple {
  background-color: var(--bs-purple) !important;
}

*:focus-visible {
  outline: 0.15rem #fff solid !important;
  outline-offset: 0 !important;
  box-shadow: 0 0 0 0.4rem var(--bs-focus-ring-color) !important;
  transition: all 0.2s var(--ease-out);
}
body {
  font-family: var(--bs-font-sans-serif);
  background: var(--bs-body-bg);
}
::-moz-selection {
  background: var(--bs-primary);
  color: var(--bs-light);
  text-shadow: none;
}
::selection {
  background: var(--bs-primary);
  color: var(--bs-light);
  text-shadow: none;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--bs-heading-font);
}
p {
  margin-bottom: 1.5rem;
}
a {
  color: var(--bs-link-color);
  transition: all 0.2s var(--ease-out);
}
a:hover {
  color: var(--bs-link-hover-color);
}
a:focus-visible {
  color: var(--bs-link-hover-color);
}
hr {
  border-top: 4px solid var(--bs-secondary);
  border-radius: var(--bs-border-radius);
  opacity: 1;
  margin: 1.5rem auto;
  width: 100%;
  position: relative;
}
@media (min-width: 768px) {
  hr.hr-extend-right {
    z-index: -1;
    width: 180%;
    left: -80%;
  }
}
@media (min-width: 768px) {
  hr.hr-extend-left {
    z-index: -1;
    width: 180%;
  }
}
.link-action {
  text-decoration: none;
  padding: 0.5rem 0.75rem;
  margin: -0.5rem -0.75rem;
  border-radius: var(--bs-border-radius);
  position: relative;
  z-index: 1;
}
.link-action:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: var(--bs-light);
  border-radius: var(--bs-border-radius);
  box-shadow: 0 0 0 transparent;
  opacity: 0;
  transform: scale(0.85);
  transition: all 0.2s var(--ease-out);
}
.link-action:hover:after,
.link-action.active:after {
  opacity: 1;
  transform: scale(1);
}
.link-action.link-action-primary:after {
  background-color: var(--bs-primary);
}
.link-action.link-action-secondary:after {
  background-color: var(--bs-secondary);
}
.link-action.link-action-dark:after {
  background-color: #00000026;
}
.link-action.link-action-light:after {
  background-color: #fff3;
}
.bi {
  width: 1em;
  height: 1em;
}
.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 1200px) {
  .container,
  .container-fluid,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  .container-xxl {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}
.form-control,
.form-select {
  border-radius: var(--bs-border-radius-sm);
  border: 1px solid var(--bs-border-color);
  padding: 0.5rem 1rem;
}
.form-card {
  border-radius: var(--bs-border-radius);
  background: linear-gradient(
    180deg,
    #fff 1.97%,
    rgba(255, 255, 255, 0.25) 159.06%
  );
  padding: 2rem 2.5rem 4rem;
}
.btn {
  --bs-btn-font-weight: 700;
  --bs-btn-border-radius: var(--bs-border-radius);
  white-space: nowrap;
}
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-primary-dark);
  --bs-btn-hover-border-color: var(--bs-primary-dark);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-primary-dark);
  --bs-btn-active-border-color: var(--bs-primary-dark);
  --bs-btn-active-shadow: none;
}
.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-secondary);
  --bs-btn-border-color: var(--bs-secondary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-secondary-dark);
  --bs-btn-hover-border-color: var(--bs-secondary-dark);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-secondary-dark);
  --bs-btn-active-border-color: var(--bs-secondary-dark);
  --bs-btn-active-shadow: none;
}
.btn-tertiary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-tertiary);
  --bs-btn-border-color: var(--bs-tertiary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-tertiary-dark);
  --bs-btn-hover-border-color: var(--bs-tertiary-dark);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-tertiary-dark);
  --bs-btn-active-border-color: var(--bs-tertiary-dark);
  --bs-btn-active-shadow: none;
}
.btn-outline-primary {
  --bs-btn-bg: #fff;
  --bs-btn-color: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: var(--bs-primary-dark);
  --bs-btn-hover-bg: var(--bs-light);
  --bs-btn-hover-border-color: var(--bs-primary-dark);
  --bs-btn-active-color: var(--bs-primary-dark);
  --bs-btn-active-bg: var(--bs-light);
  --bs-btn-active-border-color: var(--bs-primary-dark);
  --bs-btn-active-shadow: none;
  --bs-gradient: none;
}
.btn-outline-primary.dropdown-toggle {
  background-color: #fff !important;
  color: var(--bs-dark) !important;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  border-color: var(--bs-border-color);
}
.btn-outline-primary.dropdown-toggle:hover {
  background-color: var(--bs-light);
  border-color: var(--bs-primary);
}
.btn.disabled,
.btn:disabled,
fieldset:disabled .btn {
  color: #fff;
  pointer-events: none;
  background-color: #707070;
  border-color: #707070;
  opacity: 1;
}
.btn-light {
  color: var(--bs-primary);
}
.background-gray {
  background-color: var(--bs-light);
}
.section-50 {
  background: var(--bs-primary);
}
@media (min-width: 992px) {
  .section-50 {
    background: linear-gradient(
      90deg,
      var(--bs-primary) 50%,
      var(--bs-brightblue) 50%
    );
  }
}
.section-img-50 {
  background-position: bottom;
  background-size: contain;
  background-repeat: no-repeat;
  padding-bottom: 100vw;
}
@media (min-width: 768px) {
  .section-img-50 {
    background-size: 50% !important;
    background-position: left center;
    padding-bottom: 0;
    max-width: 2000px;
    margin: auto;
  }
}
.section-n-left {
  position: relative;
  border-radius: 0 var(--bs-border-radius) var(--bs-border-radius) 0;
}
@media (min-width: 2000px) {
  .section-n-left {
    border-radius: var(--bs-border-radius);
  }
}
.section-n-left:before {
  content: "";
  position: absolute;
  left: -100%;
  top: 0;
  background: var(--bs-light);
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  z-index: 0;
  transition: all 0.2s var(--ease-out);
}
@media (min-width: 2000px) {
  .section-n-left:before {
    left: -3rem;
    border-radius: var(--bs-border-radius);
  }
}
.section-n-left.bg-purple:before {
  background: var(--bs-purple);
}
.section-n-left > * {
  position: relative;
}
.fullwidth-bg {
  background-position: top;
  background-size: contain;
  background-repeat: no-repeat;
  background-color: var(--bs-tertiary);
  margin: auto;
  padding-bottom: 39vw;
}
@media (min-width: 992px) {
  .fullwidth-bg {
    background-position: top;
    background-size: cover;
    padding-bottom: 0;
  }
}
@media (min-width: 992px) {
  main > .fullwidth-bg:first-child {
    min-height: 550px;
    display: flex;
    align-items: flex-end;
  }
}
@media (min-width: 992px) {
  .bg-position-left {
    background-position: left !important;
  }
}
.navbar {
  border-bottom: 3px solid var(--bs-primary);
}
.navbar ul.navbar-nav {
  border-bottom: 1px solid var(--bs-border-color);
  padding-bottom: 1.5rem;
  margin-bottom: 1rem;
}
@media (min-width: 1200px) {
  .navbar ul.navbar-nav {
    border: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }
}
.navbar .navbar-brand img {
  max-width: 200px;
}
@media (min-width: 1200px) {
  .navbar .nav-item {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0.5rem;
  }
}
.navbar .nav-link {
  --bs-navbar-nav-link-padding-x: 0.7rem;
  padding: 0.5rem var(--bs-navbar-nav-link-padding-x);
  color: var(--bs-nav-inverse-link-color);
  font-size: 1rem;
  font-weight: 400;
  border-radius: var(--bs-border-radius);
  position: relative;
  width: 100%;
  text-align: left;
  transition: all 0.2s var(--ease-out);
}
.navbar .nav-link:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.15);
  border-radius: var(--bs-border-radius);
  opacity: 0;
  transform: scale(0.85);
  transition: all 0.2s var(--ease-out);
}
.navbar .nav-link:hover,
.navbar .nav-link:focus,
.navbar .nav-link:focus-visible,
.navbar .nav-link.active {
  color: var(--bs-nav-inverse-link-hover-color);
}
.navbar .nav-link:hover:before,
.navbar .nav-link:focus:before,
.navbar .nav-link:focus-visible:before,
.navbar .nav-link.active:before {
  opacity: 1;
  transform: scale(1);
}
.navbar .nav-link.active {
  color: var(--bs-nav-inverse-link-color);
}
.navbar .navbar-buttons {
  display: flex;
  gap: 0.5rem;
  padding: 0 0.5rem;
}
@media (min-width: 1200px) {
  .navbar .navbar-buttons {
    align-items: center;
    margin-left: 1rem;
    border-left: 1px solid var(--bs-border-color);
  }
}
@media (min-width: 1200px) and (max-width: 1399.99px) {
  .navbar .container-xl {
    max-width: 100%;
    padding: 0 1rem;
  }
}
.navbar-toggler {
  border: none;
}
.navbar-toggler:focus {
  box-shadow: none;
}
.navbar-toggler path {
  opacity: 0;
  fill: none;
  stroke: var(--bs-primary);
  stroke-width: 3;
  stroke-linecap: round;
  transform: scale(1);
  transform-origin: center center;
  transition: all 0.18s var(--ease-out);
}
.navbar.bg-primary .navbar-toggler path {
  stroke: var(--bs-nav-inverse-link-color);
}
.navbar-toggler .open-paths path {
  opacity: 1;
  transform: scale(1);
  stroke-width: 3;
}
.navbar-toggler .close-paths path {
  opacity: 0;
  transform: scale(0.25);
  stroke-width: 0;
}
:is(
    .offcanvas.show:not(.hiding) + .navbar-toggler,
    .offcanvas.showing + .navbar-toggler,
    .offcanvas.show:not(.hiding) .navbar-toggler,
    .offcanvas.showing .navbar-toggler
  )
  .open-paths
  path {
  opacity: 0;
  transform: scale(0.25);
  stroke-width: 0;
}
:is(
    .offcanvas.show:not(.hiding) + .navbar-toggler,
    .offcanvas.showing + .navbar-toggler,
    .offcanvas.show:not(.hiding) .navbar-toggler,
    .offcanvas.showing .navbar-toggler
  )
  .close-paths
  path {
  opacity: 1;
  transform: scale(1);
  stroke-width: 3;
}
.offcanvas {
  transition: all 0.25s var(--ease-out);
}
.offcanvas.start {
  transition: all 0.25s var(--ease-in);
}
@media (max-width: 1199.98px) {
  .offcanvas {
    padding: 1rem;
  }
  .navbar.bg-primary .offcanvas {
    background-color: var(--bs-primary);
  }
  .offcanvas .navbar-toggler {
    padding: 0;
  }
  .offcanvas.offcanvas-start {
    max-width: 600px;
    width: 100%;
    border: none;
  }
  .offcanvas .offcanvas-header {
    padding: 0;
    margin-bottom: 3rem;
  }
  .offcanvas .offcanvas-body {
    padding: 0;
  }
  .offcanvas .nav-item {
    margin-bottom: 0.5rem;
  }
  .offcanvas .nav-link {
    padding: 0.75rem;
  }
  .offcanvas .nav-link.active {
    background: rgba(255, 255, 255, 0.15);
    color: var(--bs-nav-inverse-link-color);
  }
  .navbar.bg-primary .offcanvas .dropdown.open {
    background-color: rgba(255, 255, 255, 0.1);
  }
  .offcanvas .dropdown.open {
    background-color: var(--bs-light);
    border-radius: var(--bs-border-radius-xl);
    padding-bottom: 0.5rem;
  }
  .offcanvas .dropdown-menu {
    background-color: var(--bs-light);
    border-radius: var(--bs-border-radius);
    box-shadow: none;
    margin: 0;
    padding: 0;
  }
  .offcanvas .dropdown-menu.show {
    margin: 0.5rem 0;
    padding: 0.5rem;
  }
  .offcanvas .dropdown-item {
    border: none;
    border-radius: var(--bs-border-radius);
    margin-bottom: 0.5rem;
    transition: all 0.2s var(--ease-out);
  }
  .offcanvas .dropdown-item:hover,
  .offcanvas .dropdown-item:focus,
  .offcanvas .dropdown-item:focus-visible,
  .offcanvas .dropdown-item:active {
    background-color: var(--bs-gold);
  }
}
.dropdown-menu {
  border: none;
  border-radius: var(--bs-border-radius);
  box-shadow: var(--bs-box-shadow-lg);
  min-width: 100%;
  padding: 0;
  overflow: hidden;
  display: block;
  top: 95%;
  left: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  max-height: 0;
  transform: scale(0.9) translateY(-0.5rem);
  transform-origin: top center;
  transition: all 0.18s var(--ease-out);
  will-change: transform, opacity;
}
.dropdown-menu.show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  max-height: 50vh;
  transform: scale(1) translateY(0);
}
.dropdown-menu li:last-of-type .dropdown-item {
  border-bottom: none;
}
.nav-item.dropdown {
  position: relative;
  perspective: 1440px;
  z-index: 1;
}
.dropdown-item {
  font-size: 0.875rem;
  padding: 0.75rem 1rem;
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--bs-border-color);
  transition: all 0.2s ease;
}
.dropdown-item.active {
  box-shadow: inset 5px 0 0 var(--bs-gold);
  background-color: var(--bs-gold);
  color: var(--bs-dark);
}
.dropdown-item:hover {
  background-color: var(--bs-gold);
  color: var(--bs-dark);
}
.dropdown-item:focus-visible {
  box-shadow: inset 0 0 0 0.25rem var(--bs-focus-ring-color) !important;
}
.dropdown-item.active:focus-visible {
  box-shadow:
    inset 5px 0 0 var(--bs-primary),
    inset 0 0 0 0.25rem var(--bs-focus-ring-color) !important;
}
.nav-tabs-1 .nav-tabs {
  border-bottom: none;
  background-color: transparent;
  flex-wrap: nowrap;
}
@media (min-width: 992px) {
  .nav-tabs-1 .nav-tabs {
    flex-wrap: wrap;
  }
}
.nav-tabs-1 .nav-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 1px solid var(--bs-border-color);
  border-bottom-color: transparent;
  padding: 1rem;
  width: 100%;
}
@media (min-width: 992px) {
  .nav-tabs-1 .nav-link {
    padding: 1rem 1.5rem;
    flex-direction: row;
    align-items: flex-start;
    width: auto;
  }
}
.nav-tabs-1 .nav-link:hover {
  border: 1px solid var(--bs-border-color);
  border-bottom: 1px solid var(--bs-border-color);
  background-color: var(--bs-light);
}
.nav-tabs-1 .nav-link.active {
  border: 1px solid var(--bs-border-color);
  border-bottom-color: transparent;
  background-color: #fff;
}
.nav-tabs-1 .nav-tabs-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
@media (min-width: 992px) {
  .nav-tabs-1 .nav-tabs-text {
    align-items: flex-start;
  }
}
.nav-tabs-1 .nav-tabs-title {
  color: var(--bs-dark);
  font-size: 1.2rem;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  margin-bottom: 0.25rem;
}
@media (min-width: 768px) {
  .nav-tabs-1 .nav-tabs-title {
    font-size: 1.25rem;
  }
}
.nav-tabs-1 .tab-content {
  background-color: #fff;
  padding: 2.5rem 1.5rem;
  border: 1px solid var(--bs-border-color);
  border-radius: 0 0 var(--bs-border-radius) var(--bs-border-radius);
}
@media (min-width: 992px) {
  .nav-tabs-1 .tab-content {
    padding: 2.5rem;
    border-radius: 0 var(--bs-border-radius) var(--bs-border-radius)
      var(--bs-border-radius);
  }
}
@media (min-width: 992px) {
  .nav-tabs-2 nav {
    height: 100%;
    box-shadow:
      20px 0 10px -20px #0000001f,
      30px 0 30px -30px #00000024,
      38px 0 8px -40px #00000024;
  }
}
.nav-tabs-2 .nav-tabs {
  border: none;
  border-radius: 0;
  gap: 1rem;
}
.nav-tabs-2 .nav-link {
  display: flex;
  align-items: center;
  color: var(--bs-dark);
  border: none;
  border-radius: 0;
  text-decoration: none;
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  padding: 1rem;
  text-align: left;
  width: 100%;
  transition: all 0.2s var(--ease-out);
  position: relative;
}
.nav-tabs-2 .nav-link:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: var(--bs-primary);
  border-radius: var(--bs-border-radius) 0 0 var(--bs-border-radius);
  box-shadow: inset -5px 0 0 var(--bs-secondary);
  opacity: 0;
  transform: scale(1);
  transform-origin: center;
  transition: all 0.2s var(--ease-out);
}
.nav-tabs-2 .nav-link:hover {
  color: #fff;
}
.nav-tabs-2 .nav-link:hover:after {
  opacity: 1;
  transform: scale(1);
}
.nav-tabs-2 .nav-link.active {
  color: #fff;
  background-color: transparent;
}
.nav-tabs-2 .nav-link.active:after {
  opacity: 1;
  transform: scale(1);
  background-color: var(--bs-primary);
}
.modal.fade .modal-dialog {
  transform: scale(0.95) translateY(-0.25rem);
  transform-origin: top center;
  transition: all 0.2s var(--ease-out);
  will-change: transform, opacity;
}
.modal.show .modal-dialog {
  transform: none;
}
.modal-dialog {
  transform: none;
  border-radius: var(--bs-border-radius);
  box-shadow: var(--bs-box-shadow-xl);
  max-width: 600px;
}
.modal-content {
  border-radius: var(--bs-border-radius);
}
.pagination {
  --bs-border-color: transparent;
  --bs-pagination-border-color: transparent;
  --bs-pagination-active-border-color: transparent;
  --bs-pagination-active-bg: var(--bs-primary);
  gap: 0.5rem;
}
.page-link {
  border-radius: var(--bs-border-radius);
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
}
li:not(.active) .page-link:hover,
li:not(.active) .page-link:active {
  background-color: var(--bs-secondary);
  color: #fff;
}
.page-link:focus {
  box-shadow: none;
  color: var(--bs-primary);
}
/* Hero: Rocky Bold (Figma Display 56px / H1 42px) */
.hero-header {
  font-family: var(--bs-heading-font);
  color: var(--bs-primary);
  font-size: calc(1.5rem + 1.85vw);
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  letter-spacing: var(--bs-heading-letter-spacing);
}
@media (min-width: 992px) {
  .hero-header {
    font-size: var(--bs-font-display-size);
  }
}
.hero-text {
  font-family: var(--bs-font-sans-serif);
  color: var(--bs-primary);
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .hero-text {
    font-size: 1.125rem;
  }
}
/* Section: Rocky Bold H2 34px */
.section-header {
  font-family: var(--bs-heading-font);
  color: var(--bs-heading-color);
  font-size: calc(1.1rem + 1.25vw);
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  letter-spacing: var(--bs-heading-letter-spacing);
}
@media (min-width: 992px) {
  .section-header {
    font-size: var(--bs-font-h2-size);
  }
}
.section-subheader {
  font-family: var(--bs-font-sans-serif);
  color: var(--bs-heading-color);
  font-size: calc(1rem + 1.15vw);
  font-style: normal;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.03375rem;
}
@media (min-width: 992px) {
  .section-subheader {
    font-size: 1.6875rem;
  }
}
.section-text {
  font-family: var(--bs-font-sans-serif);
  color: var(--bs-body-color);
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 1.5rem;
}
/* Eyebrow: Roboto Flex Bold 19px, letter-spacing 8px (Figma Eyebrow/LL1) */
.eyebrow {
  font-family: var(--bs-font-sans-serif);
  color: var(--bs-primary);
  font-size: 1.1875rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  letter-spacing: var(--bs-eyebrow-letter-spacing);
  text-transform: uppercase;
}
.card-body {
  padding: 1rem;
}
@media (min-width: 768px) {
  .card-body {
    padding: 1.5rem;
  }
}
.card-title {
  color: var(--bs-dark);
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.02375rem;
}
.card-action {
  color: inherit;
  text-decoration: none;
  box-shadow: 0 0 0 transparent;
  transform: scale(1) translateY(0);
  transition: all 0.2s var(--ease-out);
}
.card-action:hover,
.card-action:focus-within {
  color: inherit;
  box-shadow: var(--bs-box-shadow-xl) !important;
  transform: scale(1.01) translateY(-0.15rem);
}
.card-action:focus-visible {
  box-shadow:
    var(--bs-box-shadow-xl),
    0 0 0 0.4rem var(--bs-focus-ring-color) !important;
}
.card-action:active {
  box-shadow: var(--bs-box-shadow) !important;
}
.card-link {
  position: relative;
}
.card-link a {
  text-decoration: none;
  color: var(--bs-dark);
}
.card-link a:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.alert {
  border-radius: 0;
  padding: 1rem;
  margin-bottom: 1rem;
  font-size: 1rem;
}
.alert.alert-primary {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
  color: var(--bs-light);
}
.alert.alert-primary a {
  color: var(--bs-light);
  font-weight: 700;
}
.alert.alert-primary .btn-close {
  color: var(--bs-light);
  --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
}
.alert.alert-secondary {
  background-color: var(--bs-secondary);
  border-color: var(--bs-secondary);
  color: var(--bs-text-black);
}
.alert.alert-secondary a:not(.btn) {
  color: var(--bs-text-black);
  font-weight: 700;
}
.alert.alert-secondary .btn-close {
  color: var(--bs-text-black);
  --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
}
.callout {
  background-color: var(--bs-primary);
  color: #fff;
}
.callout p:last-of-type {
  margin-bottom: 0;
}
.callout a {
  color: #fff;
  white-space: nowrap;
  border-radius: var(--bs-border-radius);
  transition: all 0.2s var(--ease-out);
}
.callout-2 {
  display: flex;
  padding: 1.25rem;
  align-items: center;
  flex: 1 0 0;
  gap: 1rem;
  border-top: 1px solid var(--bs-border-color);
  border-right: 1px solid var(--bs-border-color);
  border-bottom: 1px solid var(--bs-border-color);
  box-shadow: -5px 0 0 var(--bs-primary);
  background: #fff;
  font-weight: 400;
  line-height: 1.4375rem;
}
.callout-2 p:last-of-type {
  margin-bottom: 0;
}
.hero-banner {
  max-width: 1800px;
}
@media (min-width: 1800px) {
  .hero-banner {
    max-width: 1320px;
    padding: 0 calc(var(--bs-gutter-x) * 0.5);
  }
}
@media (min-width: 1200px) {
  .hero-banner .row > div:last-child {
    padding-inline-start: 5vw !important;
  }
}
@media (min-width: 1400px) {
  .hero-banner .row > div:last-child {
    padding-inline-start: 0vw !important;
  }
}
@media (min-width: 1500px) {
  .hero-banner .row > div:last-child {
    padding-inline-start: 5vw !important;
  }
}
@media (min-width: 1600px) {
  .hero-banner .row > div:last-child {
    padding-inline-start: 5vw !important;
  }
}
@media (min-width: 1700px) {
  .hero-banner .row > div:last-child {
    padding-inline-start: 5vw !important;
  }
}
@media (min-width: 1800px) {
  .hero-banner .row > div:last-child {
    padding-inline-start: 2vw !important;
  }
}
.hero-banner img {
  width: 100%;
  height: auto;
}
.hero-banner img.object-position-left {
  -o-object-position: left;
  object-position: left;
}
.hero-banner img.object-position-right {
  -o-object-position: right;
  object-position: right;
}
.hero-banner img.object-position-center {
  -o-object-position: center;
  object-position: center;
} /* Info bar: buttons styled as links */
#info-bar .btn,
#info-bar a.btn {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  font-weight: inherit !important;
  text-decoration: var(--bs-link-decoration) !important;
  color: var(--bs-link-color) !important;
  box-shadow: none !important;
}
#info-bar .btn:hover,
#info-bar a.btn:hover {
  color: var(--bs-link-hover-color) !important;
  background: none !important;
  border: none !important;
  text-decoration: var(--bs-link-decoration) !important;
}
.accordion-item {
  border: none;
  border-radius: var(--bs-border-radius);
  margin-bottom: 1rem;
  background: transparent;
}
.accordion-item:last-child {
  margin-bottom: 0;
}
.accordion-button {
  border: 1px solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  background: #fff;
  font-size: 1rem;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  padding: 1.25rem;
}
.accordion-button:hover,
.accordion-button:focus,
.accordion-button:active {
  border: 1px solid var(--bs-primary);
}
.accordion-button:focus {
  box-shadow: none;
}
.accordion-button:not(.collapsed) {
  background: #fff;
  border: 1px solid var(--bs-primary);
  box-shadow: none;
}
.accordion-button:after {
  padding-left: 1.5rem;
}
.accordion-body {
  padding: 1.25rem 1.25rem 0.5rem;
}
.accordion-toggle-btns {
  gap: 0.25rem;
}
.accordion-toggle-btns > .btn {
  font-weight: 400;
  color: var(--bs-body-color);
  border-style: none;
  border-radius: var(--bs-border-radius-sm) !important;
  background: transparent !important;
  position: relative;
  transition: all 0.2s var(--ease-in);
}
.accordion-toggle-btns > .btn:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: #0000000d;
  border-radius: var(--bs-border-radius);
  box-shadow: 0 0 0 transparent;
  opacity: 0;
  transform: scale(0.75);
  transition: all 0.2s var(--ease-out);
}
.accordion-toggle-btns > .btn:after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 0;
  height: 4px;
  border-radius: var(--bs-border-radius);
  background-color: transparent;
  left: 50%;
  transform: translate(-50%);
  transition: all 0.12s var(--ease-out);
}
.accordion-toggle-btns > .btn.active:after {
  width: 98%;
  background-color: var(--bs-secondary);
}
.accordion-toggle-btns > .btn:hover:not(.active):before {
  opacity: 1;
  transform: scale(1);
}
.accordion-toggle-btns > .btn:focus-visible {
  border-radius: var(--bs-border-radius) !important;
}
.accordion-portfolio .accordion-item {
  border-radius: 0;
  margin: 0;
}
.accordion-portfolio .accordion-button {
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  border: none;
  border-bottom: 1px solid var(--bs-border-color);
  border-radius: 0;
  padding: 0.75rem 0.25rem;
}
.accordion-portfolio .accordion-button:hover {
  background-color: var(--bs-light);
}
@media (min-width: 768px) {
  .accordion-portfolio .accordion-button {
    padding: 1.25rem;
  }
}
@media (min-width: 992px) {
  .accordion-portfolio .accordion-button {
    font-size: 1.6875rem;
    font-style: normal;
    font-weight: 300;
    letter-spacing: 0.03375rem;
  }
}
.accordion-portfolio .accordion-button > svg {
  flex-shrink: 0;
}
.accordion-portfolio .accordion-body {
  padding: 1.25rem 0 2rem;
}
@media (min-width: 768px) {
  .accordion-portfolio .accordion-body {
    padding: 1.5rem 2rem 2.5rem;
  }
}
.accordion-portfolio .portfolio-stocks,
.accordion-portfolio .portfolio-bonds,
.accordion-portfolio .portfolio-money {
  display: flex;
  align-items: center;
  font-size: 0.875rem;
  font-weight: 700;
}
.accordion-portfolio .portfolio-stocks:before,
.accordion-portfolio .portfolio-bonds:before,
.accordion-portfolio .portfolio-money:before {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background-color: var(--bs-primary);
  border-radius: var(--bs-border-radius-pill);
  margin-inline-end: 0.5rem;
}
@media (min-width: 768px) {
  .accordion-portfolio .portfolio-stocks,
  .accordion-portfolio .portfolio-bonds,
  .accordion-portfolio .portfolio-money {
    font-size: 1rem;
  }
}
.accordion-button :is(.accordion-portfolio .portfolio-stocks),
.accordion-button :is(.accordion-portfolio .portfolio-bonds),
.accordion-button :is(.accordion-portfolio .portfolio-money) {
  font-size: 0.75rem;
}
.accordion-button :is(.accordion-portfolio .portfolio-stocks):before,
.accordion-button :is(.accordion-portfolio .portfolio-bonds):before,
.accordion-button :is(.accordion-portfolio .portfolio-money):before {
  width: 0.5rem;
  height: 0.5rem;
  margin-inline-start: 1rem;
}
.accordion-portfolio .portfolio-bonds:before {
  background-color: var(--bs-secondary);
}
.accordion-portfolio .portfolio-money:before {
  background-color: var(--bs-gray);
}
.table-custom {
  font-family: var(--bs-font-sans-serif);
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
.table-custom caption {
  caption-side: bottom;
}
.table-custom thead tr:nth-of-type(1) td:first-of-type {
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
}
.table-custom thead tr:nth-of-type(1) th {
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
  letter-spacing: 0.0175rem;
  padding: 1.5rem 0.5rem;
}
.table-custom thead tr:nth-of-type(2) th {
  background-color: var(--bs-light);
  padding: 1rem 0.5rem;
}
.table-custom thead tr:nth-of-type(2) th:not(:nth-of-type(1)) {
  text-align: center;
}
.ff-1 {
  font-family: var(--bs-font-sans-serif) !important;
}
.ff-2 {
  font-family: var(--bs-heading-font) !important;
}
.lh-normal {
  line-height: normal !important;
}
.text-lg,
.fs-lg {
  font-size: 1.125rem !important;
}
.text-sm,
.fs-sm {
  font-size: 0.875rem !important;
}
.text-xs,
.fs-xs {
  font-size: 0.75rem !important;
}
.fw-300 {
  font-weight: 300 !important;
}
.fw-400 {
  font-weight: 400 !important;
}
.fw-500 {
  font-weight: 500 !important;
}
.fw-600 {
  font-weight: 600 !important;
}
.fw-700 {
  font-weight: 700 !important;
}
.fw-800 {
  font-weight: 800 !important;
}
.fw-900 {
  font-weight: 900 !important;
}
.hidden {
  display: none !important;
}
.scroll-offset,
.scroll-offset-1 {
  scroll-margin-top: 1rem !important;
}
.scroll-offset-2 {
  scroll-margin-top: 2rem !important;
}
.scroll-offset-3 {
  scroll-margin-top: 3rem !important;
}
.bg-contain {
  background-size: contain !important;
}
.bg-cover {
  background-size: cover !important;
}
#skip-to-main {
  background-color: var(--bs-primary);
  color: #fff;
  position: absolute;
  left: 50%;
  z-index: 1;
  border-radius: 0 0 var(--bs-border-radius) var(--bs-border-radius);
  text-decoration: none;
  font-weight: 700;
  display: block;
  opacity: 0;
  pointer-events: none;
  max-height: 0;
  transform: translate(-50%) scale(0.9) rotateX(-33deg);
  transform-origin: top center;
  transition: all 0.2s var(--ease-out);
  will-change: transform, opacity;
}
#skip-to-main div {
  padding: 0.5rem 1rem;
  box-shadow: 0 0 #fff;
  border-radius: 0 0 var(--bs-border-radius) var(--bs-border-radius);
  white-space: nowrap;
  transition: all 0.2s var(--ease-out);
}
#skip-to-main:focus-visible {
  color: #fff;
  opacity: 1;
  pointer-events: auto;
  max-height: 100vh;
  transform: translate(-50%) scale(1) rotateX(0);
}
#skip-to-main:focus-visible div {
  box-shadow: var(--bs-box-shadow-lg);
}
.check-list {
  padding-left: 1rem;
}
.check-list > li {
  margin-bottom: 1rem;
  list-style: none;
  position: relative;
  padding-left: 1.5rem;
}
.check-list > li:before {
  content: "";
  background: transparent url(../img/icon-check.svg) no-repeat center center;
  background-size: cover;
  width: 1.5rem;
  height: 1.5rem;
  display: inline-block;
  position: absolute;
  left: -1rem;
  top: 0;
  border-radius: 50%;
}
.list-items-shadow li > a,
.list-items-shadow li > div {
  box-shadow: var(--bs-box-shadow-sm);
}
.icon-custom {
  background: var(--bs-primary);
  color: #fff;
  fill: #fff;
  border-radius: 50%;
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
.icon-custom.icon-custom-sm {
  width: 1.5rem;
  height: 1.5rem;
  font-size: 1rem;
}
.icon-custom.icon-custom-lg {
  width: 3rem;
  height: 3rem;
  font-size: 2.5rem;
}
.icon-custom.icon-button {
  border: none;
}
.icon-number {
  background: var(--bs-primary);
  color: #fff;
  border-radius: 50%;
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  padding: 1rem;
}
.vertical-bar {
  position: relative;
  padding-left: 1.5rem;
}
.vertical-bar:before {
  content: "";
  background: var(--bs-secondary);
  border-radius: 3px;
  width: 4px;
  height: 100%;
  position: absolute;
  left: 0;
}
ul.vertical-bar {
  padding-left: 2.5rem;
}
.icon-circle {
  font-size: 3rem;
  line-height: 1;
  font-weight: 700;
  margin-bottom: 1.5rem;
  border: 5px solid var(--bs-primary);
  border-radius: 50%;
  width: 5rem;
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.icon-circle.icon-circle-secondary {
  border-color: var(--bs-secondary);
}
.icon-circle.icon-circle-tertiary {
  border-color: var(--bs-tertiary);
}
.horizontal-bar {
  position: relative;
}
.horizontal-bar:before {
  content: "";
  background: var(--bs-secondary);
  border-radius: 3px;
  width: 80%;
  height: 4px;
  position: absolute;
  top: calc(100% + 1.5rem);
  left: 50%;
  transform: translate(-50%);
}
.rounded-responsive {
  border-radius: var(--bs-border-radius);
}
@media (min-width: 992px) {
  .rounded-responsive {
    border-radius: var(--bs-border-radius-pill);
  }
}
.showMoreSectionButton {
  position: relative;
  text-align: center;
  width: 100%;
}
.showMoreSectionButton:before {
  content: "";
  width: 100%;
  height: 2px;
  background: var(--bs-border-color);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.showMoreSectionButton button {
  color: var(--bs-primary);
  font-weight: 500;
  border-radius: var(--bs-border-radius);
  background: #fff;
  border: none;
  position: relative;
  padding: 0.5rem 2.5rem;
}
.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
}
.embed-container iframe,
.embed-container object,
.embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
body[jahia-parse-html] .fade:not(.show) {
  display: none !important;
}
.stagger-menu > * {
  opacity: 0;
  transform: scale(0.95);
  transform-origin: center;
  transition-property: opacity, transform;
  transition-duration: 0.22s;
  transition-timing-function: var(--ease-out);
}
.stagger-menu.show > *,
.show > .stagger-menu > * {
  opacity: 1;
  transform: scale(1);
  transition-delay: calc(66ms * var(--ease-in));
}
#customSearchModal {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
#customSearchModal form.simplesearchform {
  width: 100%;
  margin: 0;
  position: relative;
}
#customSearchModal form.simplesearchform .text-input:hover {
  border: 1px solid var(--bs-primary);
}
@media (min-width: 1200px) and (max-width: 1399.99px) {
  .customSearchContainer.container-xl {
    max-width: 100%;
    padding: 0 1rem;
  }
}
footer {
  background-color: #fff;
  padding: 4rem 0;
}
footer a,
footer button {
  border-radius: var(--bs-border-radius);
  position: relative;
  transition: all 0.2s var(--ease-out);
  z-index: 1;
}
/* White nav links when footer has dark background (e.g. bg-primary) */
footer.bg-primary a,
footer.bg-primary button,
.bg-primary footer a,
.bg-primary footer button {
  color: var(--bs-nav-inverse-link-color);
}
footer.bg-primary a:hover,
footer.bg-primary a:focus,
footer.bg-primary a:focus-visible,
footer.bg-primary button:hover,
footer.bg-primary button:focus,
footer.bg-primary button:focus-visible,
.bg-primary footer a:hover,
.bg-primary footer a:focus,
.bg-primary footer a:focus-visible,
.bg-primary footer button:hover,
.bg-primary footer button:focus,
.bg-primary footer button:focus-visible {
  color: var(--bs-nav-inverse-link-hover-color);
}
footer a:before,
footer button:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--bs-light);
  border-radius: var(--bs-border-radius);
  opacity: 0;
  transform: scale(0.8);
  transition: all 0.2s var(--ease-out);
  z-index: -1;
}
footer.bg-primary a:before,
footer.bg-primary button:before,
.bg-primary footer a:before,
.bg-primary footer button:before {
  background-color: rgba(255, 255, 255, 0.15);
}
footer a:hover:before,
footer button:hover:before,
footer a:focus:before,
footer button:focus:before,
footer a:focus-visible:before,
footer button:focus-visible:before {
  opacity: 1;
  transform: scale(1);
}
.footer-logo {
  align-self: flex-start;
  padding: 0.5rem 0.5rem 0.25rem;
  margin: 0 auto 0.5rem;
}
@media (min-width: 768px) {
  .footer-logo {
    margin: 0 -0.5rem 0.5rem;
  }
}
.footer-nav .nav-link {
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

.section-lines {
  background-position-x: left;
  background-position-y: bottom;
}

@media screen and (max-width: 992px) {
  .section-lines {background-image: none !important;}
}

/*New Utility Classes*/
.no-repeat {background-repeat: no-repeat;}
.bg-aqua {
  background-color: var(--bs-aqua) !important;
}
.bg-magenta {
  background-color: var(--bs-magenta) !important;
}
.bg-gold {
  background-color: var(--bs-gold) !important;
}
.bg-lightblue {
  background-color: var(--bs-lightblue) !important;
}
.bg-blue {
  background-color: var(--bs-blue) !important;
}
.bg-brightblue {
  background-color: var(--bs-brightblue) !important;
}
.text-aqua {
  color: var(--bs-aqua) !important;
}
.text-magenta {
  color: var(--bs-magenta) !important;
}
.text-gold {
  color: var(--bs-gold) !important;
}
.text-lightblue {
  color: var(--bs-lightblue) !important;
}
.text-blue {
  color: var(--bs-blue) !important;
}
.text-brightblue {
  color: var(--bs-brightblue) !important;
}

.section-n-left.bg-primary:before {
  background: var(--bs-primary);
}