:root {
	--suff-red: #f00;
	--dark: #222;
	--footer: #222;
	--shadow-color: rgba(34,34,34,.5);
	--border-size: 5pt;
	--link-color: #b40000;
	--light: #eee;
	--background-img: url('./assets/site-background.jpg');
	--paper: url('./assets/paper.jpg');
	--strike-through: url('./assets/strike_small.png');
	--animation: 0.22s ease-in-out;
}

:root.dark {
	--dark: #eee;
	--shadow-color: rgba(68,68,68,.5);
	--link-color: #D40000;
	--light: #222;
	--background-img: url('./assets/site-background-dark.jpg');
	--paper: url('./assets/paper-dark.jpg');
	--strike-through: url('./assets/strike_small-dark.png');
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	scroll-behavior: smooth;
}

html {
	scroll-behavior: smooth;
}

body {
	font-family: 'Jost';
	color: var(--dark);
	background-image: var(--background-img);
	background-size: 200px;
	transition: all var(--animation);
    font-feature-settings: 'ss01';
}

a {
	color: var(--link-color);
}

.no-break {
    white-space: nowrap;
}

footer {
	min-height: 140px;
	background-color: var(--footer);
	color: #eee;
}

body {
	border: var(--border-size) solid var(--suff-red);
	font-size: 13pt;
}

h2 {
	font-size: 23pt;
	font-weight: 900;
	letter-spacing: -1.5px;
	margin-top: 2em;
	margin-bottom: 1em;
}

.shows-wrapper {
    display: flex;
	justify-content: center;
	flex-flow: row wrap;
}

.shows-wrapper table {
    font-family: 'LexendaExa';
    border-spacing: 1.2em 0.2em;
    padding: 27px 10px;
    border: 4px solid #555;
    color: #222;
    font-size: 2em;
    background-color: #fffcf8;
    text-align: left;
    text-transform: uppercase;
    font-weight: 700;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    animation: flicker  4s linear infinite;;
    box-shadow: 0 0 5px rgba(104, 104, 104, 0.94),inset 0 0 15px rgba(104, 104, 104, 0.4);
}

@keyframes flicker {
	0%, 19.9%, 22%, 62.9%, 64%, 64.9%, 70%, 100% {
        background-color: #fffcf8;
    }

    20%, 21.9%, 63%, 63.9%, 65%, 69.9% {
        background-color: #ccc;
    }
}

.shows-tba {
	font-family: 'Gochi Hand', cursive;
	color: var(--link-color);
	font-size: 22pt;
}


.paper {
	background-image: var(--paper);
	background-size: 338px;
	max-width: 400px;
	width: 100%;
	padding: 20px;
	display: inline-block;
	font-family: 'Gochi Hand', cursive;
	box-shadow: 5px 5px 5px var(--shadow-color);
	font-size: 15pt;
	padding-top: 14px;
	line-height: 1.05;
	transition: all var(--animation);
}

.paper a {
	text-decoration: none;
}

.song-entry {
	width: 100%;
	display: inline-flex;
	justify-content: space-between
}

.song-entry p {
	color: var(--link-color);
}

#logo {
	max-width: 300px;
	width: 100%;
}

.main-container {
	text-align: center;
	padding: 2em;
}

.link-bar {
	display: flex;
	gap: 10px;
	justify-content: center;
}

.link-bar a {
	color: var(--dark);
	text-decoration: none;
	transition: all var(--animation);
}

.link-bar a i {
	font-size: 20pt;
}

.band-title-strike {
	background-image: var(--strike-through);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 110px;
	transition: background var(--animation);
}

.band-title {
	font-family: 'Gochi Hand', cursive;
	font-size: 22pt;
	color: var(--link-color);
	margin: 1em 0;
}

.band-pictures {
	width: 100%;
	max-width: 960px;
	gap: 20px;
	display: inline-grid;
	grid-template-columns: repeat(4, 1fr);
}


#about {
	max-width: 960px;
    margin: 1em auto 0;
}

@media all and (max-width: 960px) {
	.band-pictures {
		grid-template-columns: repeat(2, 1fr);
		max-width: 540px;
		grid-template-areas:
			". ."
			". ."
			"about about";
	}
}

.band-pictures .band-img {
    font-family: 'OldNewspaperTypes', monospace;
}

.band-pictures img {
	width: 100%;
	border: var(--border-size) solid var(--dark);
	transition: all var(--animation);
}


.photos-table {
    width: 100%;
    max-width: 960px;
	gap: 20px;
	display: inline-grid;
	grid-template-columns: repeat(3, 1fr);
}

@media all and (max-width: 960px) {
    .photos-table { 
        grid-template-columns: repeat(1, 1fr);
        max-width: 540px;
    }
}

.photos-table img {
    width: 100%;
    object-fit: cover;
    aspect-ratio: 3/2;
}

footer {
    padding: 1em;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.2em;
    font-size: 24pt;
    align-items: center;
    font-family: 'Gochi Hand', cursive;
}

.footer-logo {
    width: 200px;
}


button {
	background-color: var(--suff-red);
	color: #fff;
	padding: 10px;
	border: none;
	border-radius: 5px;
}

button:hover {
    background-color: #a00;
}

button:active {
    background-color: #fff;
    color: var(--suff-red);
}

.gallery-window {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0,0,0,.8);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    display: none;
}

.gallery-window button {
    border-radius: 20px;
    width: 40px;
    height: 40px;
}

.gallery-window img {
    width: 80vw;
}

break {
	flex-basis: 100%;
	width: 0px;
	height: 0px;
	overflow: hidden;
}


.theme-container {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	position: fixed;
	bottom: 30px;
	right: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
}

	.theme-container:hover {
		opacity: 0.8;
		width: 70px;
		height: 70px;
		bottom: 25px;
		right: 25px;
	}

.shadow-dark {
	background: #0F0E0A;
	box-shadow: 7px 7px 15px -10px #1a1d20, -4px -4px 13px #282d32;
	background-image: url("./assets/favicon/moon.svg");
	background-size: 70%, 70%;
	background-position: center;
	background-repeat: no-repeat;
	transition: all var(--animation);
}

.shadow-light {
	background: #eee;
	box-shadow: 7px 7px 15px -10px #bbcfda, -4px -4px 13px #ffffff;
	background-image: url("./assets/favicon/sun.svg");
	background-size: 70%, 70%;
	background-position: center;
	background-repeat: no-repeat;
	transition: all var(--animation);
}

@media screen and (max-width: 768px) {

	.theme-container {
		width: 40px;
		height: 40px;
		border-radius: 50%;
		position: fixed;
		top: 20px;
		right: 20px;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.theme-container:hover {
		opacity: 0.8;
		width: 55px;
		height: 55px;
		top: 17.5px;
		right: 17.5px;
	}

	.shadow-dark {
		background: #0F0E0A;
		box-shadow: 3px 3px 7px -8px #1a1d20, -2px -2px 8px #282d32;
		background-image: url("./assets/favicon/moon.svg");
		background-size: 70%, 70%;
		background-position: center;
		background-repeat: no-repeat;
		transition: all var(--animation);
	}

	.shadow-light {
		background: #eee;
		box-shadow: 3px 3px 7px -8px #bbcfda, -2px -2px 8px #ffffff;
		background-image: url("./assets/favicon/sun.svg");
		background-size: 70%, 70%;
		background-position: center;
		background-repeat: no-repeat;
		transition: all var(--animation);
	}

    .shows-wrapper table {
        font-size: 12pt;
        border-spacing: 0.5m 0.2em;
        padding: 10px 5px;

    }
}
