/* css für Annina Solimine (anninasolimine.ch) by seitenreich.ch
=============== */

:root {
	--color-red: #951d22;
	--color-beige: #f6f5f1;}

/* Poppins-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  src: url('/assets/fonts/Poppins-Regular.woff2') format('woff2'); }
/* IBM Plex Serif Regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'IBM Plex';
  font-style: normal;
  font-weight: 400;
  src: url('/assets/fonts/IBMPlexSerif-Regular.woff2') format('woff2'); }

/* Reset by Josh Comeau */
*, *::before, *::after {box-sizing: border-box;}
* {margin: 0;}
html, body {height: 100%;}
body {-webkit-font-smoothing: antialiased;}
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;}
input, button, textarea, select {
	font-family: inherit;
	font-size: 100%; 
	line-height: 1.15; 
	margin: 0;}
p, h1, h2, h3, h4, h5, h6 {overflow-wrap: break-word;}
#root, #__next {isolation: isolate;}
/* other Resets */
details summary { cursor: pointer;}
details summary > * {display: inline;}
/* End Reset */

html {scroll-behavior: smooth;}
body {font: 20px/1.6 'Poppins', Helvetica, Arial, sans-serif;}

/* Typografie */
h1, h2, h3, h4 {
	font-family: 'IBM Plex', serif;
	margin-bottom: 1em;
	color: var(--color-red);}
p {margin-bottom: 1.1em;}
blockquote { 
	display: inline-block;
	font-family: Courier, mono;
	background-color: var(--color-beige);
	margin-top: 1em;
	margin-bottom: 1em;
	padding: 1em;}
br {line-height: 3em;}
hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;}
p.video {font-size: 0.8em;}
.brand {
	margin-bottom: 10px;
	line-height: 1.2em;}
.brand-description {font-size: 0.8em;}
.credits {font-size: 0.8em;}
@media only screen and (min-width: 768px) {
	h2.brand {
		font-size: 2.7em;
		margin-bottom: 1rem;}
	p.brand-description {font-size:  1.5em}
	blockquote {
		margin-right: 2em;
		margin-left: 2em;}
}
.kleinere_Schrift {
	font-size: 0.8em;
	padding-top: 10px;
}

/* Links */
a {
	text-decoration: none;
	color: var(--color-red);
	font-weight: bold;}
a:hover {}
nav a, .button, footer a {
	color: black;
	font-weight: normal;
	font-style: normal;}
.impressum a {color:  olive;}
.button {
	background-color: #ffffff;
	border-style: solid;
	padding: 10px 40px;
	border-color: olive;}
.button-black {
	border-color: black;}
.streaming-platforms a {
	font-size: 3em;
	color: var(--color-red);
	margin-right: 15px;}

/* Design 
————————— */
.container {min-height: 100vh;}
.streaming {
	max-width:  200px;
	margin-right: auto;
	margin-left: auto;}
.streaming img {
	margin-top: 0;
	margin-bottom: 10px;
	padding-top: 0;
	padding-bottom: 0;}
nav,
footer {background: url(/assets/images/vintage-wallpaper-background.jpg) repeat ;}
.text {background: white;}
.text, 
.media {padding: 0.8em;}
footer {
	text-align: center;
	padding: 2em;}
.footer-container {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	justify-content: space-between;}
.footer-column {
	flex: 1;
	min-width: 250px;}
@media (max-width: 768px) {
  .footer-container {
  		flex-direction: column;
  		gap: 20px;}
  .footer-column {width: 100%;}
}
/* Newsletter-Formular */
.inf-rgpd {
	font-size: 0.7em;
}
	
/* content-Bereich */
section {margin-bottom: 70px;}
section > p {max-width: 800px;}
.video-flex-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;}
.media-flex-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;}
.video-flex-container > div {
	flex:  100%;
	margin-bottom: 40px;}
.media-flex-container > div {
	flex:  100%;
	margin-bottom: 40px;}
.streaming-platforms {
	text-align: center;
	margin-top: 30px;
	margin-bottom: 30px;}
.music {
	max-width: 600px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 50px;}
.caption {
	padding-right: 50px;
	padding-left: 50px;
	padding-top: 50px;
}
@media only screen and (min-width: 768px) {
	.hero {
		position: fixed;
		z-index: -1;
		width: 100vw;
		top: 0;
		left: 0;}
	.hero-image {
		object-fit: cover;
		height: 110vh;
		position: relative;}
	.nav-container {background: none;}
  	.text,
  	.media {padding: 2em;}
	.flex-container {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;}
	.text {
		width: 40%;
		margin-top: 60vh;}
	.image > img {object-fit: cover;}
	.video-flex-container > div {
		flex:  33%;
		max-width: 33%;}
	.media-flex-container > div {
		flex:  30%;
		max-width: 30%;}
}

/* Auftritte Tabelle */
main.live {
	width: calc(100% - 60px); /* 100% minus 50px links und 50px rechts */
	margin: 20px 30px 0 30px;  /* oben: 20px, rechts: 50px, unten: 0, links: 50px */}
table.live {
	border-collapse: collapse;}
thead.live {
    background-color: #333;
    color: #fff;}
th.live, td.live {
    border: none;
    padding: 12px;
    text-align: left;
	vertical-align: top;}
tr:nth-child(even) {background-color: #f9f9f9;}
tr:hover {
	background-color: #f1f1f1;
	opacity: 1;}
tr {
	border-bottom: 1px solid var(--color-beige);
	background-color: #f1f1f1;
	opacity: 0.9;
}
.ticket {
	border: 2px solid gray;
	padding: 5px 15px;
	margin-top: 5px;
}
@media (max-width: 768px) {
    table, thead, tbody, th, td, tr {
		display: block;
		width: 100%;}
    thead {display: none;}
    tr {margin-bottom: 15px;}
}  	
/* Table */
table {
	text-align: left;
	width: 100%;}
td, th {
	padding-top: 2%;
	padding-bottom: 2%;
	padding-left: 2%;
	min-width: 150px;}

/* Navigation */
nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding-top: 0.5em;
	padding-left: 0.8em;
  	transition: top 500ms ease-in-out;
	background: url(/assets/images/vintage-wallpaper-background.jpg) repeat ;
	z-index: 10;
}
.logo {max-width: 40vw;}
.main-nav {
	max-width: 50vw;
	z-index: 10;}
ul {
	list-style: none;
	margin: 0;
	padding-left: 0;
	max-width: 100%;}
li {
	color: #fff;
	display: block;
	float: left;
	position: relative;
	text-decoration: none;
	transition-duration: 0.5s;
	padding: 0.5rem 1rem;}
li.contact {z-index: 3;}
li.contact:hover {background-color: transparent;}
li a {
	text-decoration: none;
	color: black;}
li:hover,
li:focus-within {
	cursor: pointer;
	background-color: white;}
li:focus-within a {
	outline: none;}
ul li ul {
	visibility: hidden;
	opacity: 0;
	position: absolute;
	transition: all 0.5s ease;
	margin-top: 1rem;
	left: 0;
	display: none;
	background-color: #eee;}
ul li:hover > ul,
ul li:focus-within > ul,
ul li ul:hover,
ul li ul:focus {
	visibility: visible;
	opacity: 1;
	display: block;
	z-index: 5;
}
ul li ul li {
	clear: both;
	width: 100%;}
@media only screen and (min-width: 768px) {
	nav {
		padding-right: 2em;
		padding-left: 2em;
		padding-top: 1.5em;}
	.main-nav {
		position: fixed;
		right: 0;}
	.scrolled {background-color: white;}
	li {padding: 1rem;}
}
.impressum {
	margin-top: 40px;
	font-size: 0.8em;}

/* Bilder 
————————— */
img, video, audio {width: 100%;}
.video > video, .song > audio, .foto > img {object-fit: cover;}
figure {margin-bottom: 20px;}

/* Galerie */
.gallery {margin-top: 50px;}
.masonry {
	transition: all .5s ease-in-out;
	column-gap: 10px;
	column-fill: initial;}
.masonry .brick {
	margin-bottom: 30px;
  	display: inline-block; /* Fix the misalignment of items */
  	vertical-align: top; /* Keep the item on the very top */}
.masonry .brick img {
	transition: all .5s ease-in-out;
  	backface-visibility: hidden; /* Remove Image flickering on hover */}
.masonry .brick:hover img {opacity: .75;}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  .masonry {column-count: 2;}
}
@media only screen and (min-width: 1024px) {
  .masonry {column-count: 3;}
}

/* Social Media */
.social-media {
	font-size: 1.5em;
	margin-top: 50px;}
.sm {
	text-decoration: none;
	border-radius: 50%;
	background-color: olive;
	width: 50px;
	height: 50px;
	color: white;
	top: 40px;
	padding-top: 10px;
	margin-right: 5px;
	margin-left: 5px;}
.fa:hover {opacity: 0.7;}

/* Helper classes 
—————————————————— */

.abstandoben_30 {margin-top: 30px;}
.abstandoben_60 {margin-top: 60px;}
.hidden {
    display: none !important;
    visibility: hidden;}
.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;}
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;}
.invisible {visibility: hidden;}
.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;}
.clearfix:after {clear: both;}
.clearfix { *zoom: 1; }

/* Print styles */
@media print {
    * {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;}
    a,
    a:visited {text-decoration: underline;}
    a[href]:after {content: " (" attr(href) ")";}
    abbr[title]:after {content: " (" attr(title) ")";}
    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {content: "";}
    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid; }
    thead {display: table-header-group;}
    tr,
    img {page-break-inside: avoid;}
    img {max-width: 100% !important;}
    @page {margin: 0.5cm;}
    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;}
    h2,
    h3 {page-break-after: avoid;}
}