﻿h2,
h3 {
    padding: 0;
    color: #333333;
}

h1,
p,
h4,
h3 {
    padding: 0;
    margin: 0;
}

h2 {
    font: normal normal bold 40px/56px Roboto;
}

a.btn-blue,
a.btn-light-blue {
    border-radius: 8px;
    padding: 18px 60px;
    font: normal normal bold 18px/21px Roboto;
    display: inline-block;
    margin-top: 32px;
    text-align: center;
}


    a.btn-blue:hover,
    a.btn-light-blue:hover {
        text-decoration: none;
    }

    a.btn-blue {
        background: #085A9E 0% 0% no-repeat padding-box;
    }

a.btn-light-blue {
    background: #C7E0F4 0% 0% no-repeat padding-box !important;
}

a.btn-blue:not(.btn),
a.btn-blue:visited:not(.btn),
a.btn-blue:active, a:hover {
    color: #FFFFFF;
}


a.btn-light-blue:not(.btn),
a.btn-light-blue:visited:not(.btn),
a.btn-light-blue:active, a:hover {
    color: #085A9E !important;
}


#hero-section {
    padding-top: 122px;
    padding-bottom: 104px;
    background-image: url(/wp-content/themes/wp-bootstrap-starter-eri/inc/assets/images/banner-background-blue.svg);
    background-position-x: center;
    background-position-y: bottom;
    background-size: cover;
    font: normal normal medium 20px/32px Roboto;
    color: #FFFFFF;
}
   
    #hero-section .d-flex {
        gap: 72px;
        justify-content: space-between;
    }

    #hero-section .d-flex > div {
        flex: 1;
    }

    #hero-section .d-flex > div > .d-flex {
        justify-content: space-between;
    }

    #hero-section h1 {
        font: normal normal bold 64px/80px Roboto;
        color: #FFFFFF;
        text-shadow: 0px 0px 8px #1C1C1C84;
        margin-bottom: 12px;
    }

    #hero-section video {
        width: 100%;
        border-radius: 8px;
    }

#planning-tools-section {
    padding-top: 72px;
}

    #planning-tools-section > h2 {
        margin-bottom: 61px;
        text-align: center;
    }

.card-container {
    display: flex;
    gap: 32px;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    margin-bottom: 0;
}

.card-title {
    font: normal normal bold 24px/32px Roboto;
    letter-spacing: 0.26px;
    margin-bottom: 12px;
}

.card-desc {
    font: normal normal normal 18px/28px Roboto;
    letter-spacing: 0.19px;
}

.card {
    background: #fff;
    border: 1px solid #E5E5E5;
    border-radius: 8px;
    box-shadow: 0px 3px 8px #00000029;
    flex: 1;
    padding: 18px 24px 43px;
    margin-bottom: 32px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    z-index: 1;
}

    .card.active {
        border: 3px solid;
        border-bottom: none;
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
        box-shadow: none;
        z-index: 3;
        margin-bottom: 0px;
    }

    .card.active .border-mask {
        width: 100%;
        height: 10px;
        position: absolute;
        bottom: -6px;
        z-index: 10;
        background-color: inherit;
        left: 0px;
    }

    .card:not(.active):hover {
        box-shadow: 0 8px 32px rgba(60, 60, 60, 0.13);
        border-color: #bfe3cf;
    }

    .card:not(.active) .border-mask {
        display: none;
    }

    .card img {
        margin-bottom: 12px;
    }

.connected-card-container {
    position: relative;
    min-height: 440px;
    margin-bottom: 128px;
}

    .connected-card-container .flex-space-between {
        gap: 50px;
    }
        .connected-card-container .flex-space-between > div:first-child {
            flex: 2;
            align-content: center;
        }

        .connected-card-container .flex-space-between > div:last-child {
            flex: 3;
            border-radius: 8px;
        }

.expanded-title {
    font: normal normal bold 40px/56px Roboto;
    letter-spacing: 0.43px;
    margin-bottom: 20px;
}

.long-description {
    font: normal normal normal 18px/28px Roboto;
    letter-spacing: 0.19px;
    margin-bottom: 12px;
}

.connected-card {
    display: none;
    position: absolute;
    top: 0;
    width: 100%;
    border: 3px solid;
    border-radius: 0 0 8px 8px;
    padding: 60px 40px;
    z-index: 2;
}

    .connected-card.active {
        display: block;
    }

    .connected-card a:link:not(.btn) {
        font: normal normal normal 16px/28px Roboto;
        letter-spacing: 0.17px;
        text-decoration: underline;
    }

    .connected-card a:link:not(.btn),
    .connected-card a:visited:not(.btn),
    .connected-card a:active, a:hover {
        color: #085A9E;
    }


.card-container .card:nth-child(1).active,
.connected-card-container .connected-card:nth-child(1).active{
    border-color: #CDE7DA;
    background-color: #F2F9F5;
}

.connected-card-container .connected-card:nth-child(1).active {
    border-top-right-radius: 8px;
}

.card-container .card:nth-child(2).active,
.connected-card-container .connected-card:nth-child(2).active {
    border-color: #C7E0F4;
    background-color: #EFF6FC;
}

.connected-card-container .connected-card:nth-child(2).active {
    border-top-right-radius: 8px;
    border-top-left-radius: 8px;
}

.card-container .card:nth-child(3).active,
.connected-card-container .connected-card:nth-child(3).active {
    border-color: #F4D5B1;
    background-color: #FAF0E4;
}

.connected-card-container .connected-card:nth-child(3).active {
    border-top-left-radius: 8px;
}

.tablet-card {
    display: none;
}

    .tablet-card a:link:not(.btn),
    .tablet-card a:visited:not(.btn),
    .tablet-card a:active, a:hover {
        color: #085A9E;
        text-decoration: underline;
    }


#optimizations-section {
    padding-top: 128px;
    padding-bottom: 148px;
    box-shadow: 0px 3px 6px #00000029;
    background: linear-gradient(308deg, #D1E7DD 60%, #FFFFFF 100%);
    margin-bottom: 232px;
}

    #optimizations-section h2 {
        margin-bottom: 84px;
        width: calc(50% + 60px);
    }

    #optimizations-section .flex-space-between {
        gap: 120px;
    }

        #optimizations-section .flex-space-between:nth-of-type(2n) {
            flex-direction: row-reverse;
        }

    #optimizations-section .flex-space-between > div {
        flex: 1;
        align-items: center;
    }

    #optimizations-section .flex-space-between:first-of-type {
        margin-bottom: 180px;
    }

.accordion-item-image {
    display: none;
}

    .accordion-item-image.active {
        display: block;
    }

.accordion-item {
    border-left: 1px solid #707070;
    height: 100%;
}

    .accordion-item .accordion-body:not(:last-of-type) {
        margin-bottom: 43px;
    }

.accordion-body {
    padding-left: 24px;
    cursor: pointer;
    transition: 0.1s;
}

    .accordion-body.active {
        border-left: 4px solid #559D3F;
    }

        .accordion-body.active .accordion-header {
            color: #559D3F;
            transition: 0.2s;
        }

        .accordion-body.active .accordion-content,
        .accordion-body.active a {
            display: block;
        }

        .accordion-body.active a {
            display: inline-block;
        }

        .accordion-body img {
            display: none;
        }

    .accordion-body:hover {
        cursor: pointer;
    }

        .accordion-body:hover .accordion-header {
            color: #559D3F;
        }

    .accordion-body a {
        display: none;
        text-decoration: underline;
        font: normal normal normal 16px/28px Roboto;
        letter-spacing: 0.17px;
        margin-top: 16px;
    }

        .accordion-body a:link:not(.btn),
        .accordion-body a:visited:not(.btn),
        .accordion-body a:active, a:hover {
            color: #085A9E;
        }

        .accordion-header {
            font: normal normal bold 24px/28px Roboto;
            color: #123925;
        }

.accordion-content {
    font: normal normal normal 16px/22px Roboto;
    display: none;
    color: #424242;
    margin-top: 8px;
}

#demo-cta-section {
    padding: 112px 124px;
    background-clip: padding-box;
    background-position: center;
    background-size: cover;
    margin-bottom: 140px;
    background-image: url('/wp-content/uploads/2025/05/solutions_pillars_demo_cta_bg.png');
}

    #demo-cta-section > div {
        flex: 1;
    }

    #demo-cta-section h4 {
        font: normal normal bold 33px/41px Roboto;
        color: #005031;
        margin-bottom: 18px;
    }

    #demo-cta-section p {
        font: normal normal normal 16px/25px Roboto;
        color: #424242;
    }

#methodology-cta-section {
    padding: 92px 0;
    background: linear-gradient(291deg, #D1E7DD 60%, #FFFFFF 100%);
}

    #methodology-cta-section .flex-space-between {
        gap: 84px;
        align-items: center;
    }

        #methodology-cta-section .flex-space-between > div {
            flex: 1;
        }

    #methodology-cta-section h4 {
        font: normal normal bold 32px/56px Roboto;
        color: #123925;
    }


.compensation-consulting-module-container {
    margin-bottom: 200px;
}

#directory-section {
    margin-bottom: 136px;
}

    #directory-section h3 {
        text-align: center;
        font: normal normal bold 40px / 56px Roboto;
        letter-spacing: 0.43px;
        color: #333333;
        margin: 0 auto 36px;
        width: 65%;
    }

.directory-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.directory-item {
    flex: 0 0 calc((100% - (4 * 24px)) / 5);
    box-sizing: border-box;
    border-radius: 16px;
    background: #FFF;
    box-shadow: 0 0 4px 0 rgba(110, 110, 110, 0.50);
    padding: 24px;
    display: block;
    transition: all 202ms ease-in-out;
    transform-origin: center;
    position: relative;
    z-index: 1;
}

    .directory-item .title-arrow-row {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
    }

    .directory-item .title {
        color: #155036;
        font-size: 20px;
        font-weight: 700;
        line-height: 1.4; 
        margin-bottom: 8px;
        text-align: left;
    }

    .directory-item .description {
        color: #333;
        font-size: 16px;
        line-height: 1.75; 
    }

    .directory-item .proceed-arrow {
        display: none;
    }

    .directory-item:hover {
        text-decoration: none;
        transform: scale( calc((100% + 4px) / 100%), calc((100% + 2px) / 100%) );
        z-index: 10;
    }

        .directory-item:hover .title {
            color: #5C8774
        }

    .directory-item:hover .proceed-arrow {
        display: block;
    }
    

#customer-slider-section {
    text-align: center;
    margin-bottom: 200px;
}

    #customer-slider-section h3 {
        text-align: center;
        font: normal normal bold 40px/56px Roboto;
        letter-spacing: 0.43px;
        color: #333333;
        margin-bottom: 36px;
        display: inline-block;
        width: 65%;
    }

.logo-slider-container {
    position: relative;
    height: 86px;
    margin: 0 auto;
}

.logo-slider-wrapper {
    overflow-x: auto;
    overflow-y: hidden;
    height: 100%;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none; 
    user-select: none;
}

    .logo-slider-wrapper::-webkit-scrollbar {
        display: none; 
    }

.logo-slider {
    display: flex;
    height: 100%;
    align-items: center;
    cursor: grab;
    transition: transform 0.1s ease;
}

    .logo-slider.active {
        cursor: grabbing;
    }

.logo-item {
    flex: 0 0 auto;
    margin-right: 104px;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .logo-item:last-child {
        margin-right: 0;
    }

    .logo-item img {
        max-height: 86px;
        width: auto;
        object-fit: contain;
    }

@media screen and (max-width: 1024px) {
    #hero-section .d-flex {
        flex-direction: column;
        gap: 0px;
    }

        #hero-section .d-flex > div > .d-flex {
            justify-content: center;
        }

video {
    margin-top: 32px;
}

}

@media only screen and (max-width: 960px) {
    .connected-card .flex-space-between {
        flex-direction: column;
    }

    #demo-cta-section > div:first-of-type {
        flex: 2;
    }

    #demo-cta-section > div:last-of-type {
        flex: 0;
    }
}


@media only screen and (max-width: 768px) {
    .card-container {
        flex-direction: column;
    }

    .card-container .card:last-of-type {
        margin-bottom: 52px;
    }

    .card {
        margin-bottom: 0px;
    }

        .card.active {
            border-bottom: 3px solid;
            border-bottom-left-radius: 8px;
            border-bottom-right-radius: 8px;
        }

            .connected-card-container,
            .card.active .border-mask {
                display: none;
            }

    .card.active .tablet-card {
        display: block;
    }

        .tablet-card img {
            margin-top: 30px;
        }

    .expanded-title {
        font: normal normal bold 24px/32px Roboto;
        letter-spacing: 0.26px;
        margin-top: 30px;
    }

    .long-description {
        margin-bottom: 18px;
    }

    #optimizations-section h2 {
        width: 100%;
        text-align: center;
        margin-bottom: 35px;
    }

    #optimizations-section .flex-space-between {
        gap: 0px;
    }

        #optimizations-section .flex-space-between > div.d-flex {
            flex: 0;
        }

        #optimizations-section .flex-space-between:first-of-type {
            margin-bottom: 0px;
        }

        .accordion-body {
            padding-top: 14px;
            border-top: 1px solid #C9C9C9;
            margin-top: 8px;
        }


    .accordion-item {
        border-left: 0px;
    }

        .accordion-item .accordion-body:not(:last-of-type) {
            margin-bottom: 0px;
        }

    .accordion-body {
        padding-left: 0px;

    }

        .accordion-body.active {
            border-left: 0px;
        }

            .accordion-body.active img {
                display: block;
            }

        .accordion-body img {
            margin: 30px auto 30px;
        }

        .accordion-body:hover {
            color: inherit;
        }

    .accordion-header {
        display: inline-block;
        align-self: center;
    }

    .accordion-item-image.active {
        display: none;
    }

    .accordion-toggle {
        display: flex;
        justify-content: space-between;
    }

        .accordion-toggle span {
            font-size: 1.5em;
            align-self: center;
            color: #559D3F;
            padding-left: 12px;
        }

        .accordion-toggle span:before {
            content: '\002B';
        }

    .accordion-body.active .accordion-toggle span:before {
        content: '\2212';
    }
  
    #methodology-cta-section .flex-space-between {
        gap: 0px;
        flex-direction: column;
    }

    #methodology-cta-section img {
        margin-top: 40px;
    }
}

@media only screen and (max-width: 1199px) {
    .directory-item {
        flex: 0 0 calc((100% - (3 * 24px)) / 4);
    }
}


@media only screen and (max-width: 991px) {
    .directory-item {
        flex: 0 0 calc((100% - (2 * 24px)) / 3);
    }
}

@media only screen and (max-width: 768px) {
    .directory-item {
        flex: 0 0 calc((100% - (1 * 24px)) / 2);
    }
}


@media only screen and (max-width: 480px) {
    h2 {
        font: normal normal bold 32px/40px Roboto;
        letter-spacing: 0.34px;
    }

    #hero-section {
        padding: 40px 0px;
    }

        #hero-section h1 {
            text-transform: uppercase;
            font: normal normal bold 32px/40px Roboto;
        }

    a.btn-blue,
    a.btn-light-blue {
        margin-top: 20px;
    }

    video {
        margin-top: 48px;
    }

    #planning-tools-section {
        padding-top: 48px;
    }

        #planning-tools-section > h2 {
            font: normal normal bold 32px/40px Roboto;
            letter-spacing: 0.34px;
            margin-bottom: 24px;
        }

    .card-container {
        gap: 24px;
    }

    .card {
        padding: 20px 16px;
    }

        .card img {
            margin: 12px 0;
        }

    .expanded-title {
        font: normal normal bold 24px/32px Roboto;
        letter-spacing: 0.26px;
    }

    #optimizations-section {
        padding: 52px 0 48px;
        margin-bottom: 68px;
    }

    .accordion-header {
        font: normal normal bold 18px/21px Roboto;
        letter-spacing: 0px;
    }

    .compensation-consulting-module-container{
        margin-bottom: 108px;
    }

    #directory-section {
        margin-bottom: 120px;
    }

    #directory-section h3 {
        font-size: 32px;
        line-height: 1.25; 
        width: 100%;
    }

    .directory-grid {
        width: 70%;
        margin: 0 auto;
    }

    .directory-item {
        flex: 100%;
    }

    #customer-slider-section {
        margin-bottom: 64px;
    }

        #customer-slider-section h3 {
            font: normal normal bold 32px/40px Roboto;
            letter-spacing: 0.34px;
            margin-bottom: 20px;
            width: 100%;
        }

    #demo-cta-section {
        background-image: url('/wp-content/uploads/2021/10/About_Products_M.png');
        min-height: 620px;
        background-position-y: bottom;
        margin-bottom: 92px;
        padding: 32px 12px;
    }

        #demo-cta-section h4 {
            font: normal normal bold 33px/41px Roboto;
            margin-bottom: 12px;
        }

    #methodology-cta-section {
        padding: 56px 0 104px;
    }

        #methodology-cta-section h4 {
            font: normal normal bold 32px/44px Roboto;
        }
}