/* ===== font ===== */
@font-face {
	font-family: "degheest";
	src: url("/fonts/Director-Regular.woff") format("woff");
}


/* ===== light mode col ===== */
	:root {
		--text: #141414;
		--atext: #442d55;
		--border: #c3add8;
		--accent: #c38dea;
		--bg: #f2f5e9;
		--contr: #1c1621;
		--gradientTop: #b4c9af;
		--gradientBottom: #bbdab7;
		--trans: rgba(232, 245, 233, 0.8);
	}
	header {
		background: #1c1621;
	}


/* ===== dark mode col ===== */
	@media (prefers-color-scheme: dark) {
		:root {
			--text: #E8E8E8;
			--atext: #97dea0;
			--border: #394a39;
			--accent: #6a9a73;
			--bg: #272727;
			--contr: #bfd3bd;
			--gradientTop: #1c1c22;
			--gradientBottom: #141414;
			--trans: rgba(23, 20, 26, 0.8);
		}
		header {
			background: #bfd3bd;
		}
	}


body {
	background: fixed;
	font-size: 12px;
    font-family: 'degheest', serif;
	color: var(--text);

	    background-color: var(--gradientTop);
	    background-image:  repeating-radial-gradient( circle at 0 0, transparent 0, var(--gradientBottom) 10px ), repeating-linear-gradient( var(--gradientTop), var(--gradientTop));
	    background-position: 0 0, 0 0, 10px 18px, 10px 18px, 0 0, 10px 18px;
}


/* === container === */
.container{
	margin: 5vmin auto 10px auto;
	width: 80%;
	gap: 1em;
	justify-content: center;
	
	outline: 2px solid var(--accent);
	outline-offset: 9px;
	border-radius: 9px;
	padding: 5px;
	
	display: flex;
	flex-wrap: wrap ;
}


/* === Titlecard === */
#top {
	padding: 6px;
	color: var(--border);
	text-transform: uppercase;
	text-align: center;
	justify-content: center;
	font-size: 20px;
	border: 2px solid var(--border);
	border-radius: 10px;
	background: var(--contr);
	height: 120px;
	width: 98%;
	display: flex;
	flex: none;
	flex-wrap: nowrap;
	flex-direction: row;
}


/* === navbar === */
#navbar {
	padding: 2px;
	color: var(--text);
	text-align: justify;
	font-size: 1.2rem;
	border: 2px solid var(--border);
	border-radius: 5px;
	background: var(--bg);
	height: 45px auto, inline-flex;
	width: 99%;
	display: inline-flex;
	flex: none;
	flex-wrap: nowrap;
	flex-direction: row;
	margin-bottom: 0.2vh;
	gap: 2px;
}


.navbuttons {
	padding: 0;
	color: var(--text);
	text-align: center;
	font-size: 1.2rem;
	font-family: 'degheest', serif;
	border: none;
	background: 0;
	box-shadow: none;
	display: flex;
	flex: 1 0 14%;
	flex-wrap: wrap;
	flex-direction: column;
	margin: 1px;
	gap: 1em;
	cursor: pointer;
}


.grey {
	opacity: 60%;
	cursor: default;
}


/* === card types === */
.infocard { 
	padding: 6px;
	color: var(--text);
	text-align: center;
	border: 2px solid var(--border);
	border-radius: 10px;
	background: var(--bg);
	display: flex;
	flex: 1 0 16%;
	flex-wrap: wrap;
	flex-direction: column;
	margin-right: 0.4vw; margin-left: 0.15vw; margin-top: 0.2vh; margin-bottom: 0.2vh;
	gap: 1em;
	float: right;
}


.maincard { 
	padding: 10px;
	color: var(--text);
	text-align: center;
	border: 2px solid var(--border);
	border-radius: 10px;
	background: var(--bg);
	display: flex;
	flex: 1 1 74%;
	flex-wrap: wrap;
	flex-direction: column;
	margin-right: 0.15vw; margin-left: 0.4vw; margin-top: 0.2vh; margin-bottom: 0.2vh;
	gap: 1em;
	float: left;
}


.fullcard {
	padding: 10px;
	color: var(--text);
	text-align: center;
	border: 2px solid var(--border);
	border-radius: 10px;
	background: var(--bg);
	width: 100%;
	display: flex;
	flex: auto;
	flex-wrap: wrap;
	flex-direction: column;
	margin-right: 0.5vw; margin-left: 0.5vw; margin-top: 0.2vh; margin-bottom: 0.2vh;
	gap: 1em;
}


.thirdscard {
	padding: 5px;
	color: var(--text);
	text-align: center;
	border: 2px solid var(--border);
	border-radius: 10px;
	background: var(--bg);
	display: flex;
	flex: 1 0 29%;
	flex-wrap: wrap;
	flex-direction: column;
	margin-right: 0.15vw; margin-left: 0.15vw; margin-top: 0.2vh; margin-bottom: 0.2vh;
	gap: 1em;
}


/* === footer === */
#footer {
	padding: 0;
	padding-left: 5px;
	color: var(--accent);
	text-align: center;
	font-size: 10px;
	border: 2px solid var(--border);
	border-radius: 10px;
	background: var(--contr);
	height: 16px;
	width: 98%;
	display: flex;
	flex: none;
	flex-wrap: nowrap;
	flex-direction: row;
	margin-top: 0.2vh;
	float: left;
	gap: 1em;
}


/* ===== to top ===== */
.up { 
	position: sticky; width: fit-content; margin: 5px; 
}

.up a {
	color: var(--border);
	display: block;
	border: 2px var(--border) solid;
	border-radius: 5px;
	margin: 6px;
	padding: 5px 10px 5px 10px;
	text-align: center;
	text-decoration: none;
	font-size: 25px;
	background-color: var(--trans);
}

.up a:hover{
    color: var(--accent);
    background-color: var(--gradientTop);
}

.up { position: fixed;
	bottom: 10px; right: 3vw; }



/* === text types === */
h1, h2, h3, h4, h5, h6, p  {
	margin: 5px;
	line-height: 1.2;
}
h1 {
	font-size: 1.4rem;
	letter-spacing: 1.6px;
	font-weight: normal;
	text-align: center;
	border-bottom: 2px ridge var(--border);
	padding-bottom: 5px;
}
h2 {
	font-size: 1.25rem;
	font-weight: normal;
	text-align: center;
}
h3 {
	font-size: 1.05rem;
}
h4 {
	font-size: 1rem;
}

h5 {
	font-size: 0.95rem;
	letter-spacing: 0.8px;
	padding-top: 3px;
	padding-bottom: 3px;
}
h6 {
	font-size: 1.7rem;
	letter-spacing: 1.6px;
	font-weight: bold;
	text-align: center;
	padding: 0;
	text-shadow:
		1px -1px 1px var(--text),
		-1px 1px 1px var(--contr);
}


/* ===== links ===== */
a {
	display: inline;
	color: var(--atext);
}

a:hover {
	background-color: var(--atext);
	color:var(--bg);

}


/* ===== scollbar ===== */
html {
	scroll-behavior: smooth;
  height: 100%;
}

* {
	box-sizing: border-box;
	scrollbar-color: var(--accent);
}

*::-webkit-scrollbar { width: 8px; }
*::-webkit-scrollbar-track { background: var(--bg); }
*::-webkit-scrollbar-thumb { background-color: var(--border); border: transparent; border-radius: 20px; }


/* ===== stops overflow ===== */
img { max-width: 100%; }
pre { overflow-x: auto; }


/* ===== mobile ver ===== */
@media (max-width: 600px) {


	/* === container === */
	.container{
		width: 90%;
	}


	/* === Titlecard === */
	#top {
		height: 100px;
		width: 100%;
	}


	/* === navbar === */
	#navbar {
		padding: 1px;
		height: 40px auto, inline-flex;
		width: 100%;
	}


	.navbuttons {
		margin: 0.5px;
	}


	/* === card types === */
	.infocard { 
		padding: 10px;
		flex: 1 1 90%;
	}


	.maincard { 
		padding: 10px;
		flex: 1 1 90%;
	}


	.fullcard {
		padding: 10px;
		flex: 1 1 90%;
	}


	.thirdscard {
		padding: 7px;
		flex: 1 0 20%;
		flex-direction: row;
	}


	/* === footer === */
	#footer {
		padding-left: 2px;
		padding-top: 2px;
		text-align: left;
		font-size: 8px;
		height: 18px;
		width: 100%;
	}


	/* ===== to top ===== */
	.up { 
		position: sticky; width: fit-content; margin: 2px; 
	}

	.up a {
		padding: 2px 5px 2px 5px;
		font-size: 20px;
		margin: 3px;
	}

	.up a:hover{
	  background-color: var(--trans);
	}

	.up { position: fixed;
		bottom: 8px; right: 2px; }



	/* === text types === */
	h1, h2, h3, h4, h5, h6, p  {
		margin: 5px;
		line-height: 1.2;
	}
	h1 {
		font-size: 1.4rem;
		letter-spacing: 1.2px;
	}
	h2 {
		font-size: 1.2rem;
	}
	h3 {
		font-size: 1rem;
	}
	h4 {
		font-size: 1rem;
	}

	h5 {
		font-size: 0.8rem;
		letter-spacing: 0.9px;
	}
	h6 {
		letter-spacing: 1.4px;
	}


	/* ===== links ===== */
	a {
		color: var(--atext);
	}

	a:hover {
		background-color: var(--bg);
		color:var(--atext);

	}


	/* ===== scollbar ===== */
	*::-webkit-scrollbar { width: 5px; }


	/* ===== stops overflow ===== */
	img { max-width: 100%; }
	pre { overflow-x: auto; }
	
	
}