/* blank */ 

*,
*:before,
*:after {
	padding: 0;
	margin: 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

.fontAmaticRegular {
	font-family: 'Amatic SC', cursive;
	font-weight: 400;
	font-style: normal;
}

.fontAmaticBold {
	font-family: 'Amatic SC', cursive;
	font-weight: 700;
	font-style: normal;
}

html, button, input, select, textarea,
.pure-g [class *= "pure-u"],
.fontJosefinSansRegular {
	font-family: 'Josefin Sans', cursive;
	font-weight: 400;
	font-style: normal;
}

.fontJosefinSansBold {
	font-family: 'Josefin Sans', cursive;
	font-weight: 700;
	font-style: normal;
}

.error {
	color: #f00;
}

a {
	color: #000;	
}

html {
  height: 100%;
}

header a {
	text-decoration: none;
	color: #000;
}

body {
  position: relative;
  margin: 0;
  padding-bottom: 44vw;
  min-height: 100%;
}


header {
	width: 100%;
	position: fixed;
	background-color: rgba(255,255,255,1);
	z-index: 10000;
	color: #000;
	top: 0;
	-webkit-box-shadow: 0 4px 8px rgba(0,0,0,0.5);
	        box-shadow: 0 4px 8px rgba(0,0,0,0.5);
	
}

header ul {
	text-align: center;
}

header ul li {
	display: inline-block;
	
	margin: 4px 6vw;
	cursor: pointer;
	position: relative;
	letter-spacing: 2px;
	color: rgba(0,0,0,0);
}

header ul li div {
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	text-align: center;
}


header ul li div a {
	-webkit-transition: letter-spacing .3s;
	transition: letter-spacing .3s;
}

header ul li div a {
	letter-spacing: 0;
}

header ul li div a:hover {
	letter-spacing: 2px;
}


header .home-btn a span {
	background-image: url('../img/home-chalkboard.png');
	background-size: 100%;
	background-position: center -15px;
	background-repeat: no-repeat;
	width: 94px;
	height: 36px;
	display: inline-block;
}


header .home-btn {
	
	-webkit-transition: -webkit-transform 0.2s ease;
	
	transition: -webkit-transform 0.2s ease;
	
	transition: transform 0.2s ease;
	
	transition: transform 0.2s ease, -webkit-transform 0.2s ease;
	-webkit-transform-origin: 25% 60%;
	        transform-origin: 25% 60%;
}

header .home-btn:hover {
	-webkit-transform: rotate(-4deg) scale(1.4);
	        transform: rotate(-4deg) scale(1.4);
}


header .hamburger {
	z-index: 1000;
	height: 40px;
	background-color: #fff;
	-webkit-transform: translate(0,0);
	        transform: translate(0,0);
	cursor: pointer;
	position: relative;
	text-align: center;
}

header .hamburger .home-btn:hover {
	-webkit-transform: rotate(0deg) scale(1);
	        transform: rotate(0deg) scale(1);
}



header .hamburger .icon {
	background-image: url('../img/hamburger.svg');
	background-repeat: no-repeat;
	width: 30px;
	height: 20px;
	background-size: 100%;
	float: right;
	padding: 4px;
	margin: 10px;
}

header .hamburger .home-btn {
	display: inline-block;
	width: 108px;
	padding-left: 34px;
}

header .hamburger .home-btn a span {
	background-position: center -20px;
	background-repeat: no-repeat;
	width: 108px;
	height: 38px;
	display: inline-block;
}



.titleimage {
		 
	width: 100%;
	height: 36vw;
	position: relative;
	overflow: hidden;

	background-size: cover;
	background-repeat: no-repeat;
	 
}

.titleimage .innerimage {
	width: 100%;
	height: 100%;
	/*
	background-image: url('../img/deko3.png');
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: 0 46%;
	*/
	background-color: rgba(255,255,255,.2);
	/* background-image: linear-gradient(to top, rgba(255,255,255,1) 0%, rgba(255,255,255,.2) 20%); */
	background-image: url('../img/deko3c.png');
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: 0 24vw;
}

.titleimage.home {
	background-position: 50% 26%;
}

.titleimage .axel,
.titleimage .sandra,
.titleimage .und  {
	
	position: absolute;
	
	
}

body {
	overflow-y: scroll;
}

article {

}





h1, h2, .axel, .sandra, .und {
	font-family: 'Amatic SC', cursive;
	font-weight: 400;
	font-style: normal;
	font-size: 11vw;
	line-height: 100%;
	color: #000;
	text-align: center;
	/* text-transform: uppercase; */
}

.axel {
	top: 35%;
	left:13%;
	text-shadow: 0 0 8px rgba(0,0,0,.8);
	color: #fff;
}

.sandra  {
	top: 35%;
	right: 2%;
	text-shadow: 0 0 8px rgba(0,0,0,.8);
	color: #fff;
}

.und {
	font-size: 56vw;
	top: -29%;
	left: 24%;
	font-weight: 400;
	opacity: .5;
	color: #fff;
	
}

h2 {
	color: #000;
	text-shadow: none;
	margin-top: 0;
}


.countdown {
	text-align: center;
	padding: 0;
	font-size: 4vw;
	line-height: 5vw;
	
}

.text-content-wrap {
	width: 100%;
	/* background-image: url('../img/deko3.png'); */
	background-size: 100%;
	background-position: 0 -15vw;
	background-repeat: no-repeat;
}

.text-content {
	max-width: 800px;
	font-size: 128%;
	margin: 0 auto;
	line-height: 180%;
	padding: 0 30px 30px 30px;
	z-index: 20;
	position: relative;
}

.text-content > h1 {
	padding: 6vw 0 0 0;
	margin: 0;
	font-size: 11vw;
}

.text-content > .date {
	padding: 2vw 0 0 0;
	text-align: center;
	font-size: 5vw;
}

.text-content .deko {
	margin: 0 auto;
	width: 266px;
	max-width: 60%;
	background-size: 100%;
	background-repeat: no-repeat;
	padding: 6vw 0 0 0;
}

.text-content .deko.no-top-padding {
	padding-top: 0;
}

.text-content .deko > img {
	width: 100%;
}

.text-content > .intro-text {
	padding: 5vw 0 0 0;
}

.home .text-content > .intro-text {
	display: table;
	margin: 0 auto;
}

.text-content > .intro-text p {
	padding-top: 20px;
}

.text-content  p.author {
	text-align: right;
	padding-top: 20px;
	font-size: 80%;
	font-style: italic;
}


.text-content > .part-holder {
	padding: 6vw 0 0 0;
}

.location-part {
	padding-top: 6vw;
}

.location-part a {
	color: #000;
}

.location-part .gmap {
	margin-top: 40px;
}

.location-part .gmap {
	height: 300px;
}

.location-part h2 {
	font-size: 7vw;
	letter-spacing: 0.6vw;
/*
	color: #5a5c2f;
	color: #d01742;
	color: #4d2b1a;
	color: #e1bf7f;
*/
}

.location-part .wowann-cont,
.location-part .group-cont {
	padding-top: 6vw;
}

.location-part .wo-cont div {
	padding-top: 10px;
	
}



.location-part .wann-cont div {
	font-size: 60px;
	padding-top: 24px;
	line-height: 70px;
}

.location-part .description h4 {
	padding-top: 30px;
}
.location-part .description p {
	padding-top: 20px;
}
.location-part .description {
	padding-top: 10px;
}

.location-part .gallery {
	margin-top: 40px;
	display: flex;
	flex-wrap: wrap;
}

.location-part .gallery figure[itemprop="associatedMedia"] {
	margin: 0;
}

.location-part .gallery img[itemprop="thumbnail"] {
	margin-bottom: 8px;
	display: block;
}

.location-part .gallery figcaption[itemprop="caption description"] {
	display: none;
}






.intro {
	max-width: 800px;
	padding-top: 30px;
	margin: 0 auto;
	text-align: center;
}

.intro .title-image {
	width: 80%;
	max-width: 400px;
	margin: 0 auto;
}

.intro .title-image img {
	width: 80%;
	display: table;
	opacity: 0;
	margin: 0 auto;
	
}

.intro h1 > span {
	display: inline-block;
	opacity: 0;
}

.intro .login-form {
	padding-top: 20px;
	opacity: 0;
}


.intro form input,
.intro form button {
	line-height: 160%;
}

.intro .login-form input {
	background-color: #eee;
	border: 1px solid #333;
	border-radius: 4px;
	padding: 0 8px;
}

.intro button {
	background-color: #eee;
	border: 1px solid #333;
	border-radius: 4px;
}

html.login body {
	padding-bottom: 0;
}

.login-form .error {
	padding-top: 8px;
}
.bounceInSkip {
	opacity: 1 !important;
}

.bounceIn {
	-webkit-animation-name: bounceIn;
	animation-name: bounceIn;
	-webkit-animation-duration: .75s;
	animation-duration: .75s;
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}

@-webkit-keyframes bounceIn {
	0%, 20%, 40%, 60%, 80%, 100% {
		-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
		transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
	}
	0% {
		opacity: 0;
		-webkit-transform: scale3d(.3, .3, .3);
		transform: scale3d(.3, .3, .3);
	}
	20% {
		-webkit-transform: scale3d(1.1, 1.1, 1.1);
		transform: scale3d(1.1, 1.1, 1.1);
	}
	40% {
		-webkit-transform: scale3d(.9, .9, .9);
		transform: scale3d(.9, .9, .9);
	}
	60% {
		opacity: 1;
		-webkit-transform: scale3d(1.03, 1.03, 1.03);
		transform: scale3d(1.03, 1.03, 1.03);
	}
	80% {
		-webkit-transform: scale3d(.97, .97, .97);
		transform: scale3d(.97, .97, .97);
	}
	100% {
		opacity: 1;
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
}
@keyframes bounceIn {
	0%, 20%, 40%, 60%, 80%, 100% {
		-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
		transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
	}
	0% {
		opacity: 0;
		-webkit-transform: scale3d(.3, .3, .3);
		transform: scale3d(.3, .3, .3);
	}
	20% {
		-webkit-transform: scale3d(1.1, 1.1, 1.1);
		transform: scale3d(1.1, 1.1, 1.1);
	}
	40% {
		-webkit-transform: scale3d(.9, .9, .9);
		transform: scale3d(.9, .9, .9);
	}
	60% {
	opacity: 1;
		-webkit-transform: scale3d(1.03, 1.03, 1.03);
		transform: scale3d(1.03, 1.03, 1.03);
	}
	80% {
		-webkit-transform: scale3d(.97, .97, .97);
		transform: scale3d(.97, .97, .97);
	}
	100% {
		opacity: 1;
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
} 







footer {

	width: 100%;
	height: 44vw;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 10;
	
}

footer .pic {
	height: 40vw;
	width: 100%;
	background-image: url('../img/paar_scene2.png');
	background-size: contain;
	background-position: 0 100%;
	background-repeat: no-repeat;
	opacity: 0.4;
}

footer .bottom-line {
	height: 4vw;
	width: 100%;
	background-color: rgba(0,0,0,0.4);
}




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

	body {
		padding-bottom: 70vw;
	}

	header {
		height: 40px;
	}

	header ul {
		background-color: #fff;
		color: #000;
		position: relative;
		clear: both;
		-webkit-transform: translate(0, -105%);
		        transform: translate(0, -105%);
		z-index: 100;
		-webkit-transition: -webkit-transform 0.5s ease;
		transition: -webkit-transform 0.5s ease;
		transition: transform 0.5s ease;
		transition: transform 0.5s ease, -webkit-transform 0.5s ease;
		-webkit-box-shadow: 0 4px 8px rgba(0,0,0,0.5);
		        box-shadow: 0 4px 8px rgba(0,0,0,0.5);
	}

	header.on ul {
		-webkit-transform: translate(0,0);
		        transform: translate(0,0);
	}

	header ul li {
		display: block;
		font-size: 24px;
		line-height: 50px;
		margin: 0;
	}

	header ul li.home-btn {
		display: none;
	}


	
	.countdown {
		font-size: 30px;
		line-height: 40px;
	}

	.countdown span:after {
		content: '\A';
		white-space: pre;
	}

	.countdown span:first-child {
		line-height: 200%;
	}


	
	article {
		padding-top: 40px;
		/* min-height: 456px; */
	}

	.text-content {
		font-size: 110%;
		line-height: 170%;
		padding-left: 20px;
		padding-right: 20px;
	}

	.text-content > h1 {
		font-size: 65px;
		padding: 30px 0 0 0;
	}

	.text-content > .date {
		font-size: 40px;
		line-height: 50px;
		padding: 10px 0 0 0;
	}

	.text-content .part-holder {
		padding-top: 40px;
	}

	.text-content .deko {
		padding: 40px 0 0 0;
	}

	.location-part h2 {
		font-size: 66px;
	}

	.location-part .wowann-cont {
		text-align: center;
		font-size: 20px;
	}

	.location-part .wann-cont {
		padding-top: 20px;

	}

	.location-part .group-cont > div {
		padding-top: 20px;
	}

	.location-part .wann-cont div {
		font-size: 30px;
		line-height: 40px;
	}
	


	footer {
		height: 70vw;
	}

	footer .pic {
		height: 60vw;
		background-size: 150%;
		background-position: 0 100%;
	}

	footer .bottom-line {
		height: 10vw;
	}

	.intro .login-form {
		padding-top: 10vw;
	}

	.intro .login-form input {
		width: 150px;
	}

	.intro .login-form button {
		padding: 0 6px;
	}



}


@media only screen and (min-width : 361px)  {
	
	header {
		height: 5vw;
		
	}

	header ul li {
		font-size: 3vw;
		line-height: 3vw;
		margin: 1vw 3vw;
		vertical-align: top;

	}

	header ul li.home-btn a span {
		width: 9vw;
		height: 4vh;
		background-position: center -8px;
	}

	.hamburger {
		display: none;
	}

	article {
		padding-top: 5vw;

	}

	.text-content {
		padding-left: 70px;
		padding-right: 70px;
	}

	.intro .login-form input {
		width: 170px;
	}

	.intro .login-form button {
		padding: 0 6px;
	}


}


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

	header {
		height: 44px;
		overflow: hidden;
		
	}

	header ul li {
		font-size: 30px;
		line-height: 30px;
		margin: 5px 4vw;
	}

	.hamburger {
		display: none;
	}

	article {
		padding-top: 44px;
	
	}

	.text-content > h1 {
		font-size: 15vw;
	}

	.text-content > .date {
		font-size: 7vw;
		line-height: 8vw;
		padding: 10px 0 0 0;
	}

	.location-part h2 { 
		font-size: 10vw;
	}

	.location-part .gmap {
		height: 24vw;
	}

	.location-part .wann-cont div {
		font-size: 6vw;
		line-height: 7vw;
		padding-top: 2vw;
	}

	.intro {
		padding-top: 12vw;
	}
	
	.intro input,
	.intro button {
		font-size: 2.5vw;
	}

	.intro .login-form input {
		width: 30vw;
		max-width: 250px;
	}
	
	.intro .login-form button {
		padding: 0 10px;
	}

}

@media only screen and (min-width : 1100px)  {
	
	header ul li.home-btn a span {
		background-position: center -15px;
		width: 94px;
		height: 36px;
	}

	.text-content {
		padding-left: 0px;
		padding-right: 0px;
	}

	.text-content > h1 {
		padding: 90px 0 0 0;
		font-size: 160px;
	}

	.text-content > .date {
		padding: 20px 0 0 0;
		text-align: center;
		font-size: 80px;
	}

	.location-part h2 { 
		font-size: 120px;
	}

	.location-part .wann-cont div {
		font-size: 60px;
		line-height: 70px;
		padding-top: 10px;
	}

	.location-part .gmap {
		height: 500px;
	}

	.countdown {
		
		font-size: 50px;
		line-height: 60px;
		
	}

	.intro {
		padding-top: 60px;
	}

	.intro input,
	.intro button {
		font-size: 26px;
	}

	.intro .login-form {
		padding-top: 50px;
	}

	.intro.text-content > h1 {
		padding-top: 60px;
	}
}
