/* Main */
body {font-family: 'PT Sans', sans-serif; color:#646569; font-size:16px; line-height:1.7;}

a {font-weight:bold; color: #004E91}
a:hover {color:#FFBA39}

.animatein {opacity:0; position:relative; left: -15px; }
.animatein.right {left: auto; right:-15px;}

.alignleft {float:left; margin:10px;}
.alignright {float:right; margin: 10px;}

/* OS tweaks */
.container {max-width: 1280px;}
.bg-primary {background:#004E91;}
.bg-info {background:#3797C9;}
hr {border-top:2px solid #e1e1e1; margin: 20px 0;}

.btn {text-transform:uppercase; font-size:18px; background:#fff; color:#FFBA39; border-radius: 0; border:none; padding: 14px 26px; border:1px solid #ddd;}
.btn-primary, input[type="button"].btn-primary {background:#20629B; color:#fff; border:none;}
.btn-primary:hover, input[type="button"].btn-primary:hover {background:#3689b5; color:#FFBA39;}
.btn-sm {background:#fff; border:1px solid #ddd; padding:8px 16px}
.btn-sm:hover {background:#ddd; border:1px solid #ddd;}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5 {color:#004E91; font-weight:bold; margin-bottom:0px;}
.bg-primary h1, .bg-primary h2, .bg-primary h3 {color:#fff;}
.bg-info h1, .bg-info h2, .bg-info h3, .bg-info {color:#fff;}
h2 {font-size:48px;}
h3 {font-size:36px;}
h5 {font-size:inherit;}

/* Helpers */
.opensans {font-family: "Open Sans", sans-serif;}
.ptsans {font-family: "PT Sans", sans-serif;}

/* Header */
.top_links {background: #004E91; height:35px;}
.top_links a {color:#fff; font-size:14px; padding: 6px 10px;}

.header_outer {background: rgba(55, 151, 201, 0.8); position:fixed; width: 100%; top:35px; z-index:100;}
.content_outer {padding-top: 91px; min-height: 400px;}

.header .mainmenu {margin-top:30px; margin-bottom:-10px; font-size:16px; font-family: "Open Sans", sans-serif;}
.menu_toggle {display:none;}
.header .mainmenu ul {padding:0; margin:0; }
.header .menu li {list-style:none; display:inline-block; margin: 0 6px; padding: 6px 0 1px; border-bottom:5px solid transparent; position:relative;}
.header .menu li.current-menu-item {border-bottom:5px solid #004E91;}
.header .menu li:hover .sub-menu {display:block; position:absolute; top: 46px; left:0; width: 200px;;}
.header .menu a {display:block; color:#fff; font-weight:bold; padding: 6px 8px;}
.header .menu a:hover {color:#004E91}

.menu .sub-menu {display:none; background:#004E91; font-size:14px;}
.menu .sub-menu li {display:block; border-bottom:1px solid #3AABE6; margin:0; padding:0;}
.menu .sub-menu li a {padding: 6px 14px; font-weight:normal;}
.menu .sub-menu li a:hover {color:#3AABE6;}
.menu .sub-menu li:last-child {border-bottom:none;}
.header .sub-menu li.current-menu-item {border-bottom:1px solid #3AABE6;}


.modal_outer {position: fixed; top: 0; right: 0; bottom: 0; left: 0; background: rgba(255, 255, 255, .5); z-index: 500;}
.modal {position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -o-transform: translate(-50%, -50%); transform: translate(-50%, -50%); background: #004D93; color: #fff; width: 1220; padding: 4vmax 8vmax; max-width: 100%; text-align:center;}
.modal h1 { color: #fff; border-bottom:1px solid #2072BE; padding-bottom: 1.5vmax; margin-bottom: 1.5vmax; font-size:36px;}
.modal h2 { color: #fff;  text-transform: uppercase; border-bottom: 1px solid #2072BE; font-size:21px; letter-spacing: 1px; margin-top: 3vmax; margin-bottom: 1vmax; padding-bottom: 1vmax;}
.modal a {color: #fff; font-weight:bold;}
.big_btn {padding: 1vmax; color: #fff; display:block;}
.big_btn strong {display:block; text-transform:uppercase; font-size:16px;}
.big_btn span {display:block; }
.big_btn em  {font-size:0.9rem; display:block; }
.big_btn:hover {opacity: 1;}
.big_btn:hover strong, .big_btn:hover span {color: #fff;}
.existing_customer {background: #2072BE; }
.existing_customer strong {color: #FFBA39; }
.new_customer {background: #FFBA39; }
.new_customer strong {color: #2072BE; }
.modal .warrantyinfo {font-weight: normal; color: #fff; font-size:0.9rem; text-decoration: underline;}
.modalshown {overflow:hidden;}

/* #2072BE */
/* #FFBA32 */

/* Footer */
.footer_outer {border-top: 18px solid #ddd; background:#f5f5f5; font-size:14px;}
.footer-right a {padding: 2px 6px; margin-bottom: 6px; display:block;}

.footer-left h4 {color:#3797C9; font-size:18px;}
.footer-left h2 {color:#3797C9; font-size:36px;}
.footer-left a {color:#3797C9}
.footer-left a:hover {color:#004E91}
.footer-left .about {padding: 10px 0;}
.firefly_logo {margin:-16px 4px -12px 0; position:relative; top: 2px}

.footer .subs a {color:#646569; font-size:14px;font-weight:normal;}
.footer .subs a:hover {color:#3797C9;}
.footer .pagenav {list-style:none; padding:0;}
.footer .pagenav ul, .footer .pagenav li {list-style:none; padding:0;}

.footer_copy {font-size:12px;}
.pp_link {position:relative; top:7px; margin-left:6px; display:inline-block; margin-top:-8px;}

/* Home Page */
.hero {max-height:580px; overflow:hidden;}
.home_hero_video {background: #000; background-size:cover; position:relative; overflow:hidden; height: 788px; top:-91px; margin-bottom:-91px; max-height:none}
.home_hero_video video {opacity:0.7; position:absolute; top: 50%; left: 50%; min-width: 100%; min-height: 100%; width: auto; height: auto; transform: translateX(-50%) translateY(-50%); background: url(/img/videobg.jpg); background-size:cover; transition:1s opacity; margin-top:38px;}

.home_hero_video .action {z-index:4; position:relative; padding: 200px 0; color:#fff; line-height:1;}
.home_hero_video .action h2, .home_hero_video .action h1 {color:#fff; margin: 0; font-size:70px; text-shadow: 1px 1px 15px rgba(0,0,0,.4)}

.outer_content_blocks {background:#e5e5e5; }
.content_block {position:relative; border-bottom:4px solid #ddd; background:#fff;}
.content_block:last-child {border:none;}
.content_block .text-center {position:relative; height: 370px;}
.content_block .text {position: absolute; top: 50%; transform: translateY(-50%); width: 100%; padding: 20px;} 
.content_block hr {width: 70%; margin:30px auto;}
.content_block h4 {color:#3797C9; font-size:24px;}
.content_block .btn {color:#FFBA39 }
.content_block .btn:hover {color:#333 }

.block_img {position:relative; overflow:hidden; height: 370px}
.block_img img {position:absolute; top:0; left: 50%; transform: translateX(-50%) translateY(-50%); top:50%; min-width: 100%; max-width:none; }

.text-vcenter {position:relative;}
.text-vcenter .text {position: absolute; top: 50%; transform: translateY(-50%); width: 100%; padding: 20px;} 

.feature {margin-top: 30px; text-align:center;}
.feature .icon {margin-top:-60px;}
.feature .title {color:#646569; font-weight:bold; font-size:24px;}
.feature .value {font-size:52px; font-weight:bold;}
.feature .sub {color:#646569;}
.feature .value.yellow {color:#FFBA39}
.feature .value.orange {color:#E36B21}
.feature .value.blue {color:#3797C9}
.feature .value.purple {color:#55214E}
.feature .value.red {color:#C12F44}
.feature .btn {color:#333;}

/* Pages */
.hero {position:relative; border-bottom: 18px solid #3797C9; height: 400px;}
.hero img {position:absolute; top:0; left: 50%; transform: translateX(-50%); max-width: none; height:400px;}

.heading_block {font-size:18px; padding: 30px 0;}

.fine_print p {margin:0;}

.video-youtube {border:1px solid #ddd;}

.sidebar .widget {background:#f5f5f5; padding:20px; margin-bottom:20px;}
.sidebar .nf-form-fields-required {display:none;}
.sidebar h4 {margin-bottom:10px; }
.widget h3.title {font-size:28px; margin-bottom:10px; text-align:center;}

.sidebar_wrapper .nf-form-cont h3 {text-align:center; font-size:40px;}
.sidebar_wrapper .nf-form-cont h4 {font-weight:bold; color: #3AABE6; font-size:18px;}

.parentnav, .widget ul {list-style:none; margin:0; padding:0;}
.parentnav li, .widget ul li {list-style:none; }
.parentnav a, .widget ul li a {display:block; font-size:14px; color:#777; padding: 10px 14px; margin-bottom:4px; font-weight:normal;}
.parentnav a:hover, .parentnav a.active, .widget ul a:hover, .widget ul a.active {background:#fff; color:#3797C9}

.download_sec {line-height:2; color:#333; margin-top:20px; padding: 30px 0;}
.download_sec img {margin: -20px 10px;}
.download_sec.pdf img {margin: -28px 10px;}

.stat_block {border:1px solid #ddd; margin-top:20px; border-radius:6px;}
.stat_block .bg-gray {border-radius:6px;}
.stat_block .desc {color:#3AABE6;}
.featured_stat_desc {height: 300px}

blockquote {display:block; clear:both; width: 80%; margin:90px auto 40px; background: #E1F0F7; position:relative; border-radius: 4px; padding: 80px 20px 20px; font-style:italic; text-align:center;}
blockquote:after {content: ''; background: url(/img/quote.png) no-repeat center center; height:102px; width: 102px; position:absolute; top: -50px; left: 50%; margin-left:-50px;}
blockquote .author {font-style:normal;}

.post {border:1px solid #ddd; border-radius:6px; margin-bottom:20px; padding: 20px;}
.post .post_title {position:relative; padding-right:70px; padding-bottom:20px; margin-bottom:20px; font-size:20px; border-bottom:2px solid #e1e1e1;}
.post .post_date {position:absolute; right: 0; top:12px;}
.post .post_date {}

.blue {color:#3AABE6;}

/* Forms */
.main_content nf-field {padding:0 20px; display:block;}
.nf-form-fields-required {padding:20px;}
.nf-form-content h5 {color:#3797c9}
.widget .phone {color:#3797c9}


/* Videos */
.vidinfo {position: relative; z-index: 3; margin-bottom:-1px; background: #004E91; color:#fff;}  

/* Responsive Tweaks */
@media screen and (max-width: 780px) {
	.menu-main-menu-container {position:relative; z-index:0;}
	.header .mainmenu {margin:0; position:relative; }
	.header .menu li {display:block; margin: 0; padding: 0; border:none; overflow:hidden; }
	/* .header .menu li:not(.active), .header .menu li:not(.current-menu-item), .header .menu li:not(:hover) {height:39px;} */
	
	.header .menu li a {padding-right:26px;}
	.header .menu li.current-menu-item { border:none;}
	.header .menu li.current-menu-item a {color:#3AABE6;}
	
	.header .menu li:hover .sub-menu {position:relative; top:0; left:0; width: 100%;}
	.menu .sub-menu {background:none; font-size:13px; padding-right:10px; padding-bottom:10px; display:block; position:relative; top:0; left:0; width: 100%; max-height:0; overflow:hidden; -webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; -o-transition: all 0.5s ease; -ms-transition: all 0.5s ease; transition: all 0.5s ease;}
	.menu .sub-menu li a {padding-right:36px;}
	
	li.active .sub-menu {max-height: 800px !important}
	
	.header .menu li.current-menu-item a {color:#fff;}
	.header .menu li.active > a {color:#3AABE6;}
	

	.header .menu li:hover , .header .menu li.active {background:rgba(0,0,0,.4);}
	
	.menu_toggle {display:block; width: 30px; height: 30px; background: url(/img/hamburger.png) no-repeat center center; background-size: 100% 100%; position:relative; z-index:10; float:right; top:15px; right: 5px; cursor:pointer;}
	
	.header .menu {position:absolute !important; width: 300px; right: -400px; -webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; -o-transition: all 0.5s ease; -ms-transition: all 0.5s ease; transition: all 0.5s ease; text-align:right; background:#333; padding:66px 0 0 0!important; top:-10px; z-index:9; }
	.header .menu.active { right: -30px;  }
	
	.content_outer {padding-top:82px;}
	
	.home_hero_video {top:-82px}

	.modal {padding: 4vmax 4vmax; top:0; left:0; -webkit-transform: none; -moz-transform: none; -ms-transform: none; -o-transform: none; transform: none;}
}
@media screen and (max-height: 650px) {
	.modal {font-size: 0.9rem;}
	.modal h1, .modal h2 {border:none; padding: 0;}
}
