.text-card .element {
    margin-bottom: 3rem;
    height: 100%;
    background-image: linear-gradient(to bottom, transparent 2rem, #fff 2rem);
    background-position: 30px center;
    padding: 0 1.5rem;
    border: 3px solid;
    border-image: linear-gradient( to top, #e5e5e566, transparent 60%) 0 3 3 3;
    border-top: 0;
    box-shadow: rgba(0, 0, 0, .1) 0 0 15px -5px;
}

.text-card .element.special {
    position: relative;
    background: none;
}

.text-card .element.special h3,
.text-card .element.special p {
    color: #fff;
}


/*.text-card .element.special img {
    opacity: 0;
}*/

.text-card .element.special .bgcolor {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
    opacity: .8;
    background-color: var(--green-dark);
}

.text-card .element.special .bg {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -3;
    filter: grayscale(100%);
    background-repeat: no-repeat;
}


/*
.text-card .element.special .mask {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background-repeat: no-repeat;
    clip: rect(0px, 60px, 200px, 0px);
}


.text-card .element.special .mask {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: -5rem;
    left: 0;
    z-index: -1;
    padding: 0 50vw 1rem 10vw;
    background-clip: content-box;
    background-position: center calc(50% - -5rem) !important;
    background-repeat: no-repeat;
}*/

.text-card .element img,
.text-card .element .video {
    margin-top: -1.5rem;
}

.text-card .element video {
    object-fit: cover;
}

.ratio-3x2 {
    --bs-aspect-ratio: calc(2 / 3 * 100%);
}

.text-card .element h3 {
    color: var(--green);
}