* { margin:0; padding:0; }

@font-face {
    font-family: 'nimbus_sans_lbold';
    src: url('fonts/NimbusSanL-Bol-webfont.woff') format('woff'),
         url('fonts/NimbusSanL-Bol-webfont.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'nimbus_sans_lbold_italic';
    src: url('fonts/NimbusSanL-BolIta-webfont.woff') format('woff'),
         url('fonts/NimbusSanL-BolIta-webfont.ttf') format('truetype');
    font-weight: 600;
    font-style: italic;
}

@font-face {
    font-family: 'nimbus_sans_lregular_italic';
    src: url('fonts/NimbusSanL-RegIta-webfont.woff') format('woff'),
         url('fonts/NimbusSanL-RegIta-webfont.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
}

@font-face {
    font-family: 'nimbus_sans_lregular';
    src: url('fonts/NimbusSanL-Reg-webfont.woff') format('woff'),
         url('fonts/NimbusSanL-Reg-webfont.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'soriasoria';
    src: url('fonts/soria-font-webfont.woff') format('woff'),
         url('fonts/soria-font-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

body { background-color: #312d24; }
.nav { top: 30px; position: absolute; float: left; display: flex; width: 100%; margin: 0; padding: 0; height: 130px; justify-content: center; vertical-align: center; background-color: none; align-items: center; }
.main { background-size: cover; background-position: center; display: flex; background-image: url("pics/rw_tribute_back.jpg"); width:100%; height: 100%; overflow: auto; position: absolute; top: 0px; left: 0; z-index: -1000; } 
.logo { left: 40px; bottom: 40px; position: fixed; justify-content: center; align-items: center; background-color: none; width: 100%; }
.logo img { width: 500px; }
p { font-family: 'nimbus_sans_lregular', sans-serif; font-size: 1.1em; color: #333; }
ul { list-style-type: "\25FE"; position: relative; font-family: 'nimbus_sans_lregular', sans-serif; font-size: 1.1em; padding-left: 1em; }
ul li { display: list-item; float: inherit; color: #333; }

h1 { font-family: 'soriasoria', serif; font-size: 2em; text-transform: auto; font-weight: 600; color: #555; }
h2 { font-family: 'soriasoria', serif; font-size: 1.5em; text-transform: auto; font-weight: 600; color: #555; }
h3 { font-family: 'nimbus_sans_lregular', sans-serif; font-size: 1.25em; text-transform: auto; font-weight: 600; color: #555; }
h4 { font-family: 'nimbus_sans_lregular_italic', sans-serif; font-size: 1.1em; text-transform: auto; font-weight: 600; color: #555; }

#wrapper { text-align: left; display: flex; background-color: none; width: 100%; padding-bottom: 50px; top: 10em; position: absolute; justify-content: center; z-index: 1000; }
.content { text-align: left; background-color: rgba(255,255,255,0.85); padding: 1.5em 2em 2em 2em; display: block; float: left; width: 380px; border: 2px solid #aaa; border-radius: 13px; }
.content img { width: 100%; border-radius: 8px; }
.content a { text-decoration: none; color: red; }

#impressum { top: 10px; position: absolute; float: left; display: flex; width: 100%; margin: 0; padding: 0; height: 20px; justify-content: center; vertical-align: center; background-color: none; align-items: center;  }
#impressum a { font-family: 'nimbus_sans_lregular', sans-serif; font-size: 0.75em; color: #fff; text-decoration: none; text-shadow: 0 0 0.3em #333; }

.youtube { width: 380px; height: 240px; border-radius: 8px; margin-bottom: 10px; }


/* Beginn der Galerie */

    .gallery {
        max-width: 100%;
        margin: 0px auto;
        display: flex;
        flex-direction: column;
        gap: 15px;
        padding: 0 0px;
    }

    .gallery img {
        width: 100%;
        cursor: pointer;
        border-radius: 8px;
		transition: transform 0.2s ease;
    }

	.gallery img:hover {
        transform: scale(1.04);
    }
	
    /* Overlay */
    .overlay {
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,0.85);
        display: none;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        z-index: 999;
        color: white;
        text-align: center;
    }

    .overlay img {
        width: auto;
        max-height: 85%;
        border-radius: 8px;
        margin-bottom: 10px;
    }

    .caption {
        font-size: 0.85em;
		font-family: 'nimbus_sans_lregular', sans-serif;
        margin-bottom: 20px;
    }

    /* Pfeile */
    .arrow {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        font-size: 60px;
        cursor: pointer;
        user-select: none;
        padding: 20px;
    }

    .arrow.left { left: 20px; }
    .arrow.right { right: 20px; }

    .arrow:hover {
        opacity: 0.7;
    }
	

/* Ende der Galerie */

.button {
  width: 90px;
  height: 90px;
  border: 0px solid #e30613;
  color: #e30613;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  text-decoration: none;
  background: #ffe500;
  font-family: 'nimbus_sans_lbold';
  font-size: 0.95em;
  margin: 8px;
}

.button::before {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  background: #e30613;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: transform 0.5s ease;
  z-index: 0;
}

.button:hover::before {
  transform: translate(-50%, -50%) scale(15);
}

.button span {
  position: relative;
  z-index: 1;
  transition: color 0.5s ease;
}

.button:hover span {
  color: white;
}


@media screen and (max-width: 750px) {
	
	.logo { display: flex; left: 0px; bottom: 40px; position: fixed; justify-content: center; align-items: center; background-color: none; width: 100%; filter: drop-shadow(2px 2px 4px #222); }
	.logo img { width: 90%; }
	.nav { top: 40px; position: absolute; float: left; display: flex; width: 100%; margin: 0; padding: 0; height: 90px; justify-content: center; vertical-align: center; background-color: none; align-items: center; }
	.button { width: 73px; height: 73px; margin: 3px; font-size: 0.85em; }

	h1 { font-size: 1.75em; }
	
	#wrapper { padding-bottom: 25px; top: 150px; position: absolute; justify-content: center; z-index: 1000; }
	.content { padding: 1.5em 2em 2em 2em; display: block; float: left; width: 320px; border: 2px solid #aaa; border-radius: 13px; }
	
	.overlay img {
        max-width: 92%;
        max-height: 92%;
        border-radius: 8px;
    }
	
	.youtube { width: 320px; height: 210px; }
}	

@media screen and (max-height: 500px) {
	
	.logo { display: flex; left: 0px; bottom: 40px; position: fixed; justify-content: center; align-items: center; background-color: none; width: 100%; filter: drop-shadow(2px 2px 4px #222); }
	.logo img { width: 40%; }
	
	#wrapper { padding-bottom: 25px; top: 150px; position: absolute; justify-content: center; z-index: 1000; }
	.content { padding: 1.5em 2em 2em 2em; display: block; float: left; width: 370px; border: 2px solid #aaa; border-radius: 13px; }
}	