:root {
	--icon-size: 18px;
	--hex-size: 32px;
}

@keyframes wiggler {
	0% { transform: skew(10deg, 5deg) scale(1.0, 1.0); }
	25% { transform: skew(-10deg, 0deg) scale(1.2, 0.8); }
	50% { transform: skew(10deg, -5deg) scale(1.0, 1.0); }
	75% { transform: skew(-10deg, 0deg) scale(0.8, 1.2); }
	100% { transform: skew(10deg, 5deg) scale(1.0, 1.0); }
}

.wiggler
{
	animation: wiggler 0.5s ease-in-out infinite;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

body
{
	background-color: #153160;
	font-family: Arial;
	font-size: 11.5pt;
	line-height: 1.75;
	color: #EAEAEA;
	padding: 0px;
	margin: 0px;
	background-image: url('assets/bodygradient.png?ver=0.1');
	background-position: center;
	background-repeat: repeat-y;
}

@keyframes slide{
	0%
	{
		background-position: 0 0;
	}
	100%
	{
		background-position: 0px -256px;
	}
}

a
{
	color: #FFBC71;
	text-decoration: none;
}

a:hover
{
	/*color: #FFECB1;*/
	filter: brightness(150%);
}

p
{
	padding: 0px;
	margin: 0px;
}

p:not(:last-child) {
	margin-bottom: 16px;
}

h2
{
	position: relative;
	padding-left: calc(var(--hex-size) + 8px);
	padding-right: calc(var(--hex-size) + 8px);
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	display: block;
	margin-top: 16px;
	margin-bottom: 16px;
	background: #163261;
	border-radius: 8px;
	color: #B9CBEA;
}
h2:before
{
	position: absolute;
	background-image: url("assets/hex.png");
	background-size: var(--hex-size);
    width: var(--hex-size);
    height: var(--hex-size);
	left: 0;
	top: 15%;
	font-size: var(--hex-size);
    content: '';
	margin-left: 8px;
}
h2:after
{
	position: absolute;
	background-image: url("assets/hex.png");
	background-size: var(--hex-size);
    width: var(--hex-size);
    height: var(--hex-size);
	right: 0;
	top: 15%;
	font-size: var(--hex-size);
    content: '';
	margin-right: 8px;
}

/* CLASSES */

#close, #newrandom
{
	cursor: pointer;
	user-select: none;
}

.icon
{
	position: relative;
	padding-left: calc(var(--icon-size) + 4px);
}

.icon-bluesky:before
{
	position: absolute;
	background-image: url("assets/icons/bluesky.png");
	background-size: var(--icon-size);
    width: var(--icon-size);
    height: var(--icon-size);
	left: 0;
	top: 15%;
	font-size: var(--icon-size);
    content: '';
	float: left;
	margin-right: 8px;
}

.navbar a, .navbar span {
	position: relative;
	display: inline-block;
	padding: 8px 8px;
	margin: 4px 16px;
	text-decoration: none;
	font-weight: bold;
	color: #855226;
	z-index: 1;
	transition: transform 0.1s steps(2, end);
}

.navbar a:after, .navbar span:after
{
	position: absolute;
	content: '';
	display: inline-block;
	width: 100%;
	height: 50%;
	top: 25%;
	left: 0;
	border: 14px solid transparent;
    border-image: url('assets/buttonbg.png?ver=0.1') 14 fill;
	margin: -14px -14px;
	z-index: -1;
}

.navbar a:hover:after {
    border-image: url('assets/buttonbg_hover.png?ver=0.1') 14 fill;
}

.navbar a:hover {
	color: #FFFFFF;
	transform: scale(1.05, 1.05);
	transition: transform 0.1s steps(2, end);
	filter: brightness(100%);
}

.navbar a:active {
	transform: translateY(1px) scale(0.95, 0.95);
	transition: none;
}

.navbar a:active:after {
    border-image: url('assets/buttonbg_pressed.png?ver=0.1') 14 fill;
}

.navbar span {
	opacity: 0.5;
}

.navbar
{
	margin-bottom: 8px;
}

.sidebar a
{
	display: inline-block;
}

.sidebar span
{
	font-weight: bold;
	display: block;
	margin-top: 16px;
	margin-bottom: 8px;
	background: #163261;
	border-radius: 8px;
	color: #B9CBEA;
}

.sidebar span:first-child
{
	margin-top: 0px;
}

.navbar ul
{
	list-style-type: none;
	text-align: center;
	padding: 0px;
}

.navbar li
{
	display: inline-block;
}

.posttitle
{
	font-size: 16pt;
	font-weight: bold;
	line-height: 22pt;
	display: block;
	margin-bottom: 8px;
}

.posttitle:hover
{
	color: #FFECB1;
}

h1
{
	font-size: 16pt;
	font-weight: bold;
	padding: 0px;
	margin: 0px;
}

h3
{
	padding: 0px;
	margin: 0px;
	margin-bottom: 16px;
}

.maincontainer {
	margin: auto;
	max-width: 984px;
	padding: 16px 44px 16px 44px;
	min-height: 100%;
	/*background-color: #3F67AB;*/
}

.bodycontainer {
	background-color: #1C396A;
	border: 8px solid transparent;
    border-image: url('assets/border.png?ver=0.1') 8 round;
	padding-left: 32px;
	padding-right: 32px;
	padding-top: 32px;
	padding-bottom: 32px;
	height: fit-content;
	flex: 1;
}

.sidebar {
	background-color: #1C396A;
	border: 8px solid transparent;
    border-image: url('assets/border.png?ver=0.1') 8 round;
	padding-left: 8px;
	padding-right: 8px;
	padding-top: 32px;
	padding-bottom: 32px;
	width: 180px;
	margin-right: 8px;
	height: fit-content;
	text-align: center;
}

#flexbox
{
	display:flex;
	flex-direction: row-reverse;
}

#flexbox ul
{
	list-style: none;
	padding: 0px;
	margin: 0px;
}

@media screen and (max-width: 816px)
{
	#flexbox
	{
		display:block;
	}
	
	.bodycontainer
	{
		padding-left: 16px;
		padding-right: 16px;
	}
	
	.sidebar
	{
		margin-left: auto;
		margin-right: auto;
		margin-top: 16px;
		display: block;
	}
}

.bodycontainer img
{
	height: auto;
	max-width: 100%;
	margin-bottom: 12px;
	border: 1px solid black;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

#randomscreen
{
	max-width:156px;
	margin-bottom: 0px;
	border: 1px solid black;
	display: block;
	margin-left: auto;
	margin-right: auto;
	aspect-ratio: 16 / 9;
}

#randomscreen:hover, .bodycontainer img:hover
{
	border: 1px solid white;
	transform: scale(1.01,1.01);
}

.caption
{
	text-align: center;
	font-weight: bold;
}

.banner
{
	height: 130px;
	background-color: #1D3E79;
	background-size: auto 100%, 120% 120%, 100% auto;
	background-image: url('assets/logo.png?ver=0.1'), url('assets/banner_outline.png?ver=0.1'), url('assets/tombbg-out.webp?ver=0.1');
	background-repeat: no-repeat;
	border: 8px solid transparent;
    border-image: url('assets/border.png?ver=0.1') 8 round;
	background-position: center;
}

.footer
{
	color: #9EAABA;
	text-align: center;
	background: #1C396A;
	border: 8px solid transparent;
    border-image: url('assets/border.png?ver=0.1') 8 round;
	background-position: center;
	padding: 16px;
	margin-top: 16px;
}

.footer span
{
	max-width: 640px;
	display: inline-block;
}

hr
{
	margin-top: 16px;
	margin-bottom: 16px;
	border: 8px solid transparent;
    border-image: url('assets/hr.png') 8 stretch;
}

.modal
{
	display: none;
	width: 100%;
	height: 100%;
	z-index: 1;
	position: fixed;
	left: 0;
	top: 0;
	overflow: auto;
	background-color: rgba(0,0,0,0.75);
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

#modalimg
{
	display: block;
	max-width: 100%;
	top: 50%;
}

#modalcaption
{
	display: block;
	max-width: 75%;
	text-align: center;
	padding: 10px;
}

.bluesky-embed
{
	margin-left: auto;
	margin-right: auto;
}

.gamemodeinfo
{
	border: 3px double #132849;
	padding: 16px;
	margin-bottom: 16px;
}

.gamemodepic
{
	float: right;
	margin-left: 8px;
}

.clickablepic
{
	cursor: pointer;
}

#mediacontainer
{
	text-align: center;
}

#mediacontainer > img
{
	width: 22%;
	display: inline-block;
	margin: 4px;
}