
@import "styles/age_gate.css";
@import "styles/post_navbar.css";
@import "styles/search.css";
@import "styles/toc.css";

/********************
 * GENERAL SETTINGS *
 ********************
 */

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

.fa-icn {
	fill: var(--text_1);
	padding-top: 0.1rem;
	height: 1em;
	vertical-align: -0.125em;
}

body {
	--bg_1: #0e0a2a;
	--bg_2: #2c2943;
	--bg_3: #3f4148;

	--highlight_0: #ee9015b1;
	--highlight_1: #ee9015;
	--highlight_1a: #ee901540;
	--highlight_2: #edd29e;

	--text_1: #FFFFFF;
	--text_border: #A0A0A080;

		--content-width: 	min(100vw, calc(20rem + 40vw));
	  --content-total-margin: calc(calc(100vw - var(--content-width)) / 2);

	  --content-padding: 	max(0.5rem, min(1rem, var(--content-total-margin)));
	  --content-margin:   max(0px, calc(var(--content-total-margin) - 1rem));
	  
	width: 100vw;
    
	color: var(--text_1);
    background: var(--bg_1);
    margin: 0px;

	position: relative;
	
    min-height: 100vh;
	padding-bottom: 4rem;

	overflow-y: overlay;
	overflow-x: clip;

	scrollbar-gutter: stable;
}

@media only screen and (max-width: 600px) {
	.hsmol_hide {
		display: none !important;
		visibility: hidden !important;
	}
}

@media only screen and (max-width: 1000px) {
	#toc_container {
		display: none !important;
		visibility: hidden !important;
	}
	
	#main_content_flexbox:before {
		flex: 0.5 0 0 !important;
	}
}

/* width */
::-webkit-scrollbar {
width: 3px;
height: 3px;
}

/* Track */
::-webkit-scrollbar-track {
background: transparent;
}

/* Handle */
::-webkit-scrollbar-thumb {
background: var(--highlight_1);
}
  

:link {
	color: var(--highlight_1);
	font-style: italic;
	text-decoration: none;
	
	transition: color 0.2s;
}
a:visited {
	color: var(--highlight_1);
}
a:hover {
	color: var(--highlight_2);
}

#main_header {
	overflow: hidden;
	position: relative;

	padding-bottom: 0.7rem;
}
#main_banner_img {
	position: absolute;
	left: 0px;
	right: 0px;

	width: 100vw;

	z-index: -1;

	opacity: 0;
	top: 0px;
}
#main_banner_img_link {
	position: absolute;
	right: 2vw;
	bottom: 0.5rem;

	font-size: 0.8rem;
}

#nav_bar {
	display: flex;
	flex-direction: row;
	justify-content: center;
	
	list-style-type: none;
	margin-top: 1rem;
	padding: 0px;
}
#nav_bar li {
	padding: 0rem 0.3rem 0rem 0.3rem;
}

#big_title {
	text-align: center;
	font-size: 2.5rem;
	margin-bottom: 0.2rem;
}
#main_header h2 {
	text-align: center;
	font-size: 2rem;
	margin-bottom: 0.2rem;
}

#title_separator {
	height: 1.5px;
	background-color: #ddd;
	opacity: 0.5;
	margin-left: 2rem;
	margin-right: 2rem;
}

:target, html, body { 
	scroll-margin-top: 140px;
}
:target {
	outline: 1px solid var(--highlight_1);
}

#main_content_flexbox {
  width: 100vw;
	
	display: flex;
	justify-content: left;
	align-items: flex-start;

	padding-left: 1em;
	padding-right: 1em;
	
	&:before {
		content: '';
		flex: 0.2 0 0;
	}
}

#main_content_wrapper {
	/*padding: 0rem var(--content-padding) 1rem var(--content-padding);*/
	
	/*width: var(--content-width);*/
  flex: 0 1 var(--content-width);

	/*margin-left:  calc(var(--content-margin));
	//margin-right: var(--content-margin);*/
	
	margin-top: 0px;

	min-height: 100%;

	background: var(--bg_2);
	min-width: 0;
}

body::before {
	content: '';
	
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	
	width: 100%;
	height: 100%;
	
	background-image: url('/static/three-dots.svg');
	background-repeat: no-repeat;
	background-position: center;
	
	opacity: 0;
	
	z-index: 10;
	pointer-events: none;
	
	transition: opacity 0.2s;
}
.htmx-indicator {
	position: relative;
}
.htmx-indicator::before {
	content: '';

	position: absolute;

	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	
	width: 100%;
	height: 100%;
	
	background-image: url('/static/three-dots.svg');
	background-repeat: no-repeat;
	background-position: center;
	
	opacity: 0;
	
	z-index: 10;
	pointer-events: none;
	
	transition: opacity 0.2s;
}
.htmx-request::before {
	opacity: 0.5;	
	
	transition-delay: 0.5s;
}

.folder_listing {
	& input {
		display: none;
	}

	& input ~ ul {
		display: none;
	}
	& input:checked ~ ul {
		display: block;
	}

	label > :nth-child(2) {
		display: none;
	}
	input:checked ~ label > :nth-child(1) {
		display: none;
	}
	input:checked ~ label > :nth-child(2) {
		display: inline-block;
	}
}

label.expandable {
	cursor: pointer;
}
input.expandable {
	display: none;
}
input.expandable + .expandable {
	display: none;
}
input.expandable:checked + .expandable {
	display: block;
}


article {
	background: var(--bg_3);

	border-radius: 0rem 0rem 0.8rem 0.8rem;
	box-shadow: 3px 7px 7px 0px #00000040;

	padding: 0.75rem;
	
	& img {
		display: block;
		max-width: 100%;

		max-height: 70vh;
		
		margin: 1vmin;
		margin-right: auto;
		margin-left: auto;
	}
}

#content_footer {
	display: block;
    max-width: 100%;

	margin-top: 0.5em;

	font-size: 0.8em;
	border-top: solid 1px darkgrey;
	opacity: 0.7;
}

#main_footer {
	display: flex;
	
	height: 2.5rem;
	text-align: center;
	background-color: #3a3a3a;
	margin: 0px;

	position: absolute;
	bottom: 0px;
	width: 100%;
	& span {
		align-self: flex-end;
		width: 100%;
	}
}
