/* CSS Box Model Setup and Browser Style Reset */

*, *:before, *:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

html, body, div, span, h1, h2, h3, h4, h5, h6, p, a, em, img, strong, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, figcaption, footer, header, nav, section, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

article, aside, figcaption, figure, footer, header, nav, section {
	display: block;
}

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

table {
	border-spacing: 0;
}


/* Colors */

:root {
	/*--primary-color: rgba(224,186,141,1); #e0ba8d*/
	--primary-color: rgba(247,201,149,1); /*#f7c995*/
	--secondary-color: rgba(48,62,81,1); /*#303e51*/
}

/* General Styles and Textual Elements */

body {
	font-family: niveau-grotesk, arial, sans-serif;
	font-weight: 300;
	font-style: normal;
	color: var(--primary-color);
	background-color: var(--secondary-color);
	
}

h1 {
	margin: 0 0 0.5em;
	font-family: museo-slab, Georgia, serif;
	font-weight: 700;
	font-size: 1.9em;
	line-height: 1.2em;
}

h1 a {
	text-decoration: none;
}

h1 a:hover, h1 a:focus {
	text-decoration: underline;
}

h2 {
	margin: 0 0 0.25em;
	font-family: museo-slab, Georgia, serif;
	font-weight: 700;
	font-size: 1.5em;
	line-height: 1.2em;
}

h3 {
	margin: 0 0 0.25em;
	font-family: museo-slab, Georgia, serif;
	font-weight: 500;
	font-size: 1.25em;
	line-height: 1.25em;
}

h4 {
	margin: 0 0 0.25em;
	font-family: museo-slab, Georgia, serif;
	font-weight: 500;
	font-size: 1.125em;
	line-height: 1.3em;
}

p {
	margin: 0 0 0.5em;
	font-size: 1em;
	line-height: 1.4em;
	max-width: 32em;
}

ul {
	margin: 0 0 1.5em;
}

ul li {
	margin: 0 0 1.5em;
	padding: 0 0 0 1em;
	border-left: 2px solid var(--primary-color);
	font-size: 1em;
	line-height: 1.4em;
}

ul li:last-of-type {
	margin: 0;
}

a {
	margin: 0 0 0.5em;
	color: var(--primary-color);
}

a:hover, a:focus {
	text-decoration: none;
}

img {
	max-width: 100%;
}

label {
	line-height: 1.4em;
}

input {
	margin: 0.25em 0 0.5em;
	padding: 0.5em;
	border: 0;
	font-size: 1em;
	color: var(--secondary-color);
	background-color: var(--primary-color);
	display: block;
}

input[type="tel"] {
	margin: 0.25em 0 1.5em;
}

fieldset {
	margin: 0 0 1em;
}

fieldset p {
	margin: 0 0 1em;
}

fieldset label:hover, fieldset label:focus {
	cursor: pointer;
}

input[type="radio"]:hover, input[type="radio"]:focus, input[type="checkbox"]:hover, input[type="checkbox"]:focus {
	cursor: pointer;
}

fieldset label {
	margin: 0 0 0.5em;
	display: block;
}

fieldset input[type="radio"], fieldset input[type="checkbox"] {
	margin: 0 0 0.25em;
	color: var(--secondary-color);
	background-color: var(--primary-color);
	display: inline-block;
}

fieldset input[type="radio"] + label {
	margin: 0 1em 0 0.25em;
	display: inline-block;
}

fieldset input[type="checkbox"] + span {
	margin: 0 0 0 0.125em;
	display: inline-block;
}

label span {
	line-height: 1.2;
	display: inline-block;
}

input[inputmode="numeric"] {
	margin: 0.25em 0 1.5em;
}

input[type="submit"] {
	border: 1px solid var(--primary-color);
	font-family: museo-slab, Georgia, serif;
	box-shadow: 0 1px 3px #333;
	-webkit-appearance: none;
	-moz-appearance: none;
}

input[type="submit"]:hover, input[type="submit"]:focus {
	color: var(--primary-color);
	background-color: var(--secondary-color);
	cursor: pointer;
}

.visually-hidden {
	display: none;
}

::selection {
	background-color: var(--primary-color);
	color: var(--secondary-color);
}


/* SVG Icons */

.icons {
	width: 1.5625em;
	height: 1.5625em;
}

#picnic svg, #registry svg, #rsvp svg {
	margin: -0.125em 0.5em 0 0;
}

#lodging svg {
	margin: 0 0.25em 0 0;
}

#activities svg {
	margin: -0.175em 0.5em 0 0;
}


/* Layout and Custom Elements */

main {
	margin: 0 auto;
	padding: 1.8em;
}

main::after {
	content: "";
	background-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 25 25"><path fill="%23f7c995" d="M0,11.0277778 L0,13.8277778 C0,15.0722222 0.611111111,16.2166667 1.61666667,16.9055556 C1.39444444,18.1055556 1.77222222,19.3444444 2.65,20.2222222 L4.62777778,22.2 C5.28333333,22.8555556 6.54539931,23.2944444 7.93888889,23.2333333 C7.93888889,23.1777778 7.93888889,24.5196615 11.0222222,24.85 L13.8222222,24.85 C15.0666667,24.85 16.2111111,24.2388889 16.9,23.2333333 C17.1222222,23.2722222 17.35,23.2944444 17.5722222,23.2944444 C18.5666667,23.2944444 19.5055556,22.9055556 20.2166667,22.2 L22.1944444,20.2222222 C23.0722222,19.3388889 23.4555556,18.1 23.2277778,16.9055556 C24.2333333,16.2166667 24.8444444,15.0722222 24.8444444,13.8277778 L24.8444444,11.0277778 C24.8444444,9.78333333 24.2333333,8.63888889 23.2277778,7.95 C23.45,6.75 23.0722222,5.51111111 22.1944444,4.63333333 L20.2166667,2.65555556 C19.5111111,1.95 18.5722222,1.55555556 17.5722222,1.55555556 C17.3444444,1.55555556 17.1166667,1.57777778 16.8944444,1.61666667 C16.2055556,0.611111111 15.0611111,0 13.8166667,0 L11.0166667,0 C9.77222222,0 8.62777778,0.611111111 7.93888889,1.61666667 C7.71666667,1.57777778 7.48888889,1.55555556 7.26111111,1.55555556 C6.26666667,1.55555556 5.32777778,1.94444444 4.61666667,2.65555556 L2.63888889,4.63333333 C1.76111111,5.51666667 1.37777778,6.75555556 1.60555556,7.95 C0.611111111,8.63888889 0,9.77777778 0,11.0277778 Z M2.22222222,11.0277778 C2.22222222,10.3555556 2.65555556,9.77222222 3.3,9.57777778 L3.95,9.38333333 C4.11111111,9.33333333 4.23888889,9.21666667 4.30555556,9.06666667 C4.36666667,8.91111111 4.36111111,8.73888889 4.28333333,8.59444444 L3.96111111,7.99444444 C3.65,7.41111111 3.75555556,6.67777778 4.22777778,6.20555556 L6.20555556,4.22777778 C6.49444444,3.93888889 6.87222222,3.78333333 7.27777778,3.78333333 C7.52777778,3.78333333 7.77222222,3.84444444 7.99444444,3.96666667 L8.59444444,4.28333333 C8.67777778,4.32777778 8.76666667,4.35 8.85555556,4.35 C8.92777778,4.35 9,4.33333333 9.06666667,4.30555556 C9.22222222,4.24444444 9.33888889,4.11111111 9.38333333,3.95555556 L9.57777778,3.30555556 C9.77222222,2.66111111 10.3555556,2.22777778 11.0277778,2.22777778 L13.8277778,2.22777778 C14.5,2.22777778 15.0833333,2.66111111 15.2777778,3.30555556 L15.4722222,3.95555556 C15.5222222,4.11666667 15.6388889,4.24444444 15.7888889,4.30555556 C15.8555556,4.33333333 15.9277778,4.35 16,4.35 C16.0888889,4.35 16.1777778,4.32777778 16.2611111,4.28333333 L16.8611111,3.96666667 C17.0833333,3.85 17.3333333,3.78333333 17.5777778,3.78333333 C17.9777778,3.78333333 18.3611111,3.94444444 18.65,4.22777778 L20.6277778,6.20555556 C21.0944444,6.67222222 21.2055556,7.41111111 20.8944444,7.99444444 L20.5722222,8.59444444 C20.4944444,8.73888889 20.4833333,8.91666667 20.55,9.06666667 C20.6111111,9.22222222 20.7444444,9.33888889 20.9,9.38333333 L21.55,9.57777778 C22.1944444,9.77222222 22.6277778,10.3555556 22.6277778,11.0277778 L22.6277778,13.8277778 C22.6277778,14.5 22.1944444,15.0833333 21.55,15.2777778 L20.9,15.4777778 C20.7388889,15.5277778 20.6111111,15.6444444 20.55,15.8 C20.4888889,15.9555556 20.4944444,16.1277778 20.5722222,16.2722222 L20.8944444,16.8666667 C21.2111111,17.4611111 21.1055556,18.1777778 20.6277778,18.6555556 L18.65,20.6333333 C18.3611111,20.9222222 17.9833333,21.0777778 17.5777778,21.0777778 C17.3277778,21.0777778 17.0833333,21.0166667 16.8611111,20.8944444 L16.2611111,20.5722222 C16.1777778,20.5277778 16.0888889,20.5055556 16,20.5055556 C15.9277778,20.5055556 15.8555556,20.5222222 15.7888889,20.55 C15.6333333,20.6111111 15.5166667,20.7444444 15.4666667,20.9 L15.2722222,21.55 C15.0777778,22.1944444 14.4944444,22.6277778 13.8222222,22.6277778 L11.0222222,22.6277778 C10.35,22.6277778 9.76666667,22.1944444 9.57222222,21.55 L9.37777778,20.9 C9.32777778,20.7388889 9.21111111,20.6111111 9.06111111,20.55 C8.99444444,20.5222222 8.92222222,20.5055556 8.85,20.5055556 C8.76111111,20.5055556 8.66666667,20.5277778 8.58888889,20.5722222 L7.98888889,20.8944444 C7.76666667,21.0111111 7.51666667,21.0777778 7.27222222,21.0777778 C6.87222222,21.0777778 6.48888889,20.9166667 6.2,20.6333333 L4.22222222,18.6555556 C3.74444444,18.1777778 3.63888889,17.4611111 3.95555556,16.8666667 L4.27777778,16.2722222 C4.35555556,16.1277778 4.36666667,15.95 4.3,15.8 C4.23888889,15.6444444 4.10555556,15.5277778 3.95,15.4777778 L3.3,15.2777778 C2.65555556,15.0833333 2.22222222,14.5 2.22222222,13.8277778 L2.22222222,11.0277778 Z"></path><path fill="%23f7c995" d="M12.4277778,18.0333333 C15.4944444,18.0333333 17.9888889,15.5388889 17.9888889,12.4722222 C17.9888889,9.40555556 15.4944444,6.91666667 12.4277778,6.91666667 C9.36111111,6.91666667 6.86666667,9.41111111 6.86666667,12.4777778 C6.86666667,15.5444444 9.36111111,18.0333333 12.4277778,18.0333333 Z M12.4277778,9.13888889 C14.2666667,9.13888889 15.7666667,10.6388889 15.7666667,12.4777778 C15.7666667,14.3166667 14.2666667,15.8111111 12.4277778,15.8111111 C10.5888889,15.8111111 9.08888889,14.3111111 9.08888889,12.4722222 C9.08888889,10.6333333 10.5888889,9.13888889 12.4277778,9.13888889 Z"></path></svg>');
	opacity: 0.05;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	position: fixed;
	z-index: -1;  
}

header {
	margin: 0 0 2em;
}

nav {

}

nav ul {
	
}

nav ul li {
	padding: 0;
	border: 0;
}

nav ul li a {
	text-decoration: none;
}

nav ul li a:hover, nav ul li a:focus {
	text-decoration: underline;
}

section {
	margin: 0 0 2em;
	padding: 0 0 2em;
	border-bottom: 2px solid var(--primary-color);
}

section:last-of-type {
	border-bottom: none;
}

section > svg {
	margin: 0 0.5em 0 0;
	float: left;
}

section > p:last-of-type {
	margin: 0;
}

section > h2 + p:first-of-type {
	margin: 0 0 0.5em;
	clear: both;
}

section > h2 + p:only-of-type {
	margin: 0;
	clear: both;
}

section > p + h3, section > p + form {
	padding: 1em 0 0;
}

section > p + ul {
	padding: 1.25em 0 0;
}

section > ul:last-of-type {
	margin: 0;
}

#map {
	margin: 10px 0 15px;
    padding-bottom: 33.3%;
    padding-top: 30px;
    max-width: 40em;
    height: 0;
    position: relative;
    overflow: hidden;
    clear: both;
}

#map > div {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: absolute;
}

#validate a {
	margin: 0.25em 0 0.5em;
	padding: 0.5em;
	border: 1px solid var(--primary-color);
	font-family: museo-slab, Georgia, serif;
	font-size: 1em;
	color: var(--secondary-color);
	text-decoration: none;
	background-color: var(--primary-color);
	box-shadow: 0 1px 3px #333;
	display: inline-block;
}

#validate a:focus, #validate a:hover {
	color: var(--primary-color);
	background-color: var(--secondary-color);
}

#wedding img {
	margin: 10px 0 15px;
	max-width: 40em;
	width: 100%;
}

#picnic ul:last-of-type {
	margin: 0 0 1.5em;
}

#picnic ul li {
	margin: 0 0 0.5em 1.125em;
	padding: 0;
	border-left: none;
	list-style-type: square;
	list-style-position: outside;
}

#lodging h3, #activities h3 {
	margin: 0 0 0.75em;
}

#login p {
	margin: 0 0 1.5em;
}

#login form {
	margin: 0 0 1em;
	padding: 0;
}

#login form input[type="password"] {
	margin: 0.25em 0 1em;
	width: 17em;
}

footer {
	
}


@media screen and (min-width: 40em) {

}

@media screen and (min-width: 48em) {

}

@media screen and (min-width: 64em) {

}

@media screen and (min-width: 80em) {

}