.text-image-media {
    display: grid;
    grid-template-areas: "image" "text";
    grid-template-columns: 1fr;
    grid-gap: 1rem 0;
    gap: 1rem 0
}

@media(min-width:992px) {
    .text-image-media {
        grid-template-columns: 1fr 1fr
    }

    .text-image-media--layout-1 {
        gap: 1.5rem
    }

    .text-image-media--layout-1.text-image-media--image-left {
        grid-template-columns: 1fr 2fr
    }

    .text-image-media--layout-1.text-image-media--image-right {
        grid-template-columns: 2fr 1fr
    }
}

.text-image-media--layout-1 .text-image-media__image {
    padding: 0 !important
}

.text-image-media--layout-1 .text-image-media__text {
    max-width: 100% !important;
    padding: 0 !important;
    width: 100% !important
}

.text-image-media__image {
    grid-area: image;
    padding-right: .75rem;
    position: relative
}

@media(min-width:576px) {
    .text-image-media__image {
        padding-right: calc(var(--container-width)/12 + .75rem)
    }
}

@media(min-width:992px) {
    .text-image-media__image {
        margin-bottom: 0;
        padding-right: 0
    }
}

.text-image-media__image img {
    aspect-ratio: 7/4;
    height: auto;
    width: 100%
}

.text-image-media__image--col2 {
    display: grid;
    grid-gap: 1rem 1.5rem;
    gap: 1rem 1.5rem
}

@media(min-width:576px) {
    .text-image-media__image--col2 {
        grid-template-columns: 1fr 1fr
    }
}

.text-image-media__image__figure {
    margin-bottom: 0
}

.text-image-media__image__figure .glightbox:hover .text-image-media__image__button {
    background-color: var(--bs-btn-hover-bg);
    border-color: var(--bs-btn-hover-border-color);
    color: var(--bs-btn-hover-color)
}

.text-image-media__image__button {
    left: 1rem;
    position: absolute;
    top: 1rem
}

.text-image-media__image__description {
    font-size: .875rem;
    padding: .125rem .25rem
}

.text-image-media__image__hiddenlink {
    display: none
}

.text-image-media__playbutton {
    --button-size: 60px;
    align-items: center;
    background-color: transparent;
    border: none;
    bottom: 0;
    display: flex;
    justify-content: center;
    left: 0;
    padding: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 1
}

.text-image-media__playbutton:active svg,
.text-image-media__playbutton:hover svg {
    background-color: var(--color-main);
    color: var(--color-contrast)
}

.text-image-media__playbutton svg {
    align-items: center;
    aspect-ratio: 1;
    background-color: #fff;
    border-radius: 100vh;
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
    color: #141414;
    display: flex;
    height: var(--buttonsize);
    justify-content: center;
    padding: 1rem;
    transition: background-color .3s ease-in-out, color .3s ease-in-out;
    width: var(--buttonsize);
    z-index: 1
}

.text-image-media__text {
    grid-area: text;
    margin: 0 auto;
    max-width: var(--container-width);
    padding: 0 .75rem;
    width: 100%
}

@media(min-width:992px) {
    .text-image-media__text {
        margin: 0;
        max-width: calc(var(--container-width)/12*6 - .75rem);
        padding: 0 0 0 1.5rem
    }
}

@media(min-width:1400px) {
    .text-image-media__text {
        padding: 0 0 0 calc(var(--container-width)/12)
    }
}

@media(min-width:1780px) {
    .text-image-media__text {
        max-width: calc(var(--container-width)/12*6 - 1.5rem)
    }
}

.text-image-media__text>:last-child {
    margin-bottom: 0
}

@media(min-width:992px) {

    .text-image-media__text .btn,
    .text-image-media__text .button {
        margin-top: 2.5rem
    }

    .text-image-media--v-align-top {
        align-items: start
    }

    .text-image-media--v-align-center {
        align-items: center
    }

    .text-image-media--v-align-bottom {
        align-items: end
    }
}

@media(min-width:1200px) {
    .text-image-media--v-align-center-to-bottom .text-image-media__text {
        margin-top: 14.2857142857vw
    }

    .text-image-media--v-align-center-to-bottom .text-image-media__image--col2+.text-image-media__text {
        margin-top: 0
    }
}

@media(min-width:992px) {
    .text-image-media--image-left {
        grid-template-areas: "image text"
    }

    .text-image-media--image-right {
        grid-template-areas: "text image"
    }

    .text-image-media--image-right .text-image-media__text {
        margin-left: auto;
        max-width: calc(var(--container-width)/12*6 - .75rem);
        padding: 0 1.5rem 0 0
    }
}

@media(min-width:1400px) {
    .text-image-media--image-right .text-image-media__text {
        max-width: calc(var(--container-width)/12*6 - .75rem);
        padding: 0 calc(var(--container-width)/12) 0 0;
        padding: 0 calc(var(--container-width)/12*1) 0 0
    }
}

@media(max-width:991.98px) {
    .text-image-media--mobile-image-text {
        grid-template-areas: "image" "text"
    }

    .text-image-media--mobile-text-image {
        grid-template-areas: "text" "image"
    }

    .container .text-image-media__text {
        padding: 0
    }
}