/*
Theme Name: Optimal
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: optimal
Tags:

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

Optimal is based on Underscores http://underscores.me/, (C) 2012-2016 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.io/normalize.css/
*/



/*
font-family: 'Droid Sans', sans-serif;
font-family: 'PT Sans Narrow', sans-serif;
*/

body {
	font-family: 'Droid Sans', sans-serif;
	font-size: 17px;
}

a, a:focus, a:active, a:visited {
	color: #c5262c;
	text-decoration: none;
}

a:hover {
	color: #666;
	text-decoration: underline;
}

img.aligncenter {
    max-width: 100%;
    height: auto !important;
    display: block;
    width: auto !important;
}

img.alignright {
    float: right;
    margin-left: 10px;
    margin-bottom: 10px;
}

header {
    background: url(assets/header-bg-slice.png) center bottom no-repeat transparent;
    /* background-size: cover; */
    min-height: 180px;
    position: relative;
    z-index: 1000;
}

#masthead {
    padding-top: 50px;
    position: relative;
    left: -110px;
    top: -10px;
}

#masthead img {
    width: 95%;
}

#header-util-motto {
    padding: 30px 0 8px 0;
}
#header-util-motto img {
	float: right;
        padding-right: 3px;
    padding-left: 30px;
}

#header-util-links ul {
    list-style-type: none;
    text-align: right;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 16px;
    padding: 0;
}

#header-util-links ul li {
	display: inline-block;
	margin-right: 3px;
}

#header-util-links ul > li:last-child {
	margin-right: 0;
}

#header-util-links ul li:after {
    content: " | ";
    display: inline-block;
    margin-left: 5px;
    position: relative;
    top: -1px;
}

#header-util-links ul > li:last-child:after {
	content: "";
	display: none;
	margin: 0;
}

#header-util-links ul li a i, #header-util-links ul li a:hover i {
	margin-right: 2px;
    color: #666 !important;
    text-decoration: none !important;
    padding-right: 5px;
}

#header-util-links ul li.hul-social a i {
    padding-left: 4px;
    padding-right: 4px !important;
    border-radius: 4px;
    color: #fff !important;
    border: 0;
    padding-bottom: 4px;
}

#header-util-links ul li.hul-social-fb a i, #header-util-links ul li.hul-social-fb a:hover i {
    background-color: #3b5998 !important;
}

#header-util-links ul li.hul-social-t a i, #header-util-links ul li.hul-social-t a:hover i {
    background-color: #00b6f1 !important;
}

#header-util-links ul li.hul-social-lin a i, #header-util-links ul li.hul-social-lin a:hover i {
    background-color: #007bb6 !important;
}

#header-util-links ul li.hul-social-li a i, #header-util-links ul li.hul-social-li a:hover i {
    background-color: #c32aa3 !important;
}




#homepage-hero {
    overflow-y: hidden;
    max-height: 500px;
    position: relative;
    z-index: 200;
    top: -75px;
    margin-bottom: -75px;
}

#homepage-hero img {
	width: 100%;	
}

#content {
    background: url(assets/body-bg-lg.jpg) center center fixed #ddd;
}

#homepage-video img {
	margin: 0 auto;
	padding: 45px 0;
}

h3 {
    font-family: 'PT Sans Narrow', sans-serif;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 31px;
}

.o-changer {
	position: relative;
}

.o-cover, .o-slide {
	position: absolute;
	top: 0;
	left: 0;
}

.o-slide {
	opacity: 0;
	transition: opacity .25s ease-in-out;
}

#homepage-intro-o ul {
	padding-left: 20px;
	list-style-type: square;
	margin: 15px 0;
}

#homepage-intro-o ul li {
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 15px;
}

.btn {
    color: #fff !important;
    background-color: #c5262c;
    font-family: 'PT Sans Narrow', sans-serif;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 20px;
    padding: 8px 24px;
    text-align: left;
    display: inline-block;
    width: auto;
    border-radius: 0;
    transition: background-color .15s ease-in-out;
}

.btn:hover {
	background-color: #666;
}

.btn i {
    float: right;
    padding-left: 24px;
    position: relative;
    top: 3px;
}

.btn-wide {
	width: 100%;
	display: block;
}

.o-hover {
	opacity: 1;
}

#homepage-intro-o {
	padding-bottom: 120px;
}

#footer-quote {
	    background: url(/wp-content/uploads/2017/05/kevlar-dark.jpg) center center no-repeat #333;
        background-size: cover;
	border-top: 2px solid #ddd;
	border-bottom: 2px solid #ddd;
	padding: 34px 0 20px 0;
}

#homepage-news h3 {
    color: #c5262c;
    border-bottom: 2px solid #c5262c;
    padding-bottom: 10px;
    margin-top: 0;
}

.hp-news-box {
    font-size: 14px;
    margin: 8px 0;
    border-bottom: 2px solid #c5262c;
}

h4 {
    font-weight: bold;
    font-size: 16px;
}

#footer-crest {
	position: relative;
}

#footer-crest .btn {

}

#footer-quote img {
    margin-bottom: 30px;
}

#footer-quote-form input {
    border: 2px solid #ddd;
    padding: 3px 6px;
    display: block;
    width: 100%;
    margin-bottom: 15px;
}

#footer-quote-form .row {
    margin-left: -7.5px;
    margin-right: -7.5px;
}

#footer-quote-form .col-md-6, #footer-quote-form .col-md-4, #footer-quote-form .col-md-3, #footer-quote-form .col-md-5 {
    padding-left: 7.5px;
    padding-right: 7.5px;
}

#footer-quote-form .btn {
    padding: 2.5px 6px;
}

#pre-footer .btn {
    padding: 3px 6px;
    font-size: 16px;
    margin: 1px 0;
    display: block;
}

footer {
    background-color: #000;
    padding: 15px 0;
}

footer h5, #pre-footer h5 {
    font-size: 14px;
    font-weight: bold;
}

#footer-optimal, #footer-crest {
    margin-top: 15px;
    margin-bottom: 15px;
}

#pf-btns {
    margin-top: 37px;
}

.footer-crest-desc {
    margin: 33px 0 15px 0;
}

footer h3 {
    height: 150px;
    border-right: 1px solid #eeeeee;
    margin-bottom: 30px;
}

header nav {
    position: absolute;
    left: 0;
    right: 0;
    top: 5px;
}

header nav ul {
    list-style: none;
    text-align: right;
    padding: 0;
}

header nav ul ul {
    display: none;
}

header nav div > ul, header nav div > ul > li > a {
    display: block;
}

header nav div > ul > li {
    display: inline-block;
}

header nav button {
    display: none;
}

header nav div > ul > li > a {
    display: block;
    padding: 0 12px;
    color: #fff !important;
    text-shadow: 1px 1px 5px #ab191f;
    text-transform: uppercase;
    font-size: 21px;
}

header nav div > ul > li.menu-item-has-children > a {
    position: relative;
    padding-right: 28px !important;
}

header nav div > ul > li.menu-item-has-children > a:hover, .menu-hov {
    color: #c5262c !important;
    text-shadow: none !important;
    background: #fff;
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
    text-decoration: none;
}

header nav div > ul > li.menu-item-has-children > a:after {
    content: "\f0d7";
    font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    text-decoration: inherit;
    color: #000;
    font-size: 18px;
    padding-right: 0.5em;
    position: absolute;
    top: 4px;
    right: 3px;
    color: #fff;
}

header nav div > ul > li.menu-item-has-children > a:hover:after, .menu-hov:after {
    text-decoration: none !important;
    color: #c5262c !important;
}

header nav div > ul > li.menu-item-has-children:hover ul {
    position: absolute;
    display: block;
    min-width: 275px;
    background: #fff;
    padding: 15px;
    border-radius: 6px;
    border-top-left-radius: 0;
    font-size: 15px;
}

header nav div > ul > li.menu-item-has-children ul li {
    text-align: left;
}

.visible-sm3 {
    display: none !important;
}


#section-hero {
    background-color: #444;
    padding-top: 100px;
    position: relative;
    top: -60px;
    padding-bottom: 35px;
    margin-bottom: -60px;
    border-bottom: 3px solid #fff;
}

#section-hero h2 {
    margin: 0;
    font-size: 60px;
    font-weight: bold;
    color: #fff;
    position: relative;
    /* left: -50px; */
}

#section-hero + #content {
    padding-top: 35px;
    padding-bottom: 35px;
}

.content-quote {
    border-radius: 6px;
    background-color: rgba(0,0,0,.75);
    margin: 30px 0;
    padding: 20px;
    font-size: 18px;
    color: #fff;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-left: 6px solid #c5262c;
}

#safety-icons {
    background: #0a0907;
    padding: 30px 0;
    border-top: 3px solid #fff;
}

.safety-awards-box {
    margin: 20px 0;
}

.safety-awards-box ul {
    padding-left: 20px;
    font-size: 14px;
    font-weight: bold;
}

.pic-block {
    box-shadow: 0 0 10px #432628;
    margin-bottom: 30px;
    border: 2px solid #fff;
}

#homepage-news.affix {
    width: 262.5px;
    top: 30px;
}

.job-box {
    padding: 5px 15px 15px 15px;
    background: #eee;
    border: 2px solid #ddd;
    border-radius: 6px;
    margin: 30px 0;
}

.job-box h4 {
    font-size: 34px;
    color: #666;
}

#code-box {
    padding: 0 30px;
    margin: 30px 0;
    border-radius: 6px;
    background-color: rgba(0,0,0,.75);
}

#code-box img {
    margin: 30px 0;
}

.video-box {
    position: relative;
    padding-bottom: 56.25%;
    padding-bottom: 52.25%;
    padding-top: 25px;
    height: 0;
    border: 6px solid #fff;
    z-index: 9999;
}
.video-box iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.video-box-frame {
    margin: 60px 60px 30px 60px;
    position: relative;
    z-index: 999;
}

.video-box-frame:before {
    content: url(/wp-content/uploads/2017/05/vid-sides-longer.png);
    display: inline-block;
    position: absolute;
    left: -150px;
    bottom: 25%;
    z-index: 0;
}

.video-box-frame:after {
    content: url(/wp-content/uploads/2017/05/vid-sides-longer.png);
    display: inline-block;
    position: absolute;
    right: -150px;
    bottom: 25%;
    z-index: 800;
}

footer h6 {
    text-transform: uppercase;
    color: #fff;
    border-bottom: 1px solid #c5262c;
    padding-bottom: 4px;
    color: #999;
    font-weight: bold;
    text-align: center;
}

footer ul {
    padding: 0;
    list-style: none;
    color: #fff;
    font-size: 14px;
}


.footer-icons li {
    margin-bottom: 7.5px;
    text-align: left !important;
    display: block;
}

.footer-icons i {
    padding-left: 4px;
    padding-right: 4px !important;
    border-radius: 4px;
    color: #fff !important;
    border: 0;
    padding-bottom: 4px;
    margin-right: 5px;
}

.footer-icons li.hul-social-fb a, .footer-icons li.hul-social-fb a:hover {
    color: #3b5998 !important;
}

.footer-icons li.hul-social-t a, .footer-icons li.hul-social-t a:hover {
    color: #00b6f1 !important;
}

.footer-icons li.hul-social-li a, .footer-icons li.hul-social-li a:hover {
    color: #c32aa3 !important;
}

.footer-icons li.hul-social-lin a, .footer-icons li.hul-social-lin a:hover {
    color: #007bb6 !important;
}

.footer-icons li.hul-social-fb a i, .footer-icons li.hul-social-fb a:hover i {
    background-color: #3b5998 !important;
    color: #fff !important;
}

.footer-icons li.hul-social-t a i, .footer-icons li.hul-social-t a:hover i {
    background-color: #00b6f1 !important;
    color: #fff !important;
}

.footer-icons li.hul-social-li a i, .footer-icons li.hul-social-li a:hover i {
    background-color: #c32aa3 !important;
    color: #fff !important;
}

.footer-icons li.hul-social-lin a i, .footer-icons li.hul-social-lin a:hover i {
    background-color: #007bb6 !important;
    color: #fff !important;
}

.robotic { display: none; }

#contact-form:target {
    padding: 5px 30px;
    border: 2px solid #ccc;
    background-color: #ddd;
    border-radius: 8px;
}

#contact-form h4 {
    display: none;
}

#contact-form:target h4 {
    display: block;
}

footer li {
    text-align: center;
}

#homepage-news {
    padding: 15px;
    background: rgba(238, 238, 238, 0.75);
    border: 0;
    border-radius: 6px;
    background-color: rgba(0,0,0,.75);
    color: #fff;
}

body.blog #homepage-intro-text #section-hero {
    background: transparent !important;
    padding: 0 !important;
    position: static !important;
    margin-bottom: -25px !important;
    margin-top: 30px;
    border: 0 !important;
}

body.blog #homepage-intro-text #section-hero .container {
    width: 100% !important;
}

body.blog #homepage-intro-text #section-hero h2 {
    font-size: 45px !important;
    color: #333 !important;
}

body #homepage-intro-text {
    padding: 30px;
    background: rgba(238, 238, 238, 0.75);
    border: 2px solid #ddd;
    border-radius: 6px;
}

.cblinks {
    position: relative;
}

.cbl-asme {
    position: absolute;
    width: 100px;
    height: 60px;
    text-indent: -9999px;
    display: block;
    top: 0;
    left: 0;
}

.cbl-nbic {
    position: absolute;
    width: 450px;
    height: 60px;
    text-indent: -9999px;
    display: block;
    top: 0;
    right: 0;
}

.slick-slider {
        padding: 30px;
    margin: 30px 0;
    border-radius: 6px;
    background-color: rgba(0,0,0,.75);
}

.slick-slide {
    text-align: center;
}

.slick-slide a {
    display: inline-block;
    padding: 6px;
    background-color: #fff;
    border-radius: 6px;
}



body.page-id-7 #section-hero h2, body.page-id-107 #section-hero h2 {
    font-size: 45px;
    padding-top: 35px;
    position: relative;
    top: 25px;
}

    /* Large Devices, Wide Screens */
    @media only screen and (max-width : 1200px) {
header nav div > ul > li > a {
    font-size: 16px;
}
#header-util-links ul {
    font-size: 13px;
}
header {
    min-height: 160px;
}
#header-util-motto {
    padding: 20px 0 15px 0;
}
#masthead {
    padding-top: 40px;
    left: -50px;
    width: 85%;    padding-bottom: 51%;
    top: 8px;
}
#header-util-motto img {
    padding-left: 10px;
}
header nav {
    top: 20px;
}
header nav div > ul > li.menu-item-has-children > a:after {
    font-size: 16px;
    top: -1px;
}
.video-box {
    padding-bottom: 51%;
}
    }

    /* Medium Devices, Desktops */
    @media only screen and (max-width : 992px) {
.video-box {
    padding-bottom: 49%;
}
.hidden-sm3 {
    display: none;
}
.visible-sm3 {
    display: inline !important;
}
#header-util-links li {
    font-size: 0 !important;
}
#header-util-links i, #header-util-links ul li:after {
    font-size: 16px !important;
}
#header-util-links ul li a i, #header-util-links ul li a:hover i {
    color: #c5262c !important;
}
#masthead {
    padding-top: 30px;
    position: static;
    padding-bottom: 30px;
    width: 100%;
}
#masthead img {
    width: 100%;
}
header {
        background: url(assets/body-bg.jpg) center bottom no-repeat transparent;
        min-height: 15px;
        border-bottom: 2px solid #fff;
}
#homepage-hero {
    position: static;
    margin-bottom: 0;
    border-bottom: 2px solid #fff;
}
header nav ul {
    text-align: center;
}
header nav div > ul > li > a {
    font-size: 16px;
}

#header-util-motto img {
    max-width: 300px;
}
#header-util-links ul {
    font-size: 11px;
}
#header-util-motto {
    padding: 36px 0 15px 0;
}
#homepage-intro {
    padding-bottom: 60px;
}
#footer-quote {
    padding: 34px 0;
}
#pre-footer {
    padding-bottom: 45px;
}
#footer-optimal img {
    margin: 0 auto;
}
footer ul {
    margin-bottom: 30px;
}
    }

    /* Small Devices, Tablets */
    @media only screen and (max-width : 768px) {
header {
    background-image: none;
    background-color: #aaa;
}
#masthead {
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 0;
}
#masthead img {
    margin: 0 auto;
}
#header-util-motto img {
    float: none;
    margin: -20px auto 20px auto;
}
.menu-toggle-top {
        position: absolute;
    top: 15px;
    right: 15px;
    z-index: 999;
}
header nav div > ul {
    text-align: left;
}
header nav div > ul > li {
    display: block;
}
header nav {
    top: 0;
        background-color: #c5262c;
    border-top: 2px solid #fff;
}
header nav div > ul {
    padding: 15px;
}
header nav div > ul > li > a {
    font-size: 18px;
    padding: 0 0 8px 0;
    border-bottom: 2px solid red;
    margin-bottom: 8px;
}
#header-util-links-mobile ul {
    margin-top: -40px;
    margin-bottom: 0;
}
header nav {
    display: none;
    max-height: 400px;
    overflow-y: auto;
}
header nav div > ul > li.menu-item-has-children > a:after {
    display: none;
}
header nav ul ul {
    display: block !important;
    position: static !important;
}
header nav div > ul > li.menu-item-has-children > a:hover, .menu-hov {
    color: #fff !important;
    background: transparent;
}
header nav div > ul > li.menu-item-has-children:hover ul, header nav ul ul {
    background: transparent !important;
    padding: 5px 15px 10px 15px !important;
}
header ul ul a {
    color: #fff !important;
    font-size: 16px !important;
}
.video-box-frame {
    margin: 45px 0 30px 0;
    position: relative;
    z-index: 999;
}
.video-box {
        padding-bottom: 48%;
}
.video-box-frame:before, .video-box-frame:after {
    display: none !important;
}
#homepage-video {
        position: static !important;
    margin-bottom: 0 !important;
    margin-top: -15px !important;
}
    }

    /* Extra Small Devices, Phones */ 
    @media only screen and (max-width : 480px) {

    }

    /* Custom, iPhone Retina */ 
    @media only screen and (max-width : 320px) {

    }