:root {
	--fx-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
}

/* Heller Grund, auch wenn Browser oder App im Dunkelmodus laufen */
html {
	background: #fff;
}

/* Inhalte blenden beim Scrollen ein */
.fx-reveal {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 600ms var(--fx-ease-out), transform 600ms var(--fx-ease-out);
}
.fx-reveal.fx-in {
	opacity: 1;
	transform: translateY(0);
}

/* Titelbild setzt sich beim Laden */
.items-leading .item-image {
	overflow: hidden;
}
@keyframes fx-settle {
	from { transform: scale(1.04); }
	to { transform: scale(1); }
}
.items-leading .item-image img {
	animation: fx-settle 1200ms var(--fx-ease-out) both;
}

/* Kleine Raute unter dem Menuepunkt, passend zum Rauten-Motiv der Seite */
@media (hover: hover) and (pointer: fine) and (min-width: 1033px) {
	.moduletable_hauptmenu ul li a {
		position: relative;
		transition: color 200ms ease;
	}
	.moduletable_hauptmenu ul li a:hover {
		color: #707173;
	}
	.moduletable_hauptmenu ul li a::after {
		content: "";
		position: absolute;
		left: 50%;
		bottom: 2px;
		width: 6px;
		height: 6px;
		margin-left: -3px;
		background: #70992D;
		opacity: 0;
		transform: rotate(45deg) scale(0.8);
		transition: opacity 200ms var(--fx-ease-out), transform 200ms var(--fx-ease-out);
	}
	.moduletable_hauptmenu ul li a:hover::after,
	.moduletable_hauptmenu ul li.current a::after {
		opacity: 1;
		transform: rotate(45deg) scale(1);
	}
}

/* Hover nur bei echter Maus */
@media (hover: hover) and (pointer: fine) {
	.rc_gallery div.rc_galleryimg_container {
		overflow: hidden;
	}
	.rc_gallery div.rc_galleryimg_container img {
		transition: transform 200ms var(--fx-ease-out);
	}
	.rc_gallery a:hover div.rc_galleryimg_container img {
		transform: scale(1.05);
	}
}

@media (prefers-reduced-motion: reduce) {
	.fx-reveal {
		transform: none;
		transition: opacity 200ms ease;
	}
	.fx-reveal.fx-in {
		transform: none;
	}
	.items-leading .item-image img {
		animation: none;
	}
	.rc_gallery a:hover div.rc_galleryimg_container img {
		transform: none;
	}
}

@media print {
	.fx-reveal {
		opacity: 1;
		transform: none;
	}
}
