/* Import base variables */

/* Bootstrap overrides and custom CSS */

html, body {
    font-family: var(--body-font) !important;
    color: var(--text-color);
}

body {
    position: relative; /* Necessary for scrollspy */
    line-height: var(--body-line-height);
    letter-spacing: var(--body-text-spacing);
}

img {
  max-width: 100%;
  height: auto;
}

/* Switchable Text Color */

.dark-theme .text-dark.switchable-text-color,
.dark-theme .text-dark.switchable-text-color a,
.dark-theme .text-dark.switchable-text-color,
.dark-theme .text-dark.switchable-text-color a,
.bg-footer.dark-theme .text-primary.switchable-text-color a,
.bg-footer.dark-theme .text-primary.switchable-text-color {
  color: var(--white) !important;
}

.dark-theme .text-body.switchable-text-color,
.dark-theme .text-dark-50.switchable-text-color,
.dark-theme .text-body.switchable-text-color a {
  color: var(--text-light) !important;
}

.dark-theme .text-primary.switchable-text-color {
  color: var(--primary-over-dark) !important;
}

.dark-theme a.text-primary.switchable-text-color:hover,
.dark-theme a.text-primary.switchable-text-color:focus,
.dark-theme a.text-primary.switchable-text-color:active {
  color: var(--primary-over-dark-hover) !important;
}

/* Grid */

@media (min-width: 1400px) {
  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  .container-xxl {
      max-width: 1280px;
  }
}
  
.row-gutters .row+.row {
  margin-top: var(--bs-gutter-x);
}

.row:last-child {
  margin-bottom: 0px;
}

@media (min-width: 1920px) {
  .col-xxxl-2 {
      flex: 0 0 auto;
      width: 20%;
  }
  
  .col-xxxl-3 {
      flex: 0 0 auto;
      width: 25%;
  }
}

/* Typography */

a {
  color: var(--primary);
}

a:hover,
a:focus,
a:active {
  color: var(--primary-hover);  
}

p,
.text-block {
    font-size: var(--body-text-size);
    line-height: var(--body-line-height);
    margin-bottom: var(--paragraph-bottom-margin);
}

p:only-child,
p:last-child,
.text-block:only-child, 
.text-block:last-child {
    margin-bottom: 0 !important;
}

.base-size {
    font-size: var(--body-text-size);
}

b,
strong {
    font-weight: 600;
}
.font-size-regular,
.font-size-regular p {
    font-size: 1rem;
    line-height: 1.75rem;
}

small,
.small {
  font-size: var(--small-text-size);
  line-height: 24px;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--text-dark);
    margin-bottom: var(--headline-bottom-margin);
}

.h1,
.h2,
.h3,
.h4,
h1,
h2,
h3,
h4 {
  font-family: var(--headline-font);
  font-weight: var(--headline-weight);
}

.h5,
.h6,
h5,
h6 {
  font-family: var(--subheadline-font);
  font-weight: var(--subheadline-weight);
}

h1,
.h1 {
  font-size: var(--headline-1-size);
  letter-spacing: var(--headline-1-spacing);
}

h2,
.h2 {
  font-size: var(--headline-2-size);
  letter-spacing: var(--headline-2-spacing);
}

h3,
.h3 {
  font-size: var(--headline-3-size);
  letter-spacing: var(--headline-3-spacing);
}

h4,
.h4 {
  font-size: var(--headline-4-size);
  letter-spacing: var(--headline-4-spacing);
}

h5,
.h5 {
  font-size: var(--headline-5-size);
  letter-spacing: var(--headline-5-spacing);
}

h6,
.h6 {
  font-size: var(--headline-6-size);
  letter-spacing: var(--headline-6-spacing);
}

.lead,
.lead p {
    font-weight: 400;
    font-size: var(--lead-size) !important;
    letter-spacing: var(--lead-spacing) !important;
}

blockquote {
  position: relative;
  padding-left: 3rem;
  
  &::before {
    content: '\201C';
    position: absolute;
    top: 0;
    left: 0;
    font-family: var(--serif-font);
    font-size: 4rem;
    line-height: 1;
  }
}

blockquote p {
    font-size: var(--blockquote-size);
    letter-spacing: var(--blockquote-spacing);
    font-style: italic;
}

ol:not(:last-child), ul.no-list:not(:last-child),  {
  margin-bottom: var(--paragraph-bottom-margin);
}

.pre-headline {
    display: inline-block;
    font-weight: 500;
    font-size: var(--small-text-size);
    background-color: var(--lavender);
    padding: 0.325rem 1.25rem;
    border-radius: 2rem;
}

.dark-theme .pre-headline,
.dark-theme .pre-headline.text-primary {
    background-color: rgba(0,0,0,0.25);
    border: solid 1px rgba(255,255,255,0.25);
}

.fw-semibold {
    font-weight: 500 !important;
}

.fw-bold {
    font-weight: 600 !important;
}

.fw-bolder {
    font-weight: 700 !important;
}

.display-6 {
    font-weight: var(--headline-weight);
}

/* Text Color Utility */

.text-primary {
  color: var(--primary) !important;
}

.text-light {
  color: var(--text-light) !important;
}

.text-dark,
.dark-links a {
  color: var(--text-dark) !important;
}

.text-body {
  color: var(--text-color) !important;
}

a.text-body:hover,
a.text-body:focus,
a.text-body:active {
  color: var(--violet) !important;
}

.text-muted {
  color: var(--text-muted) !important;
}

.dark-theme div:not(.card) .text-muted {
  color: var(--primary-over-dark) !important;
}

.text-white {
  color: var(--white) !important;
}

.text-black-50 {
  color: var(--text-dark) !important;
}

.text-white-50 {
  color: var(--text-light) !important;
}

.text-success {
  color: var(--success) !important;
}

.text-danger {
  color: var(--danger) !important;
}

/* Background Color Utility */

.text-bg-secondary {
  color: var(--white)!important;
  background-color: var(--secondary)!important;
}

/* Background color utility overrides */

.bg-white {
  background-color: var(--white) !important;
}

.bg-dark {
  background-color: var(--violet) !important;
}

.bg-dark-25 {
  background-color: var(--indigo) !important;
}

.bg-dark-50 {
  background-color: var(--indigo) !important;
}

.bg-light {
  background-color: var(--bg-light) !important;
}

.bg-footer {
  background-color: var(--indigo) !important;
}

.bg-indigo {
  background-color: var(--indigo) !important;
}

.bg-violet {
  background-color: var(--violet) !important;
}

.bg-turquoise {
  background-color: var(--turquoise) !important;
}

/* Shadows */

.shadow {
  box-shadow: var(--shadow-md) !important;
}

.shadow-sm {
  box-shadow: var(--shadow-sm) !important;
}

/* Lists */

/* Add checkmarks to unordered lists inside text-block */
.text-block ul:not(.no-list) {
  list-style-type: none;
  padding-left: 0;
  margin-bottom: 1.5rem;
}

.text-block ul:not(.no-list):last-child {
  margin-bottom: 0;
}

.text-block ul:not(.no-list) li {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: 0.5rem;
}

.text-block ul:not(.no-list) li::before,
.text-block ul:not(.no-list) li::after {
  font-family: "Font Awesome 7 Duotone";
  font-weight: 900;
  letter-spacing: normal;
  display: block;
  position: absolute;
  vertical-align: middle;
  left: 0;
  top: 0;
}

.text-block ul:not(.no-list) li::before {
    color: var(--primary,inherit);
    opacity: var(--fa-primary-opacity,1);
    content: "\f058";
}

.text-block ul:not(.no-list) li::after {
  content: "\f058\f058";
  color: var(--primary, inherit);
  opacity: var(--fa-secondary-opacity, 0.2);
}

.text-block.lead ul:not(.no-list) li {
  padding-left: 2rem;
  margin-bottom: 1rem;
}

.text-block.lead ul:not(.no-list) li:before,
.text-block.lead ul:not(.no-list) li:after {
  font-size: var(--headline-6-size);
}

.dark-theme .text-block ul:not(.no-list) li::before {
    color: var(--white,inherit) !important;
    opacity: var(--fa-primary-opacity,1);
    content: "\f058";
}

.dark-theme .text-block ul:not(.no-list) li::after {
  content: "\f058\f058";
  color: var(--primary, inherit) !important;
  opacity: var(--fa-secondary-opacity, 1) !important;
}

.text-block ul.split-list li {
  display: inline-block;
  width: 49.5%;
}

ul.big-list li {
  line-height: var(--list-line-height);
}

/* Buttons */

.hero-btn-wrapper {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    justify-content: center;
}

.btn-wrapper {
  display: inline-block;
}

/* Hubspot CTA buttons load an image version
 * before the HTML/CSS version which causes a
 * disorienting flash with slow connections.
*/
.btn-wrapper img {
  opacity: 0;
}

.btn,
.btn-wrapper a,
.btn-wrapper button,
.hs-button {
    display: inline-block;
    min-width: 100px;
    line-height: 1.5;
    border-style: solid;
    border-width: 1.5px;
    border-color: var(--gray-500);
    box-shadow: 3px 3px 0 var(--gray-500);
    background-color: #fff;
    font-size: var(--button-text-size);
    padding: 0.625rem 1.5rem;
    font-weight: 600;
    letter-spacing: -0.3px;
    transition: all .4s ease-in-out;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    border-radius: var(--button-border-radius) !important;
    transition:
      transform 0.1s cubic-bezier(0.215,0.61,0.355,1),
      box-shadow 0.1s cubic-bezier(0.215,0.61,0.355,1),
      background-color 0.1s cubic-bezier(0.215,0.61,0.355,1);
}

.btn, .btn-wrapper a, .btn-wrapper button, .hs-button{
  transition: transform 0.1s cubic-bezier(0.215,0.61,0.355,1), box-shadow 0.1s cubic-bezier(0.215,0.61,0.355,1), background-color 0.1s cubic-bezier(0.215,0.61,0.355,1);
}

.btn:hover, .btn-wrapper a:hover, .btn-wrapper button:hover, .hs-button:hover{
  transform: translate(-2px, -2px);
  box-shadow: 4px 4px 0 var(--gray-500);
}

.btn:active,
.btn-wrapper a:active,
.btn-wrapper button:active,
.hs-button:active {
  box-shadow: 1px 1px 0 var(--gray-500);
  transform: translate(2px, 2px);
  border-color: var(--gray-500);
}

.btn:focus-visible,
.btn-wrapper a:focus-visible,
.btn-wrapper button:focus-visible,
.hs-button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 4px var(--gray-500);
}

.btn.btn-lg,
.btn-wrapper.btn-lg-wrapper:not(.btn-arrow-wrapper) a,
.btn-wrapper.btn-lg-wrapper:not(.btn-arrow-wrapper) button,
.hs-button.large {
    font-style: normal;
    font-weight: 600;
    font-size: 1rem;
    line-height: 1;
    padding: 1rem 1.5rem !important;
}

.btn.btn-lg.has-shadow,
.btn-wrapper.btn-lg-wrapper.has-shadow a,
.btn-wrapper.btn-lg-wrapper.has-shadow button,
.hs-button.large.has-shadow {
    box-shadow: var(--shadow-lg)
}

.btn-link,
.btn-link-wrapper a,
.btn-link-wrapper button {
    font-size: 1rem;
    text-decoration: none;
    border-radius: 0 !important;
    border: 0;
    color: var(--primary) !important;
    padding-left: 0;
    padding-right: 0;
    min-width: auto;
    box-shadow: none !important;
    letter-spacing: -0.5px;
    min-width: 0;
    text-align: left !important;
    background-color: transparent !important;
    transform: none !important;
}

.btn-link.active,
.btn-link-wrapper.active a,
.btn-link-wrapper.active button {
    color: var(--text-dark) !important;
    border-bottom: solid 2px var(--text-dark);
    cursor: default;
    transform: none !important;
}

.btn-arrow,
.btn-arrow-wrapper a,
.btn-arrow-wrapper button {
    font-size: var(--headline-6-size);
    text-decoration: none;
    color: var(--primary) !important;
    border: 0;
    padding: 0 !important;
    min-width: auto;
    box-shadow: none !important;
    letter-spacing: -0.5px;
    min-width: 0;
    text-align: left !important;
    background-color: transparent !important;
    transform: none !important;
}

.btn-arrow:after,
.btn-arrow-wrapper a:after,
.btn-arrow-wrapper button:after {
    transition: 100ms cubic-bezier(0.215,0.61,0.355,1);
    transform: translateX(0px);
    font-family: 'Font Awesome 7 Pro' !important;
    font-weight: 700;
    content: '\f105';
    display: inline-flex;
    margin-left: 0.5rem;
    position: relative;
    top: 1px;
}

.btn-arrow:hover,
.btn-arrow-wrapper:hover a,
.btn-arrow-wrapper:hover button {
    color: var(--primary-hover) !important;
    transform: none !important;
}

.btn-arrow:hover a:after,
.btn-arrow-wrapper:hover a:after ,
.btn-arrow-wrapper:hover button:after {
    color: var(--primary-hover) !important;
    transition: 300ms cubic-bezier(0.215,0.61,0.355,1);
    transform: translateX(0px); !important;
    content: '\f061';
}

/* Primary button */

.btn-primary,
.btn-primary-wrapper a,
.btn-primary-wrapper button,
.hs-button.primary,
.dark-theme .card .btn-primary,
.dark-theme .card .btn-primary-wrapper a,
.dark-theme .card .btn-primary-wrapper button,
.dark-theme .card .hs-button.primary {
    color: var(--primary) !important;
    background-color: var(--chartreuse) !important;
}

/*
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary-wrapper a:hover,
.btn-primary-wrapper a:focus,
.btn-primary-wrapper a:active,
.btn-primary-wrapper button:hover,
.btn-primary-wrapper button:focus,
.btn-primary-wrapper button:active,
.hs-button.primary:hover,
.hs-button.primary:focus,
.hs-button.primary:active,
.dark-theme .card .btn-primary:hover,
.dark-theme .card .btn-primary:focus,
.dark-theme .card .btn-primary:active,
.dark-theme .card .btn-primary-wrapper a:hover,
.dark-theme .card .btn-primary-wrapper a:focus,
.dark-theme .card .btn-primary-wrapper a:active,
.dark-theme .card .btn-primary-wrapper button:hover,
.dark-theme .card .btn-primary-wrapper button:focus,
.dark-theme .card .btn-primary-wrapper button:active,
.dark-theme .card .hs-button.primary:hover,
.dark-theme .card .hs-button.primary:focus,
.dark-theme .card .hs-button.primary:active {
    color: var(--primary);
}
*/

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-primary-wrapper a:hover,
.btn-outline-primary-wrapper a:focus,
.btn-outline-primary-wrapper a:active,
.btn-outline-primary-wrapper button:hover,
.btn-outline-primary-wrapper button:focus,
.btn-outline-primary-wrapper button:active {
    color: var(--primary);
}

/* Primary button on dark background */

.dark-theme .btn-primary,
.dark-theme .btn-primary-wrapper a,
.dark-theme .btn-primary-wrapper button,
.dark-theme .hs-button.primary {

}

.dark-theme .btn-primary:hover,
.dark-theme .btn-primary:focus,
.dark-theme .btn-primary:active,
.dark-theme .btn-primary-wrapper a:hover,
.dark-theme .btn-primary-wrapper a:focus,
.dark-theme .btn-primary-wrapper a:active,
.dark-theme .btn-primary-wrapper button:hover,
.dark-theme .btn-primary-wrapper button:focus,
.dark-theme .btn-primary-wrapper button:active,
.dark-theme .hs-button.primary:hover,
.dark-theme .hs-button.primary:focus,
.dark-theme .hs-button.primary:active {

}

.dark-theme .btn-arrow,
.dark-theme .btn-arrow-wrapper a {
    color: var(--white) !important;
}

.dark-theme .btn-arrow:hover,
.dark-theme .btn-arrow:focus,
.dark-theme .btn-arrow:active,
.dark-theme .btn-arrow-wrapper a:hover,
.dark-theme .btn-arrow-wrapper a:focus, 
.dark-theme .btn-arrow-wrapper a:active {
    color: var(--text-light) !important;
}

.btn-transparent {
    border: 0 !important;
    outline: 0 !important;
    background: transparent;
    padding: 0;
    margin: 0;
    text-align: inherit;
}

/* Dropdowns */

.dropdown-header {
  color: var(--text-muted);
}

.dropdown-menu {
    border: 0;
}

@media (min-width: 1400px) {
  .dropdown-menu {
    padding: 0.5rem;
    margin: 0 -0.5rem;
    border-radius: var(--dropdown-border-radius);
  }
}

.dropdown-menu .dropdown-divider {
    margin: 0.5rem -0.5rem;
}

.dropdown-menu .dropdown-item {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    color: var(--text-dark);
    border-radius: 0.5rem;
}

.dropdown-item:focus,
.dropdown-item:hover {
  background-color: var(--bg-light) !important;
}

.dropdown-item.active,
.dropdown-item:active {
    background-color: var(--bg-light);
    color: var(--text-dark);
}

@media (min-width: 1399px) {
    .dropdown-menu {
        box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important;
    }
    .dropdown-menu .dropdown-item {
        font-size: 1rem;
    }
}

/* Mega Dropdown */
/* This was custom created by Giftogram */

@media (min-width: 1400px) {
  .dropdown-menu.mega-dropdown {
    padding: 1rem;
    margin: 0 -1rem;
  }
  
  .dropdown-menu.mega-dropdown .dropdown-item .icon {
    font-size: 1rem;
    max-width: 1rem;
    min-width: 1rem;
  }
}

/* Navbar */

.navbar {
    border-bottom: solid 1px var(--navbar-border-color);
}

.navbar>.container-fluid {
    max-width: 98%;
}

.navbar-brand {
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1rem;
    margin-right: 1.5rem;
}

.navbar-brand img {
    height: 2rem !important; 
}

.navbar-light .navbar-brand .logo-dark,
.navbar-wrapper.reveal-navbar .navbar-brand .logo-dark {
    display: none;
}

.navbar-wrapper:not(.reveal-navbar) .navbar-dark .navbar-brand .logo-light {
    display: none;
}

nav.sticky .reveal-scrolling,
.navbar-wrapper.sticky .reveal-scrolling {
    display: none;
}

nav.sticky.reveal-navbar .reveal-scrolling,
.navbar-wrapper.sticky.reveal-navbar .reveal-scrolling {
    display: inline;
}

.navbar-nav .btn-wrapper a {
    box-shadow: 2px 2px 0 var(--gray-500);
}


.navbar-nav .btn-wrapper a:hover{
  transform: translate(-1px, -1px);
  box-shadow: 3px 3px 0 var(--gray-500);
}

.navbar-nav .btn-wrapper a:active {
  box-shadow: 1px 1px 0 var(--gray-500);
  transform: translate(2px, 2px);
}
  
.navbar-wrapper.scrolling:not(.reveal-navbar) .dropdown-menu {
  display: none;
}

.navbar-wrapper .global-alert {
  font-size: 0.875rem;
}

.navbar-nav .nav-link,
.navbar-nav .btn-wrapper a {
  font-size: 0.875rem !important;
  line-height: 1.25 !important;
  padding-left: 1rem;
  padding-right: 1rem;
}

.navbar-expand-xxl .navbar-nav .nav-link {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}

nav.sticky,
.navbar-wrapper.sticky {
  transition: .4s;
}
nav.sticky.scrolling,
.navbar-wrapper.sticky.scrolling {
  transform: translateY(-100%);
  transition: .4s;
}
nav.sticky.reveal-navbar,
.navbar-wrapper.sticky.reveal-navbar {
  transform: translateY(0%);
  box-shadow: 0 12px 34px -11px rgba(65, 62, 101, 0.1);
  z-index: 1000;
}


.navbar-wrapper.sticky.navbar-hidden .navbar {
    background-color: var(--white) !important;
}

.navbar-nav .nav-link,
.navbar-nav .nav-link-wrapper a, 
.navbar-nav .nav-link-wrapper button {
    display: block;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    border: transparent solid 2px;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
    text-decoration: none;
}

.navbar-light .navbar-nav .nav-link,
.navbar-light .navbar-nav .nav-link *,
.navbar-light .navbar-nav .nav-link-wrapper a, 
.navbar-light .navbar-nav .nav-link-wrapper button,
.navbar-wrapper.reveal-navbar .navbar-nav .nav-link,
.navbar-wrapper.reveal-navbar .navbar-nav .nav-link-wrapper a,
.navbar-wrapper.reveal-navbar .navbar-nav .nav-link-wrapper button {
    color: var(--text-dark);
}


.nav-link-wrapper {
  display: inline-block;
}

.navbar-dark .navbar-nav .nav-link,
.navbar-dark .navbar-nav .nav-link-wrapper a, 
.navbar-dark .navbar-nav .nav-link-wrapper button {
    color: rgba(255, 255, 255, 0.9);
    letter-spacing: -0.4px;
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus,
.navbar-dark .navbar-nav .nav-link:active,
.navbar-dark .navbar-nav .nav-link.active {
    color: rgba(255, 255, 255, 1);
}

.navbar-no-collapse .navbar-nav .nav-link {
    padding-right: 1.25rem;
    padding-left: 1.25rem;
}

.navbar-wrapper.sticky.navbar-hidden .global-alert {
    display: none;
}


.navbar-toggler,
.navbar-sign-in {
    font-size: 1.325rem;
    padding: 0.5rem;
    border: 0;
    color: var(--text-body) !important;
}

.navbar-toggler:focus {
    box-shadow: 0 0 0 0.25rem rgba(65, 62, 101, 0.1);
}

.navbar-light .navbar-toggler {
    color: var(--text-body);
}

.navbar-dark .navbar-toggler {
    color: var(--white);
}

.navbar-sign-in {
    display: none;
}

@media (max-width: 1199.98px) {
  .navbar .container-fluid {
    display: inline-flex;
    position: relative;
  }

  .navbar .container-fluid .navbar-brand {
    order: 2;
  }

  .navbar .container-fluid .navbar-toggler {
    order: 1;
  }

  .navbar .container-fluid .navbar-sign-in {
    display: block;
    order: 3;
  }
  
  .navbar .container-fluid .navbar-collapse {
    order: 4;
  }
}

/* Helpers */

@media (min-width: 768px) {
    .pt-md-6 {
        padding-top: 6rem !important;
    }
}

@media (min-width: 992px) {
    .pt-lg-6 {
        padding-top: 6rem !important;
    }
}

@media (min-width: 1200px) {
    .pt-xl-6 {
        padding-top: 6rem !important;
    }
}

@media (min-width: 768px) {
    .pb-md-6 {
        padding-bottom: 6rem !important;
    }
}

@media (min-width: 992px) {
    .pb-lg-6 {
        padding-bottom: 6rem !important;
    }
}

@media (min-width: 1200px) {
    .pb-xl-6 {
        padding-bottom: 6rem !important;
    }
}

.mb-6 {
    margin-bottom: 6rem !important;
}

.pb-6 {
    padding-bottom: 6rem !important;
}

@media (min-width: 768px) {
    .mb-md-6 {
        margin-bottom: 6rem !important;
    }
}

@media (min-width: 992px) {
    .mb-lg-6 {
        margin-bottom: 6rem !important;
    }
}

@media (min-width: 1200px) {
    .mb-xl-6 {
        margin-bottom: 6rem !important;
    }
}

/* Headlines */

.headline p:last-child {
  margin-bottom: 0;
}

.headline.has-divider h1,
.headline.has-divider h2 {
  display: inline-block;
  &::after {
    content: '';
    display: block;
  }
}

/* Sections */

.section {
  scroll-margin-top: var(--nav-offset);
}

.section,
.section.mega-section {
    padding: var(--section-padding-sm) 0;
    position: relative;
}

.section.minor-section {
    padding: var(--section-padding-minor) 0;
    position: relative;
}

.section.blog-section {
    padding: var(--section-padding-sm) 0 var(--section-padding-sm);
}

.section.hero-section,
.section.hero-section.headline-section {
    padding-top: var(--section-padding-minor-sm) !important;
}

.section.headline-section {
    padding: var(--section-padding-sm) 0 var(--section-padding-sm);
    position: relative;
}

@media (min-width: 1199px) {
    .section {
        padding: var(--section-padding) 0;
    }
    .section.hero-section,
    .section.hero-section.headline-section {
      padding-top: var(--section-padding-minor) !important;
    }
    .section.mega-section {
      padding: var(--section-padding-major) 0;
    }
    .section.headline-section {
      padding: var(--section-padding) 0 var(--section-padding-minor);
    }
}

.section.bg-transparent + .section.bg-transparent:not(.allow-padding),
.section.bg-white + .section.bg-white:not(.allow-padding),
.section.bg-light + .section.bg-light:not(.allow-padding),
.section.bg-dark + .section.bg-dark:not(.allow-padding),
.section.bg-dark-25 + .section.bg-dark-25:not(.allow-padding),
.section.bg-dark-50 + .section.bg-dark-50:not(.allow-padding),
.section.bg-footer + .section.bg-footer:not(.allow-padding),
.section:not([class*='bg-']) + .section:not([class*='bg-']) {
    padding-top: 0 !important;
}

.section.slanted-section {
  position: relative;
  z-index: 1;
  
  &:before,
  &:after {
    background: inherit;
    content: '';
    display: block;
    height: 50%;
    left: 0;
    position: absolute;
    right: 0;
    z-index: -1;
    -webkit-backface-visibility: hidden;
  }

  &:before {
    top: 0;
    transform: skewY(1.25deg);
    transform-origin: 100% 0;
  }
  
  &:after {
    bottom: 0;
    transform: skewY(-1.25deg);
    transform-origin: 100%;
  }
}

.section.slanted-section.slanted-section-reverse {
  &:before {
    top: 0;
    transform: skewY(-1.25deg);
    transform-origin: 0;
  }
  
  &:after {
    bottom: 0;
    transform: skewY(1.25deg);
    transform-origin: 0;
  }
}

.border-seperator {
    border-top: solid 1px var(--border-color);
}

/* Card */

.card {
    border-color: transparent;
    border-radius: 1rem !important;
    overflow: hidden;
}

.card.card-transparent {
    border-color: transparent;
    background-color: transparent;
    border-radius: 0px;
}

.bg-white .card:not(.card-transparent):not(.shadow) {
  background-color: var(--bg-white);
}

.card .card-body {
    padding: 2.375rem;
}

@media (max-width: 1199px) {
  .card .card-body {
    padding: 1.5rem;
  }
}

.card.card-transparent {
    border-radius: 0px !important;
}

.card.card-transparent .card-body {
    padding: 0 1.875rem 0 0;
}

.card .card-body .card-image.rounded-image {
    border-radius: 0.625rem;
}

.card .card-body .card-image.rounded-image-lg {
    border-radius: 0.75rem;
}

.card .card-body p:only-child,
.card .card-body p:last-child {
  margin-bottom: 0;
}

.card .card-title {
    font-size: var(--headline-6-size);
}

/* Form */

.form-control-lg,
.form-select-lg {
    font-size: var(--input-lg-font-size);
    padding-top: var(--input-lg-vertical-padding);
    padding-bottom: var(--input-lg-vertical-padding);
}

.form-select:disabled,
.form-control:disabled,
.form-wrapper input:disabled:not([type="submit"]),
.form-wrapper select:disabled,
.form-wrapper textarea:disabled {
    color: var(--text-muted) !important;
    cursor: not-allowed;
}

.form-wrapper.form-align-left.align-items-center > span {
    display: inline-block;
}

.form-wrapper.form-align-left.align-items-center input.hs-input {
    min-width: 300px;
}

.form-wrapper.form-align-left form {
    display: flex;
}

.form-wrapper.form-align-left form div:first-child {
    flex: 1;
}

@media (max-width: 767px) {
  .form-wrapper.form-align-left form {
    display: block;
  }
  
  .form-wrapper.form-align-left form .input input.hs-input {
    margin-bottom: 1rem !important;
  } 
}

.form-wrapper.form-align-left form input {
    padding-top: 0.9375rem;
    padding-bottom: 0.9375rem;
    font-size: var(--body-text-size);
    line-height: 1;
}

.form-wrapper form input[type="submit"] {
    font-size: var(--button-text-size);
    min-width: 140px;
}

.form-wrapper form input[type="submit"]:focus {
    border-color: var(--gray-500) !important;
    box-shadow: none !important;
}

.form-wrapper.form-align-left form input[type="submit"] {
    padding-top: 1rem;
    padding-bottom: 1rem;
    margin-left: 1rem;
    margin-top: 2rem;
}

.form-wrapper.form-align-left form .input,
.form-wrapper.form-align-left form .input input {
    margin-bottom: 0 !important;
    line-height: 2.25rem;
}

.form-wrapper label {
    display: block;
    margin-bottom: .5rem !important;
}

.form-wrapper label .hs-form-required {
    font-size: 10px;
    position: relative;
    top: -5px;
}

.form-wrapper input:not([type="submit"]):not([type="checkbox"]),
.form-wrapper select,
.form-wrapper textarea {
    display: block;
    width: 100%;
    padding: 10px .75rem;
    margin-bottom: 1rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--text-dark);
    background-color: var(--white);
    background-clip: padding-box;
    border: 1px solid #ced4da;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 8px;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.form-wrapper select {
    display: block;
    width: 100%;
    padding: 10px 2.25rem 10px 0.75rem;
    -moz-padding-start: calc(0.75rem - 3px);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    background-color: #fff;
    background-image: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e);
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
    border: 1px solid #ced4da;
    border-radius: 8px;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.form-wrapper input:focus,
.form-wrapper select:focus,
.form-wrapper textarea:focus {
    color: var(--text-dark);
    background-color: var(--white);
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(13,110,253,0.25);
}

.form-wrapper textarea {
    min-height: 200px;
}

.form-wrapper .hs-error-msgs {
    list-style: none;
    padding-left: 0;
    color: #dc3545;
}

.form-wrapper .hs-error-msg {
    margin-top: 0.5rem;
}

/* Inputs & selects */

.form-control,
.form-select {
  background-color: var(--input-bg);
}

/* Search input */

.input-search-group::before {
  content: "\f002";
  font-family: "Font Awesome 7 Pro";
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: var(--text-color);
  z-index: 100;
}

.input-search-group .form-control-search-input {
  padding-left: 2.25rem;
  padding-right: 2.5rem;
  border-top-right-radius: var(--bs-border-radius) !important;
  border-bottom-right-radius: var(--bs-border-radius) !important;
}

.input-search-group .form-control-clear-btn {
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  color: var(--text-muted);
  z-index: 100;
}

.input-search-group {
  position: relative;
  width: 100%;
}

@media (min-width: 992px) {
  .input-search-group {
    width: clamp(280px, 55%, 460px);
    transition: width 220ms ease;
    will-change: width;
  }
  .input-search-group:focus-within {
    width: 100%;
  }
}

.form-control-search-input {
  flex: 1 1 auto;
  min-width: 0;
}

@media (prefers-reduced-motion: reduce) and (min-width: 992px) {
  .input-search-group {
    transition: none;
  }
}

/* Carousel */

body .flickity-viewport {
    overflow-x: clip;
    overflow-y: visible;
}

body .flickity-page-dots {
    position: relative;
    bottom: 0;
}

body .flickity-page-dots .dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-left: 0.25rem;
    margin-right: 0.25rem;
    background-color: var(--white);
}

.testimonial-carousel .card-body {
    padding: 2.75rem 3rem;
    text-align: left;
}

@media (max-width: 1199px) {
  .testimonial-carousel .card-body {
    padding: 1.5rem;
  }
}

.carousel-btn {
    width: 2.875rem;
    height: 2.875rem;
    border: solid 2px var(--border-color);
    border-radius: 50%;
    color: var(--primary);
    text-align: center;
    vertical-align: middle;
    min-width: 0;
}

.carousel-btn:hover,
.carousel-btn:focus,
.carousel-btn:active {
    border-color: var(--primary-hover);
    color: var(--primary-hover);
}

.dark-theme .carousel-btn {
    color: var(--white);
    border-color: rgba(255,255,255,0.4);
}

.dark-theme .carousel-btn:hover,
.dark-theme .carousel-btn:focus,
.dark-theme .carousel-btn:active {
    border-color: var(--white);
    color: var(--white);
}

.carousel-btn.carousel-btn-white {
    background: #ffffff;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 0;
}

.carousel-control-next,
.carousel-control-prev {
  width: auto;
  height: auto;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
}

.carousel-control-prev {
  left: 2rem;
}

.carousel-control-next {
  right: 2rem;
}

@media (max-width: 575.98px) {

  .carousel-control-prev {
    left: 1rem;
  }

  .carousel-control-next {
    right: 1rem;
  }

  .carousel-btn {
      width: 2rem;
      height: 2rem;
  }

}

/* Carousel indicators */

.carousel-indicators [data-bs-target] {
  box-sizing: border-box;
  border: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  background-clip: border-box !important;
  padding: 0;
  margin: 0 6px;
  cursor: pointer;
  opacity: 1;
  transition: width .25s ease, height .25s ease, border-radius .25s ease, opacity .25s ease, background-color .25s ease;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #fff;
}

.carousel-indicators [data-bs-target].active {
  width: 36px;
  height: 10px;
  border-radius: 9999px;
  background-color: #B3B1B0;
  position: relative;
  overflow: hidden;
}

.carousel-indicators.autoplay [data-bs-target].active::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 0%;
  background-color: var(--primary);
  border-radius: inherit;
  animation: indicatorFill 7.25s linear forwards;
}

.carousel-indicators:not(.autoplay) [data-bs-target].active {
  background-color: var(--primary);
}

@keyframes indicatorFill {
  from { width: 0%; }
  to { width: 100%; }
}

.carousel-indicators.carousel-indicators-dark [data-bs-target] {
  background-color: #B3B1B0;
}

.carousel-indicators.carousel-indicators-dark.autoplay [data-bs-target].active {
  background-color: #B3B1B0;
}

.carousel-indicators.carousel-indicators-dark:not(.autoplay) [data-bs-target].active {
  background-color: var(--primary);
}

/* Tables */

thead th {
    border-bottom-width: 0 !important;
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}

th {
    font-weight: 600;
    color: var(--text-dark);
}

.table>:not(caption)>*>* {
    padding: 1rem 2rem;
}

.table-responsive table {
    margin-bottom: 0;
}

.table>:not(caption)>*>* {
    border-color: var(--border-color);
}

.table {
  --bs-table-striped-bg: transparent !important;
}

.table-striped>tbody>tr:nth-of-type(odd) {
    background-color: var(--input-bg);
    color: var(--bs-table-striped-color);
}

/* Tabs */

.nav-pills .nav-link,
.nav-pills .nav-link *:not(.fal) {
    color: var(--text-dark);
    font-weight: 600;
    border-radius: 0;
    border-bottom: solid 2px transparent;
}

.nav-pills .nav-link.active,
.nav-pills .show >.nav-link {
    color: var(--primary) !important;
    background-color: transparent;
    border-color: var(--primary);
}

.nav-pills .nav-link.active * {
    color: var(--primary) !important;
}

.navbar-internal .nav-pills .nav-link,
.navbar-internal .nav-pills .nav-link *:not(.fal) {
    font-size: 0.875rem;
    border: 0 !important;
}

.navbar-internal .nav-pills .nav-link:hover,
.navbar-internal .nav-pills .nav-link:hover *:not(.fal) {
    color: var(--primary) !important;
}

.navbar-internal .nav-pills .nav-link.active,
.navbar-internal .nav-pills .show >.nav-link {
    color: var(--primary) !important;
    background-color: transparent;
    border: 0 !important;
}


.nav-cards {
    gap: 1rem;
}

.nav-cards .card {
    transition: all .4s;
}

.nav-cards button {
   z-index: 250;
}

.nav-cards button.active {
   z-index: 500;
}

.nav-cards button:not(.active) .icon-box .icon-wrapper {
  color: var(--text-color);  
  &::after {
    display: none !important;
  }
}

.nav-cards button.active .card:not(.card-transparent) {
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important;
}

.nav-cards button:not(.active) .card.card-transparent .icon-box {
    color: var(--text-muted);
}

.nav-cards button:not(.active) .card.card-transparent .icon-box.filled {
    background-color: var(--bg-light);
    color: var(--text-body) !important;
}

.nav-cards .icon-box {
    min-width: 2.25rem;
}

.nav-steps .nav-item .btn-transparent {
    position: relative;
}

.nav.alt-active-indicator button.active .card-title {
    color: var(--primary);
}

.nav.alt-active-indicator button:not(.active) .badge.bg-primary {
    background-color: var(--bg-light) !important;
    color: var(--text-body);
}

.nav-steps .nav-item:not(:last-child) .btn-transparent:before {
    content: '';
    width: 1px;
    border-left: dashed 1px #a9b3bc;
    display: block;
    position: absolute;
    top: 1px;
    left: 1rem;
    height: 100%;
}

.tab-content>.tab-pane.accordion-item .accordion-button {
  display: none;
}

/* Accordion */

.accordion {
    overflow: hidden;
}

.accordion-item {
    border: 0px;
    border-bottom: solid 1px var(--border-color);
}

.accordion-button {
    font-weight: 700;
    padding: 1.25rem 2rem;
    color: var(--text-dark);
}

@media (max-width: 1199px) {
  .accordion-button {
    padding: 1.25rem 1.5rem;
  }
}

.accordion-button:focus {
    box-shadow: none;
}

.accordion-button:not(.collapsed) {
    color: var(--primary);
    background-color: transparent;
    box-shadow: 0 -1px 0 var(--border-color) !important;
}

.accordion-button:not(.collapsed)::after {
    background-image: none;
    font-family: 'Font Awesome 7 Pro' !important;
    font-weight: 900;
    content: '\f068';
    display: block;
    vertical-align: middle;
    height: auto;
    width: auto;
    transform: none;
}


.accordion-button::after {
    background-image: none;
    font-family: 'Font Awesome 7 Pro' !important;
    font-weight: 900;
    content: '\2b';
    display: block;
    vertical-align: middle;
    height: auto;
    width: auto;
    transform: none;
}

.accordion-body {
    padding: 1.25rem 2rem;
}

@media (max-width: 1199px) {
  .accordion-body {
    padding: 1.25rem 1.5rem;
  }
}

/* Form */

.hs-form ul {
    padding-left: 0;
    list-style: none;
}

.hs-form input[type="checkbox"] {
    margin-right: 0.5rem;
    width: 16px;
    height: 16px;
    margin-top: 4px;
}

.hs-form .input select {
    position: relative;
}

.hs-form .input select::after {
    position: absolute;
    display: block;
    left: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid;
    border-right: 0.3em solid transparent;
    border-bottom: 0;
    border-left: 0.3em solid transparent;
} 

.form-wrapper label {
    display: flex;
    margin-bottom: 0.5rem !important;
}
.form-wrapper .hs-form-required {
    font-size: 10px;
    position: relative;
    top: -5px;
}
.form-wrapper .input {
    margin-bottom: 1rem !important;
}
.form-wrapper textarea.hs-input {
    min-height: 200px;
}
.form-wrapper .hs-input:not([type="checkbox"]) {
    display: block;
    width: 100%;
    padding: 10px 0.75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--text-dark);
    background-color: var(--white);
    background-clip: padding-box;
    border: 1px solid #ced4da;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 8px;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.form-wrapper .hs-input:focus {
    color: #212529;
    background-color: #fff;
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgb(13 110 253 / 25%);
}
.form-wrapper .hs-error-msgs {
    padding-left: 0;
    color: #dc3545;
}

/* Modal */

.modal .modal-content {
    border-radius: 1rem;
    overflow: hidden;
}

.modal.video-modal .modal-dialog {
    background-color: rgba(0,0,0,0.8);
}

.modal.video-modal .modal-fullscreen .modal-content {
    padding: 3rem 1rem;
    background: transparent;
    height: 100%; 
}

@media (min-width: 992px) {
    .modal.video-modal .modal-fullscreen .modal-content {
        padding: 4rem !important;
    }
}

@media (min-width: 1200px) {
    .modal.video-modal .modal-fullscreen .modal-content {
        padding: 8rem !important;
    }
}

.modal.video-modal .modal-fullscreen .modal-content .ratio {
    max-height: 100%; 
}

.modal.video-modal button.close {
    position: fixed;
    top: 2rem;
    right: 2rem;
    z-index: 1000;
}

/* Video Embed */

.video-thumbnail-wrapper {
    position: relative;
}

/* Ensure .video-thumb can host an absolutely positioned icon */
.video-thumb {
  display: block;
}

.video-thumb::after {
  content: "\f04b"; /* Font Awesome "play" icon */
  font-family: "Font Awesome 7 Pro";
  font-weight: 900;
  font-size: 48px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 4px 12px rgba(0,0,0,0.35);
  opacity: 1;
  transition: opacity 0.25s ease-in-out;
  pointer-events: none; /* Icon does not interfere with clicking */
}

/* Only show icon when hovering a clickable card */
.card.clickable.video-trigger:hover .video-thumb::after {
  opacity: 1;
}

/* Footer */

footer {
    padding: var(--section-padding-sm) 0;
}

footer .container > .row:not(:last-child) {
    margin-bottom: var(--section-padding);
}

@media (min-width: 992px) {
    footer {
        padding: var(--section-padding) 0;
    }
  
    footer.footer-minimal {
        padding: var(--section-padding-sm) 0;
    }
}

.footer-column + .footer-column {
    margin-top: 1.5rem;
}

@media (min-width: 992px) {
    .footer-column + .footer-column {
        margin-top: 3rem;
    }
}

/* Misc */

.gift-card-shadow,
.gift-card-wrapper img {
  box-shadow: 0 0.125rem 0 rgba(0,0,0,.2), 1px 0 0 rgba(0,0,0,.07), -1px 0 0 rgba(0,0,0,.07);
  -webkit-box-shadow: 0 0.125rem 0 rgba(0,0,0,.2), 1px 0 0 rgba(0,0,0,.07), -1px 0 0 rgba(0,0,0,.07);
  border-radius: 0.875rem;
}

.gift-card-wrapper.loading {
    display: block;
    padding-top: 62%;
    -o-object-fit: cover;
    object-fit: cover;
    margin: auto;
    border-radius: 0.625rem;
    webkit-animation: skeleton-loading 1s linear infinite alternate;
    animation: skeleton-loading 1s linear infinite alternate;
}

@keyframes skeleton-loading {
    0% {
        background-color: #DCD0CB;
    }
    100% {
        background-color: #f5f1f0;
    }
}

.gift-card-wrapper img {
  display: block;
}

.gift-card-wrapper.loading img {
  display: none;
}

.svg-inline--fa {
  width: 24px;
  height: auto;
  display: inline-block;
}

.ratings-wrapper .star-rating {
  font-size: 1.25rem;
  width: auto;
}

.ratings-wrapper.g2-ratings .star-rating {
  color: var(--tomato);
}

.star-ratings i {
  margin: 0 0.125rem;
  color: var(--tomato);
}

.levitate {
    transition: 400ms cubic-bezier(0.215,0.61,0.355,1);
    position: relative;
    top: 0;
}

.levitate:hover {
    top: -0.25rem;
}

hr {
    display: block;
    height: 1px;
    background-color: var(--gray-300);
    border: 0;
    margin: calc(var(--section-padding-minor)/2) 0;
}

hr.dropdown-divider {
    background-color: var(--gray-200);
}

hr.dark {
  background-color: var(--text-dark);
}

.dark-theme hr {
    background-color: rgba(255,255,255,0.7);
}

.rounded {
    border-radius: 0.75rem !important;
}

.rounded-large {
    border-radius: 1rem;
}

.rounded-card {
    border-radius: 1.15rem;
}

.rounded-phone {
    border-radius: 1.95rem;
}

.rounded-chip {
    border-radius: 0.5rem;
}

.icon-box {
    color: var(--icon-fill-primary);
}

.icon-box.box {
    height: 4rem;
    width: 4rem;
    min-width: 4rem;
    line-height: 4rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    transition: all .4s;
    background-color: rgba(255,255,255,0.5);
}

.icon-box.filled {
    height: 2rem;
    width: 2rem;
    min-width: 2rem;
    line-height: 2rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    transition: all .4s;
    background-color: var(--bg-dark);
    color: var(--text-light);
    font-weight: 700;
    font-size: 1rem;
    border-radius: 50%;
}

.icon-box .icon-wrapper {
  width: 100%;
  position: relative;
  min-width: 2rem;
  text-align: center;
}

section:not(.dark-theme) .icon-box .icon-wrapper.icon-wrapper-decoration {
  &::after {
    content: '';
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 4px;
    background-color: #e4c7ee;
    opacity: 1;
    position: absolute;
    right: -15%;
    bottom: -15%;
    z-index: 50;
  }
}

section:not(.dark-theme) .icon-box .icon-wrapper.icon-wrapper-decoration.decoration-circle {
  &::after {
    border-radius: 1.5rem;
  }
}

.icon-box [class*='fa-'] {
  font-size: 2rem;
  position: relative;
  top: 2px;
  z-index: 100;
}


.hero-image {
  z-index: 20;
}

.home-hero-image {
  margin-bottom: -80px;
}

.how-it-works-hero-image {
  margin-bottom: -59px;
}

.home-hero-bg-position {
  margin-top: -50px;
  margin-left: 175px;
}

.enterprise-hero-bg-position {
  margin-top: -60px;
  margin-left: 195px;
}

@media (max-width: 991px) {
  .home-hero-image,
  .enterprise-hero-image {
    display: none;
  }
  .home-hero-bg-position,
  .enterprise-hero-bg-position {
    margin-top: 0px;
    margin-left: 0px;
    position: relative !important;
  }
}

.feature-large-image,
.hero-absolute-image {
  z-index: 10;
  position: absolute;
}

@media (min-width: 992px) {
    .feature-large-image,
    .hero-absolute-image {
        top: 0;
        width: 100%;
    }
}

@media (min-width: 1200px) {
    .feature-large-image,
    .hero-absolute-image {
        width: 100%;
    }
}

@media (min-width: 1600px) {
    .feature-large-image,
    .hero-absolute-image {
        width: 100%;
    }
}

.step-row > div:not(:last-child) .card:after {
  display: block;
  font-family: 'Font Awesome 7 Pro' !important;
  font-weight: 400;
  content: '\f054';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.dark-links a {
  white-space: nowrap!important;
}

.pricing-callout {
  background: #eaeaf4;
}

/* brandList */

.brand-table-wrapper {
  border: solid 1px var(--border-color);
  border-radius: 12px;
  max-height: 1280px;
  overflow: scroll;
}

.brand-table-wrapper table tbody tr:only-child td,
.brand-table-wrapper table tbody tr:last-child td {
  border-bottom: 0px;
}

.gift-card-thumbnail {
   border-radius: 6px;
}

.clickable {
  cursor: pointer;
}

/* HUBSPOT Meeting Widget Style Override */

.meetings-iframe-container iframe .compact-container {
  min-width: 0 !important;
  max-width: 100% !important;
}

/* CALENDLY Meeting Wigdet Style Override */

.calendly-inline-widget {
  border: 1px solid #ced4da;
  border-radius: 0.5rem;
  overflow: hidden;
}

.safari-safe-top {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: env(safe-area-inset-top);
  background: #fff;
  z-index: 99999;
  pointer-events: none;
}

/* Blog style includes */

/* Blog styles */

.featured-article {
    margin-bottom: var(--section-padding-sm);
}

.blog-post h2 {
    font-size: var(--headline-3-size);
    letter-spacing: var(--headline-3-spacing);
    margin-bottom: 2rem;
}

.blog-post h3 {
    font-size: var(--headline-4-size);
    letter-spacing: var(--headline-4-spacing);
}

.blog-post h4 {
    font-size: var(--headline-5-size);
    letter-spacing: var(--headline-5-spacing);
}

.blog-post h5 {
    font-size: var(--headline-6-size);
    letter-spacing: var(--headline-6-spacing);
}

.blog-post ul:not(:last-child),
.blog-post ol:not(:last-child) {
    margin-bottom: var(--paragraph-bottom-margin);
}

.blog-post ul:last-child,
.blog-post ol:last-child {
    margin-bottom: 0;
}

.blog-post ul:not(.no-list) {
  list-style-type: none;
  padding-left: 1.5rem;
}

.blog-post ul:not(.no-list) li {
  position: relative;
  padding-left: 2rem;
  margin-bottom: 0.75rem;
}

.blog-post .table-of-contents ol li,
.blog-post ol li {
  margin-bottom: 0.75rem;
}

.blog-post ul:not(.no-list) li::before,
.blog-post ul:not(.no-list) li::after {
  font-family: "Font Awesome 7 Duotone";
  font-weight: 900;
  letter-spacing: normal;
  display: block;
  position: absolute;
  vertical-align: middle;
  left: 0;
  top: 0;
}

.blog-post ul:not(.no-list) li::before {
    color: var(--primary,inherit);
    opacity: var(--fa-primary-opacity,1);
    content: "\f058";
}

.blog-post ul:not(.no-list) li::after {
  content: "\f058\f058";
  color: var(--primary, inherit);
  opacity: var(--fa-secondary-opacity, 0.2);
}

.blog-post.lead ul:not(.no-list) li {
  padding-left: 2rem;
  margin-bottom: 1rem;
}

.blog-post.lead ul:not(.no-list) li:before,
.blog-post.lead ul:not(.no-list) li:after {
  font-size: var(--headline-6-size);
}

.blog-post-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
}

.blog-post-body img {
  max-width: 100% !important;
  height: auto;
}

.blog-post-body img,
.blog-post-body .hs-video-widget,
.blog-post-body .hs-video-container,
.blog-post-body .hs-video-wrapper {
  border-radius: 0.75rem;
  overflow: hidden;
}

.blog-post-body hr {
  background-color: transparent;
}

.blog-post-body article section + section:not(:first-child) {
  padding-top: 3.5rem;
}

.pagination .btn-link {
  width: 2rem;
  height: 2rem;
  line-height: 2rem;
  text-align: center !important;
  color: var(--text-color) !important;
  padding: 0;
  border-radius: 2rem !important;
  font-weight: 500;
}

.pagination .btn-link:not(.active):hover,
.pagination .btn-link:not(.active):focus {
  color: var(--primary) !important;
}

.pagination .btn-link.active {
  color: var(--white) !important;
  background-color: var(--primary);
  border-bottom: 0px;
}

/* Responsive styles includes */

/* Medium Breakpoint Styles */

@media (max-width: 1199.98px) {
  
}
/* Medium Breakpoint Styles */

@media (max-width: 991.98px) {
  .tab-content>.tab-pane.accordion-item {
    display: block !important; 
  }
  
  .tab-content>.tab-pane.accordion-item.fade {
    opacity: 1 !important; 
  }
  
  .tab-content>.tab-pane.accordion-item .accordion-button {
    display: flex;
  }
  
  .tab-content>.tab-pane.accordion-item .accordion-collapse {
    padding: 0;
  }
  
  .tab-content>.tab-pane.accordion-item .accordion-collapse .content-wrapper {
    padding: 1.25rem 1.5rem 1.75rem;
  }
  
  footer .container>.row:not(:last-child) {
    margin-bottom: var(--section-padding-minor) !important;
  }
}

@media (min-width: 992px) {
  .tab-content>.tab-pane.accordion-item {
    border-bottom: 0;
  }  
  
  .tab-content>.tab-pane.accordion-item .collapse {
    display: block !important;
  }
}
/* Small Breakpoint Styles */

@media (max-width: 767.98px) {
  .step-row > div:not(:last-child) .card:after {
    display: none !important;
  }
  
  footer .container>.row:not(:last-child) {
    margin-bottom: var(--section-padding-sm) !important;
  }
}

@media (min-width: 768px) {

}