html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}table{border-collapse:collapse;border-spacing:0}
a{outline:0;text-decoration:none;color:#000}
body,html{
	margin:0;
	padding:0;
	font-family:'EB Garamond',serif;
	font-size: 16px;
	line-height: 1.5em;
	letter-spacing: 1px;
}

div#main {
	width: 100%;
}

header img.title {
	width: 65%;
	max-width: 760px;
	min-width: 320px;
	display: flex;
	margin: 3em auto;
	padding-top: 1em;
}

header img.divider {
	width: 100px;
	display: flex;
	margin: 0 auto;
	min-width: 220px;
	max-width: 500px;
	background-color: #fff;
	border-bottom: 2px solid #eee;
	position: relative;
	z-index: 5;
	border-radius: 100%;
}

nav {
	position: relative;
	left: 5%;
	width: 90%;
	display: flex;
	padding-top: .25em;
	padding-bottom: 2em;
}

nav a {
	display: inline-block;
	flex-grow: 1;
	font-size: 1em;
	text-align: center;
	padding-top: 1em;
	padding-bottom: 1em;
	text-transform: uppercase;
	letter-spacing: .1em;
	position: relative;
}

nav a:hover {
	text-decoration: underline;
	font-weight: bold;
	position: relative;
}

nav a img {
	width: 23%;
	position: absolute;
	left:0;
	top:0;
	display: none;
}

nav span {
	position: relative;
	z-index: 2;
}

img.std {
	width: 80%;
	max-width: 800px;
	min-width: 340px;
	margin: 0 auto;
	display: flex;
}

#content { 
	min-height: 1200px;
	background-color: #f9f9f9;
	background: linear-gradient(180deg, rgba(240,240,240,1) 0%, rgba(255,255,255,1) 4%, rgba(255,255,255,1) 100%);
	border-top: 2px solid #eee;
	position: relative;
	margin: 0 auto;
}

section {
	display: none;
	position: relative;
	top: 0;
	transform: translate3d(0,0,0);
	transition: opacity 512ms;
	opacity: 0;
	width: 75%;
	margin: 5em auto;
}

h3 {
	font-size: .75em;
    text-transform: uppercase;
    letter-spacing: .64em;
    font-family: sans-serif;
}

h2 {
	font-size: 1.8em;
	line-height: 1.4em;
}

section h3 {
	margin: 0 auto 2em;
	font-size: .7em;
    text-transform: uppercase;
    letter-spacing: .64em;
    font-family: sans-serif;
    /* border: 1px solid black; */
	display: inline-block;
   /* padding: .6em 1.5em;
    box-shadow: 0 2px 16px #ccc;*/
}

p {
	margin: .5em 0;
	font-size: 1.2em;
	line-height: 1.8em;
	letter-spacing: 1px;
}

strong {
	font-weight: bold;
}

i {
	font-style: italic;
}

section a {
	text-decoration: underline;
}

span.separator {
	display: inline-block;
	padding: 0 .64em;
}

ul.images {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	position: relative;
	margin: 2em 0;
}

ul.images li {
	display: flex;
	flex-grow: 1;
	height: 20em;
	max-width: 100%;
}

ul.images li img {
	max-height: 100%;
  	min-width: 100%;
  	object-fit: cover;
	vertical-align: bottom;
	border: 1px solid #fff;  
}

#home {
	text-align: center;
}

#home h2 {
	width: 100%;
	text-align: center;
	font-size: 2em;
}

a.rsvp, button {
	text-decoration: none;
	margin: 2em auto 3em;
	font-size: .9em;
    text-transform: uppercase;
    letter-spacing: .64em;
    font-family: sans-serif;
    border: 2px solid black; 
    display: inline-block;
	padding: .9em 3em;
	background-color: #fff;
}

input[type="checkbox"],
input[type="radio"] {
	margin-right: 1em;
	color: #000;
	zoom: 125%;
	position: absolute;
}

label {
	position: relative;
	top: -3px;
	display: inline-block;
	padding-left: 38px;
}

input[type="text"], textarea {
	padding: .8em;
	display: block;
	font-size: 1.2em;
	font-family:'EB Garamond',serif;
	width: 90%;
	margin: .5em 0;
	border-radius: .2em;
	outline: 0;
	border: 1px solid #000;
}

input.error {
	border: 1px solid #cc1111;
	
}

#formfail {
	color: #660000;
	display: none;
	font-size: 1.5em;
}
#formsuccess {
	display: none;
	font-size: 1.5em;
}
.submitting {
	opacity: .5;
}

@media only screen and (min-device-width : 320px) and (max-device-width : 480px) {

nav a {
	font-size: .63em;
    letter-spacing: 0.05em;
}

}