/* ///////////////////////
 *
 * Variablen
 *
 * ///////////////////////
*/

* {
	/* outline: 1px solid red; */
	
	--c-dark: #232323;
	--c-acc: #a4c639;
	--c-overlay: rgba(0, 0, 0, 0.65);
}


/* ///////////////////////
 *
 * Allgemein
 *
 * ///////////////////////
*/

html {
	scroll-behavior: smooth;
}

:target {
	scroll-margin-top: 100px;
}

#page__main img,
.page__main img {
	max-width: 100%;
}


/* ///////////////////////
 *
 * Layout
 *
 * ///////////////////////
*/

@media (max-width: 991px) {
	.row-reverse-mobile {
		flex-direction: column-reverse;
	}

	#page__main .col-lg-6 + .col-lg-6,
	.page__main .col-lg-6 + .col-lg-6 {
		margin-bottom: 1rem;
	}
}


/* ///////////////////////
 *
 * Abstände
 *
 * ///////////////////////
*/

.m-b-m {
	margin-bottom: 1rem !important;
}

.m-b-none {
	margin-bottom: 0 !important;
}

.m-b-xl {
	margin-bottom: 3rem !important;
}

.m-t-xl {
	margin-top: 3rem !important;
}

.p-y-xxxl {
	padding-top: 6rem !important;
	padding-bottom: 6rem !important;
}

@media (max-width: 767px) {
	.m-b-l-m {
		margin-bottom: 2rem !important;
	}
}

/* ///////////////////////
 *
 * Typo
 *
 * ///////////////////////
*/

.text--center {
	text-align: center;
}

.text--right {
	text-align: right;
}

.text--small {
	font-size: 0.8rem !important;
}

.text--normal {
	font-weight: normal !important;
}

@media (max-width: 767px) {
	.text--center--mobile {
		text-align: center;
	}
}

@media (min-width: 768px) and (max-width: 991px) {
	.text--right--tablet {
		text-align: right;
	}
}

@media (min-width: 992px) {
	.text--right--desktop {
		text-align: right;
	}
}

/* ///////////////////////
 *
 * Header
 *
 * ///////////////////////
*/

@media (max-width: 991px) {
	/* Logo */
	.navbar-brand {
		margin-left: 15px;
	}

	/* Navi Dropdown */
	.navbar .navbar-nav .nav-link:hover,
	.navbar .navbar-nav .active > .nav-link,
	.navbar .navbar-nav .nav-link.active,
	.navbar .navbar-nav .nav-link.show,
	.navbar .navbar-nav .show > .nav-link {
		box-shadow: none;
	}

	.dropdown-menu {
		border: none;
		text-align: center;
	}
}

.dropdown-item:not(:last-child) {
	margin-bottom: 0.5rem;
}


/* ///////////////////////
 *
 * Page Hero
 *
 * ///////////////////////
*/

.page-heading {
	background-image: var(--bg-url, url("../images/page-heading-bg.jpg"));
}

.header-with-overlay,
.header-with-overlay > * {
	position: relative;
	z-index: 1;
}

.header-with-overlay::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--c-overlay);
}

/* ///////////////////////
 *
 * Page Main
 *
 * ///////////////////////
*/

#page__main .row,
.page__main .row {
	margin-bottom: 3rem;
}

#page__main p + p,
.page__main p + p {
	margin-top: 1rem;
}

#page__main p + h3,
.page__main p + h3 {
	margin-top: 1rem;
}

#page__main h2 + p,
.page__main h2 + p {
	margin-top: 1rem;
}


/* ///////////////////////
 *
 * Table of Content
 *
 * ///////////////////////
*/

#table_of_content ul {
	padding: 0 0 0 1rem;
}

#table_of_content li {
	list-style-image: url(../icons/caret-right.svg);
}

#table_of_content li::marker {
	transform: translateY(-1px);
}

#table_of_content a {
	display: block;
	padding: 0.5rem 0;
	color: var(--c-acc);
}

/* ///////////////////////
 *
 * Icon Link
 *
 * ///////////////////////
*/

.icon-link {
	display: inline-flex;
	gap: 1rem;
	flex-direction: column;
	align-items: center;
}

.icon-link svg {
	height: 3rem;
}

.icon-link path {
	fill: white;
}


/* ///////////////////////
 *
 * CTA
 *
 * ///////////////////////
*/

.cta {
	position: relative;
	margin: 3rem 0;
	padding-top:	3rem;
	padding-bottom: 3rem;
	color: white;
	background-color: var(--c-overlay);
}

.cta::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	background-position: center center;
	background-size: cover;
	background-image: var(--bg-url);
}

.cta .row + .row {
	margin-top: 2rem;
}