:root {
    --banner-shape-icon: url(/sites/zweb/images/contracts/casestudies/bluebg.png) no-repeat;
    --whitelable-icon: url(/sites/zweb/images/contracts/casestudies/whitelable.svg) no-repeat;
    --arrowwhite-icon: url(/sites/zweb/images/contracts/casestudies/arrowwhite.png) no-repeat;
}

.zcontracts-wrapper img {
    vertical-align: top
}

.zw-product-header,
section.zwc-banner {
    background: var(--zcnt-blue-bg)
}

.custlogo {
    background: #fff;
    display: inline-block;
    padding: 20px 30px;
    border-radius: 50px;
    box-shadow: -4px 6px 0 #007aff
}

.custlogo img {
    max-height: 50px
}

section.cta-section {
    text-align: center;
    padding: 110px 0
}

section.cta-section h2 {
    max-width: 840px;
    margin: 0 auto 31px
}

.cta-btn {
    padding: 15px 33px
}

section.zwc-banner {
    color: #fff;
    padding: 110px 0 80px;
    position: relative
}

section.zwc-banner:after {
    content: '';
    position: absolute;
    background: var(--banner-shape-icon);
    background-position: bottom;
    background-size: contain;
    width: 100%;
    height: 163px;
    left: 0;
    bottom: -50px
}

section.aboutcom-section {
    padding: 150px 0 110px
}

.zwc-banner-inner,
.challenges-inner,
.solutions-inner {
    display: flex;
    align-items: center;
    gap: 39px
}

.zwc-leftcontent {
    width: 100%;
    max-width: 58%;
    margin: 0 auto
}

.zwc-leftcontent p a {
    color: #fff;
    text-decoration: underline
}

.zwc-rightquote {
    width: 100%;
    max-width: 40%;
    background: var(--zcnt-light-yellow-bg);
    color: #000;
    padding: 40px 60px;
    border-radius: 20px;
    position: relative
}

span.quoteicon {
    display: inline-block;
    margin-bottom: 30px
}

p.zwc-desc {
    font-family: var(--primaryfont-bold);
    font-size: 28px;
    color: var(--zcnt-yellow-txt-clr);
    margin-top: 20px
}

.zwc-leftcontent h1 {
    font-size: 52px;
    font-family: var(--zf-primary-extrabold);
    margin-top: 30px
}

.zcontracts-wrapper h2 {
    font-size: 46px;
    font-family: var(--zf-primary-bold);
    text-align: center
}

.zcontracts-wrapper h3 {
    font-size: 26px;
    font-family: var(--zf-primary-bold);
    position: relative
}

.zwc-rightquote p {
    font-size: 19px;
    font-family: var(--zf-secondary-medium)
}

span.icon {
    width: 100%;
    max-width: 90px;
    position: relative
}

span.icon:after {
    content: '';
    position: absolute;
    width: 90px;
    height: 90px;
    background: var(--zcnt-yellow-txt-clr);
    border-radius: 100px;
    left: -1px;
    top: -4px;
    z-index: -1
}

span.icon img {
    border-radius: 50%
}

.zwc-rightflex.blue span.icon:after {
    background: #6bf2ff;
}

.zwc-author .author-detail strong {
    font-size: 23px;
    font-family: var(--primaryfont-bold);
    margin-bottom: 4px
}

.zwc-author .author-detail p {
    font-size: 14px;
    margin-bottom: 0
}

.aboutcom-inner {
    text-align: center;
    max-width: 730px;
    margin: 0 auto
}

.aboutcom-inner p:last-child {
    margin-bottom: 0
}

section.challenges-section {
    background: var(--zcnt-gray-bg);
    padding: 110px 0
}

.challenges-inner,
.solutions-inner {
    gap: 120px;
    position: relative;
    align-items: flex-start;
    margin-top: 90px
}

.zwc-rightflex {
    width: 100%;
    max-width: 40%;
    position: sticky;
    top: 70px
}

.zwc-leftflex {
    width: 100%;
    max-width: 60%
}

.zwc-rightflex.blue,
.zwc-rightflex.green {
    color: #fff;
    background: var(--zcnt-dark-blue-bg);
    padding: 60px;
    border-radius: 20px
}

.zwc-rightflex.green {
    background: var(--zcnt-blue-bg)
}

.zwc-rightflex.blue span.quoteicon {
    filter: invert(100%) sepia(28%) saturate(4724%) hue-rotate(54deg) brightness(112%) contrast(112%)
}

.zwc-rightflex.green span.quoteicon {
    filter: brightness(0) saturate(100%) invert(94%) sepia(40%) saturate(7399%) hue-rotate(314deg) brightness(98%) contrast(95%)
}

.zwc-rightflex p {
    font-size: 19px
}

.zwc-author {
    display: flex;
    gap: 20px;
    align-items: center;
    margin-top: 30px
}

.about-challenge {
    margin-bottom: 60px
}

section.solutions-section {
    padding: 110px 0
}

.outcome-inner {
    text-align: center;
    max-width: 780px;
    margin: 0 auto
}

section.outcome-section {
    background: #fdf7ea;
    padding: 110px 0
}

.zcontracts-wrapper h3:before {
    content: '';
    position: absolute;
    border-radius: 30px;
    width: 22px;
    height: 22px;
    top: 4px;
    left: -35px;
    background: var(--zcnt-dark-blue-bg);
}

.zcontracts-wrapper h3:after {
    content: '';
    position: absolute;
    background: var(--arrowwhite-icon);
    background-size: 10px auto;
    width: 15px;
    height: 15px;
    top: 10px;
    left: -29px
}

.zcontracts-wrapper .solutions-inner h3:before {
    background: var(--zcnt-blue-bg)
}

section.benefits-section {
    padding-top: 50px
}

.benefits-inner {
    display: flex;
    flex-wrap: wrap;
    gap: 40px 2%
}

.benefits-inner h2 {
    text-align: left;
    margin-bottom: 35px
}

.benefits-inner .zwc-leftbox,
.benefits-inner .zwc-rightbox {
    width: 49%;
    border-radius: 20px;
    padding: 60px
}

.benefits-inner .zwc-leftbox {
    background: var(--zcnt-light-yellow-bg);
    width: 59%
}

.benefits-inner .zwc-rightbox {
    background: var(--zcnt-light-blue-bg);
    width: 39%
}

.benefits-inner li {
    position: relative;
    margin-bottom: 35px;
    padding-left: 38px
}

.benefits-inner li:before {
    content: '';
    position: absolute;
    background: var(--zcnt-blue-bg);
    border-radius: 30px;
    width: 22px;
    height: 22px;
    top: 4px;
    left: 0
}

.benefits-inner li:after {
    content: '';
    position: absolute;
    background: var(--arrowwhite-icon);
    background-size: 10px auto;
    width: 15px;
    height: 15px;
    top: 10px;
    left: 6px
}

@media only screen and (max-width: 1300px) {
    section.zwc-banner:after {
        bottom: -40px
    }

    .zwc-leftcontent h1 {
        font-size: 50px
    }
}

@media only screen and (max-width: 1199px) {

    .challenges-inner,
    .solutions-inner {
        gap: 70px
    }

    .zwc-leftflex {
        padding-left: 30px
    }
}

@media only screen and (max-width: 1140px) {
    .zwc-leftcontent h1 {
        font-size: 42px
    }

    .zcontracts-wrapper h2 {
        font-size: 38px
    }

    .zwc-banner-inner {
        align-items: flex-start
    }

    .zwc-rightquote p {
        font-size: 17px
    }

    p.zwc-desc {
        font-size: 24px
    }

    .zwc-author .author-detail p {
        font-size: 13px
    }

    .zwc-author .author-detail strong {
        font-size: 19px
    }

    section.zwc-banner:after {
        bottom: -27px
    }

    .zwc-rightflex.blue,
    .zwc-rightflex.green,
    .zwc-rightquote,
    .benefits-inner .zwc-leftbox,
    .benefits-inner .zwc-rightbox {
        padding: 50px
    }

    .challenges-inner,
    .solutions-inner {
        margin-top: 60px
    }

    section.aboutcom-section,
    section.challenges-section,
    section.solutions-section,
    section.outcome-section {
        padding: 80px 0
    }

    section.aboutcom-section {
        padding-top: 100px
    }

    section.benefits-section {
        padding-top: 80px
    }
}

@media only screen and (max-width: 991px) {

    .zwc-banner-inner,
    .challenges-inner,
    .solutions-inner {
        flex-flow: wrap
    }

    .zwc-leftcontent,
    .zwc-rightquote {
        width: 100%;
        max-width: 68%;
        margin: 0 auto;
        text-align: center
    }

    .zwc-rightquote .zwc-author {
        justify-content: center
    }

    .zwc-leftflex,
    .zwc-rightflex.blue,
    .zwc-rightflex.green {
        margin: 0 auto;
        width: 100%;
        max-width: 76%
    }

    .challenges-inner,
    .solutions-inner {
        gap: 0
    }
}

@media only screen and (max-width: 768px) {

    .zwc-leftcontent,
    .zwc-rightquote {
        width: 100%;
        max-width: 80%
    }

    .zwc-leftflex,
    .zwc-rightflex.blue,
    .zwc-rightflex.green {
        margin: 0 auto;
        width: 100%;
        max-width: 85%
    }

    .outcome-inner {
        text-align: center;
        max-width: 610px
    }

    section.zwc-banner:after {
        bottom: -20px
    }

    section.zwc-banner {
        padding: 80px 0
    }

    .challenges-inner,
    .solutions-inner {
        margin-top: 40px
    }

    .benefits-inner .zwc-leftbox,
    .benefits-inner .zwc-rightbox {
        width: 100%
    }
}

@media only screen and (max-width: 640px) {

    .zwc-leftcontent,
    .zwc-rightquote {
        width: 100%;
        max-width: 94%
    }

    .zwc-leftcontent h1 {
        font-size: 36px;
        font-family: var(--primaryfont-bold)
    }

    .zwc-author {
        text-align: left
    }

    .zcontracts-wrapper h2 {
        font-size: 30px
    }

    .zcontracts-wrapper h3 {
        font-size: 22px
    }

    .zwc-rightflex p {
        font-size: 17px
    }

    .zwc-leftflex,
    .zwc-rightflex.blue,
    .zwc-rightflex.green {
        width: 100%;
        max-width: 95%
    }

    .zwc-rightflex.blue,
    .zwc-rightflex.green,
    .zwc-rightquote,
    .benefits-inner .zwc-leftbox,
    .benefits-inner .zwc-rightbox {
        padding: 30px
    }

    section.zwc-banner:after {
        bottom: -20px;
        background-size: 810px
    }

    span.custlogo {
        width: 200px
    }
}

@media only screen and (max-width: 520px) {
    .zwc-leftcontent h1 {
        font-size: 27px
    }

    p.zwc-desc {
        font-size: 20px;
        margin: 9px 0
    }

    section.aboutcom-section,
    section.challenges-section,
    section.solutions-section,
    section.outcome-section {
        padding: 60px 0
    }

    section.aboutcom-section {
        padding-top: 80px
    }

    section.benefits-section {
        padding-top: 60px
    }

    .zwc-leftcontent,
    .zwc-rightquote,
    .zwc-leftflex,
    .zwc-rightflex.blue,
    .zwc-rightflex.green {
        width: 100%;
        max-width: 100%
    }

    .zcontracts-wrapper h2 {
        font-size: 25px
    }

    .zcontracts-wrapper h3 {
        font-size: 20px
    }
}