.rh-card {
	border: 1px solid var(--light-color);
	overflow: hidden;
	border-radius: var(--bs-border-radius);
	display: grid;
	
	& .rh-card__image-wrapper {
		& img {
			width: 100%;
			height: auto;
		}
	}
	&.horizontal-icon-center {
		& .ce__fa-icon-wrapper {
			text-align: center;
		}
	}
	&.horizontal-headline-icon-center {
		& .rh-card-title, 
		& .ce__fa-icon-wrapper {
			text-align: center;
		}
	}
	&.horizontal-all-center {
		& .rh-card__content-text > * {
			text-align: center;
		}
	}
	&.rh-stacking-card {
		> * {
			grid-area: 1 / 1;
		}
		& .rh-card__image-wrapper {
			& img {
				height: 100%;
				object-fit: cover;
			}
		}
	}
	& .rh-card__content-text {
		padding: .75rem 1rem;
		
		& .rh-card-text {
			& p:last-child {
				margin-bottom: 0px;
			}
		}
	}
	&.rh-card__with-bottom-link {
		& .rh-card__content-wrapper {
			display: grid;
			grid-template-rows: auto 50px;
		}
	}
	&.vert-center-card {
		& .rh-card__content {
			display: flex;
			flex-direction: column;
			justify-content: center;
			height: 100%;
		}
	}
	& .ce__fa-icon-wrapper {
		margin-bottom: calc(var(--header-margin)/3);
	}
	& .rh-card-title {
		font-size: var(--h5-font-size);
		font-weight: 600;
		margin-bottom: calc(var(--header-margin)/3);
	}
	& .card-bottom-link {
		& a {
			background-color: var(--first-color);
			color: var(--brightest);
			display: flex;
			justify-content: center;
			align-items: center;
			text-decoration: none;
			width: 100%;
			height: 100%;
			
			&:hover {
				background-color: var(--first-color--hover);
			}
		}
	}
	&.rh-card--borderless {
		border: none;
	}
}
.horizontal-all-center, 
.horizontal-icon-center,
.horizontal-headline-icon-center {
	& .ce__fa-icon-wrapper {
		justify-content: center;
	}
	& .rh-card__img-as-icon-outer {
		display: flex;
		justify-content: center;
	}
}
.card-bgimg-hover {
	text-decoration: none;
	
	& .rh-card__content-wrapper,
	& .rh-card__image-wrapper {
		overflow: hidden;
		/* border-radius: var(--bs-border-radius); */
	}
	
	transition: scale .4s ease;
	& img {
		transition: scale .4s ease;
	}
	&:hover {
		/*
		scale: 1.1;
		
		& img {
			scale: 1.2;
		}
		*/
		& .rh-card__content-wrapper {
			position: relative;
			&:after {
				position: absolute;
				inset: 0px;
				background-color: var(--overlay-color);
				z-index: -1;
				content: '';
			}
		}
	}
	&.rh-card__with-bottom-link {
		& .rh-card__content-wrapper {
			grid-template-rows: auto;
		}
	}
	& .rh-card__content-wrapper {
		position: relative;
		z-index: 100;
		
		& .rh-card__with-bottom-link & {
			padding: 0;
			display: flex;
		}
		@media (min-width: 1200px) {
			opacity: 0;
			transition: opacity .4s ease;
		}
		
		&:hover {
			opacity: 1;
		}
	}
	
	& .rh-card-title {
		color: var(--brightest);
	}
	& .rh-card__content {
		display: flex;
		height: 100%;
		background-color: var(--second-color-80);
		color: var(--brightest);
		flex-direction: column;
	}
	& .rh-card__link-text {
		margin-top: auto;
		text-align: right;
		padding: 1rem 2rem;
		
		& i {
			font-size: 12px;
		}
	}
}
.card__bg-img-hover-up {
	position: relative;
	text-decoration: none;
	color: var(--font-color);
	
	& .rh-card__content-wrapper {
		position: relative;
		z-index: 200;
	}
	& .rh-card-text {
		display: grid;
		grid-template-rows: 0fr;
		transition: grid-template-rows .4s ease;
		
		& .rh-card-text-inner {
			overflow: hidden;
			opacity: 0;
			transition: opacity 0s ease-in 0s;
		}
	}
	&:after {
		content: '';
		position: absolute;
		inset: 0;
		background-color: var(--overlay-color);
		opacity: 0;
		z-index: 100;
	}
	&:hover {
		color: var(--brightest);
		& .rh-card-text {
			grid-template-rows: 1fr;
			
			& .rh-card-text-inner {
				opacity: 1;
				transition: opacity .4s ease-out .4s;
			}
		}
		&:after {
			opacity: 1;
		}
	}
}