/* @import url('http://example.com/example_style.css'); */

/***********************************************/
/* CSS @imports must be at the top of the file */
/* Add them above this section                 */
/***********************************************/
@import url("https://use.typekit.net/kam2nln.css");
/*****************************************/
/* Start your style declarations here    */
/*****************************************/

/** Them Variables */
:root {
    --accent-green-alt: #34b595;
    --accent-green-links: #2C816D;
    --flat-black: #1E252B;
    --white: #ffffff;
    --gray: #EBEBEE;
    --mustard-mid: #F5E184;

}

body {
  font-family: greycliff-cf, sans-serif;
}

/* Typography */

h1 {
    font-family: greycliff-cf, sans-serif;
    font-size: 4.75rem;
    line-height: 1.2;
    letter-spacing: 1%;
    font-weight: 700;
}

h2 {
    font-family: greycliff-cf, sans-serif;
    font-size: 3.5625rem;
    line-height: 1.2;
    letter-spacing: 1%;
    font-weight: 600;
}

h3 {
    font-family: greycliff-cf, sans-serif;
    font-size: 2.6875rem;
    line-height: 1.2;
    letter-spacing: 2%;
    font-weight: 700;
}

h4 {
    font-family: greycliff-cf, sans-serif;
    font-size: 2rem;
    line-height: 1.2;
    letter-spacing: 2%;
    font-weight: 700;
}

.h4-md {
    font-family: greycliff-cf, sans-serif;
    font-size: 2rem;
    line-height: 1.2;
    letter-spacing: 2%;
    font-weight: 500;
}

h5 {
    font-family: greycliff-cf, sans-serif;
    font-size: 1.5rem;
    line-height: 1.2;
    letter-spacing: 2%;
    font-weight: 700;
}

/* .h5-bold {
    font-family: greycliff-cf, sans-serif;
    font-size: 1.5rem;
    line-height: 1.2;
    letter-spacing: 2%;
    font-weight: 500;
} */

/* h6 {
    font-family: greycliff-cf, sans-serif;
    font-size: 1.5rem;
    line-height: 1.2;
    letter-spacing: 2%;
    font-weight: 500;
}

.h6-bold {
    font-family: greycliff-cf, sans-serif;
    font-size: 1.5rem;
    line-height: 1.2;
    letter-spacing: 2%;
    font-weight: 700;
} */

p {
    font-family: greycliff-cf, sans-serif;
    font-size: 1.125rem;
    line-height: 1.4;
    letter-spacing: 2%;
    font-weight: 500;
}

ul,
li {
    font-family: greycliff-cf, sans-serif;
    font-size: 1.125rem;
    line-height: 1.4;
    letter-spacing: 2%;
    font-weight: 500;
}

.body-bold {
    font-family: greycliff-cf, sans-serif;
    font-size: 1.125rem;
    line-height: 1.4;
    letter-spacing: 2%;
    font-weight: 700;
}

.body-sm-md {
    font-family: greycliff-cf, sans-serif;
    font-size: 0.875rem;
    line-height: 1.4;
    letter-spacing: 2%;
    font-weight: 500;
}

.body-sm-demi-bold {
    font-family: greycliff-cf, sans-serif;
    font-size: 1.125rem;
    line-height: 1.4;
    letter-spacing: 2%;
    font-weight: 600;
}

.body-lg-md {
    font-family: greycliff-cf, sans-serif;
    font-size: 1.25rem;
    line-height: 1.4;
    letter-spacing: 2%;
    font-weight: 500;
}

.body-lg-bold {
    font-family: greycliff-cf, sans-serif;
    font-size: 1.25rem;
    line-height: 1.4;
    letter-spacing: 2%;
    font-weight: 700;
}

.eyebrow {
    font-family: greycliff-cf, sans-serif;
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0%;
    font-weight: 700;
    text-transform: uppercase;
}

.nav-tem {
  color: var(--flat-black);
}

.featured-case-study-card:hover {
  border-width: 12px 2px 2px 2px;
}

.whole-card:hover {
  border-width: 12px 2px 2px 2px;
}

/* Nav Bar  */

.navbar-toggler {
  border: none;
}

.navbar-toggler:active {
  background-color: var(--accent-green-alt); 
}

.navbar-toggler:hover {
  background-color: var(--accent-green-alt); 
}

/* .navbar-toggler:focus {
  background-color: var(--accent-green-alt); 
} */

/* Secondary Button Styling */

.btn.btn {
    font-size: 1.125rem !important;
    padding: 0.5rem 1.25rem !important;
    border-radius: 31px;
    font-family: greycliff-cf, sans-serif;
    font-weight: 700;
    text-decoration: none;
    color: var(--flat-black);
}

.btn.btn-primary {
    background-color: var(--accent-green-alt);
    border: 1px solid var(--flat-black);
    color: var(--flat-black) !important;
    text-decoration: none;
    font-weight: 600;

        {
        # Override bootstrap #
    }

    --bs-navbar-nav-link-padding-x: 1.25rem;
}

.btn.btn-primary:hover {
    background-color: var(--accent-green-links);
    color: var(--flat-black);
}

.btn.btn-secondary {
    background-color: var(--white);
    border: 1px solid var(--accent-green-alt);
    color: (--flat-black) !important;
    text-decoration: none;
    font-weight: 700;
}

.btn.btn-secondary:hover {
    background-color: var(--gray);
    color: var(--flat-black);
}

a:hover {
    color: var(--accent-green-alt);
}

/* .nav-item-active {
  text-decoration: underline #34b595; 
} */

/* Footer Styles */

.kl-footer__legal {
    display: flex;
    flex-wrap: wrap;
    font-size: .875rem;
    justify-content: inherit;
    margin: -.625rem -1.25rem;
    align-items: center;
    font-family: greycliff-cf, sans-serif;
}

.hs-menu-wrapper ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding-left: 0;
    justify-content: space-between;
    font-family: greycliff-cf, sans-serif;
    font-size: 1.25rem;
    line-height: 1.4;
    letter-spacing: 2%;
    font-weight: 500;
    padding-top: 1.25rem;

}

.kl-footer__content {
    display: flex;
    justify-content: space-between;
    padding: 4rem 0;
    flex-direction: column;
}

.kl-footer__info {
    flex-basis: 320px;
}

.footer-top {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    /*   margin-bottom: 4.5rem; */

}

.footer-left-col {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
}

.footer-cta {
    display: flex;
    justify-content: flex-end;
}

.footer-img {
    padding-right: 1rem;
}

.footer-cta-copy {
    width: 50%;
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    border-top: 1px solid #1e252b;
    /*   margin-top: 1.625rem; */
}

/** Layout */

/* Allow content to span the full width of the screen: */
main.body-container-wrapper > .body-container {
  padding-left: 0;
  padding-right: 0;
}
.content-wrapper--vertical-spacing, .dnd-section {
    padding-left: 0;
    padding-right: 0;
}
/* Hide that annoying hubspot branding: */
body hs-cmsf-branding {
  display: none !important;
  visibility: hidden !important;
}

/* Add the squiggy squig: */
main .body-container:not(.body-container--blog-post) {
  background-image: url(//8944020.fs1.hubspotusercontent-na1.net/hubfs/8944020/raw_assets/public/2023%20Site/images/bkgd-squig.svg);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100vw;
}


/*
@media screen and (min-width: 992px) {
  main .body-container:not(.body-container--blog-post) {
   transform: translateY(-6rem);
  }
}
*/

/* Blog Styles */

.blog-post__timestamp {
    color: #1e252b;
    display: flex;
    font-family: greycliff-cf, sans-serif;
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0%;
    font-weight: 600;
    text-transform: uppercase;
}

.blog-more-container{
    background-color: #EBEBEE; 
}

.blog-more  {
    padding: 1.5rem 0; 
}

.blog-more-posts__post-wrapper {
   padding-bottom: 0; 
}

.blog-more h2 {
    background-color: #EBEBEE;
    padding-left: 1.5rem;
    margin: 0;
}

.blog-index__post:hover {
    border-width: 12px 2px 2px 2px; 
}


.blog-post__title {
    max-width: 100%;
    margin-bottom: 5rem;
    padding-top: 5rem;
}

.blog-post__body-wrapper {
    width: 100%;
}

.blog-hero-image {
    max-width: 960px;
    width: 100%;
    height: auto;
    margin: 0 auto;
}

.blog-hero-image img {
    max-width: 100%;
}

.blog-more-posts {
    padding: 0; 
}

.blog-more-posts__post {
    box-shadow: none;
    background-color: #ffffff;
    color: #1e252b;
    border-width: 12.5px 1px 1px 1px;
    border-style: solid;
    border-color: #1e252b;
}

.blog-more-posts__post-content h6 a {
  font-family: greycliff-cf, sans-serif;
}

.blog-index__post-preheader,
.blog-more-posts__post-preheader {
    color: var(--flat-black);
    font-family: greycliff-cf, sans-serif;
}

.blog-more-posts__post-content h6 a {
    color: var(--flat-black);
}

.post_author_avatar {
    display: none !important;
}

.post_author_name {
    color: var(--flat-black) !important;
}

.blog-post__meta {
  padding: 3rem 0;
}

.blog-post__meta a {
    color: var(--flat-black);
}

.blog-more {
 background-color: #EBEBEE; 
}

.blog-more-posts__post-date {
    margin-left: 0;
    color: var(--flat-black);
    font-family: greycliff-cf, sans-serif;
}


/** 
 * Blog Listing Page: 
 */
  .blog-filter .hs-search-field__bar:after {
    display: none;
    background-image: none;
  }
  
  .blog-filter .hs-search-field__form input[role="combobox"] {
    background: var(--gray);
    color: var(--flat-black);
    border-radius: 0;
  }
  
  .blog-filter .hs-search-field__form .hs-search-field__button {
    border-radius: 0;
    background-color: var(--accent-green-alt);
    border-color: var(--accent-green-alt);
  }
  
  .blog-filter .hs-search-field__form .hs-search-field__button svg {
    width: 13px;
    height: 13px;
  }
  
  .blog-post-listing-section,
  .blog-pagination-section {
    background-color: rgb(30 37 43 / 10%);
  }
  
  .blog-index__post-wrapper {
    padding: 1.5rem 0.75rem 4.5rem;
  }
  
  .blog-index__post {    
    border: 1px solid var(--flat-black);
    border-top-width: 10px;
    box-shadow: unset;
  }
  
  .post-title {
    font-size: 1.5rem;
    margin-bottom: 1.5em;
  }
  
  .post-title a {
    color: inherit;
  }
  
  .blog-index__post-date {
    font-size: 1rem;
    margin: 0 0 1.5em;
    color: var(--flat-black);
  }
  
  .post-summary {
    font-size: 1.125rem;
  }
  
  .blog-index__post-content a {
    color: inherit;
    text-decoration: none;
  }

  .hs-search-field {
    max-width: initial;
  }
/** End Blog Listing Page */

@media screen and (max-width: 768px) {

    h1 {
    font-family: greycliff-cf, sans-serif;
    font-size: 4.55rem;
    line-height: 1.2;
    letter-spacing: 1%;
    font-weight: 700;
}

h2 {
    font-family: greycliff-cf, sans-serif;
    font-size: 3.3625rem;
    line-height: 1.2;
    letter-spacing: 1%;
    font-weight: 600;
}

h3 {
    font-family: greycliff-cf, sans-serif;
    font-size: 2.4875rem;
    line-height: 1.2;
    letter-spacing: 2%;
    font-weight: 700;
}

h4 {
    font-family: greycliff-cf, sans-serif;
    font-size: 1.8rem;
    line-height: 1.2;
    letter-spacing: 2%;
    font-weight: 700;
}

.h4-md {
    font-family: greycliff-cf, sans-serif;
    font-size: 1.8rem;
    line-height: 1.2;
    letter-spacing: 2%;
    font-weight: 500;
}

h5 {
    font-family: greycliff-cf, sans-serif;
    font-size: 1.3rem;
    line-height: 1.2;
    letter-spacing: 2%;
    font-weight: 700;
}

/* .h5-bold {
    font-family: greycliff-cf, sans-serif;
    font-size: 1.5rem;
    line-height: 1.2;
    letter-spacing: 2%;
    font-weight: 500;
} */

/* h6 {
    font-family: greycliff-cf, sans-serif;
    font-size: 1.5rem;
    line-height: 1.2;
    letter-spacing: 2%;
    font-weight: 500;
}

.h6-bold {
    font-family: greycliff-cf, sans-serif;
    font-size: 1.5rem;
    line-height: 1.2;
    letter-spacing: 2%;
    font-weight: 700;
} */

    .eyebrow {
        font-family: greycliff-cf, sans-serif;
        font-size: 1rem;
        line-height: 1.5;
        letter-spacing: 0%;
        font-weight: 700;
        text-transform: uppercase;
    }



    .hs-menu-wrapper.hs-menu-flow-horizontal ul {
        flex-direction: row;
    }

    .kl-footer__info {
        flex-basis: 150px;
    }



    .hs-menu-item {
        padding: 0 .5rem;
    }

    .kl-footer__info {
        width: 100%;
        display: flex;
        flex-direction: row;
    }

    .footer-top {
        flex-direction: column-reverse;

    }

    .footer-left-col {
        width: 100%;
    }

    .footer-cta-copy {
        width: 100%;
    }


}

/* System Pages */


/* 500 & 404 Error */

.error-500-message {
  padding-top: 12.5rem;
  min-height: 35.25rem;
}

/* Password Prompt */

.systems-page-design {
   padding-top: 14.5rem;
  min-height: 35.25rem;
}

.systems-page-design form input {
   max-width: 50%;
}

.systems-page-design form .hs-button {
   margin-top: 1.5rem; 
}

.systems-page-design #hs-pwd-widget-password {
  font-family: greycliff-cf, sans-serif;
}

.systems-page-design .hs-button {
  font-family: greycliff-cf, sans-serif;
}

/* Email Preferences */

.systems-page-email {
    padding-top: 9.5rem;
    min-height: 37.25rem;
}


.systems-page-email h1, h2, h3, h4, h5, p, ul, li, span {
    font-family: greycliff-cf, sans-serif;
}

.systems-page-email .page-header {
    font-family: greycliff-cf, sans-serif;
}

.systems-page-email .email-prefs {
  padding-top: 3rem;
}


.systems-page-email #email-prefs-form {
  font-family: greycliff-cf, sans-serif;
}

.systems-page-email .hs-button {
  font-family: greycliff-cf, sans-serif;
}

@media screen and (max-width: 631px) {


/*     .footer-top {
        flex-direction: column;
    } */

    .footer-left-col {
        width: 100%
    }


}

@media screen and (max-width: 562px) {


    .footer-bottom {
        flex-direction: column;
        align-items: center;

    }
}

@media screen and (max-width: 555px) {


    .kl-footer__social {
        margin-top: .5rem;

    }
}


@media screen and (max-width: 460px) {


    .kl-footer__info {
        flex-direction: column;
    }

    .kl-footer__legal {
        text-align: center;
    }

}

@media screen and (max-width: 425px) {

    h1 {
    font-family: greycliff-cf, sans-serif;
    font-size: 3.75rem;
    line-height: 1.2;
    letter-spacing: 1%;
    font-weight: 700;
}

h2 {
    font-family: greycliff-cf, sans-serif;
    font-size: 3.1625rem;
    line-height: 1.2;
    letter-spacing: 1%;
    font-weight: 600;
}

h3 {
    font-family: greycliff-cf, sans-serif;
    font-size: 2.2875rem;
    line-height: 1.2;
    letter-spacing: 2%;
    font-weight: 700;
}

h4 {
    font-family: greycliff-cf, sans-serif;
    font-size: 1.6rem;
    line-height: 1.2;
    letter-spacing: 2%;
    font-weight: 700;
}

.h4-md {
    font-family: greycliff-cf, sans-serif;
    font-size: 1.6rem;
    line-height: 1.2;
    letter-spacing: 2%;
    font-weight: 500;
}

h5 {
    font-family: greycliff-cf, sans-serif;
    font-size: 1.2rem;
    line-height: 1.2;
    letter-spacing: 2%;
    font-weight: 700;
}
}