@charset "utf-8";

:root
{
	--text-color: white;
	--background-page: #1E1E1E;
	--background-navigation: #252525;
	--header-navigation: #37373D;
	--nav-top: #2D2D2D;

	--width: 1200px;
	--top-nav-height: 3rem;
	--nav-icon-size: 12px;
	--nav-icon-padding: 5px;

	--footer-height: 1.5rem;
}

html, body
{
	margin: 0;
	font-family: FontAwesome, 'Roboto', sans-serif;
	max-width: 100%;
	height: 100%;
    overflow-x: hidden;
	overflow-y: auto;
}
body
{
	background-color: var(--background-page);
}

p, a, h1, h2, h3, h4, i, li
{
	color: var(--text-color); 
}
p
{
	line-height: 0.9rem;
	margin: 0;
	text-align: justify;
	text-align-last: left;
}
p, a, li
{
	font-weight: normal;
	font-size: 0.9rem;
	line-height: 1.3rem;
}
h1, h2, h3, h4, h5, h6
{
	margin-block-end: 0.3em;
}

.page-wrapper
{
	display: flex;
	flex-direction: row;
	height: calc(100% - var(--footer-height));
}
.nav-left
{
	display: flex;
	flex-direction: column;

	width: 300px;
	background-color: var(--background-navigation);
}
.nav-left .wrapper
{
	overflow: auto;
}
.nav-left .wrapper::-webkit-scrollbar
{
	width: 0.5rem;
}
.page-content-wrapper::-webkit-scrollbar
{
	width: 0.8rem;
}
.nav-left .wrapper::-webkit-scrollbar-track, .page-content-wrapper::-webkit-scrollbar-track
{
	box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
	border-radius: 1em;
}
.nav-left .wrapper::-webkit-scrollbar-thumb, .page-content-wrapper::-webkit-scrollbar-thumb
{
	background-color: rgb(78, 78, 78);
	border-radius: 1em;
}

.nav-left .header
{
	display: block;
	height: var(--top-nav-height);
	line-height: var(--top-nav-height);

	text-decoration: none;
	font-size: 1.6em;

	padding-left: 1.5rem;
}
.nav-item
{
	display: flex;
	flex-direction: row;

	text-decoration: none;
	height: 1.4rem;
	line-height: 1.6;
	padding: 3px 0;
	padding-left: 1.6em;
}
.nav-item a
{
	text-decoration: none;
}
.nav-item:hover *
{
	text-decoration: underline;
}
.nav-item.active
{
	background-color: var(--header-navigation);
}
.nav-item.folded
{
	display: none;
}

.nav-item .foldout
{
	cursor: pointer;
}
.nav-item.foldedSelf .foldout
{
	transform: rotate(-90deg);
}
.nav-item div
{
	width: 1.6em;
	height: 1.6em;
	margin-right: 0.3em;
	position: relative;
}
.nav-item img
{
	width: 0.9em;
	height: 0.9em;
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}
.nav-item i
{
	font-size: 0.9em;

	position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}
.nav-item.r1
{
	padding-left: calc(1.6em + 1.1em * 1);
}
.nav-item.r2
{
	padding-left: calc(1.6em + 1.1em * 2);
}
.nav-item.r3
{
	padding-left: calc(1.6em + 1.1em * 3);
}
.nav-item.r4
{
	padding-left: calc(1.6em + 1.1em * 4);
}
.nav-item.r5
{
	padding-left: calc(1.6em + 1.1em * 4);
}

.nav-item.r1:has(.foldout)
{
	padding-left: calc(1.1em * 1) !important;
}
.nav-item.r2:has(.foldout)
{
	padding-left: calc(1.1em * 2) !important;
}
.nav-item.r3:has(.foldout)
{
	padding-left: calc(1.1em * 3) !important;
}
.nav-item.r4:has(.foldout)
{
	padding-left: calc(1.1em * 4) !important;
}
.nav-item.r5:has(.foldout)
{
	padding-left: calc(1.1em * 4) !important;
}


#nav-bars-mobile
{
	display: none;
}

.nav-top
{
	background-color: var(--background-navigation);

	align-items: flex-start;
	width: auto;

	display: flex;
	flex-direction: row;
}
.nav-obj
{
	background-color: var(--nav-top);
	display: flex;
	flex-direction: row;
	padding: 1em;
	text-decoration: none;
}
.nav-obj.active
{
	background-color: var(--background-page);
}
.nav-obj div
{
	width: 1.4em;
	height: 1.4em;
	margin-right: 0.3em;
	position: relative;
}
.nav-obj img
{
	width: 0.8em;
	height: 0.8em;
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}
.nav-obj i
{
	font-size: 0.8em;

	position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}
.nav-obj p
{
	white-space: nowrap;
}
  

.content-wrapper
{
	flex-grow: 1;

	display: flex;
	flex-direction: column;

	width: calc(100vw - 300px);
}

.page-content-wrapper
{
	overflow:auto;
}
.page-content
{
	margin: 0.9em 1.5em;
	max-width: var(--width);
}
.page-content pre
{
	display: inline-block;
}

pre code.hljs.language-csharp
{
	border-radius: 1em;
	padding: 1.75em;
}

.page-content img, .page-content video
{
	width: 49.5%;
	border-radius: 1em;
}
.page-content img.small, .page-content video.small, .page-content iframe.small
{
	width: 20%;
}
.page-content img.big, .page-content video.big, .page-content iframe.big
{
	width: 70%;
}
.page-content img.full, .page-content video.full, .page-content iframe.full
{
	width: 100%;
}
iframe
{
	aspect-ratio: 16/9;
}

.page-content li
{
	padding: 3px 0;
}

.skill-container
{
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	align-items: center;

	font-size: 1rem;
	margin-bottom: 0.7em;

	color: var(--text-color); 
}
.skill-explain
{
	display: flex;
	flex-direction: row;
	font-weight: normal;
	font-size: 1rem;
	line-height: 1.2rem;

	margin: 1em 0;

	color: var(--text-color); 
}
.skill-explain > *:not(:last-child)
{
	margin-right: 1em;
}
.skill-explain img
{
	width: 1em !important;
	height: 1em !important;
	margin-right: 0.3em;
}
skill 
{
	display: flex;
	flex-direction: row;
	align-content: center;
	align-items: center;
	justify-content: center;

	font-weight: normal;
	font-size: 1rem;
	line-height: 1.2rem;

	padding: 0.3em 0.5em;
	border-radius: 0.5em;
	margin-right: 0.7em;
	margin-top: 0.4em;
}
.inline skill:first-child
{
	margin-left: 1.5em;
}
skill img 
{
	margin-left: 0.5em;
	width: 1em !important;
	height: 1em !important;
	object-fit: contain !important;
}
skill.coding
{
	background-color: #4E6E8E;
}
skill.source
{
	background-color: #A7AB4B;
}
skill.engine
{
	background-color: #61AB4B;
}
skill.ide
{
	background-color: #4B50AB;
}
skill.productivity
{
	background-color: #AB764B;
}
skill.misc
{
	background-color: #4BAB98;
}
skill.unity
{
	background-color: #AB544B;
}
p.skill
{
	font-weight: normal;
	font-size: 1rem;
	line-height: 1.9rem;

	text-align: left;
	text-align-last: left;
}

.footer
{
	display: flex;
	flex-direction: row;

	height: var(--footer-height);
	background-color: #3374FF;
}
.footer > *
{
	flex-grow: 1;
}
.footer .left
{
	display: flex;
	flex-direction: row;
}
.footer .left > *
{
	margin-left: 1.6rem;
}
.footer .right
{
	display: flex;
	flex-direction: row-reverse;
}
.footer .right:last-child
{
	margin-right: 0.7rem;
}
.footer i:not(.no)
{
	margin-right: 0.7rem;
}
.footer p, .footer a
{
	line-height: 1.5rem;
}
.footer .highlight
{
	position: relative;
	padding: 0 0.6em;
}
.footer .highlight:hover
{
	cursor: pointer;
	background-color: #b93933;
}
.footer .highlight::after
{
	visibility: hidden;
	content: attr(show);
	white-space: nowrap;
	background-color: #181818;
	padding: 0.6rem 1rem;
	border-radius: 0.3rem;
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, -60%);
}
.footer .highlight.r::after
{
	transform: translate(calc(-100% + 20px), -60%);
}
.footer .highlight:hover::after
{
	visibility: visible;
}

.modal-wrapper
{
	position: absolute;
	z-index: 100;
	width: 100%;
	height: 100%;
	top: 0;
	background-color: rgba(0, 0, 0, 0.6);

	backdrop-filter: blur(2px);
}
.modal-wrapper img
{
	position: absolute;

	max-width: 80%;
	max-height: 80%;
	min-height: 60%;
	min-width: 60%;
	object-fit: contain;

	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.modal-wrapper i
{
	position: absolute;
	display: block;

	top: 2.5rem;
	right: 2.5rem;
	font-size: 2.5rem;

	cursor: pointer;
}


@media only screen and (max-width: 900px) 
{
	:root
	{
		--width: 100%;
		--footer-height: 0;
	}

	.nav-left
	{
		display: none;
		position: absolute;
		z-index: 2;
		width: 100%;
		padding-bottom: 100%;
	}
	.nav-left .header
	{
		visibility: hidden;
	}
	.nav-item
	{
		padding: 7px 0;
	}

	.nav-obj:nth-child(n+3)
	{
		display: none;
	}
	#nav-bars-mobile
	{
		display: block;
		background-color: var(--nav-top);
		margin-left: auto;
		padding: 0.69em;
		text-decoration: none;
		font-size: 1.3em;

		z-index: 4;
	}

	.skill-explain
	{
		flex-direction: column;
	}

	.page-content pre
	{
		display: block;
	}
	.page-content img.small, .page-content video.small
	{
		width: 50%;
	}
	.page-content img, .page-content img.big, .page-content video, .page-content video.big, .page-content iframe, .page-content iframe.big
	{
		width: 100%;
	}

	.footer
	{
		display: none;
	}
}
