/*
Theme Name: Titan
Theme URI: http://underscores.me/
Author: Titan Web Marketing Solutions, Inc.
Author URI: http://underscores.me/
Description: Description
Version: 1.2.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: titan
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.

Titan 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/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Google Fonts
# Typography
# Custom Post Author
# Elements
# Forms
# Links
# Accessibility
# Images
# Custom Helper Classes
# Hover
# Footer
# Margins
# Desktop
# Mobile
# Custom Site Styles by Dev
--------------------------------------------------------------*/


/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/

html {
	font-family: 'Catamaran', 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;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

a {
	background-color: transparent;
}

a:active,
a:hover {
	outline: 0;
}

abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: bold;
}

dfn {
	font-style: italic;
}

mark {
	background: #ff0;
	color: #000;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 1em 40;
}

hr {
	box-sizing: content-box;
	height: 0;
}

pre {
	overflow: auto;
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

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;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

input[type="search"] {
	-webkit-appearance: textfield;
	box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: bold;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td,
th {
	padding: 0;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/

body {
	font-size: 10px;
	font-weight: 400;
	font-family: 'Ek Mukta', sans-serif;
	color: #6d6e71;
}

p {
	font-size: 2.1rem;
	font-weight: 400;
	font-family: 'Ek Mukta', sans-serif;
}

h1 {
	font-size: 3.6rem;
	font-weight: 800;
	font-family: 'Ek Mukta', sans-serif;
}

h2 {
	font-size: 2.4em;
	font-weight: 800;
	font-family: 'Ek Mukta', sans-serif;
}

h3 {
	font-size: 2.4rem;
	font-weight: 600;
	font-family: 'Ek Mukta', sans-serif;
}


/*--------------------------------------------------------------
# Custom Post Author
--------------------------------------------------------------*/

.postauthor {
    background: none repeat scroll 0 0 #F7F7F7;
    border: 2px dashed #DDDDDD;
    overflow: hidden;
    padding: 10px;
    width: 100%;
}
.postauthor img {
    border: 3px solid #DDDDDD;
    float: left;
    margin-right: 15px;
}
.postauthor h4 {
    color: #666666;
    font-size: 20px;
    margin-bottom: 5px;
}
.postauthor p {
    color: #515151;
    font-size: 13px;
    line-height: 20px;
    margin-bottom: 12px;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/

html {
	box-sizing: border-box;
}

*,
*: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;
}

body {
	background: #fff; /* Fallback for when there is no custom background color defined. */
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
}

blockquote,
q {
	quotes: "" "";
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5rem;
}

ul,
ol {
	margin: 0 0 1.5rem 3rem;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin: 0;
}

li.white, li.no-nav {
	font-size: 2.1rem;
}

dt {
	font-weight: bold;
}

dd {
	margin: 0 1.5rem 1.5rem;
}

/*--------------------------------------------------------------
# Blogs
--------------------------------------------------------------*/

.page-header {
    padding-bottom: 9px;
    margin: 40px 0 20px;
    border-bottom: 0px;
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/



/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/

a {
	color: royalblue;
}

a:hover,
a:focus,
a:active {
	color: inherit;
}

:focus {
	outline: none;
}

a:hover,
a:active {
	outline: 0;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/

.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;
}

#content[tabindex="-1"]:focus {
	outline: 0;
}

/*--------------------------------------------------------------
# Images
--------------------------------------------------------------*/

img {
	height: auto; /* Make sure images are scaled correctly. */
	width: 100%; /* Adhere to container width. */
}

/*--------------------------------------------------------------
# Custom Helper Classes
--------------------------------------------------------------*/

.white  {
	color: #FFFFFF;
}

.white:hover {
	color: #fff;
}

.gray {
	color: #6D6E71;
}

.red {
	color:#DD2F48;
}

.graybg {
	background-color: #a7a9ac;
}

.redbg {
	background-color:#DD2F48;
}

.pt1 {
	padding-top: 1rem;
}

.pb1 {
	padding-bottom: 1rem;
}

.pt2 {
	padding-top: 2rem;
}

.pt3 {
	padding-top: 3rem;
}

.pb3 {
	padding-bottom: 3rem;
}

.pt5 {
	padding-top: 5rem;
}

.pb5 {
	padding-bottom: 5rem;
}

.mt1 {
	margin-top: 1rem;
}

.mb1 {
	margin-bottom: 1rem;
}

.mt2 {
	margin-top: 2rem;
}

.mb2 {
	margin-bottom: 2rem;
}

.mt3 {
	margin-top: 3rem;
}

.mb3 {
	margin-bottom: 3rem;
}

.mt4 {
	margin-top: 4rem;
}

.mb4 {
	margin-bottom: 4rem;
}

.mt5 {
	margin-top: 5rem;
}

.mb5 {
	margin-bottom: 5rem;
}

.nopad {
	padding: 0px;
}


/*--------------------------------------------------------------
## Hover
--------------------------------------------------------------*/

/* Pop */
@-webkit-keyframes hvr-pop {
  50% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}

@keyframes hvr-pop {
  50% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}

.hvr-pop {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
}
.hvr-pop:hover, .hvr-pop:focus, .hvr-pop:active {
  -webkit-animation-name: hvr-pop;
  animation-name: hvr-pop;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

/* Grow */
.hvr-grow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hvr-grow:hover, .hvr-grow:focus, .hvr-grow:active {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

/* Icon Hang */
@-webkit-keyframes hvr-icon-hang {
  0% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }

  50% {
    -webkit-transform: translateY(2px);
    transform: translateY(2px);
  }

  100% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }
}

@keyframes hvr-icon-hang {
  0% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }

  50% {
    -webkit-transform: translateY(2px);
    transform: translateY(2px);
  }

  100% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }
}

@-webkit-keyframes hvr-icon-hang-sink {
  100% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }
}

@keyframes hvr-icon-hang-sink {
  100% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }
}

.hvr-icon-hang {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  padding-right: 2.3em;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-icon-hang:before {
  content: "\f078";
  position: absolute;
  right: .675em;
  padding: 0 1px;
  font-family: FontAwesome;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.hvr-icon-hang:hover:before, .hvr-icon-hang:focus:before, .hvr-icon-hang:active:before {
  -webkit-animation-name: hvr-icon-hang-sink, hvr-icon-hang;
  animation-name: hvr-icon-hang-sink, hvr-icon-hang;
  -webkit-animation-duration: .3s, 1.5s;
  animation-duration: .3s, 1.5s;
  -webkit-animation-delay: 0s, .3s;
  animation-delay: 0s, .3s;
  -webkit-animation-timing-function: ease-out, ease-in-out;
  animation-timing-function: ease-out, ease-in-out;
  -webkit-animation-iteration-count: 1, infinite;
  animation-iteration-count: 1, infinite;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-direction: normal, alternate;
  animation-direction: normal, alternate;
}

/*--------------------------------------------------------------
## Footer
--------------------------------------------------------------*/

.site-sub-footer {
	font-size: 12px !important;
}

/*--------------------------------------------------------------
## Margins
--------------------------------------------------------------*/

.row {
	margin-left:0;
	margin-right:0;
}

/*--------------------------------------------------------------
## Desktop
--------------------------------------------------------------*/

@media (min-width:768px) {
	.mobile {
		display: none!important;
	}

	.desktop {
		display: block;
		margin-top:1%;
		margin-bottom:1%;
	}

	.navbar {
		margin-bottom: 0px;
	}

	.navbar-default .navbar-nav>li>a {
		color: #000;
		font-size: 1.8em;
		font-family: 'Ek Mukta', sans-serif;
		font-weight: 500;
	}

	.navbar-default .navbar-nav li a:hover, .navbar-default .navbar-nav>.active>a, .navbar-default .navbar-nav>.active>a:focus, .navbar-default .navbar-nav>.active>a:hover {
		text-decoration: none;
		color: #DD2F48;
		background-color: transparent;
	}

	.navbar-nav li a {
		text-align: right;
		padding: .5em .5em !important;
	}

	.navbar-default {
		padding-top: 2em;
		border: 0;
		float: right;
		background-color: transparent;
	}

	.phone {
		font-family: 'Ek Mukta', sans-serif;
	}
	a.phone-txt:hover {
		color: #000;
	}
	.navbar-collapse.collapse {
		padding-right: 0em;
	}
}

/*--------------------------------------------------------------
## Mobile
--------------------------------------------------------------*/

@media (max-width:768px) {
	.mobile-center {
		text-align:center;
		margin: 0 auto;
		float: none;
	}

	.desktop {
		display:none;
	}

	.mobile {
		display: block;
	}
	.logo img {
		margin-bottom: 3%;
	}

	.social {
		font-size: 1em;
	}

	.social a {
		font-size: 1em;
	}

	.phone {
		font-size: 1em;
	}

	.navbar {
		margin: 0px;
		font-size: 1em;
	}

	.navbar-default {
		border: none;
		background-color: transparent;
	}

	.navbar-nav li a {
	font-size: 1em;
	background-color: inherit;
	color: white;
	padding: 10px 15px;
	text-align: left;
	font-size: 1.8rem;
	}

	.nav  li {
	    position: relative;
	    display: block;
	    text-align: left;
	    padding-left: 10%;
	}

	.navbar-nav {
	    margin: 1em;
			width: 50%;
	}

	.navbar-nav .active a, .navbar-default .navbar-nav .active a  {
		background-color: inherit;;
		color: #000;
		text-decoration: underline;
	}

	.nav .open  a {
		background-color: black;
		color: white;
		text-decoration: underline;
	}

	.navbar-collapse {
		position: absolute;
	  z-index: 1000;
	  background-color: #dd2f48;
	  width: 100%;
		min-height: 260px;
	  float: none;
		color: white;
	}

	.navbar-toggle {
		margin: 15px 10px 0px 0px;
		background-color: transparent;
	}

	.first-bar, .third-bar {
	  transition: all 0.35s linear;
	  transform: rotate(0deg);
	  transform-origin: 40% 50%;
	}

	.first-bar {
		height: 3px;
		background-color: white;
		display: block;
		border-radius: 1em;
		width: 2em;
		-ms-webkit-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
		border: 0px;
	}

	.third-bar {
		height: 3px;
		background-color: white;
		display: block;
		border-radius: 1em;
		width: 2em;
		-ms-webkit-transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		transform: rotate(-45deg);
		border: 0px !important;
	}

	.hamburger {
	  float: right;
	  padding: 3.5em 2.5em;
		cursor: pointer;
	}
	.navbar-default .navbar-toggle {
		border: transparent;
	}
	.navbar-default .navbar-toggle .icon-bar {
		background-color: #dd2f48;
	}
	.navbar-toggle .icon-bar {
		height: 4px
	}
}

/*--------------------------------------------------------------
## Custom Site Styles by R. Miller
--------------------------------------------------------------*/

.bg-img {
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-position: 50%;
}

.home-bg {
	background-image: url(/images/home-bg.jpg);
	padding-top: 4em;
	padding-bottom: 7.5em;
}

.about-bg {
	background-image: url(/images/about-bg.jpg);
	padding-top: 5em;
	padding-bottom: 5em;
	background-attachment: inherit;
}

.careers-bg {
	background-image: url(/images/careers-bg.jpg);
	padding-top: 10em;
	padding-bottom: 10em;
	background-attachment: inherit;
}

.services-bg {
	background-image: url(/images/services-bg.jpg);
	padding-top: 5.5em;
	padding-bottom: 7.5em;
}

.underground-bg {
	background-image: url(/images/underground-bg.jpg);
	padding-top: 5.5em;
	padding-bottom: 7.5em;
}

.aerial-bg {
	background-image: url(/images/aerial-bg.jpg);
	padding-top: 5.5em;
	padding-bottom: 7.5em;
}

.splicing-bg-top {
	background-image: url(/images/splicing-bg-top.jpg);
	padding-top: 4.5em;
	padding-bottom: 6.5em;
	background-attachment: inherit;
	background-position: 100%;
	background-size: contain;
	background-repeat: no-repeat;
}

.splicing-bg-bot {
	background-image: url(/images/splicing-bg-bot.jpg);
	padding-top: 6.5em;
	padding-bottom: 8.5em;
}

.emergency-bg {
	background-image: url(/images/emergency-bg.jpg);
	padding-top: 5.5em;
	padding-bottom: 7.5em;
}

.contact-bg {
	background-image: url(/images/contact-bg.jpg);
	padding-top: 5.5em;
	padding-bottom: 7.5em;
	/*background-attachment: inherit;*/

}

.home-btn {
	border: solid 3px #fff;
	color: #fff;
	background-color: transparent;
	margin-top: 1em;
	width: 200px;
	padding-left: 1em;
	padding-right: 1em;
}

.home-btn:hover {
	color: #000;
	border-color: #000;
	text-decoration: none;
}

.thumbnail {
	border: none;
}

.fa-home {
	font-size: 5rem;
	color: #fff;
}

.red-btn {
	border: solid 3px #DD2F48;
	color: #fff;
	background-color: #DD2F48;
	margin-top: 1em;
	width: 200px;
	padding-left: 1em;
	padding-right: 1em;
}

.red-btn:hover {
	color: #000;
	text-decoration: none;
}

.bio-button {
	border-radius: 10em;
	color: #dd2f48;
	border: solid 2px #dd2f48;
	width: 200px;
	padding: .25em 1.5em;
}

.bio-button:hover, .bio-button:active, .bio-button:focus {
	background-color: #dd2f48;
	border-color: #dd2f48;
	color: #fff;
	text-decoration: none;
}

.btn-width {
	width: 16.5em;
}

.nopad-nomarg {
	margin-left: 0px;
	margin-right: 0px;
}

@media (max-width: 767px) {
	.home-bg {
		background-image: url(/images/home-bg-mobile.jpg);
	}
}


/*--------------------------------------------------------------
## Custom Gravity Forms Styles by R. Miller
--------------------------------------------------------------*/

.gform_wrapper .top_label .gfield_label {
	font-size: 2.1rem!important;
	color: #fff!important;
}

.gform_wrapper .gfield_required {
	display: none!important;
}

.gform_wrapper input[type=text], .gform_wrapper textarea {
	padding: 1em 0!important;
	border-radius: 1.5em;
	border: none;
}

.gform_wrapper .gform_footer {
	text-align: center;
}

.gform_wrapper .gform_footer input.button, .gform_wrapper .gform_footer input[type=submit] {
	border: solid 3px #DD2F48;
	color: #fff;
	background-color: #DD2F48;
	margin-top: 1em;
	width: 200px;
	padding-left: 1em;
	padding-right: 1em;
	font-size: 2.1rem!important;
	text-shadow: none;
	box-shadow: none;
}

.gform_wrapper .gform_footer input.button:hover, .gform_wrapper .gform_footer input[type=submit]:hover {
	color: #000;
}

.gform_wrapper .top_label .gfield_description, .gform_wrapper span.gform_description, .gform_wrapper .ginput_complex label {
	font-size: 1.8rem!important;
	color: #fff;
}

.gform_wrapper h3.gform_title {
	font-size: 2.4rem!important;
	color: #fff;
}

.gform_wrapper .ginput_complex label, .gform_wrapper .gfield_date_year label, .gform_wrapper .gfield_date_day label, .gform_wrapper .gfield_date_month label, .gform_wrapper input[type=email], .gform_wrapper input[type=number], .gform_wrapper input[type=password], .gform_wrapper input[type=tel], .gform_wrapper input[type=text], .gform_wrapper input[type=url] {
	font-size: 1.4rem!important;
	color: #fff;
}

.gform_wrapper select, .gform_wrapper .gfield_checkbox li label, .gform_wrapper .gfield_radio li label {
	font-size: 1.8rem!important;
}

.gform_wrapper h2.gsection_title {
	font-size: 2.6rem!important;
	color: #fff;
}

.gform_wrapper .top_label .gsection_description {
	font-size: 1.8rem!important;
	color: #fff;
}

.gform_wrapper .ginput_complex input[type=text], .gform_wrapper input[type=text], .gform_wrapper textarea {
	color: #DD2F48!important;
	font-size: 1.4rem;
	padding-left: 1.25rem;
}