/* Minification failed. Returning unminified contents.
(54,23): run-time error CSS1039: Token not allowed after unary operator: '-geologica-regular'
(62,30): run-time error CSS1039: Token not allowed after unary operator: '-transition-default'
(135,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(136,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(137,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(138,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(142,28): run-time error CSS1039: Token not allowed after unary operator: '-green'
(146,22): run-time error CSS1039: Token not allowed after unary operator: '-gray'
(150,28): run-time error CSS1039: Token not allowed after unary operator: '-blue'
(154,28): run-time error CSS1039: Token not allowed after unary operator: '-blue-light'
(158,28): run-time error CSS1039: Token not allowed after unary operator: '-green'
(162,28): run-time error CSS1039: Token not allowed after unary operator: '-blue'
(166,28): run-time error CSS1039: Token not allowed after unary operator: '-blue-light'
(1678,23): run-time error CSS1039: Token not allowed after unary operator: '-geologica-regular'
(1696,23): run-time error CSS1039: Token not allowed after unary operator: '-geologica-regular'
 */
.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__arrow{-ms-flex-align:center;align-items:center;background:#ccc;border:0;border-radius:50%;cursor:pointer;display:-ms-flexbox;display:flex;height:2em;-ms-flex-pack:center;justify-content:center;opacity:.7;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:2em;z-index:1}.splide__arrow svg{fill:#000;height:1.2em;width:1.2em}.splide__arrow:hover:not(:disabled){opacity:.9}.splide__arrow:disabled{opacity:.3}.splide__arrow:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide__arrow--prev{left:1em}.splide__arrow--prev svg{transform:scaleX(-1)}.splide__arrow--next{right:1em}.splide.is-focus-in .splide__arrow:focus{outline:3px solid #0bf;outline-offset:3px}.splide__pagination{bottom:.5em;left:0;padding:0 1em;position:absolute;right:0;z-index:1}.splide__pagination__page{background:#ccc;border:0;border-radius:50%;display:inline-block;height:8px;margin:3px;opacity:.7;padding:0;position:relative;transition:transform .2s linear;width:8px}.splide__pagination__page.is-active{background:#fff;transform:scale(1.4);z-index:1}.splide__pagination__page:hover{cursor:pointer;opacity:.9}.splide__pagination__page:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__pagination__page:focus{outline:3px solid #0bf;outline-offset:3px}.splide__progress__bar{background:#ccc;height:3px}.splide__slide{-webkit-tap-highlight-color:rgba(0,0,0,0)}.splide__slide:focus{outline:0}@supports(outline-offset:-3px){.splide__slide:focus-visible{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide__slide:focus-visible{border:3px solid #0bf}}@supports(outline-offset:-3px){.splide.is-focus-in .splide__slide:focus{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide.is-focus-in .splide__slide:focus{border:3px solid #0bf}.splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus{border-color:#0bf}}.splide__toggle{cursor:pointer}.splide__toggle:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__toggle:focus{outline:3px solid #0bf;outline-offset:3px}.splide__track--nav>.splide__list>.splide__slide{border:3px solid transparent;cursor:pointer}.splide__track--nav>.splide__list>.splide__slide.is-active{border:3px solid #000}.splide__arrows--rtl .splide__arrow--prev{left:auto;right:1em}.splide__arrows--rtl .splide__arrow--prev svg{transform:scaleX(1)}.splide__arrows--rtl .splide__arrow--next{left:1em;right:auto}.splide__arrows--rtl .splide__arrow--next svg{transform:scaleX(-1)}.splide__arrows--ttb .splide__arrow{left:50%;transform:translate(-50%)}.splide__arrows--ttb .splide__arrow--prev{top:1em}.splide__arrows--ttb .splide__arrow--prev svg{transform:rotate(-90deg)}.splide__arrows--ttb .splide__arrow--next{bottom:1em;top:auto}.splide__arrows--ttb .splide__arrow--next svg{transform:rotate(90deg)}.splide__pagination--ttb{bottom:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;left:auto;padding:1em 0;right:.5em;top:0}
/* Website Redesign 2024 New Modules reference: https://siteimprove323-my.sharepoint.com/:x:/r/personal/mmoe_siteimprove_com/Documents/Website%20Redesign%202024%20New%20Modules.xlsx?d=wba89bbe485964b89b8a6d6b515d05d30&csf=1&web=1&e=7PqHyU */
/* 

-- classes used in multiple modules --
*/
.txt-highlight-green {
    position: relative;
    margin-left: .5rem;
    margin-right: .5rem;
    white-space: nowrap;
}

    .txt-highlight-green::after {
        content: "";
        background-color: #A5FF81;
        width: 100%;
        height: 80%;
        padding: 0 .5rem;
        border-radius: 1rem;
        position: absolute;
        z-index: -1;
        top: 0;
        left: -0.5rem;
    }

.txt-highlight-white {
    position: relative;
    margin-left: .5rem;
    margin-right: .5rem;
    white-space: nowrap;
}

    .txt-highlight-white::after {
        content: "";
        background-color: #FFF;
        width: 100%;
        height: 80%;
        padding: 0 .5rem;
        border-radius: 1rem;
        position: absolute;
        z-index: -1;
        top: 0;
        left: -0.5rem;
    }

.btn-black {
    line-height: 1.6rem;
    position: relative;
    padding: 2rem 4rem;
    margin: 0;
    border-radius: 2.8rem;
    font-size: 1.6rem;
    font-family: var(--geologica-regular);
    color: #fff;
    text-align: center;
    text-decoration: none;
    outline: none;
    cursor: pointer;
    border-image-width: 0;
    background: #202124;
    transition: all .2s var(--transition-default);
    user-select: none;
}

    .btn-black:hover {
        background: #141516;
        color: #FFFFFF;
    }

.btn-black-outline {
    font-weight: 700;
}

.border-20 {
    border-radius: 20px;
}

.parallelogram {
    position: relative;
    overflow: hidden;
}

.svg-foreground {
    position: absolute;
    bottom: -10rem;
    right: 10rem;
    transform: translateX(30%) translateY(30%);
    z-index: -1;
    pointer-events: none; /* to not block mouse events, because it creates a square over its entire area */
}

.link-with-arrow {
    color: #000;
    text-decoration: none;
    font-weight: 700;
    font-size: 1.4rem;
}

    .link-with-arrow:hover {
        text-decoration: underline;
        color: #000;
    }

.right-arrow-svg {
    margin-left: 1rem;
    margin-bottom: -.3rem !important;
    cursor: pointer;
}

svg.right-arrow-svg {
    margin-left: unset;
}

.link-with-arrow-bg {
    background: #0D4CD3;
    padding: .75rem;
    display: inline-block;
    border-radius: 50%;
    margin-left: 1rem;
}

.bg-gradient {
    background: radial-gradient(at right center, #f2f2f2, white);
    max-width: unset;
    z-index: -1;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
}

:root {
    --green: #A5FF81;
    --blue: #0D4CD3;
    --blue-light: #0D4CD350;
    --gray: #F2F2F2;
}

.bg-green {
    background-color: var(--green);
}

.bg-gray {
    background: var(--gray);
}

.bg-blue {
    background-color: var(--blue);
}

.bg-lightblue {
    background-color: var(--blue-light);
}

.bg-green-after::after {
    background-color: var(--green);
}

.bg-blue-after::after {
    background-color: var(--blue);
}

.bg-lightblue-after::after {
    background-color: var(--blue-light);
}

.nowrap-txt {
    white-space: nowrap;
}

.mx-auto {
    margin-left: auto;
    margin-right: auto;
}

/* splide.js styles */
.splide__pagination {
    bottom: -4rem;
}

/* Disabled the sitewide css that is adding a ::before to all lists*/
ul.splide__pagination li::before {
    background-color: unset;
    display: inline-block;
}

.slide-content {
    padding: 20px;
    background: #f8f8f8;
    border: 1px solid #ddd;
    text-align: center;
    /* Ensure text is selectable */
    user-select: text;
}

.splide__pagination {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.splide__pagination__page {
    width: 10px;
    height: 10px;
    background: transparent;
    outline: 2px solid #202124;
    border-radius: 50%;
    margin: 0 5px;
    cursor: pointer;
}

    .splide__pagination__page.is-active {
        /* color for the active page */
        background: #202124;
        opacity: unset;
        outline: unset;
    }

.splide__slide {
    /* Ensure text is selectable */
    user-select: text;
}

.splide__arrow {
    background: #202124;
    opacity: unset;
}

    .splide__arrow svg {
        fill: #fff;
    }

.splide__arrow--next {
    right: -5rem;
}

.splide__arrow--prev {
    left: -5rem;
}

.bg-max-width-L {
    background-color: unset;
}

    .bg-max-width-L > *::after {
        content: '';
        border-radius: 20px;
        max-width: unset;
        z-index: -1;
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        transform: translateX(-100vw);
        width: calc(100% + 100vw);
    }

    .bg-max-width-L.bg-gray > *::after {
        background: #F2F2F2;
    }

    .bg-max-width-L.bg-green > *::after {
        background: #A5FF81;
    }

.bg-max-width-R {
    background-color: unset;
}

    .bg-max-width-R > *::after {
        content: '';
        border-radius: 20px;
        max-width: unset;
        z-index: -1;
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100vw;
    }

    .bg-max-width-R.bg-gray > *::after {
        background: #F2F2F2;
    }


    .bg-max-width-R.bg-green > *::after {
        background: #A5FF81;
    }

.bg-max-width {
    padding: 10rem;
    gap: 8rem;
    justify-content: center;
}

.bg-max-width-unset {
    max-width: unset;
}

.section-line-with-dot {
    position: relative;
}

.line-with-dot {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%) translateY(-100%);
    width: 2px;
    min-height: 20px;
    height: 5vw;
    max-height: 40px;
    background-color: #202124;
}

    .line-with-dot::before {
        content: '';
        position: absolute;
        top: 0;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 15px;
        height: 15px;
        background-color: #202124;
        border-radius: 50%;
    }

.line-no-dot {
    position: relative;
}

    .line-no-dot::before {
        content: '';
        position: absolute;
        top: -13%;
        left: 50%;
        transform: translateX(-50%);
        width: 2px;
        height: 150px;
        background-color: #202124;
        background-size: contain;
        background-repeat: no-repeat;
        z-index: -2;
    }


.footer-bg {
    position: relative;
    max-width: unset;
    padding-top: 15rem;
    margin-bottom: 10rem;
}

    .footer-bg::before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 35rem;
        background-color: #A5FF81;
        z-index: -1;
    }

.offset-bottom-20 {
    bottom: -20rem;
}

/* media queries */

@media only screen and (max-width: 1440px) {
    .splide__arrow--prev {
        left: -5rem;
    }
}

@media screen and (max-width: 79.99em) {
    .section-line-with-dot {
        margin-top: 3rem;
    }

    .line-no-dot {
        margin-top: 1rem;
    }

    .footer-bg {
        margin-bottom: 5rem;
        padding-top: 10rem;
    }
}

@media screen and (max-width: 63.99em) {
    .splide__arrow--next {
        right: -4rem;
    }

    .splide__arrow--prev {
        left: -4rem;
    }

    .bg-max-width {
        flex-direction: column;
        padding: 3rem;
        gap: 4rem;
    }

    .footer-bg::before {
        height: 30rem;
    }

    .nowrap-txt {
        white-space: unset;
    }

    .mt60 {
        margin-top: 3rem;
    }

    .svg-foreground {
        display: none;
    }

    .parallelogram-circles {
        display: none;
    }
}

@media screen and (max-width: 37.49em) {

    .splide__arrow--next {
        right: -2rem;
    }

    .splide__arrow--prev {
        left: -2rem;
    }

    .splide__arrow {
        height: 1.5rem;
        width: 1.5rem;
    }

        .splide__arrow svg {
            height: .70rem;
            width: .70rem;
        }

    .bg-gradient {
        padding-bottom: 5rem;
    }

    .footer-bg {
        padding-top: 5rem;
    }

    .pt-sm-72 {
        padding-top: 7.2rem;
    }

    .pt-sm-32 {
        padding-top: 3.2rem;
    }
}

@media screen and (max-width: 320px) {
    .footer-bg::before {
        height: 34rem;
    }
}

/* 
--module 1--
Includes:
* capitalized paragraph text title (optional)
* h1 heading with highlighted text (needs HTML input)
* paragraph text (optional)
* graphic (optional)
* site checker (optional)
* button (optional)

Used on pages:
* Homepage

*/
.website-checker-form {
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.website-checker-field {
    width: 75%;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    /* Added for screen readers */
    white-space: nowrap;
    border: 0;
}

.website-checker-field input[type=text] {
    border-radius: 3rem;
    padding: 1.2rem 1.2rem;
    border: 2px solid #202124;
}

.website-checker-button {
    margin-left: -15%;
    width: 46%;
}

    .website-checker-button input[type=submit] {
        border-radius: 3rem;
        padding: 1.6rem 1.6rem;
        width: 100%;
    }

.decorative-circle-graphic {
    position: relative;
}

.decorative-circle-img {
    padding: 0 !important;
    margin-top: 3rem;
    display: block;
}

.gap-1-5 {
    gap: 1.5rem;
}

/* optional class for module 1 to capitalize the top smaller text */
.txt-uppercase {
    text-transform: uppercase;
}

/* media queries */
@media screen and (max-width: 53em) {
    .decorative-circle-img {
        display: none;
    }

    .grid .site-checker {
        max-width: 100% !important;
        width: 100%;
        flex-basis: 100%;
    }
}

@media screen and (max-width: 37.49em) {
    .website-checker-form {
        flex-direction: column;
    }

        .website-checker-form .website-checker-button {
            margin-left: 0 !important;
        }

        .website-checker-form .website-checker-field {
            width: 100% !important;
            margin-bottom: 1rem;
        }
}

/* 
--module 2--
Includes:
* Customer logos

Used on pages:
* Homepage

*/

.logos {
    display: flex;
    justify-content: center !important;
    align-items: center;
}

    .logos img {
        align-self: center !important;
        flex-basis: 14% !important;
        max-width: 14% !important;
        display: block;
    }

    .logos .logo__list img {
        max-width: unset !important;
    }

/* media queries */

@media screen and (max-width: 63.99em) {
    .logos img {
        padding: 3.2rem 8rem !important;
    }
}

@media screen and (max-width: 53em) {
    .logos img {
        padding: 3.2rem 4rem !important;
    }
}

@media screen and (max-width: 37.49em) {
    .logos img {
        padding: 3.2rem 4rem !important;
    }
}

/* 
--module 3--
Includes:
* Image
* full width bg at 80% vertical height (bottom to top)

Used on pages:
* Homepage

*/

.bg-full-w-80h {
    position: relative;
    max-width: unset;
    background-color: unset;
}

    .bg-full-w-80h::before {
        content: '';
        position: absolute;
        bottom: 30%;
        top: 0;
        left: 0;
        right: 0;
        z-index: -1;
        transform: translateY(45%);
    }

    .bg-full-w-80h.bg-green::before {
        background-color: #A5FF81;
    }

/* 
--module 7--
Includes:
* gradient section bg
* capitalized paragraph text title 
* h2 heading
* carousel slider for case studies
* 2 columns
* left:
      logo
* right: 
      h2 heading
      paragraph text
      2 boxes with: 
          bg color
           percentage title
           paragraph text
      link text
      arrow svg
* foreground paralleogram

Used on pages:
* Homepage

*/

.carousel-bg {
    background-color: #A5FF81;
    border-radius: 20px;
    display: flex;
    align-items: center;
}

.carousel-logo {
    max-width: 50%;
    margin: 0 auto;
}

.carousel-right-side {
    overflow: hidden;
    position: relative;
}

.carousel-p {
    margin-bottom: 3rem;
}

.carousel-stats-container {
    gap: 2rem;
    margin-bottom: 2rem;
    align-items: stretch;
}

.carousel-stats {
    background-color: #f2f2f2;
    border-radius: 20px;
    padding: 2rem;
    flex: 1;
}

.svg-carousel {
    position: absolute;
    bottom: -16rem;
    right: -25rem;
    transform: translateX(30%) translateY(30%);
    z-index: 1;
    /* to not block mouse events, because it creates a square over its entire area */
    pointer-events: none;
}


.carousel-container {
    background-color: #fff;
    display: flex;
    border-radius: 20px;
    /*to make all slides the same height */
    height: 100%;
}

/*media queries*/

@media only screen and (max-width: 1440px) {
    .svg-carousel {
        bottom: -18rem;
    }
}

@media screen and (max-width: 79.99em) {
    .carousel-container {
        height: unset;
    }
}

@media screen and (max-width: 63.99em) {
    .carousel-container {
        flex-direction: column;
    }

    .carousel-bg {
        border-radius: 20px 20px 0 0;
    }

    .carousel-logo {
        padding: 2rem 10rem;
        border-radius: 0;
    }
}

@media screen and (max-width: 37.49em) {

    .carousel-logo {
        padding: 1rem 4rem;
    }

    .svg-carousel {
        bottom: -20rem;
    }

    .carousel-stats-container {
        margin-bottom: 2rem;
    }
}

/* 
--module 9--
Includes:
* carousel slider for customer quotes 
* graphic 
* h2 heading 
* quoted paragraph text 
*employee name 
* job title 
* company

Used on pages:
* Homepage

*/

.quote-img {
    margin: 0 auto;
}

.quote-p {
    width: 75%;
    margin: 0 auto;
}

/* media queries */

@media screen and (max-width: 37.49em) {
    .quotes {
        margin: 2rem 0;
    }
}

/* 
--module 12--
Includes:
* h2 heading with highlighted text (needs HTML input) (optional)
* h2 heading (without highlighted text - optional)
* paragraph text (optional)
* 3 column boxes with (optional):
        bg color
        percentage title
        paragraph text
* background or foreground paralleogram (optional)

Used on pages:
* why siteimprove overview

*/

.stats-data-container {
    justify-content: center;
    gap: 1rem;
    margin-top: 1rem;
    z-index: 3;
    padding: 0;
}

.stats-data-item {
    background-color: #A5FF81;
    border-radius: 20px;
    padding: 5rem;
    flex: 1;
}

/* media queries */

@media screen and (max-width: 63.99em) {
    .stats-data-container {
        flex-direction: column;
    }
}

@media screen and (max-width: 37.49em) {
    .grid .col.stats-data-item {
        padding: 1.6rem;
    }
}

/* 
--module 13--
Includes:
* full width bg at 80% vertical height (top to bottom)
* h2 heading
* paragraph text
* image (optional)
* 1, 2, 3 columns
        icon
        h2 heading
        paragraph text
        link text (optional)
        arrow svg (optional)
        bg color at 20% vertical height (bottom to top)

Used on pages:
* why siteimprove overview

*/

.bg-full-w-80h-top {
    position: relative;
    max-width: unset;
}

    .bg-full-w-80h-top::before {
        content: '';
        position: absolute;
        bottom: 0;
        top: 24%;
        left: 0;
        right: 0;
        background-color: #F2F2F2;
        z-index: -1;
        transform: translateY(-24%);
    }

.features-container {
    justify-content: center;
    gap: 2rem;
    margin-top: 1rem;
    z-index: 3;
    padding: 0;
}

.feature-item {
    background-color: #fff;
    border-radius: 20px;
    padding: 5rem;
    flex: 1;
    position: relative;
    flex-basis: calc(25% - 2rem);
    max-width: 33%;
    padding-bottom: 8rem !important;
}

    .feature-item:nth-of-type(3) p:last-of-type {
        margin-bottom: 0 !important;
    }

.bttm-color::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 5rem;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

.feature-icon {
    display: block;
    max-width: 100%;
    padding-bottom: 4rem;
}

/* media queries */

@media screen and (max-width: 63.99em) {
    .bg-full-w-80h-top::before {
        top: 9%;
        transform: translateY(-9%);
    }

    .features-container {
        flex-direction: column;
    }

    .feature-item p {
        margin-bottom: 3.2rem !important;
    }

    .feature-item:nth-of-type(3) p:last-of-type {
        margin-bottom: 3.2rem !important;
    }
}

@media screen and (max-width: 37.49em) {
    .grid .col.feature-item {
        padding: 5rem;
    }
}

/* 
--module 14--
Includes:
* h2 heading with highlighted text (needs HTML input)
* 2 columns
* left:
     video
* right:
      h2 heading
      paragraph text
      link text
      arrow svg
* foreground paralleogram

Used on pages:
* why siteimprove overview

*/

.case-study-container {
    display: flex;
    border-radius: 20px;
    gap: 2rem;
}

.case-study-bg {
    background-color: #0D4CD320;
    border-radius: 20px;
    display: flex;
    align-items: center;
}

.case-study-logo {
    max-width: 100%;
    margin: 0 auto;
}

.case-study-right-side {
    overflow: hidden;
    position: relative;
    padding: 8rem !important;
    background-color: #fff;
    border-radius: 20px;
}

.case-study-p {
    margin-bottom: 3rem;
}

.svg-case-study {
    position: absolute;
    bottom: -16rem;
    right: -25rem;
    transform: translateX(30%) translateY(30%);
    z-index: 1;
    /* to not block mouse events, because it creates a square over its entire area */
    pointer-events: none;
}

.video__wrap {
    box-shadow: unset !important;
}

/* media queries */

@media only screen and (max-width: 1440px) {
    .svg-case-study {
        bottom: -18rem;
    }
}

@media screen and (max-width: 79.99em) {
    .case-study-container {
        height: unset;
    }
}

@media screen and (max-width: 63.99em) {
    .case-study-container {
        flex-direction: column;
    }

    .case-study-bg {
        border-radius: 20px 20px 0 0;
        padding: 8rem !important;
    }
}

@media screen and (max-width: 37.49em) {
    .case-study-right-side {
        padding: 4rem !important;
    }

    .svg-case-study {
        bottom: -20rem;
    }
}

/* 
--module 15--
Includes:
* full width bg (optional)
* h2 heading (optional)
* h2 heading (without highlighted text - optional)
* 2, 3 and 4 columns (with option for hover effect)
        bg color covering full column (optional)
        bg color w/ padding and margin (optional)
        logo/icon
        paragraph text (optional) - normal or bold
        bolded link text (optional)
        arrow svg w/ bg (optional)
* foreground and background paralleogram (optional)
* button (optional)

Used on pages:
* why siteimprove how it works

*/

.customer-stories-section {
    background: radial-gradient(#f2f2f2, white);
    max-width: unset;
    padding-bottom: 10rem;
}

.customer-stories-container {
    justify-content: center;
    gap: 1rem;
    margin-top: 1rem;
    z-index: 3;
    padding: 0;
}

    .customer-stories-container .customer-stories-item {
        background: #FFFFFF;
        border-radius: 20px;
        padding: 5rem;
        flex: 1;
    }

.customer-stories-inside-bg {
    background: #A5FF8150;
    border-radius: 20px;
    padding-top: 3.2rem;
    padding-bottom: 3.2rem;
}

    .customer-stories-inside-bg img {
        max-width: 70%;
        margin-top: 2rem;
    }

.customer-stories-p {
    margin-top: 3.2rem !important;
}

/* media queries */

@media only screen and (max-width: 1440px) {
    .customer-stories-p {
        margin-top: 2.2rem !important;
    }
}

@media screen and (max-width: 79.99em) {
    br {
        display: none;
    }
}

@media screen and (max-width: 63.99em) {
    .customer-stories-container {
        flex-direction: column;
    }
}

@media screen and (max-width: 37.49em) {
    .customer-stories-section {
        padding-top: 10rem;
        padding-bottom: 5rem;
    }
}


/* 
--module 19--
Includes:
*h2 heading
*paragraph text
* featured blog
      h3 heading
      paragraph text
      author
      date
image

Used on pages:
* homepage
* blog overview page

*/

.blog-container {
    border-radius: 20px;
}

a.blog-container {
    text-decoration: none;
    color: #202124;
}

    a.blog-container:hover {
        box-shadow: 0px 0px 10px 5px #00000010;
        border-radius: 20px;
    }

.blog-img {
    width: 100%;
    margin: 0 auto;
}

/* media queries */

@media screen and (max-width: 63.99em) {
    .blog-img {
        margin-top: 4rem;
    }
}


/* 
--module 20--
Includes:
*h2 heading
* paragraph text
* 4 column tabs
      image
      title bold
      3 columns
            title
            paragraph text
       button
      

Used on pages:
* homepage
* platform pages (Digital Accessibility & Governance, Digital Experience Analytics, Performance & Search Marketing, Cross-Channel Campaign Management)

*/


.tabs2024 .btn-container img {
    margin: 0 auto;
    filter: saturate(0) opacity(0.7);
    transition: all .75s;
}

.tabs2024 .btn-container {
    /* needed to make room for focus outline when keyboard tabbing */
    gap: 2.66%;
}

    .tabs2024 .btn-container button {
        /* needed to make room for focus outline when keyboard tabbing */
        flex-basis: 23%;
        max-width: 23%;
        justify-content: center;
    }

.tabs2024 > div p {
    font-weight: 700;
}

.tabs2024 [aria-selected="true"] {
    box-shadow: 0px 0px 10px 5px #00000010;
    border-radius: 20px;
    z-index: 2;
    margin-bottom: -1rem;
    background-color: white;
    position: relative;
}

.tabs2024 .btn-container [aria-selected="true"] img, .tabs2024 .btn-container button:hover img {
    filter: saturate(1) opacity(1);
}

.btn-container button:focus-visible {
    outline: 2px solid #0D4CD3;
    border-radius: 20px;
}

.tabs-content:focus-visible {
    outline: 2px solid #0D4CD3;
    border-radius: 20px;
}

.tabs2024 [aria-selected="true"]::before {
    content: '';
    background-color: white;
    height: 40px;
    display: block;
    position: absolute;
    z-index: 3;
    bottom: -15px;
    left: 1px;
    right: 1px;
}

.tabs2024 [aria-selected="true"]::after {
    content: '';
    background-color: black;
    height: 3px;
    display: block;
    position: absolute;
    z-index: 3;
    bottom: 10px;
    left: 27%;
    right: 27%;
    border-radius: 20px;
}

.tabs-content {
    box-shadow: 0px 0px 10px 5px #00000010;
    border-radius: 20px;
    background: #FFFFFF;
}



.btn-container button {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.btn-container {
    align-items: stretch;
}

/* media queries */

/* Flex-flow was messing up being able to scroll */
@media screen and (max-width: 37.5em) {
    .tabs2024[role="tablist"] .btn-container {
        display: flex;
        overflow-x: scroll; /* Ensure tab scrolling is always visible */
        overflow-y: hidden;
        scroll-snap-type: x mandatory; /* Optional: For snap scrolling */
        -webkit-overflow-scrolling: touch;
        flex-flow: unset; /*important, to allow buttons widths to get bigger than the container*/
        scroll-snap-type: x mandatory;
        position: relative;
    }

    /* to help with having an outline on the sides on mobile for keyboard selecting */
    .tabs2024 .btn-container {
        padding-left: 2px !important;
        padding-right: 2px !important;
    }

    .tabs2024[role="tablist"]::after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        height: 100%;
        width: 150px;
        background: linear-gradient(to left, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
        pointer-events: none;
    }

    .tabs2024.grid .col-3[role="tab"] {
        flex: 0 0 150px; /* Flex basis of 50% to take half the screen width */
        max-width: 150px; /* Ensure they don't grow beyond 50% */
        cursor: pointer;
        scroll-snap-align: center;
    }
}

/* 
--module 22--
Includes:
*h2 heading
*left
    3 vertical tabs
        image
        h3 heading
*right
    bolded paragraph text
    paragraph text
    image
      

Used on pages:
* platform pages (Digital Accessibility & Governance, Digital Experience Analytics, Performance & Search Marketing, Cross-Channel Campaign Management)

*/


.tabs2024-vertical .btn-container img {
    filter: saturate(0) opacity(0.7);
    transition: all .75s;
    margin-right: auto;
}

.tabs2024-vertical .btn-container {
    /* needed to make room for focus outline when keyboard tabbing */
    gap: 2.66%;
    flex-direction: column;
}

    .tabs2024-vertical .btn-container button {
        /* needed to make room for focus outline when keyboard tabbing */
        flex-basis: 100%;
        max-width: 100%;
        flex-direction: row;
        border-radius: 20px;
        background-color: white;
        margin-bottom: 2rem;
        ;
    }

        .tabs2024-vertical .btn-container button img {
            width: 100%;
        }


.tabs2024-vertical [aria-selected="true"] {
    border-radius: 20px;
    z-index: 2;
    background-color: white;
    position: relative;
}

.tabs2024-vertical .btn-container [aria-selected="true"] img, .tabs2024-vertical .btn-container button:hover img {
    filter: saturate(1) opacity(1);
}

.tabs2024-vertical [aria-selected="true"] .for-img-after {
    position: relative;
}

    .tabs2024-vertical [aria-selected="true"] .for-img-after::after {
        content: '';
        background-color: black;
        height: 3px;
        display: block;
        position: absolute;
        z-index: 3;
        bottom: -3.3rem;
        left: 0%;
        right: 0%;
        border-radius: 20px;
    }

/* media queries */

/* Flex-flow was messing up being able to scroll */
@media screen and (max-width: 63.99em) {
    .tabs-content-vertical {
        padding-left: 0 !important;
        margin-top: 3.2rem;
    }

        .tabs-content-vertical > div {
            padding: 0;
        }

    .tabs2024-vertical[role="tablist-vertical"] .btn-container {
        display: flex;
        overflow-x: scroll; /* Ensure tab scrolling is always visible */
        overflow-y: hidden;
        scroll-snap-type: x mandatory; /* Optional: For snap scrolling */
        -webkit-overflow-scrolling: touch;
        flex-flow: unset; /*important, to allow buttons widths to get bigger than the container*/
        scroll-snap-type: x mandatory;
        position: relative;
    }

    /* to help with having an outline on the sides on mobile for keyboard selecting */
    .tabs2024-vertical .btn-container {
        padding-left: 2px !important;
        padding-right: 2px !important;
    }

    .tabs2024-vertical[role="tablist-vertical"]::after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        height: 78%;
        width: 50px;
        background: linear-gradient(to left, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
        pointer-events: none;
        display: none;
    }

    .tabs2024-vertical.grid .col-12[role="tab-vertical"] {
        flex: 0 0 250px; /* Flex basis of 50% to take half the screen width */
        max-width: 250px; /* Ensure they don't grow beyond 50% */
        cursor: pointer;
        scroll-snap-align: center;
    }

    .tabs2024-vertical .btn-container button {
        padding: 1.6rem 1.6rem !important;
        margin: 0 !important;
    }

    .tabs2024-vertical .btn-container h3 {
        font-size: 2rem;
    }


    .tabs2024-vertical [aria-selected="true"] .for-img-after::after {
        display: none;
    }

    .tabs2024-vertical [aria-selected="true"]::after {
        content: '';
        background-color: black;
        height: 3px;
        display: block;
        position: absolute;
        z-index: 3;
        bottom: 0;
        left: 25%;
        right: 25%;
        border-radius: 20px;
    }
}

@media screen and (max-width: 37.49em) {

    .tabs2024-vertical .btn-container h3 {
        margin-left: 0 !important;
        font-size: 1.5rem;
        text-align: center !important;
    }

    .tabs2024-vertical .btn-container button {
        padding: 0 !important;
        justify-content: center;
        flex-direction: row;
        padding: 1rem !important;
    }

    .tabs2024-vertical.grid .col-12[role="tab-vertical"] {
        flex: 0 0 150px; /* Flex basis of 50% to take half the screen width */
        max-width: 150px; /* Ensure they don't grow beyond 50% */
    }
}

/*

--module 24--
Includes:
* h2 header
* icon
* h4 header
* linked arrow svg
* paragraph text

Used on pages:
* integration pages

*/

.integrations-bg-rounded-corners {
    text-align: center;
    padding-bottom: 10rem !important;
    background: #F2F2F2;
    z-index: 1;
    max-width: unset;
    border-radius: 20px;
}

.integrations-container {
    justify-content: center;
    gap: 2rem;
    margin-top: 1rem;
    z-index: 3;
    padding: 0;
}

.integrations-item {
    background-color: #fff;
    border-radius: 20px;
    padding: 5rem;
    flex: 1;
}

.integrations-icon {
    display: block;
    max-width: 100%;
    margin: auto;
    padding-bottom: 2rem;
}

/*media queries*/

@media screen and (max-width: 63.99em) {
    .integrations-container {
        flex-direction: column;
    }

    .grid .col.integrations-item {
        padding: 5rem;
    }
}

/*

--module 25--
Includes:
* icon
* browser link text
* svg arrow
* hover effect with box shadow

Used on pages:
* integration pages

*/

.browser-item:hover {
    box-shadow: 0px 0px 10px 5px #00000010;
    border-radius: 20px;
}

.browser-link-with-arrow {
    color: #000;
    text-decoration: none;
    font-weight: 700;
    font-size: 1.4rem;
}

    .browser-link-with-arrow:hover {
        text-decoration: underline;
        color: #000;
        font-weight: 700;
    }

/* Megan updated nav styles */
.sub-nav {
    width: 100%;
    min-height: 100px;
    background-color: white;
    border-top: 1px solid #7F7F7F40;
}

.box-shadow-btm-only {
    overflow: hidden;
    padding-bottom: 50px;
    position: relative;
}

    .box-shadow-btm-only::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 50px;
        -moz-box-shadow: 0 20px 40px #20212420;
        -webkit-box-shadow: 0 20px 40px #20212420;
        box-shadow: 0 20px 40px #20212420;
        pointer-events: none;
    }

.sub-nav-category {
    color: #0D4CD3;
    font-weight: 700;
}

a.sub-nav-category {
    text-decoration: none;
}

    a.sub-nav-category:hover {
        text-decoration: underline;
    }

.sub-nav-category-border {
    border-bottom: 1px solid #20212470;
    padding-bottom: 1rem;
}

.nav-arrow-svg {
    cursor: pointer;
    margin-bottom: -0.3rem !important;
    margin-left: .5rem;
}

.lightblue-10a {
    background: #0D4CD310;
}

.pr-8per {
    padding-right: 8% !important;
}

.mt-half-rem {
    margin-top: 0.5rem;
}

.sub-nav-links-lightblue-bg {
    text-decoration: none;
    color: #202124;
    gap: 1rem;
    align-items: center;
    flex-wrap: nowrap;
    padding: 0.5rem 1rem !important;
    font-family: var(--geologica-regular);
}

    .sub-nav-links-lightblue-bg:hover {
        background: #FFFFFF;
        text-decoration: underline;
        text-underline-offset: 0.5rem;
        color: #202124;
        border-radius: 10px;
    }

.sub-nav-links-gray-bg {
    text-decoration: none;
    color: #202124;
    gap: 1rem;
    align-items: center;
    flex-wrap: nowrap;
    padding: 0.5rem 1rem !important;
    font-family: var(--geologica-regular);
}

    .sub-nav-links-gray-bg:hover {
        background: #F2F2F2;
        text-decoration: underline;
        text-underline-offset: 0.5rem;
        color: #202124;
        border-radius: 10px;
    }

.sub-nav-p {
    font-size: 1.475rem;
    font-weight: 400;
    padding-left: 4rem;
    padding-top: .3rem;
}

.header-main .service-nav {
    background-color: #202124;
}

@media only screen and (min-width: 79.99em) {
    .nav-wrapper .nav-main__items .nav-main__item .nav-item.open {
        background-color: transparent;
        color: unset;
        font-weight: 600;
        border-bottom: 4px solid #0d4cd3;
        border-radius: 0;
    }
}

@media only screen and (max-width: 79.99em) {

    .nav-wrapper .nav-main__items .nav-main__item .nav-item.open {
        border-radius: 10px;
    }

    .nav-wrapper .nav-main__items .nav-main__item button.nav-item.open:hover::after {
        background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" fill="%202124" xmlns="http://www.w3.org/2000/svg"><path d="M12,14.1l-3.8-3.8c-0.4-0.4-1.1-0.4-1.5,0l0,0c-0.4,0.4-0.4,1.1,0,1.5l4.6,4.6c0.4,0.4,1,0.4,1.4,0l4.6-4.6 c0.4-0.4,0.4-1.1,0-1.5l0,0c-0.4-0.4-1.1-0.4-1.5,0L12,14.1z"/></svg>');
    }

    .nav-wrapper .nav-main__items .nav-main__item .nav-item:hover {
        background-color: #F2F2F2;
        color: #202124;
        border-radius: 10px;
    }

    .nav-wrapper .nav-main__items .nav-main__item .nav-item:focus {
        border-radius: 10px;
    }

    .nav-wrapper .nav-panel__grid ul li a {
        color: #202124;
        padding: 1rem;
    }

        .nav-wrapper .nav-panel__grid ul li a:hover {
            background: #F2F2F2;
            border-radius: 10px;
        }

    .nav-wrapper .nav-panel .nav-panel__card__title {
        text-decoration: none;
    }

    div.nav-panel__card__content {
        display: flex;
        align-items: center;
    }

    .nav-panel__card__graphic {
        height: 30px;
        width: 30px;
    }
}

.quote blockquote:before {
    background-image: url('/globalassets/media/redesign2024/homepage/quote.png');
}


/* updated footer styles */

.footer-main {
    background-color: #FFFFFF;
    border-top: unset;
}

    .footer-main a, .footer-main p {
        color: #202124;
    }

    .footer-main ul li {
        font-size: 1.5rem;
    }

.footer-main__links ul li {
    margin-bottom: 1.5rem !important;
}

.footer-main a {
    min-width: 4.4rem;
    min-height: 4.4rem;
    display: inline-block;
}

.footer-main .btn-secondary {
    color: #202124;
    border-color: #202124;
}

    .footer-main .btn-secondary:hover {
        color: #202124;
    }

    .footer-main .btn-secondary:focus {
        color: #202124 !important;
    }

.footer-main__social div {
    border-radius: 20px;
    padding: 4.2rem;
}

.footer-main__social img {
    margin: 0 auto;
}

.footer-main__social .footer-social-img-desc {
    margin-left: 2rem;
    padding-top: 1rem;
}

.footer-main__social ul {
    display: flex;
    justify-content: center;
}

.footer-main__social a.btn {
    background: unset;
}

.footer-main__social ul li {
    margin: unset;
}

/* updated blog post page styles */

.link-black {
    color: #202124;
    text-decoration: none;
    font-size: 1.4rem;
    font-weight: 700;
}

    .link-black:hover {
        text-decoration: underline;
        text-underline-offset: 0.5rem;
        color: #202124;
    }

.blog__headline {
    margin-top: 2.4rem;
}

.border-btm {
    border-bottom: 1px solid #20212420;
    padding-bottom: 1rem;
}

/* svg logo styles update */

@media screen and (min-width: 80em) {
    .header-main .logo {
        transform: translateY(-15%);
        min-height: 4.4rem;
    }
}

@media screen and (max-width: 37.49em) {
    .header-main .logo svg {
        height: 4.4rem;
    }
}

/* post launch CSS updates */

.header-main .service-nav ul li a {
    display: flex;
    align-items: center;
    min-width: 4.4rem;
    min-height: 4.4rem;
}

.header-main .actions .btn {
    min-height: 4.4rem;
    min-width: 4.4rem;
}

.tabs2024-vertical .btn-container button img {
    min-width: 6rem;
}

.tabs2024-vertical .btn-container img {
    filter: saturate(0) opacity(1);
}

.tabs2024 .btn-container img {
    filter: saturate(0) opacity(1);
    min-width: 12rem;
}

.nav-wrapper .nav-main__items .nav-main__item .nav-item:focus {
    border-bottom: unset;
}


@media only screen and (min-width: 79.99em) {
    .nav-wrapper .nav-panel__container .nav-panel__grid  .subnav-right-column ul li  a.nav-panel__card:hover {
        background: #FFFFFF;
    }
}


@media screen and (max-width: 63.99em) {
    .tabs2024-vertical .btn-container button img {
        min-width: 5rem;
    }
}


