.blocks {
    margin-bottom: 120px;
}

.blocks .block {
    display: flex;
    flex-direction: column;
    margin-bottom: 60px;
}

.blocks .block .block-heading {
    border-bottom: 2px solid var(--grey-color);
    text-align: center;
}

.blocks .block .block-title {
    margin-bottom: 20px;
}

.blocks .block .block-body {
    display: flex;
    justify-content: space-between;
    gap: 50px;
    margin-bottom: 30px;
}

.blocks .block .block-body .content {
    margin: 0;
}

.blocks .block.block-type-content_image .block-body {
    flex-direction: row-reverse;
}

.blocks .block.block-type-image_content .block-body .block-content,
.blocks .block.block-type-content_image .block-body .block-content {
    width: 50%;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
}

.blocks .block.block-type-image_content .block-body,
.blocks .block.block-type-image .block-body .block-image {
    width: 100%;
}

.blocks .block .block-image {
    position: relative;
}

.blocks .block .block-image img {
    width: 100%;
    height: auto;
}

.blocks .block .block-button {
    display: flex;
    align-items: flex-end;
    margin-top: 30px;
    flex-grow: 1;
}

.blocks .block :last-child {
    margin-bottom: 0!important;
}

.cols + .blocks {
    margin-top: 50px;
}

@media only screen and (max-width: 1080px) {
    .blocks .block.block-type-image_content .block-body .block-content,
    .blocks .block.block-type-content_image .block-body .block-content {
        width: 400px;
    }
}

@media only screen and (max-width: 800px) {
    .blocks .block.block-type-image_content .block-body .block-content,
    .blocks .block.block-type-content_image .block-body .block-content {
        width: 100%;
        margin: 0;
    }
    .blocks .block .block-body {
        flex-direction: column;
        gap: 30px;
    }
}