body {
	margin: 0;
	padding: 0;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

nav {
	position: fixed;
	top: 0;
	bottom: -120px;
	z-index: 1;
	background-color: #52accc;
	width: 160px
}

menu {
	display: flex;
	justify-content: center;
	align-items: center;
}

.menu-angemeldet {
	margin: 0px;
	padding: 0px;
	list-style: none;
	justify-content: center;
	align-items: center;
	text-align: center;
	background-color: #cccccc77;
	border: 0px;
	border-bottom: 1px solid #00000077;
}

.menu-angemeldet p {
	margin: 2px;
	padding: 0px;
}

#menu ul {
	margin: 0px;
	padding: 0px;
	list-style: none;
	justify-content: center;
	align-items: center;
}

#menu ul li {
	border-bottom: 1px dotted black;
	min-height: 34px;
	position: relative;
	margin: 0;
	margin-bottom: 4px;
	padding: 0;
	padding-top: 12px;
	padding-bottom: 12px;
}

#menu ul li:hover {
	background-color: #aaaccc;
}

#menu ul li a {
	padding: 10px;
	display: block;
	color: #000;
	text-decoration: none;
}

#menu ul li a:hover {
	color: blue;
}

main {
	flex: 1;
}

footer {
	position: fixed;
	bottom: 0;
	width: 100%;
	background-color: #f2f2f2;
	padding: 10px 10px;
	text-align: center;
}

.linkbutton {
    padding: 6px 8px;
    background-color: #aaa;
    color: #fff;
    border: solid 1px #333;
    border-right: 0;
	border-top-left-radius: 24px;
	border-top-right-radius: 0px;
	border-bottom-right-radius: 0px;
	border-bottom-left-radius: 24px;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.4);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2);
    user-select: none;
    text-decoration: none;
}

.linkbutton:hover {
    color: #fff;
    background-color: #999;
    text-decoration: none;
    width: 112%;
    left: -12%;
}

.linkbutton:active {
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.5);
    background-color: #888;
}

.container {
	display: flex;
	justify-content: center;
	align-items: center;
}

.box-onepage {
	box-shadow: 0px 0px 30px 0px rgb(0 0 0 / 20%);
	margin: 2rem auto;
	padding: 2.5rem 3rem;
	margin-bottom: 2rem;
	box-sizing: border-box;
	border-radius: 25px;
	width: 780px;
	height: auto;
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
}

.hr-line {
	border: none;
	height: 2px;
	width: 75%;
	background-image: linear-gradient(to right, transparent, rgba(0, 210, 255, 0.8) 20%, rgba(0, 210, 255, 0.8) 80%, transparent);
	margin: 12px auto;
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.45);
}

.hr-line-attention {
	border: none;
	height: 4px;
	width: 75%;
	background-image: linear-gradient(to right, transparent, #6699cc99 20%, #ff0000, #6699cc99 80%, transparent);
	margin: 20px auto;
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.15);
}

p.info {
	background-color: #fff088;
}

.button-add, .button-del, .button-edit {
	cursor: pointer;
/*	font-size: 16px; */
	padding: 10px 4px;
	margin-left: 24px;
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.15);
}

.button-add {
	background-color: #52accc;
	color: #fff;
	font-weight: bold;
	border: none;
	border-radius: 5px;
}

.button-del {
	background-color: #cc5252;
	color: #fff;
	font-weight: bold;
	border: none;
	border-radius: 5px;
	float: right;
	display: block;  
	margin-left: 20px; 
}

.button-edit {
	background-color: #ccca52;
	color: #fff;
	font-weight: bold;
	border: none;
	border-radius: 5px;
}

/* Admin-Galerie */
/* CSS für das Grid-Layout mit 3 Spalten */
#adm-galerie-container {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 10px;
}
/* CSS für das Bild-Overlay */
.adm-galerie-overlay {
	position: relative;
	display: inline-block;
}
.adm-g-overlay-link {
	color: #fff;
	text-decoration: none;
}

.adm-galerie-overlay img {
	display: block;
	width: 225px;
	height: 225px;
}
.adm-galerie-overlay .adm-galerie-text {
	position: absolute;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.64);
	color: #fff;
	width: 100%;
	padding: 10px;
	box-sizing: border-box;
	opacity: 0;
	transition: opacity 1.5s;
}

.adm-galerie-overlay:hover .adm-galerie-text {
	opacity: 1;
}

.adm-galerie-text-link {
  position: relative;
  outline: none;
  text-decoration: none;
  border-radius: 12px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  text-transform: uppercase;
  height: 60px;
  width: 160px;
  float: right;
  opacity: 0.64;
  background-color: #ffffffcc;
  border: 1px solid rgba(22, 76, 167, 0.6);
	transition:
		opacity 3.5s,
		background-color 2.5s;
}
.adm-galerie-text-link:hover {
	background-color: #ffffffff;
	opacity: 1;
	animation: rotate 0.7s ease-in-out both;
	transition:
		opacity 1.5s,
		background-color 2.5s;
}

.adm-galerie-text-link span {
	color: #164ca7;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.7px;
}
.adm-galerie-text-link:hover span {
	animation: storm 1.7s ease-in-out both;
	animation-delay: 0.06s;
}
@keyframes rotate {
  0% {
    transform: rotate(0deg) translate3d(0, 0, 0);
  }
  25% {
    transform: rotate(3deg) translate3d(0, 0, 0);
  }
  50% {
    transform: rotate(-3deg) translate3d(0, 0, 0);
  }
  75% {
    transform: rotate(1deg) translate3d(0, 0, 0);
  }
  100% {
    transform: rotate(0deg) translate3d(0, 0, 0);
  }
}
@keyframes storm {
  0% {
    transform: translate3d(0, 0, 0) translateZ(0);
  }
  25% {
    transform: translate3d(8px, 18px, 0) translateZ(0);
  }
  50% {
    transform: translate3d(-13px, 0, 0) translateZ(0);
  }
  75% {
    transform: translate3d(2px, 0, 0) translateZ(0);
  }
  100% {
    transform: translate3d(0, 0, 0) translateZ(0);
  }
}



.adm-galerie-text-link:hover {
	pointer-events: auto;
	opacity: 1;
}


.adm-galerie-button {
	cursor: pointer;
	font-size: 16px;
	padding: 10px 4px;
	margin-left: 24px;
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.15);
	background-color: #cc5252;
	color: #fff;
	font-weight: bold;
	border: none;
	border-radius: 5px;
	float: right;
	display: block;  
	margin-left: 20px;
}
.adm-galerie-nobutton {
	font-size: 16px;
	padding: 10px 4px;
	margin-left: 24px;
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.15);
	background-color: #5252cc;
	color: #fff;
	border: none;
	border-radius: 5px;
	margin-left: 20px;
}

/* Upload Formular */
.admin-hidden {
	display: none;
}
.mmn-message {
	border-style: solid;
	border-width: 2px;
	margin: 10px 0;
	padding: 10px;
}
.mmn-message strong	{
	margin-right: 5px;
}
.mmn-success {
	background: rgba(0,128,0,0.25);
	border-color: #008000;
	color: #008000;
}
.mmn-error {
	background: rgba(255,0,0,0.25);
	border-color: #ff0000;
	color: #ff0000;
}		
.mmn-dropzone {
	color: #ccc;
	border-radius: 10px;
	border: 2px dashed #ccc;
	height: 200px;
	line-height: 200px;
	margin-bottom: 20px;
	text-align: center;
}
.mmn-dropzone.mmn-drop {
	border-color: #000;
	color: #000;
}			
.mmn-progress {
	border: 1px solid #000;
	height: 2em;
	text-align: center;
}
.mmn-progress span {
	position: relative;
	top: -2em;
}
.mmn-progress-bar {
	background-color: #ccc;
}
.mmn-thumbnail {
	border: 1px solid #000;
	overflow: hidden;
	padding: 10px;
	margin-bottom: 10px;
}
.mmn-thumbnail img {
	display: inline-block;
	float: left;
	margin-right: 10px;
	max-height: 150px;
	max-width: 200px;
	filter: grayscale(1);
	-webkit-filter: grayscale(1);
}
.mmn-thumbnail img:hover {
	filter: grayscale(0);
	-webkit-filter: grayscale(0);
}
