@charset "UTF-8";

/* Wilson Hill Carpentry Template */

body { 
	background-color: #f2f3ed;
	font-family: "ltc-goudy-oldstyle-pro", 'LTC Goudy Oldstyle Pro', Helvetica, Arial, sans-serif;
	margin: 0; padding: 0;
	font-size: 130%;
	color: #2c2c2c;
	transition: all .2s linear;
}
@media only screen and (max-width: 1000px) { body { font-size: 120%; } }
@media only screen and (max-width: 800px) { body { font-size: 150%; } }
@media only screen and (max-width: 450px) { body { font-size: 100%; } }

h1, h2, h3, h4, h5, h6 { color: #870007; margin-top: 0; margin-bottom: 0.5em; line-height: 110%; }
div.content h1 { font-size: 2.0em; }
div.content h2 { font-size: 1.8em; }
div.content h3 { font-size: 1.6em; }
div.content h4 { font-size: 1.4em; }
div.content h5 { font-size: 1.2em; line-height: 130%; }
div.content h6 { font-size: 1.0em; line-height: 130%; }

div.content p { line-height: 150%; }

div.content a { color: #870007; }
div.content a:visited, div.content a:hover, div.content a:active { color: #a7010a; }

div.content li { margin: 0 0 0.3em 0; }

div { box-sizing: border-box; }
div.clear { clear: both; }



/* Images in content area */ 

.content img, .content span.wf_caption { 
	display: block; 
	float: right; 
	margin: 0 0 2em 2em; 
	max-width: 40%; height: auto;
  	border: none!important;
}

.content img.left, .content span.wf_caption.right { 
	float: right; 
	margin: 0 2em 2em 0; 
}

.content img.nofloat { 
	float: none; 
	display: block;
	margin: 1em auto; 
        max-width: 100%; height: auto;
}

@media screen and (max-width: 800px) { 
  .content img, .content span.wf_caption { float: none!important; display: block!important; margin: 1em auto!important; max-width: 100%!important; height: auto!important; } 
}

.content span.wf_caption { text-align: center; line-height: 120%; }

.content span.wf_caption img { float: none; max-width: 100%; margin: 0 0 0.5em 0!important; }
.content span.wf_caption span { font-size: 0.9em; }




/* ----------- INNER CONTAINERS (holds content at max-width of 1200px) ----------- */

.container-inner { 
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

@media screen and (max-width: 1200px) { .container-inner { padding-left: 3%!important; padding-right: 3%!important; } }



/* ----------- HEADER ----------- */

#header { 
	background: #fff;
}

@media screen and (max-width: 800px) { #header { padding-bottom: 0; background-size: 100% auto; } }


/* Logo */
#header h1 { 
	width: 100%;
	max-width: 320px;
	text-align: center;
	margin: 0 auto; padding: 0.5em 0 0.2em 0;
}

@media screen and (max-width: 800px) { #header h1 { width: 90%; } }
@media screen and (max-width: 500px) { #header h1 { padding: 0.8em 0 0.5em 0;  } } 

#header h1 img { width: 100%; height: auto; max-width: 325px; }





/* ----------- CALL TO ACTION/PHOTO ----------- */

#cta {   
	padding-top: 2.3em; /* matches height of top navigation */ 
    position: relative;
}
@media screen and (max-width: 600px) { 
	#cta { 
		padding: 6em 0 0 0; 
		background-image: url(../images/barn-bg.jpg);
		background-repeat: no-repeat;
		background-size: 100% auto;
	} 
}

#cta img.bg { 
	position: absolute; 
	left: 0; top: 0; 
	width: 100%; 
	height: auto; 
	z-index: 1; 
}
@media screen and (max-width: 600px) { 
	#cta img.bg { display: none; } 
}



#cta .container-inner { 
  padding: 4em 0;
  position: relative; z-index: 5;
}
@media screen and (max-width: 800px) { #cta .container-inner { padding: 1em 3%!important; } }
@media screen and (max-width: 600px) { #cta .container-inner { margin: 0; padding: 0!important; } }


#cta div.moduletable { 
	display: inline-block;
	float: right;
}
@media screen and (max-width: 800px) { #cta div.moduletable { font-size: 0.7em; } }
@media screen and (max-width: 600px) { 
  #cta div.moduletable { 
	margin: 0; padding: 0.5em 3%;
	display: block; 
	width: 100%; 
	float: none!important; 
	background: rgba(0,0,0,0.45); 
} 
  #cta div.moduletable br { display: none; }
}

#cta h2, #cta h3, #cta h4 { 
  color: #f1f2eb; 
  text-shadow: 2px 2px 4px #000; 
  margin: 0.3em 0; padding: 0; 
  font-style: italic;
  text-align: center;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 600px) { #cta h2, #cta h3 { margin: 0; } } 


#cta h2 { font-size: 2em; }
#cta h3 { font-size: 1.7em; font-weight: normal!important; }

#cta h4 a { 
  font-style: normal; 
  text-transform: uppercase;
  color: #f1f2eb; 
  text-decoration: none; 
  letter-spacing: 0.1em; 
  display: inline-block;
  border: 1px solid white;
  margin: 1em 0 0 0;
  padding: 0.4em 1em 0.3em 1em;
  border-radius: 0.3em;
  background: rgba(241,242,235,0.2);
  text-shadow: 1px 1px 2px #000;
  font-size: 1em; 
  line-height: 130%;
}
@media screen and (max-width: 600px) { #cta h4 a { margin: 0.5em 0; } } 



/* ----------- CONTAINER FOR CONTENT & SIDEBAR ----------- */

#content-sidebar {	
  margin: 0;
  padding: 1em 0;
	background-image: url(../images/content-bg.png);
	background-position: center top;
	background-repeat: repeat-x;
	background-size: 5px auto;
  position: relative; z-index: 1;
}

#content-sidebar .container-inner { /* has hemlock bg */
	background-image: url(../images/hemlock.png);
	background-position: right 1em top 15em;
	background-repeat: no-repeat;
	background-size: 20% auto;
}

@media screen and (max-width: 1000px) { 
	#content-sidebar { padding: 0; }
	#content-sidebar .container-inner { 
		padding: 0!important; 
		background-size: 244px auto;
		background-position: center bottom;
	} 
} 



/* ----------- CONTENT ----------- */

div.content { 
  	width: 66.6%; 
	margin: 2em 0 2em 0!important;
    padding: 1em 3% 1em 3%;
  	float: left; 
	border: 1px solid #c9cbc4;
	box-shadow: 0 0 1em 1em rgba(0,0,0,0.2);
  position: relative; z-index: 10;
  background: #fff;
}

@media only screen and (max-width: 1200px) { 
  div.content { width: 60%; }
}

@media only screen and (max-width: 900px) { 
  div.content { 
    float: none; 
    width: 100%; 
	padding: 1em 3%;
	margin: 0!important;
  }
}
@media only screen and (max-width: 600px) { 
  div.content {  }
}



/* Full-width content area (when there is no sidebar) */
div.content.fullwidth { 
  width: 100%; 
  float: none; 
  margin-top: 3em!important;
}
@media only screen and (max-width: 1200px) { 
  div.content.fullwidth { width: 100%; }
}
@media only screen and (max-width: 1000px) { 
  div.content.fullwidth { margin-top: 2em!important; }
}
@media only screen and (max-width: 900px) { 
  div.content.fullwidth { margin-top: 0!important; }
}


/* ------------- BREADCRUMBS ------------ */

div.content div.moduletable.breadcrumbs { margin: 0.2em 0 1em 0; padding: 0; }

div.content div.moduletable.breadcrumbs ul { list-style: none; margin: 0; padding: 0; }
div.content div.moduletable.breadcrumbs ul li { line-height: 130%; margin: 0; padding: 0; display: inline; font-size: 0.75em; color: black; }
div.content div.moduletable.breadcrumbs ul li:first-child { font-style: italic; }
div.content div.moduletable.breadcrumbs ul li a { color: #2c2c2c!important; }




/* ----------- SIDEBAR ----------- */

#sidebar { 
  width: 33.3%; 
	float: right;
	margin: 2em 0;
    padding: 2em 0 0 3%; 
}

@media only screen and (max-width: 1200px) { 
	#sidebar { width: 40%; margin: 2em 0; padding: 2em 3% 0 3%; }
}

@media only screen and (max-width: 900px) { 
	#sidebar { float: none; width: 100%; padding: 2em 0 2em 0; }
}

#sidebar > div.moduletable.poem p { 
  text-align: right;
  font-size: 1.4em;
  font-style: italic;
  line-height: 1.5em;
  margin: 0; padding: 0;
}
#sidebar > div.moduletable.poem p.byline { 
  font-style: normal;
  text-transform: uppercase;
  font-size: 1em;
  letter-spacing: 0.1em;
  margin-top: 1em;
}

@media screen and (max-width: 900px) { #sidebar > div.moduletable.poem p { text-align: center; } } 




/* ----------- FOOTER ----------- */

#footer { 
	background-image: url(../images/footer-bg.jpg);
	background-position: center bottom 20px;
	background-repeat: repeat-y;
    background-size: 100% auto; 
  border-top: 1px solid #bdb5b6;
}
@media screen and (max-width: 1000px) { #footer { background-size: 120% auto; } }
@media screen and (max-width: 800px) { #footer { background-size: 150% auto; } }

#footer .container-inner div.moduletable div.custom { 
	display: flex; 
	flex-direction: row; 
	padding: 1.5em 0; 
	justify-content: space-between;
	align-items: flex-end;
}
@media screen and (max-width: 1200px) { #footer .container-inner div.moduletable div.custom { padding: 1em 3%; } }
@media screen and (max-width: 800px) { #footer .container-inner div.moduletable div.custom { padding: 1em 3% 0.5em 3%; display: block; } }

#footer p { margin: 0; padding: 0; } 
@media screen and (max-width: 800px) { 
  #footer p { font-size: 0.9em; text-align: center!important; margin: 0 0 1em 0;  }
}

#footer a { color: #2c2c2c; }

#footer p img { width: 5px; height: auto; margin: 0 0.3em 3px 0.3em; } 

/* Contact info in footer */ 
#footer p.contact { line-height: 150%; flex-grow: 2; }
#footer p.contact strong { font-weight: normal; text-transform: uppercase; letter-spacing: 0.1em; }
@media screen and (max-width: 1200px) { #footer p.contact { flex-grow: 2; } }
@media screen and (max-width: 800px) { #footer p.contact span.dot { display: none; } }


/* Email and phone buttons on mobile devices */
@media screen and (max-width: 800px) { 
	#footer p.contact a { 
		display: inline-block;
		background: rgba(255,255,255,0.8);
		border: 1px solid #870007; 
		border-radius: 0.3em;
		margin: 0.5em 1em 0.5em 0; padding: 0.3em 1em; 
		text-decoration: none; 
		color: #870007!important;
	} 
	#footer p span.dot { display: none; }
}


/* Copyright & credits */
#footer p.copyright { 
  flex-grow: 1; xmax-width: 60%;
  text-transform: uppercase; 
  letter-spacing: 0.1em; 
  font-size: 0.65em; 
  text-align: right; 
  align-self: flex-end; 
  line-height: 150%;
}
#footer p.copyright br { xdisplay: none; }
#footer p.copyright span.dot { display: none; }

@media screen and (max-width: 1200px) { 
	#footer p.copyright { max-width: 50%; flex-grow: 1; } 
	#footer p.copyright br { display: inline; }
	#footer p.copyright span.dot { display: none; }
}
@media screen and (max-width: 800px) { 
	#footer p.copyright { max-width: 100%; } 
	#footer p.copyright br { xdisplay: none; }
	#footer p.copyright span.dot { display: inline; }
	#footer p.copyright a { display: inline-block; }
}






/* ----------- TOP NAVIGATION ----------- */

nav.topnav { 
  background-color: rgba(255,255,255,0.85);
  background-image: url(../images/topnav-border.png), url(../images/topnav-border.png);
	background-position: center top, center bottom;
	background-repeat: repeat-x;
	background-size: 5px auto; 
  height: 2.3em;
  margin: 0 0 -2.3em 0;
  position: relative; z-index: 100;
}

@media screen and (max-width: 1000px) { 
  nav.topnav { margin: 0; height: auto; } 
}

nav.topnav ul#responsiveMenu107 { 
  width: auto; 
  box-sizing: border-box; 
  margin: 0 auto;
  padding: 0;
  display: table;
  text-align: center;
}


#responsiveMenu107 > li#item-121 { display: none; } /* hide 'Log In' */

#responsiveMenu107 li { font-family: "ltc-goudy-oldstyle-pro", serif; }

#responsiveMenu107 li a { border: none; }


/* Top-level links */ 
#responsiveMenu107 > li { 
  width: auto!important;
  padding: 12px 2.1em 16px 1.7em; 
  background-image: url(../images/topnav-diamond.png); 
  background-repeat: no-repeat; 
  background-position: right 21px;
  background-size: 9px auto;
  box-sizing: border-box;
}

#responsiveMenu107 > li#item-101.first { width: auto; }
#responsiveMenu107 > li#item-120 { background-image: none; } /* Contact */
#responsiveMenu107 > li:hover { 
  background-color: #fff; 
  background-image: url(../images/topnav-diamond.png), url(../images/topnav-border.png), url(../images/topnav-border.png);
  background-position: right 21px, center top, center bottom;
  background-repeat: no-repeat, repeat-x, repeat-x; 
  background-size: 9px auto, 5px auto, 5px auto;
} 
#responsiveMenu107 > li#item-120:hover { /* Contact */
  background-image: url(../images/topnav-border.png), url(../images/topnav-border.png)!important;
  background-position: center top, center bottom!important;
  background-repeat: repeat-x; 
  background-size: 5px auto;
} 


#responsiveMenu107 > li > a { 
  text-transform: uppercase; 
  color: #870007; 
  font-size: 1.1em; 
  font-weight: bold; 
  letter-spacing: 0.1em; 
  padding: 0; 
}  

#responsiveMenu107 > li > a span.linker { text-align: center; padding: 0!important; }

#responsiveMenu107 > li:hover > a span.linker { color: #be000a; }
#responsiveMenu107 > li > a > span.linker { padding: 0.4em 0.5em 1em 0.5em; height: 1em; }

#responsiveMenu107 > li.parent > a > span.linker {  }
ul#responsiveMenu107 > li.parent a.parent { padding-right: 0; margin-right: 0; }
ul#responsiveMenu107 > li.parent > a.parent > span.opener { display: none; }


/* Second-level menus */ 
#responsiveMenu107 > li.parent ul { 
  background-color: #fff;
  text-align: left;
  font-size: 0.7em;
  z-index: 100; 
  box-shadow: 0 0.2em 0.5em rgba(0,0,0,80%);
  margin: 16px 0 0 0!important;
 }

#responsiveMenu107 > li.parent ul > li { padding: 0 1em; }
#responsiveMenu107 > li.parent ul > li > a { padding: 0; color: #870007; }

#responsiveMenu107 > li#item-120:hover { background-image: none; }

#responsiveMenu107 > li.parent ul > li > a > span.linker { 
  font-weight: normal; 
  font-variant: normal; 
  letter-spacing: 0; 
  margin: 0; 
  padding: 0.5em 0.8em; 
  display: block; 
  font-size: 1.5em; 
  font-family: inherit;
}
#responsiveMenu107 > li.parent ul > li > a { border-top: 1px solid #2c2c2c; }
#responsiveMenu107 > li.parent ul > li:first-child > a { border-top: none; padding-top: 0.3em; }
#responsiveMenu107 > li.parent ul > li:last-child > a { padding-bottom: 0.4em; }

#responsiveMenu107 > li.parent ul > li > a:hover { color: #bd010b; }



/* Mobile menu */

@media screen and (max-width: 900px) {
  nav.topnav { 
    background-position: center top, center bottom;
    padding-bottom: 0.5em;
}

nav.topnav div.container-inner { padding: 0!important; }

a.responsiveMenu1m.toggleMenu.isMobile { 
  box-sizing: border-box;
  display: block; 
  width: 100%; height: auto;
  margin: 4px 0 -0.3em 0; padding: 0.2em 0!important; 
  text-transform: uppercase;
  font-size: 1.2em; 
  font-weight: bold;
  text-decoration: none; 
  color: #fff5e5;
  letter-spacing: 0.05em; 
  text-align: center; 
  border-radius: 0; 
  background-color: transparent;
  background-image: url(../images/hamburger.png);
  background-size: auto 0.75em; 
  background-position: calc(50% - 3em);
  color: #870007;
}
  
 a.responsiveMenu1m.toggleMenu.isMobile.active {  }
 
}

/* Main mobile menu */
nav.topnav ul#responsiveMenu107.isMobile { 
  position: relative; 
  z-index: 100; 
  width: 100%;
  margin: 0 auto; padding: 0!important;
  background-color: white!important; 
  text-align: left;
  box-shadow: 0 0.5em 0.5em rgba(0,0,0,50%);
}
  

  /* Links */

  ul#responsiveMenu107.isMobile > li { padding: 0 2%; border: none!important; background-image: none; }

  ul#responsiveMenu107.isMobile > li > a { padding: 0.6em 0 0.8em 0;  border-top: 1px solid #2c2c2c; }
  ul#responsiveMenu107.isMobile > li:first-child > a { border-top: none; padding-top: 0.8em; }

  ul#responsiveMenu107.isMobile > li > a:hover { background-color: white; }

  
  /* Second-level links */ 
  ul#responsiveMenu107.isMobile > li.parent ul { box-shadow: none; margin: 0!important; padding: 0!important; }
  
  ul#responsiveMenu107.isMobile > li.deeper.parent > ul > li > a { 
    border: none!important; 
    background-image: url(../images/topnav-diamond.png); 
    background-repeat: no-repeat; 
    background-size: 9px auto; 
    background-position: left 50%; 
  }
  ul#responsiveMenu107.isMobile > li.parent > ul > li > a > span.linker { padding: 0.4em 0 0.4em 1.2em; }
  
  ul#responsiveMenu107.isMobile > li.active > ul > li.current > a > span.linker { font-weight: bold; }
  

@media screen and (max-width: 450px) { a.responsiveMenu1m.toggleMenu.isMobile { font-size: 1.2em; } }




/* ------------- OS GALLERY (photo galleries) ------------- */

ul.osgalery-cat-tabs { display: none; } /* hides name of gallery (redundant with title in module) */ 
div.copyright-block  { display: none; } /* hides copyright */ 

div.content div.img-block.none-effect > a img { max-width: 100%; margin: 0!important; }

div.os-cat-tab-images div.img-block.none-effect { 
	box-shadow: 0 0 0.3em rgba(0,0,0,0.5); 
	width: 30%!important; 
	margin: 0 1.6% 1.4em 1.6%!important; 
	background: white; 
}
@media screen and (max-width: 1000px) { 
  div.os-cat-tab-images div.img-block.none-effect { width: 46.8%!important; }
}
@media screen and (max-width: 600px) { 
  div.os-cat-tab-images div.img-block.none-effect { width: 100%!important; margin: 0 0 1.5em 0!important; }
}




