/* ICONS */
[class^="ft-"]:before, [class*=" ft-"]:before {
  width: auto;
  margin-right: 0;
  margin-left: 0;
}

/* NAVIGATION RESET */
.navigation {
  line-height: 1.428571428571429; /* 20 */
}
.navigation ul, .navigation li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.navigation a {
  color: #333;
  text-decoration: none;
}
.navigation a:hover,
.navigation a.active,
.navigation a.active-trail,
.navigation span.active,
.navigation span.active-trail {
  color: #e70033;
  text-decoration: none;
}
.navigation [class^="ft-"],
.navigation [class*=" ft-"] {
  color: #b4b4b4;
}
.navigation a:hover [class^="ft-"],
.navigation a:hover [class*=" ft-"] {
  color: #e70033;
}
/* PRIMARY MENU */
#primary {
  clear: both;
  width: 100%;
  position: relative;
  /*background: #f8f8f8;*/
}
.primary {
  background: #f8f8f8;
}
.primary a {
  display: block;
}
#primary > ul {

}
#primary > ul > li {
  /*background: #efefef;*/
}
.primary > ul > li > a {
  padding: 10px 20px;
  color: rgba(0, 0, 0, .77);
}
.primary > ul > li:hover > a {
  color: rgba(238, 54, 66, 0.77);
}
.desktop > ul > li:hover > a {
  background: #f1f1f1;
}
.primary > ul > li > a > span.reo {
  font-size: 0.785714285714286em; /* 11 */
}
#primary > ul > li:hover > a > span {

}
.primary span.title {
  display: inline-block;
}
.primary span.reo {
  display: block;
  font-style: italic;
}
.respond .primary li li a {
  font-size: 12px;
}
.desktop #primary .dropdown {
  position: absolute;
  right: -9999px;
  width: 100%;
  background: #fff;
  color: #000;
  border-top: solid 3px #fff;
  transition: right .2s;
  z-index: 19;
  box-shadow: -4px 4px 10px rgba(0, 0, 0, .2);
}
.desktop #primary .get-help:hover > a,
.desktop #primary .help-us:hover > a {
  border-bottom: solid 3px #e8e8e8;
  margin-bottom: -3px;
}
.desktop #primary .get-help:hover .dropdown,
.desktop #primary .help-us:hover .dropdown {
  right: 0;
}
.desktop .dropdown .columns {
  float: right;
  width: 80%;
  padding: 10px;
  background: #e8e8e8;
}
.desktop .dropdown .column {
  float: left;
  position: relative;
  min-height: 1px;
  padding: 10px 15px;
  width: 20%;
}
.desktop .dropdown .columns .column {
  width: 25%;
  padding: 15px;
}
.desktop .dropdown img {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 15px;
}
.desktop .dropdown .columns .column > ul > li > a {
  font-size: 16px;
  font-weight: 600;
}
.desktop .dropdown .columns li li {
  margin: 1em 0 0;
}
.desktop .dropdown .links {
  font-weight: 600;
}
.desktop .dropdown .links li {
  margin: 12px 0 0;
}
.desktop .dropdown .links a {
  position: relative;
  padding-left: 35px;
  min-height: 25px;
}
.desktop .dropdown .links a span {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -17px;
}
.dropdown [class^="ft-"],
.dropdown [class*=" ft-"] {
  display: inline-block;
  font-size: 24px;
  line-height: 24px;
  /*color: #b4b4b4;*/
  width: 30px;
  margin-right: 6px;
  text-align: center;
  vertical-align: middle;
}
.dropdown .ft-family-tracing,
.dropdown .ft-hospice,
.dropdown .ft-reintegration {
  font-size: 18px;
}
.dropdown .ft-testimonials,
.dropdown .ft-together-newsletter {
  font-size: 21px;
}
.ft-gift-your-will:before { content: '\e80e'; } /* '' */
.ft-payroll-giving:before { content: '\e811'; } /* '' */
.ft-food-assistance:before { content: '\e818'; /* width: 26px;*/ } /* '' */

/*#primary li.get-help > ul,
#primary li.help-us > ul
{
  display: block;
  position: absolute;
  width: 100%;
  left: -999em;
  left: auto;
  right: 0;
}*/

/*
#primary .support-us {left: -40px;}
#primary .our-community {left: -40px;}
#primary .research-media {left: -40px;}*/

/* #primary li:hover .dropdown {left: -40px;} */
/* DROPDOWN ENDS */

/* DESKTOP ONLY */
.desktop #primary {
  float: left;
  border-top: solid 3px #fff;
  /*border-bottom: solid 3px #fff;*/
}
.desktop #primary > ul > li {
  float: left;
  max-width: 25%;
}
.desktop #primary > ul > li > a {
  padding: 12px 15px;
}
#navt.desktop #primary > ul > li > a {
  min-height: 76px;
}
.desktop #primary > ul > li > a > span.title {
  font-size: 1.142857142857143em; /* 16 */
}
.desktop #primary > ul > li > a > span.reo {
  font-size: 0.722222222222222em; /* 13 */
  font-size: 11px;
  display: none;
  width: 100px;
  /*opacity: 0;*/
}
.desktop #primary > ul > li > ul > li {
  border-left: solid 1px #acacac;
  border-right: solid 1px #acacac;
}
.desktop #primary > ul > li > ul > li.first {
  padding-top: 10px;
}
.desktop #primary > ul > li > ul > li.last {
  padding-bottom: 10px;
}
.desktop #primary > ul > li > ul > li a {
  font-size: 1em;
  padding: 10px 15px;
}
.desktop #primary > ul > li > ul {
  display: block;
  position: absolute;
  width: 225px;
  left: -999em;
  /*left: auto;*/
  background-color: #f1f1f1;
  border-bottom: solid 1px #acacac;
  border-top: solid 3px #fff;
}
.microsite #primary > ul > li > ul {
  border-top: 0;
}
.desktop #primary li:hover ul {
  left: auto;
}
.desktop #primary .get-help,
.desktop #primary .help-us {
  float: right;
  border-left: solid 3px #fff;
}
.desktop .primary > ul > li.get-help > a,
.desktop .primary > ul > li.help-us > a {
  padding: 12px 15px 12px;
  background: #e8e8e8;
  color: #ee3642;
  position: relative;
  z-index: 20;
}
.desktop .primary > ul > li.get-help > a > span.title,
.desktop .primary > ul > li.help-us > a > span.title {
  font-size: 2em; /* 28 */
  font-weight: 600;
}
.desktop .primary > ul > li.get-help > a > span.reo,
.desktop .primary > ul > li.help-us > a > span.reo {
  font-size: .5em;
  font-weight: normal;
}
@media screen and (min-width: 1200px) {
  .desktop .columns .column > ul > li > a {
    font-size: 16px;
  }
  .desktop #utility {
    padding: 20px 270px 20px 20px;
  }
  .desktop #block-search-form {
    padding: 20px;
  }
}
@media screen and (min-width: 1400px) {
  .desktop #primary > ul > li > a {
    font-size: 1.285714285714286em; /* 18 */
    padding: 19px 25px 18px;
  }
  #navt.desktop #primary > ul > li > a {
    min-height: 96px;
  }
  .desktop #primary > ul > li > ul > li a {
    padding: 10px 25px;
  }
  .desktop .columns .column > ul > li > a {
    font-size: 18px;
  }
}
/* UTILITY MENU */
#utility a {
  display: block;
}
#utility > ul > li > a {
  font-weight: 600;
  padding: 6px 0;
  text-transform: uppercase;
}
.respond #utility ul {
  background: #efefef;
  padding: 20px;
}
.respond #utility li {
  border-top: solid 1px rgba(204, 204, 204, .35);
}
.respond #utility li.first {
  border-top: 0;
}
/* DESKTOP */
.desktop #utility {
  position: absolute;
  top: 0;
  left: 0;
  right: 59px; /* 15 + 44 */
  padding: 15px 0 15px 15px;
}
.desktop #utility > ul {
  float: right;
}
.desktop #utility > ul > li {
  float: left;
  border-top: 0;
  margin-right: 15px;
  margin-top: 9px;
}
.desktop #utility li.first {
  padding-right: 15px;
  border-right: solid 1px #ccc;
}
.desktop #utility > ul > li > a {
  line-height: 1;
  vertical-align: middle;
}
.desktop #utility .btn {
  padding-right: 0;
  border-right: 0;
  margin-top: 0;
}
.desktop #utility .btn a {
  background: #fff;
  padding: 9px 10px;
  border: solid 1px #ccc;
  position: relative;
}
.desktop #utility .btn [class^="ft-"] {
  font-size: 24px;
  height: 24px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 5px;
}
.desktop #block-search-form {
  padding: 15px;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 11;
}
.desktop #block-search-form .form-text {
  display: none;
}
/* LOCATE */
.desktop #utility .locate,
.desktop #utility .locate #locateDropdownMenu {
  width: 210px;
}
.desktop #utility .locate {
  position: absolute;
  left: 15px;
  top: 15px;
  margin: 0;
}
.desktop .locate #locateDropdownMenu {
  position: absolute;
  left: -999em;
  /*left: auto;*/
  /*  background-color: #f1f1f1;
    border-bottom: solid 1px #acacac;
    border-top: solid 3px #fff;*/
}
.desktop .locate:hover #locateDropdownMenu {
  left: auto;
}
.desktop .locate #locateDropdownMenu {
  background-color: #fff;
  border: 1px solid #ccc;
  border-top: 0;
  padding: 1px 0;
}
/*.desktop #utility .locate #locateDropdownMenu li {
  display: block;
  width: 100%;
  margin: 0;
}*/
.desktop .locate #locateDropdownMenu a {
  font-weight: normal;
  padding: 5px 15px;
  margin: 5px 0;
}

.desktop #utility .locate > a {
  padding: 14px 10px 14px 35px;
  color: #000;
  border: solid 1px #ccc;
  position: relative;
  background: #fff;
}
.desktop #utility .locate .fa {
  color: #b4b4b4;
}
.desktop #utility .locate .fa-map-marker {
  font-size: 2em;
  position: absolute;
  top: 7px;
  left: 10px;
}
.desktop #utility .locate .fa-sort-desc {
  font-size: 1.3em;
  margin-top: -4px;
  margin-right: 0px;
}
.respond #utility .locate,
.respond #utility .locate #locateDropdownMenu {
  padding: 0;
}
.respond #utility .locate .fa {
  display: none;
}
@media screen and (min-width: 1200px) {
  /*  .desktop #utility .locate {
      left: 20px;
      top: 20px;
    }*/
  .desktop #utility .locate,
  .desktop #utility .locate #locateDropdownMenu {
    width: 250px;
  }
  .desktop .locate #locateDropdownMenu a {
    padding: 5px 20px;
  }
}
/************************************* NAVBARS *******/
.navbar {
  z-index: 23;
  width: 100%;
  transition: .3s ease-in-out;
}
.navbar.open {
  z-index: 24;
}
.responsive #navt,
.microsite #navt {
  position: absolute;
  bottom: 0;
  top: 0;
  right: calc(-100% + 52px);
  /*right: 0;*/
  padding-left: 55px;
}
.responsive #navm {
  position: absolute;
  bottom: 0;
  top: 0;
  left: calc(-100% + 55px);
  /*left: 0;*/
  padding-right: 55px;
}
.responsive #navt.open,
.microsite #navt.open {
  right: 0;
}
.responsive #navm.open {
  left: 0;
}
.responsive #navt .nav,
.microsite #navt .nav {
  background: #ccc;
  position: relative;
  top: 0;
  left: 0;
  overflow-x: auto;
}
.responsive #navm .nav {
  background: #ccc;
  position: relative;
  top: 0;
  right: 0;
  overflow-x: auto;
}
.navbar .toggle {
  display: none;
  background: #fff;
  color: #000;
  border: 0;
  width: 55px;
  height: 54px;
  padding: 12px 0;
  font-size: 30px;
  line-height: 1;
  text-align: center;
  margin-left: auto;
  text-decoration: none !important;
  cursor: pointer;
  position: absolute;
  top: 0;
}
.responsive .toggle,
.microsite #navt .toggle {
  display: block;
}
.navbar .ft-logo:hover,
.navbar .toggle:hover {
  text-decoration: none;
}
#navt .toggle {
  left: 0;
  border-left: solid 2px #d7d7d7;
}
#navt .ft-logo,
#navt .ft-menu {
  background: #fff;
  color: #d23536;
  padding: 5px 0;
  font-size: 60px;
}
.microsite #navt .ft-logo,
.responsive #navt .ft-menu,
.microsite #navt .ft-menu {
  font-size: 42px;
}
#navm .toggle {
  border-right: solid 2px #d7d7d7;
  right: 0;
}
#navh {
  line-height: 1.25;
  padding: 0 20px;
  background: #fff;
}
#navh .ft-logo {
  display: inline-block;
  vertical-align: middle;
  padding: 0;
}
#navh .slogan {
  display: inline-block;
  vertical-align: middle;
  font-size: 11px;
  max-width: 130px;
}

.desktop,
.desktop .nav {
  display: inline;
}
.respond li.hasChildren {
  position: relative;
}
.respond li.hasChildren > a {
  margin-right: 40px;
}
.respond li.hasChildren > span {
  width: 40px;
  height: 40px;
  font-size: 24px;
  line-height: 40px;
  text-align: center;
  color: #222;
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
}
.desktop li.hasChildren > span {
  display: none;
}
.respond li.hasChildren > ul,
.respond .dropdown {
  display: none;
  border-top: solid 1px #ccc;
  padding: 5px 0;
  margin: 0 20px;
}
.respond li.hasChildren > ul {
  /*display: none;*/
}
.respond li li {
  margin: 10px 0;
}
.respond li.open {
  background: #fff;
}
.respond li.open > ul {
  display: block;
}
.respond .column img,
.respond .navigation [class^="ft-"],
.respond .navigation [class*=" ft-"],
.respond #locateDropdownMenu,
.respond li li ul {
  display: none;
}
@media screen and (min-width: 641px) {
  .navbar {
    width: 375px;
  }
  .responsive #navt,
  .microsite #navt {
    right: calc(-375px + 52px);
  }
  .responsive #navm {
    left: calc(-375px + 55px);
  }
}
@media screen and (min-width: 1024px) {
  .navbar .toggle {
    width: 75px;
    height: 75px;
    padding: 15px 0;
    font-size: 45px;
    border-left: 0;
  }
  #navt.respond {
    right: calc(-375px + 72px);
    padding-left: 75px;
  }
  #navt.respond .ft-logo,
  #navt.respond .ft-menu {
    font-size: 60px;
  }
}
/************************************* SECONDARY *******/
#secondary a {
  display: block;
  font-size: 0.928571428571429em; /* 13 */
  line-height: 1.33;
  color: #000;
  padding: 2px 0;
  margin: 5px 0;
  text-decoration: none;
}
#secondary a:hover {
  text-decoration: underline;
}
#secondary a.active, #secondary a.active-trail {
  font-weight: 600;
}
.navigation .menu-node-unpublished > a {
  opacity: .5;
}
