
/* colors
original: #526c5d; (very dark)
dark: #6e917d; (font)
light: #e2e9e5; (light background)
*/


* {
	margin: 0px;
	padding: 0px;
	/*font-family: 'Nunito',Helvetica,Arial,Lucida,sans-serif;*/
	/*font-family: "Playfair Display", serif;*/
	font-family: 'Josefin Sans', sans-serif;
	color: #526c5d; /*404040*/
}
html {
	width: 100%;
	height: 100%;
	background-image: url("bg.png");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

h1, h2 {
	text-align: center;
}
h1 {
	position: relative;
	font-family: 'Josefin Sans', sans-serif;
	font-size: 72px;
	font-weight: 200;
	color: black;
	text-align: right;
	z-index: 100;
}
	h1 span {
		font-size: 32px;
	}

a.back {
    display: block;
	margin: -80px auto 120px;
}

.menu-bar {
	position: fixed;
    width: 500px;
	margin-left: auto;
	margin-right: auto;
	left: 0;
	right: 0;
	padding: 4px;
	overflow: hidden;
    z-index: 110;
}
.menu-bar.active {
	height: auto;
	background-color: white;
    box-shadow: 0px 30px 10px -23px rgb(0 0 0 / 10%);
}
.menu-bar.compact {
	display: none;
	height: 31px;
	margin-top: 20px;
}
.menu-bar.big {
	width: 100%;
	height: 52px;
	background-color: white;
    box-shadow: 0px 30px 10px -23px rgb(0 0 0 / 10%);
}
	.menu-button {
		width: 33px;
		height: 26px;
		background-color: white;
		padding-top: 1px;
		padding-bottom: 3px;
		border-radius: 6px;
	    cursor: pointer;
        box-shadow: 0px 0px 5px 2px rgb(0 0 0 / 10%);
	}
		.menu-button .stripe {
			width: 23px;
			height: 4px;
			margin: 4px auto;
			background-color: #526c5d;
			border-radius: 2px;
		}

	.menu-bar.compact ul {
		display: none;
	}
	.menu-bar.big ul {
		width: 650px;
		margin-left: auto;
		margin-right: auto;
		left: 0;
		right: 0;
	}
	.menu-bar.compact.active ul {
		display: block;
		margin: -30px 30px 0px 60px;
	}
		.menu-bar ul li {
			padding: 20px 30px;
			text-align: center;
			cursor: pointer;
			list-style: none;
		}

		.menu-bar.compact ul li {

		}

		.menu-bar.big ul li {
			display: block;
			float: left;
		}



.header {
	position: relative;
    width: 500px;
    height: 650px;
	overflow: hidden;
    margin: 0 auto;
    padding-top: 100px;
}
	.header .background {
		position: absolute;
		width: 100%;
		height: 100%;
		padding-top: 55%;
		background-color: #6e917d;
	    -webkit-mask-image: url(/images/eucaliptus-removebg.png);
		-webkit-mask-repeat: no-repeat;
	    -webkit-mask-size: 500px 677px;
	    z-index: 80;
	}
	.header h1 {
		padding-top: 40px;
	}

.date-container {
	position: relative;
    width: 500px;
    margin: -160px auto 0px;
    z-index: 100;
}
	.date-container span {
		display: block;
		margin: 13px 6px;
		font-size: 22px;
		color: black;
		text-align: right;
		font-weight: 100;
	}
	.date-container span:nth-child(1) {
		font-weight: 400;
	}
	.date-container a span:nth-child(1) {
		font-weight: 100;
	}
	.date-container a span:nth-child(2) {
		padding-right: 30px;
	}
	.date-container a {
		display: block;
		text-decoration: none;
	}
	big {
		font-size: 40px;
		color: black;
		font-weight: 100;
	}
	.date-container a .location-marker {
		background-image: url(/images/map-marker.png);
		width: 30px;
		height: 30px;
		background-size: contain;
		float: right;
		margin-top: -45px;
	}

	.box {
		padding: 50px;
	}
		.box * {
			text-align: center;
		}
	.box.shadow {
		box-shadow: 0 0 15px -4px rgb(0 0 0 / 30%);
	}

	.text-container {
		width: 60%;
		margin: 150px auto 0px;
	}
	.text-container.scroll-rsvp {
		position: relative;
		z-index: 100;
	}
		.text-container .content {
			width: 70%;
			margin: -80px auto 20px;
			background-color: white;
		}
			.text-container .content .title,
			.ceremonie-meester-container .title {
				font-size: 22px;
	    		color: #6e917d;
			}
			.text-container .content .description {
				font-size: 20px;
				font-size: 18px;
				line-height: 1.8em;
			}

			.rsvp-container {
				margin: 30px auto 30px;
			}

			.rsvp-container.step-1 {
				width: 260px;
				height: 41px;
			}

			.rsvp-container.step-2 {
				display: none;
				width: 220px;
			    padding: 10px 20px;
			    background: #e2e9e5;
			}

			.rsvp-yes, .rsvp-no {
				background: #e2e9e5;
			    color: #6e917d;
			    width: 90px;
			    border-radius: 3px;
			    font-weight: bold;
			    text-transform: uppercase;
			    letter-spacing: 1px;
			    position: relative;
				display: inline-block;
				padding: 10px;
				cursor: pointer;
			}

			.rsvp-yes {
				float: left;
			}
			.rsvp-no {
				float: right;
			}

			.rsvp-response {
				margin-top: 8px;
				margin-bottom: 8px;
			}

			input[type="text"], input[type="phone"], input[type="number"], input[type="email"], select, textarea {
				width: 100%;
				font-size: 14px;
				padding: 5px 10px;
				background: #fff;
				border: 1px solid #eee;
				margin-bottom: 10px;
				-webkit-appearance: none;
			}
			input[type="number"] {
				width: 80px;
				float: left;
			}
			label[for="people"] {
				display: block;
				width: 80px;
				height: 24px;
				float: left;
				padding-top: 0px;
			}
			input.rsvp-response,
			textarea.rsvp-response {
				margin-top: 0px;
			}
			textarea {
				height: 80px;
			}

			input[type="submit"] {
				background: #6e917d;
				color: #fff;
				border-radius: 3px;
				-webkit-appearance: none;
				box-shadow: none;
				border: none;
				padding: 15px 20px;
				text-transform: uppercase;
				font-weight: bold;
				letter-spacing: 1px;
				cursor: pointer;
				margin: 10px 0px 6px;
			}


.programm {
	margin-top: 25px;
}
	.programm .background {
		width: 100%;
		height: 600px;
		background-image:  url(https://www.villa-westend.nl/fotos/4878_95.jpg);
		background-repeat: no-repeat;
		background-size: cover;
		background-position: top center;
		box-shadow: inset 0px 20px 90px white, inset 0px 50px 90px white, inset 0px 100px 90px white;
	}
	.programm table {
		margin: 0 auto;
	}
		.programm table td:nth-child(1) {
			padding-left: 70px;
		}
		.programm table td {
			text-align: left;
			font-size: 18px;
			color: black;
		}
		.programm table td[colspan="2"] {
			font-size: 16px;
		}

.cadeautip {
    position: relative;
    z-index: 100;
}
	.cadeautip .background {
	    position: relative;
		width: 100%;
		background-repeat: no-repeat;
		background-size: cover;
		background-position: top center;
		z-index: 90;
	}
	.extra-image {
		display: block;
		width: 80%;
		max-width: 945px;
	    margin: 0px auto -140px;
	}
		.extra-image img {
			width: 100%;
		}
	.cadeautip .background {
		height: 600px;
	    margin-top: -50px;
		background-image: url("/images/caravan.jpg");
		box-shadow: inset 0px -20px 90px white, inset 0px -50px 90px white, inset 0px -100px 90px white;
	}

	.cadeautip .content {
		position: relative;
		z-index: 100;
	}


	.ceremonie-meester-container {
		height: 220px;
	}
		.ceremonie-meester-container .background {
			position: absolute;
			width: 100%;
			height: 317px;
		    margin: -50px;

		    -webkit-mask-image: url(/images/floral-removebg.png);
			-webkit-mask-size: 130%;
			-webkit-mask-position: 70% center;
		    -webkit-mask-repeat: no-repeat;
		    background-color: #6e917d;
		    z-index: 0;
		}

		.ceremonie-meester-container .container {
			position: relative;
			width: 300px;
			margin: 0 auto;
			z-index: 100;
		}

			.ceremonie-meester-container .sub-box {
				height: 30px;
				float: left;
				margin: 70px 20px;
			}
				.ceremonie-meester-container .image {
					width: 120px;
					height: 120px;
					margin: 20px auto;
					border-radius: 60px;

					background-image: url("/images/ceremonie-meester.jpeg");
					background-repeat: no-repeat;
					background-size: cover;
					background-position: center;

					box-shadow: inset 0px 0px 20px white;
				}
				.ceremonie-meester-container a {
					display: block;
					color: #488a9e;
				}


.divider {
	width: 220px;
	height: 120px;
	margin: 50px auto;

    -webkit-mask-image: url(/images/divider-removebg.png);
	-webkit-mask-size: contain;
    background-color: #6e917d;
}

table, tr, td {
	margin: 0px;
}
td {
	padding: 6px 20px 4px 10px;
}
td a {
	font-size: 14px;
	opacity: 0.7;
}





@media (max-width: 1400px) {
	.programm .background {
		height: 500px;
	}
	.cadeautip .background {
		height: 500px;
	}
}
@media (max-width: 1200px) {
	.programm .background {
		height: 400px;
	}
}


@media (max-width: 740px) {
	.menu-bar.big {
		display: none;
	}
	.menu-bar.compact {
		display: block;
		width: 100%;
		height: auto;
	}
		.menu-button {
			margin-left: 5%;
		}

	.header {
		padding-top: 0px;
	}

	.text-container {
		width: 100%;
	}
		.text-container .background {
			height: 400px;
		}
		.text-container .content {
			width: calc(70% - 10px);
		}
	.box {
		padding: 30px;
	}
	.ceremonie-meester-container .background {
	    height: 277px;
	    margin: -30px;
	}

	.rsvp-container {
		width: 230px;
		margin: 30px auto 70px;
	}

	.extra-image {
	    margin: 90px auto 0px;
		width: 90%;
	}
}




@media (max-width: 550px) {
	.header {
		width: 100%;
		margin: 0px;
	}
		.header .background {
			width: 130%;
			margin-left: -30%;
		}
		.header h1 {
			margin-right: 20px;
		}
	.date-container {
		width: 95%;
	}

	.programm table td:nth-child(1) {
		padding-left: 20px;
	}
	.extra-image {
		width: 100%;
		overflow: hidden;
	}
		.extra-image img {
			width: 120%;
			margin-left: -10%;
		}
}




@media (max-width: 400px) {
	.header {
		width: 100%;
		margin: 0px;
	}
		.header .background {
			width: 150%;
			margin-left: -50%;
		}
}

@media (max-width: 360px) {
	big {
		font-size: 30px;
	}
	td {
		padding: 6px 10px 4px 8px;
	}
	.rsvp-container.step-1 {
	    width: 200px;
	}
		.rsvp-yes, .rsvp-no {
			width: 70px;
		}
	.rsvp-container.step-2 {
		margin-left: -15px;
	}
}















