 @charset "utf-8";

/* Fonts */
@import url(https://fonts.googleapis.com/css?family=Merriweather:400,300,300italic,400italic,700,700italic);

/* Globals */

* { box-sizing: border-box; margin: 0; }
.c { clear: both; }
h1, h2 { font-weight: 400; color: #7f0000;}
a { color: inherit; text-decoration: none; }
p { margin: 15px 0;}


/* Main layout */

body {
	font-family: 'Merriweather', serif;
	background: url('../assets/bg.png') #ffffff top left;
    background-repeat: repeat;
    margin: 0;
    padding: 0;
}

header { 
	width: 100%;
	background: #fff;
	display: inline-block;
}

header div {
	float: left;
	width: 33%;
	text-align: center;
	margin: 10px auto;
}

.social ul {

}
.social ul li {
	display: inline-block;
	background-image: url(../assets/social.png);
	height: 32px;
	width: 32px;
	margin: 50px 10px;
}

.social ul li.instagram {
	background-position: 0px -64px;
}

.social ul li.twitter {
	background-position: 0px -32px;
}

.social ul li:hover {
	opacity: .8;
}

.social ul li a {
	display: block;
	height: 32px;
	width: 32px;
}



.logo img {
	width: 300px;
}

.contact-info {
	color: #284296;
	font-size: 20px;
	margin-top: 30px;
}

.contact-info p span {
	font-size: 32px;

}

nav {
	clear: both;
	width: 100%;	
	height: 90px;
    display: inline-block;
    z-index: 2;
}

nav .main-nav {
	width: 1000px;
	max-width: 100%;
	margin: auto;
	padding-left: 0;

	-ms-display: flex;
   	-ms-justify-content: space-around;
   	-ms-align-items: center;

   	-webkit-display: flex;
   	-webkit-justify-content: space-around;
   	-webkit-align-items: center;

   	display: flex;
   	justify-content: space-around;
   	align-items: center;
}

.flex {
	-ms-display: flex!important;
   	-ms-justify-content: space-around;
   	-ms-align-items: center;

   	-webkit-display: flex!important;
   	-webkit-justify-content: space-around;
   	-webkit-align-items: center;

   	display: flex!important;
   	justify-content: space-around;
   	align-items: center;
}

nav .main-nav li {
	color: #fff;
	list-style-type: none;
	font-style: italic;
	font-size: 20px;
	line-height: 10px;
}

nav .main-nav li:nth-child(2) {
	margin-left: 50px;
}

nav .main-nav li a:hover {
	text-shadow: 1px 1px rgba(0,0,0,0.5);
}

nav img.navlogo {
	height: 60px;
    margin-top: 13px;
}

nav img.menu {
	display: none;
	position: absolute;
	right: 20px;
	top: 17px;
	float: right;
	cursor: pointer;
}

nav img.mobilenavlogo {
	display: none;
	margin: 5px auto;
	height: 50px;

}

.banner-image {
	width: 100%;
	margin-top: -100px;
    position: relative;
    z-index: -1;
}

#banner {
	width: 100%;
	max-width: 100%;
}

.callout {
	width: 240px;
    text-align: center;
    font-size: 12px;
    background: rgba(255,255,255,.9);
    box-shadow: 2px 1px 1px rgba(0,0,0,.5);
    padding: 8px 10px 4px 10px;
    position: absolute;
    right: 100px;
    top: 100px;
    transition-property: right, bottom;
    transition-duration: 1s;
  	transition-timing-function: linear;
  	display: none;
}


.callout img.houzzbadge {
	height: 25px;
	width: 86px;
	margin: 5px auto 0 auto;
}

.content {
	width: 1000px;
	max-width: 100%;
	margin: -5px auto 0 auto;
	border: 1px solid #d9dced;
	box-shadow: 1px 1px 1px rgba(0,0,0,.3);
	background-color: #f5f5f5;
	padding: 30px 40px 30px 40px;
}

.main-content {
	width: 66%;
	float: left;
	margin-right: 4%;
}

.main-content.home {
	margin-right: 2%;
	width: 64%;
}

.main-content h1 {
	text-align: center;
	font-weight: bold;
}

.main-content h1 span {
	font-size: 22px;
	font-weight: 400;
}

.main-content h2 {
	margin-top: 30px;
}

.main-content p {
	line-height: 1.6em;
	margin: 20px 0;
}

.main-content.contact p {
	text-align: center;
}

.main-content a {
    color: #2064ad;
}

.main-content img {
	margin: 20px auto;
	max-width: 100%;
}

.main-content img {
	display: block;
}

.main-content ul {
	line-height: 1.8em;
	margin: .5em auto;
}

.main-content.comm ul.services {
	margin-top: -10px; 
	margin-bottom: 20px;
}

.main-content .first {
	margin-top: 35px;
}

.main-content blockquote {
	margin: 20px 10px 0 10px;
    font-weight: bold;
    font-size: 22px;
    line-height: 28px;
    font-style: italic;
    color: #7f0000;
}

.main-content cite {
	display: block;
    text-align: left;
    font-size: 16px;
    line-height: 17px;
    color: #888;
    margin-top: 10px;
    margin: 10px 0 0 10px;
}

.main-content.home h2 {
	margin-top: 0;
	color: #000;
	text-align: center;
}

.main-content.home .client-logo {
	margin: 20px auto 10px auto;
}
.main-content .owner {
	float: right;
	margin: 15px;
}

.main-content #nextTestimonial {
	cursor: pointer;
	font-size: 14px;
    text-transform: uppercase;
    color: #7f0000;
    font-weight: bold;
    float: right;
    margin: 0 30px 0 0;
}

.main-content #nextTestimonial img {
	width: 11px;
	margin: 0;
	display: inline;
	vertical-align: baseline;
}

.sidebar-content {
	width: 30%;
	float: left;
	text-align: center;
    padding-left: 30px;
}

.sidebar-content.home {
	padding-left: 0;
	width: 34%;
}

.sidebar-content h2 {
	font-size: 21px;
}

.sidebar-content .sb-section {
	margin: 30px auto;
}

.sidebar-content .sb-section.first-sb {
	margin: 0 auto 30px auto;
}

.sidebar-content .sb-section iframe {
	display: block;
	margin: 10px auto;
	max-width: 100%;
	margin-left: 25px;
}

.sidebar-content figcaption {
	text-align: center;
	color: #9f0000;
	font-style: italic;
}

.sidebar-content p {
	text-align: left;
}

.sidebar-content p.centered {
	text-align: center;
}

.sidebar-content img {
	margin: 5px auto;
	display: block;
	max-width: 100%;
}

.sidebar-content img.houzz {
	margin: 5px;
	display: inline;
}

.sidebar-content a {
    color: #2064ad;
    margin-bottom: 20px;
}

footer {
	clear: both;
	background-color: #3e3e3e;
	color: #fff;
	padding: 7px;
	text-align: center;
	font-size: 14px;
}


/* Single column page layout */
.main-content.single-column {
	width: 100%;
	float: none;
	margin-right: none;
}

.main-content.single-column strong {
	text-align: center;
	display: block;
}

.main-content.single-column img.client-logo {
	display: block;
	margin: 20px auto;
}

.main-content.single-column .rmhc img.client-logo {
	width: 120px;
}

.res {
	margin: 40px auto;
}

.res .gallery { 
	clear: both;
	margin-top: 40px;
}

.gallery img {
    max-width: 45%;
    width: 45%;
    margin: 10px 2.2%;
    display: inline-block;
    background: url(../assets/loader.gif) center center no-repeat;
    background-size: 16px 16px;
}

.gallery.modern img {
	width: 49%;
	max-width: 49%;
	margin: 10px 0; 
}

.res-callout { 
	text-align: center;
	width: 400px;
	max-width: 100%;
	background-color: #7f0000;
	color: #fff;
	padding: 5px 10px;
	margin: 10px; 
	float: right;
}

.nonres-callout { 
	text-align: center;
	width: 100%;
	max-width: 100%;
	background-color: #7f0000;
	color: #fff;
	padding: 5px 10px;
	margin: 15px auto;
	display: block; 
}

.main-content .res-callout a,
.main-content .nonres-callout a {
    color: #fff;
    text-decoration: underline;
    font-style: italic;
    margin-top: 5px;
    display: block;
}

.services {
	float: left;
	margin-bottom: 40px;
}


.services li {
	float: left;
	width: 50%;
}

/* Contact page */

.contactform {
	margin: 35px auto;
	display: block;
	width: 100%;
}

.contactform form {
	display: block;
	margin: 0 auto;
	width: 400px;
	max-width: 100%;
}

.contactform label {
	line-height: 18px;
	font-size: 18px;
}

.contactform input, .contactform textarea {
	margin: 5px auto 15px auto;
    line-height: 22px;
    font-size: 18px;
    width: 400px;
    max-width: 100%;
    font-family: 'Merriweather', serif;
}

.contactform input[type="submit"] {
	width: 130px;
	display: block;	
	margin: 5px auto;
	padding-top: 6px;	
	background: none;
    border: 1px solid #aaa;
    box-shadow: 0px 1px 1px rgba(0,0,0,.5);
}

.contactform textarea {
	margin-bottom: 0;
}

.main-content .contactform p.required {
	margin-top: 0;
}

.contactform span {
	font-size: 14px;
	vertical-align: super;
	color: #2064ad;
}

.g-recaptcha div div {
    display: block;
    margin: -10px auto 10px auto;
}

.captchaerror {
	border: 1px solid #d9dced;
    box-shadow: 1px 1px 1px rgba(0,0,0,.3);
    background-color: #f5f5f5;
    padding: 10px;
    text-align: center;
    font-size: 18px;
    width: 400px;
    max-width: 100%;
    display: block;
    margin: 20px auto;
}

.captchaerror a {
	color: blue;
	text-decoration: underline;
}

/* External styles from porch.com */
.porch-pro-badge-my-work {
  cursor: pointer;
  width: 300px;
  height: 78px;
  clear: both;
  border: 1px solid #dddfe5;
  background-color: #fff;
  box-sizing: content-box;
  display: block;
  margin: 10px auto;
  margin-left: 25px;
}
.porch-pro-badge-my-work * {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none;
  text-shadow: none;
  text-transform: initial;
  border: none;
  box-sizing: content-box;
  text-align: center;
}
.porch-pro-badge-my-work .porch-logo-link {
  display: inline-block;
  width: 78px;
  height: 78px;
  float: left;
}
.porch-pro-badge-my-work .porch-logo-link img {
  display: inline-block;
  width: 78px;
  height: 78px;
}
.porch-pro-badge-my-work .badge-body {
  display: inline-block;
  border-left: 1px solid #dddfe5;
  width: 198px;
  height: 78px;
  float: left;
}
.porch-pro-badge-my-work .my-work-link {
  display: block;
  font-size: 14px;
  font-weight: 400;
  color: #F0A445;
  letter-spacing: .3px;
  line-height: 100%;
  padding: 17px 0 7px 8px !important;
}
.porch-pro-badge-my-work .top-pro-link {
  display: block;
  font-size: 12px;
  letter-spacing: .3px;
  line-height: 100%;
  font-weight: 200;
  padding: 6px 0 10px 10px;
  color: #949AA1;
}

.modern .lb-image {
	width: 900px !important;
	height: auto !important;
}

.modern .lb-outerContainer {
	width: auto;
	height: auto;
}

.mb-magazine {
    text-align: center;
    font-weight: normal;
    display: block;
    margin: 20px 0 10px 40px;
    padding: 10px;
}

.mb-magazine a {
	color: #9f0000;
}

.mb-magazine img {
	margin-top: 20px;
}

/* Responsive - main layout */

@media screen and (max-width: 900px) {
	header div { width: 100%; float: none; }
	header div.social { display: none; }
	.logo img { width: 250px; }
	.contact-info { margin-top: 0px; font-size: 18px; }
	.contact-info p span { font-size: 28px; }

	nav .main-nav li { font-size: 16px;}
	nav .main-nav li:nth-child(2) { margin-left: 10px; }

	.sidebar-content .sb-section iframe, .porch-pro-badge-my-work { margin: 10px auto; }
	.main-content, .main-content.home { float: none; width: 100%; margin-right: 0; }
	.sidebar-content, .sidebar-content.home { float: none; width: 100%; border-left: none; padding-left: 0; margin-top: 50px; }
	.services li { width: 100%; }
}

@media screen and (max-width: 800px) {
	nav { height: auto; min-height: 50px; position: relative; background: #3e3e3e; box-shadow: 0 2px 2px rgba(0,0,0,.3); }
	nav .main-nav { display: none; text-align: center; clear: both; position: absolute; top: 60px; z-index: -1; background: #3e3e3e; box-shadow: 0 2px 2px rgba(0,0,0,0.3); padding-top: 10px; padding-bottom: 10px;}
	nav .main-nav li { font-size: 20px; line-height: 40px; }
	nav .main-nav li:nth-child(1) { display: none; }
	nav img.menu { display: block; }
	nav img.mobilenavlogo { display: block; }
	.main-content h1 { font-size: 24px; }
	.main-content h2 { font-size: 22px; margin-top: 20px; }
	.main-content.home h2:first-of-type { font-size: 24px; }
	.banner-image { margin-top: -5px; }
	.callout { right: 10px; top: 70px; }
	.main-content img.client-logo { display: none; }
}

@media screen and (max-width: 700px) {
   .gallery img { max-width: 95%; width: 95%; }
   .res-callout { display: block; margin: 0 auto 30px auto; float: none; }
}

@media screen and (max-width: 600px) {
	.owner { display: none; }
	.lightbox .lb-image { max-width: 100% !important; height: auto !important; }
	.lb-outerContainer { max-width: 100% !important; height: auto !important; }
	.callout { display: none; } 
	.mb-magazine { margin: 20px auto; }
}

/* this will need to be changed to a higher max width and fixed */
@media screen and (max-width: 570px) {
	.main-content { padding: 10px 25px; }
	.main-content p { margin: 15px 0;}
	.content { padding: 15px 0 0 0;}
}

@media screen and (max-width: 400px) {
	header div { margin: 10px auto 0 auto; }
	.logo img { width: 220px; }
	.main-content blockquote { font-size: 18px; line-height: 24px; }
}

