/* Farben */
:root {
	--primary: #f91864;
	--primarylight: #d8ecff;
	--primarydark: #000;
	--background: #310414;
	--secondary: #551d69;
	--third: #4ea4ff;
	--shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
	--border-radius: 6px;
}

/* reset */
* {
	box-sizing:border-box;
	margin:0;
	padding:0
}


html {
	-moz-text-size-adjust:none;
	-webkit-tex-size-adjust:none;
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
	line-height:1.15;
	text-size-adjust:none
}

body {
	background: rgb(251,121,165);
	background: linear-gradient(45deg, rgba(250,100,151,1) 0%, rgba(249,24,100,2) 24%, rgba(37,52,252,1) 100%);
	font-size: clamp(1rem, 0.90rem + 0.25vw, 1.5rem);
	min-height: 100vh;
}

p {
	margin: .7rem 1rem;
}

h1 {
	font-size: clamp(24px, 4vw, 36px);
	margin: .7rem 1rem;
	width:100%;
}
h2 {
	font-size: clamp(20px, 3vw, 30px);
	margin: .7rem 1rem;
	width:100%;
}
h3 {
	font-size: clamp(16px, 2vw, 24px);
	margin: .7rem 1rem;
	width:100%;
}
a {
	background-color: transparent;
	color: var(--primarylight);
	text-decoration: none;
}
b, strong {
	font-weight: 600;
}
small {
	font-size: small;
}


img {
	max-width: 100%;
	height: auto;
	margin-bottom: 0.5rem;
}

.left,
.text-left {
	text-align: left;
}
.center,
.text-center {
	text-align: center;
}
.right,
.text-end {
	text-align: right;
}
.text-justify {
	text-align: justify;
}
.hiddenmobile {
	display: none;
}


/* Infoline, Footer */

#infoline {
	display: flex;
	width: 100%;
	height: 28px;
	justify-content: center;
	position: fixed;
	top: 0;
	padding-top: 0.3rem;
	font-family: "Times New Roman", serif;
	background-color: var(--primarydark);
	z-index: 1001;
}
#footer {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: center;
	background-color: var(--primarydark);
	color: var(--primarylight);
	padding: 0.3rem;
	margin-top: auto;
}
#infoline a,
#footer a {
	color: var(--primarylight);
	text-decoration: none;
}
#infoline a:hover,
#footer a:hover {
	color: var(--primary);
	transition: all .2s ease-out;
}

/* Menü */

#mainmenu {
	background-color: var(--primarydark);
	position: sticky;
	width: 100%;
	margin-bottom: 2rem;
	padding: 0 1rem;
	z-index: 1000;
}
#mainmenu .logo {
	display: inline-block;
	margin: 0 8px;
	cursor: pointer;
}
#mainmenu .logotext {
	display: inline-block;
	font-size: clamp(18px, 2.5vw, 30px);
	color: white;
	vertical-align: .8rem;
	margin-left: 10px;
	margin-top: .8rem;
	cursor: pointer;
}
#mainmenu .logotext:hover {
	color: var(--primary);
	transition: all .2s ease-out;
}
#mainmenu .nav {
	width: 100%;
	height: 100%;
	margin-top:28px;
	max-height: 0;
	position: fixed;
	overflow: hidden;
	transition: max-height .5s ease-out;
	background-color: var(--primary);
}
#mainmenu ul{
	list-style: none;
	margin-top: 0.3rem
}
#mainmenu .menu a {
	display: block;
	padding: 16px 10px;
	padding-left:40px;
	color: black;
	font-weight: 700;
}
#mainmenu .menu a:hover {
	background-color: var(--primary);
	transition: all .2s ease-out;
}
#mainmenu .active {
	background-color: var(--primarydark) !important;
	color: white !important;
}
#mainmenu .menu .languagenavigation,
#mainmenu .menu .languagenavigation a {
	color: var(--primarydark);
	font-style: italic;
}

/* Menu Icon */

#mainmenu .hamb {
	cursor: pointer;
	float: right;
	padding: 40px 20px;
}
#mainmenu .hamb-line {
	background: var(--primarylight);
	display: block;
	height: 2px;
	position: relative;
	width: 24px;
}
#mainmenu .hamb-line::before,
#mainmenu .hamb-line::after {
	background: var(--primarylight);
	content: '';
	display: block;
	height: 100%;
	position: absolute;
	transition: all .2s ease-out;
	width: 100%;
}
#mainmenu .hamb-line::before {
	top: 7px;
}
#mainmenu .hamb-line::after {
	top: -7px;
}
#mainmenu .side-menu {
	display: none;
}

/* Toggle menu icon */

#mainmenu .side-menu:checked ~ nav {
	max-height: 100%;
}
#mainmenu .side-menu:checked ~ .hamb .hamb-line {
	background: transparent;
}
#mainmenu .side-menu:checked ~ .hamb .hamb-line::before {
	transform: rotate(-45deg);
	top:0;
}
#mainmenu .side-menu:checked ~ .hamb .hamb-line::after {
	transform: rotate(45deg);
	top:0;
}

/* Menü Responsiveness */

@media (min-width: 840px) {
	#mainmenu .nav{
		max-height: none;
		top: 0;
		position: relative;
		float: right;
		width: fit-content;
		background-color: transparent;
		margin-top: 0;
	}
	#mainmenu .menu li {
		float: left;
		margin:0;
		padding:0;
	}
	#mainmenu .menu a {
		color: white;
		padding: 30px 10px 6px 10px;
	}
	#mainmenu .menu a:hover {
		background-color: transparent;
		color: var(--primary);
		transition: all .2s ease-out;
	}
	#mainmenu .hamb {
		display: none;
	}
	#mainmenu .active {
		color: var(--primarylight) !important;
	}
	#mainmenu .menu .languagenavigation,
	#mainmenu .menu .languagenavigation a {
		color: var(--primarylight);
	}
}

/** Gallery  **/
.gallerycontainer {
	display: flex;
	flex-flow: wrap;
	align-items: flex-start;
	gap: 2rem;
}
.gallerycard {
	background: black;
	color: white;
	margin-bottom: 1rem;
	border-radius: var(--border-radius);
	box-shadow: var(--shadow);
	flex: 0 1 100%;
}
.gallerydescription {
	flex: 100%;
	text-align:center;
	color:white;
}
.gallerycard img {
	margin: 0;
	width: 100vw;
	object-fit: cover;
	vertical-align: top;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	}
.navigation {
	width: 100%;
	text-align:center;
	margin: 1rem;
}
.navigation a {
	color: white;
}
.navigation-button,
.download-overlay {
	border: 0px;
	font-size: 24px;
	background-color: var(--primary);
	color: black;
	padding: 1rem 2rem;
	border-radius: var(--border-radius);
	box-shadow: 0 0 10px grey;
	transition: all 0.3s ease-in-out;
}
.download-overlay {
	width:100%;
	display:block;
	padding: 0.8rem 3rem;
	text-align: center;
	margin:0;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	color:white;
}


/** Individuell  **/
h1,
h2,
h3 {
	color: yellow;
}


/** Breakpoints  **/

/* Small */
@media only screen and (min-width: 840px) {
	.hiddenmobile {
		display: inline;
	}
	.gallerycard {
		flex: 0 1 47vw;
	}
}

/* Medium */
@media only screen and (min-width: 1024px) {
	.gallerycard {
		flex: 0 1 30vw;
	}
}

/* Large */
@media only screen and (min-width: 1280px) {
	.gallerycard {
		flex: 0 1 22vw;
	}
}



/* Pagination 
.pagination a:hover:not(.active) {background-color: #ddd;}
*/

.pagination {
	display: flex;
	width:100%;
	justify-content: center;
}

.pagination a {
	color: var(--primarylight);
	padding: 1rem 1.5rem;
	background-color: var(--secondary);
	border-radius: var(--border-radius);
	margin: 0 4px;
}

.pagination a.active {
	background-color: var(--third);
	color: white;

}


