﻿/* ## corrects possible view port issues in browsers that do not recognize the viewport meta tag ## */
/* http://timkadlec.com/2013/01/windows-phone-8-and-device-width/ */
@-webkit-viewport   { width: device-width; }
@-moz-viewport      { width: device-width; }
@-ms-viewport       { width: device-width; }
@-o-viewport        { width: device-width; }
@viewport           { width: device-width; }


*, *:before, *:after {-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}

/*! normalize.css v2.0.1 | MIT License | git.io/normalize */

/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */

/*
 * Corrects `block` display not defined in IE 8/9.
 */

article,
aside,
details,
figcaption,
figure,
footer,
header, 
hgroup,
nav,
section,
summary {
    display: block;
}

/*
 * Corrects `inline-block` display not defined in IE 8/9.
 */

audio,
canvas,
video {
    display: inline-block;
}

/*
 * Prevents modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

audio:not([controls]) {
    display: none;
    height: 0;
}

/*
 * Addresses styling for `hidden` attribute not present in IE 8/9.
 */

[hidden] {
    display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */

/*
 * 1. Sets default font family to sans-serif.
 * 2. Prevents iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

html {
    font-family: sans-serif; /* 1 */
    -webkit-text-size-adjust: 100%; /* 2 */
    -ms-text-size-adjust: 100%; /* 2 */
}

/*
 * Removes default margin.
 */

body {
    margin: 0;
}

/* ==========================================================================
   Links
   ========================================================================== */

/*
 * Addresses `outline` inconsistency between Chrome and other browsers.
 */

a:focus {
    outline: thin dotted;
}

/*
 * Improves readability when focused and also mouse hovered in all browsers.
 */

a:active,
a:hover {
    outline: 0;
}

/* ==========================================================================
   Typography
   ========================================================================== */

/*
 * Addresses `h1` font sizes within `section` and `article` in Firefox 4+,
 * Safari 5, and Chrome.
 */

h1 {
    font-size: 2em;
}

/*
 * Addresses styling not present in IE 8/9, Safari 5, and Chrome.
 */

abbr[title] {
    border-bottom: 1px dotted;
}

/*
 * Addresses style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */

b,
strong {
    font-weight: bold;
}

/*
 * Addresses styling not present in Safari 5 and Chrome.
 */

dfn {
    font-style: italic;
}

/*
 * Addresses styling not present in IE 8/9.
 */

mark {
    background: #ff0;
    color: #000;
}


/*
 * Corrects font family set oddly in Safari 5 and Chrome.
 */

code,
kbd,
pre,
samp {
    font-family: monospace, serif;
    font-size: 1em;
}

/*
 * Improves readability of pre-formatted text in all browsers.
 */

pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word;
}

/*
 * Sets consistent quote types.
 */

q {
    quotes: "\201C" "\201D" "\2018" "\2019";
}

/*
 * Addresses inconsistent and variable font size in all browsers.
 */

small {
    font-size: 80%;
}

/*
 * Prevents `sub` and `sup` affecting `line-height` in all browsers.
 */

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

/* ==========================================================================
   Embedded content
   ========================================================================== */

/*
 * Removes border when inside `a` element in IE 8/9.
 */

img {
    border: 0;
}

/*
 * Corrects overflow displayed oddly in IE 9.
 */

svg:not(:root) {
    overflow: hidden;
}

/* ==========================================================================
   Figures
   ========================================================================== */

/*
 * Addresses margin not present in IE 8/9 and Safari 5.
 */

figure {
    margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */

/*
 * Define consistent border, margin, and padding.
 */

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

/*
 * 1. Corrects color not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */

legend {
    border: 0; /* 1 */
    padding: 0; /* 2 */
}

/*
 * 1. Corrects font family not being inherited in all browsers.
 * 2. Corrects font size not being inherited in all browsers.
 * 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome
 */

button,
input,
select,
textarea {
    font-family: inherit; /* 1 */
    font-size: 100%; /* 2 */
    margin: 0; /* 3 */
}

/*
 * Addresses Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

button,
input {
    line-height: normal;
}

/*
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Corrects inability to style clickable `input` types in iOS.
 * 3. Improves usability and consistency of cursor style between image-type
 *    `input` and others.
 */

button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button; /* 2 */
    cursor: pointer; /* 3 */
}

/*
 * Re-set default cursor for disabled elements.
 */

button[disabled],
input[disabled] {
    cursor: default;
}

/*
 * 1. Addresses box sizing set to `content-box` in IE 8/9.
 * 2. Removes excess padding in IE 8/9.
 */

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
}

/*
 * 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */

input[type="search"] {
    -webkit-appearance: textfield; /* 1 */
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box; /* 2 */
    box-sizing: content-box;
}

/*
 * Removes inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/*
 * Removes inner padding and border in Firefox 4+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

/*
 * 1. Removes default vertical scrollbar in IE 8/9.
 * 2. Improves readability and alignment in all browsers.
 */

textarea {
    overflow: auto; /* 1 */
    vertical-align: top; /* 2 */
}

/* ==========================================================================
   Tables
   ========================================================================== */

/*
 * Remove most spacing between table cells.
 */

table {
    border-collapse: collapse;
    border-spacing: 0;
}



/* ===============  Default Adjustments  =============== */

body { }

::-moz-selection { background: #3197fc; text-shadow: none; }
::selection { background: #3197fc; text-shadow: none; }

hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0;}
img { max-width:100% !important; height:auto !important; vertical-align: middle; }
fieldset {border: 0;margin: 0; padding: 0; }
textarea { resize: vertical; }

/** FIX Google Maps Info window styes problem **/
img[src*="gstatic.com/"],
img[src*="googleapis.com/"] {
	max-width: none !important;
}

p { margin:0 0 1em 0; }

.ir { background-color: transparent; border: 0; overflow: hidden; *text-indent: -9999px; }
.ir:before { content: ""; display: block; width: 0; height: 100%; }
.hidden { display: none; visibility: hidden; }
.visuallyHidden,
.visually-hidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.visuallyHidden.focusable:active, .visuallyHidden.focusable:focus, .visually-hidden:active, .visually-hidden:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
.invisible { visibility: hidden; }
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }

.hide       { display:none; }
.smallest   { font-size:.8em; }
.smaller    { font-size:.9em; }
.larger     { font-size:1.1em; }
.largest    { font-size:1.2em; }
.bold       { font-weight:bold; }
.italic     { font-style:italic !important; }
.strike     {text-decoration:line-through !important;}

.red, .red:visited          { color:#f00 !important; }
.green, .green:visited      { color:#390 !important; }
.lgreen, .lgreen:visited    { color:#97937d !important; }

.bgYellow { background:yellow; }
.bgGreen { background:lime; }
.vtop { vertical-align:top; }
.center { text-align:center; }
.left { text-align:left; }
.right { text-align:right; }
.floatLeft { float:left; }
.floatRight { float:right; }
.imgLeft { float:left; margin-right:5px; padding:5px; border:1px solid #c4c4c4; }
.imgRight { float:right; margin-left:5px; padding:5px; border:1px solid #c4c4c4; }
.nowrap { white-space:nowrap; }
.borderless { border:0; border-collapse:collapse; }
.breakforprint { page-break-after:always; }
.clear { overflow:hidden; clear:both; height:0; margin:0; font-size:1px; line-height:0; }
.skip { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.important { color:red; font-weight:bold; text-transform:uppercase; }


/* ## Base List styles ## */
ul, ol { margin:0 0 1em; }
.noBullet { padding:0 0 0 1em; list-style-type:none; }
.noIndent { padding:0; list-style-type:none; }
.bulletSquare { list-style-type:square; }

/* ## Note/hint text or link ## */
.note {font-size:.8em; color:#4e4e4e; }
.note a, .note a:link, .note a:visited { text-decoration:underline; }


/* ================================================================
   PRIMARY LAYOUT STYLES 
   ================================================================ */

/* Enter unique styles for site here */

/* ## Disabled Form Fields ## */
input[disabled=true]    { background-color: #F0F0F0; }
textarea[disabled=true] { background-color: #F0F0F0; }
select[disabled=true]   { background-color: #F0F0F0; }
input[readonly=true]    { background-color: #F0F0F0; }
textarea[readonly=true] { background-color: #F0F0F0; }
select[readonly=true]   { background-color: #F0F0F0; }


/* Removed :link from the list to help cut down on writing time and prevent the need for extra specificity for classes */
a, a:visited { color:#6D6D6D; text-decoration:underline; }
a:hover, a:active, a:focus { color:#6D6D6D; text-decoration:none; }
a:active, a:focus { outline:0; }

.btnText { margin:0; padding:0; color:#6D6D6D; text-decoration:underline; border:0; background:none; }
.btnText:hover { color:#6D6D6D; text-decoration:none; }


/* ## Link Modifiers ## */
a .text { text-decoration:underline; }
a:hover .text, a:active .text, a:focus .text { text-decoration:none; }
a [class^="icon-"] { text-decoration:none; }
a.removeLink { color:#f00; font-size:0.9em; }


/* ## Link Lists ## */
/* We use '<ul class="linkList">' when setting a list of organized links. */
ul.linkList {margin:0 0 15px 0; padding:0; list-style-type:none;}
ul.linkList li {margin-bottom:8px;}
ul.linkList a,
ul.linkList a:link,
ul.linkList a:visited { text-decoration:none;}
ul.linkList a:hover,
ul.linkList a:active {text-decoration:underline;}


/* ## Start Up Layout - Use, modify, or delete as need be ## #f8f8f8; */
html, body {overflow-x:hidden; color:#474c55; font-family: 'Roboto', sans-serif;}
body {background:#fff; }
.container { }
.site-body { padding:15px 0; background:#ffffff; min-height:344px;}

h1 {}
h2 {}
h3 {}
h4 {}
h5 {}
h6 {}

.hdng {font-family: 'Roboto Condensed', sans-serif; color:#00205b; text-align:center; font-size:1.75em; font-weight:normal; margin:0 0 5px;}
.hdng2 {font-family: 'Roboto Condensed', sans-serif; color:#00205b; text-align:center; font-size:1.35em; font-weight:normal; margin:0 0 20px;}

.main-content p {line-height:1.5;}


/* ## Site Header ## */
.site-header { margin:0; padding: 10px 0;}
.site-header .container, .site-header [class*="grid_"] {position:static;}
.site-header .container {max-width:85em;}

.header-blocks {text-align:center;}

.site-header a.site-logo {display:inline-block; background:#ffffff; margin:0;  width:100%; max-width:130px; text-align:center;}

.header-links a {display:none; color:#ffffff; text-transform:uppercase; font-size:.875em; font-weight:500; padding:4px 10px; text-decoration:none;}
.header-links a .icon {font-size:3em; display:inline-block; vertical-align:middle;}
.header-links a.quote {background:#940010; border-radius:10px; border:5px solid #fff; margin:-5px 0; font-weight:bold; padding:17px; font-family: 'Montserrat', sans-serif;}
.header-links a.quote:hover,
.header-links a.quote:focus {background:#c10e21;}
.header-links a:hover .icon,
.header-links a:focus .icon {color:#940010;}

.header-links a.is-mobile {position:absolute; display:block; right:5px; top:10px; color:#ad0101; padding:0;}
.header-links a.is-mobile .icon {font-size:3.8em; line-height:.78;}
.header-links a.is-mobile .d {display:none;}
.header-links a.is-mobile .m {display:block; font-size:.7em; font-weight:500;}


.home-top-container {padding:10px 0 0 0; margin:0 auto; max-width:1170px;}
.home-top-container .choose {text-align:center; font-size:.875em;}

.homepage-quote-box {}
.homepage-quote-box .homepage-quote-box-block {margin:0 0 15px;} {}

.quote-box-carousel {max-width:200px; margin:0 auto;}
.quote-box-carousel .slide-item {}
.quote-box-carousel .slide-item .slide-icon { width:80px; height:80px; margin:0 auto; background:#001f5b; border-radius:50%; position:relative;}
.quote-box-carousel .slide-item .slide-icon > span {color:#ffffff; font-size:3em; position:absolute; top:15px; left:0; width:100%; text-align:center;}
.quote-box-carousel .slide-item .slide-title {padding:10px 0 0 0; font-size:.75em; font-weight:bold; text-align:center; text-transform:uppercase; color:#001f5b;}

.quote-box-carousel .slick-arrow {top:25%;  font-size:2em; color:#ad0101; position:absolute; cursor:pointer; z-index:2;}
.quote-box-carousel .slick-arrow.slick-prev {left:0;}
.quote-box-carousel .slick-arrow.slick-next {right:0;}

.quote-box-form {display:table; width:100%; table-layout:fixed; max-width:400px; margin:0 auto;}
.quote-box-form .quote-box-form-block {display:table-cell; vertical-align:top;}
.quote-box-form .quote-box-form-block:first-child {padding-right:5px; width:50%;}
.quote-box-form .quote-box-form-block input[type="text"] {background:#fff; border:1px solid #ccc; padding:10px; width:100%;}
.quote-box-form .quote-box-form-block .btn {font-size:.65em; padding:14px 10px; width:100%;}

.homepage-hero {margin:0 0 10px;}

.homepage-callouts {margin:0 -10px;}
.homepage-callouts .callout-block {border-bottom:1px solid #e7e7e7;}
.homepage-callouts .callout-block:first-child {border-top:1px solid #e7e7e7;}
.homepage-callouts .callout-block:last-child {display:none;}

.homepage-callouts .homepage-callout {display:table; height:50px; width:100%; position:relative; text-decoration:none;}
.homepage-callouts .homepage-callout:hover,
.homepage-callouts .homepage-callout:focus {background:#eee;}
.homepage-callouts .homepage-callout:after {content: "\e603"; font-family:icomoon; position:absolute; right:10px; top:50%; margin-top:-8px; color:#940010;}
.homepage-callouts .homepage-callout .icon {color:#940010; font-size:2.3em; display:table-cell; vertical-align:middle; width:54px; text-align:center; padding-top:6px;}
.homepage-callouts .homepage-callout .content {display:table-cell; vertical-align:middle;}
.homepage-callouts .homepage-callout .content .title {text-transform:uppercase; font-size:.75em; color:#001f5b; font-weight:bold;}
.homepage-callouts .homepage-callout .content .title span {display:none;}
.homepage-callouts .homepage-callout .content .sub {display:none;}
.homepage-callouts .homepage-callout .content .desc {display:none;}

.insurance-type-list {}
.insurance-type-list .insurance-type {display:block; float:left; width:50%; height:130px; background:#fff; border:1px solid #e7e7e7; margin:0 0 -1px -1px; text-decoration:none; padding:14px;}
.insurance-type-list .insurance-type:last-child {}
.insurance-type-list .insurance-type .insurance-type-top {text-align:center; display:block;}
.insurance-type-list .insurance-type .insurance-icon {color:#00205b; font-size:4em; display:inline-block; line-height:.5;}
.insurance-type-list .insurance-type .insurance-title {padding-top:7px; display:block; text-transform:uppercase; font-size:.75em; color:#00205b; font-weight:500;}
.insurance-type-list .insurance-type .insurance-type-bottom {display:none;}
.insurance-type-list .insurance-type .desc {}
.insurance-type-list .insurance-type .view-more {}



.railBanner,
a.railBanner {display:block; background:#940010; color:#ffffff; text-decoration:none; margin:0 0 15px; padding:10px; font-size:1.125em;}
.railBanner:hover,
.railBanner:focus {background:#00205b;}

.railBannerBlue,
a.railBannerBlue {background:#00205b;}
.railBannerBlue:hover,
.railBannerBlue:focus {background:#940010;}



/* ==========================================================================
   Global Modules
   ========================================================================== */

.mod { position: relative; margin:0 0 10px;}

.title { position: relative; margin: 0 0 1em; }
.title a {text-decoration:none;}
.titleAlt { margin:0 0 0.1em; font-size:1.2em; }
.titleAlt2 {  }

.mod-head {position:relative;}
.mod-head .title {}
.mod-head .more {position:absolute; right:0px; top:0px;}

.mod-content {}


/* Item Lists Content
   ========================================================================== */

.item-list { 
	margin:0; 
	padding:0; 
	list-style:none; 
}

.item { 
	padding: 1em 0; 
	border-top: 1px solid #ccc; 
}
.item:first-child { border-top:0; padding-top:0; }
.item:last-child { padding-bottom: 0; }

.item > .content {display:table-cell;}

.item .contentExtra {
	display: table-cell;
	vertical-align: top;
}

.content .title { margin:0; }
.itemList .content p { margin: 0; }
.content .date { font-size:0.85em; margin:0 0 5px; display:block;}


/* Item Media
   ========================================================================== */

.aside {
	text-align:center;
	padding:0 0 10px;
}

.aside.date-icon {
	display: table-cell;
	padding: 0 15px 0 0;
}

.date-icon .date {
	border:1px solid #888;
	background:#888;
	font-weight:bold;
	text-align:center;
	width:50px;
}
.date-icon .date .month {
	font-size:.875em;
	padding:5px;
	color:#fff;
}
.date-icon .date .day {
	padding:10px 5px;
	background:#fff;
}

.caption {
	display: block;
	font-size: 0.8em;
	line-height: 1.2em;
}


/* Media Queries for Item Lists 
  ========================================================================== */


@media only screen and (min-width:30em){
	
	.item { 
		display: table;
		padding: 1em 0; 
		width: 100%;
		border-top: 1px solid #ccc; 
	}
	.item > .content {
		display: table-cell;
		width: 100%;
		vertical-align: top;
	}
	.aside { 
		display: table-cell;
		padding: 0 15px 0 0; 
	}

}


/* News
   ========================================================================== */

.article > .aside {
	float:right; 
	margin: 1em;
}

.meta{
	margin:0.5em 0;
}

.meta > div {
	float: left;
}

.meta .social-tools{
	float: right;
}


/* ==========================================================================
   Filters
   ========================================================================== */

.filter{
	padding: 1em;
	border: 1px solid #444444;
	background: #cccccc;
}

.filter-options{
	float: left;
}

.filter-actions{
	float: right;
}

/* Pagination
   ========================================================================== */

.paging {
	padding: 1em;
}

.paging-results { 
	float: left;
}

.paging-list {
	float: right;
}

.paging-list ul {
	display: block;
	padding: 0;
	margin: 0;
}

.paging-list li{
	display: block;
	padding: 0;
	margin: 0;
	border: 1px solid #002B40;
	border-left-width: 0;
	float: left;
}

.paging-list li:first-child{
	border-left-width: 1px;
}

.paging-list li a,
.paging-list li span {
	display: block;
	min-width: 30px;
	padding: 2px 5px;
	text-align: center;
}

.paging-list li a {
	/* Link State */
}

.paging-list li span {
	/* Current Page State */
}

.paging-list li.disabled { 
	display: none;
}

.paging-list li.disabled+li { 
	border-left-width: 1px;
}

.paging-list li.disabled+.all {
	border-left-width: 0;
}




/* ==============================================================
   GLOBAL STYLES 
   ============================================================== */

/*--- where is this used at? ----*/
/*.alert { 		
	overflow:hidden;
	border: 1px solid #FE0000; 
	margin: 1em 0;
	padding: 10px;
	min-height: 50px;	
	color: #fff;
	background-color: #FEFF99;	
}
.alert a { color:#fff; }*/

.bdr        { border:1px solid #555244; padding:1px; background-color:#a7a496; }
.bdrTop     { border-top:1px solid #999; }
.bdrRight   { border-right:1px solid #999; }
.bdrBottom  { border-bottom:1px solid #999; }
.bdrLeft    { border-left:1px solid #999; }

.bdrDash        { border:1px dashed #555244; }
.bdrDashTop     { border-top:1px dashed #999; }
.bdrDashRight   { border-right:1px dashed #999; }
.bdrDashBottom  { border-bottom:1px dashed #999; }
.bdrDashLeft    { border-left:1px dashed #999; }

.alternate	{background-color: #d8d8d8;}
.row		{background-color: #ffffff;}


/* ##  Error Markers  ## */
   
.fieldlbl {padding:4px 2px 0 0; text-align:right;}
.field {padding-left:2px;}
.fieldpad {padding-bottom:2px;}

.fieldtext {color:#000000;}
.fielderror {color:#cc0000;}
.fieldnorm {width:16px; height:20px;}
.fieldreq {width:16px; height:20px; background:transparent url(/cms/images/global/field-req.gif) no-repeat center right;}
 span.fieldreq {padding:0 6px; background-position:center center;}
 span.fieldnorm {padding:0 6px; background-position:center center;}
.fieldred {width:16px; height:20px; background:transparent url(/cms/images/global/field-error.gif) no-repeat center right;}
 span.fieldred {padding:0 6px; background-position:center center;}

 
/* ##  Tooltip Classes  ## */

.toolTipWrpr {display:none;width:340px;z-index:99;}
.toolTipShadow {background: url(/cms/images/core/tooltipbacktop.png) no-repeat top left;padding: 10px 13px 1px 13px;color:#666666;}
.toolTopShadowBottom {background: url(/cms/images/core/tooltipbackbottom.png) no-repeat top left;width:340px;height:16px;}
.toolTipDate {font-size:11px;color:#999999;font-weight:bold;}
.toolTipName {font-size:14px;color:#666666;font-weight:bold;margin-bottom:14px;}


/* ##  Generic Pager  ## */

.genericPager {padding:10px 15px 20px 10px;}
.genericPager ul {list-style-type: none; margin:0; padding:0;}
.genericPager li {float:left; display:block; font-size:11px; margin:0 5px 5px 0;}
.genericPager li a {float:left; color:#003871; padding:2px 4px; border:1px solid #ddd; text-decoration:none; }
.genericPager li a:hover, .genericPager li a:focus { color:#000; background-color:#CFCFCF; border: 1px solid #000; text-decoration:none; }
.genericPager li.nolink {color:#fff; border:1px solid #ddd; padding:2px 4px;}
.genericPager li.active {color:#686868; border:1px solid #ddd; padding:2px 4px; background-color:#CFCFCF;}


/* ##  Smart Bug  ## */

.smartbug ul { list-style-type:none; background-color:#ccc; font-size:10px; border-left:1px solid #000; border-right:1px solid #000; border-top:1px solid #000; padding:0px; }
.smartbug li { border-bottom:1px solid #000; }
.smartbug a, .smartbug a:link, .smartbug a:visited { text-decoration:none; display:block; color:#000; padding:5px; }
.smartbug a:hover { background-color:#999; text-decoration:underline; }


/* ##  Master Overlay Styles ## */

.site-overlay {
	position:relative;
	max-width:800px;
	margin:0 auto;
	background:#ffffff; 
	overflow:hidden;

-webkit-border-radius:5px;    
       -moz-border-radius:5px;
            border-radius:5px;
    -webkit-box-shadow:0 0 15px #333;
       -moz-box-shadow:0 0 15px #333;
            box-shadow:0 0 15px #333;
}


.siteOverlay {
    display:none;
    position:relative;
    width:550px;
    max-width:95%;
    min-height:1px;
    background-color:#fff;
    z-index:1000;
    -webkit-border-radius:5px;    
       -moz-border-radius:5px;
            border-radius:5px;
    -webkit-box-shadow:0 0 15px #333;
       -moz-box-shadow:0 0 15px #333;
            box-shadow:0 0 15px #333;
}
.siteOverlay .overlayBar {position:relative; padding:7px 10px; text-align:right; border-bottom:1px solid #e6e6e6;}
.siteOverlay .overlayClose {display:inline-block; cursor:pointer; z-index:5;}
.siteOverlay .overlayContent {padding:15px;}


/* =================================================================
                           MODULE STYLES 
===================================================================*/

.ribbon-container {background:#00205b; }
.ribbon-container .ribbon {text-align:center;}
.ribbon-container .ribbon a {display:block; padding:5px 0 3px; text-decoration:none; color:#fff; text-transform:uppercase; font-weight:500; font-size:.875em;}
.ribbon-container .ribbon a .icon {font-size:2.6em; display:inline-block; vertical-align:middle; position:relative; top:-1px; }

.breadcrumb-container {background:#f8f8f8; padding:10px 0; display:none; border-top:1px solid #c9ccd1;}

/* ##  Breadcrumb  ## */

.breadcrumbs { padding:0; font-size:.875em;  color:#00205b;text-transform:uppercase; }
.breadcrumbs a, .breadcrumbs a:visited { text-decoration:none; color:#00205b; }
.breadcrumbs a:hover, .breadcrumbs a:focus, .breadcrumbs a:active {  color:#940010; }
.breadcrumbs span { margin:0 2px; font-weight:normal; font-weight:500;}
.breadcrumbs .seperator {margin:0 8px; vertical-align:middle; position:relative; padding:0px; display:inline-block; width:0px; height:0px; border-left:6px solid #00205b; border-top:5px solid transparent; border-bottom:5px solid transparent;}
.breadcrumbs .seperator:after {content:''; position:absolute; top:-5px; left:-7px; width:0px; height:0px; border-left:4px solid #f8f8f8; border-top:5px solid transparent; border-bottom:5px solid transparent;}

/* ##  PAGE TOOLS  ## */
/* Print and Email icons and wrapper */

.page-tools-wrapper {float:right; display:inline; padding:0; text-align:right;}

.page-tool { margin:0 5px 0; font-size:0.875em; color:#00205b; font-weight:500; text-decoration:none; cursor:pointer; }

.page-tools-wrapper  a { float:right; display:inline;  color:#00205b; text-transform:uppercase;}
.page-tools-wrapper  a:hover,
.page-tools-wrapper  a:focus,
.page-tools-wrapper  a:active {color:#940010;}

.page-tools-wrapper  .addthis_toolbox { float:right; display:inline; }
.page-tools-wrapper  .addthis_toolbox a,
.page-tools-wrapper  .addthis_toolbox a:link,
.page-tools-wrapper  .addthis_toolbox a:visited {background:none; padding:0; margin:0 0 0 5px; }

.addthis_toolbox { display:inline; }


/* ## Page Heading ## */

.page-heading {  }
.page-heading .title { margin:0; padding:0 0 10px; font-size:1.4em; font-weight:500; color:#00205b; background:none; border:0; }


/* ## Email a Friend ## */

.emailFriendWrapper {}
.emailFriendWrapper .inner { padding:10px; }
.emailFriendWrapper .emailFriendSender { margin:10px 0 20px; border-bottom:1px dashed #ccc; }
.emailFriendWrapper .emailFriendAdditional { margin:10px 0 0; padding:20px 0 0; border-top:1px dashed #ccc; }




/* =================================================================
                  Carousel STYLES - Slick
===================================================================*/


.carousel {margin-bottom:20px !important; }
.carousel .carousel-item {padding:0 10px;}
.carousel .slick-prev,
.carousel .slick-next {position:absolute; bottom:0px;}
.carousel .slick-prev {left:0px;}
.carousel .slick-next {right:0px;}

.carousel .slick-dots {margin:10px 0 0; padding:0px; list-style-type:none; text-align:center;}
.carousel .slick-dots li {display:inline-block; margin:0 2px;}
.carousel .slick-dots li button {text-indent:-9999em; text-align:left; display:block; width:12px; height:12px; padding:0px; background:#dddddd; border:1px solid #cccccc; -webkit-border-radius: 20px; border-radius: 20px;}
.carousel .slick-dots li.slick-active button {background:#aaaaaa;}



/* =================================================================
                  Responsive Tabs
===================================================================*/


.tab-module {}



/* Tabs container */
.r-tabs {
	position: relative;
}

/* Tab element */
.r-tabs .r-tabs-nav .r-tabs-tab {
	position: relative;
}

/* Tab anchor */
.r-tabs .r-tabs-nav .r-tabs-anchor {
	display: block;
	padding: 10px 12px;
	text-decoration: none;
	background:#cccccc;
	border:1px solid #cccccc;
	border-bottom:0px;
	position:relative;
	bottom:-1px;
}

/* Disabled tab */
.r-tabs .r-tabs-nav .r-tabs-state-disabled {
	opacity: 0.5;
}

/* Active state tab anchor */
.r-tabs .r-tabs-nav .r-tabs-state-active .r-tabs-anchor {
	background:#ffffff;
}

/* Tab panel */
.r-tabs .r-tabs-panel {
	border:1px solid #ccc;
}

/* Accordion anchor */
.r-tabs .r-tabs-accordion-title .r-tabs-anchor {
	display: block;
	padding: 10px 12px;
	text-decoration: none;
	background:#cccccc;
	border:1px solid #cccccc;
	border-bottom:0px;
	position:relative;
	bottom:-5px;
	margin:0 0 4px;
}

.r-tabs .r-tabs-accordion-title .r-tabs-anchor:after {position:absolute; content:''; right:10px; top:15px; border-top:10px solid #aaaaaa; border-left:9px solid transparent; border-right:9px solid transparent;}

/* Active accordion anchor */
.r-tabs .r-tabs-accordion-title.r-tabs-state-active .r-tabs-anchor {
	background:#ffffff;
}

.r-tabs .r-tabs-accordion-title.r-tabs-state-active .r-tabs-anchor:after {border-top:0px; border-bottom:10px solid #aaaaaa; border-left:9px solid transparent; border-right:9px solid transparent;}

/* Disabled accordion button */
.r-tabs .r-tabs-accordion-title.r-tabs-state-disabled {
	opacity: 0.5;
}




/* =================================================================
                        THIRD PARTY STYLES
===================================================================*/



/* =================================================================
                        PRINT STYLES
===================================================================*/

@media print {
	* { background: transparent !important; color: #000 !important; box-shadow:none !important; text-shadow: none !important; }
	a, a:visited { text-decoration: underline; }
	a[href]:after { content: " (" attr(href) ")"; }
	abbr[title]:after { content: " (" attr(title) ")"; }
	.ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }
	pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
	thead { display: table-header-group; }
	tr, img { page-break-inside: avoid; }
	img { max-width: 100% !important; }
	@page { margin: 0.5cm; }
	p, h2, h3 { orphans: 3; widows: 3; }
	h2, h3 { page-break-after: avoid; }
}


/* ## Button Styles ## */
/* 
    <span class="btnWrapper"><input class="btn" value="Submit" /></span>
	or
	<a href="#" class="btnWrapper"><span class="btn">Submit</a></a>
*/

.btnWrapper { display:inline-block; text-decoration:none !important; }
.btn,
a.btn { display:inline-block; margin:0; padding:14px 20px; font-weight:bold; color:#fff; background:#940010; border:0px; text-align:center; font-size:.875em; text-decoration:none; cursor:pointer; overflow:visible; font-family: 'Montserrat', sans-serif; text-transform:uppercase; border-radius:5px;}
.btn:hover,
.btn:focus {background:#c10e21;}

.btn2,
a.btn2 {display:inline-block; width:100%; background:#001f5b; padding:15px 20px; border:0px; border-radius:2px; color:#fff; font-family: 'Montserrat', sans-serif; font-weight:bold; text-transform:uppercase; cursor:pointer; text-align:center;}
.btn2:hover,
.btn2:focus {background:#940010;}
.btn2 [class^="icon-"] {position:relative; top:2px;}

.btn3,
a.btn3 {display:inline-block; width:100%; background:#ededed; padding:14px 19px; border:1px solid #c9ccd1; border-radius:2px; color:#001f5b; font-family: 'Montserrat', sans-serif; font-weight:bold; cursor:pointer; text-align:center;}
.btn3:hover,
.btn3:focus {background:#444; border:0px; padding:15px 20px; color:#fff;}
.btn3 [class^="icon-"] {position:relative; top:2px;}

.btnAlt {}
.btnAlt .btn{color:#666666; background-color:#cccccc ; border:1px solid #fff; text-align:center; text-decoration:none; cursor:pointer;}
.btnAlt:hover, .btnAlt:hover .btn {  }

.btnLarge .btn {padding:5px 10px; font-size:1.4em;}

.btnFullWidth {display:block;}
.btnFullWidth .btn {display:block; padding-left:0; padding-right:0; }
.btnFullWidth input.btn { width:100%; }

.locationsQuoteButtonSmall { display:inline-block; margin:0; padding:14px 20px; font-weight:bold; color:#fff; background:#940010; border:0px; text-align:center; font-size:.875em; text-decoration:none; cursor:pointer; overflow:visible; font-family: 'Montserrat', sans-serif; text-transform:uppercase; border-radius:5px;}


/* ## modifier for icon fonts (IcoMoon) embedded within button wrapper ## */

.btnWrapper [class^="icon-"] { margin:0 3px; font-size:0.7em; }


/* ## Site Icons ## */

.iconImage { position:relative; display:inline-block; bottom:1px; width:10px; height:10px;  vertical-align:middle; text-indent:-9999em; background:url(/cms/images/layout/icons_default.png) no-repeat 0 0; overflow:hidden; }
.iconCart { width:22px; height:22px; background-position:0 0; }
.iconRefresh { width:22px; height:22px; background-position:0 -27px; }
.iconContinueArrow { width:22px; height:16px; background-position:0 -57px; }
.iconCheckbox { width: 18px; height: 14px; background-position: -23px -112px; }
.iconXSquareRed { width: 12px; height: 12px; background-position: 0 -112px; }
.iconSearch { width: 14px; height: 14px; background-position: -55px 0; }
.iconQuestion { width: 22px; height: 22px; background-position: 0 -75px; }


/* ## truncate styling ## */

.truncateLink {}
.truncateLink a, .truncateLink a:link, .truncateLink a:visited { margin-left:5px; }
.truncateLink a.truncateMore, .truncateLink a.truncateMore:link, .truncateLink a.truncateMore:visited {}
.truncateLink a.truncateLess, .truncateLink a.truncateLess:link, .truncateLink a.truncateLess:visited {}


/* ## footer ## */

/*.footer {background:#00205b; padding:30px 0 20px;}

.footer-logo-container {display:Table; width:100%; max-width:260px; margin:0 auto 20px; }
.footer-logo-container .footer-logo {display:table-cell; vertical-align:top; padding-right:10%; width:78.5%;}
.footer-logo-container .bbb {display:table-cell; vertical-align:top;}

.footer-links { max-width:260px; margin:0 auto 20px;}
.footer-links ul {margin:0px; padding:0px; list-style-type:none;}
.footer-links ul li {margin:0 0 10px; display:inline-block; width:48%; vertical-align:top;}
.footer-links a { text-decoration:none; font-size:.875em; color:#ffffff; font-weight:500; text-transform:uppercase;}
.footer-links a:hover,
.footer-links a:focus {color:#ccc;}

.footer-right {text-align:center;}
.footer-right .btn {padding:15px 20px;}

.footer .follow-us {padding-top:15px; text-align:center;}
.footer .follow-us a {font-size:2.5em; color:#fff; display:inline-block; margin:0 1px; text-decoration:none;}
.footer .follow-us a:hover,
.footer .follow-us a:focus {color:#ccc;}

.sub-footer {}

.sub-footer-links {color:#ffffff; text-align:center; font-size:.7em;}
.sub-footer-links .sep {display:inline-block; margin:0 5px;}
.sub-footer-links a {color:#ffffff;}

.copyright { text-align:center; color:#ffffff; margin:0 0 15px; font-size:.7em;}*/



/* ## Table Wrapper to allow for overflow/scroll on smaller screens ## */
.tableWrapper { overflow:auto; }


/* ## NEW Limit Text Box ## */

.limitTextBox {}
.limitTextBox span { display:none; }
.limitTextBoxBar { width:100%; }
.limitTextBoxBarWrpr {
	width:100%;
	border:0px solid #000;
	overflow:hidden;
	font-size:9px;
	color:#000;
	white-space:nowrap;
	height:5px;
	background-color:#FDFBBE;
}
.limitTextBoxBarInner { width:0%; background-color:#FF0000; }
.limitTextBoxInputWrpr { display:table-cell; width:100%; vertical-align:top; }
.limitTextBoxInputWrpr textarea { vertical-align:top; }
.limitTextBoxSpellWrpr { display:table-cell; padding-left:5px; vertical-align:top; }
.limitTextBoxSpellWrpr img { max-width:16px !important; cursor: pointer; }


/* =================================================================
                        Media Queries
===================================================================*/


/* 16px baseline (180px - 767px) */
@media only screen and (min-width:11.250em) and (max-width:47.938em) {	
	.page-tools-wrapper {display:none;}
	
}
@media only screen and (min-width:30em){

	.insurance-type-list .insurance-type {width:33.33%; }

}

/* 16px baseline (768px +) */
@media only screen and (min-width:48em){
	
	.site-body {padding:30px 0;}
	.template-homepage .site-body {padding:60px 0;}
	
	.hdng {font-size:3.6em;}
	.hdng2 {font-size:3em; }
	
	.page-heading .title {font-size:2.4em;}
	
	.site-header { margin:0; padding: 40px 0;}
	.site-header > .inner {background:#00205b;}

	.header-blocks {display:table; width:100%;}
	.header-block {display:table-cell; vertical-align:top;}
	.header-block.header-logo {width:140px;}
	.header-block.nav-block {width:0;}
	.header-block.header-links {text-align:right;}

	.site-header a.site-logo {padding:10px; background:#ffffff; margin: -16px auto;  max-width:190px; }

	.header-links a {display:inline-block; color:#ffffff; text-transform:uppercase; font-size:.875em; font-weight:500; padding:4px 10px 4px 5px; text-decoration:none;}
	.header-links a .icon {font-size:3em; display:inline-block; vertical-align:middle;}
	.header-links a.quote {background:#940010; border-radius:10px; border:5px solid #fff; margin:-5px 0; font-weight:bold; padding:17px 10px; font-family: 'Montserrat', sans-serif;}
	.header-links a:hover .icon,
	.header-links a:focus .icon {color:#940010;}
	
	.header-links a.is-mobile {position:static; color:#fff; display:inline-block; padding:4px 10px 4px 5px;}
	.header-links a.is-mobile .icon {font-size:3em;}
	.header-links a.is-mobile .m {display:none;}
	.header-links a.is-mobile .d {display:inline;}
	
	.breadcrumb-container {display:block;}
	.ribbon-container .ribbon a {font-size:1em;}
	
	.home-top-container .choose {text-align:center; font-size:1.125em;}

	.homepage-quote-box {display:table; width:100%; max-width:820px; margin:0 auto 20px;}
	.homepage-quote-box .homepage-quote-box-block {display:table-cell; vertical-align:middle;} 
	.homepage-quote-box .homepage-quote-box-block:first-child {padding-right:20px;}

	.quote-box-carousel {max-width:300px; margin:0 auto;}
	.quote-box-carousel .slide-item {}
	.quote-box-carousel .slide-item .slide-icon { width:100px; height:100px; }
	.quote-box-carousel .slide-item .slide-icon > span {font-size:4.2em;}
	.quote-box-carousel .slide-item .slide-title {padding:10px 0 0 0; font-size:1.125em; }
	.quote-box-carousel .slick-arrow {top:50%; margin-top:-20px;  font-size:3em; }

	.quote-box-form {max-width:1000px; }
	.quote-box-form .quote-box-form-block input[type="text"] {padding:23px 10px 22px;}
	.quote-box-form .quote-box-form-block .btn {font-size:.875em; padding:24px 10px;}
	
	.homepage-hero {margin:0 0 20px;}
	
	.homepage-callouts {margin:0 0 20px; display:table; width:100%;}
	.homepage-callouts .callout-block {border:0px; display:table-cell; vertical-align:middle; width:46%; padding-right:4%;}
	.homepage-callouts .callout-block:first-child {border:0; width:38%;}
	.homepage-callouts .callout-block:last-child {display:table-cell; width:6%; padding:0;}

	.homepage-callouts .homepage-callout {height:auto;}
	.homepage-callouts .homepage-callout:hover,
	.homepage-callouts .homepage-callout:focus {background:none;}
	.homepage-callouts .homepage-callout:after {display:none;}
	.homepage-callouts .homepage-callout .icon {font-size:7em; width:130px; line-height:.5;}
	.homepage-callouts .homepage-callout .content {display:table-cell; vertical-align:middle;}
	.homepage-callouts .homepage-callout .content .title {font-size:1.25em; margin:0 0 5px; display:block;}
	.homepage-callouts .homepage-callout .content .title span {display:inline-block; font-size:1.5em; line-height:.1; vertical-align:middle;}
	.homepage-callouts .homepage-callout .content .sub {display:block; color:#940010; font-weight:bold; font-size:1.25em;}
	.homepage-callouts .homepage-callout .content .desc {display:block; color:#474c55;}
	
	.insurance-type-list {}
	.insurance-type-list .insurance-type {width:33.33%; height:auto; background:none; border:0; margin:0 0 20px; text-decoration:none; padding:20px;}
	.insurance-type-list .insurance-type .insurance-icon {font-size:7em; position:relative; top:0; -webkit-transition: all .1s linear; -moz-transition: all .1s linear; -ms-transition: all .1s linear;  -o-transition: all .1s linear; transition: all .1s linear;}
	.insurance-type-list .insurance-type:hover .insurance-icon,
	.insurance-type-list .insurance-type:focus .insurance-icon {color:#940010}
	.insurance-type-list .insurance-type .insurance-title {padding-top:20px; font-size:1.25em; margin:0 0 20px;}
	.insurance-type-list .insurance-type .insurance-type-bottom {display:block; text-align:center;}
	.insurance-type-list .insurance-type .desc {display:block; line-height:1.5; margin:0 auto 15px; max-width:340px;}
	.insurance-type-list .insurance-type .view-more {display:block; text-transform:uppercase; color:#940010; font-weight:bold; font-size:}
	.insurance-type-list .insurance-type .view-more > span {font-size:1.8em; display:inline-block; vertical-align:middle;}
}

@media only screen and (min-width:60em){

	/*.footer {padding:100px 0 50px;}
	.footer-logo-container {width:auto; max-width:1000px; margin:0;}
	.footer-links {margin:0 0 15px; max-width:1000px;}
	.footer-links a { font-size:1.125em; }
	.footer-right {float:right;}
	.footer-right .btn {padding:20px;}
	.footer .follow-us a {font-size:3.5em; }
	.sub-footer {padding:40px 0 0 0;}
	.sub-footer-links { font-size:1em;}
	.copyright { font-size:1em;}*/

	
}

@media only screen and (min-width:1160px){
	.header-block.header-logo {width:14%;}
	.header-block.nav-block {width:36%;}
	
	.site-header a.site-logo {margin: -28px auto;}

	.header-links a {padding:4px 10px; }
	.header-links a.quote {padding:17px;}

}

/*Added 2025-09-23 */
/* ===== Header fix: make it responsive and mobile-friendly ===== */

/* ===== Header: MOBILE-ONLY overrides (desktop untouched) ===== */
@media (max-width:640px) {

	/* Turn the header row into a simple flex bar on small screens */
	.site-header .header-blocks .header-links {
		display: flex;
		align-items: center;
		justify-content: space-between;
		position: relative;
		gap: 10px;
		padding: 6px 10px;
	}

		/* Re-show links the theme hides, but only on mobile and only in this header */
		.site-header .header-blocks .header-links > a,
		.site-header .header-blocks .header-links > div a {
			display: inline-flex !important;
			align-items: center;
			gap: 6px;
			color: #fff;
			text-decoration: none;
		}

			/* Center the page title (your 2nd <a>) */
			.site-header .header-blocks .header-links > a:nth-of-type(2) {
				flex: 1;
				justify-content: center;
				text-align: center;
				font-weight: 600;
			}

		/* Right side: phone container as a row */
		.site-header .header-blocks .header-links > div {
			margin-left: auto;
			display: flex;
			align-items: center;
			gap: 12px;
		}

		/* Undo the theme’s absolute positioning for mobile */
		.site-header .header-blocks .header-links a.is-mobile {
			position: static !important;
			right: auto;
			top: auto;
			padding: 0;
		}

		/* Show only the phone icons on mobile */
		.site-header .header-blocks .header-links > div a.is-mobile span {
			display: none !important; /* hide labels & numbers */
		}

		.site-header .header-blocks .header-links > div a.is-mobile.d {
			display: none !important; /* hide desktop versions */
		}

		.site-header .header-blocks .header-links > div a.is-mobile.m {
			display: inline-flex !important; /* keep icon-only links */
		}

		/* Bigger tap targets for icons */
		.site-header .header-blocks .header-links .icon-phone {
			width: 24px;
			height: 24px;
		}

		/* Hide "BACK" text, keep the triangle icon */
		.site-header .header-blocks .header-links .back-link span {
			display: none;
		}
}



