/*
Theme Name: CrafTech Custom
Theme URI: http://www.craftech.com
Description: Responsive WordPress site for CrafTech Computer Solutions
Version: 1.0
Author: Jennifer Coyle
Author URI: http://www.craftech.com
*/

/* --------- Global ---------- */

/* Colors
	Dark Blue: #034593;
	Green: #11a341;
*/

body {
	color: #333;
	font-family: 'Open Sans', sans-serif;
	font-size: 16px;
	font-weight: 400 !important;
}

.greenboldtext {
	color: #034593;
	font-size: 16px;
	font-weight: 900 !important;

}

.btn {
	font-weight: bold !important;
	text-transform: uppercase;
	padding: 10px 40px !important;
	margin: 20px 0 !important;
	border-radius: 25px !important;
	font-size: 1.4em !important;
}

.btn-cta {
	background-color: #11a341;
	color: #fff;
}

.btn-cta:hover {
	background-color: #31c663;
	color: #fff;
}

.btn-cta-o {
	color: #11a341;
	border: 3px solid #11a341;
}

.btn-cta-o:hover {
	color: #31c663;
	border: 3px solid #31c663;
}

input#fld_7908577_1,
.btn-more {
	background-color: #034593 !important;
	padding: 8px 20px !important;
	color: #fff !important;
	font-size: 1.2em !important;
}

.btn-more-light {
	background-color: transparent !important;
	color: #fff !important;
	border: 3px solid #fff !important;
}

.btn-more-light:hover {
	background-color: transparent !important;
	color: #d8d6d6 !important;
	border: 3px solid #d8d6d6 !important;
}

input#fld_7908577_1:hover,
.btn-more:hover {
	background-color: #0c3d7a !important;
	color: #fff !important;
}

.caldera-grid .btn {
	border: none !important;
}
.vertical-center {
	min-height: 500%;
	min-height: 50vh;
	display: flex;
	align-items: center;
}

.intro {
	max-width: 500px;
	margin: 10px auto;
}

h2 {
	color: #034593;
}

h2.page-title {
	margin: 20px auto 40px;
	text-transform: uppercase;
	font-weight: 800 !important;
}

h3 {
	color: #11a341;
}

/* --------- Header ---------- */

#header,
#header a {
	color: #fff;
}

#header-top {
    background-color: #034593;
    font-size: 0.875em;
    padding: 10px 0;
}

#header-hero {
	background: #034593 url('img/hero.jpg') no-repeat center center;
	background-size: cover;
	height: auto;
}

#header-hero-nothome {
	background: #034593 url('img/hero.jpg') no-repeat center center;
	background-size: cover;
	height: auto;
}

#header-hero img,
#header-hero-nothome img {
	width: 290px;
	max-width: 100%;
	margin-top: 1rem;
}

#header-hero nav,
#header-hero-nothome nav {
	text-transform: uppercase;
	font-weight: 700;
}

.hero-text {
	font-size: 2em;
	font-weight: 900;
	line-height: 1.4em;
}

.hero-sub {
	font-style: italic;
	font-weight: 100;
}

#nav-mobile {
	padding: 20px 0;
	background-color: #034593;
	font-weight: bold;
	text-transform: uppercase;
}

#nav-mobile ul {
	display: block !important;
	text-align: center !important;
}

#nav-mobile ul li {
	display: block !important;
	margin: 20px;
}

#menu-header-menu-1 {
	padding: 0;
}

#menu-header-menu li {
	background-color: #034593;
}

#nav-mobile ul li {
	margin: 0 0 10px;
}

#nav-mobile ul li ul {
	padding: 0;
	margin-top: 10px;
}

#nav-mobile ul li ul li {
	font-weight: 400;
}

.navbar-light .navbar-toggler {
	color: #fff;
}

.custom-toggler.navbar-toggler {
    border-color: rgb(255,255,255);
}
.custom-toggler .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}

#menu-header-menu-1 {
	margin-top: 20px;
}

#header-hero-nothome .col-sm-7,
#header-hero .col-sm-7 {
	padding-right: 0;
}

/* --------- Homepage ---------- */

#header-hero,
#services,
#testimonials,
#locations,
#contact, 
#content,
#tagline,
#hire {
	padding: 36px 0;
}

.services-item {
    text-align: center;
}

#testimonials h2,
#testimonials p,
#locations h2,
#locations p,
#locations h3,
#contact h2,
#contact p,
#tagline p,
#hire h2 {
    text-align: center;
}

#services h2,
#testimonials h2,
#locations h2,
#contact h2 {
	font-weight: bold;
	color: #034593;
}

#contact form label,
#contact form input,
#contact form textarea {
    display: block;
    width: 100%;
}

.services-item {
	margin: 50px 0;
}

.services-item-home {
	height: 210px;
}

.services-item figure {
	max-width: 100px;
	margin: 0 auto 20px;
}

#content figure img {
	max-width: 100%;
	height: auto;
}

.services-item h3,
#locations h3 {
	color: #034593;
	font-size: 1.3em;
	font-weight: bold;
	text-transform: uppercase;
}

#testimonials,
#locations {
	background-color: #e7f4ec;
}

.testimonial {
	margin: 30px 0;
}

.testimonial_slider {
	margin: 30px auto 0 !important;
}

.testimonial_wrapper {
	height: 330px !important;
}

.testimonial_slideri,
.testimonial_content,
.testimonial_by {
	font-family: 'Open Sans', sans-serif !important;
	color: #333 !important;
}

.testimonial_content {
	display: flex !important;
	align-content: center !important;
}

.testimonial_content span {
	align-self: center;
}

.testimonial_content_wrap:after {
	border-top-color: #fff !important;
}

.testimonial_by {
	text-transform: capitalize !important;
	font-weight: bold !important;
	margin-top: 20px;
}

/* static testimonial code... old

.testimonial-text {
	background-color: white;
	padding: 40px 60px;
}

.triangle {
	display: block;
	border-bottom: 24px solid transparent;
	border-left: 24px solid #fff;
	overflow: hidden;
	position: absolute;
}

.testimonial-byline {
	font-weight: bold;
}
*/
.testimonial-byline p {
	margin-top: 60px;
}


#tagline {
	background-color: #09295B;
	color: #fff;
	text-transform: uppercase;
	font-size: 3em;
	font-weight: 900;
}

#tagline p {
	margin-bottom: 0;
	line-height: 50px;
}

.vision {
	color: #73B4E0;
}

.perfection {
	color: #11a341;
}

#hire {
	background: #034593 url('img/hirebg.jpg') no-repeat center center;
	background-size: cover;
}

#hire h2 {
	font-weight: bold;
	color: #fff;
}

.hire-block {
	margin: 20px 0;
}

.hire-number {
	font-weight: bold;
	font-size: 3em;
	margin-right: 20px;
	color: #11a341;
	line-height: 50px;
}

.hire-reason {
	color: #fff;
	font-size: 1.2em;
}

.about-page-testimonials .testimonial-text {
	background-color: #e7f4ec;
	padding: 40px 60px;
}

.about-page-testimonials .triangle {
	display: block;
	border-bottom: 24px solid transparent;
	border-left: 24px solid #e7f4ec;
	overflow: hidden;
	position: absolute;
}

#locations .row {
	margin-top: 30px;
}

iframe {
	width: 100%;
	height: 400px;
}

#contact {
	background: #034593 url('img/contact-bg.jpg') no-repeat center center;
	background-size: cover;
	color: #fff;
}

#contact h2 {
	color: #fff;
}

#contact form label {
	text-transform: uppercase;
	margin: 20px 0 0;
	font-size: 0.8em;
}

#contact form input,
#contact form textarea {
	color: #333;
}

.map-area,
.map-area-contact {
	margin-bottom: 30px;
}

.map-area-contact {
	margin-top: 30px;
}

.map-area-contact h3 {
	color: #fff;
	text-align: center;
}

.map-area-contact a {
	color: #ffffff;
}

#footer {
	background: #cdd9e9 url('img/footer-bg.png') no-repeat center center;
	background-size: cover;
	padding: 20px 0;
	font-size: 0.875em;
}

#footer a {
	color: #333;
}

#menu-main-2 {
	list-style: none !important;
	display: flex !important;
	justify-content: space-around !important;
}


/* --- Page-specific styling --- */

.store-hours {
  list-style: none;
  padding: 0;
}

.store-day {
  width: 200px;
  color: #034593;
  font-weight: bold;
  display: inline-block;
}

.store-hours li {
  padding: 10px 0;
  border-bottom: 1px solid lightGrey;
}

.store-hours li:last-child {
  border-bottom: none;
}

#rmsbus {
	padding-top: 2%;
	animation: bus 16s ease infinite;
	-webkit-animation: bus 16s ease infinite;
	-moz-animation: bus 16s ease infinite;
	clear: both;
	width: 100%;
}

.portfolio img {
  border: 1px solid #ddd;
  margin-bottom: 20px;
  max-width: 100%;
}

.portfolio h4 {
	font-size: 0.7em;
	text-transform: uppercase;
}
.contacticon {
	max-width: 30px;
}

.contact-map {
	margin-top: 30px;
}

#values > div > div > div {
	background-color: red;
	border: 1px solid white;
	padding: 30px;
	color: white;
	font-weight: bold;
	font-size: 1.4em;
	height: 200px;
	text-align: center;
	display: flex;
	justify-content: center;
	text-shadow: 1px 1px 1px #000;
}

#values > div > div > div:nth-child(1) {
	background: url(/wp-uploads/2017/09/home-slider-1-web.jpg) center center;
}

#values > div > div > div:nth-child(2) {
	background: url(/wp-uploads/2017/09/home-slider-2-web.jpg) center center;
}

#values > div > div > div:nth-child(3) {
	background: url(/wp-uploads/2017/09/home-slider-3-web.jpg) center center;
}

#values > div > div > div:nth-child(4) {
	background: url(/wp-uploads/2017/09/home-slider-4-web.jpg) center center;
}

#values > div > div > div:nth-child(5) {
	background: url(/wp-uploads/2017/09/home-slider-5-web.jpg) center center;
}

#values > div > div > div > p {
	align-self: center;
}

#partners .col-6 {
	display: flex;
	justify-content: center;
	align-items: center;
}

#partners img {
	max-width: 100%;
	height: auto;
	opacity: 0.8;
}

#partners img:hover {
	opacity: 1;
}

#partners div {
	padding: 10px;
	margin: 20px 0;
}

/* --- Blog styling --- */

.blog_block {
	border-bottom: 1px solid #ccc;
	padding-bottom: 40px;
	margin-bottom: 60px;
}

.blog_block:last-child {
	border-bottom: none !important;
}

.blog_block img {
	max-width: 100%;
	height: auto;
}

.blog_block img.featured {
	margin-bottom: 30px;
}

.blog_block a {
	color: #034593;
}

.read-more {
	display: inline-block;
	text-transform: uppercase;
	color: #fff !important;
	font-weight: bold;
	padding: 10px;
	border-radius: 10px;
	background-color: #11a341;
		-o-transition:color .05s ease-out, background .05s ease-in;
		-ms-transition:color .05s ease-out, background .05s ease-in;
		-moz-transition:color .05s ease-out, background .05s ease-in;
		-webkit-transition:color .05s ease-out, background .05s ease-in;
		transition:color .05s ease-out, background .05s ease-in;
}

.read-more:hover {
	background-color: #058e33;
	color: #fff !important;
	text-decoration: none !important;
}

.menu-services-sidebar-container ul {
	list-style: none;
	padding: 0;
}

.menu-services-sidebar-container a {
	color: #333;
	font-size: 0.8em;
}
.menu-services-sidebar-container ul.sub-menu {
	padding-left: 20px;
	margin-top: 8px;
}

.menu-services-sidebar-container ul li {
	margin-bottom: 8px;
}

/* ---------- CSS Dropdown Menu -------------- */
/* http://cssmenumaker.com/blog/wordpress-3-drop-down-menu-tutorial/ */

/* Starter CSS for Menu */
#cssmenu {
  padding: 0;
  margin: 0;
  border: 0;
  width: auto;
  background-color: #034593;
}
#cssmenu ul,
#cssmenu li {
  list-style: none;
  margin: 0;
  padding: 0;
}
#cssmenu ul {
  position: relative;
  z-index: 597;
}
#cssmenu ul li {
  float: left;
  min-height: 1px;
}
#cssmenu ul li.hover,
#cssmenu ul li:hover {
  position: relative;
  z-index: 599;
  cursor: default;
}
#cssmenu ul ul {
  visibility: hidden;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 598;
  width: 100%;
}
#cssmenu ul ul li {
  float: none;
}
#cssmenu ul ul ul {
  top: 0;
  left: 190px;
  width: 190px;
}
#cssmenu ul li:hover > ul {
  visibility: visible;
}
#cssmenu ul ul {
  bottom: 0;
  left: 0;
}
#cssmenu ul ul {
  margin-top: 0;
}
#cssmenu ul ul li {
  font-weight: normal;
}
#cssmenu a {
  display: block;
  line-height: 1em;
  text-decoration: none;
}
/* Custom CSS Styles */

#cssmenu > ul {
  *display: inline-block;
}
#cssmenu:after,
#cssmenu ul:after {
  content: '';
  display: block;
  clear: both;
}
#cssmenu ul {
  text-transform: uppercase;
}
#cssmenu ul ul {
  min-width: 300px;
}
#cssmenu ul ul a {
  border-top: 0 none;
  padding: 10px 20px;
  font-size: 12px;
  background-color: #09295b;
}
#cssmenu ul ul ul {
  border-top: 0 none;
}
#cssmenu ul ul li {
  position: relative;
}
#cssmenu ul ul li:hover > a {
  background: #034593;
  color: #ffffff;
}
#cssmenu ul ul li:last-child > a {
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
}
#cssmenu ul ul li:last-child:hover > a {
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
}
#cssmenu ul ul li.has-sub > a:after {
  content: '+';
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -8px;
}
#cssmenu ul li:hover > a,
#cssmenu ul li.active > a {
  background: #09295B;
  color: #ffffff;
  		-o-transition:color .05s ease-out, background .05s ease-in;
		-ms-transition:color .05s ease-out, background .05s ease-in;
		-moz-transition:color .05s ease-out, background .05s ease-in;
		-webkit-transition:color .05s ease-out, background .05s ease-in;
		transition:color .05s ease-out, background .05s ease-in;
}
#cssmenu ul li.has-sub > a:after {
  content: '+';
  margin-left: 5px;
}
#cssmenu ul li.last ul {
  left: auto;
  right: 0;
}
#cssmenu ul li.last ul ul {
  left: auto;
  right: 99.5%;
}
#cssmenu a {
  color: #fff;
  padding: 0 20px;
}
#cssmenu > ul > li > a {
  line-height: 48px;
  font-size: 12px;
}


@media (min-width: 576px) {
	#header-hero {
		height: 80vh;
	}

	#partners img {
		max-width: 50%;
	}
}

/* --------- Tablet ---------- */

@media (min-width: 768px) { 
	/* --------- Homepage ---------- */

	#header-hero,
	#services,
	#testimonials,
	#locations,
	#contact,
	#hire,
	#tagline {
		padding: 50px 0;
	}

	.hero-text {
		font-size: 3.75em;
		line-height: 1em;
	}

	.services-item-home {
		height: 190px;
	}

	#values > div > div > div > p {
		max-width: 80%;
	}

	#cssmenu > ul > li > a {
		font-size: 14px !important;
	}
}

/* --------- Desktop --------- */

@media (min-width: 992px) { 

	/* --------- Homepage ---------- */

	#services,
	#testimonials,
	#locations,
	#contact,
	#hire,
	#tagline {
		padding: 100px 0;
	}
}

/* --------- Large Desktop --------- */

@media (min-width: 1200px) { 

	/* --------- Homepage ---------- */

	.services-item-home {
		height: 170px;
	}
}