/* FLASH MESSAGE */

div.success-notif {
    background-color: #AED6D0 !important;
    color: #000000 !important;
    padding: 20px 35px !important;
    font-family: Lato-Regular !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
    text-align: center !important;
    border-radius: 5px !important;
    margin: 20px 0;
    width: 100%;
}

section.solutions-header {
    background: linear-gradient(180deg, #0BB8AD 74.48%, #25CAAC 100%);
    color: white !important;
}

section.solutions-header > div.container > div.header-grid {
    display: flex;
    display: -webkit-flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column-reverse;
    gap: 25px;
    padding-top: 93px !important;
    padding-bottom: 93px !important;
    text-align: center;
}

section.solutions-header > div.container > div.header-grid > div {
    flex-grow: 1;
    width: 100% !important;
}

section.solutions-header > div.container > div.header-grid > div.caption > p:first-of-type {
    font-family: Gilroy-Bold !important;
    font-size: 32px !important;
    line-height: 37px !important;
    margin-bottom: 33px !important;
}

section.solutions-header > div.container > div.header-grid > div.caption > p:last-of-type {
    font-family: Lato-Regular !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    line-height: 32px !important;
}

section.solutions-header > div.container > div.header-grid > div.thumbnail {
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    height: 100% !important;
    width: 100% !important;
}

section.solutions-body {
    background-color: #F5F5F5;
    padding-top: 50px !important;
    padding-bottom: 50px !important;
    color: #000000 !important;
}

section.solutions-body > div.container > p {
    font-family: Gilroy-Bold !important;
    font-size: 32px !important;
    line-height: 37px !important;
    text-align: center !important;
    margin-bottom: 86px !important;
}

section.solutions-body > div.container > div.block-grid {
    display: flex;
    display: -webkit-flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column-reverse;
    gap: 40px;
}

section.solutions-body > div.container > div.block-grid:first-of-type {
    justify-content: center;
    align-items: center;
}

section.solutions-body > div.container > div.block-grid:last-of-type {
    flex-direction: column;
}

section.solutions-body > div.container > div.block-grid > div {
    flex-grow: 1;
    width: 100% !important;
}

section.solutions-body > div.container > div.block-grid > div.thumbnail {
    width: 100% !important;
}

section.solutions-body > div.container > div.block-grid > div.thumbnail > img {
    box-shadow: 0 0 7px 2px #00000040;
}

section.solutions-body > div.container > div.block-grid > div.thumbnail > img.noshadow {
    box-shadow: none !important;
}

section.solutions-body > div.container > div.block-grid:not(:last-of-type) {
    margin-bottom: 77px !important;
}

section.solutions-body > div.container > div.block-grid:first-of-type > div.caption > p {
    font-family: Lato-Regular !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    line-height: 32px !important;
}

section.solutions-body > div.container > div.block-grid:first-of-type > div.caption > p:not(:last-of-type) {
    margin-bottom: 35px !important;
}

section.solutions-body > div.container > div.block-grid:last-of-type > div.caption > p {
    font-family: Gilroy-Bold !important;
    font-size: 25px !important;
    line-height: 32px !important;
    margin-bottom: 15px !important;
}

section.solutions-body > div.container > div.block-grid:last-of-type > div.caption > ul {
    padding-left: 25px !important;
}

section.solutions-body > div.container > div.block-grid:last-of-type > div.caption > ul > li {
    font-family: Lato-Regular !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 32px !important;
    color: #000000 !important;
    list-style: disc outside !important;
    display: list-item !important;
}

/* CSS OVERRIDE */
h1.block-title {
    width: 100% !important;
}

div.thumbnail {
    background-color: transparent !important;
    border-color: transparent !important;
    margin-bottom: 0 !important;
}

div.thumbnail > img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
}

@media screen and (min-width: 768px) {
    div.thumbnail {
        max-width: 487px !important;
    }
    
    section.solutions-header > div.container > div.header-grid > div.caption > p:first-of-type {
        font-size: 39px !important;
        line-height: 48px !important;
    }

    section.solutions-body {
        padding-top: 92px !important;
        padding-bottom: 141px !important;
    }

    section.solutions-body > div.container > p {
        font-size: 49px !important;
        line-height: 64px !important;
        margin: 0 107px 86px !important;
    }
    
    section.solutions-body > div.container > div.block-grid:last-of-type {
        flex-direction: row;
    }
    
    section.solutions-body > div.container > div.block-grid:last-of-type > div.caption > p {
        font-size: 31px !important;
        line-height: 64px !important;
        margin-bottom: 0 !important;
    }

    p.body-txt {
        padding-left: 100px !important;
        padding-right: 100px !important;
    }
}

@media screen and (min-width: 992px) {
    div.thumbnail {
        max-width: 100% !important;
    }

    section.solutions-header > div.container > div.header-grid {
        flex-direction: row;
        text-align: left;
        gap: 75px;
    }

    section.solutions-body > div.container > div.block-grid {
        flex-direction: row;
    }

    section.solutions-body > div.container > div.block-grid:first-of-type {
        justify-content: flex-start;
        align-items: flex-start;
    }

    section.solutions-body > div.container > div.block-grid > div.thumbnail {
        min-height: 388px !important;
    }

    p.body-txt {
        padding-left: 200px !important;
        padding-right: 200px !important;
    }
}

@media screen and (min-width: 1025px) {
    section.solutions-header > div.container > div.header-grid {
        flex-direction: row;
        text-align: left;
    }
}