/*
Theme Name:		JBB Development
Theme URI:		http://www.jasonbuckboyer.com/wordpress-starter/
Description:	My custom theme built on top of JBB
Version:		1.1
Author:			Jason Boyer
Author URI:		http://www.jasonbuckboyer.com
Tags:			Jason Buck Boyer, clean, basic
*/

/****************************************
CONTENTS:
01 Defaults
02 Typography
03 Forms
04 Layout
05 Widgets
*****************************************/

/****************************************
01 Defaults
*****************************************/
*,
*:before,
*:after { -webkit-box-sizing:inherit; box-sizing:inherit; }
html { -webkit-box-sizing:border-box; box-sizing:border-box; }
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { font-size:100%; margin:0; padding:0; outline:0; border:0; vertical-align:baseline; background:transparent; }
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display:block; }
audio, canvas, video { display:inline-block; }
audio:not([controls]) { display:none; }
[hidden] { display:none !important; }
ul,
ol { list-style:none; }
li { list-style:inherit; }
abbr[title]:hover { border-bottom:1px dotted; }
b, strong, .bold { font-weight:bold; }
i, em, dfn { font-style:italic; }
hr { display:block; height:0; border:0; border-top:1px solid #e9d9d1; margin:30px 0; padding:0; }
ins { background:#ff9; color:#000; text-decoration:none; }
mark { background:#ff0; color:#000; font-style:italic; font-weight:bold; }
pre, code, kbd, samp { font-family:'courier new', monospace; }
pre { white-space:pre; white-space:pre-wrap; word-wrap:break-word; }
small { font-size:85%; }
sub,
sup { font-size:75%; line-height:0; position:relative; vertical-align:baseline; }
sup { top:-0.3em; }
sub { bottom:-0.25em; }
img { border:0; -ms-interpolation-mode:bicubic; max-width:100%; vertical-align:middle; }
table { border-collapse:collapse; border-spacing:0; }
td { vertical-align:top; }
::-moz-selection { background:#5e788c; color:#f2f2f2; }
::selection { background:#5e788c; color:#f2f2f2; }

/* Useful classes */
.hide-visually { height:1px !important; line-height:2em; margin:-1px; opacity:0; overflow:hidden !important; pointer-events:none; position:absolute !important; width:1px !important; }
.clear { clear:both; display:block; height:1px; margin-top:-1px; }
.clearfix:after { display:table; clear:both; content:''; }
@media print {
	.no-print { display:none !important; }
}
@media (max-width:767px) {
	.hide-480 { display:none !important; }
}

/****************************************
02 Typography
*****************************************/
html { color:#60493c; font-size:20px; font-family:"Source Serif Pro", "Times New Roman", Times, serif; height:100%; line-height:1.4; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%; -moz-osx-font-smoothing:grayscale; -webkit-font-smoothing:antialiased; overflow-y:scroll; }
body { background:#f2f2f2; }
p { margin-top:20px; }
p:first-child { margin-top:0; }

/* Links and Buttons */
a { color:inherit; text-decoration:none; }
a:hover { text-decoration:underline; }
a:focus,
button:focus,
.button:focus { outline:2px solid #98362f; outline-offset:2px; }
:focus,
.mouseEvents :focus { outline:none; }
button,
input { font-family:inherit; font-size:inherit; font-weight:inherit; line-height:normal; }
button,
[type="button"],
[type="reset"],
[type="submit"] { cursor:pointer; -webkit-appearance:button; }
.button { background-color:#98362f; border:1px solid #98362f; border-radius:5px; box-shadow:inset 0 0 0 1px #f2f2f2; color:#f2f2f2; display:inline-block; font-size:18px; font-weight:normal; height:44px; line-height:20px; padding:10px 20px; white-space:nowrap; width:auto; }
.button:hover { background:linear-gradient(to bottom, #98362f, #752924); text-decoration:none; }

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6 { font-weight:bold; }

/* Other */
blockquote { border-left:6px solid; padding-left:20px; }
q { quotes:none; }
q:before,
q:after { content:""; content:none; }
.top-spacing { margin-top:30px; }
.ul { list-style:disc outside; margin-left:20px; }
.ul .ul { list-style-type:circle; }
.photo { border:1px solid #e2cabf; display:inline-block; max-width:100%; position:relative; vertical-align:top; }
.photo > img { border:1px solid #fff; display:block; }
.photo-attribution { background:#fff; border-radius:8px; bottom:5px; color:#000; font-size:14px; font-weight:bold; height:16px; left:5px; line-height:16px; opacity:.1; position:absolute; text-align:center; width:16px; }
.photo-attribution::before { content:'i'; font-family:'Times New Roman', serif; }
.photo-attribution:hover { opacity:.3; text-decoration:none; }
@media (max-width:990px) {
	.slide .photo-attribution { bottom:auto; top:5px; }
}
@media (min-width:990px) {
	.slide .photo-attribution { bottom:35px; }
}

/****************************************
03 Forms
*****************************************/
label { cursor:pointer; display:block; text-align:left; }
input,
select,
textarea { -webkit-appearance:none; appearance:none; background-color:#fff; border:1px solid currentColor; border-radius:0; box-shadow:inset 1px 1px 6px rgba(118, 99, 88, .2); display:block; font-family:inherit; font-size:18px; line-height:30px; margin:0; height:30px; padding:0 0 0 4px; vertical-align:baseline; width:100%; color:#766358; }
input:not(.button):focus,
select:focus,
textarea:focus { border-color:#529528; outline:0; }
select {  background:#fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAMBAMAAABhKdtFAAAAJFBMVEUAAABCQkKvr6/X19f09PRTU1NpaWmCgoKZmZnFxcXl5eUzMzPMP+ALAAAAC3RSTlMA62MyDda7nH9IIJVOilsAAABTSURBVAjXY2DcDQUCDCDADOMaMICBNoS3iQEC2CHcAiiXJRrE2+rAAAWrQdxdDDDACeJOYICD7t27dzAgANvu3QlIXBbpjQ4MSMB6MwMyYFKAsQBPrCjYxDXxBgAAAABJRU5ErkJggg==) 100% 50% no-repeat; background-size:9px 6px; font-weight:normal; padding-right:22px; text-shadow:0 -1px rgba(255, 255, 255, .5); white-space:nowrap; }
.ie9 select { padding-right:0; }
@-moz-document url-prefix() {
	select { background-image:none; }
}
select::-ms-expand { display:none; } /* Remove Arrow in IE */
button::-moz-focus-inner,
input::-moz-focus-inner { border:0; pdding:0; }
textarea { height:90px; overflow:auto; vertical-align:top; resize:vertical; }
input[type="radio"] + label { display:inline-block; margin-right:20px; }
.error,
.required { color:#98362f; }

.radio + label { display:inline-block; font-weight:normal; line-height:21px; max-width:100%; padding:6px 0 0 24px; -webkit-user-select:none; user-select:none; width:auto; }
.radio:not([disabled]) + label { cursor:pointer; }
.radio + label::before { background-color:#dedcd6; background-image:-webkit-linear-gradient(#dedcd6, #bebbb3); background-image:linear-gradient(#dedcd6, #bebbb3); -webkit-box-shadow:inset 0 -2px 0 rgba(0, 0, 0, .2); box-shadow:inset 0 -2px 0 rgba(0, 0, 0, .2); color:#fff; content:''; float:left; font-size:14px; height:20px; line-height:20px; margin:0 4px 0 -24px; text-align:center; text-indent:0; width:20px; }
.radio + label::before { border-radius:50%; }
.radio:checked + label::before { background:#9cbe30; box-shadow:inset 0 2px 1px #b8d94c, inset 0 -2px 0 rgba(0, 0, 0, .2), inset 0 0 0 6px #9cbe30, inset 0 0 0 10px #fff; }
.radio:not([disabled]):focus + label::before { box-shadow:inset 0 2px 1px -1px #b8d94c, inset 0 -2px 0 rgba(0, 0, 0, .2), inset 0 0 0 6px #9cbe30, inset 0 0 0 10px #fff; }
body:not(.mouseEvents) .radio:not([disabled]):focus + label::before { outline:1px dotted #98362f; outline-offset:1px; -moz-outline-radius:50%; }
.radio:not([disabled]):active + label::before { box-shadow:inset 0 2px 1px -1px #b8d94c, inset 0 -2px 0 rgba(0, 0, 0, .2), inset 0 0 0 6px #939189, inset 0 0 0 10px #fff; }
.radio[disabled] + label::before { opacity:.6; }
.radio { height:30px; line-height:0; opacity:0; overflow:hidden; position:absolute; width:1px; }

/****************************************
04 Layout
*****************************************/
/* Navigation */
.nav { background:#e9d9d1 url('images/bkg.jpg') repeat 0 0; background-size:100% auto; border:2px solid #f2f2f2; }
.nav-heading { border-bottom:2px solid #f2f2f2; }
.nav-logo { display:block; margin:20px auto; left:4px; position:relative; width:256px; }
.nav-logo img { max-height:82px; }
.nav-link { border-radius:inherit; }
.nav-link,
.nav-menu-toggle { border:0; color:#f2f2f2; display:block; height:36px; line-height:37px; padding:0; text-align:center; width:100%; background-color:#7d6054; -webkit-user-select:none; user-select:none; background:linear-gradient(to right, #674f45, #8a6758 35%, #8a6758 65%, #674f45); }
.nav-link:hover { background:#674f45; text-decoration:none; }
.nav-link.nav-active { background:#5a463e; }
.nav-item { margin-bottom:2px; }
.nav-item:first-child { border-radius:5px 5px 0 0; }
.nav-item:last-child { border-radius:0 0 5px 5px; margin-bottom:0; }
.nav-menu { margin:22px 20px 0; }
@media (max-width:989px) {
	.nav-menu-toggle { -webkit-appearance:none; appearance:none; border-bottom:2px solid #f2f2f2; margin-bottom:-2px; }
	.nav-menu-toggle::after { content:''; display:inline-block; border:5px solid transparent; border-top-color:currentColor; margin-left:4px; }
	h2:not(.nav-menu-active) + .nav-menu { height:0; margin-bottom:0; margin-top:0; }
	.nav-menu { height:208px; overflow:hidden; -webkit-transition:height .25s, margin-top .25s; transition:height .25s, margin-top .25s; }
}
@media (min-width:990px) {
	.nav { bottom:0; box-shadow:0 0 0 10px #453a34; left:0; position:fixed; top:0; width:300px; z-index:1; }
	.nav-menu-toggle { display:none; }
}

/* Grid */
[class*="col-"] { -webkit-box-sizing:border-box; box-sizing:border-box; }
.cols { margin-left:-30px; word-wrap:break-word; }
.cols-small { margin-left:-15px; }
.cols:after { clear:both; content:''; display:table; }
[class*="col-"] { float:left; min-height:1px; padding-left:30px; }
.cols-small > [class*="col-"] { padding-left:15px; }
.cols ~ .cols,
.new-row,
.new-row ~ [class*="col-"] { margin-top:30px; }
.cols ~ .cols-small,
.cols-small > .new-row,
.cols-small > .new-row ~ [class*="col-"] { margin-top:15px; }
.col-1-10 { width:10%; }
.col-1-6 { width:16.666666%; }
.col-1-5 { width:20%; }
.col-1-4 { width:25%; }
.col-3-10 { width:30%; }
.col-1-3 { width:33.333333%; }
.col-2-5 { width:40%; }
.col-1-2 { width:50%; }
.col-3-5 { width:60%; }
.col-2-3 { width:66.666666%; }
.col-7-10 { width:70%; }
.col-3-4 { width:75%; }
.col-4-5 { width:80%; }
.col-5-6 { width:83.333333%; }
.col-9-10 { width:90%; }
.col-1 { width:100%; }
.col-right { float:right; }
@media only screen and (max-width:989px) {
	.full-768 > [class*="col-"] { width:100%; }
	.full-768 > :first-child ~ [class*="col-"] { margin-top:30px; }
	.cols-small.full-768 > :first-child ~ [class*="col-"] { margin-top:15px; }
}
@media only screen and (max-width:767px) {
	.full-480 > [class*="col-"] { width:100%; }
	.full-480 > :first-child ~ [class*="col-"] { margin-top:30px; }
	.cols-small.full-480 > :first-child ~ [class*="col-"] { margin-top:15px; }
}
@media only screen and (max-width:479px) {
	.full-320 > [class*="col-"] { width:100%; }
	.full-320 > :first-child ~ [class*="col-"] { margin-top:30px; }
	.cols-small.full-320 > :first-child ~ [class*="col-"] { margin-top:15px; }
}

/* Top Bar */
.top { background-color:#453a34; color:#f2f2f2; padding:10px; }
.top label { font-size:15px; line-height:20px; }
.top-form input:not(.button),
.top-form select { border-radius:3px; font-size:16px; height:24px; line-height:24px; }
@media (max-width:767px) {
	.date-field,
	.days-field,
	.beds-field { float:left; width:50%; }
	.days-field,
	.beds-field { margin-left:5px; width:calc(25% - 5px); }
	.submit-field { clear:both; padding-top:10px; }
	.submit-field .button { width:100%; }
}
@media (min-width:768px) and (max-width:989px) {
	.top { text-align:center; }
	.top-form { display:inline-block; vertical-align:top; }
}
@media (min-width:768px) {
	.days-field,
	.beds-field,
	.submit-field { float:left; min-width:50px; }
	.date-field { float:left; min-width:120px; }
	.days-field,
	.beds-field,
	.submit-field { margin-left:20px; }
}
@media (max-width:1099px) {
	.top-extra { display:none; }
}
@media (min-width:990px) {
	.top { background-color:rgba(0, 0, 0, .6); height:64px; left:310px; padding-left:40px; padding-right:20px; position:fixed; text-align:right; right:0; top:0; z-index:2; }
}
@media (min-width:1100px) {
	.top-form { float:left; text-align:left; }
	.top-extra { float:right; font-size:18px; padding:11px 0 0; }
	.top-phone { color:inherit; }
}

/* Main Content */
.page-header { background-color:#f3eeec; border-bottom:5px solid #453a34; margin-bottom:60px; text-align:center; }
.page-title { background:#e9d9d1 url('images/bkg.jpg'); border:5px solid #f2f2f2; font-size:36px; margin:0 0 -30px; outline:5px solid #453a34; overflow:hidden; padding:20px 20px 18px; vertical-align:top; }
@media (min-width:990px) {
	body { padding-left:310px; }
	.main { padding-bottom:30px; }
	.page-header { padding-top:94px; }
	.page-title { display:inline-block; margin-left:35px; margin-right:35px; max-width:900px; width:calc(100% - 70px); }
}
.page-content { margin:15px auto 30px; max-width:910px; width:calc(100% - 60px); }
.subtitle-1 { border-bottom:1px solid #e2cabf; font-size:24px; margin-bottom:15px; padding-bottom:10px; position:relative; }
.subtitle-1::before { background-color:#98362f; bottom:-1px; content:''; height:1px; left:0; position:absolute; width:100px; }

/* Footer Area */
.footer { font-size:14px; line-height:26px; text-align:center; }
.footer a { color:inherit; }
.for-sale { display:inline-block; background-color:#98362f; border:1px solid #f0e4de; border-radius:3px; color:#fff; margin:-1px 5px -1px 0; padding:0 6px; }
.for-sale:hover { background-color:#752924; color:#fff; text-decoration:none; }
.trip-advisor { display:inline-block; }
.trip-advisor:hover { text-decoration:none; }
.stars { background:url('images/stars.svg') no-repeat 50% 0; display:block; height:26px; margin:20px auto 4px; overflow:hidden; text-indent:120%; white-space:nowrap; width:146px; }
.address { border-top:2px solid #f2f2f2; margin-top:12px; padding:20px 10px 18px; }
.copyright { background-color:#453a34; color:#f0e4de; font-size:13px; line-height:20px; margin-top:0; padding:5px 10px; }
@media (max-width:989px) {
	.footer { background:#e9d9d1 url('images/bkg.jpg') 50% 0 repeat-y; background-size:100% auto; border:2px solid #f2f2f2; }
}
@media (min-width:990px) {
	.footer { bottom:0; left:0; position:fixed; width:300px; z-index:2; }
	.copyright { bottom:0; position:fixed; left:300px; right:0; text-align:right; }
}
@media (min-width:990px) and (max-height:550px) {
	.trip-advisor { display:none; }
}
@media (min-width:990px) and (max-height:475px) {
	.footer { display:none; }
}

/****************************************
05 Page-Specific
*****************************************/
/* Home Page */
.slide { background-size:cover; opacity:1; overflow:hidden; position:relative; text-align:center; -webkit-transition:opacity .5s; transition:opacity .5s; }
.slide-caption { background-color:rgba(0, 0, 0, .6); color:#f2f2f2; padding:15px 23px; position:absolute; text-align:left; }
.slide-caption p { margin-top:0; }
.slide-title { font-size:24px; font-weight:600; }
@media (max-width:989px) {
	.slide { background-position:50% 0; background-repeat:no-repeat; height:570px; }
	.slide-caption { bottom:0; font-size:16px; left:0; right:0; }
	/* Images */
	.slide-motel { background-image:url("images/hideout-mobile.jpg"); }
	.slide-ski { background-image:url("images/ski-mobile.jpg"); }
	.slide-fire { background-image:url("images/fire-mobile.jpg"); }
	.slide-bear-lake { background-image:url("images/bear-lake-mobile.jpg"); }
	.slide-snowmobile { background-image:url("images/snowmobile-mobile.jpg"); }
	.slide-lake-alice { background-image:url("images/lake-alice-mobile.jpg"); }
	.slide-hunt { background-image:url("images/hunt-mobile.jpg"); }
}
@media (max-width:467px) {
	.slide { background-size:auto 100%; height:284px; }
}
@media (min-width:480px) and (max-width:768px) {
	.slide { height:440px; }
}
@media (min-width:990px) {
	.home-page { height:100%; }
	.slides { bottom:30px; left:310px; overflow:hidden; padding-bottom:0; position:absolute; right:0; top:0; }
	.slide { background-repeat:no-repeat; bottom:0; left:0; position:absolute; right:0; top:0; }
	.slide:not(.slide-active) { opacity:0; pointer-events:none; }
	.slide-caption { padding:15px 20px; }
	.slide-title { font-size:40px; }
	/* Images */
	.slide-loaded.slide-motel { background-image:url("images/hideout.jpg"); background-position:85% 0; }
	.slide-loaded.slide-ski { background-image:url("images/ski.jpg"); }
	.slide-loaded.slide-fire { background-image:url("images/fire.jpg"); }
	.slide-loaded.slide-bear-lake { background-image:url("images/bear-lake.jpg"); }
	.slide-loaded.slide-snowmobile { background-image:url("images/snowmobile.jpg"); }
	.slide-loaded.slide-lake-alice { background-image:url("images/lake-alice.jpg"); }
	.slide-loaded.slide-hunt { background-image:url("images/hunt.jpg"); }
	.slide-motel .slide-caption { right:40px; top:104px; }
	.slide-ski .slide-caption { left:40px; bottom:180px; }
	.slide-fire .slide-caption { left:40px; top:104px; }
	.slide-bear-lake .slide-caption { left:40px; top:104px; }
	.slide-snowmobile .slide-caption { left:40px; top:144px; }
	.slide-lake-alice .slide-caption { right:40px; top:40%; }
	.slide-hunt .slide-caption { left:40px; top:20%; }
}
@media (min-width:1300px) {
	.slide-caption { padding:15px 30px; }
	.slide-motel .slide-caption { right:70px; top:134px; }
	.slide-ski .slide-caption { left:160px; bottom:180px; }
	.slide-fire .slide-caption { left:40px; top:104px; }
	.slide-bear-lake .slide-caption { left:160px; top:184px; }
	.slide-snowmobile .slide-caption { left:320px; top:154px; }
	.slide-lake-alice .slide-caption { right:40px; top:42%; }
	.slide-hunt .slide-caption { left:120px; top:20%; }
}
.slide-ski { background-position:100% 0; }
.slide-hunt { background-position:0 0; }

/* Photo Gallery Page */
@media (max-width:479px) {
	.gallery img { width:100%; }
}

/* Directions Page */
.directions-page .main { padding-bottom:0; }
.map { background:url('images/loading.gif') no-repeat 50% 50%; border:1px solid #453a34; margin:15px 30px 30px; }
.map-iframe { height:100%; left:0; position:absolute; top:0; width:100%; }
@media (max-width:989px) {
	.map { height:50vh; position:relative; }
}
@media (min-width:990px) {
	.map { border:1px solid #453a34; display:block; height:calc(100vh - 290px);  position:relative; }
}

/* Reservations Page */
.reservations-container { margin:15px 30px 30px; }
.reservations-form { border-radius:5px; margin:0 auto; max-width:910px; width:100%; }
.reservations-confirmation { margin-top:10px; }
.contact-response { display:inline-block; vertical-align:middle; }
.phone-number { display:inline-block; font-weight:bold; }
@media (max-width:479px) {
	.contact-response { margin-top:20px; }
}
@media (min-width:480px) {
	.cols-table { display:table; }
	.cols-table .col { display:table-cell; }
	.cols-table .col:last-child { padding-left:20px; }
}
@media (max-width:1099px) {
	.reservations-page .top { display:none; }
}
@media (max-width:479px) {
	.reservations-page .page-header { padding-top:5px; }
}
@media (min-width:480px) and (max-width:1099px) {
	.reservations-page .page-header { padding-top:35px; }
}
.reservations-photo { margin-top:25px; }

/* For Sale Page */
@media (max-width:767px) {
	.for-sale-photo { margin-bottom:20px; }
}
@media (min-width:768px) {
	.for-sale-photo { float:right; margin:0 0 20px 20px; max-width:50%; }
}
.video-player { margin-top:30px; padding-bottom:56.25%; position:relative; }
.video-iframe { width:100%; height:100%; position:absolute; }
.gallery-photo { margin-bottom:20px; }