/*
-----------------------------------
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:16px; }



/*-----------------------------------
   Visual Composer Overrides
-----------------------------------*/
/* Visual Composer Full-Width Banners */
.add_vc_banner_row { padding-top:30px; padding-bottom:48px; }


/* ---- Visual Composer Responsive Spacer Heights ----
.add_vc_spacer_20 { height:13px !important; }
.add_vc_spacer_30 { height:20px !important; }
.add_vc_spacer_40 { height:26px !important; }
.add_vc_spacer_50 { height:33px !important; }
.add_vc_spacer_60 { height:40px !important; }
*/



/*-----------------------------------
   Site Elements
-----------------------------------*/
/* ---- Hierarchy ---- */
h1 { width:73%; height:70px; padding-top:4px; font-size:59px; }
h2 { font-size:33px; }
h3 { font-size:29px; margin-bottom:15px; }
h4 { font-size:16px; }
h5 { font-size:16px; }

.h4 { font-size:16px; }

h2.page_title { margin-top:-30px; font-size:19px; }
h2.page_title strong { font-size:36px; }

h3.benefit_anchor_header { height:110px; background-size:70px auto; font-size:29px; }


/* ---- 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:23px; }


/* ---- Breadcrumbs ---- */
.breadcrumb { margin-top:-64px; }


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

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


/* ---- Callouts ---- */
.callout { margin-top:11px; border-bottom-width:13px; }
.callout_heading { height:56px; }
.callout_heading h3 { font-size:16px; bottom:7px; left:7px; }

.callout_body { width:100%; display:block; }
.callout_image { width:100%; padding-bottom:0; display:block; }
.callout_content { width:100%; padding-left:10px; display:block; font-size:14px; }
.callout_cta li.doc_pdf { padding-left:17px; background-size:15px auto; }


/* ---- Quotes ---- */
.quote { font-size:20px; }
.quote_attribution { font-size:14px; } 
.quote_attribution .quote_attributor { font-size:17px; }



/*-----------------------------------
   Structure
-----------------------------------*/
/* ---- Header ---- */

  /* HeaderNav */
  #menu-headernav { margin:0 -13px 8px 0; }
  #menu-headernav > li { font-size:14px; }
  #menu-headernav > li > a { padding:28px 13px 7px; }
  
  #menu-headernav > li:first-child > a { padding-left:7px; }
  
  #menu-headernav > li + li:before { height:14px; bottom:7px; }  
  
  #menu-headernav > li > .dropdown-menu { font-size:14px; }
  #menu-headernav > li > .dropdown-menu > li > a { padding-left:16px; }
  #menu-headernav > li > .dropdown-menu > li > a:hover::before { width:16px; padding-left:5px; margin-left:-16px; }
  
    /* HeaderNav: Contact Phone */
    .headernav_contact { font-size:20px; }
    .headernav_contact_phone { font-size:28px; }
  
  #header_container { margin-bottom:23px; }
  
  .navbar-brand img { width:263px; }  
  
  .navbar-nav { width:calc(100% + 10px); margin-left:-10px; }
  .navbar-nav > li > a { padding:15px 10px 16px; font-size:12.25px; font-weight:400; }
  
  .navbar-nav > li + li:before { height:18px; top:calc(50% - 9px); }
  
  .navbar-nav > li > .dropdown-menu { width:125px; font-size:13px; }
  #menu-topnav .dropdown-menu > li > a { padding:10px 10px 9px; }
  
  /* Scrollable Nav */
  #header_desktop_scroll .navbar-brand img { width:auto; height:75px; }
  
  #header_desktop_scroll .dropdown-menu > li > a { padding:10px 10px 9px; }

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

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


/*---- Contact Feature ---- */
.contact_feature_container { margin:33px 0 -33px; }

.contact_feature_content .contact_name { font-size:19px; }
.contact_feature_content .bio_contact_list > li { padding-left:0; font-size:15px; }
.contact_feature_content .bio_contact_list > li > .contact_type { width:48px; }


/* ---- Footer ---- */
.footer { font-size:14px; }

.extended_footer { padding:36px 0; }
.abbreviated_footer { padding:16px 0 12px; }

  /* Extended FooterNav */
  #menu-footernav-extended-col-01 > li,
  #menu-footernav-extended-col-02 > li { width:100%; margin-bottom:16px; }
  
  #menu-footernav-extended-col-02 > li.footernav_mha { margin-bottom:48px; }
    
    /* Footer Contact Info */
    .footer_contact_info { margin-top:-3px; }
    .footer_contact_info_phone { padding-top:1px; margin-top:0; font-size:19px; }

  /* FooterNav */
  #menu-footernav { float:right; }
  #menu-footernav > li > a { padding:0 8px; }  


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

  /* Hero Image */
  .hero_banner {  border-bottom-width:16px; }
  .hero_banner_content_container { height:507px; padding-bottom:15px; }
  .hero_banner_content { font-size:25px; }
  .hero_banner_content p { text-shadow:1px 1px 3px rgba(0,0,0,0.45); }
  .hero_banner_content h1 { margin-bottom:31px; }
  .hero_banner_content h1 em { min-width:111px; padding:28px 5px 24px; }
  
  /* Solutions Feature */
  .solution_element h2 { font-size:30px; }
  .solution_element img { margin-bottom:16px; }  
  
  .solution_element_body { padding:10px 10px 15px; font-size:15px; }  
  .solution_element_footer { padding:5px 10px; }
    
  /* Primary Feature */
  .primary_feature { min-height:388px; padding:118px 0 33px; margin-bottom:36px; }
  .primary_feature_content { font-size:38px; }
  
  .primary_feature_content .btn_secondary { margin-top:14px; }
  
  
  /* News Feature */
  .news_feature { padding-bottom:13px; }
  
  .news_feature .news_cube { width:46px; height:46px; }
  
  .news_feature h2 { padding:30px 5px; margin-left:46px; }
  .news_feature h3 { margin-bottom:5px; font-size:18px; }
   
  .news_feature .more-link { margin-top:6px; }


  /* Secondary Feature */
  .secondary_feature_content { font-size:22px; }
  .secondary_feature_content .btn_secondary { margin-top:15px; }


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

  /* Section Banner */
  .section_banner { margin-bottom:74px; border-bottom-width:17px; }
  .section_banner_title_container { height:204px; }
  
  .section_banner_title_extension { height:70px; right:calc(50% + 360px); }



/*-----------------------------------
   Template Specific
-----------------------------------*/
/* ---- News Template ---- */
.template_news h1 { font-size:37px; }
.template_news h2 { font-size:16px; }
.template_news h3 { font-size:16px; }

.template_news .section_banner_title { width:73%; height:70px; padding-top:4px; font-size:59px; }  

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

  /* The Team */
  .bio_element { padding-bottom:20px; margin-bottom:50px; }
  
  .bio_element .bio_pic { margin-top:7px; }
  
  .bio_element h3 { font-size:26px; }
  .bio_element h4 { margin-bottom:8px; font-size:19px; }
  .bio_element h5 { font-size:14px; }
  
  .bio_contact_list > li > .contact_type { width:50px; }
  
  .bio_element li.team_member_linkedin { padding-top:5px; }
  
  
/* ---- Business Insurance ---- */

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


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

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



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

	/* Add */

		/* Add: Margin-Bottom */
		.add_margin_0_sm { margin-bottom: 0 !important; }
		.add_margin_5_sm { margin-bottom: 5px !important; }
		.add_margin_10_sm { margin-bottom: 10px !important; }
		.add_margin_15_sm { margin-bottom: 15px !important; }
		.add_margin_20_sm { margin-bottom: 20px !important; }
		.add_margin_25_sm { margin-bottom: 25px !important; }
		.add_margin_30_sm { margin-bottom: 30px !important; }
		.add_margin_35_sm { margin-bottom: 35px !important; }
		.add_margin_40_sm { margin-bottom: 40px !important; }
		.add_margin_45_sm { margin-bottom: 45px !important; }
		.add_margin_50_sm { margin-bottom: 50px !important; }
		.add_margin_60_sm { margin-bottom: 60px !important; }
		.add_margin_70_sm { margin-bottom: 70px !important; }
		.add_margin_75_sm { margin-bottom: 75px !important; }    
		.add_margin_80_sm { margin-bottom: 80px !important; }
		.add_margin_90_sm { margin-bottom: 90px !important; }
		.add_margin_100_sm { margin-bottom: 100px !important; } 
    
    /* Add: Text-Align */
    .text_left_sm { text-align:left; } 
    .text_center_sm { text-align:center; } 
    .text_right_sm { text-align:right; }
    
    
/* ---- Icon Font ---- */
.iconfont_16_sm { font-size:16px !important; }
.iconfont_24_sm { font-size:24px !important; }
.iconfont_28_sm { font-size:28px !important; }
.iconfont_32_sm { font-size:32px !important; }
.iconfont_48_sm { font-size:48px !important; } 

       
    
    