@font-face {
    font-family: "communist"; 
    src: url("fonts/Communist.ttf") format("truetype");
}
@font-face {
    font-family: "terminal"; 
    src: url("fonts/terminal-grotesque_open.woff2") format("woff2");
}
@font-face {
    font-family: "communist-serif"; 
    src: url("fonts/CommunistSans.ttf") format("truetype");
}
@font-face {
	font-family: "degheest"; 
	src: url("fonts/Director-Regular.woff2") format("woff2");
}
@font-face {
	font-family: "linotype";
	src: url("fonts/linotype/LinotypeDot.ttf");
}
@font-face {
	font-family: "5cent";
	src: url("fonts/5cent.ttf") format("truetype");
}

html {
	scroll-behavior: smooth;
}
.hamtaro {
  color: white;
  background: url("assets/img/pattern.png") center;
  text-shadow: 0.04em 0 0 #bd5273, 0 0.04em 0 #bd5273, -0.04em 0 0 #bd5273, 0 -0.04em 0 #bd5273, 0.08em 0 0 #bd5273, 0 0.08em 0 #bd5273, -0.08em 0 0 #bd5273, 0 -0.08em 0 #bd5273;
  padding: 10px;
  background-clip: padding-box;
  box-shadow: -2px 2px #e4e3a6;
  border-image-slice: 4;
  border-image-width: 8px;
  border-image-repeat: stretch;
  border-style: solid;
  border-width: 0;
  border-color: transparent;
  image-rendering: pixelated;
  border-image-source: url("assets/img/borders/hamtaro.png");
}
body { 
	font-family: "communist-serif"; 
	margin: 0;
	padding: 0;
	background: url("assets/img/bg.png") center repeat-y;
	min-height: 100vh;
}

* { 
	box-sizing: border-box;
	scrollbar-color: #8B2635 #E0E2DB;
}

*::-webkit-scrollbar { width: 15px; }
*::-webkit-scrollbar-track { background: #E0E2DB; }
/* *::-webkit-scrollbar-thumb { background-color: #8B2635; border: transparent; } */

img { max-width: 100% }

footer {
	font-family: "5cent";
}

nav {
	display: flex;
	flex-wrap: wrap;
	text-align: right;
	justify-content: right;
	align-items: center;
}
nav a {
	text-decoration: underline;
	font-size: 14px;
	padding: 2px 8px;
	border: none;
	text-decoration: none;
	display: inline;
}
#link {
	font-size: 10px;
	color:#8B2635;
	font-family: "5cent";
	text-align: center;
	display: inline-block;
}

main {
	color:#2E3532;
	font-family: 'communist-serif';
	margin: -2px auto;
	max-width: 60rem;
	background: url("assets/img/pattern.png") center;
	border-radius: 10px;
	overflow: hidden;
}

section {
	font-family: "communist-serif";
	margin: 2em auto;
	padding: 1em 2em;
	/* border: 1px dashed #A9ABA1;
	outline: 1px dotted #000000; */
	outline-offset: 5px;
	max-width: calc(100% - 10px);
}


hr {
	border: none;
	border-top: 1px solid #2E3532;
}

header {
	font-size: 50px;
	margin: 10px;
	display: flex;
	justify-content: space-between;
	font-family: 'linotype';
	text-shadow: -3px 3px 3px white;
	color: #000000;
	max-width: calc(100% - 20px);
}

header div { margin: 20px 10px 0 20px; text-shadow: -5px 5px #d7a8a8; color:#000000 }

.motd {
	font-family: "5cent";
	text-align: right;
	max-width: 60rem;
	margin: 0 auto;
	color: black;
	padding: 10px -1000px;
	font-size: 10px;
	position: relative;
	text-shadow: -1px 1px rgb(230, 186, 193)
}

.motd span {
	position: absolute;
	right: 10px;
	opacity: 0;
	animation: motd-cycle 600ms infinite;
	animation-play-state: paused;
}

.motd span:nth-child(1) { animation-delay: -0ms; }
.motd span:nth-child(2) { animation-delay: -100ms; }
.motd span:nth-child(3) { animation-delay: -200ms; }
.motd span:nth-child(4) { animation-delay: -300ms; }
.motd span:nth-child(5) { animation-delay: -400ms; }
.motd span:nth-child(6) { animation-delay: -500ms; }

@keyframes motd-cycle {
	0%, 16.66% { opacity: 1; }
	16.67%, 100% { opacity: 0; }
}

h1, h2, h3, h4, h5, h6, p, table, details, cite, pre, blockquote {
	margin: 1rem 0;
}	

h1 { font-family: 'terminal'; font-weight: normal; text-shadow: #f8ff39; color: #d76688; text-shadow:-2px -2px 0 #000000; }

a { color: #8B2635; padding: 2px 4px; font-size: 1.25em; }

ul, ol {
	margin: 1rem 0 1rem 1.5rem;
}

dl { margin: 1rem 0; }

dt { 
	background: linear-gradient(to right, #2E3532, #E0E2DB);
	padding: 0.25rem 0.5rem;
	color: #000000;
}

dd { padding: 1rem; }

ul ul, ol ol { 
	margin: 0 0 0 2rem;
}

p, table,  ul, ol, dl {
	font-size: 1rem;
	line-height: 1.5;
}

a:hover { 
	text-decoration: underline;
	background-color: #d4d4d4;
	color:#E0E2DB;
	border-radius: px;
}
.heart {
    border-image:  url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAAXNSR0IArs4c6QAAAPpJREFUWEftmEEOgDAIBO1/fY7/1RMmkpCFFqyrerQtDAsKaVtInkbCuZyg+7btHui2rpfg9DlZt96Lj6i/74JaWUGZQOfSFUUO01OvFUD1a9XcqB05byo66kACG7WTDqpTGgW0SuIHRbWM1q3/b1qNIgDvOgT1Gpq1j6/Xz1LK65dPUTTteCMf3Qc/JlrQ3hbYqyiaFeD01NsKo8BuUDR+VQEjwDOzOnLvwahi1n6vP77UeyPLUjKaSb6hhOY/WpXSLLt8vT4r8io7fIrSfEyfA5WAe2eD2+bRx4NmteByRaeBVl0forlX+4V3T68H/e/wq3pztl2aXn8Ah8xAOoiX3mYAAAAASUVORK5CYII=') 14 /  14px / 0 round;
    border-width:  14px;
    border-style:  solid; 
	padding: 14px;
	background-image: url('assets/img/paper.JPG');
	background-size: 1000px, 1000px;
	background-repeat:repeat;
	background-size: 200px;
	/* image-rendering: pixelated; */
  }
  

h6 { font-size: 1em; }
h5 { font-size: 1.25em; }
h4 { font-size: 1.5em; }
h3 { font-size: 2.5em; }
h2 { font-size: 3em; }
h1 { font-size: 3.75em; text-align: center; }

blockquote {
	border-left: #8B2635 3px solid;
	padding: 0 1rem;
}

cite { 
	display: block;
	text-align: right;
}

code, pre {
	background-color: #2E3532;
	color: #E0E2DB;
}

details { border: 1px solid; }

code { 
	font-family: 'Courier New', monospace; 
	padding: 2px 4px;
}

details, pre {
	padding: 1em;
}

pre { overflow-x: auto; }

details p { margin: 0.5rem 0 0 2rem; }

table {	border: 3px solid #2E3532; margin: 1rem auto; }
tr, td, th { border: 1px solid #2E3532; }
td, th { padding: 0.5rem }

figure {  display: table; margin: 1rem; }

figure img { margin: 5px auto; }

figcaption { 
	display: table-caption;
    caption-side: bottom;
    text-align: center;
}

footer { 
	font-size: 0.8em;
	text-align: center; 
	padding: 5px 10px;
	margin: 2rem;
}

.up { position: fixed;
	font-size: 8px;
	font-family: "5cent";
	bottom: 10px; right: 10px; }

.flex-box {
    display:flex;
    flex-wrap:wrap;
    margin: 0 auto;
	padding: 0;
	align-items: flex-start;
}

.flex-box section {
	margin: 1em;
	}

.full { flex: 1 1 100%;}
.half { flex: 1 1 calc(50% - 2em); }
.third { flex: 1 1 calc(33% - 2em); }
.twothird { flex: 1 1 calc(66% - 2em); }
.quarter { flex: 1 1 calc(25% - 2em); }
.threequarter { flex: 1 1 calc(75% - 2em); }


@media screen and (max-width: 1270px){
	.up { position: static; width: fit-content; margin: 10px auto; }
}

@media screen and (max-width: 700px){
	header { flex-wrap: wrap; }
	header div { margin: 5px; }
	nav a {
		margin: 5px;
		padding: 15px 5px 2px 30px;
		text-decoration: none;
		font-size: 24px;
	}
	section {
		margin: 1em auto;
		padding: 0.5em 1em;
	}
	ul, ol {
		margin: 1rem 0 1rem 0.5rem;
	}
	ul ul, ol ol { 
		margin: 0 0 0 1rem;
	}
}