/* Generic */
*,
*::before,
*::after{
	box-sizing:border-box;
	outline:none;
}
::-moz-selection {
  color: var(--select-color);
  background: var(--hover-color);
}
::selection {
  color: var(--select-color);
  background: var(--hover-color);
}
html{
	height:100%;
	background:var(--background-color);
	background-image:
		linear-gradient(45deg, transparent 48%, var(--main-color-trans) 50%, transparent 52%),
		linear-gradient(-45deg, transparent 48%, var(--main-color-trans) 50%, transparent 52%);
	background-size: 15px 15px;

	background-image: linear-gradient(to bottom, var(--main-color-trans), transparent 2px);
}
body{
	font-family: Eras, monospace, sans-serif;
	font-size: 18px;
	/* letter-spacing:-1px; */
	color: var(--text-color);
	margin:0;
}
h1, h2, h3, h4, h5, h6{
	font-family: Fontastique;
}
a{
	color: inherit;
	text-decoration:underline;
	cursor:pointer;
}
a:hover{
	color: var(--hover-color);
}
.anchor{
	display: inline-block;
	height: 100%;
	position: relative;
	text-decoration:none;
	transition:color 75ms ease-in-out;
}
.anchor::before{
	content:">";
	position: absolute;
	left: 0; bottom: 0;
	display: flex;
	align-items: center;
	height: 100%;
	opacity: 0;
	transform: translateX(-150%);
	font-size:1em;
	line-height: 1em;
	pointer-events: none;
	transition: transform 75ms ease-in-out, opacity 75ms ease-in-out;
}
.anchor:hover{
	color:#789922;
}
.anchor:hover::before{
	transform: translateX(-100%);
	opacity: 1;
}
.max-width{
	max-width:900px;
	padding:0px 20px;
	margin:auto;
}
.hidden{
	display:none;
}
.visible-tablet{
	display:none;
}
.no-select{
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-o-user-select: none;
	user-select: none;
}
.no-underline{
	text-decoration:none;
}
.mono{
	font-family: Roboto Mono;
	font-size: 14px;
}

.info{
	width: 1.6em;
	height: 1.6em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	vertical-align: center;
	border-radius: 100%;
	font-size: 0.4em;
	color: white;
	background: black;
	border: 2px solid transparent;
}
.info:hover{
	color: black;
	background: white;
	border-color: black;
}

/* Main */
header{
	display:flex;
	align-items:center;
	justify-content:center;
	background:var(--header-color);
	width:100%;
	border-bottom: 1px solid var(--main-color);
	padding: 10px 0px;
	margin-bottom:40px;
}
#header-inner{
	display:flex;
	justify-content:flex-start;
	width:100%;
	height:120px;
}
#header-inner > label{
	width:120px;
	cursor:pointer;
}
#header-inner > label > img{
	width:100%;
	border-radius:5px;
}
#header-inner > label .css-popup-close svg{
	stroke:var(--main-color);
}
#header-inner > label .css-popup-body{
	min-width:200px;
	padding:0px 50px;
	width:auto;
	height:auto;
	display:flex;
	align-items:center;
	justify-content:center;
	background-color:var(--background-color);
}
#header-inner > label .css-popup-body .css-popup-content{
	display: flex;
	flex-direction:column;
}
#header-inner > label .css-popup-body .css-popup-content > h1{
	width: 100%;
	text-align:center;
	margin-top:10px;
}
#header-inner > label .css-popup-body .css-popup-content #themes{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin:20px 0px;
}

#header-inner > #header-info {
	display:flex;
	flex-direction:column;
	padding:10px 0px;
}
#header-inner > label + #header-info {
	padding: 5px 20px;
	padding-right:0px;
}
#header-inner h1,
#header-inner h2{
	padding:0px;
	margin:0px;
}
#header-inner h1{
	font-size:45px;
	color:var(--main-color);
	line-height:1;
}
#header-inner h2{
	margin-top:auto;
	font-size:17px;
	font-family: Eras;
	font-weight: 400;
}

.section{
	margin-bottom:60px;
	background: var(--background-color);
	padding: 20px;
	box-shadow: 0 5px 5px rgba(0,0,0,0.2);
	border: 1px solid var(--main-color);
}
.tab{
	/* padding-left:22px; */
}
.section h1{
	margin:0;
	line-height: 1.1em;
	font-size:40px;
	padding: 0px 20px;
	padding-left: 21px;
	margin:0px -21px 20px -42px;
	background: var(--section-heading-bg);
	color: var(--select-color);
	font-weight:300;
	border: 1px solid var(--section-heading-border);
	transition: background 75ms ease-in-out;
}
.section h1:has(.anchor:hover){
	background: var(--section-heading-hover);
}
.section h2{
	margin:0;
	font-size:inherit;
	margin-bottom: 5px;
	font-family: Eras;
	font-weight:600;
}
.section p{
	margin:0;
	/* font-size:16px; */
}
.section .section-item{
	/* font-size:16px; */
	display:flex;
	justify-content:space-between;
	padding:10px 0px;
	border-bottom:1px solid rgba(50, 50, 50, 0.5);
}
.section .section-item:last-child {
  border: none;
}

@media (max-width:768px){
	body{
		font-size: 16px;
	}
	.hidden-tablet{
		display:none;
	}
	.visible-tablet{
		display:inline-block;
	}
	#header-inner h2{
		margin-top:auto;
		font-size:16px;
	}

	/* .tab{
		padding:0px 10px;
	} */
	.section{
		margin-bottom:30px;
	}
	.section h1{
		font-size:35px;
	}
	.section h2{

	}
	.section p{
		/* font-size:14px; */
	}
	.section .section-item{
		/* font-size:14px; */
		flex-direction:column;
	}
	.section .section-item span:nth-child(1):has(+ span){
		font-weight: 700;
	}
	.section .section-item span:nth-child(2){
		/* padding-top:10px; */
	}
}
@media (max-width:475px){
	.hidden-mobile{
		display:none;
	}
}
