#main_page_wrap {
	display: flex;
	align-items: stretch;
}

#sidebar {
	width: 320px;
	background-color: var(--color-blue);
	color: var(--color-white);
	position: relative;
}

#sidebar_sticky {
	height: 100vh;
	height: calc(100vh - var(--header-height));
	position: sticky;
	top: var(--header-height);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

#sidebar_sticky_scrollable {
	width: 100%;
	overflow: auto;
	padding: var(--universal-gap);
	-ms-overflow-style: none;
	scrollbar-width: none;
}

#sidebar_sticky_scrollable::-webkit-scrollbar {
	display: none;
}

#sidebar_headline_container {
	writing-mode: vertical-rl;
	transform: rotate(-180deg);
	margin-bottom: calc(var(--universal-gap) * 2);
}

#sidebar_headline_container span:not(.rotate_special_char) {
	display: block;
}

#sidebar_navigation {
	margin-bottom: calc(var(--universal-gap) * 2);
	position: relative;
}

#sidebar_navigation #sidebar_marker {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 8px;
	height: 50px;
	background-color: var(--color-white);
	transition: all 600ms ease;
}

#sidebar_navigation a {
	display: block;
	border-left: 1px solid var(--color-white);
	padding: 14px 0 14px 30px;
	position: relative;
}

#sidebar_navigation a:hover {
	text-decoration: none;
}

#mainbar {
	flex: 1;
	width: 100%;
}

.in_page_anchor {
	position: absolute;
	top: -200px;
	top: calc(0px - var(--header-height) - var(--universal-gap));
	visibility: hidden;
}

/*Mobile Sidebar*/
@media (max-width: 1100px) {
	#sidebar {
		width: 100%;
		position: fixed;
		top: 0;
		top: var(--header-height);
		background-color: var(--color-white);
		z-index: 2;
		box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
	}

	#sidebar::before,
	#sidebar::after {
		content: '';
		position: absolute;
		z-index: 1;
		top: 0;
		left: 0;
		height: 100%;
		width: 60px;
		display: block;
		pointer-events: none;
		background: linear-gradient(
			90deg,
			rgba(255, 255, 255, 1) 0%,
			rgba(255, 255, 255, 0) 100%
		);
		opacity: 1;
		transition: opacity 300ms ease;
	}

	#sidebar::after {
		right: 0;
		left: auto;
		background: linear-gradient(
			270deg,
			rgba(255, 255, 255, 1) 0%,
			rgba(255, 255, 255, 0) 100%
		);
	}

	#sidebar.at-start::before {
		opacity: 0;
	}
	#sidebar.at-end::after {
		opacity: 0;
	}

	#sidebar_sticky {
		height: auto;
	}

	#sidebar_sticky_scrollable {
		padding: 0;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	#sidebar_navigation {
		margin-bottom: 0;
		overflow: auto;
		-ms-overflow-style: none;
		scrollbar-width: none;
		display: inline-flex;
		padding: 0 10px;
	}

	#sidebar_navigation::-webkit-scrollbar {
		display: none;
	}

	#sidebar_headline_container,
	#sidebar .button {
		display: none;
	}

	#sidebar_navigation a,
	#sidebar_navigation a.active,
	#sidebar_navigation a:hover {
		display: inline-block;
		border-left: 0;
		padding: 14px;
		color: var(--color-dark-grey);
		font-size: var(--fs-5);
		border-bottom: 1px solid var(--color-white);
		white-space: nowrap;
	}

	#sidebar_navigation a.active,
	#sidebar_navigation a:hover {
		color: var(--color-blue);
		border-bottom: 1px solid var(--color-blue);
	}

	#sidebar_navigation #sidebar_marker {
		display: none;
	}
}
