/*------------------------------------------------------------

Responsive Style Sheet

version:	1.0
author:		derek allard
email:		derek@tunnel7.com
website:	http://www.tunnel7.com

------------------------------------------------------------*/
/* 1 line tricks - DELETE THESE BEFORE GO LIVE 
http://www.cssglobe.com/post/1392/8-premium-one-line-css-tips

VERTICALLY CENTERS CONTENT IN BOX (IN THIS CASE THE BOX WOULD BE 24 PIXELS TALL)
line-height:24px; 

= = =

PREVENTS OVERSIZED CONTENT TO BREK FIXED WIDTH FLOATED LAYOUTS
#main{ 
	overflow:hidden;
}

= = =

PREVENTS LINE BREAKS IN LINKS
a{ 
	white-space:nowrap;
}

= = =

ALWAYS SHOW FIREFOX SCROLLBAR
html{
	overflow:-moz-scrollbars-vertical;
}

= = =

REMOVE VERTICAL TEXTAREA SCROLLBAR IN IE
textarea{
	overflow:auto;
}

= = =

FORCE PAGE BREAKS WHEN PRINTING YOUR DOCUMENT
h2{
	page-break-before:always;
}

= = =

REMOVE ACTIVE LINK BORDERS
a:active, a:focus{
	outline:none;
}


*/
/* ======= RESET STYLES ======= */
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* ======= WEB FONTS ======= */
/* using typekit dagny pro for this - call is in header */
/* ======= SASS DECLARATIONS ======= */
/* colors - define colors first then elements */
/* alerts and such */
/* for box shadows */
/* to use: @include box-shadow(3px, 3px, 5px, 1px, $shadow); */
/* to use: @include text-shadow(3px, 3px, 0, $shadow); */
/* to use: @include border-radius(7px, 7px, 7px, 7px); */
/* to use: @include transition(0.5s); - remember goes on parent not hover state */
/* to use: @include links($link, $link, $active, $active, $active, bold/normal); */
/* to use: @include rotate(7deg); */
/* to use: @include scale(1.5); */
/* to use: @include box-sizing; */
/* to use: font-size: calc-em(32,16); */
/* ======= GLOBAL STYLES ======= */
body {
  font: normal 100% "ff-dagny-web-pro", arial, helvetica, sans-serif;
  /* sets to 16px baseline */
  background-color: #ffffff;
  color: #000000;
  line-height: 1.5em;
  position: relative;
  -webkit-font-smoothing: antialiased; }

h1 {
  font: normal bold 3em "ff-dagny-web-pro", arial, helvetica, sans-serif;
  color: #19398a; }

h2 {
  font: normal bold 1.5em "ff-dagny-web-pro", arial, helvetica, sans-serif;
  margin: 1.25em 0 0 0;
  color: #19398a; }
  h2.past {
    clear: both;
    padding-top: 2em; }

h3 {
  font: normal normal 1.3125em "ff-dagny-web-pro", arial, helvetica, sans-serif;
  margin: 1.5em 0 0 0;
  color: #19398a; }

h4, h5, h6 {
  font: normal bold 1em "ff-dagny-web-pro", arial, helvetica, sans-serif;
  margin: 1.5em 0 0 0; }

a {
  /* could also just use opacity for hover states
		
	&:hover {opacity: 0.9;}
	&:focus {opacity: 0.9;}
	&:active {opacity: 0.9;}
	
	*/ }
  a:link {
    color: #910028;
    text-decoration: none;
    font-weight: normal; }
  a:visited {
    color: #910028; }
  a:hover {
    color: #19398a; }
  a:focus {
    color: #19398a; }
  a:active {
    color: #19398a; }

/* large buttons */
a.button:link, a.button:visited, input.button, input[type="button"], input[type="submit"], button[type="submit"],button[type="reset"] {
  padding: .5em;
  font: normal bold 1.5em "ff-dagny-web-pro", arial, helvetica, sans-serif;
  text-transform: uppercase;
  color: #ffffff;
  background-color: #910028;
  width: 240px;
  text-align: center;
  display: inline-block;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out; }
  a.button:link.black, a.button:visited.black, input.button.black, input[type="button"].black, input[type="submit"].black, button[type="submit"].black {
    background-color: #000000;
    color: #ffffff; }

a.button:hover, a.button:focus, a.button:active, input.button:hover, input[type="button"]:hover, input[type="submit"]:hover, button[type="submit"]:hover {
  background-color: #19398a; }
  a.button:hover.black, a.button:focus.black, a.button:active.black, input.button:hover.black, input[type="button"]:hover.black, input[type="submit"]:hover.black, button[type="submit"]:hover.black {
    background-color: #19398a; }

/* small buttons */
a.buttonsmall:link, a.buttonsmall:visited {
  padding: .25em;
  margin-left: 1.5em;
  font: normal normal 0.75em "ff-dagny-web-pro", arial, helvetica, sans-serif;
  text-transform: lowercase;
  color: #000000;
  background-color: #910028;
  width: 75px;
  text-align: center;
  display: inline-block;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out; }

a.buttonsmall:hover, a.buttonsmall:focus, a.buttonsmall:active {
  background-color: #ececec; }

body#ab #about a, body#nw #news a {
  /* nav on styling */
  color: #910028; }

.listing {
  margin-bottom: 5em; }
  .listing .listing-item {
    margin-bottom: 1em; }
    .listing .listing-item .photo img {
      -webkit-border-radius: 250px 250px 250px 250px;
      -moz-border-radius: 250px 250px 250px 250px;
      border-radius: 250px 250px 250px 250px; }
    .listing .listing-item h2 {
      line-height: 1.5em; }
      .listing .listing-item h2 a {
        /* could also just use opacity for hover states
		
	&:hover {opacity: 0.9;}
	&:focus {opacity: 0.9;}
	&:active {opacity: 0.9;}
	
	*/ }
        .listing .listing-item h2 a:link {
          color: #910028;
          text-decoration: none;
          font-weight: bold; }
        .listing .listing-item h2 a:visited {
          color: #910028; }
        .listing .listing-item h2 a:hover {
          color: #19398a; }
        .listing .listing-item h2 a:focus {
          color: #19398a; }
        .listing .listing-item h2 a:active {
          color: #19398a; }
    .listing .listing-item p {
      margin: 0; }
      .listing .listing-item p.date {
        font-weight: bold; }
  .listing p.more {
    margin-top: 2em; }

.case-studies .listing, .staff .listing {
  text-align: center;
  margin-top: 2em; }
  .case-studies .listing .listing-item, .staff .listing .listing-item {
    margin-bottom: 3em; }
    .case-studies .listing .listing-item .text h2, .staff .listing .listing-item .text h2 {
      margin-top: .5em; }

@media screen and (min-width: 1024px) {
  .case-studies .listing .listing-item, .staff .listing .listing-item {
    float: left;
    width: 100%; }
    .case-studies .listing .listing-item .photo, .staff .listing .listing-item .photo {
      float: left;
      width: 38.6206896552%;
      margin-right: 5.5172413793%;
      text-align: left; }
    .case-studies .listing .listing-item .text, .staff .listing .listing-item .text {
      float: left;
      width: 55.8620689655%;
      text-align: left; } }

.staff .listing.small h2 {
  margin-bottom: 1.25em; }

.staff .listing.small .listing-item .photo {
  text-align: center; }

.staff .listing.small .listing-item .text h3 {
  margin-top: .25em;
  margin-bottom: 0;
  line-height: 1.5; }
  .staff .listing.small .listing-item .text h3 a {
    /* could also just use opacity for hover states
		
	&:hover {opacity: 0.9;}
	&:focus {opacity: 0.9;}
	&:active {opacity: 0.9;}
	
	*/ }
    .staff .listing.small .listing-item .text h3 a:link {
      color: #910028;
      text-decoration: none;
      font-weight: normal; }
    .staff .listing.small .listing-item .text h3 a:visited {
      color: #910028; }
    .staff .listing.small .listing-item .text h3 a:hover {
      color: #19398a; }
    .staff .listing.small .listing-item .text h3 a:focus {
      color: #19398a; }
    .staff .listing.small .listing-item .text h3 a:active {
      color: #19398a; }

.staff .listing.small .listing-item .text p.intro {
  font-weight: normal;
  line-height: 1.75; }

@media screen and (min-width: 1024px) {
  .staff .listing.small {
    clear: both; }
    .staff .listing.small h2 {
      text-align: left; }
    .staff .listing.small .listing-item {
      float: left;
      width: 32%;
      margin-left: .5%;
      margin-right: .5%;
      min-height: 280px; }
      .staff .listing.small .listing-item .photo {
        float: none;
        width: 100%; }
      .staff .listing.small .listing-item .text {
        float: none;
        width: 100%;
        text-align: center; }
        .staff .listing.small .listing-item .text h3 {
          text-align: center; } }

.carriers .listing.carriers, .payments .listing.carriers, .claims .listing.carriers {
  margin-top: 3em; }
  .carriers .listing.carriers .listing-item, .payments .listing.carriers .listing-item, .claims .listing.carriers .listing-item {
    margin-bottom: 4em; }
    .carriers .listing.carriers .listing-item .photo, .payments .listing.carriers .listing-item .photo, .claims .listing.carriers .listing-item .photo {
      text-align: center; }
      .carriers .listing.carriers .listing-item .photo img, .payments .listing.carriers .listing-item .photo img, .claims .listing.carriers .listing-item .photo img {
        -webkit-border-radius: 0 0 0 0;
        -moz-border-radius: 0 0 0 0;
        border-radius: 0 0 0 0; }
    .carriers .listing.carriers .listing-item .text, .payments .listing.carriers .listing-item .text, .claims .listing.carriers .listing-item .text {
      text-align: center; }
      .carriers .listing.carriers .listing-item .text h3, .payments .listing.carriers .listing-item .text h3, .claims .listing.carriers .listing-item .text h3 {
        margin-top: .25em;
        margin-bottom: 0;
        line-height: 1.5; }
        .carriers .listing.carriers .listing-item .text h3 a, .payments .listing.carriers .listing-item .text h3 a, .claims .listing.carriers .listing-item .text h3 a {
          /* could also just use opacity for hover states
		
	&:hover {opacity: 0.9;}
	&:focus {opacity: 0.9;}
	&:active {opacity: 0.9;}
	
	*/ }
          .carriers .listing.carriers .listing-item .text h3 a:link, .payments .listing.carriers .listing-item .text h3 a:link, .claims .listing.carriers .listing-item .text h3 a:link {
            color: #910028;
            text-decoration: none;
            font-weight: normal; }
          .carriers .listing.carriers .listing-item .text h3 a:visited, .payments .listing.carriers .listing-item .text h3 a:visited, .claims .listing.carriers .listing-item .text h3 a:visited {
            color: #910028; }
          .carriers .listing.carriers .listing-item .text h3 a:hover, .payments .listing.carriers .listing-item .text h3 a:hover, .claims .listing.carriers .listing-item .text h3 a:hover {
            color: #19398a; }
          .carriers .listing.carriers .listing-item .text h3 a:focus, .payments .listing.carriers .listing-item .text h3 a:focus, .claims .listing.carriers .listing-item .text h3 a:focus {
            color: #19398a; }
          .carriers .listing.carriers .listing-item .text h3 a:active, .payments .listing.carriers .listing-item .text h3 a:active, .claims .listing.carriers .listing-item .text h3 a:active {
            color: #19398a; }

@media screen and (min-width: 1024px) {
  .carriers .listing.carriers, .payments .listing.carriers, .claims .listing.carriers {
    clear: both; }
    .carriers .listing.carriers .listing-item, .payments .listing.carriers .listing-item, .claims .listing.carriers .listing-item {
      float: left;
      width: 48%;
      margin-left: 1%;
      margin-right: 1%; }
      .carriers .listing.carriers .listing-item .photo, .payments .listing.carriers .listing-item .photo, .claims .listing.carriers .listing-item .photo {
        float: none;
        width: 100%;
        height: 90px; }
      .carriers .listing.carriers .listing-item .text, .payments .listing.carriers .listing-item .text, .claims .listing.carriers .listing-item .text {
        float: none;
        width: 100%; }
        .carriers .listing.carriers .listing-item .text h3, .payments .listing.carriers .listing-item .text h3, .claims .listing.carriers .listing-item .text h3 {
          text-align: center; } }

@media screen and (min-width: 1024px) {
  #mainbody .wrap .main #content .listing.carriers {
    /* this centers the images */ }
    #mainbody .wrap .main #content .listing.carriers .photo {
      line-height: 90px; }
      #mainbody .wrap .main #content .listing.carriers .photo img {
        vertical-align: middle; } }

.clearfix:before,
.clearfix:after,
.fullwidth:before,
.fullwidth:after,
.wrap:before,
.wrap:after,
.main:before,
.main:after {
  /* clearfix part 1 */
  content: '';
  display: table; }

.clearfix:after,
.fullwidth:after,
.wrap:after,
.main:after {
  /* clearfix part 2 */
  clear: both; }

input.test {
  /* to hide test field on forms to prevent spam - may want to text indent it into oblivion - think i read that some browsers choke on display none*/
  display: none;
  visibility: hidden; }

#accessnav {
  display: none; }

p, li, dd, dt, blockquote, legend, caption, th, td {
  font-size: 1em;
  line-height: 2em; }

p, ul, ol, dl {
  margin: 1em 0; }

p.intro {
  font-weight: bold; }

ul ul,
ul ol,
ol ol,
ol ul {
  margin: 0; }

img, embed, object, video {
  max-width: 100%; }

li li {
  /* ensures no double font ineritance */
  font-size: 1em; }

ul li {
  /* put back bullets */
  margin-left: 2em;
  list-style: disc outside; }

ol li {
  /* put back numbers */
  margin-left: 2em;
  list-style: decimal outside; }

em, i {
  font-style: italic; }

strong, b {
  font-weight: bold; }

.help {
  background-color: rgba(25, 57, 138, 0.87);
  color: #ffffff; }
  .help h2 {
    background-color: #19398a;
    color: #ffffff;
    margin: 0;
    padding: .8em 1em;
    text-align: center; }
  .help ul {
    padding-bottom: 1.5em; }
    .help ul li {
      font-size: 1.3125em;
      list-style: none;
      padding: 1em .5em 1em 3.5em;
      margin-left: 1.5em;
      line-height: 1.5;
      margin-top: .5em;
      margin-bottom: .5em; }
      .help ul li a {
        /* could also just use opacity for hover states
		
	&:hover {opacity: 0.9;}
	&:focus {opacity: 0.9;}
	&:active {opacity: 0.9;}
	
	*/ }
        .help ul li a:link {
          color: #ffffff;
          text-decoration: none;
          font-weight: bold; }
        .help ul li a:visited {
          color: #ffffff; }
        .help ul li a:hover {
          color: #fdb5c9; }
        .help ul li a:focus {
          color: #fdb5c9; }
        .help ul li a:active {
          color: #fdb5c9; }
      .help ul li.quote {
        background: transparent url("/assets/images/icon-umbrella.png") no-repeat left center; }
      .help ul li.claim {
        background: transparent url("/assets/images/icon-claim.png") no-repeat left center; }
      .help ul li.payment {
        background: transparent url("/assets/images/icon-payment.png") no-repeat left center; }
      .help ul li.question {
        background: transparent url("/assets/images/icon-question.png") no-repeat left center; }

@media screen and (max-width: 1023px) {
  .help {
    margin-top: 2em; }
  #homepage .help {
    margin-top: 0; } }

/* ======= LAYOUT GRID STYLES======= */
/* start with mobile first then go up from there - media queries for others at bottom */
.fullwidth {
  width: 100%;
  float: left;
  background: #ffffff;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.wrap {
  margin: auto;
  max-width: 90%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.main {
  width: 100%;
  float: left;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  .main #content {
    width: 100%;
    float: left;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  .main .sidebar {
    width: 100%;
    margin: 0;
    float: right;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }

@media screen and (min-width: 1024px) {
  /* desktops - this may be redundant - copy this over to ie.scss when final (ie8 and down doesn't understand media queries and we'll want to serve the desktop version to it) */
  .fullwidth {
    width: 100%;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  .wrap {
    margin: auto;
    width: 90%;
    max-width: 1200px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  .main {
    width: 100%;
    float: left;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    .main #content {
      width: 64.2857142857%;
      float: left;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
    .main .sidebar {
      width: 32.1904761905%;
      margin-left: 3.5238095238%;
      float: right;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; } }

/* ======= HEADER STYLES ======= */
#alerts {
  background-color: #910028;
  color: #ffffff;
  text-align: center; }
  #alerts p {
    font-size: 1.3125em;
    line-height: 1.5; }
    #alerts p a {
      /* could also just use opacity for hover states
		
	&:hover {opacity: 0.9;}
	&:focus {opacity: 0.9;}
	&:active {opacity: 0.9;}
	
	*/ }
      #alerts p a:link {
        color: #fdb5c9;
        text-decoration: none;
        font-weight: normal; }
      #alerts p a:visited {
        color: #fdb5c9; }
      #alerts p a:hover {
        color: #ffffff; }
      #alerts p a:focus {
        color: #ffffff; }
      #alerts p a:active {
        color: #ffffff; }

#top {
  text-align: center;
  background: #fff url("/assets/images/bg-lighthouse-full.png") no-repeat center top; }
  @media screen and (min-width: 1024px) {
    #top .banner a.button {
      float: right; } }
  #top .banner p {
    margin: 0;
    font-size: 1.125em; }
    #top .banner p.quick {
      margin: .75em 0; }
    @media screen and (min-width: 1024px) {
      #top .banner p.quick {
        display: none; } }
  #top .banner header {
    margin: 0; }
    #top .banner header .direct dl {
      font-size: 1.125em;
      margin-top: .5em; }
      #top .banner header .direct dl dt {
        font-weight: bold;
        font-style: italic;
        line-height: 1.75; }
      #top .banner header .direct dl dd {
        line-height: 1.75; }
    @media screen and (min-width: 1024px) {
      #top .banner header .direct {
        display: inline-block;
        text-align: right;
        float: right;
        margin-left: 7em;
        /* here so nav doesn't ever fall between the logo and the direct quote */
        margin-top: .5em; }
        #top .banner header .direct dl {
          margin-bottom: 0; }
      #top .banner header h1 {
        display: inline-block;
        float: left;
        margin-top: .1em; } }
  @media screen and (min-width: 1024px) {
    #top .banner header {
      clear: both; } }
  #top .banner nav li {
    display: block;
    margin: 0 3em 0 0;
    font-size: 1.5em; }
    #top .banner nav li a {
      font-weight: bold; }
    #top .banner nav li.here a, #top .banner nav li.parent-here a {
      color: #19398a; }
    #top .banner nav li.here ul li a, #top .banner nav li.parent-here ul li a {
      color: #910028; }
    #top .banner nav li.here ul li.here a, #top .banner nav li.parent-here ul li.here a {
      color: #19398a; }
    @media screen and (min-width: 1024px) {
      #top .banner nav li.here ul li.here a, #top .banner nav li.parent-here ul li.here a {
        color: #fdb5c9; } }
    #top .banner nav li ul li {
      font-size: 0.75em; }
      @media screen and (min-width: 1024px) {
        #top .banner nav li ul li a {
          font-weight: normal;
          /* could also just use opacity for hover states
		
	&:hover {opacity: 0.9;}
	&:focus {opacity: 0.9;}
	&:active {opacity: 0.9;}
	
	*/ }
          #top .banner nav li ul li a:link {
            color: #ffffff;
            text-decoration: none;
            font-weight: bold; }
          #top .banner nav li ul li a:visited {
            color: #ffffff; }
          #top .banner nav li ul li a:hover {
            color: #fdb5c9; }
          #top .banner nav li ul li a:focus {
            color: #fdb5c9; }
          #top .banner nav li ul li a:active {
            color: #fdb5c9; }
        #top .banner nav li ul li.here a {
          color: #fdb5c9; } }
  @media screen and (min-width: 1024px) {
    #top .banner nav {
      float: right; }
      #top .banner nav ul {
        margin: .8em 0 0; }
        #top .banner nav ul li {
          display: inline-block;
          margin-right: 2em;
          padding-bottom: .5em; }
          #top .banner nav ul li.last {
            margin-right: 0; }
          #top .banner nav ul li ul {
            margin-top: 0em;
            padding: .5em 0 1em; }
            #top .banner nav ul li ul li {
              margin-right: 0;
              padding: 0 0.5em 0 1.5em;
              -moz-box-sizing: border-box;
              -webkit-box-sizing: border-box;
              box-sizing: border-box;
              text-align: left;
              line-height: 1.25; }
              #top .banner nav ul li ul li a {
                font-weight: bold; } }

@media screen and (min-width: 1024px) {
  #top {
    background-position-y: 82%; } }

/* ======= MAIN CONTENT STYLES ======= */
#mainbody {
  background: transparent url("/assets/images/feature-sugarloaf.jpg") no-repeat center top; }
  #mainbody .wrap .main {
    background-color: rgba(255, 255, 255, 0.95);
    margin-top: 3em;
    padding: 3em 3.125%;
    overflow-wrap: break-word;
    /* these two ensure that long words never break out of container */
    word-wrap: break-word; }
    #mainbody .wrap .main #content p.meta {
      font: italic normal 1.5em "ff-dagny-web-pro", arial, helvetica, sans-serif;
      margin-top: 0.35em; }
    #mainbody .wrap .main #content img {
      margin: .25em 1em; }
    #mainbody .wrap .main #content .photo img {
      margin: 0; }
    #mainbody .wrap .main #content .secondary {
      border: 1px solid #c0bfc1;
      padding: .5em 1em;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      margin: 2em 0; }
      #mainbody .wrap .main #content .secondary img {
        margin: 0; }
    @media screen and (min-width: 1024px) {
      #mainbody .wrap .main #content .secondary {
        float: right;
        width: 33%;
        margin-left: 2%;
        margin-top: 1.5em;
        margin-bottom: .5em; } }
  @media screen and (min-width: 1024px) {
    #mainbody .wrap .main {
      min-height: 700px;
      /* ensures adequate spacing before footes elements start */ } }

/* ======= HOMEPAGE SPECIFIC STYLES ======= */
#homepage #mainbody {
  min-height: 600px;
  /* height of feature images */
  background-position: center top;
  background-repeat: no-repeat; }
  #homepage #mainbody .wrap .main {
    background-color: transparent;
    padding: 0;
    margin-top: 0; }
    #homepage #mainbody .wrap .main #content {
      margin-top: 7em; }
      #homepage #mainbody .wrap .main #content h1 {
        color: #ffffff;
        font-style: italic;
        line-height: 1.2;
        -webkit-text-shadow: 2px 2px 5px #000000;
        -moz-text-shadow: 2px 2px 5px #000000;
        text-shadow: 2px 2px 5px #000000; }
      #homepage #mainbody .wrap .main #content p {
        font-size: 1.5em;
        color: #ffffff;
        line-height: 1.2;
        margin-bottom: 1.5em;
        -webkit-text-shadow: 2px 2px 5px #000000;
        -moz-text-shadow: 2px 2px 5px #000000;
        text-shadow: 2px 2px 5px #000000; }
    @media screen and (min-width: 1024px) {
      #homepage #mainbody .wrap .main #content {
        margin-top: 10em; } }
    #homepage #mainbody .wrap .main .sidebar {
      margin-top: 5em; }

@media screen and (max-width: 1023px) {
  #homepage #mainbody {
    background-size: cover;
    padding-bottom: 2em; } }

#homepage #coverages {
  padding: 3.5em 0 1.5em 0;
  text-align: center; }
  #homepage #coverages h2 {
    font-size: 3em;
    margin-top: 0;
    line-height: 1.2; }
  #homepage #coverages .offerings {
    margin-top: 3.1em; }
    #homepage #coverages .offerings .coverage {
      margin-bottom: 3em; }
      #homepage #coverages .offerings .coverage h3 {
        font-size: 1.5em;
        margin: .7em 0 .25em 0; }
        #homepage #coverages .offerings .coverage h3 a {
          font-weight: bold; }
      #homepage #coverages .offerings .coverage p {
        margin: 0; }
  @media screen and (min-width: 1024px) {
    #homepage #coverages .offerings {
      float: left;
      width: 1005; }
      #homepage #coverages .offerings .coverage {
        float: left;
        width: 22.3214285714%;
        margin: 0 1.1607142857% 0 1.0714285714%; } }

@media screen and (min-width: 1024px) {
  #homepage #coverages {
    padding: 0 0 7em 0;
    margin-top: -1em; } }

/* ======= CASE STUDY SPECIFIC STYLES ======= */
#casestudy #mainbody .main #content .photo {
  margin: 2em 0 0 0;
  text-align: center; }
  #casestudy #mainbody .main #content .photo img {
    -webkit-border-radius: 354px 354px 354px 354px;
    -moz-border-radius: 354px 354px 354px 354px;
    border-radius: 354px 354px 354px 354px; }

@media screen and (min-width: 1024px) {
  #casestudy #mainbody .main #content .photo {
    display: inline-block;
    float: right;
    margin-left: 1em; } }

/* ======= STAFF SPECIFIC STYLES ======= */
#staff #mainbody .main #content .photo {
  margin: 2em 0 0 0;
  text-align: center; }
  #staff #mainbody .main #content .photo img {
    -webkit-border-radius: 354px 354px 354px 354px;
    -moz-border-radius: 354px 354px 354px 354px;
    border-radius: 354px 354px 354px 354px; }

@media screen and (min-width: 1024px) {
  #staff #mainbody .main #content .photo {
    display: inline-block;
    float: right;
    margin-left: 1em;
    margin-top: 0; } }

/* ======= CARRIER SPECIFIC STYLES ======= */
#carrier #mainbody .main #content .photo {
  margin: 2em 0 0 0;
  text-align: center; }

@media screen and (min-width: 1024px) {
  #carrier #mainbody .main #content .photo {
    display: inline-block;
    float: right;
    margin-left: 1em; } }

/* ======= FOOTER STYLES ======= */
#casestudies {
  background: #910028 url("/assets/images/bg-case-studies.jpg") no-repeat center top;
  background-size: cover;
  text-align: center;
  padding-bottom: 4em; }
  #casestudies p, #casestudies li, #casestudies dt, #casestudies dd, #casestudies h1, #casestudies h2, #casestudies h3, #casestudies h4, #casestudies h5, #casestudies h6 {
    color: #ffffff; }
  #casestudies a {
    /* could also just use opacity for hover states
		
	&:hover {opacity: 0.9;}
	&:focus {opacity: 0.9;}
	&:active {opacity: 0.9;}
	
	*/ }
    #casestudies a:link {
      color: #fdb5c9;
      text-decoration: none;
      font-weight: bold; }
    #casestudies a:visited {
      color: #fdb5c9; }
    #casestudies a:hover {
      color: #ffffff; }
    #casestudies a:focus {
      color: #ffffff; }
    #casestudies a:active {
      color: #ffffff; }
    #casestudies a.button {
      /* could also just use opacity for hover states
		
	&:hover {opacity: 0.9;}
	&:focus {opacity: 0.9;}
	&:active {opacity: 0.9;}
	
	*/ }
      #casestudies a.button:link {
        color: #ffffff;
        text-decoration: none;
        font-weight: bold; }
      #casestudies a.button:visited {
        color: #ffffff; }
      #casestudies a.button:hover {
        color: #ffffff; }
      #casestudies a.button:focus {
        color: #ffffff; }
      #casestudies a.button:active {
        color: #ffffff; }
  #casestudies .label a.button {
    text-transform: capitalize; }
  @media screen and (min-width: 1024px) {
    #casestudies .label {
      margin-left: 34.8214285714%; } }
  #casestudies .photo {
    margin-top: 3em; }
    #casestudies .photo img {
      -webkit-border-radius: 354px 354px 354px 354px;
      -moz-border-radius: 354px 354px 354px 354px;
      border-radius: 354px 354px 354px 354px; }
  @media screen and (min-width: 1024px) {
    #casestudies .photo {
      float: left;
      width: 31.6964285714%;
      margin-right: 3.125%; } }
  #casestudies .text {
    margin-top: 3em; }
    #casestudies .text h3 {
      margin: 0;
      font-size: 3em;
      text-align: left;
      line-height: 1.2; }
    #casestudies .text p {
      font-size: 1.5em;
      text-align: left;
      margin-top: 2em;
      margin-bottom: 1.75em;
      line-height: 1.5; }
  @media screen and (min-width: 1024px) {
    #casestudies .text {
      float: left;
      width: 65.1785714286%;
      text-align: left; } }

@media screen and (min-width: 1024px) {
  #casestudies {
    text-align: left;
    padding-bottom: 7em; } }

#team .text h3 {
  font-size: 2.25em;
  font-weight: bold;
  line-height: 1.2; }

@media screen and (min-width: 1024px) {
  #team .text h3 {
    margin-top: 0; } }

@media screen and (min-width: 1200px) {
  #team .text h3 {
    margin-top: 1.5em; } }

#team .text .action {
  text-align: center;
  margin-top: 2em; }

@media screen and (min-width: 1024px) {
  #team .text {
    float: right;
    width: 33.3035714286%; } }

@media screen and (min-width: 1024px) {
  #team .text {
    margin-top: 3.1em; } }

#team .photo {
  margin-top: 2em;
  margin-bottom: 2em;
  line-height: 0;
  /* so image sits flush on next section */
  text-align: center; }

@media screen and (min-width: 1024px) {
  #team .photo {
    float: left;
    width: 63.3928571429%;
    margin-right: 3.3035714286%;
    text-align: left;
    margin-top: 3.1em;
    /* ensures always flush to bottom */ } }

@media screen and (min-width: 1200px) {
  #team .photo {
    /*margin-top: 0;*/margin: 20px 0; } }

#independent {
  padding: 3.5em 0 5em 0;
  text-align: center;
  background-color: #ececec; }
  #independent .text h3 {
    font-size: 3em;
    font-weight: bold;
    margin: 0;
    line-height: 1.2; }
  #independent .logos .logo {
    margin: 3em 0; }
  @media screen and (min-width: 1024px) {
    #independent .logos {
      float: left;
      text-align: center;
      padding: 0 0 3em;
      margin-top: -1em; }
      #independent .logos .logo {
        display: inline-block;
        text-align: center;
        vertical-align: middle;
        margin: 3em 2em 0 2em; } }

#news-faq {
  background: #910028 url("/assets/images/bg-blog-faq.jpg") no-repeat center top;
  background-size: cover;
  padding-bottom: 20em; }
  #news-faq p, #news-faq li, #news-faq dt, #news-faq dd, #news-faq h1, #news-faq h2, #news-faq h3, #news-faq h4, #news-faq h5, #news-faq h6 {
    color: #ffffff; }
  #news-faq a {
    /* could also just use opacity for hover states
		
	&:hover {opacity: 0.9;}
	&:focus {opacity: 0.9;}
	&:active {opacity: 0.9;}
	
	*/ }
    #news-faq a:link {
      color: #fdb5c9;
      text-decoration: none;
      font-weight: bold; }
    #news-faq a:visited {
      color: #fdb5c9; }
    #news-faq a:hover {
      color: #ffffff; }
    #news-faq a:focus {
      color: #ffffff; }
    #news-faq a:active {
      color: #ffffff; }
    #news-faq a.button {
      /* could also just use opacity for hover states
		
	&:hover {opacity: 0.9;}
	&:focus {opacity: 0.9;}
	&:active {opacity: 0.9;}
	
	*/ }
      #news-faq a.button:link {
        color: #ffffff;
        text-decoration: none;
        font-weight: bold; }
      #news-faq a.button:visited {
        color: #ffffff; }
      #news-faq a.button:hover {
        color: #ffffff; }
      #news-faq a.button:focus {
        color: #ffffff; }
      #news-faq a.button:active {
        color: #ffffff; }
  #news-faq .label {
    text-align: center; }
    #news-faq .label a.button {
      text-transform: capitalize; }
  @media screen and (min-width: 1024px) {
    #news-faq .label {
      text-align: left; } }
  #news-faq .news .listing .listing-item h2 {
    font-size: 2.25em;
    line-height: 1.2; }
  @media screen and (min-width: 1024px) {
    #news-faq .news {
      float: left;
      width: 58.0357142857%;
      margin-right: 8.6607142857%; }
      #news-faq .news .listing .listing-item {
        text-align: left; } }
  #news-faq .faq .listing .listing-item {
    margin-top: 2.5em; }
  @media screen and (min-width: 1024px) {
    #news-faq .faq {
      float: left;
      width: 33.3035714286%; }
      #news-faq .faq .listing {
        margin-top: 3.1em; }
        #news-faq .faq .listing .listing-item {
          text-align: left;
          margin-top: 0; } }

#bottom {
  background: transparent url("/assets/images/swish-large.png") no-repeat center top;
  margin-top: -20em;
  /* to move the swish up into the red */
  text-align: center; }
  #bottom .social {
    margin-top: 18em; }
    #bottom .social ul li {
      display: inline-block;
      margin: 0 .5em;
      list-style: none; }
  @media screen and (min-width: 1024px) {
    #bottom .social {
      float: left;
      margin-top: 10em; }
      #bottom .social ul li {
        margin: 0 1em 0 0; } }
  #bottom .contact {
    margin: 1.75em 0 3em 0; }
    #bottom .contact dl {
      margin-bottom: 2.5em; }
      #bottom .contact dl dt {
        font-size: 1.5em;
        font-weight: bold; }
      #bottom .contact dl dd {
        font-size: 1.125em; }
  #bottom .bestof img {
    display: block;
    margin: 0 auto .5em; }
  @media screen and (min-width: 1024px) {
    #bottom .contact {
      clear: both;
      float: left;
      width: 43.75%;
      text-align: left;
      margin-top: 0;
      margin-bottom: .5em; }
      #bottom .contact .easthampton {
        float: left;
        width: 44.8979591837%;
        margin-right: 10.2040816327%; }
        #bottom .contact .easthampton dl {
          margin-top: 0; }
      #bottom .contact .florence {
        float: left;
        width: 44.8979591837%; }
        #bottom .contact .florence dl {
          margin-top: 0; }
    #bottom .bestof {
      float: right;
      width: 56.25%;
      margin-top: 9.5em; } }
  #bottom footer {
    padding-bottom: 3em;
    margin-top: 1em; }
    #bottom footer p {
      margin: 0;
      font-size: 1.125em; }
  @media screen and (min-width: 1024px) {
    #bottom footer {
      clear: both;
      text-align: left; } }

/* ======= FORM STYLES ======= */
form input.test {
  /* to hide test field on forms to prevent spam - may want to text indent it into oblivion - think i read that some browsers choke on display none*/
  display: none; }

form dd {
  margin-bottom: 1em; }

form input, form select, form textarea {
  font: italic normal 1em "ff-dagny-web-pro", arial, helvetica, sans-serif;
  border: 1px solid #c0bfc1;
  padding: .5em .5em;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: none;
  /* ensures no ios default styling applied to buttons */
  -webkit-border-radius: 0px 0px 0px 0px;
  -moz-border-radius: 0px 0px 0px 0px;
  border-radius: 0px 0px 0px 0px;
  /* removes ios default border radius on buttons */ }

form input[type="text"], form select, form textarea, form input[type="email"], form input[type="tel"], form input[type="password"] {
  /* so it utilizes more of the page */
  width: 50%; }

form input#plan_amount,
form select#card_exp_month,
form select#card_exp_year,
form input#card_cvc {
  /* for shorter inputs on these fields */
  width: 25%;
  display: inline-block;
  /* this is needed to get the select items side by side ... plan amount doesn't really need it but it doesn't hurt */ }

form textarea {
  /* so it utilizes more of the page and is wider than form elements */
  width: 75%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

form select {
  min-height: 29px; }

form input.button,
form input[type="button"],
form input[type="submit"],
form input[type="file"],
form input[type="radio"],
form input[type="checkbox"] {
  /* no border on buttons or radio checkboxes or files  */
  border: none;
  -webkit-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out; }

form input[type="text"]:focus, form textarea:focus {
  background-color: #fdb5c9; }

form input.button, form input[type="button"], form input[type="submit"], form button[type="submit"],form button[type="reset"] {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

form input.button:hover, form input[type="button"]:hover, form input[type="submit"]:hover, form button[type="submit"]:hover,form button[type="reset"]:hover {
  background: #19398a;
  color: #ffffff; }

form .feedback, form .freeform-form-has-errors {
  color: #910028; }

form .freeform-row .freeform-column .freeform-label {
  font-weight: normal; }

form .freeform-row .freeform-column .freeform-input {
  width: 50%; }

form .freeform-row .freeform-column textarea.freeform-input {
  width: 75%; }

form .freeform-row .freeform-column .freeform-errors > li {
  color: #910028;
  margin-left: 0;
  list-style: none; }

/* ======= TABLE STYLES ======= */
table thead,
table tfoot {
  background: #777777; }

/* ======= PLUGIN STYLES ======= */
/*! responsive-nav.js 1.0.39 by @viljamis */
.nav-collapse ul {
  margin: 0;
  padding: 0;
  width: 100%;
  display: block;
  list-style: none; }

.nav-collapse li {
  width: 100%;
  display: block; }

.js .nav-collapse {
  clip: rect(0 0 0 0);
  max-height: 0;
  position: absolute;
  display: block;
  overflow: hidden;
  zoom: 1;
  padding-bottom: 1.5em; }

.nav-collapse.opened {
  max-height: 9999px; }

a.nav-toggle {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  background-image: url("/assets/images/hamburger.png");
  background-position: 50% 65%;
  background-repeat: no-repeat;
  display: block;
  text-indent: -9999px;
  overflow: hidden;
  padding: .2em 0 1em 0;
  /* so hamburger fits */
  /*
  font-size: calc-em(18,16);
  font-weight: bold;
  */ }

@media screen and (min-width: 1024px) {
  /* 981 corresponds to js trigger conditional */
  .js .nav-collapse {
    position: relative; }
  .js .nav-collapse.closed {
    max-height: none; }
  .nav-toggle {
    display: none; }
  /* for dropdowns style - http://css-tricks.com/simple-jquery-dropdowns/ */
  /* 
		LEVEL ONE
	*/
  ul.dropdown {
    position: relative; }
  ul.dropdown li {
    font-weight: bold;
    float: left;
    zoom: 1; }
  ul.dropdown li a {
    display: block; }
  ul.dropdown li:last-child a {
    border-right: none; }
  /* Doesn't work in IE */
  ul.dropdown li.hover,
  ul.dropdown li:hover {
    position: relative; }
  /* 
		LEVEL TWO
	*/
  ul.dropdown ul {
    width: 200px;
    visibility: hidden;
    position: absolute;
    top: 100%;
    left: -.9em;
    z-index: 999;
    background-color: rgba(25, 57, 138, 0.9); }
  ul.dropdown ul li {
    font-weight: normal;
    float: none;
    width: 100%;
    margin-right: 0; }
  /* IE 6 & 7 Needs Inline Block */
  ul.dropdown ul li a {
    border-right: none;
    width: 100%;
    display: inline-block;
    color: #ffffff;
    font-size: 1.1666666667em; }
  ul.dropdown ul li.hover a,
  ul.dropdown ul li:hover a,
  ul.dropdown ul li.hover a:hover {
    color: #fdb5c9; }
  /* 
		LEVEL THREE
	*/
  ul.dropdown ul ul {
    left: 100%;
    top: 0; }
  ul.dropdown li:hover > ul {
    visibility: visible; } }

/* ======= HIDING ======= */
body.carriers.why-us {
  /* on carrier page show no links */ }
  body.carriers.why-us h3.url, body.carriers.why-us h3.claim, body.carriers.why-us h3.payment {
    display: none; }

body.carriers.why-us {
  /* on carrier page show no links */ }
  body.carriers.why-us h3.url, body.carriers.why-us h3.claim, body.carriers.why-us h3.payment {
    display: none; }

body.claims {
  /* on claims page show just claims link */ }
  body.claims h3.url, body.claims h3.payment {
    display: none; }

body.payments {
  /* on payments page show just payment link */ }
  body.payments h3.url, body.payments h3.claim {
    display: none; }

/* Edits of 31-10-2019 */
iframe{max-width: 100%;}
.help ul li{padding: 0;}
.help ul li a{padding: 1em .5em 1em 3.5em; display: table;}

#commform input[type=radio],#commform select{
  -webkit-appearance: auto;
}
#commform input[type=text], #commform select, #commform textarea, #commform input[type=email] {
  width: 100%;
}
@media (max-width: 767px) {
  #commform div.freeform-row:nth-child(40){
    flex-direction:column;
    align-items: left;
  }
}