/*!
 * Layout Styles - Knowledge AGMA Theme
 * Version: 2.4.3
 * Header, Aside, Main, Footer layout
 */

/* Header */
header:not(.archive-header) {
	position: relative;
	box-sizing: border-box;
	padding-right: 20vw;
	z-index: var(--z-content);
	height: var(--header-height);
	display: flex;
	align-items: flex-end;
	width: auto;
	border-bottom: var(--border-width) var(--border-style);
	margin: auto;
	flex-direction: row;
	max-height: var(--header-max-height);
	margin-right: calc(min(5vw, 85px));
	margin-left: calc(min(5vw, 85px));
}

header ul {
	text-align: right;
	padding: 0;
	display: inline-flex;
	justify-content: flex-end;
	align-items: flex-start;
	gap: 2.8125rem;
	flex-shrink: 0;
}

header ul li {
	display: inline-block;
}

header ul li a {
	font-size: clamp(14px, 1.3em, 20px);
	text-decoration: unset;
	color: var(--m-color);
}

header ul li a:hover {
	color: var(--s-color);
	text-decoration: unset;
}

/* Mobile Header */
.mobile_header_start {
	display: none;
}

.mobile_header {
	display: none;
}

/* Aside Navigation */
aside {
	position: relative;
	padding-right: calc(min(5vw, 85px));
	z-index: var(--z-content);
	width: var(--aside-width);
	max-width: var(--aside-max-width);
	height: 90vh;
	float: right;
	display: flex;
	flex-direction: column;
	overflow: visible;
	justify-content: space-between;
}

aside .nav {
	overflow-y: scroll;
	box-sizing: border-box;
}

aside .nav::-webkit-scrollbar {
	display: none;
}

aside ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

aside ul li a {
	font-size: 1em;
	text-decoration: unset;
	color: var(--m-color);
	position: relative;
}

aside ul li a:hover {
	color: var(--s-color);
	text-decoration: unset;
}

/* Main Content */
.main {
	box-sizing: border-box;
	padding: 0px clamp(16px, 2vw, 40px) 0px clamp(16px, 3.4vw, 85px);
	float: right;
	width: var(--main-width);
	z-index: var(--z-content);
	height: 90vh;
}

main .page {
	font-family: var(--font-b);
	overflow-y: scroll;
	height: 100%;
	width: auto;
	overflow-x: hidden;
}

main .page::-webkit-scrollbar {
	display: none;
}

main .page.page_content::-webkit-scrollbar {
	width: var(--scrollbar-width-thin);
	display: none;
}

main .page.page_content:hover::-webkit-scrollbar-thumb {
	display: block;
	width: var(--scrollbar-width-thin);
}

main .page.page_content:hover::-webkit-scrollbar {
	background: #88888833;
	display: block;
	width: var(--scrollbar-width-thin);
}

main .page.page_content::-webkit-scrollbar-thumb:hover {
	background: #555;
}

main .page.page_content::-webkit-scrollbar-track {
	background: #ffffff00;
}

/* Footer */
footer {
	position: relative;
	padding-right: 0;
	z-index: var(--z-content);
	display: flex;
	align-items: flex-end;
	flex-direction: row;
	margin-right: calc(min(5vw, 85px));
	margin-left: calc(min(5vw, 85px));
	width: 90vw;
	border-top: var(--border-width) var(--border-style);
}

.footer_wrap {
	/* Footer wrapper styles */
}

a.footer_logo img {
	width: 100%;
	padding: 5vh 0;
	display: block;
	margin: auto;
}

.footer_cradit {
	font-size: 10px;
	text-align: center;
	padding: 14px 0;
	font-family: var(--font-b);
	color: #a4a4a4;
}

.footer_cradit a {
	color: #a4a4a4;
	font-weight: normal;
}

/* Mobile Layout Adjustments */
@media screen and (max-width: 765px) {
	header:not(.archive-header),
	body.home header {
		position: fixed;
		margin: 0;
	}

	header.main_header {
		position: relative;
		top: 0;
		height: unset;
		padding-right: 0;
		justify-content: center;
		width: 100vw;
		background: var(--s-color);
		z-index: var(--z-max);
		border: unset;
	}

	header ul {
		display: none;
	}

	header ul.mobile_menu_block {
		display: block;
		position: fixed;
		background: var(--s-color);
		top: 9vh;
		margin: 0;
		padding: 10px 0;
		z-index: var(--z-max);
		width: 100%;
		overflow-y: scroll;
		max-height: 75%;
	}

	header ul.mobile_menu_block::-webkit-scrollbar {
		display: none;
	}

	header ul li {
		width: 100%;
		text-align: center;
		padding: 8px 0;
	}

	header ul li a {
		color: white !important;
	}

	aside {
		width: 90vw;
		background: white;
		z-index: var(--z-max);
		padding: 0 10px;
		height: 100vh;
		right: -100vw;
		top: 0;
		position: fixed;
		padding-top: 9vh;
		box-sizing: border-box;
		transition: var(--transition-base);
	}

	.aside_mobile {
		right: 0;
	}

	aside .nav {
		border-top: var(--border-width) var(--border-style);
	}

	#mobile_x {
		display: block;
		position: absolute;
		left: 15px;
		top: 20px;
		width: 23px;
		cursor: pointer;
	}

	#mobile_x:hover {
		transform: scale(1.1);
	}

	.main {
		position: relative;
		padding: 0vh 4vw !important;
		float: right;
		width: 100vw !important;
		height: 90vh;
		right: 0vw;
		background: var(--b-color);
		z-index: 1000;
		margin-top: 2vh;
	}

	.main_mobile_active {
		right: -100vw;
		background: var(--b-color);
	}
}

