/*

font-family: mr-eaves-modern, sans-serif;
font-weight: 300;
font-weight: 400;
font-weight: 700;
font-style: normal;
font-style: italic;

*/

@import url('https://fonts.googleapis.com/css2?family=Marck+Script&display=swap');

/* font-family: 'Marck Script', cursive; */

a, a:link, a:visited, a:hover, a img {
	outline: none;
	border: none;
}
html{
	margin:0;
	padding:0;
}
body{
	margin:0;
	padding:0;
	font-size: 22px;
    font-weight: 300;
	font-family: mr-eaves-modern, sans-serif;
}
h1{
    font-size: 3.25em;
	font-weight: 300;
}
.bold{
	font-weight: bold;
}
.altfont{
	font-family: 'Marck Script', cursive;
}

#preheader{
    display: block;
    position: fixed;
    top: 2.5vh;
    right: 2vh;
    width: 18vh;
    height: 20.5vh;
    z-index: 9999;
    text-decoration: none !important;
    opacity: 0;
    -webkit-transition: opacity 0.25s ease-in-out;
    -moz-transition: opacity 0.25s ease-in-out;
    -ms-transition: opacity 0.25s ease-in-out;
    -o-transition: opacity 0.25s ease-in-out;
    transition: opacity 0.25s ease-in-out;
}
#preheader.visible{
    opacity: 1;
    -webkit-transition: opacity 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out;
    -ms-transition: opacity 0.5s ease-in-out;
    -o-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;
    -webkit-transition-delay: 0.15s;
    -moz-transition-delay: 0.15s;
    -ms-transition-delay: 0.15s;
    -o-transition-delay: 0.15s;
    transition-delay: 0.15s;
}
#preheadimg{
    width: 14vh;
    height: auto;
    position: absolute;
    left: 50%;
    top: 0.5vh;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    filter: drop-shadow(0px 0px 1vh black);
}
#headerpopper{
    background: rgba(50,82,86,0.8);
    font-size: 0;
    color: white;
    letter-spacing: 0.25vh;
    font-weight: 300;
    display: inline-block;
    box-sizing: border-box;
    padding: 0.3vh;
    position: absolute;
    left: 50%;
    top: 15.25vh;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    border: 0.4vh solid #483c3b;
    width: 80%;
    text-align: center;
}
#headerpopper span, #headerpopper img{
	font-size: 3vh;
	vertical-align: middle;
	display: inline-block;
}
#headerpopper span{
	margin-bottom: -0.15vh;
}
#headerpopper img{
    width: auto;
    height: 2.25vh;
    margin-left: 1vh;
}
#header{
    position: fixed;
    top: 0;
    right: 0;
    width: 35vh;
    height: 100vh;
    z-index: 99999;
}
#header.closed{
	pointer-events: none !important;
}
#headerinner{
    position: relative;
    height: 100%;
    width: 100%;
    top: 0;
    left: auto;
    right: 0;
    -webkit-transition: right 0.25s ease-in-out !important;
    -moz-transition: right 0.25s ease-in-out !important;
    -ms-transition: right 0.25s ease-in-out !important;
    -o-transition: right 0.25s ease-in-out !important;
    transition: right 0.25s ease-in-out !important;
    background-color: #1f191d;
	background-image: url("/images/bg-header.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}
#header.closed #headerinner{
    right: -110%;
    width: 100%;
    height: 100%;
}

#headerlogo{
	display: block;
}
#headerlogo img{
    height: 20vh;
    width: auto;
    margin: 4vh auto 1.5vh 5vh;
}
#mobilemenucloser{
	display: none;
}
#headermenu, #headermenu ul, #headermenu li, #headermenu a{
    padding: 0;
    list-style: none;
}
#headermenu ul{
    position: relative;
    margin: 0 auto;
    width: auto;
}
#headermenu li{
    display: block;
    width: calc(100% + 1vh);
    margin: 0 0 0 -1vh;
    text-align: left;
}
#headermenu a{
    display: block;
    width: 100%;
    margin: 1vh 0;
    padding: 0.75vh 2vh 0.7vh 6vh;
    font-size: 2.3vh;
    letter-spacing: 0.1vh;
    text-decoration: none;
    color: #ffffff;
    background: rgba(31,81,92,0.75);
    text-transform: uppercase;
    line-height: 1.1em;
    box-shadow: 0px 0px 1vh black;
    font-weight: 300;
    -webkit-transition: padding 0.15s ease;
    -moz-transition: padding 0.15s ease;
    -ms-transition: padding 0.15s ease;
    -o-transition: padding 0.15s ease;
    transition: padding 0.15s ease;
}
#headermenu a:hover {
    padding-left: 5vh !important;
    padding-right: 3vh !important;
}
#headermenu a > span{
	display: block;
}
#headermenu li:hover a{
    background: rgba(163,87,21,0.75);
}
#headermenu #headercontactlink > a{
    margin-top: 15vh;
    padding: 2vh 2vh 1.75vh 6vh;
    background: rgba(163,87,21,0.8) !important;
}
#headersocials{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: auto;
    text-align: center;
    margin: 0 auto 3vh auto;
    z-index: 999;
}
.headersocial{
	display: inline-block;
    margin: 0 1.25vh;
}
.headersocial img{
    width: 4.5vh;
    height: auto;
}
.headersocial:hover img{
    /* box-shadow: 0px 0px 0.4em rgba(163,87,21,1); */
    /* filter: drop-shadow(0px 0px 0.25em rgba(163,87,21,1)); */
    filter: drop-shadow(0px 0px 10px rgba(163,87,21,1));
    /* box-shadow: 0px 0px 0.5em rgba(163,87,21,0.8) !important; */
	/*filter: drop-shadow(0px 0px 1px white);*/
}

#page{}
#content{}
.section{
	background-image: url("/images/bg-opening.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
    background-attachment: fixed;
    position: relative;
    overflow: hidden;
}
.paralax .section{
	min-height: 100vh;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    box-shadow: 0px 0px 10vh 2vh black;
    margin-bottom: 20vh;
}
.paralax .section:after{
	content:"";
	position: absolute;
	left: 50%;
	bottom: 5%;
	-webkit-transform: translate(-50%,0);
	-ms-transform: translate(-50%,0);
	transform: translate(-50%,0);
    width: 2.675em;
    height: 1em;
	background-image: url("/images/arrow-down.png");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	pointer-events: none;
    opacity: 0.75;
}

#s-opening{
	background-image: url("/images/bg-opening.jpg");
    margin-bottom: 0;
}
#s-dreary-cozy{
    background-color: #98aeb6;
	background-image: url("/images/bg-dreary-cozy.jpg");
}
#s-services-offered{
	background-color: #d1c8c4;
	background-image: url("/images/bg-services-offered.jpg");
}
#s-reviews, #main-reviews{
	background-color: #1f3c44;
    background-image: url("/images/bg-brown-reviews.jpg"), url("/images/bg-block-reviews.jpg");
    background-size: 27.5vw 100vh, auto;
    background-repeat: repeat-Y, repeat;
    background-position: 62.5vw center, center center;
    background-attachment: fixed, fixed;
}
#s-deck-patio{
    background-color: #7d4028;
	background-image: url("/images/bg-deck-patio.jpg");
}
#s-office-closet{
    background-color: #644f49;
	background-image: url("/images/bg-office-closet.jpg");
}
#s-imagine{
    background-color: #ede4dc;
	background-image: url("/images/bg-imagine.jpg");
}
#s-about{
    background-color: #2f2523;
	background-image: url("/images/bg-about.jpg");
    margin-bottom: 0;
}

#openinglogo{
	display: none;
}
.h1-pop{
	display: block;
	width: 65%;
	position: absolute;
	top: 10vh;
	left: 0;
	text-align: right;
	box-sizing: border-box;
	padding: 0em 0.5em;
	color: white;
	background: rgba(163,87,21,0.8);
	border: 0.4vh solid white;
	font-weight: 300;
}
.h1-pop-top{
	border-left: 0;
}
.h1-pop-bottom{
	width: 55%;
	top: auto;
	bottom: 10vh;
	left: auto;
	right: 0;
	text-align: left;
	border-right: 0;
}
.h1-pop .simplefont, .h1-pop .altfont{
	vertical-align: middle;
}
#s-office-closet .h1-pop{
    background: rgba(31,81,92,0.8);
	width: 55%;
}

.services-half{
	display: inline-block;
	vertical-align: top;
    width: 40%;
}
#services-left{
	color: white;
}
#services-right{
    position: relative;
    height: 100vh;
    width: 60%;
}
.service-select{
    height: 20vh;
    position: relative;
    box-sizing: border-box;
    border-bottom: 0.5em solid;
    cursor: pointer;
    user-select: none;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    -webkit-transition: height 0.15s ease;
    -moz-transition: height 0.15s ease;
    -ms-transition: height 0.15s ease;
    -o-transition: height 0.15s ease;
    transition: height 0.15s ease;
}
.service-select.service-selected{
    height: 40vh;
}
.service-select.service-deselected{
    height: 25vh;
}
#service-home{
	border-color: #a35715;
	background-image: url("/images/services-additions.jpg");
}
#service-bathroom{
	border-color: #5c1b55;
	background-image: url("/images/services-kitchens.jpg");
}
#service-deck{
	border-color: #1f515c;
	background-image: url("/images/services-decks.jpg");
}
#service-repair{
	border-color: #000000;
	background-image: url("/images/services-disaster.jpg");
}
.services-coloroverlay{
	position: absolute;
	width: 100%;
    height: 100%;
    border-bottom: 0.5em solid black;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
	background-blend-mode: multiply;
	opacity: 1;
}
#service-home .services-coloroverlay{
	background-image: url("/images/services-additions.jpg"), url("/images/services-dark-blend.jpg");
	border-color: #a35715;
}
#service-bathroom .services-coloroverlay{
	background-image: url("/images/services-kitchens.jpg"), url("/images/services-pink-blend.jpg");
	border-color: #5c1b55;
}
#service-deck .services-coloroverlay{
	background-image: url("/images/services-decks.jpg"), url("/images/services-teal-blend.jpg");
	border-color: #1f515c;
}
#service-repair .services-coloroverlay{
	background-image: url("/images/services-disaster.jpg"), url("/images/services-orange-blend.jpg");
	border-color: #000000;
}
.service-select:hover .services-coloroverlay{
	opacity: 0.8;
}
.service-select.service-selected .services-coloroverlay{
	opacity: 0 !important;
}
.service-select p{
    box-sizing: border-box;
    position: absolute;
    left: 42%;
    bottom: -8px;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
    margin: 0;
    width: 40%;
    padding: 0.25em 0.5em;
    font-size: 1.25em;
    -webkit-transition: bottom 0.15s ease, -webkit-transform 0.15s ease, -ms-transform 0.15s ease, transform 0.15s ease;
    -moz-transition: bottom 0.15s ease, -webkit-transform 0.15s ease, -ms-transform 0.15s ease, transform 0.15s ease;
    -ms-transition: bottom 0.15s ease, -webkit-transform 0.15s ease, -ms-transform 0.15s ease, transform 0.15s ease;
    -o-transition: bottom 0.15s ease, -webkit-transform 0.15s ease, -ms-transform 0.15s ease, transform 0.15s ease;
    transition: bottom 0.15s ease, -webkit-transform 0.15s ease, -ms-transform 0.15s ease, transform 0.15s ease;
    text-transform: uppercase;
}
.service-select.service-selected p{
    bottom: 50%;
    -webkit-transform: translate(0, 50%);
    -ms-transform: translate(0, 50%);
    transform: translate(0, 50%);
    box-shadow: 0px 0px 1em black;
}
#service-home p{
	background: #a35715;
}
#service-bathroom p{
	background: #5c1b55;
}
#service-deck p{
	background: #1f515c;
}
#service-repair p{
	background: #000000;
}
.services-line1{
	display: block;
}
.services-line2{}
.services-arrow{
}
.service-select:hover .services-arrow, .service-select.service-selected .services-arrow{
	margin-left: 0.25em;
}
.service-bg{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
	background-blend-mode: multiply;
	opacity: 0;
}
.service-bg.service-bg-shown{
	opacity: 1;
}
#service-home-bg{
	background-image: url("/images/services-additions.jpg"), url("/images/services-dark-blend.jpg");
}
#service-bathroom-bg{
	background-image: url("/images/services-kitchens.jpg"), url("/images/services-pink-blend.jpg");
}
#service-deck-bg{
	background-image: url("/images/services-decks.jpg"), url("/images/services-teal-blend.jpg");
}
#service-repair-bg{
	background-image: url("/images/services-disaster.jpg"), url("/images/services-orange-blend.jpg");
}
#servicesofferedtitle{
    position: absolute;
    top: 50%;
    left: 37.75%;
    margin: 0;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 65%;
    text-align: center;
    font-size: 4em;
    text-transform: uppercase;
	color: black !important;
	-webkit-transition: top 0.15s ease, color 0.1s ease;
	-moz-transition: top 0.15s ease, color 0.1s ease;
	-ms-transition: top 0.15s ease, color 0.1s ease;
	-o-transition: top 0.15s ease, color 0.1s ease;
	transition: top 0.15s ease, color 0.1s ease;
}
#servicesofferedtitle.active{
	color: white !important;
    top: 77.5%;
    z-index: 2;
}
.service-info{
    display: none;
    position: absolute;
    z-index: 3;
    top: 1em;
    left: 1em;
    right: 0;
    bottom: auto;
    background: white;
    border: 0.15em solid black;
    padding: 1.5em 2em;
    box-shadow: 0px 0px 1em 0px black;
    height: auto;
    width: 62.5%;
}
.service-info.service-shown{
	display: block;
}
#service-home-info{
	border-color: #a35715;
}
#service-bathroom-info{
	border-color: #5c1b55;
}
#service-deck-info{
	border-color: #1f515c;
}
#service-repair-info{
	border-color: #000000;
}
.service-info h2{
	margin: 0 auto 0.5em auto;
    font-size: 1.5em;
}
.service-info p{
	margin: 0 auto 1em auto;
    line-height: 1.25em;
}
.service-info a, .service-info a + div{
	display: inline-block;
	vertical-align: middle;
}
.service-info a{
	color: white;
	text-decoration: none;
	background: #1f515c;
	padding: 0.5em 1.25em;
}
.service-info a + div{
    margin-left: 1em;
}
#service-home-info.service-info a{
	background-color: #a35715;
}
#service-bathroom-info.service-info a{
	background-color: #5c1b55;
}
#service-deck-info.service-info a{
	background-color: #1f515c;
}
#service-repair-info.service-info a{
	background-color: #000000;
}
.service-info a:hover{
    box-shadow: 0px 0px 0.75em -0.2em black;
}

h1.hero{
    background: rgba(255,255,255,0.6);
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    margin: 0;
    padding: 0.75em 2.75em;
    font-size: 2.25em;
    font-weight: 700;
	text-align: center;
    width: 14em;
}
h1.hero span{
	display: block;
}

#s-reviews .inner, #s-about .inner{
	text-align: right;
	position: absolute;
	top: 50%;
	right: 0;
	bottom: auto;
	left: 0;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
}
#reviewsleft, #reviewsright{
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	width: auto;
}
#reviewsleft{
    margin-right: 0;
    width: 33%;
}
#reviewsleft h1{
	color: white;
    text-transform: uppercase;
    margin: 0 auto;
}
#reviewsleft h1 span{
	display: block;
}
#reviewsleft img{
    width: 9em;
    max-width: 95%;
}
#reviewsright {
    width: 55%;
}
#reviewsfeed{
	
}
#reviewswrapper{
	position: relative;
}
.slick-list{
	padding: 2em 9em 2em 3em !important
}
.slick-slide{
    padding: 2em 3em;
    box-sizing: border-box;
    margin: 0 1em;
    background-color: white;
    background-size: 37.5%;
    background-position: center 95%;
    background-repeat: no-repeat;
    box-shadow: 0px 0px 1em black;
    position: relative;
    opacity: 0.25;
    -webkit-transition: opacity 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out, -ms-transform 0.5s ease-in-out, transform 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out, -ms-transform 0.5s ease-in-out, transform 0.5s ease-in-out;
    -ms-transition: opacity 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out, -ms-transform 0.5s ease-in-out, transform 0.5s ease-in-out;
    -o-transition: opacity 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out, -ms-transform 0.5s ease-in-out, transform 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out, -ms-transform 0.5s ease-in-out, transform 0.5s ease-in-out;
}
.review-angie{
	background-image: url("/images/angies-list-light.png");
}
.review-google{
	background-image: url("/images/google-light.png");
}
.review-facebook{
	background-image: url("/images/facebook-light.png");
}
.slick-slide:focus{
	outline: 0;
}
.slick-center{
	opacity: 1 !important;
    -webkit-transform: scale(1.08);
    -ms-transform: scale(1.08);
    transform: scale(1.08);
	/*padding: 2em;*/
}
.slick-slide p{
    margin: 0 auto;
    padding: 0;
    font-size: 1.15em;
    line-height: 1.15em;
}
.slick-prev, .slick-next {
    z-index: 99;
    line-height: 0;
    font-size: 1em;
    position: absolute;
    top: 50%;
    display: block;
    width: 2em;
    height: 3.5em;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background-color: transparent;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
}
.slick-prev {
    left: 2.5em;
    background-image: url("/images/prev-slide.png");
}
.slick-next {
    right: 8.5em;
    background-image: url("/images/next-slide.png");
}
.slick-prev:hover, .slick-next:hover {
	-webkit-filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.4));
	filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.4));
}
.slick-track {
  display: flex !important;
}
.slick-track .slick-slide {
  display: flex !important;
  height: auto !important;
  align-items: center !important;
  justify-content: center !important;
}
#reviewsmore{
    text-align: left;
    width: 75.5%;
    margin: 2em auto 0 auto;
    font-size: 1.15em;
}
#reviewsmoretitle, #reviewsimages{
	position: relative;
	display: inline-block;
	vertical-align: middle;
    text-align: center;
	text-transform: uppercase;
	box-sizing: border-box;
	padding: 0;
    height: 3em;
}
#reviewsmoretitle{
	background: #a35715;
	color: white;
	width: 17.5%;
	font-weight: 400;
}
#reviewsimages{
	background: white;
	width: 82.5%;
}
#reviewsmoretitle > div, #reviewsimages > div{
	position: absolute;
	top: 50%;
	left: 50%;
	bottom: auto;
	right: auto;
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	width: 100%;
}
#reviewsmoretitle > div{
    padding-top: 0.075em;
}
#reviewsimages a{
    display: inline-block;
    vertical-align: middle;
    padding-top: 0.25em;
    margin: 0;
    font-weight: 700;
    text-decoration: none;
}
#reviewsimages a + a{
	margin-left: 2em;
}
#reviewsimages a:nth-of-type(1){
	color: #29a036;
}
#reviewsimages a:nth-of-type(2){
	color: #ea4335;
}
#reviewsimages a:nth-of-type(3){
	color: #3c5b9a;
}
#reviewsimages img{
    max-height: 4vw;
	width: auto;
}

#s-deck-patio h1.hero{
	font-weight: 300;
    padding: 0.75em 1.5em;
    /*top: 75%;*/
}

#s-about{
	color: white;
    position: relative;
    min-height: 0;
}
#s-about:after{
	display: none;
}
#s-about .inner {
	position: relative;
	top: auto;
	right: auto;
	bottom: auto;
	left: auto;
	-webkit-transform: none;
	-ms-transform: none;
	transform: none;
}
.abouttext{
    background: rgba(30,24,28,0.85);
    border: 0.1em solid rgba(255,255,255,0.6);
    box-sizing: border-box;
    padding: 1.5em;
    font-size: 1.2em;
    line-height: 1.4em;
    font-weight: 300;
    width: 65%;
    margin: 5em auto 3em auto;
    text-align: center;
}
#abouttext1 p{
	margin: 0;
}
#abouttext1 p + p{
	margin-top: 1em;
}
#aboutblock{
	display: block;
}
#aboutinline{
	display: inline;
}
#abouttext2{
    background: rgba(31,81,92,0.85);
    color: white;
    padding: 0.5em 2em;
    margin: 0em auto 5em auto;
}
#abouttext2left, #abouttext2right{
	display: inline-block;
	vertical-align: middle;
	width: 48%;
}
#abouttext2left{
	margin: 0 1% 0 0;
    font-size: 2.5em;
    text-align: left;
}
#abouttext2right{
	margin: 0 0 0 1%;
	text-align: right;
}
#abouttext2right a{
    background: rgb(179,102,25);
    background: -moz-linear-gradient(top, rgba(179,102,25,1) 0%, rgba(148,72,17,1) 100%);
    background: -webkit-linear-gradient(top, rgba(179,102,25,1) 0%,rgba(148,72,17,1) 100%);
    background: linear-gradient(to bottom, rgba(179,102,25,1) 0%,rgba(148,72,17,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b36619', endColorstr='#944811',GradientType=0 );
    color: white;
    padding: 0.3em 2em;
    border: 0.075em solid white;
    text-decoration: none;
    display: inline-block;
    font-size: 1.25em;
    text-align: center;
    margin: 0.5em auto 0 auto;
}
#abouttext2right a:hover, #abouttext2right a:active, #abouttext2right a:focus{
    box-shadow: inset 0px 0px 0.25em 0 rgba(0,0,0,0.77);
}
#abouttext2right > div{
    font-size: 0.75em;
    display: block;
    margin: 0 0 0 auto;
    text-align: right;
}


#footer{
    background-color: #3b3631;
    background-image: url("/images/bg-footer.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    color: white;
    font-weight: 300;
    font-size: 1em;
    border-top: 0.5em solid #1f515c;
    text-align: center;
    margin-top: 0;
    letter-spacing: 0.02em;
    box-shadow: 0px 0px 10vh 2vh black;
}
#footerinner{
    padding: 2.5em 0;
    box-sizing: border-box;
}
.footerblock{
    display: inline-block;
    vertical-align: top;
    box-sizing: border-box;
    text-align: left;
    height: 12em;
    width: 19%;
    padding: 0 0.5em 0 1.5em;
}
.footerblockwider{
	width: 22%;
}
.footerblock:nth-of-type(2), .footerblock:nth-of-type(3), .footerblock:nth-of-type(4){
	border-left: 2px solid white;
}
#footerlogo{
	padding: 0 !important;
    text-align: center !important;
}
#footerlogo:before{
	display: none !important;
}
.footerblock img{
    height: auto;
    width: 12em;
    max-width: 90%;
}
.footerblock a{
	position: relative;
	color: white;
    text-decoration: none;
    font-size: 1.25em;
    display: block;
    padding: 0.4em 0;
}
.footerblock a:before{
    position: absolute;
    left: -0.75em;
    top: 0.35em;
}
.footerblock a:not(#footerrequest):hover:before{
	content:">";
}
#footeraddress{
	line-height: 1.5em;
}
#footerphone{
    margin-top: 0.4em;
}
.footerblock p{
    margin: 0 auto;
    font-size: 1.1em;
    line-height: 1.4em;
    padding: 0.3em 0;
}
#footerrequest{
    background: #a35715;
    display: inline-block;
    margin-top: 1em;
    padding: 0.15em 0.5em 0.2em 0.5em;
    border: 0.1em solid white;
}
#footerrequest:hover, #footerrequest:active, #footerrequest:focus {
    box-shadow: inset 0px 0px 0.2em 0 rgba(0,0,0,0.77);
}

.dropcheckbox, .droplabel{
	display: none;
}

#copyright{
	text-align: center;
    font-size: 0.9em;
}
#copyrightinner{
	
}
.copyrighttext{
	display: inline-block;
	vertical-align: middle;
    margin: 1.5em auto;
	padding: 0.25em 1em;
}
.copyrightbreak{
    display: inline-block;
    vertical-align: middle;
    width: 2px;
    height: 0.75em;
    background: white;
}
a.copyrighttext{
    position: relative;
    color: white;
    text-decoration: none;
	border-right: 0;
}
a.copyrighttext:after{
	content:"";
	position: absolute;
	width: 0;
    height: 2px;
    bottom: 0.1em;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	-ms-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	-webkit-transition: width 0.15s ease-in-out;
	-moz-transition: width 0.15s ease-in-out;
	-ms-transition: width 0.15s ease-in-out;
	-o-transition: width 0.15s ease-in-out;
	transition: width 0.15s ease-in-out;
	background: -moz-linear-gradient(left,  rgba(255,255,255,0) 0%, rgba(255,255,255,0.75) 50%, rgba(255,255,255,0) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left,  rgba(255,255,255,0) 0%,rgba(255,255,255,0.75) 50%,rgba(255,255,255,0) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right,  rgba(255,255,255,0) 0%,rgba(255,255,255,0.75) 50%,rgba(255,255,255,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#00ffffff',GradientType=1 ); /* IE6-9 */
}
a.copyrighttext:hover:after{
	width: 75%;
}

#hf{
    position: relative;
	/*margin-top: -100vh;*/
	margin-top: 0;
    z-index: 9999999;
}
#hfinner{
    position: absolute;
    top: 0;
    /* right: 0; */
    /* bottom: 0; */
    left: 0;
    height: 100%;
    width: 100%;
}
#hf #header {
    top: 0;
	position: -webkit-sticky;
    position: sticky;
    margin: 0 0 0 auto;
}
#hf #headermenu a {
    box-sizing: border-box;
}

.main .section{
    margin: 0;
}
#hf .section{
	background-color: white;
	background-image: none;
	overflow: visible;
    margin: 0;
}
#hf .pageopening{
	background-image: url("/images/bg-opening.jpg");
	background-attachment: scroll;
	height: 25vh;
    width: calc(100vw - 30vh);
    margin: 0 auto 0 0;
}
#kb #hf .pageopening{
	background-image: url("/images/bg-kb.jpg");
}
#hf .pageopening + .section{
    padding: 1.5em 0 0 0;
}
#hf .pagetitle{
    position: absolute;
    top: -0.75em;
    left: -0.1em;
    padding-left: 4.3em;
    padding-right: 0.3em;
    margin: 0 auto;
    font-size: 3em;
    font-weight: 300;
    background: #5c1b55;
    color: white;
}
#hf .pagetitle span{
	vertical-align: middle;
	display: inline-block;
}
#hf .pagetitle span.altfont{
    padding-top: 0.1em;
}
#hf .inner{
	position: relative;
    width: calc(100vw - 35vh - 12.5em);
	box-sizing: border-box;
    margin-left: 11em;
	font-size: 1.15em;
}
#hf .full-width .inner{
	width: 100%;
}
#hf .innertitle{
    font-size: 1.5em;
    font-weight: bold;
    margin: 1em auto 0.3em 0;
}
#hf .inner > p{
    padding-right: 20vh;
    line-height: 1.25em;
    margin: 0.5em auto;
}
#hf .inner > p.ultitle{
	margin-bottom: 0;
}
#hf .inner > ul + p.ulpost{
	margin-top: -0.5em;
}
#hf .inner > ul{
	margin: 0 auto 1.5em 0;
}
.gallerytitle{
    font-size: 1.85em;
    text-align: center;
    margin-top: 1em;
    margin-bottom: 0.5em;
    padding-bottom: 0.3em;
    background-image: url(/images/bg-gallerytitle.png);
    background-repeat: no-repeat;
    background-size: 100% 2px;
    background-position: bottom center;
}
.images{
	position: relative;
    text-align: center;
    background: #bea4bb;
}
.images.gallery, .images.gallery:after{
	background: none !important;
}
.images + .images{
	margin-top: 2em;
}
.images a{
	position: relative;
    display: inline-block;
    box-sizing: border-box;
    margin: 0 2.5% 2.5% 2.5%;
    width: calc(50% - 3.75%);
}
.images a:nth-of-type(1), .images a:nth-of-type(2){
	margin-top: 2.5%;
}
.images a img{
	display: inline-block;
	vertical-align: middle;
    box-sizing: border-box;
    width: 100%;
    border: 3px solid white;
}
.images a:hover img{
    border: 3px solid #a35715;
}
.images a:nth-child(even){
	margin-left: 0;
}
.images.gallery a{
    width: calc(33.3% - 1%);
    margin: 0.5% !important;
}
.images.gallery.doubleimages a{
	margin: 0.5% 2.5% !important;
}
.images .image-title{
	position: absolute;
    z-index: 1;
	display: block;
	bottom: 0.5em;
	width: auto;
	height: auto;
	color: white;
    padding: 0.25em 0.5em 0.2em 0.5em;
	border: 2px solid white;
}
.images .image-before{
	background: rgba(31,81,92,0.75);
	right: 0.5em;
}
.images .image-after{
	background: rgba(163,87,21,0.75);
	left: 0.5em;
}
.images:after{
	content:"";
	position: absolute;
	top: 0;
	right: auto;
	bottom: 0;
	left: 99%;
    background: #bea4bb;
    width: calc(5vh + 2.5vw);
}
#hf .abouttext{
    width: 100%;
    font-size: 1.1em;
}
#hf #abouttext2{
    padding: 0.25em 2em;
    margin: 3em auto 3em auto;
}

#ready-to-order{
	padding-bottom: 1px;
}

#main-reviews{
    font-size: 0.9em;
    padding: 1px 0px;
}
#main-reviews .inner{
    margin: 0 auto;
    width: 100%;
    text-align: right;
}
#main-reviews #reviewsleft {
    font-size: 0.9em;
}
#main-reviews .slick-slide {
    padding: 1.5em 2em;
}

.main #footer{
	box-shadow: none;
    margin: 0;
}

#ra #hf .pageopening{
	background-image: url("/images/bg-ra.jpg");
}
#ra .pagetitle{
	background: #a35715;
}
#ra .images, #ra .images:after{
	background: #dabca1;
}

#dr #hf .pageopening{
	background-image: url("/images/bg-dr.jpg");
}
#dr .pagetitle{
	background: #000000;
}

#pdp #hf .pageopening{
	background-image: url("/images/bg-pdp.jpg");
}
#pdp .pagetitle{
	background: #1f515c;
}

#le #hf .pageopening{
	background-image: url("/images/bg-le.jpg");
}
#le .pagetitle{
	background: #000000;
}

#contact #contact-main{
	color: #1f515c;
}
#contact #hf .pageopening{
	background-image: url("/images/bg-contact.jpg");
}
#contact .pagetitle{
	background: #1f515c;
}
#contact #hf .innertitle{
	margin-bottom: 0.5em;
}

form{
    box-sizing: border-box;
    padding: 0 3em 5em 0;
    font-size: 1em;
}
input{
	outline-color: #a35715;
}
textarea{
	outline-color: #a35715;
    vertical-align: top;
}
select{
	background: rgba(31,81,92,0.05);
}
select:focus{
	background: rgba(163,87,21,0.05);
}
.formblock{
	box-sizing: border-box;
	width: 100%;
    padding: 0;
}
.formblockinner{
	box-sizing: border-box;
	display: inline-block;
	vertical-align: top;
	width: 50%;
	padding: 0 0.5em 0 0;
}
.formblockinner + .formblockinner{
	padding: 0 0 0 0.5em;
}
.formblockinner.fullwidth{
	width: 100%;
    padding: 0;
}
.forminnertext{
    display: block;
    font-weight: bold;
    margin: 1em 0 0.25em 0;
}
.formline, textarea.formline{
	box-sizing: border-box;
    vertical-align: middle;
	width: 100%;
	margin:0;
	padding:0.25em 0.5em;
	font-size: 1em;
    font-weight: 300;
	font-family: mr-eaves-modern, sans-serif;
    border: 2px solid #1f515c;
}
textarea.formline{
	resize: vertical;
	max-height: 10em;
    min-height: 3.5em;
}
.formline + .formline{
	margin-top: 0.75em;
}
#form-location{
	min-width: 100%;
	max-width: 100%;
    min-height: 6.8em;
    max-height: 6.8em;
    resize: none;
}
#form-amount{
	width: 50%;
}
#form-details{
	min-width: 100%;
	max-width: 100%;
	min-height: 10em;
}
.formline::placeholder{
	color: #1f515c;
}
.formcheck, .formradio{
	margin:0;
	padding:0;
	width: 0;
	height: 0;
	overflow: hidden;
	visibility: hidden;
	display: none;
}
.formcheck + label, .formradio + label,
.formcheck + div, .formradio + div{
    position: relative;
    padding-left: 1.75em;
    margin: 0;
    width: 33%;
    box-sizing: border-box;
    display: inline-block;
    user-select: none;
}
.formradio + label,
.formradio + div{
    width: 25%;
    padding: 0.325em 0;
    padding-left: 1.75em;
}
.formcheck + div, .formradio + div{
	width: 100%;
}
.formcheck + label:nth-of-type(1), .formradio + label:nth-of-type(1),
.formcheck + div:nth-of-type(1), .formradio + div:nth-of-type(1){
	margin-left: 0;
}
.formcheck + label:before, .formradio + label:before,
.formcheck + div:before, .formradio + div:before{
    content: "";
    position: absolute;
    display: block;
    box-sizing: border-box;
    width: 1em;
    height: 1em;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    left: 0.35em;
    outline: 2px solid #1f515c;
    border: 0.15em solid white;
    background: white;
}
/*.formradio + label:before{
    border-radius: 100%;
    border: 0.1em solid white;
}*/
.formcheck:checked + label:before, .formradio:checked + label:before,
.formcheck:checked + div:before, .formradio:checked + div:before {
	background: #a35715;
}
.formlabel{
	vertical-align: middle;
    display: inline-block;
    width: 33.333%;
}
.formlabel:not(:nth-of-type(1)):not(:nth-of-type(2)):not(:nth-of-type(3)){
    margin-top: 0.75em;
}
.formline::file-selector-button,
.formsubmit{
    font-weight: 300;
	font-family: mr-eaves-modern, sans-serif;
	color: white;
    outline: none;
    border: none;
}
.formline::file-selector-button{
	background: #1f515c;
}
.formsubmit,
.formline:focus::file-selector-button{
    background: rgb(179,102,25);
    background: -moz-linear-gradient(top, rgba(179,102,25,1) 0%, rgba(148,72,17,1) 100%);
    background: -webkit-linear-gradient(top, rgba(179,102,25,1) 0%,rgba(148,72,17,1) 100%);
    background: linear-gradient(to bottom, rgba(179,102,25,1) 0%,rgba(148,72,17,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b36619', endColorstr='#944811',GradientType=0 );
}
.formsubmit{
    display: block;
    margin: 1em auto 0 auto;
    font-size: 1.25em;
    padding: 0.3em 2em;
    border: 0.075em solid white;
}
.formsubmit:not(:disabled):hover, .formsubmit:not(:disabled):active, .formsubmit:not(:disabled):focus{
    box-shadow: inset 0px 0px 0.25em 0 rgba(0,0,0,0.77);
}
.g-recaptcha > div{
    margin: 1em auto 0 auto;
    background: #1f515c;
    padding: 2px 0 0 2px;
}

:disabled, :disabled + label:before, :disabled + div:before{
	box-shadow: inset 0px 0px 1.5em -0.5em rgba(0,0,0,0.45);
	opacity: 1;
}
:disabled + label:before, :disabled + div:before{
	border: none;
	border-radius: 0;
}
.formsubmit:disabled{
    background: rgb(199 152 105);
}
#contact.contact-thankyou #hf .innertitle {
    margin-bottom: 0.5em;
    text-align: center;
    background: #dddddd;
    padding: 0.25em 0;
    font-size: 1.75em;
}