html {
	overflow: hidden;
}
body {
	background-color: #000;
	background-image: linear-gradient(220deg, #220033, transparent 65%);
	background-attachment: fixed;
	font-family: SUSE, sans-serif;
	font-size: 12pt;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	color: #fff;
	margin: 0;
	overflow: hidden;
}
a {
	color: #fff;
}
div#sitelogo {
	text-align: center;
	margin: 1em 0 2em 0;
}
h1#sitetitle {
	display: none;
	text-align: center;
	padding-top: 0.5em;
	font-size: xxx-large;
}
div#bg {
	z-index: 1;
	overflow: hidden;
}
div#bg2 {
	animation: bg2-move 72s infinite;
	background: radial-gradient(#020, #001800, transparent 65%);
	position: absolute;
	left: -300px;
	top: -150px;
	height: 100%;
	max-height: 400px;
	width: 100%;
	z-index: 2;
}
div#bg3 {
	animation: bg3-move 88s infinite;
	background: radial-gradient(#004, transparent 72%);
	position: absolute;
	left: -100%;
	top: 70%;
	height: 60%;
	max-height: 600px;
	width: 60%;
	z-index: 3;
}
div#bg4 {
	animation: bg4-move 102s infinite;
	background: radial-gradient(#401, transparent 60%);
	position: absolute;
	left: 10%;
	top: 10%;
	height: 60%;
	max-height: 600px;
	width: 50%;
	z-index: 4;
}
div#main {
	position: relative;
	z-index: 100;
	overflow: auto;
	height: 100%;
	width: 100%;
}
div.body {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-evenly;
	width: 100%;
}
.section {
	align-content: start;
	margin: 1em;
	padding: 1em;
	backdrop-filter: hue-rotate(120deg);
/*
	max-width: 150px;
*/
}
#tipjar {
	background: #fcc3;
	display: none;
	min-width: 206px;
	padding: 1em;
	margin: 0 0 1em 0;
	z-index: 1000;
	
}
#tipjar a.close {
	float: right;
}
#footer {
	position: sticky;
	bottom: 4px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
#footer .section {
	padding: 0 1em;
}
#footer p {
	margin: 1em;
	padding: 0.25em;
	backdrop-filter: hue-rotate(120deg);
}
#shop {
	text-align: right;
}
#legal {
	font-size: smaller;
	max-width: 160px;
}
#listen {
	max-width: 30em;
	width: 30em;
}
article {
	max-width: 30em;
	margin: 0.5em 0 2em 2em;
}
article p {
	margin: 0.5em 0;
}
h2 {
	margin: 0;
}
h3 {
	margin: 0;
}
h3:has(.songlink) {
	text-indent: -24px;
}
h3:has(.songlink)::before {
	content: url('icons/turn_sharp_right_24dp_1F1F1F_FILL0_wght400_GRAD0_opsz24.svg');
	position: relative;
	top: 5px;
	left: -6px;
}
article:nth-of-type(even) h3:has(.songlink)::before {
	content: url('icons/turn_sharp_left_24dp_1F1F1F_FILL0_wght400_GRAD0_opsz24.svg');
}
article h3:has(.songlink.cover)::before {
	content: url('icons/turn_right_24dp_1F1F1F_FILL0_wght400_GRAD0_opsz24.svg');
}
article:nth-of-type(even) h3:has(.songlink.cover)::before {
	content: url('icons/turn_left_24dp_1F1F1F_FILL0_wght400_GRAD0_opsz24.svg');
}
article h3:has(.songlink.demo)::before {
	content: url('icons/turn_slight_right_24dp_1F1F1F_FILL0_wght400_GRAD0_opsz24.svg');
}
article:nth-of-type(even) h3:has(.songlink.demo)::before {
	content: url('icons/turn_slight_left_24dp_1F1F1F_FILL0_wght400_GRAD0_opsz24.svg');
}
@keyframes bg2-move {
	25% {
		left: -100px;
	}
	50% {
		top: 50%;
	}
	75% {
		left: -300px;
	}
	100% {
		top: -150px;
	}
}
@keyframes bg3-move {
	30% {
		left: 40%;
		top: 10%;
	}
	70% {
		left: 30%;
		top: 30%;
	}
	100% {
		left: 20%;
		top: -100%;
	}
}
@keyframes bg4-move {
	20% {
		left: -30%;
		top: 55%;
	}
	50% {
		left: 5%;
		top: -20%;
		width: 75%;
	}
	70% {
		left: 30%;
		top: 80%;
	}
	100% {
		left: 10%;
		top: 10%;
		width: 50%;
	}
}


@media (prefers-reduced-motion: reduce) {
	div#bg2, div#bg3, div#bg4 {
		animation: none;
	}
}

@media (width < 900px) {
	div.body {
		justify-content: flex-start;
	}
	#footer {
		flex-direction: column;
	}
	#follow {
		text-align: right;
	}
	div#sitelogo img {
		max-width: 80%;
	}
}

@media (width < 725px), screen and (min-resolution: 97dpi) and (orientation: portrait) {
	#footer {
		background: #000c;
		bottom: 0;
		flex-direction: row;
		align-items: flex-start;
		padding-top: 0.5em;
		border-top: 1px solid #fff;
		
	}
	#footer div, #footer p {
		display: inline;
	}
	#footer #legal {
		display: block;
		max-width: unset;
	}
}

@media screen and (min-resolution: 97dpi) and (orientation: portrait) {
	body {
		font-size: 32pt;
	}
	h3:has(.songlink) {
		text-indent: -13px;
	}
	h3:has(.songlink)::before {
		display: inline-block;
		position: relative;
		top: -2px;
		left: -26px;
		transform: scale(2.67);
	}
	div#sitelogo img {
		width: 95%;
	}
}
@media screen and (min-resolution: 97dpi) and (orientation: landscape) {
	body {
		font-size: 14pt;
	}
	h3:has(.songlink)::before {
        top: 3px;
        left: -8px;
        transform: scale(1.167);
    }
	div#sitelogo img {
		height: 55%;
	}
}


/*
@media (max-aspect-ratio: 4/3) {
	div.body {
		display: block;
	}
	div#sitelogo img {
		max-width: 80%;
	}
	article, section#listen {
		max-width: 100%;
	}
}
*/