/*
-----------------------------------
TOC
-----------------------------------


Fonts:....................Available font-family declarations

Globals:..................Styling of HTML and BODY

Bootstrap Overrides:......Changes to base-Bootstrap CSS

Site Elements:............Re-usable site elements 	

Structure:................Site structural components

Section Specific:.........Styles for Home and all Sub Pages

Template Specific:........Styles for WP Templates

Page/Element Specific:....Page, element or flow Specific CSS

Additive CSS:.............Additive/override CSS

Responsive:...............Specific styles for Desktop, Tablet and Mobile

*/



/*-----------------------------------
   Globals
-----------------------------------*/
html body { font-size:14px; }



/*-----------------------------------
   Bootstrap Overrides
-----------------------------------*/



/*-----------------------------------
   Visual Composer Overrides
-----------------------------------*/
.wpb_text_column[class*=vc_custom_] { padding-left:0 !important; border-left:none !important; }
.vc_column-inner[class*=vc_custom_] { padding-left:15px !important; margin-left:0 !important; }
.vc_separator[class*=vc_custom_] { padding-left:0 !important; }


/* Visual Composer Full-Width Banners */
.add_vc_banner_row { padding-top:10px; padding-bottom:20px; }


/* ---- Visual Composer Responsive Spacer Heights ----
.add_vc_spacer_20 { height:0 !important; }
.add_vc_spacer_30 { height:0 !important; }
.add_vc_spacer_40 { height:5px !important; }
.add_vc_spacer_50 { height:10px !important; }
.add_vc_spacer_60 { height:15px !important; }
*/


/*-----------------------------------
   Site Elements
-----------------------------------*/
/* ---- Hierarchy ---- */
h1 { width:75%; height:auto; padding:2px 15px; margin-left:-15px; font-size:40px; }
h2 { font-size:27px; }
h3 { font-size:23px; margin-bottom:10px; }
h4 { font-size:14px; }
h5 { font-size:14px; }

.h4 { font-size:14px; }

h2.page_title { margin-top:0; font-size:18px; }
h2.page_title strong { font-size:33px; }

h3.benefit_anchor_header { height:auto; padding-bottom:87px; margin:0 auto; background-position:50% bottom; background-size:72px auto; font-size:24px; text-align:center; }
h3.benefit_anchor_header br { display:none; }


/* ---- Lists ----- */

  /* Lists: Unordered */
  .content_container ul:not(.list-unstyled):not(.resource_list):not(.dropdown-menu):not(.list-inline):not(.nav-tabs):not(.cta_list):not(.pdf_list):not(.menu) { padding-left:15px; }


/* ---- Breadcrumbs ---- */
.breadcrumb { margin-top:-14px; margin-bottom:2px; }


/* ---- Buttons ---- */

  /* Secondary Button */
  .btn_secondary { font-size:14px; }  


/* ---- Callouts ---- */
.callout { max-width:265px; margin:0 auto; border-bottom-width:13px; background:#fff; }
.callout_heading { height:56px; }
.callout_heading h3 { font-size:17px; bottom:7px; left:7px; }

.callout_content { font-size:14px; }
.callout_cta li.doc_pdf { padding-left:17px; background-size:15px auto; }


/* ---- Modals ---- */
.close { font-size:38px; }


/* ---- Quotes ---- */
.quote { font-size:20px; }
.quote p { margin-bottom:0; }
.quote_attribution { font-size:14px; } 
.quote_attribution .quote_attributor { font-size:16px; }



/*-----------------------------------
   Structure
-----------------------------------*/
/* ---- Header ---- */
.header { height:auto; padding:7px 0; background:#fff; }

  /* Global Navbars */
  #header_desktop_scroll { display:none; }
  
  .sticky_header_container .header { padding:0; }
  
  .navbar { min-height:0; background:#fff; }
  .navbar-default .navbar-collapse { margin:0 -15px; border:none; }
  
  .navbar-brand { height:auto; padding:0 15px; float:left; }
  .navbar-brand img { max-height:51px; }
  
  .navbar-toggle { width:34px; height:auto; margin-top:9px; margin-bottom:0; padding:0; border:none; border-radius:0; cursor:pointer; }
  .navbar-toggle:hover { opacity:0.75; }
  
  .navbar-nav { margin-top:0; margin-bottom:0; background:#0083b9; }
  
  .navbar-default .navbar-nav + .navbar-nav { border-top:1px solid rgba(255,255,255,0.25); }
  .navbar-default .navbar-nav > li { border-bottom:1px solid rgba(255,255,255,0.25); }
  .navbar-default .navbar-nav > li:last-child { border-bottom:none; }
  .navbar-default .navbar-nav > li > a { font-weight:500; font-size:14px; color:#fff; }
  
  .navbar-default .navbar-nav > li > a:hover,
  .navbar-default .navbar-nav > li > a:focus { color:#fff; }
  
  .navbar-default .navbar-nav > .open > a,
  .navbar-default .navbar-nav > .open > a:hover,
  .navbar-default .navbar-nav > .open > a:focus { color:#fff; background:#0083b9; }
  
  .navbar-default .navbar-nav > .active > a,
  .navbar-default .navbar-nav > .active > a:focus,
  .navbar-default .navbar-nav > .active > a:hover { background:rgba(0,0,0,0.25); color:#fff; }
  
  .navbar-default .navbar-nav > .current-page-ancestor > a,
  .navbar-default .navbar-nav > .current-page-ancestor > a:focus,
  .navbar-default .navbar-nav > .current-page-ancestor > a:hover { background:rgba(0,0,0,0.25); color:#fff; }
  
  .navbar-nav .open .dropdown-menu { padding:0; background:rgba(255,255,255,0.15); border-top:1px solid rgba(255,255,255,0.35); }
  .navbar-nav .open .dropdown-menu > li { padding:0; margin:0; }
  .navbar-nav .open .dropdown-menu > li > a { padding:10px 20px 10px 30px; white-space:normal; }
  .navbar-nav .open .dropdown-menu > li.topnav_child_link > a { padding-left:45px; }
  
  .navbar-default .navbar-nav .open .dropdown-menu > li > a,
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { color:#fff; }
  
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { background:rgba(0,0,0,0.25); color:#fff; }


/* ---- Content Area ---- */
.content_container { min-height:421px; padding-bottom:20px; }

  /* Emphasis Section */
  .add_section_emphasis h3 { font-size:18px; }  


/*---- Contact Feature ---- */
.contact_feature_container { margin:20px 0 -20px; }
.contact_feature_container .contact_photo { width:50%; max-width:270px; margin:0 auto 15px !important; }

.contact_feature_content .contact_name { margin-bottom:5px; font-size:18px; }
.contact_feature_content .bio_contact_list > li { font-size:16px; }
.contact_feature_content .bio_contact_list > li > .contact_type { width:51px; }


/* ---- Sidebar ---- */ 
.mobile_sidebar { padding:36px 0 36px; margin-bottom:-20px; background:#f8f8f8; } 
.mobile_sidebar hr { width:65%; margin:40px auto; }

.mobile_sidebar *:last-child { margin-bottom:0; }

  
/* ---- Footer ---- */
.extended_footer { padding:30px 0 0; }
.abbreviated_footer { padding:16px 0 12px; }

.footer { font-size:14px; }

  /* Footer Contact Info */
  .footer_contact_info { margin-top:0; }
  .footer_contact_info_phone { margin-top:0; font-size:18px; }

  /* FooterNav */
  #menu-footernav { width:60%; max-width:300px; margin-bottom:26px; float:none; }
  #menu-footernav > li { padding:2px 0; margin-bottom:5px; float:none; }
  #menu-footernav > li + li { padding-top:7px; border:none; border-top:1px solid #fff; }
  #menu-footernav > li > a { padding:2px !important; } 



/*-----------------------------------
   Section Specific
-----------------------------------*/
/* ---- Home Page ---- */

  /* Hero Image */
  .hero_banner { border-bottom-width:10px; position:relative; }
  .hero_banner:before { content:""; background:rgba(0,0,0,0.25); position:absolute; top:0; right:0; bottom:0; left:0; }
  .hero_banner_content_container { height:auto; padding:15% 15px 1.45em; }
  .hero_banner_content { font-size:17px; font-weight:500; }
  .hero_banner_content h1 { margin-bottom:20px; text-align:right; }
  .hero_banner_content h1 em { min-width:71px; padding:18px 2px 16px; }
  .hero_banner_content *:last-child { margin-bottom:0; }

  
  /* Solutions Feature */
  .solutions_feature { padding:20px 0 10px; background:#0083b9 none !important; }
  .solution_element { max-width:290px; margin:0 auto 15px; }
  .solution_element h2 { font-size:22px; }
  .solution_element img { margin-bottom:15px; }  
  
  .solution_element_body { padding:10px; }  
  .solution_element_footer { padding:5px 10px; }

    
  /* Primary Feature */
  .primary_feature { min-height:10px; padding:40px 0; margin-top:0 !important; margin-bottom:23px; position:relative; }
  .primary_feature:before { content:""; background:rgba(255,255,255,0.65); position:absolute; top:0; right:0; bottom:0; left:0; }
  .primary_feature_content { padding-right:35%; font-size:24px; }
  
  .primary_feature_content .btn_secondary { margin-top:15px; }
  
  
  /* News Feature */
  .news_feature { padding-bottom:0; }
  
  .news_feature .news_cube { width:30px; height:30px; margin-bottom:15px; }
  
  .news_feature h2 { padding:17px 2px; margin-left:30px; }
  .news_feature h3 { margin-bottom:5px; font-size:14px; }
   
  .news_feature .more-link { margin-top:5px; }


  /* Secondary Feature */
  .secondary_feature { padding:20px 0; }
  .secondary_feature_image { padding-bottom:15px; }
  .secondary_feature_image img { max-width:290px; margin:0 auto; }
  .secondary_feature_content { font-size:17px; font-weight:500; }
  
  .secondary_feature_content .btn_secondary { margin-top:15px; }


/* ---- Sub Pages ---- */

  /* Section Banner */
  .section_banner { margin-bottom:26px; border-bottom-width:11px; box-shadow:0 3px 5px 0 rgba(0,0,0,0.35); }
  .section_banner_title_container { height:140px; }
   
  .section_banner_title_extension { display:none; }
    
 

/*-----------------------------------
   Template Specific
-----------------------------------*/
/* ---- News Template ---- */
.template_news h1 { font-size:23px; margin-bottom:10px; }
.template_news h2 { font-size:14px; }
.template_news h3 { font-size:14px; }

.template_news .section_banner_title { width:75%; height:auto; padding:2px 15px; margin-left:-15px; font-size:40px; } 



/*-----------------------------------
   Page/Element Specific
-----------------------------------*/
/* ---- About ---- */

  /* The Team */
  .bio_element { padding-bottom:25px; margin-bottom:50px; }
  
  .bio_element .bio_pic { margin-top:0; margin-bottom:10px; }
  
  .bio_element h3 { font-size:22px; }
  .bio_element h4 { margin-bottom:8px; font-size:18px; }
  .bio_element h5 { font-size:14px; }
  
  .bio_element .bio_contact_list > li { margin-bottom:3px; }
  .bio_contact_list > li > .contact_type { width:45px; }

  .bio_element li.team_member_linkedin { padding-top:4px; }

  
/* ---- Business Insurance ---- */

/* Lists: Benefit List */
ul.benefit_anchor { width:120px; padding-top:0; } 
ul.benefit_anchor > li { width:120px; font-size:18px; }
ul.benefit_anchor > li > a { height:120px; padding:10px; }
ul.benefit_anchor > li > a:before { width:28px; height:28px; } 


/* ---- News ---- */
.media_list > li { margin-bottom:19px; }

.media_list h3 { font-size:18px; }


/* ---- Contact Us ---- */
.google_map { height:300px; }


  
/* ------------------------------------
$ Override CSS
------------------------------------ */
/* ---- Additive / Reductive CSS ---- */

	/* Add */

		/* Add: Margin-Bottom */
		.add_margin_0_xs { margin-bottom: 0 !important; }
		.add_margin_5_xs { margin-bottom: 5px !important; }
		.add_margin_10_xs { margin-bottom: 10px !important; }
		.add_margin_15_xs { margin-bottom: 15px !important; }
		.add_margin_20_xs { margin-bottom: 20px !important; }
		.add_margin_25_xs { margin-bottom: 25px !important; }
		.add_margin_30_xs { margin-bottom: 30px !important; }
		.add_margin_35_xs { margin-bottom: 35px !important; }
		.add_margin_40_xs { margin-bottom: 40px !important; }
		.add_margin_45_xs { margin-bottom: 45px !important; }
		.add_margin_50_xs { margin-bottom: 50px !important; }
		.add_margin_60_xs { margin-bottom: 60px !important; }
		.add_margin_70_xs { margin-bottom: 70px !important; }
		.add_margin_75_xs { margin-bottom: 75px !important; }    
		.add_margin_80_xs { margin-bottom: 80px !important; }
		.add_margin_90_xs { margin-bottom: 90px !important; }
		.add_margin_100_xs { margin-bottom: 100px !important; }  


    /* Add: Text-Align */
    .text_left_xs { text-align:left; } 
    .text_center_xs { text-align:center; } 
    .text_right_xs { text-align:right; }
    
    
/* ---- Icon Font ---- */
.iconfont_16_xs { font-size:16px !important; }
.iconfont_24_xs { font-size:24px !important; }
.iconfont_28_xs { font-size:28px !important; }
.iconfont_32_xs { font-size:32px !important; }
.iconfont_48_xs { font-size:48px !important; }       
    
    
    
    
  