﻿@charset "UTF-8";


/* RESET 
------------------------------------------------*/
* {margin:0; padding: 0; border: 0; outline: 0; background: transparent;}
*, *:before, *:after{box-sizing: border-box;}

img{max-width: 100%;}

/* GLOBAL SITE FRAMEWORK
------------------------------------------------*/
body {/*margin:0; line-height:12px;*/ font-size:100%; font-family: 'Inter', sans-serif; line-height: 1.5; background:#fff;}
body{display: flex; min-height: 100vh; flex-direction: column;}

/* SELECTION */	
::selection {color:#fff; background: #4D3013;}
::-moz-selection {color:#fff; background: #4D3013;}


/* CLEAR */
.clear {clear: both;}

/* HEADERS */
/*Remove or simplify font-weight and font-height */
h1, h2, h3, h4 ,h5 ,h6 {line-height: normal;}
h1 {font-size:26px; font-weight:normal;}
h2 {font-size:24px; font-weight:normal;}
h3 {font-size:20px; font-weight:normal;}
h4 {font-size:18px; font-weight:normal;}
h5 {font-size:16px; font-weight:normal;}
h6 {font-size:14px; font-weight:normal;}


/* PARAGRAPH/LIST/GENERAL TEXT */

/* LINKS */
a{-webkit-transition:.5s ease-in; -moz-transition:.5s ease-in; -o-transition:.5s ease-in; transition:.5s ease-in;}
a:link, a:visited {color:#202020; text-decoration: none;}
a:hover, a:active {color:#4D3013;}

a[href^="tel:"] {color:inherit;  text-decoration: none;}

/* IMAGES */
img {display:block;}

/* TEXT EMPHASIS */
em {font-style:italic;}
strong {font-weight: 700;}

/* TEXT STYLINGS */
.dark {color:#131313;}
.gray {color:#4F4F4F;}
.heavy {font-weight:800;}

/* ALIGNMENT */
.left {float:left;}
.right {float:right;}
.center {text-align:center;}

.flex-row{display: flex; flex-wrap: wrap;}
.flex-col{flex: 1; padding-right: 35px;}
.flex-col:last-child{padding-right: 0;}
.col-3{flex: none; width: 25%;} .col-4{flex: none; width: 33.3333%;} .col-6{flex: none; width: 50%;} .col-8{flex: none; width: 66.6666%;}

.wrap{width: 100%; max-width: 1640px; margin: auto; padding: 0 20px;}

.btn{display: inline-block; position: relative; background: #4D3013; padding: 18px 35px; font-size: 14px; text-transform: uppercase; text-align: center; text-decoration: none !important; color: #fff !important; border-radius: 10px; overflow: hidden;}
.btn span{position: relative; z-index: 9;}
.btn:after{ position: absolute; width: 20px; height: 100%; content: ""; left: 0; top: 0; background: #66482C; transition: all 0.3s ease; z-index: 0;}
.btn:hover:after{width: 100%;}

/* HEADER
------------------------------------------------*/	
.site-header {background:#ecebeb; padding: 20px 0;}	
.site-header .wrap {display: flex; align-items: center; flex-wrap: wrap;}

.site-header .contact{width: 100%; padding: 0 10px; text-align: right; color:#6C533D;}
.site-header .contact span{padding: 0 10px;}
.site-header .navigation {margin-left: auto;}
.site-header .logo {max-width: 525px;}	

/*  NAVIGATION
------------------------------------------------*/
#menu-button{display:none;}
nav.mobile {display:none;}

nav.primary {z-index:500; position:relative; margin:0; padding:0;}

nav.primary ul {display:flex; flex-flow:row wrap; align-items:center; justify-content:space-around; margin:0; padding:0;}
nav.primary ul li {margin:0; padding:0; list-style-type:none;}
				
nav.primary ul li a {
	display:block; position: relative; padding:10px;
    font-size:1.25em; line-height:24px; text-align:center; text-decoration:none; text-transform:uppercase; color:#502C0C; transition:.2s ease-in;	
}	

nav.primary ul li:hover > a{color:#977A5C;}

/*  SUB NAV
------------------------------------------------*/
nav.primary ul li li {width: 250px;}
nav.primary ul li li a:link, nav.primary ul li li a:visited{
	width: 250px; padding:15px 0; font-size:.94em; line-height:18px; text-indent:20px; text-align:left; color:#fff; border:0; background: #181818;
}

nav.primary ul li li a:hover, nav.primary ul li li a:active{line-height:18px; color:#fff; background:#977A5C;}

/*  NAV DROPDOWNS
------------------------------------------------*/
nav.primary ul ul {display: none; position: absolute;} 
nav.primary ul ul ul {position: absolute; left: 100%; top:0;}
nav.primary ul li:hover > ul {display: block; line-height:18px; z-index: 500;}
nav.primary ul ul li {float: none; position: relative; margin:0;}

/* NAV ANIMATIONS */

nav.primary ul li a:before{content: ''; position: absolute; top: calc(100% - 4px); max-width: 30px; height: 2px; left: 0px; right: 100%; margin: auto; background: #977A5C; -webkit-animation: underlineOut 0.2s; animation: underlineOut 0.2s;}
nav.primary ul li:hover > a:before{-webkit-animation: underlineIn 0.4s; animation: underlineIn 0.4s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards;}

nav.primary ul ul li:hover > a:before{-webkit-animation: none; animation: none;}

@-webkit-keyframes underlineIn{
  0%{left: 0; right: 100%;}
  100%{left: 0; right: 0;}
}
@keyframes underlineIn{
  0%{left: 0; right: 100%;}
  100%{left: 0; right: 0;}
}

/*  HOME
------------------------------------------------*/	
.main {flex: 1; padding: 50px 0;}

.hero{background: url("/siteart/hero.jpg") bottom center no-repeat; background-size: cover; position: relative; width: 100%; height: 60vh; overflow: hidden;}
.hero img{display: block; width: 100%;}

.about-section{display: flex; align-items: flex-end; flex-wrap: wrap; background: #fcfbfa url("/siteart/about-bg.png"); padding: 50px 0 0;}
.about-section .about-img{width: 600px; margin-left: auto;}

.about-section .about-text{flex: 1; margin-left: calc(50% - 820px); padding: 0 20px 50px;}
.about-section .about-text h1{font-size: 20px; font-style: italic; color: #777;}
.about-section .about-text h1 strong{display: block; font-size: 32px; font-style: normal; color: #4D3013; opacity: 1;}
.about-section .about-text p{margin: 25px 0}

.location-iframe iframe{width: 100%; height: 200px;}
.location-details{width: 100%; background: #fbf9f6; padding: 20px;}

.location-section{padding: 50px 0;}
.location-section .wrap{display: flex; flex-wrap: wrap;}
.location-section .location-img{display: none; margin-bottom: 15px;}
.location-section .location-iframe{flex: 1; padding-right: 35px;}
.location-section .location-iframe iframe{width: 100%; height: 350px;}
.location-section .location-details{width: 350px; height: 100%;}

.address-row{display: flex; align-items: center; margin: 15px 0; font-size: 12px;}
.address-row .address-col:last-child{margin-left: auto; padding: 0 25px; font-size: 20px; color: #4D3013; border-left: 1px #ddd solid;}

.hours{margin: 15px 0; font-size: 12px;}
.hours .hour-row{display: flex; justify-content: space-between; padding: 8px;}
.hours .hour-row:nth-child(odd){background: #E9E5DD;}

/*  SUB PAGES
------------------------------------------------*/

.title-banner{background: #4D3013; padding: 40px 0; color: #fff; border-bottom: 5px #fbf9f6 solid;}
.title-banner h1{font-weight: 900;}

/* FORM */

.form{margin: 25px 0; padding: 35px 25px; background: #fafafa;}
.form input[type="text"], .form input[type="email"], .form select, .form textarea{background: #fff; width: 100%; padding: 15px; font-family: 'Inter', sans-serif; border: 1px #ddd solid; border-radius: 5px;}
.form textarea{height: 120px;}
.form input[type="checkbox"], .form input[type="radio"]{position: relative; top: 2px; margin: 5px 10px 5px 0;}
.form input[type="submit"]{display: block; width: 100%; max-width: 250px; background: #4D3013; margin: 5px auto; padding: 15px; font-family: 'Inter', sans-serif; font-size: 16px; font-weight: 700; text-transform: uppercase; color: #fff; border-radius: 5px; border: none; transition: all .2s ease-in-out; cursor: pointer;}
.form input[type="submit"]:hover{background: #5E3A17;}

.form .form-row{display: flex; flex-wrap: wrap; margin-bottom: 25px;}
.form .form-row .label-left{width: 250px; padding-right: 15px;}
.form .form-row .label-left label span{padding-left: 5px; color: red;}
.form .form-row .input-right{width: calc(100% - 250px);}
.form .form-row .input-right label{display: inline; margin-right: 10px; cursor: pointer;}

.CaptchaPanel{margin: 0 !important; padding: 0 !important; line-height: normal !important;}
.CaptchaImage{margin: auto;}
.CaptchaAnswerPanel input{background: #fff; width: 250px; max-width: 100%; padding: 15px; margin: 5px 0; border: 1px #ddd solid; border-radius: 5px;}
.CaptchaMessagePanel{padding: 0 !important; margin: 0 !important; font-weight: normal !important; font-size: 12px; line-height: 14px;}
.CaptchaAnswerPanel{margin: 0; padding: 2px 0px 2px 0px !important;}
.CaptchaWhatsThisPanel{line-height: 0; margin: 0; padding: 8px 0 8px 0 !important;}
.CaptchaWhatsThisPanel a{font-size: 12px; color: #000;} .CaptchaWhatsThisPanel a:hover{text-decoration: none;}

@media screen and (max-width: 1024px){
	.form .form-row{margin-bottom: 10px;}
	.form .form-row .label-left, .form .form-row .input-right{width: 100%; padding: 0;}
	.form input[type="text"], .form input[type="email"], .form select, .form textarea{margin: 5px 0 10px;}
}

/*  FOOTER
------------------------------------------------*/
.site-footer {background: #faf8f8 url("/siteart/footer-bg.jpg"); padding: 100px 0 25px;}
.site-footer a:hover{opacity: .75;}
.site-footer strong{width: 150px; font-weight: 500; opacity: .5;}
.site-footer ul{flex: 1; padding-right: 20px;}
.site-footer ul li{list-style: none;}
.site-footer .flex-col{display: flex;}

.brands{display: flex;}

.copyright{background: #4D3013; padding: 20px; font-size: 12px; text-align: center; color: #fff;}

/*  Stylized Footer
------------------------------------------------*/
.divfooter {width:85%; color:#fff; margin:0 auto; font-size:0.625em; line-height:11px; text-align:center;}
a.footerlink:link, a.footerlink:visited, a.footerlink:active{color:#fff; text-decoration:underline;}
a.footerlink:hover {color:#fff; text-decoration:none;}




/************************************************ Responsive Styles **/

@media screen and (max-width: 1700px) {
	.about-section .about-text{margin-left: 0;}
}
@media screen and (max-width: 1400px) {
	nav.primary ul li a{padding: 10px 6px; font-size: 1em;}

	.site-header .contact{margin-bottom: 0;}
	.site-header .logo img{width: 100%; max-width: 300px;}
	
	.about-section{align-items: center;}
	.about-section .about-img{width: 450px;}

	.site-footer .col-3{width: 50%;}
	.site-footer .col-6{width: 100%; margin-top: 25px;}
}
@media screen and (max-width: 1024px) {
	.site-header{padding: 0;}
	.site-header .logo{width: calc(100% - 100px);}
	.site-header .contact{padding: 15px 0; text-align: center;}
	
	.hero{height: 25vh;}

	.about-section .about-text{width: 100%;}
	.about-section .about-img{display: none;}
	.location-section .location-img{display: block;}

	nav.primary{display:none;}
	#menu-button{width:100px; display: block; font-size: 1em; line-height:60px; text-align: right; position: relative; z-index:400;}
	#menu-button a{color:#6C533D; text-decoration: none; padding:0 0 0 .8em; font-weight:500; text-transform: uppercase;}
	
	nav.mobile ul li a .fa{
		width:25px;
		font-weight:100;
		padding:8px 3px;
		margin:0 0 0 5px;
		text-align:center;
		background:#292929;
		-webkit-border-radius: 30px;
		-moz-border-radius: 30px;
		border-radius: 30px;
		text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	}
	
	nav.mobile ul li .fa-chevron-down {position:absolute; right:10px; margin:18px 0 0 0;}

	nav.mobile {
		display:block;
		position: fixed;
		top: 0;
		left: -285px;
		width: 285px;
		height: 100%;
		z-index: 500;
		overflow:auto;
		background:#333;
	}
	
	/* MENU HEADER SOCIAL MEDIA */
	nav.mobile .social-media {
		position: absolute;
		text-decoration: none;
		vertical-align: top;
		z-index:9999;
		display: inline-block;
		
		top: 15px;
		left: 15px;
		font-size:16px;
		word-spacing:13px;
		color: #ccc !important;
	}
	
	nav.mobile .social-media a:link, nav.mobile .social-media a:visited {color:#ccc; text-decoration:none;}
	nav.mobile .social-media a:hover, nav.mobile .social-media a:active {color:#fff; text-decoration:underline;}
	
	/* MENU HEADER STYLES */
	nav.mobile h3 {	
		color: #ccc;
		padding: 23px 0;
		position: relative;
		font-size: 18px;
		background:#313131;
	}			
	nav.mobile .menu-title {position: absolute; vertical-align: top; top: 16px; right: 47px; text-transform:uppercase; font-size:12px; color: #ccc;}
		
	/* MENU CLOSE 'X' BUTTON */
	nav.mobile .menu-toggle {position: absolute; top: 8px; right: 10px; padding: 6px 9px 5px; display: inline-block; font-weight: 700; font-size: 18px; line-height: 1; color: #ccc; text-decoration: none; vertical-align: top; font-family: Arial, sans-serif;}
	nav.mobile .menu-toggle:hover {color: #fff;}
	
	/* MENU LIST STYLE */
	nav.mobile ul {list-style: none; font-weight: 300; margin:0; padding:0;}
	nav.mobile ul li {color: #999; font-size:15px; border-bottom: 1px solid #303030;}
	
	/* FIRST LEVEL */
	nav.mobile ul li a {
		color: #999;
		position: relative;
		display: block;
		font-size:15px;
		text-align:right;
		text-decoration: none;
		border-left:4px #333 solid;
		padding: 15px 35px 15px 20px;
		text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	}
	nav.mobile ul li a:hover {background:rgba(45,45,45,0.5); color: #fff; border-left:4px #977A5C solid;}
	
	/* SECOND LEVEL */
	nav.mobile ul li li:last-child {border:none;}
	nav.mobile ul li li a {color: #ccc; background: #444; border-left:4px #444 solid; padding: 15px 10px 15px 15px;}
	nav.mobile ul li li a:hover {background:rgba(65,65,65,0.5);}
	
	/* THIRD LEVEL */
	nav.mobile ul li li li:last-child {border:none;}
	nav.mobile ul li li li a {color: #ccc; background: #555; border-left:4px #555 solid;}
	nav.mobile ul li li li a:hover {background:rgba(85,85,85,0.5);}
	
	.nav-footer {color:#292929; position:relative; text-align:center; font-size:16px; line-height:16px; padding:15px 0;}
	
	.site-footer{padding: 25px 0; text-align: center;}
	.site-footer strong{display: block; margin: 0 auto 10px;}
	.site-footer .flex-col{display: block; width: 100%; margin: 0 0 15px; padding: 0;}
	.site-footer .col-3:first-child{display: none;}
	.brands{justify-content: center;}
}

@media screen and (max-width: 768px) {
	.title-banner{padding: 20px 0;}
	.flex-col{flex: none; width: 100%; padding: 0; margin-bottom: 15px;}
	.flex-col:last-child{margin-bottom: 0;}
 
	.location-section .location-iframe{flex: none; width: 100%; padding: 0;}
	.location-section .location-iframe iframe{height: 200px;}
	.location-section .location-details{width: 100%;}
}

@media screen and (max-width: 480px){
	.btn{display: block;}
}