:root {
	/*--peach:#ff9273;*/
	--peach:#e4618b;
	--pink:#e4618b;
	--lpink:#f9edf1;
}

.group:after {
  content: "";
  display: table;
  clear: both;
}

* {
    padding:0;
    margin:0;
    box-sizing: border-box;
	font-family:inherit;
	color:inherit;
}

html {
	scroll-behavior: smooth;
}

img {
	vertical-align:middle;
	max-width:100%;
	height:auto;
	background-repeat: no-repeat;
	background-size:cover;
	font-style: italic;
	shape-margin:2em;
}

.wrap {
  position:relative;
  width:1220px;
  padding:0 10px;
  max-width:100%;
  margin:0 auto;
  clear:both;
}

#burger,
#mobnav {
  display:none;
}

body {
    font-size:62.5%;
    background-color:#f6f6f6;
    color:#858585;
    font-family: 'Montserrat', sans-serif;
    font-weight:300;
}

header {
	float:left;
	clear:left;
    width:100%;
    padding:2em 4em;
}

	#logo {
	    	width:100px;
	    	float:left;
	    }
	  
			#logo img {
				width:100%;
			}

    nav {
		float:right;
		margin-top:1.5em;
    }
  
		nav ul {
			float:left;
			list-style: none;
		}

			nav ul li {
				float:left;
			}

				nav ul li a {
					position: relative;
					z-index: 5;
					float:left;
					font-size:1.6em;
					text-decoration: none;
					padding:0.9em 1.2em;
					color:#666;
				}

					nav ul li a:hover,
					.active {
						color:var(--peach);
					}

				.subnav {
					display:none;
					z-index: 4;
					padding-top: 5em;
					position: absolute;
				}

				.subnav:hover ~ a {
					background-color:#fff;
				}

					.subnav li {
						float:left;
						clear:left;
						width:100%;
					}

						.subnav li a {
							background-color:#fff;
							width:100%;
							border-bottom:1px solid #ddd;
							font-size:1.8em;
						}

						.subnav li:last-of-type a {
							border-radius: 0 0 0.25em 0.25em;
						}

				nav ul li:hover .subnav {
					display:block;
				}

				.social {
					margin-left:2em;
				}

				.social a {
					float:left;
					border:1.5px solid #666;
					border-radius:10em;
					padding:0.1em;
					margin:0.4em;
					margin-left:0.1em;
					transition: all 0.4s ease-in-out;
				}

					.social a img {
						width:30px;
					}

					.social a:hover {
						border:1.5px solid var(--peach);
						background-color:rgba(255,255,255,0.3);
					}

					.social a:last-of-type {
						margin-right:0;
					}

.flex {
  display:-webkit-flex;
  display:flex;
  -webkit-flex-direction:row;
  flex-direction:row;
  -webkit-flex-wrap:wrap;
  flex-wrap:wrap;
}

.fcw {
  float:left;
  clear:left;
  width:100%;
}

h1,h2,h3,h4,h5,h6 {
	margin-bottom:1em;
	font-family: 'Playfair Display', serif;
	font-weight:900;
	color:#292929;
	clear: left;
}

h1 {
	font-size:8em;
}

h2 {
	font-size:4.5em;
}

h3 {
	font-size:3em;
}

h4 {
	font-size:2em;
}

h5 {
	font-size:1.6em;
}

.pink {
	color:var(--pink);
}

.main table {
	margin-bottom:2rem;
	max-width:100%;
	border-collapse: collapse;
}

.main p,
.main li,
.main td{
	font-size:1.2rem;
	line-height:1.6;
	margin-bottom:1em;
}

.main td {
	font-weight:unset;
	padding:0.5rem;
	border:1px solid #ddd;
}

	.main td strong {
		font-weight:Bold;
	}

.main p strong {
	font-weight:bold;
}

	.main p a {
		color:var(--peach);
	}

.main ul,
.main ol {
	margin:2em;
}

  .main li {
    padding-left:1em;
  }

.main blockquote {
	background-color:#f6f6f6;
	color:#000;
	padding:3em;
	font-size:1.6em;
	font-weight:300;
	border-left:10px solid var(--peach);
}

	.main blockquote p:last-of-type {
		font-weight:bold;
		font-size:1.4em;
		color:var(--peach);
	}

.align_left {
  float:left;
}

.align_right {
  float:right;
}

.align_center {
  text-align: center;
}

img.align_left {
  margin:0.5em 1em 1em 0;
}

img.align_right {
  margin:0.5em 0 1em 1em;
}

img.align_center {
  display:block;
  margin-left:auto;
  margin-right:auto;
}

input,
textarea,
label,
option,
select,
hr{
	float:left;
	clear:left;
	width:100%;
	margin-bottom:1em;
}

label {
	font-size:1.6em;
	margin-bottom:0.5em;
}

input,
textarea,
select {
	background-color:#f1f4f4;
	border:1px solid #dee1e1;
	border-radius:0.2em;
	padding:1em;
	font-size:1.4em;
}

select {
	border:1px solid #aaa;
}

.robot input {
	float:left;
	width:12px;
	margin-right:1em;
}

input[type="submit"] {
	float:left;
	clear:left;
	text-decoration: none;
	cursor: pointer;
	border:none;
	outline:none;
}

.errortext {
	color:red;
	font-weight:bold;
}

.inputerror {
	border:2px solid red;
}

.left {
	float:left;
}

.right {
	float:right;
}

.peach-btn,
.white-btn {
	display:inline-block;
	background-color:var(--peach);
	color:#fff;
	font-size:1.7em;
	font-weight:300;
	text-transform: capitalize;
	padding:1em 3em;
	border-radius:0.25em;
	text-decoration: none;
	transition:all 0.4s ease-in-out;
}

	.peach-btn:hover {
		background-color:#fff;
		color:var(--peach);
	}

.white-btn {
	background-color:#fff;
	color:var(--peach);
	box-shadow: 1px 1px 8px rgba(0,0,0,0.1);
}

	.white-btn:hover {
		background-color:var(--peach);
		color:#fff;
	}

.blocks {
	padding:5vw;
}

	.block {
		display:Grid;
		grid-template-columns: 1fr 1.5fr;
		grid-gap:5vw;
	}

		.block:last-of-type{
			margin-bottom:0;
		}

			.block .left img {
				width:100%;
				border-radius:5px;
				box-shadow:0 5px 15px rgba(0,0,0,0.1);
			}

		.block .right h1 {
		 	margin-bottom:0.25em;
		 	line-height: 1.1;
		}

		.block .right h2 {
			margin-bottom:0.5em;
		}

		.double img:first-of-type{
			width:90%;
			position: relative;
			z-index:1;
		}

		.double img:last-of-type{
			width:50%;
			float:right;
			margin-top:-15%;
			position: relative;
			z-index:2;
		}


input,
textarea {
	border:1px solid #aaa;
	background:none;
	padding:1em;
}

.request {
	display:none;
	position:fixed;
	left:0;
	top:0;
	width:100%;
	height:100%;
	text-align: center;
	background-color:rgba(0,0,0,0.7);
}

	.request .inner {
		width:600px;
		max-width:90%;
		position: absolute;
		top:50%;
		left:50%;
		transform: translate(-50%, -50%);
		border-radius:0.5em;
	}

		.request h2 {
			background-color:var(--peach);
			color:#fff;
			font-size:2em;
			padding:0.5em;
			margin:0;
			border-radius: 0.5em 0.5em 0 0;
		}

		.request .text {
			padding:3em;
			background-color:#fff;
			border-radius: 0 0 1em 1em;
		}

		.request input[type="submit"]{
			margin-bottom:0;
		}

		.close {
			position: absolute;
			right:-1em;
			top:-1em;
			background-color:var(--peach);
			border:1px solid #fff;
			color:#fff;
			font-size:1.4em;
			padding:1em;
			line-height:1em;
			text-decoration: none;
			border-radius:10em;
			width:3em;
			transition: all 0.5s ease-in-out;
		}

			.close:hover {
				background-color:#fff;
				color:#666;
			}

.wedding-fields {
	float:left;
	clear:left;
	width:100%;
	padding:2rem;
	background-color:#e5608b22;
	margin-bottom:1em;
	}
	
	.wedding-fields input,
	.wedding-fields textarea {
		background-color:#fff;
	}
	
	.two-col {
		display:grid;
		grid-template-columns: 1fr 1fr;
		grid-gap:1em;
				}
  
footer {
	float:left;
	clear:both;
	width:100%;
	border-top:1.5px solid #ddd;
	border-bottom:1.5px solid #ddd;
	padding:5%;
}

	.columns {
		display:grid;
		grid-template-columns: repeat(4,1fr);
		grid-gap:8em;
	}

		#flogo {
			width:75%;
		}

		.flinks a {
			float:left;
			clear:left;
			width:100%;
			color:var(--peach);
			text-decoration: none;
			font-size:1.6em;
			margin-bottom:1em;
		}

	footer .about p {
		font-size:1.6em;
		line-height: 1.6;
		margin-bottom: 1em;
	}

	.copyright {
		padding:2em 5%;
		text-align: center;
	}

	input[type="submit"]{
		
	}
  
@media screen and (max-width:959px) {

	header {
		padding:2em;
	}
  
  #mainnav {
    display:none;
  }
  
  #burger {
  	float:right;
  	margin-top:3.5em;
    width:32px;
	display:block;
  }

  #mobnav,
  #mobnav li,
  #mobnav li a {
  	float:left;
  	clear:left;
  	width:100%;
  	position: relative;
  }

  	#mobnav li a {
  		font-size:1.4em;
  		text-decoration: none;
  		padding:1em 0;
  		border-bottom:1px solid #eee;
  		text-align: center;
  	}

  	#mobnav .subnav {
  		padding-top:0;
  		position:static;
  		display:none;
  		float:left;
  		clear:left;
  		width:100%;
  	}
        
		#mobnav li a.tri {
          position:absolute;
          float:none;
          clear:none;
          right:0.5rem;
          top: 0;
		  width:3em;
		  height:3.1em;
          border:none;
		  padding:0.4em;
        }
		
			.tri img {
				position:relative;
				display:block;
				top:50%;
				transform: translateY(-50%);
			}

	.columns {
		grid-template-columns: repeat(3,1fr);
	}
}

@media screen and (max-width:599px) {
	#flogo {
		width:200px;
		float:none;
		display:block;
		margin:0 auto 7.5%;
	}

	.columns {
		display: block;
		text-align: center;
	}
}