/* =Structure
-------------------------------------------------------------- */

* {
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
html {
	height: 100%;
}
body {
	margin: 0;
	height: 100%;
	font-family: "Gotham SSm A", "Gotham SSm B";
	font-style: normal;
	font-weight: 300;
	color: #2c2c2c;
}
p {
	margin: 0 0 20px;
	line-height: 28px;
}
#page {
	display: block;
	padding-bottom: 450px;
	min-height: 100%;
	position: relative;
	overflow: hidden;
}
.error404 #page {
	padding-bottom: 0px;
}
.page-template-page-about header.entry-header {
    padding-bottom: 80px;
}
.page-template-page-about #primary h2 {
    font-weight: 300;
    letter-spacing: .15em;
    word-spacing: .15em;
    text-transform: uppercase;
    font-size: 1.8vw;
    text-indent: -5%;
    margin: 0 0 5% 5%;
}
.page-template-page-about #primary p {
    font-size: 14px;
    line-height: 30px;
    margin: 0 0 100px 10%;
}
#page.iframe {
	padding: 0;
}
#primary {
}
.error404 #primary {
	height: 100%;
	display: table;
}
.page-template-page-about #primary,
.error404 #primary {
	color: #FFF;
    height: 100%;
    width: 100%;
    display: table;
}	
#content {
}
.error404 #content {
	height: 100%;
	display: table-cell;
	vertical-align: middle;
}
.page-template-page-about #content,
.error404 #content {
	color: #FFF;
    height: 100%;
    width: 100%;
    display: table-cell;
	vertical-align: middle;
}	
.error404 #content {
	text-align: center;
}
#main .widget-area {
}
a {
	text-decoration: none;
	color: #2c2c2c;
	outline: none;
}
p a {
	position: relative;
}
p a:after {
	content: '';
	display: block;
	position: absolute;
	left: -2px;
	right: -2px;
	bottom: -1px;
	height: 2px;
	background-color: #a00;
}
#home-splash-wrap p a:after,
#colophon p a:after,
#colophon-iframe p a:after {
	display: none;
}
.page-template-page-about #primary a,
.error404 #primary a {
	color: #FFF;
}
.table {
	display: table;
	width: 100%;
	height: 100%;
}
.cell {
	display: table-cell;
	width: 100%;
	height: 100%;
	vertical-align: middle;
}
.social,
.sc-icon {
	font-family: 'Stone City';
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.social.facebook:before {
	content: '\e900';
}
.social.twitter:before {
	content: '\e901';
}
.social.google:before {
	content: '\e902';
}
.social.pinterest:before {
	content: '\e903';
}
.social.instagram:before {
	content: '\e904';
}
.social.houzz:before {
	content: '\e905';
}

#lightbox {
    display: none;
    position: fixed;
    z-index: 10000;
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
    background-color: #FFF;
    background-color: rgba(44,44,44,.95);
    padding: 20px 100px 80px;
}
#lightbox-close {
	color: #FFF;
	font-size: 14px;
	top: 20px;
	right: 20px;
	position: absolute;
	padding: 0 40px;
}
#lightbox-close:before,
#lightbox-close:after {
	display: block;
	content: '';
	width: 30px;
	height: 2px;
	background-color: #FFF;
	position: absolute;
	bottom: 7px;
	-moz-transition: width .2s;
	-ms-transition: width .2s;
	-o-transition: width .2s;
	-webkit-transition: width .2s;
	transition: width .2s;
}
#lightbox-close:before {
	left: 0px;
}
#lightbox-close:after {
	right: 0px;
}
#lightbox-close:hover:before,
#lightbox-close:hover:after {
	width: 0px;
}
#lightbox-prev {
	font-family: 'Stone City';
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	color: #FFF;
	font-size: 60px;
	margin-top: -30px;
	top: 50%;
	left: 20px;
	position: absolute;
}
#lightbox-next {
	font-family: 'Stone City';
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	color: #FFF;
	font-size: 60px;
	margin-top: -30px;
	top: 50%;
	right: 20px;
	position: absolute;
}
#lightbox-img {
    width: 100%;
    height: 100%;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}
#lightbox-title {
	width: 100%;
	height: 80px;
	line-height: 80px;
	font-size: 24px;
	font-size: 1.65vw;
	text-align: center;
	color: #FFF;
}


/* Increase the size of the content area for templates without sidebars */
.full-width #content,
.image-attachment #content,
.error404 #content {
	margin: 0;
}

/* Text meant only for screen readers */
.screen-reader-text,
.assistive-text {
	position: absolute !important;
	clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
	clip: rect(1px, 1px, 1px, 1px);
}

/* Alignment */
.alignleft {
	display: inline;
	float: left;
}
.alignright {
	display: inline;
	float: right;
}
.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.banner-image {
    padding: 20px 0 70px;
}
.banner-image img {
	height: auto;
	width: 100%;
}
header.entry-header,
header.page-header {
    padding: 40px 0;
}
h1.entry-title,
h1.page-title {
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .25em;
    word-spacing: .25em;
    font-weight: 300;
    margin: 0;
    font-size: 30px;
    font-size: 2.07vw;
}
.error404 h1.entry-title {
	font-size: 22px;
	font-size: 1.5vw;
}
.page-template-page-contact h1.entry-title,
.page-template-page-quote h1.entry-title {
    font-size: 24px;
    font-size: 1.65vw;
}
article.page:not(.home) {
	padding: 0 20px 60px;
	position: relative;
}
.page-template-page-about article.page:not(.home) {
	padding: 150px 10% 60px;
}
.error404 article.post {
	padding: 0 10% 0;
}
article.page:after {
	clear: both;
	content: '';
	display: block;
}
.page-template-page-contact article.page:not(.home),
.page-template-page-quote article.page:not(.home) {
	padding: 0 50px 60px;
}
/*.page-template-page-contact #page {
    background-image: url('../img/contact-bg.jpg');
    background-size: cover;
}
.page-template-page-quote #page {
    background-image: url('../img/quote-bg.jpg');
    background-size: cover;
}*/
.page-template-page-about #page {
    background-image: url('../img/about-bg.jpg');
    background-size: cover;
}
.error404 #page {
    background-image: url('../img/404-bg.jpg');
    background-size: cover;
}
#page .iphorm-edit-form-wrap {
	display: none;
}
#contact-content-col {
    float: right;
    width: calc(50% - 30px);
	padding-top: 80px;
}
#contact-map-col {
    width: calc(50% - 100px);
    position: absolute;
    top: 80px;
    left: 50px;
    bottom: 60px;
}
#quote-content-col {
    float: left;
    width: calc(50% - 30px);
	padding-top: 80px;
}
#quote-photo-col {
    width: calc(50% - 100px);
    position: absolute;
    top: 80px;
    right: 50px;
    bottom: 60px;
}
#quote-photo-1,
#quote-photo-2 {
    width: 100%;
    height: calc(50% - 30px);
    position: absolute;
    left: 0px;
    right: 0px;
    background-size: cover;
}
#quote-photo-1 {
	background-image: url('../img/quote-block-image-1.jpg');
	top: 0px;
	background-position: center center;
}
#quote-photo-2 {
	background-image: url('../img/stone-city-quote-request-2.jpg');
	bottom: 0px;
	background-position: center bottom;
}
#return-to-home {
	letter-spacing: .15em;
	word-spacing: .15em;
	text-transform: uppercase;
}
#return-to-home span {
	border-bottom: solid 2px #FFF;
	padding-bottom: 5px;
}
#return-to-home:after {
    content: '\e90b';
	font-family: 'Stone City';
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	margin-left: .8em;
	font-size: .8em;
	display: inline-block;
	vertical-align: top;
	position: static;
    background-color: transparent;
}
@media only screen and (max-width : 1000px) {
	h1.entry-title {
		font-size: 3vw;
	}
	.error404 h1.entry-title {
		font-size: 2.5vw;
	}
	.page-template-page-contact h1.entry-title,
	.page-template-page-quote h1.entry-title {
		font-size: 2.65vw;
	}
	.page-template-page-contact article.page:not(.home),
	.page-template-page-quote article.page:not(.home) {
		padding: 0 40px 60px;
	}
	#contact-content-col {
		float: right;
		width: calc(50% - 20px);
		padding-top: 0px;
		padding-bottom: 60px;
	}
	#contact-map-col {
		width: calc(50% - 80px);
		top: 60px;
		left: 40px;
	}
	#quote-content-col {
		float: left;
		width: calc(50% - 20px);
		padding-top: 0px;
		padding-bottom: 60px;
	}
	#quote-photo-col {
		width: calc(50% - 80px);
		top: 60px;
		right: 40px;
	}
	/* .page-template-page-contact #page {
		background-image: url('../img/contact-bg-2000px.jpg');
	}
	.page-template-page-quote #page {
		background-image: url('../img/quote-bg-2000px.jpg');
	} */
	.page-template-page-about #page {
		background-image: url('../img/about-bg-2000px.jpg');
	}
	.page-template-page-about #primary h2 {
		font-size: 2.4vw;
	}
	.page-template-page-about #primary p {
		margin: 0 0 100px 5%;
	}
}
@media only screen and (max-width : 800px) {
	h1.entry-title {
		font-size: 3.5vw;
	}
	.error404 h1.entry-title {
		font-size: 3vw;
	}
	.page-template-page-contact h1.entry-title,
	.page-template-page-quote h1.entry-title {
		font-size: 3vw;
	}
	.page-template-page-contact article.page:not(.home),
	.page-template-page-quote article.page:not(.home) {
		padding: 40px 20px 60px;
	}
	#contact-content-col {
		float: none;
		width: 100%;
	}
	#contact-map-col {
		width: 100%;
		padding-top: 40%;
		top: auto;
		left: auto;
		bottom: auto;
		position: relative;
	}
	#quote-content-col {
		float: none;
		width: 100%;
	}
	#quote-photo-col {
		width: 100%;
		top: auto;
		right: auto;
		bottom: auto;
		position: relative;
		font-size: 0px;
	}
	#quote-photo-1,
	#quote-photo-2 {
		width: calc(50% - 20px);
		height: 0;
		padding-top: 30%;
		position: static;
		left: auto;
		right: auto;
		top: auto;
		bottom: auto;
		display: inline-block;
	}
	#quote-photo-2 {
		margin-left: 40px;
	}
	#lightbox {
		padding: 20px 40px 40px;
	}
	#lightbox-title {
		font-size: 2.5vw;
		height: 40px;
		line-height: 40px;
	}
	#lightbox-prev {
		font-size: 30px;
		margin-top: -15px;
		left: 5px;
	}
	#lightbox-next {
		font-size: 30px;
		margin-top: -15px;
		right: 5px;
	}
	#lightbox-close {
		font-size: 20px;
		top: 10px;
		right: 10px;
	}
	.page-template-page-about article.page:not(.home) {
		padding: 120px 40px 60px;
	}
	.page-template-page-about #primary h2 {
		font-size: 2.7vw;
	}
	.page-template-page-about #primary p {
		margin: 0 0 80px 5%;
	}
}
@media only screen and (max-width : 700px) {
	h1.entry-title,
	.error404 h1.entry-title,
	.page-template-page-contact h1.entry-title,
	.page-template-page-quote h1.entry-title {
		font-size: 20px;
	}
	#lightbox {
		padding: 20px 30px 30px;
	}
	#lightbox-title {
		font-size: 18px;
		height: 30px;
		line-height: 30px;
	}
	#lightbox-prev,
	#lightbox-next {
		font-size: 20px;
		margin-top: -10px;
	}
	.page-template-page-about #primary p {
		margin: 0 0 80px;
	}
	.page-template-page-about article.page:not(.home) {
		padding: 100px 20px 60px;
	}
}
@media only screen and (max-width : 600px) {
	.banner-image {
		height: 400px;
		width: 100%;
		overflow: hidden;
	}
	.banner-image img {
	    width: 100%;
		height: 100%;
		object-fit: cover;
		max-width: none;
	}
	#quote-photo-1,
	#quote-photo-2 {
		width: 100%;
		padding-top: 60%;
		display: block;
	}
	#quote-photo-2 {
		margin-left: 0;
		margin-top: 20px;
	}
}
@media only screen and (max-width : 500px) {
	/* .page-template-page-contact #page {
		background-image: url('../img/contact-bg-1000px.jpg');
	}
	.page-template-page-quote #page {
		background-image: url('../img/quote-bg-1000px.jpg');
	} */
	.page-template-page-about #page {
		background-image: url('../img/about-bg-1000px.jpg');
	}
	.error404 #page {
		background-image: url('../img/404-bg-1000px.jpg');
		background-size: cover;
	}
	#contact-map-col {
		padding-top: 120%;
	}
    .page-template-page-about #primary h2 {
        font-size: 4.5vw;
    }
}
