*{box-sizing: border-box;text-rendering: geometricPrecision;}
a{
	color:#252527;
}
a:hover {
	color:#ed0b0e;
	cursor:pointer;
}
a img {
	width:32px;
	height:32px;
	position: relative;
	margin-right:2rem;
	top: 1rem;
}
.bg {
  height:100%;
  display:block;
  opacity:1;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
	-webkit-transition: background 1.5s linear;
	-moz-transition: background 1.5s linear;
	-o-transition: background 1.5s linear;
	-ms-transition: background 1.5s linear;
	transition: background 1.5s linear;
}
body{
	height:100vh;
	width:100%;
	overflow-x:hidden;
	overflow-y:auto;
	margin:0;
	font-size:3rem;
	background-color:#252527;
}
button {
	border:1px solid #410a14;
	background-color:#410a14;
	color:white;
	margin:0.5rem;
	padding:1rem 2rem;
	font-size:2rem;
	transition: all .2s linear;
}

button:hover {
	border:1px solid #ed0b0e;
	background-color:#ed0b0e;
	color:white;
	cursor:pointer;
}
.colSpan2{
	grid-column-end: span 2;
}
.contactLinkWrap {
	margin: 2rem;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
}
.container{
	width:100%;
	max-width:1080px;
    padding: 1rem;
    background-color: rgba(255,255,255,0.8);
	border:1px double #bbb8b5;
}
.containerWrap{
	display:flex;flex-wrap:wrap;padding:10rem 2rem;
}
.content{
	background:white;
	margin: 0;
	padding: 4rem 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

#emailLink.compact {
	position:fixed;left: 100%;
	top: calc(60% + 6.5rem);
	z-index: 50;
	background-color: #410a14;
	transform: translateX(-8.5rem);
}
.error{border-color:#ed0b0e !important;color:#ed0b0e !important;}
.fade{
    -webkit-animation: fade 2s ; /* Chrome, Safari, Opera */
    animation: fade 2s ;
}
.footer{
	display:flex;
	justify-content:space-around;
	align-items:flex-end;
	width:100%;
	font-family:'Montserrat';
	font-size:2rem;
	flex-wrap:wrap;
	background-color:#252527;
}
.footer .links a {
	font-size: 1.6rem;
	color:white;
    text-decoration-line: none;
    text-transform: uppercase;margin: 0 1rem;
}
.footer .links a:hover { color:#ed0b0e;}
.footer > div {
	width:100%;
	text-align:center;
	padding:1rem 2rem;
	color:white;
}
.footer p {
	max-width:900px;
	text-align:center;
	font-size:1.8rem;
	margin:0;
}
#galleryWrap {
	display:grid;	
	grid-template-columns: repeat(auto-fill, minmax(15rem,1fr));
}
h1 {
	color:#8b7778;
	font-size:4rem;
	font-family:Racing Sans One;
	width:100%;
	text-align:left;
	color:black;
	text-transform: uppercase;
}
h2 {
	color: #410a14;
	font-size: 3.5rem;
	font-family: 'Kanit';
	text-align: center;
	border-bottom: 1px solid #bbb8b5;
	margin: 0 3rem;
	text-shadow: 1px 1px #bbb8b5;
}
h3 {66
	color:white;
	margin:0;
	padding:0.5rem;
	font-size:2.3rem;
	position:relative;
	overflow-x:hidden;
	overflow-y:hidden;
	font-family:"Noto Serif";
}
h3 a:after {
	content: '';
    width: 102%;
    height: 101%;
    position: absolute;
    top: 0;
    z-index: -1;
    background-color: #b47b5c;
    -webkit-transition: 250ms;
    transition: 250ms;
    -webkit-transform: translateX(0);
    transform: translateX(0);
    will-change: transform;
}
h3 a.right:after {
    right: -102%;
}

h3 a.left:after {
    left: -102%;
}
h3 a:hover{
	color:white;
}
h3 a.right:hover:after{
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
}
h3 a.left:hover:after{
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
}
h4 {
	font-family:Caveat;	
	text-transform: uppercase;
}
#hammer{display:none;cursor:pointer;
    -webkit-transition: 1s;
    transition: 1s;}
#hammer:hover{transform: rotate(75deg)}
#hammer.open{
	display:block;
	transform: rotate(-46deg);
	-webkit-transition: 0.05s;
    transition: 0.05s;
}


.header {
	top:0;
	position:fixed;
	width:100%;
	height:10rem;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
	background-color:rgba(255,255,255,0.95);
	z-index:100;
	padding:2rem;
}
.header img {
	padding:1rem;
}
.header a {
	font-size:2rem;
	text-decoration-line: none;
	text-transform: uppercase;
	margin:0 1rem;
}
html{
	font-size:62.5%;
	background-color:white;
	color:#252527;
}
#imagePreview{
	width:100%;
	height:calc(100% - 10rem);
	background-size:cover;
	background-position: center;
	overflow:auto;
}
input, textarea{
	background-color:rgba(0,0,0,0);
	border:0.15rem solid #6d625c;
	min-width:20rem;
	margin:1rem;
	padding:1rem;
	color:#252527;
	font-size:2rem;
	font-family:inherit;
	flex:1;	
}
#main{
	position:relative;
	padding-top:12rem;
}
#myPic {
	min-width:40rem;
	min-height:30rem;
	border:1rem solid white;
	position:absolute;
	right:-2rem;
}
#navMenu {
	transform:translateY(-100%);
	position:absolute;
	top:0;
	right:0;
    -webkit-transition: 0.05s;
    transition: 0.05s;
	padding:2rem;
	background-color:#4b3236;
	z-index:98;
	min-width:12rem;
	width:16rem;
}
#navMenu * {
	font-size:2.5rem;
}

#navMenu.show{
	transform:translateY(5rem);
	position:fixed;
}
#numberEmail{
	text-align:right;display:flex;
}
p {
	padding:1.5rem;
	font-family:'Montserrat';
}
.parallax {
  background-attachment: fixed;
}
#phoneLink, #emailLink{
	text-decoration-line:none;
	transition:1s all;
}
#phoneLink.compact {
	position:fixed;left: 100%;
	top: 60%;
	z-index: 50;
	background-color: #410a14;
	transform: translateX(-8.5rem);
}
#phoneLink.compact img, #emailLink.compact img
{
	width:24px;height:24px;
}
#phoneLink:hover, #emailLink:hover{
	text-decoration-line:underline;
	background-color:#ed0b0e;
}

p {
	font-family:Heebo;
}
.popup {
	opacity:0;
	position:absolute;
	height:0;
	width:0;
	z-index:96;
}
.popup.show{
	opacity:1;
	height:100vh;
	width:100%;
	position:fixed;
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin:auto auto;
}
#popupBackground {
	background-color: #000;
	display: none;
	opacity: 0.8;
	position: fixed;
	z-index: 95;
	top: 0px;
	left: 0px;
	right: 0px;
	bottom: 0px;
	width: 100%;
	height: 100%;
}
.quotes {
    color: #252527;
	font-size:2rem;	
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	margin:auto auto;
	padding:3rem 0;
	
}
.quotes-container{
	position: relative;
	max-width:1080px;	
    width: 100%;
}
.quote {
	position:absolute;
	opacity:0;	
	max-width: inherit;
	font-family:'Give You Glory';
	font-size:2.5rem;
}
.quote p {
	font-family:'Marck Script';
	font-size:inherit;
}
.quote.show{
	opacity:1;
	position: relative;
	z-index: 50;
    -webkit-transition:opacity 2s;
    transition:opacity 2s;
}
.quote p {
	margin:2rem;
	max-width:inherit;
	line-height:3rem;
}
.rowSpan2{
	grid-row-end: span 2;
}
.section{
	margin:2rem;
	background-color:rgba(255,255,255,0);
	flex:1;
	padding:1rem;
	font-size:2rem;
	border:1px solid #bbb8b5;
}
.section span{
	font-weight:bold;
}
.sectionWrap{
	margin:6rem 2rem;
	flex:1;
	background-color:rgba(255,255,255,0.9);
	padding:1rem;
	box-shadow:0 15px 20px #222;
}
.services{
	position:absolute;
	bottom:20vh;
}
.spacer {
	width:100% !important;
	height:0px !important;
	margin:0 !important;
	padding:0 !important;
}
.subtitle {
	width:100%;
	grid-column:1 / s;
}
.thumbnail{
	border:0.1rem solid white;
	min-height:15rem;
	background-size:cover;
	transition: all .2s linear;
	background-position: center;
	filter: grayscale(45%);
}
.thumbnail:hover {
	border:0.1rem solid #ed0b0e;
	cursor:pointer;
	filter: grayscale(0);
	transform: scale(1.05);
	z-index:20;
}

.title{
	font-family:'Fredericka the Great';
	flex:2;
	display:flex;
	flex-direction:column;
	position: relative;
	top: -1rem;
}
.title h1 {
	margin:0;
	border-color:#ed0b0e;
	border-left:0 none;
	border-right:0 none;
	line-height:3rem;
}
.title h4{
	margin:0;
	line-height: 1.8rem;
	font-size: 2rem;
}
.thankWrap {
	background-color:#410a14;
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	padding:3rem;
}
.thankWrap a {    
	color: white;
    border: 1px solid white;
    padding: 1rem 1rem 2rem 1rem;
    margin: 1rem 3rem;
    white-space: nowrap;
    display: inline-block;
}
@media (max-width: 500px) {
	.content{
		padding:0.5rem 0;
	}
	.container{
		width:100%;
	}
	.containerWrap{
		padding:3rem 2rem;
	}
	.footer{	
		justify-content:space-between;
		flex-wrap:wrap;
	}
	h2 {
		font-size:3.5rem;
		line-height: 3.5rem;
	}
	.header a {
		font-size:1.4rem;
		margin:0 0.5rem;
	}
	.footer > div{
		width:100%;
	}
	#myPic{
		width: calc(100% - 4rem);
		height: initial;
		min-height: 24rem;
		min-width: calc(100% - 4rem);
		border: 1rem solid white;
		right:-1rem;
	}
	.popup.show{
		opacity:1;
		height:calc(100% - 10rem);
		width:100%;
		position:fixed;
		top:0;
		bottom:0;
		left:0;
		right:0;
		margin:auto auto;
	}
	.quote {
		font-size:2rem;
	}
	#second {
		margin-top:18rem;
	}
	.section {
		min-width:inherit;
		flex:initial;
		margin:1rem;
		padding:0.5rem;
	}
	.sectionWrap{
		margin:9rem 0rem;
		flex:1;
		padding:0.5rem;
	}
}
/* Chrome, Safari, Opera */
  @-webkit-keyframes fade {
    from {opacity: 0.2;}
    to {opacity: 1;}
  }

  /* Standard syntax */
  @keyframes fade {
    from {opacity: 0.2;}
    to {opacity: 1;}
  }