/*------------------------------------*\
	
	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)

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

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

.image-text .flex-row {
    align-items: center;
    flex-direction: column-reverse;
}

.image-text .flex-opposite {
    flex-direction: column-reverse;
}

.image-text__half {
    width: 100%;
    position: relative;
}

.image-text {
    position: relative;
    z-index: 1;
}

.image-text.bg-white {
    padding-top: var(--section-margins);
}

.image-text.design-elements--left {
    padding-top: calc(var(--section-margins) + 35px);
}

.image-text.bg-white {
    padding-top: var(--section-margins);
}

.small-image-cta + .image-text.design-elements--left.bg-white {
    margin-top: calc(var(--section-margins) + 35px);
    padding-top: calc(var(--section-margins) + 35px);
}

.home--image-text {
    margin-bottom: 0;
}

.image-text.design-elements::after,
.image-text.design-elements--left::after {
    content: "\e90b";
    display: flex;
    height: 325px;
    justify-content: center;
    align-items: center;
    font-family: "alcor";
    position: absolute;
    font-size: 425px;
    color: #ffcb05;
    top: -50px;
    right: -70px;
    transform: scaleX(-1);
    pointer-events: none;
    opacity: 0.1;
}

.image-text.bg-white.design-elements::after,
.image-text.bg-white.design-elements--left::after {
    top: -90px;
}

.image-text.design-elements--left::after {
    left: -70px;
    right: unset;
    transform: unset;
}

.home--image-text.design-elements--left::after {
    top: -90px;
}

.bottom-curve {
    display: none;
    position: absolute;
    width: 100%;
    height: auto;
    bottom: -1px;
    left: 0;
    z-index: -1;
}

.image-text__pattern {
    width: 424px;
    max-width: initial;
    position: absolute;
    top: -30px;
}

.image-text--left .image-text__pattern {
    left: -95px;
}

.image-text--right .image-text__pattern {
    right: -95px;
}

.image-text__img {
    height: 229px;
    padding-bottom: 55px;
    z-index: 1;
}

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

.image-text__text__btn {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-flow: row wrap;
    gap: 20px;
}

@media (max-width: 767px) {
    .image-text__text__btn {
        justify-content: center;
    }
}

.image-text__text__btn .btn + .btn {
    margin: 0;
}

.image-text__text h3 {
    color: #211b12;
    margin-bottom: 15px;
}

.image-text__text h3::after {
    display: none;
}

.home--image-text.image-text--left .flex-opposite .image-text__text {
    padding-top: 25px;
    padding-bottom: 0;
}

.video-bttn {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

.video-bttn img {
    width: 74px;
    transition: all 0.3s;
}

.image-text__text__btn1 .btn {
    margin: 0;
}

.image-text__text__btn1 .btn-tertiary {
    margin: 20px 0 0;
}

.home--image-text .flex-opposite {
    flex-direction: column-reverse;
}

.newsletter-inner-container .col-md-7 {
    input {
        box-shadow: none !important;
        border: 1px solid #f2f2f2;
    }
}

.newsletter-inner-container .col-md-5 {
    display: flex;
    align-items: flex-end;

    & .btn {
        padding: 17px 55px 17px 20px;
        font-size: 16px;
    }
}

.image-text__caption {
    display: block;
    margin-top: 8px;
    padding-inline: 2rem;
    font-size: 14px;
    text-align: center;
}

@media (min-width: 768px) {
    .image-text.design-elements--left {
        padding-top: var(--section-margins);
    }

    .small-image-cta + .image-text.design-elements--left.bg-white {
        margin-top: calc(var(--section-margins) + 100px);
        padding-top: 0;
    }

    .image-text__pattern {
        width: 646px;
        top: -35px;
    }

    .image-text--left .image-text__pattern {
        left: -145px;
    }

    .image-text--right .image-text__pattern {
        right: -145px;
    }

    .image-text__img {
        height: 461px;
    }

    .image-text--left .flex-opposite .image-text__img {
        padding-top: 0;
    }

    .image-text__img {
        padding-bottom: 70px;
    }

    .image-text__text__btn {
        gap: 25px;
    }

    .video-bttn img {
        width: 134px;
    }

    .image-text__text__btn1 br {
        display: none;
    }

    .image-text__text__btn1 .btn-tertiary {
        margin: 0 0 0 25px;
    }
}

@media (min-width: 768px) {
    .image-text.design-elements::after,
    .image-text.design-elements--left::after {
        font-size: 646px;
        top: -25px;
        right: -94px;
    }

    .image-text.bg-white.design-elements::after,
    .image-text.bg-white.design-elements--left::after {
        top: -35px;
    }

    .image-text.design-elements--left::after {
        left: -94px;
        right: unset;
        transform: unset;
    }

    .small-image-cta + .image-text.design-elements::after,
    .small-image-cta + .image-text.design-elements--left::after {
        top: -100px;
    }

    .home--image-text.design-elements--left::after {
        top: -90px;
    }
}

@media (min-width: 1200px) {
    .image-text.bg-white {
        padding-top: 0;
    }

    .image-text .flex-row {
        flex-direction: row;
    }

    .image-text .flex-opposite {
        flex-direction: row-reverse;
    }

    .image-text.design-elements::after,
    .image-text.design-elements--left::after {
        font-size: 941px;
        top: 65px;
        right: -140px;
    }

    .small-image-cta + .image-text.design-elements::after,
    .small-image-cta + .image-text.design-elements--left::after {
        top: -35px;
    }

    .masthead + .image-text.design-elements::after,
    .masthead + .image-text.design-elements--left::after {
        top: -40px;
    }

    .image-text.design-elements--left::after {
        left: -140px;
        right: unset;
        transform: unset;
    }

    .home--image-text.design-elements--left::after {
        top: 0;
    }

    .flex-opposite,
    .home--image-text .flex-opposite {
        flex-direction: row-reverse;
    }

    .image-text__pattern {
        width: 941px;
        top: -38px;
    }

    .image-text--left .image-text__pattern {
        left: -465px;
    }

    .image-text--right .image-text__pattern {
        right: -465px;
    }

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

    .image-text--right .image-text__img {
        width: calc(50% - 59px);
    }

    .image-text__text {
        width: calc(50% - 49px);
    }

    .image-text--right .image-text__text {
        width: calc(50% + 59px);
    }

    .image-text--right-sml .image-text__img {
        height: auto;
        width: calc(50% + 49px);
    }

    .home--image-text .image-text__img {
        height: 500px;
    }

    .image-text--right-sml .image-text__text {
        width: calc(50% - 49px);
    }

    .image-text--left .image-text__text {
        padding-top: 0;
        padding-left: 75px;
    }

    .break {
        display: block;
    }

    .image-text--right .image-text__text {
        padding-bottom: 0;
        padding-right: 75px;
    }

    .image-text--left .flex-opposite .image-text__text {
        padding-top: 0;
        padding-bottom: 0;
    }

    .video-bttn:hover {
        background: none;
    }

    .video-bttn:hover img {
        transform: scale(1.1);
    }
}

.image-text:has(+ .bg-light-purple) svg {
    display: block;
}

/* Read More */

.read-more-btn {
    cursor: pointer;
}

.read-more-excerpt,
.read-more-full-content {
    margin-bottom: 10px;
}
