.half-and-half {
    position: relative;
    margin: 0 0 42px;
}

.half-and-half-top-curve {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}

.half-and-half-top-curve svg {
    width: 100%;
    position: absolute;
    height: auto;
    top: 0;
}

.half-and-half-bottom-curve {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
}

.half-and-half-bottom-curve svg {
    width: 100%;
    height: auto;
    position: absolute;
    bottom: 0;
    left: 0;
}

.half-and-half-wrapper {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.half-image {
    height: 300px;
    width: 100%;
}

.half-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    -o-object-fit: cover;
    font-family: 'object-fit: cover;';
}

.half-content {
    padding: 26px 16px 42px;
}

.half-content-wrapper h4 {
    padding: 0 0 6px;
}

.half-content-wrapper p {
    color: #656565;
}

.half-content-wrapper .btn {
    margin-top: 8px;
}

.half-and-half.bg-dark-blue .half-content-wrapper * {
    color: #fff;
}

@media (min-width: 768px) {
    .half-image {
        height: 420px;
    }

    .half-content {
        padding: 40px 54px 80px;
    }

    .half-content-wrapper .btn {
        margin-top: 12px;
    }
}

@media (min-width: 1025px) {
    .half-image {
        /*width: 50%;*/
        /*height: 100%;*/
        position: absolute;
        top: 0;
    }

    .half-image.right {
        right: 0;
    }

    .half-image.left {
        left: 0;
    }

    .half-and-half-wrapper {
        align-items: center;
        justify-content: flex-end;
    }

    .half-and-half-wrapper.image__reverse {
        flex-direction: row-reverse;
        justify-content: flex-end;
    }

    .half-content,
    .half-image {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
        height: 100%;
    }

    .half-image.image--right {
        right: 0;
    }

    .half-image.image--left {
        left: 0;
    }

    .half-content.left {
        float: left;
        padding: 184px 128px 180px 16px;
    }

    .half-content.right {
        float: right;
        padding: 184px 16px 184px 128px;
    }

    .half-content.image__text--left {
        padding: 4rem;
    }

    .half-content.image__text--right {
        padding: 4rem;
    }

    .half-content-wrapper {
        width: 100%;
        max-width: 534px;
    }

    .half-content.left .half-content-wrapper {
        margin: 0 0 0 auto;
    }

    .half-content.right .half-content-wrapper {
        margin: 0 auto 0 0;
    }

    .half-content.image__text--left .half-content-wrapper {
        margin: 0 0 0 auto;
    }

    .half-content.image__text--right .half-content-wrapper {
        margin: 0 auto 0 0;
    }

    .half-content-wrapper p {
        font-size: 18px;
    }

    .half-content-wrapper .btn {
        margin-top: 20px;
    }
}

@media (min-width: 1600px) {
    .half-content.image__text--left {
        padding: 184px 128px 180px 16px;
    }

    .half-content.image__text--right {
        padding: 184px 16px 184px 128px;
    }
}