.blog-banner {
    font-family: 'TT Fors';
    font-style: normal;
    color: var(--banner-text-color, #101423);
    background: var(--banner-bg, #efeaff) no-repeat;
    border-radius: 8px;
}

.blog-banner-location-content {
    position: relative;
    padding: 30px 0 40px 24px;
    margin: 40px auto;
    overflow: hidden;
    background-position-x: 422px;
    background-position-y: 30px;
    background-size: contain;
}

.blog-banner-location-content::after {
    position: absolute;
    top: 32px;
    right: 0;
    bottom: 0;
    left: 444px;
    min-width: 50%;
    min-height: 50%;
    content: '';
    background-image: var(--banner-bg-image);
    background-repeat: no-repeat;
    background-position: top left;
    background-size: cover;
}

.blog-banner-location-sidebar {
    position: relative;
    width: 100%;
    min-height: 250px;
    padding: 18px 16px 0 16px;
    margin: 12px auto 0;
    overflow: hidden;
}

.blog-banner-location-sidebar::after {
    position: relative;
    display: block;
    width: auto;
    height: 120px;
    margin-top: 12px;
    margin-right: -16px;
    margin-bottom: -8px;
    content: '';
    background-image: var(--banner-bg-image);
    background-repeat: no-repeat;
    background-position: top left;
    background-size: cover;
}

.blog-banner-location-content .blog-banner-container {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    max-width: 400px;
    gap: 8px;
}

.blog-banner-location-sidebar .blog-banner-container {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

.blog-banner-location-content .blog-banner-title {
    display: flex;
    align-items: center;
    font-size: 24px;
    font-weight: 600;
    line-height: 128%;
    color: var(--banner-title-color, #101423);
    letter-spacing: -0.24px;
    gap: 8px;
}

.blog-banner-location-sidebar .blog-banner-title {
    display: flex;
    align-items: center;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: 140%;
    color: var(--banner-title-color, #101423);
    letter-spacing: -.03em;
    gap: 8px;
}

.blog-banner-title-icon {
    background-image: url('./magic.svg');
    background-repeat: no-repeat;
    background-position: center;
}

.blog-banner-button-icon {
    display: inline-block;
    width: 16px;
    height: 16px;
    background-color: var(--banner-button-icon-color);
    mask-image: var(--banner-button-icon-mask);
    -webkit-mask-image: var(--banner-button-icon-mask);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-size: contain;
    -webkit-mask-size: contain;
}

.blog-banner-button:hover .blog-banner-button-icon {
    background-color: var(--banner-button-icon-color-hover);
}

.blog-banner-location-content .blog-banner-title-icon {
    width: 24px;
    height: 24px;
    background-size: 24px 24px;
}

.blog-banner-location-sidebar .blog-banner-title-icon {
    display: none;
}

.blog-banner-location-content .blog-banner-text {
    font-size: 16px;
    font-weight: 400;
    line-height: 140%;
    color: var(--banner-text-color, #101423);
}

.blog-banner-location-sidebar .blog-banner-text {
    font-size: 12px;
    font-weight: 400;
    line-height: 140%;
    color: var(--banner-text-color, #101423);
    font-variant-numeric: lining-nums tabular-nums;
    font-feature-settings: 'ss01' on, 'ss02' on, 'ss03' on, 'ss04' on, 'ss05' on, 'ss06' on, 'ss07' on;
}

.blog-banner-button {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 14px;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%;
    color: var(--banner-button-text-color, #fff);
    background: var(--banner-button-bg, linear-gradient(90deg, #4817bd 0%, #7100b6 100%));
    border-radius: 4px;
    gap: 4px;
    font-variant-numeric: lining-nums tabular-nums;
    font-feature-settings: 'ss01' on, 'ss02' on, 'ss03' on, 'ss04' on, 'ss05' on, 'ss06' on, 'ss07' on;
}

.blog-banner-button:hover,
.blog-banner-button:active,
.blog-banner-button:focus {
    color: var(--banner-button-text-color-hover, #fff) !important;
    text-decoration: none !important;
    cursor: pointer;
    background: var(--banner-button-bg-hover, linear-gradient(90deg, #4817bd 0%, #7100b6 100%));
}

.blog-banner-location-sidebar .blog-banner-button {
    margin-top: 8px;
    font-size: 12px;
    font-variant-numeric: lining-nums tabular-nums;
    font-feature-settings: 'ss01' on, 'ss02' on, 'ss03' on, 'ss04' on, 'ss05' on, 'ss06' on, 'ss07' on;
}

.blog-banner-title-string {
    display: flex;
    align-items: center;
    gap: 8px;
}

.blog-banner-break {
    display: none;
}

@media screen and (max-width: 1199px) {
    .blog-banner-location-content {
        background-position-x: 425px;
    }

    .blog-banner-location-sidebar {
        display: none;
    }
}

@media screen and (max-width: 859px) {
    .blog-banner-location-content {
        padding: 27px 0 43px 24px;
        background-position-x: 425px;
    }

    .blog-banner-location-content .blog-banner-title {
        font-size: 24px;
        letter-spacing: -0.24px;
    }
}

@media screen and (max-width: 768px) {
    .blog-banner-location-content {
        padding: 27px 0 43px 24px;
        background-position-x: 375px;
        background-size: 380px;
    }

    .blog-banner-location-content .blog-banner-container {
        max-width: 100%;
    }

    .blog-banner-location-content .blog-banner-title {
        font-size: 20px;
        letter-spacing: -0.2px;
    }

    .blog-banner-location-content .blog-banner-text {
        font-size: 14px;
    }

    .blog-banner-location-content .blog-banner-button {
        font-size: 12px;
    }
}

.blog-banner-location-content::after {
    left: 390px;
}

@media screen and (max-width: 639px) {
    .blog-banner-location-content {
        display: flex;
        flex-direction: column;
        padding: 16px 16px 0 16px;
        background-position-x: 16px;
        background-position-y: 100%;
        background-size: auto 200px;
        gap: 16px;
    }

    .blog-banner-location-content .blog-banner-title {
        font-size: 20px;
        font-weight: 600;
    }

    .blog-banner-break {
        display: flex;
    }

    .blog-banner-location-content .blog-banner-title {
        flex-direction: column;
        align-items: start;
        gap: 0;
    }

    .blog-banner-location-content .blog-banner-container {
        gap: 4px;
    }

    .blog-banner-location-content .blog-banner-button {
        font-size: 12px;
    }

    .blog-banner-title-string {
        display: block;
    }

    .blog-banner-location-content .blog-banner-title-icon {
        display: inline-block;
        vertical-align: middle;
    }

    .blog-banner-location-content::after {
        position: relative;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        display: block;
        width: auto;
        height: 200px;
        margin-right: -16px;
        content: '';
        background-image: var(--banner-bg-image);
        background-repeat: no-repeat;
        background-position: top left;
        background-size: cover;
    }
}