.cta-block {
    display: grid;
    gap: 0 62px;
    grid-template-areas: "ctaImage ctaContent";
    grid-template-columns: 45.478% 1fr;
    grid-template-rows: auto
}

.cta-block-right {
    gap: 0 82px;
    grid-template-areas: "ctaContent ctaImage";
    grid-template-columns: 1fr 45.478%
}

.cta-block-content {
    grid-area: ctaContent;
    padding: 67px 0 60px
}

.cta-block-title {
    font-family: adobe-jenson-pro,serif;
    font-size: 48px;
    font-weight: 600;
    letter-spacing: .05em;
    line-height: 58px;
    margin: 0 0 16px
}

.cta-block-right .cta-block-title {
    margin: 0 0 35px
}

.cta-block-richtext {
    font-size: 16px;
    font-weight: 300;
    letter-spacing: .02em;
    line-height: 160%;
    margin-bottom: 40px
}

.cta-block-right .cta-block-richtext {
    margin-bottom: 75px
}

.cta-block-richtext p {
    margin: 0 0 1.6em
}

.cta-block-image {
    grid-area: ctaImage;
    position: relative
}

.cta-block-image:before {
    border: .5px solid #b8aa9b;
    content: "";
    left: -20px;
    top: -20px
}

.cta-block-image img,.cta-block-image:before {
    display: block;
    height: 100%;
    position: absolute;
    width: 100%
}

.cta-block-image img {
    left: 0;
    object-fit: cover;
    top: 0
}

.cta-block-image-wrapper {
    overflow: hidden;
    position: relative
}

.cta-block-image-wrapper:before {
    content: "";
    display: block;
    padding-top: 127.137546468%;
    width: 100%
}

.cta-block-button {
    background-color: transparent;
    border: 0;
    color: #000;
    font-family: Josefin Sans,sans-serif;
    font-size: 12px;
    font-weight: 600;
    height: 50px;
    letter-spacing: .05em;
    line-height: 1;
    padding: 0;
    position: relative;
    width: 189px
}

.cta-block-button:focus,.cta-block-button:hover {
    background-color: transparent;
    border: 0;
    color: #fff
}

.cta-block-button svg {
    display: block;
    left: 50%;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    -webkit-transition: all .15s linear;
    -o-transition: all .15s linear;
    transition: all .15s linear
}

.cta-block-button span {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    height: 100%;
    justify-content: center;
    padding: 4px 10px 0;
    position: relative;
    width: 100%
}

.cta-block-button-border {
    fill: #000;
    height: 50px;
    width: 189px
}

.cta-block-button-bg {
    height: 48px;
    width: 182px
}

.cta-block-button:focus .cta-block-button-bg,.cta-block-button:hover .cta-block-button-bg {
    fill: #000;
    stroke: #000
}

@media (max-width: 1024px) {
    .cta-block {
        gap:0 52px;
        grid-template-columns: 47.576% 1fr
    }

    .cta-block-right {
        gap: 0 64px;
        grid-template-columns: 1fr 47.576%
    }

    .cta-block-content {
        padding: 0 0 44px
    }

    .cta-block-title {
        font-size: 32px;
        line-height: 38px
    }

    .cta-block-right .cta-block-title {
        margin: 0 0 16px
    }

    .cta-block-richtext {
        font-size: 12px;
        font-weight: 400;
        margin-bottom: 48px
    }

    .cta-block-right .cta-block-richtext {
        margin-bottom: 48px
    }

    .cta-block-image:before {
        left: -14px;
        top: -14px
    }

    .cta-block-button {
        font-size: 10px;
        height: 40px;
        width: 165px
    }

    .cta-block-button span {
        padding: 3px 10px 0
    }

    .cta-block-button-border {
        height: auto;
        width: 165px
    }

    .cta-block-button-bg {
        height: auto;
        width: 159px
    }
}

@media (max-width: 767px) {
    .cta-block {
        display:block
    }

    .cta-block-content {
        padding: 0
    }

    .cta-block-title {
        letter-spacing: 0
    }

    .cta-block-richtext {
        font-size: 14px;
        margin-bottom: 40px
    }

    .cta-block-right .cta-block-richtext {
        margin-bottom: 40px
    }

    .cta-block-image {
        margin-bottom: 41px;
        margin-left: auto;
        max-width: 95.821%
    }

    .cta-block-right .cta-block-image {
        margin-bottom: 27px;
        margin-left: 0;
        margin-right: auto
    }

    .cta-block-image-wrapper:before {
        padding-top: 127.102803738%
    }
}
