/*------------------------------------*\
    
    Contained Image + Text Block Customizations - Global Styling

    The styles you add to this file will be applied to the 'Contained Image + Text' block. 
    If there is any reasons why you would need to style them separately,
    please create a block-specific stylesheet for it (don't forget to register that block-specific stylesheet in acf-start-blocks.php)

\*------------------------------------*/

.image-text {
    position: relative;
}

.flex-row {
    display: flex;
    flex-wrap: wrap;
}

.image-text .flex-row {
    align-items: center;
    position: relative;
}

.image-text__img,
.image-text__text {
    width: 100%;
    position: relative;
    z-index: 1;
}

.image-text__img {
    z-index: 3;
}

.image-text__img {
    padding-right: 22px;
    height: 234px;
}

.image-text__img img {
    border-radius: 0 5px 5px 0;
}

.image-text__text {
    padding: 75px 22px 0;
}

.image-text__text__wrapper h2 {
    letter-spacing: 0.03em;
}

.image-text__bg {
    z-index: 0;
    position: absolute;
    width: 1353px;
    top: 0;
    left: 0;
    max-width: inherit;
    pointer-events: none;
}

@media (min-width: 768px) {
    .image-text__img {
        padding-right: 52px;
        height: 477px;
    }

    .image-text__text {
        padding: 85px 52px 0;
    }
}

@media (min-width: 1200px) {
    .flex-opposite {
        flex-direction: row-reverse;
    }

    .image-text__img {
        width: calc(50% - 92px);
        height: auto;
        padding: 0;
    }

    .image-text__text {
        width: calc(50% + 92px);
        padding: 0 63px;
    }

    .image-text--left .image-text__text {
        padding-left: 74px;
    }

    .image-text--right .image-text__text {
        padding-right: 74px;
    }

    .image-text__text__wrapper {
        max-width: 649px;
    }

    .image-text__text__wrapper p {
        font-size: 17px;
    }

    .image-text--right .image-text__text__wrapper {
        margin-left: auto;
    }

    .image-text--right .image-text__img img {
        border-radius: 5px 0 0 5px;
    }

    .image-text__img img {
        max-height: 570px;
    }

    .image-text__bg {
        left: 0;
    }
}

/*------------------------------------*\
    Video Button Overlay
\*------------------------------------*/

.image-text__img .media-wrapper,
.half-and-half-image .media-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
}

.image-text__img .media-wrapper img,
.half-and-half-image .media-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.video-bttn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease, opacity 0.3s ease;
    text-decoration: none;
}

.video-bttn:hover {
    transform: translate(-50%, -50%) scale(1.1);
    text-decoration: none;
    border-color: transparent;
}

.video-bttn:focus {
    outline: 2px solid var(--white);
    outline-offset: 4px;
}

.video-bttn svg {
    width: 70px;
    height: 70px;
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.3));
}

@media (min-width: 768px) {
    .video-bttn svg {
        width: 90px;
        height: 89px;
    }
}