/*
Theme Name: Anderson Diesel
Theme URI: https://andersondiesel.net/
Author: SpiderLily Web Design
Author URI: http:/spiderlilyweb.com/
Description: Custom theme for Anderson Diesel, Snohomish, WA
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ems

ems is based on Underscores http://underscores.me/, (C) 2012-2015 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
*/
@import url(https://fonts.googleapis.com/css?family=Roboto:500&display=swap);
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,400i&display=swap);

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
html {
	font-family: 'Open Sans', sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust:     100%;
}
body {
	margin:0;
}
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {
	display: block;
}

audio, canvas, progress, video {
	display: inline-block;
	vertical-align: baseline;
}

[hidden], template {
	display: none;
}

a {
	background-color: transparent;
	text-decoration:none;
}

a:active,
a:hover {
	outline: 0;
}

sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {top: -0.5em;}

sub {bottom: -0.25em;}

img {border: 0;}

hr {
	box-sizing: content-box;
	height: 0;
}

button, input, optgroup, select, textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

button {overflow: visible;}

button, select {text-transform: none;}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled],
html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input {line-height: normal;}

input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td, th {
	padding: 0;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body, button, input, select, textarea {
	color: black;
	font-size: 16px;
	line-height: 1.4;
	font-weight:400;
}

h1, h2, h3, h4, h5, h6 {
	clear: both;
	display:block;
	font-family: 'Roboto', serif;
	font-weight:500;
	line-height:1.1;
	margin:12px 0;
	text-align:center;
}
h1 {font-size:36px; }
h1.center {text-align:center;}
h2 {font-size:28px; margin:12px 0;}
h2.widget-title {padding:12px 0 3px;}

h3 {
	font-size:24px;
	margin:12px 0;
	line-height:1.4;
}
h4 {
	font-size:19px;
	margin:12px 0 6px;
}
p {
	margin: 0 0 8px;
}
p.small {font-size:80%;}
dfn, cite, em, i {
	font-style: italic;
}

blockquote {
  margin: 0;
  clear:both;
}
blockquote:before {
  color: #ccc;
  content: "\201C";
  font-size: 4em;
  line-height: 0.1em;
  margin-right: 0.15em;
  vertical-align: -0.4em;
}
blockquote p {
  display: inline;
}
blockquote p.by {
	clear:both;
	float:right;
	font-style:italic;
	padding-bottom:18px;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
	box-sizing: border-box;
	background:white;
}

*:before,
*:after { /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	box-sizing: inherit;
}

#page {
	display: block;
	position:relative;
	max-width:1600px;
	margin: 0 auto;	
	}	
#container {
	float:left;
	width:100%;
}
header, #primary {
	width:100%;
	float:left;
	}
#primary {
	margin-bottom:12px;
}
.site-branding {
	float:left;
	width:100%;
	position:relative;
	margin:0;
	background:black;
	padding:0 0 12px;
	border-bottom:4px #0f86a6 solid;
	}	
.logo {
	max-width:460px; 
	width:99%;
	height:auto; 
	margin:12px 0 0 1%;
	padding-top:24px;
	float:left;
}
.contact-info {
	display:block;
	float:right;
	text-align:right;
	margin:32px 2% 0 0;	
	font-size: 21px;
	color:white;
}
.contact-info a, .contact-info a:visited {
	color:white;
	background:black;
	padding: 6px 8px;
	font-family:'Roboto', serif;
}
.contact-info a:hover {
	background:white;	
}
.dealer-logo {
	text-align:center;
	width:100%;
	max-width:760px;
	margin:0 auto;
}
.dealer-logo img {
	display:inline-block;
	vertical-align:middle;
	max-width:46%;
	height:auto;
}
.dealer-logo img.left {margin:0 6% 0 0;}
.twocol {
	float:left;
	width:100%;
}

.site-main {
	float:left;
	width:100%;
}
.text-block { /* limit paragraph length */
	max-width:640px;
	width:95%;
	margin:0 auto;
}

.text-block ul {
	list-style: disc;
	margin:0 0 8px 0;
	padding:0 0 0 16px;
	display: table;
}

.text-block ul > li::before {
    display: table-cell; 
	margin: 0 0 3px;
}

/* for home page link boxes */

.flex-container {
	width:100%;
	display:flex;
	margin-top:24px;	
	margin-bottom:12px;
}
.grid {
	flex-wrap:wrap;
}	
.content-block {
	flex:1;
	width:50%;
}
.grid-three {
	flex-grow: 1;
	width: 31%;
	padding:0 1%;
	margin-bottom:24px;
	position:relative;
	padding-bottom:16px;
	display:inline-block;
}
p.caption {
	display:block;
	text-align:center;
	margin-top:12px;	
}
a.button-link, a.button-link:visited {
	text-align:center;
	font-family: 'Roboto', sans-serif;
	text-transform:uppercase;
	font-size:18px;
	margin:12px auto;
	padding:6px 12px;
	color:white;
	background: #0f86a6;
	-webkit-border-radius: 6px 6px 6px 6px;
	border-radius: 6px 6px 6px 6px;
	font-weight:500;
}
a.button-link:hover {
	background:black;
	color:white;
}	
.grid-three img.aligncenter {
	margin-bottom:0;
	border: 1px #0f86a6 solid;
}
img.size-full.border {
	border: 1px #0f86a6 solid;
	max-width:99%;
}

/* GALLERY */

.gallery {
	max-width:1600px;
	width:100%;
}
.gallery-image {
	display:inline-block;
	max-width:33%;
}
.gallery-image img {
	width:100%;
	height:auto;
}
.foogallery {margin-top:24px;}
p.photo-caption {
	text-align:center;
	margin: 0;	
	font-size: 16px;
    font-style: italic;
}
hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0;
	padding:0;
}

ul {
	list-style: disc;
	list-style-position:inside;
	margin-bottom:8px;
}
ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {font-weight: 700;}

dd {margin: 0;}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/*
 * Images
 */
/*
Resize images to fit the main content area.
- Applies only to images uploaded via WordPress by targeting size-* classes.
- Other images will be left alone. Use "size-auto" class to apply to other images.
*/
img.size-auto,
img.size-full,
img.size-large,
img.size-medium,
.attachment img,
img.attachment-thumbnail,
.widget-area img,
img.featured-thumb,
img.wp-post-image {
	max-width: 100%; /* When images are too wide for containing element, force them to fit. */
	height: auto; /* Override height to match resized width for correct aspect ratio. */
}
img.featured {margin-bottom:16px;}
.wp-caption {
	max-width:98% !important;
	width: auto !important;
}	
img.alignleft {
	margin-right: 0.7em;
	margin-bottom:16px;
}
.logo img.alignleft {
	margin:0 auto;
	padding-top:8px;
}
img.alignright {
	margin-left: 1em;	
	margin-bottom:16px;
}
img.aligncenter {
	margin-bottom:16px;
}
.wp-caption {
	padding: .5em;
	text-align: center;
}
.wp-caption .wp-caption-text {
	font-size:12px;
	font-style:italic;
}
.widget_sp_image-description p {
	text-align:center;
	margin-bottom:16px;
}
.widget img.aligncenter {
	margin-bottom:6px;
}

/* HOME PAGE */



/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a, a:visited {
	color: 0f86a6;
}
a:hover, a:focus, a:active {
	color: #0f86a6;
}
.text-wrap a {font-weight:700;}

a:hover, a:active, :focus {
	outline: 0;
}

#primary a img:hover, .grid-three:hover  {opacity:0.8;}

/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/

#site-navigation {
	float:right;
	font-size:16px;
	font-family:'Roboto', serif;
	text-transform:uppercase;
	/*position:fixed;
	top:0;
	right:0;*/
	float:right;
	background:black;	
	border-bottom:1px black solid;
}
.main-navigation {
	z-index:99;
	padding:0;
	-webkit-border-radius: 0 0 0 6px;
	border-radius: 0 0 0 6px;
}

.main-navigation ul { 
	display: none;
	list-style: none;
	margin: 0; 
	width:100%;
	text-align:center;
}

.main-navigation ul>li {
	display:inline-block;
	position: relative;
}

.main-navigation a, .main-navigation a:visited {
	display: block;
	color:white;
	transition: all .3s ease-in-out;
}
.main-navigation a:hover {
	color:#0f86a6; 
	background:white;
}
.main-navigation ul>li.menu-item-has-children>a:after {content:" \25BC";}
.main-navigation li.current-menu-item>a {
	color:#0f86a6; 
	background:white;
}
.main-navigation ul>li a {padding:6px 21px;}
.main-navigation ul>li {padding: 0; margin:0;}


/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
	float:left;
	width:100%;
	background: white;
}
.main-navigation.toggled ul {
	background:white;
}
.menu-toggle:after {content:" \25BC";}	
.toggled .menu-toggle:after {content:" \25B2";}	
.menu-toggle:before {content:url('images/nav-icon.png'); padding-right:6px; height:26px; vertical-align:text-top;}

button.menu-toggle {
	border:none;
	box-shadow: 0 5px 5px -5px #333;
	color:#161616;
	font-size:18px;
	border-radius:0;
	text-shadow:none;
	vertical-align:top;
	padding:6px;
}
button.menu-toggle:hover {opacity:0.8;}


/* SEARCHFORM */

#searchform {
		float:right;
		display:inline-block; 
		margin:4px 32px 0 0; 
		vertical-align:middle;
	}
#searchform input[type="text"] {
	width:280px; 
	padding:4px 3px;
	border:1px #004a00 solid;
	color:black;
	font-family: Georgia, serif;
	-webkit-border-radius: 6px 6px 6px 6px;
	border-radius: 6px 6px 6px 6px;
}
#searchform input[type="image"] {vertical-align:middle; opacity:1.0;}
#searchform input[type="image"]:hover {opacity: 0.6;}

.text-wrap {
		margin:0 auto;
		padding:12px 2%;
		max-width:760px;	
		width:96%;
	}


/* adjust when we switch to mobile menu */
@media screen and (min-width: 53em) { 
	.menu-toggle {
		display: none;
	}
	.main-navigation ul {
		display: block;
	}
	#mobile-navigation {display:none;}
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
	margin: 0 0 1.5em;
	overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	float: left;
	width: 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	float: right;
	text-align: right;
	width: 50%;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
	outline: 0;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
	content: "";
	display: table;
	table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
	clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
	margin: 0 1% 8px;
}

/* Make sure select elements fit in widgets. */
.widget select {
	max-width: 100%;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
	display: block;
}

.hentry {
	margin: 0 0 1.5em;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}
.nowrap {
	white-space:nowrap;
}	
.drop {
	padding-top:12px;	
}


/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

.excerpt {
	max-width:98%;
}

/* Footer - Colophon */

#colophon {
	clear:both;
	padding-top:16px;
	background:black;
	color:white;
	width:100%;
	border-top: 4px #0f86a6 solid;
	text-align:center;
	line-height:1.6;
}
#colophon a, #colophon a:visited {color:white;}
#colophon a:hover {color:#0f86a6;}


@media screen and (max-width:52em) {
	.gallery-image {
		display:inline-block;
		max-width:100%;
		width:100%;
	}
	.gallery-image img {
		max-width:80%;
	}
}
/* switch to mobile menu */
@media screen and (max-width:82em) {
	.contact-info {
		clear:both;
		width:99%;
		margin:6px 0 0 1%;
		text-align:left;
	}
	.logo {margin-top:0;}
	#mobile-navigation {
		position:fixed;
		top:0;
		left:0;
		width:100%;
		z-index:9999;
	}
	#mobile-navigation .menu-primary-container {display:none;}
	#mobile-navigation.toggled .menu-primary-container {display:block;}
	#mobile-navigation ul {
		float:left; 
		clear:both; 
		padding:0; 
		margin-top:0; 
		border-top: 1px black solid;
		border-bottom: 1px black solid;
		text-align:center;
		width:100%;
	}
	#mobile-navigation li {display:block; float:left; width:100%; padding:0;}
	#mobile-navigation a {display:block; color:black; width:100%; padding:16px 8px; border-bottom: 1px black solid;}
	#mobile-navigation a:hover, #mobile-navigation li.current-menu-item a, #mobile-navigation:hover {
    	background: #0f86a6;
		color:white;
	}
	.button-block {padding-top:12px;}
	.main-content {
		clear:both;
		width:98%;
		padding:0;
	}
	#secondary, .three-col #secondary {
		clear:both;
		float:none;
		margin:0 auto;
		max-width:680px;
		width:96%;
		}	
	.three-col #secondary .widget {
		float:right;
	}	
	.contents-right {
		margin-right:2%
	}
	.contents-left {
		margin-left:2%
	}
	h2.tagline span {
		float:none;
		padding-left:0;
	}	
	.menu-footer-container {
		clear:both;
		width:100%;
	}
}


/* mobile menu and content styles */

@media screen and (max-width: 61.375em) {
	.twocol, .text-block, .twocolleft, .twocolright, .halfcolleft, .halfcolright {
		clear:both;
		width:99%;
		margin:0 0 12px 1%;
	}
	.flex-container.grid {display:block;}
	.grid-three {width:100%; padding:0;}
	.content-block {
		width:100%;	
	}
	.text-block {max-width:98%;}
	img.alignleft,img.alignright {
		float:none;
		margin:0 auto;
		display:block;	
	}
	.contact-info, .logo {
		display:block;
		width:100%;
		text-align:center;
		float:none;
		margin:12px auto 0;
	}
}

@media screen and (max-width: 50em) {
	.text-wrap {max-width:96%;}
	.logo {max-width:420px;}
	.grid-three h3 {font-size:18px;}
	h1 {margin:0 0 12px; font-size:32px;}
}
@media screen and (max-width: 36.5em) {
	.site-info, .logo, .button-block {clear:both;}
	.logo {width:96%; max-width:96%; margin-top:28px;}
	dl {float:left; width:100%; margin-bottom:4px;}
	#secondary {margin-top:0;}
	.grid-three h3 {font-size:16px;}
	#primary, .flex-container {width:98%; margin-left:1%;}
}
@media screen and (max-width: 32em) {
	span.divide {display:none;}
	.contact-info {font-size: 26px;}
}