.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 {
			justify-content: center;
		}
	}
	&.horizontal-headline-icon-center {
		& .rh-card-title {
			text-align: center;
		}
		& .ce__fa-icon-wrapper {
			justify-content: center;
		}
	}
	&.horizontal-all-center {
		& .rh-card__content-text > * {
			justify-content: center;
			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;
	}
}
.ce__fa-icon {
	display: grid;
	gap: var(--grid-gap-size);
	
	&.ce-left {
		grid-template-columns: 100px minmax(0, 1fr);
		
		& i {
			margin-top: 5px;
		}
	}
	&.ce-right {
		grid-template-columns: minmax(0, 1fr) 100px;
		
		& i {
			margin-top: 5px;
		}
	}
}
.ce__fa-icon-wrapper {
	display: flex;
	align-items: center;
	
	& i {
		font-size: 2rem;
	}
}
.ce-left,
.ce-right {
	& .ce__fa-icon-wrapper {
		align-items: start;
	}
}
.ce-above,
.ce-below,
.ce-within {
	& .ce__fa-icon-wrapper {
		&.ce__fa-icon-header-position-center {
			justify-content: center;
		}
		&.ce__fa-icon-header-position-right {
			justify-content: end;
		}
	}
}
.ce__fa-as-icon_wrapper, 
.ce__img-as-icon_wrapper {
	width: 100px;
	height: 100px;
	display: flex;
	justify-content: center;
	align-items: center;
	
	& img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}
}

.ce-left,
.ce-right {
	& .ce__fa-as-icon_wrapper, 
	& .ce__img-as-icon_wrapper {
		align-items: start;
	}
}