/*
Theme Name: FM2020 Theme
Description: Fletchers Mill Base Theme. Create a child theme to modify!
Version: 1.0
Author: Mike Hoff
*/

* {
	padding: 0;
	margin: 0;
	}

body {
	font-family: 'Open Sans', helvetica, arial, sans-serif;
	font-size: 16px;
	line-height: 135%;
	color: #333333;
	background-color: #ffffff;
	}

body, html {
	height: 100%;
	min-height: 100%;
	}

:hover {
    -webkit-transition:  all 0.35s ease-in-out;
    	-moz-transition:  all 0.35s ease-in-out;
    	-o-transition:  all 0.35s ease-in-out;
    	-ms-transition:  all 0.35s ease-in-out;
    	transition:  all 0.35s ease-in-out;
	}

*, html {
	box-sizing: border-box;
	}

*, *:before, *:after {
	box-sizing: inherit;
	}

/* universal styles */

p {
	line-height: 150%;
	margin-bottom: 20px;
	}	

small {
    line-height: 135%;
    display: inherit;
	}

:focus {
    outline: none !Important;
	}

a {
	text-decoration: underline;
	/*color: orange;*/
    -webkit-transition:  all 0.35s ease-in-out;
		-moz-transition:  all 0.35s ease-in-out;
    	-o-transition:  all 0.35s ease-in-out;
    	-ms-transition:  all 0.35s ease-in-out;
    	transition:  all 0.35s ease-in-out;
	}	

a:hover {
	/*color: #333333;*/
	text-decoration: underline;
    -webkit-transition:  all 0.35s ease-in-out;
    	-moz-transition:  all 0.35s ease-in-out;
    	-o-transition:  all 0.35s ease-in-out;
    	-ms-transition:  all 0.35s ease-in-out;
    	transition:  all 0.35s ease-in-out;
	}

/*fade images in*/
@-webkit-keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
	@-moz-keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
		@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }

img {
	border: none;
	opacity:0;  
	-webkit-animation:fadeIn ease-in 1; 
		-moz-animation:fadeIn ease-in 1;
		animation:fadeIn ease-in 1;
	-webkit-animation-fill-mode:forwards;
		-moz-animation-fill-mode:forwards;
		animation-fill-mode:forwards;
	-webkit-animation-duration:.5s;
		-moz-animation-duration:.5s;
		animation-duration:.5s;
	-webkit-animation-delay: 0.5s;
		-moz-animation-delay: 0.5s;
		animation-delay: 0.5s;
	}
/* end fade images in*/

img {
	max-width: 100%;
	height: auto;
	}

h1, h2, h3, h4 {
	color: #333333;
	margin-bottom: 10px;
	line-height: 110%;
	font-weight: 500;
	}

h1 {
	font-size: 30px;
	}

h2 {
	font-size: 20px;
	}

h3 {
	font-size: 18px;
	}

h4 {
	font-size: 16px;
	}

.clear {
	clear: both;
	line-height: 0;
	font-size: 0;
	}


/* Recommended by http://codex.wordpress.org/CSS */

.aligncenter, div.aligncenter {
	margin-left: auto;
	margin-right: auto;
	}

.alignleft {
	float: left;
	}

.alignright {
	float: right;
	}

.alignleft, .alignright {
	max-width: 55%;
	}

.alignright img, img.alignright {
    margin: 0 0 10px 10px;
	}

.alignleft img, img.alignleft {
    margin: 0 10px 10px 0 ;
	}

.alignright img, img.alignright, .alignleft img, img.alignleft {
	max-width: 100%;
	height: auto;
	}

.wp-caption {
	max-width: 100%;
	font-style: italic;
  	text-align: left;
 	padding-top: 4px;
  	margin: 10px;
	}

.wp-caption img {
	margin: 0;
	padding: 0;
	border: none;
	 }

.wp-caption p.wp-caption-text {
  	font-size: 12px;
  	line-height: 115%;
  	padding: 0 4px 5px 0;
  	margin: 0;
	color: #666666;
 	}

blockquote {
	background: #efefef;
	border: 1px solid #cccccc;
	padding: 20px;
	margin: 20px 10px;
	display: flex;
	}

blockquote .cite {
	text-align: right;
	font-style: italic;
	margin: 0px;
	}

/* lists */

#content ol {
	margin: 10px 0 10px 20px;
	margin-left: 30px;
	}

#content ul {
    margin-bottom: 25px;
	}

#content ol li {
	margin-bottom: 10px;
	}
	
#content ul li {
	list-style-type: disc;
	margin: 0 0 10px 30px;
	padding-left: 5px;
	}	

/*********** Forms Buttons and Inputs *************/

form {

	}
	
input, select, textarea {
/*	margin: 5px 0;
	padding: 5px;
	color: #333333;
	background: #fff;
	border: 1px solid #cccccc;*/
	}

input, select, textarea {
    border: 1px solid #ccc;
    color: #000;
    margin: 0 0 10px 0;
    padding: 10px;
    font-size: 16px;
    max-width: 100%;
	}

input.button { 
	font-size: 22px;
	padding: 10px 15px; 
	color: #fff;
	background: #666666;
	}

input.button:hover { 
	/*color: #fff;
	background: #000;*/
	}

.wpcf7 {	}

.wpcf7-form {
	width: 50%;
	margin: 20px 0;
	}

.wpcf7-form-control-wrap {
	position: static !important;
	}

.wpcf7-list-item {
	font-size: 14px;
	display: block !important;
	}

label.check { 
	position:relative; 
	text-align:left; 
	margin-right: 200px;
	}

.wpcf7-submit {
	/* might need to add back !important */
    background: orange;
    border: none;
    color: #ffffff;
	text-transform: uppercase;
	font-weight: bold;
    font-size: 24px;
    padding: 10px;
	letter-spacing: 0px;
    margin: 0;
	}

.wpcf7-submit:hover {
    background: #666666 !important;
	}

.wpcf7-submit:active {

	}

/******************** Tables ***************** */

table {
	border-collapse: collapse;
	}

tr { }

tr.altrow { 
	/*background: #F9F9F9;	*/
	}
	
th, td {
	text-align: left;	
	}

th {
	padding: 10px 5px;	
	}

td {
	padding: 10px 5px;		
	}

/* PAGE LAYOUT */

#wrap {
	width: 100%;
	}

/* header */

.importante {
    background: red;
    text-align: center;
    color: #fff;
    padding: 15px;
    font-weight: bold;
    font-size: 1.2em;
	}

.importante a {
    color: #fff;
	}

.importante a:hover {
    color: #000;
	}

#header-wrap {
	width: 100%;
    background-color: #efefef;
	}

#header {
	width: 1170px;
	margin: 0 auto;
	padding: 20px 0;
	}

/* search forms */
.search { }

#searchform {
	padding: 0;
	margin: 0;
	text-align:right;
	}

#searchform input {
	outline: 0;
	padding: 4px;
	margin: 0;
	}	

#searchform #s {
	width: 170px;
	}	

#searchsubmit {
	padding: 0;
	background: none;
	width: 15px;
	}

/* navigation */

.nav-wrap {
	width: 100%;
	background-color: #000000;
	padding: 10px 0;
	}

/* top nav */

.topNav {
	width: 1170px;
	margin: 0 auto;
	font-size: 12px;
	text-align: right;
	}

.topNav ul {
    list-style-type: none;
	}

.topNav ul li  {
	display: inline-block; 
	padding-left: 10px;
	}


.topNav a {
	/*color: #ffffff;*/
	text-decoration: none;
	margin-right:5px;
	padding-right: 5px;
	}

.topNav a:last-child {
	border-right: none;
	}

.topNav a:hover {
	/*color: orange;*/
	text-decoration:none;
	}

/* main nav */

.main-nav {
	width: 1170px;
	margin: 0 auto;
	font-size: 26px;	
	text-transform: uppercase;
	}

.main-nav ul {
	-ms-box-orient: horizontal;
	display: -webkit-box;
		display: -moz-box;
		display: -ms-flexbox;
	display: -moz-flex;
		display: -webkit-flex;
		display: flex;
	justify-content: space-between;
		-webkit-justify-content: space-between;
	}

.main-nav ul, .main-nav li{ 
	list-style: none; 
	padding: 10px; 
	margin: 0; 
	}

.main-nav ul li{ 
	position:relative; 
	display: inline-block;
	text-shadow: 0px 2px 1px rgba(0, 0, 0, 0.5);
	}

.main-nav ul li a{ 
    display:block; 
    padding:0; 
    margin:0;  
    white-space: nowrap; 
	line-height: 100%;
	letter-spacing: 1px;
	color: #ffffff;
	font-weight:normal;
	text-decoration: none;
	}

.main-nav ul li a:hover{ 
	/*color: orange;*/
	z-index: 1000000 !important;
	}

.main-nav ul ul {
    display: block;
	}

.main-nav ul ul{ 
    position: absolute; 
    top: -99999px; 
    left:0;
    opacity: 0;
	transition: opacity .3s ease-in-out;
    z-index: 497; 
    background: #000000; 
    padding: 10px 15px; 
	box-shadow: 0px 5px 10px 1px rgba(0,0,0,0.5);
	width: auto;
	}

/*SUB SUB Menus*/
.main-nav ul ul ul { 
    position: absolute; 
    top: -99999px; 
    left: 100%; 
    opacity: 0; 
    transition: opacity .5s ease-in-out;
	font-size: 14px;
	font-weight: normal;
	background-color: #000000;
	margin: 0 0 0 75px;
	}

.main-nav ul li:hover>ul, .main-nav ul li:hover > ul { 
	opacity: 1; 
	position: absolute; 
	top: 99%; 
	left: 0; 
	z-index: 1000000 !important;
	}

.main-nav ul ul li:hover>ul{ 
	position: absolute; 
	top: 0; 
	left: 0; 
	opacity: 1; 
	z-index: 1000000 !important;
	background: #333; 
	}

ul.sub-menu {
	font-size: 14px;
	font-weight: normal;
	width: 100%;
	margin-bottom: 15px;
	}

ul.sub-menu a {
	text-transform: none;
	/*color: #ffffff;*/	
	padding-left: 0;	
	letter-spacing: 0px;
	font-weight: normal;
	}


.main-nav ul.sub-menu a {
	text-transform: none;
	/*color: #ffffff;	*/
	line-height: 100%;	
	}

.main-nav ul.sub-menu a:hover {
	/*color: orange;*/	
	z-index: 100000;	
	}

li.sub-menu {
	float: none;
	margin-bottom: 15px;
	}

.sub-menu li {
	float: none;
	font-size: 14px;
	font-weight: normal;
	width: 100%;
	margin-bottom: 10px;
	}

/* branding and logo */

.logo {
	display: inline-block;
	}

.logo img {
	max-width: 100%;
	filter: drop-shadow(0px 3px 3px rgba(0,0,0,.75));
	}

.logo h1 {
	font-size: 50px;
	text-transform: uppercase;
	}

.logo a {
	text-decoration: none;
	}

/* social links */

#social {
	float: right;
	font-size: 24px;
	}

#social a {
	/*color: #fff;*/
	margin-left: 10px;
	}

#social a:hover {
	/*color: orange;*/
	}

/* footer */

#footerWrap {
	width: 100%;
	background-color: #000000;
	}

#footerWrap img {
	/* invert social media images from k to white with 100% */
   /* filter: invert(100%);
	    -webkit-filter: invert(100%);
	max-width: 35px;
    margin: 0 10px;*/
	}

#footer {
	width: 1170px;
	margin: 20px auto;
	padding: 15px 0;
	font-size: 14px;
	color: #ffffff;
	overflow: hidden;
	}
	
#footer a {
	/*color: #ffffff;*/
	text-decoration: none;
	}

#footer a:hover {
	/*color: orange;*/
	text-decoration: none;
	}	

#footer a:hover {
    /*color: orange;*/
	}

#footer .left, #footer .right, #footer .middle {
	vertical-align: middle;
	display: inline-block;
	width: 33%
	}

#footer .left b:after {
    content: ' | ';
	}

#footer .middle {
	text-align: center;
	}

#footer .right {
	text-align: right;
	}

/* footer nav */

.footer-nav ul {
    list-style-type: none;
    margin-bottom: 15px;
	}

.footer-nav ul li  {
	display: inline-block;
	margin-right:5px; 
	padding-right: 5px;
	}

.footer-nav ul li:after {
    content: '|';
	}

.footer-nav ul li:last-child:after {
    content: none;
	}

.footer-nav a {
	/*color: #ffffff;*/
	text-decoration: none;
	margin-right:5px;
	padding-right: 5px;
	}


.footer-nav a:hover {
	text-decoration:none;
	}


/* content area */

#content {
	width: 1170px;
	margin: 0 auto;
	padding: 25px 0;
	} 

#contentSidebar {
    width: 65%;
    position: relative;
    display: inline-block;
    vertical-align: top;
	}  

/* archives */

#content .excerpt {
	margin: 0 10px 35px 0;
    overflow: hidden;
    vertical-align: top;
	}

#content .excerpt h2 a {
	text-decoration: none;
	}

#content .excerpt .thumb {
	position: relative;
	width: 200px;
	height: 200px;
	overflow: hidden;
	float: right;
    margin: 0 10px 10px 0;
	}

#content .excerpt.thumb img {
	position: absolute;
	left: 50%;
	top: 50%;
	height: 100%;
	width: auto;
	-webkit-transform: translate(-50%,-50%);
      -ms-transform: translate(-50%,-50%);
          transform: translate(-50%,-50%);
	}

#content .excerpt.thumb img.portrait {
	width: 100%;
	height: auto;
	}

/* pagination */

.pagination {
	clear: both;
	padding: 0 0 50px 0;
	position: relative;
	font-size: 12px;
	}

.pagination span, .pagination a {
	display:block;
	float:left;
	margin: 2px 2px 2px 0;
	padding:6px 9px 5px 9px;
	text-decoration:none;
	width:auto;
	/*color:#666666;*/
	background: #ffffff;
    transition:  all 0.35s ease-in-out;
	}

.pagination a:hover{
	/*color:#000000;*/
	background: #efefef;
    transition:  all 0.35s ease-in-out;
	}

.pagination .current{
	padding:6px 9px 5px 9px;
	background: #666666;
	color:#fff;
	}


/* sidebar */
	
#sidebar {
	float: right;
	width: 30%;
	padding-left: 20px;
	margin-left: 20px;
	border-left: 1px solid #cccccc;
	}

/* posts */

.date {
	font-size:14px;
	}

.social-share-box {
	margin: 10px 0;
	}


/* homepage */

.homepage {
    width: 1170px;
    margin: 0 auto;
	}

/* homepage news */

ul.homenews {
	list-style-type: none;
	padding: 25px 0;
	}

ul.homenews h2 {
    text-transform: uppercase;
    letter-spacing: 4px;
    font-size: 30px;
	display: inline-block;
	}

ul.homenews a.link {
	text-decoration: none;
	float: right;
	}

ul.homenews li {
	padding-bottom: 25px;
	}

ul.homenews li .image {	
	display: inline-block;
	vertical-align: top;
	margin-right: 20px;
	}

ul.homenews li img {
    width: 300px;
    height: 200px;
    object-fit: cover;
	}

ul.homenews li .item {	
	display: inline-block;
	vertical-align: top;
	max-width: 66%;
	}

ul.homenews li .item .date {	
	font-size: 14px;
	}

ul.homenews li a {
    text-decoration: none;
	}

/* homepage galleries */

.homegallery {
    padding-bottom: 25px;
	}

.homegallery h2 {
    text-transform: uppercase;
    letter-spacing: 4px;
    font-size: 30px;
	display: inline-block;
	}

.homegallery a.link {
	text-decoration: none;
	float: right;
	}

/* full width video embed responsive */

.video-container {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
	margin-bottom: 50px;
	}

.video-container iframe,  
.video-container object,  
.video-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	}

.entry-content img, 
.entry-content iframe, 
.entry-content object, 
.entry-content embed {
        max-width: 100%;
	}

/* image galleries */

.gallery-item {
    display: inline-block;
    padding: 10px;
    text-align: center;
    width: 25%;
	}

#slb_viewer_wrap img {
	opacity:1;  
	-webkit-animation: none !important; 
		-moz-animation: none !important;
		animation: none !important;
	-webkit-animation-fill-mode: none !important;
		-moz-animation-fill-mode: none !important;
		animation-fill-mode: none !important;
	-webkit-animation-duration: none !important;
		-moz-animation-duration: none !important;
		animation-duration: none !important;
	-webkit-animation-delay: none !important;
		-moz-animation-delay: none !important;
		animation-delay: none !important;
	}


/* responsive */

.mobileonly {
	/*hide stuff you only want to see on small screens*/
	display: none !important;
	}

.mobilehide {
	/*unhide stuff you dont want to see on big screens*/
	display: initial !important;
	}

@media only screen and (max-width: 1169px) {

body, #header, #footer, .topNav, #content {
	width: 100%;
	}

#header {
	margin-top: 0;
	text-align: center;
	}

.topNav {
	padding: 10px 100px 10px 25px;
	}

#footer {
	padding: 10px 25px;
	}

.logo {
    max-width: 50%;
    background-size: contain;
    top: 0;
    max-height: 165px;
	}

#content {
	padding: 25px;
	}

} /* end of 1170px */


@media only screen and (max-width: 768px) {

body {
	min-width: 100% !important;
	}


.topNav, .search {
	display: none;
	}

.logo {
	float: none;
	text-align: center;
	}

#content, #main, #header, #footer {
    width: 100%;
    margin: 0;
	}

#header {
	text-align: center;
	padding: 20px 0 10px 0;
	}

#footer .left, #footer .right, #footer .middle {
	display: block;
	width: 100% !important;
	text-align: center;
	}

/* sticky footer */

.footer-nav ul li {
    margin: 0 5px;
    padding: 0;
    border-right: none;
	}

#footer .left b {
    display: block;
	}


#footer .left b:after {
    content: '';
	}

#header img {
    max-width: 85%;
	}

.alignright, .alignleft, .wp-caption.alignright, .wp-caption.alignleft {
    float: none;
	width: 100%;
    max-width: 100%;
    height: auto;
    padding: 0;
    margin: 0;
	}

.alignright img, .alignleft img {
    width: 100%;
	}

img {
	max-width: 100%;
	height: auto;
	}

/* image galleries */

.gallery-item {
    width: 50% !important;
	}

} /* end of 768px */



