.hero-section {
    min-height: 500px;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.hero-background {
    z-index: 0;
}

.object-fit-cover {
    object-fit: cover;
}

@media (max-width: 992px) {
    .hero-section {
        min-height: 450px;
    }
}

@media (max-width: 768px) {
    .hero-section {
        min-height: 400px;
        text-align: center;
    }
    .hero-section .row {
        justify-content: center;
    }
}
.card {
	height: 100%;
	position: relative;
	transition: all 0.3s ease;
}

.card-img-container {
	position: relative;
	overflow: hidden;
	padding-top: 66%;
}

.card-img-primary,
.card-img-hover {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: opacity 0.3s ease;
}

.card-img-hover {
	opacity: 0;
}

.card:hover .card-img-primary {
	opacity: 0;
}

.card:hover .card-img-hover {
	opacity: 1;
}

.card-body {
	display: flex;
	flex-direction: column;
}

.card-text {
	flex-grow: 1;
}

.btn-container {
	margin-top: auto;
}

.offer-teaser{
  position:fixed; right:1rem; bottom:1rem; width:min(360px,92vw); z-index:1060;
  border-radius:1rem; overflow:hidden;
}
@media (max-width: 767.98px){
  .offer-teaser{ left:.5rem; right:.5rem; bottom:.5rem; }
}

.offer-ribbon{position:sticky;top:0;z-index:1050;background:#0f172a;padding:.6rem 0}