/*
Theme Name: DC Diesel Marine Services
Theme URI: https://dcdieselservices.com/
Author: SpiderLily Web Design
Author URI: http:/spiderlilyweb.com/
Description: Custom theme for DC Diesel Marine Services
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: dcdms

dcms 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/css2?family=Open+Sans:wght@400;600&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: 'Open Sans', serif;
	font-weight:600;
	line-height:1.1;
	margin:12px 0;
	text-align:center;
}
h1 {font-size:36px; }
h1.center {text-align:center; margin:24px auto 18px;}
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;
}
.collist h3 {text-align: left;}
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: #38BDF2;
}

*: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;
}
#branding, #colophon {
	background: #192da1;
}
.site-branding {
	float:left;
	width:100%;
	position:relative;
	margin:12px 0 0;
	border-bottom:5px rgba(39,49,107,1.0) solid;
	}	
.logo {
	max-width:300px; 
	width:99%;
	height:auto; 
	margin:0 0 0 1%;
	float:left;
}
.contact-info {
	display:block;
	float:right;
	text-align:right;
	margin:52px 2% 0 0;	
}
a.phone, a.phone:visited {
	color:white;
	font-weight:600;
	font-size: 29px;
}
a.phone:hover, a.phone:focus {color:#bdccd4;}
.banner-bg {
	width:100%;
	background-position:center top;
	background-repeat:no-repeat;
	height:260px;
	float:left;
}
.twocol {
	float:left;
	width:100%;
}

.site-main {
	float:left;
	width:100%;
}
.text-block { /* limit paragraph length */
	max-width:640px;
	width:95%;
	margin:0 auto;
}
.gallery-block {
	width:99%;
	margin:0 0 0 1%;	
}
.text-block ul {
	list-style: disc;
	margin:0 0 8px 0;
	padding:0 0 0 16px;
	display: table;
}
.collist ul {
	list-style: disc;
	margin:12px 0 24px;
	padding:0 0 0 16px;
	display: table;
}
.text-block ul > li::before, .collist ul > li::before {
    display: table-cell; 
	margin: 0 0 3px;
}
.second-block {
	margin-top:40px;
}
/* for home page link boxes */

.flex-container {
	width:100%;
	display:flex;
	margin-top:24px;	
	margin-bottom:12px;
}
.grid {
	flex-wrap:wrap;
	width:auto;
	margin:0 auto;
}	
.content-block {
	flex:1;
	width:50%;
}
.grid-two {
	flex-grow: 1;
	width: 47%;
	padding:0 1%;
	margin-bottom:24px;
	position:relative;
	padding-bottom:16px;
	display:inline-block;
}
.grid-three {
	flex-grow: 1;
	width: 31%;
	max-width:31%;
	margin:36px 1%;
	text-align:center;
	align-self:center;
}
.center-content {
	justify-content:center;
}
p.caption {
	display:block;
	text-align:center;
	margin-top:12px;	
}
a.button-link, a.button-link:visited {
	text-align:center;
	text-transform:uppercase;
	font-size:19px;
	margin:12px auto;
	padding:3px 8px;
	color:white;
	background-color: #4070a1;
	-webkit-border-radius: 6px 6px 6px 6px;
	border-radius: 6px 6px 6px 6px;
}
a.button-link:hover {
	background-color:#27316b;
	color:white;
}	

.contents-left {
	float:left;
	width:90%;	
}
.contents-right {
	float:right;
	width:90%;	
}

/* testimonial rotator customization */

.testimonial_rotator_wrap {
	width:90%;
	max-width:320px;
	margin:30px auto 0;
	padding:24px 0;
	border-top: 1px rgba(223,187,36,1) solid;
	border-bottom: 1px rgba(223,187,36,1) solid;
}
.testimonial_rotator_wrap h2, .testimonial_rotator.template-longform hr.longform_hr {display:none;}
.testimonial_rotator.template-longform .testimonial_rotator_author_info {
	margin:24px 0 !important;	
}
.testimonial_rotator.template-default .testimonial_rotator_author_info p {
	padding-bottom:0 !important;
	margin-bottom: 0  !important;
	font-size:14px  !important;
	line-height:1.4 !important;
	text-align:right;
}
.testimonial_rotator_author_info {
	border-left:none !important;
}

a[href$=".pdf"] { background: url('images/pdf-icon.png') left center no-repeat; padding: 20px 0 20px 36px; line-height:50px; font-weight:600;}

/* with sidebar */

#secondary {
	float:right;
	width:30%;
	margin:24px 1% 12px 0;
}
#secondary .text {
	clear:both;
	float:left;
	width:100%;	
	margin:24px 0;
}
#secondary ul {	
	list-style:none;
}

.main-content {
	width:64%;
	float:left;
	margin:24px 0 0 1%;
}

.twocolleft {
	float:left;
	width:64%;
	margin-left:2%;
}
.twocolright {
	float:right;
	width:32%;
	margin-right:1%;
}
.column-contain {
	margin:0 auto;
	width:98%;
	max-width:1100px;	
	margin-top:24px;
}
.halfcolleft {
	float:left;
	width:47%;
	margin-right:1%;
}
.halfcolright {
	float:right;
	width:47%;
	margin-left: 1%;
}
a.more {
	position:absolute;
	right:12px;
	bottom:12px;
	font-style:italic;
}
a.more:after {
	content:" \00BB";
}

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%;
}
/* get links on slideshow to stay white */
div#n2-ss-2 .n2-font-9b0fa16ca27190da48795a3abfbe99cf-paragraph a, div#n2-ss-2 .n2-font-9b0fa16ca27190da48795a3abfbe99cf-paragraph a:FOCUS {
	color: white !important;
}

/*
 * 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;}
img.linkphoto {
	-webkit-border-radius: 6px 6px 6px 6px;
	border-radius: 6px 6px 6px 6px;
}

.wp-caption {
	max-width:98% !important;
	width: auto !important;
}	
img.alignleft {
	margin-right: 0.7em;
	margin-bottom:16px;
}
.logo img.alignleft {
	margin-right:0;
	margin-bottom:0;
}
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: rgba(39,49,107,1.0);
}
a:hover, a:focus, a:active {
	color: #c1272d;
}
.text-wrap a {font-weight:700;}

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


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

#site-navigation {
	font-size:16px;
	font-family:'Open Sans', serif;
	text-transform:uppercase;
	background:rgba(39,49,107,0.6);
	position:fixed;
	padding:0 0 6px 6px;
	top:0;
	right:0;
}
.main-navigation {
	z-index:99;
}
.main-navigation.fixed-nav {
	position:fixed;
	top:0;	
	right:0;
}

/* 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%;
	}

.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%;
}

/* GALLERY */

/* gallery overrides with responsive lightbox */

figure.gallery-item {
	width:19% !important; 
	text-align:center; 
	float:left; 
	display: inline-block;
	padding:5px 1% 10px 0;
	margin:0;
	}

#primary .gallery img:hover {
	opacity:0.9;
	}
figcaption.wp-caption-text {
	font-size:14px;
	padding-top:3px;
	height:42px;
}

/*--------------------------------------------------------------
# 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;
}

.byline,
.updated:not(.published) {
	display: none;
}

.single .byline,
.group-blog .byline {
	display: inline;
}

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

/*--------------------------------------------------------------
## Asides
--------------------------------------------------------------*/
.blog .format-aside .entry-title,
.archive .format-aside .entry-title {
	display: none;
}

/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation, /* Older / Newer Posts Navigation (always hidden) */
.infinite-scroll.neverending .site-footer { /* Theme Footer (when set to scrolling) */
	display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
	display: block;
}

/* 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;
	float:left;
	padding-top:16px;
	width:100%;
	background:rgba(39,49,107,1.0);
	color: white;
	text-align:center;
}
#colophon a, #colophon a:visited, #colophon a:focus {color:white;}
.logos {text-align:right;}
.logos img {
	display:inline-block;
	vertical-align:middle;
	margin-left:12px;
}
#colophon img:hover {opacity: 0.8;}
a.top-button {display:none;}

/* switch to mobile menu */
@media screen and (max-width:48em) {
	.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 */

/* fix mobile menu to top of screen */
@media screen and (max-width: 69em) {
	.site-branding {padding-top:40px;}
	#site-navigation {
		float:none;
		width:100%;
		text-align:center;
	}
	.contact-info {margin-top:50px;}
	.logo {margin-top:40px; max-width:250px;}
}

@media screen and (max-width: 61.375em) {
	.site-branding {padding:0 0 8px;}
	.twocol, .text-block, .twocolleft, .twocolright, .halfcolleft, .halfcolright {
		clear:both;
		width:96%;
		margin:0 2% 12px 2%;
	}
	#colophon .twocolleft {text-align:center;}
	.testimonial_rotator_wrap {	margin:0 auto;}
	.flex-container.two, .flex-container.grid {display:block;}
	.excerpt {width:100%; margin-bottom:16px;}
	.content-block {
		width:100%;	
	}
	.text-block {max-width:98%;}
	.contents-left, .contents-right {
		width:96%;
		margin:0 2%;
		float:left;
	}
	img.alignleft,img.alignright {
		float:none;
		margin:0 auto;
		display:block;	
	}
	figure.gallery-item {
		width: 24% !important;
	}
}

@media screen and (max-width: 45em) {
	.text-wrap {max-width:96%;}
	.footer-menus {display:none;}
	#colophon a.top-button {
		display:block;
		font-weight:bold;
		text-align:center;
		background-color:#eae1d2;
		-webkit-border-radius: 3px;
		border-radius: 3px;
		font-size:16px;
		padding:3px 8px;
		float:right;
		margin:0 5px 5px 0;
		color:black;
	}
	#colophon a.top-button:hover {
		background-color:#c1272d;
		color:white;
	}
	h1 {margin:0 0 12px; font-size:32px;}
	figure.gallery-item {
		width: 32% !important;
	}
}
@media screen and (max-width: 36.5em) {
	.site-info {clear:both;}
	.logo, .contact-info {width:98%; max-width:98%;}
	.logo img.alignleft {margin:0 auto; float:none;}
	.contact-info {float:left; width:100%; text-align:center; margin-top:18px;}
	dl {float:left; width:100%; margin-bottom:4px;}
	#secondary {margin-top:0;}
	figure.gallery-item {
		width: 49% !important;
	}
	#primary, .flex-container {width:98%; margin-left:1%;}
}
