html {
  box-sizing: border-box; }

*, *::after, *::before {
  box-sizing: inherit; }

/* One-off breakpoints (consider consolidation)*/
/* Mayflower Color Tokens */
.ma__image-promo {
  border-color: #DCDCDC;
  display: flex;
  flex-wrap: wrap; }
  .ma__image-promo::after {
    clear: both;
    content: "";
    display: block; }
  .ma__image-promo + .ma__image-promo {
    border-top-style: solid;
    border-top-width: 1px;
    margin-top: 30px;
    padding-top: 30px; }
    .sidebar .ma__image-promo + .ma__image-promo {
      margin-top: 20px;
      padding-top: 20px; }
  .ma__image-promo.js-location-listing-link {
    cursor: pointer; }
  .ma__image-promo__image {
    flex: 0 0 190px;
    font-size: 0;
    margin-right: 30px;
    margin-bottom: 10px; }
    .ma__image-promo__image img {
      width: 100%; }
  .ma__image-promo__details {
    flex: 1 1 250px;
    min-width: 250px; }
  .ma__image-promo__title {
    font-size: 1.625rem;
    line-height: 1.3;
    margin-bottom: .5em;
    margin-bottom: 0; }
  .ma__image-promo__tags {
    float: right; }
    .ma__image-promo__tags > span {
      display: inline-block;
      font-size: 0;
      margin-left: 10px; }
    .ma__image-promo__tags svg {
      fill: #388557;
      height: 30px;
      width: 30px; }
  .ma__image-promo__tags + .ma__decorative-link {
    display: block; }
  .ma__image-promo__description {
    font-size: 1.25rem;
    margin-top: 10px; }
  .ma__image-promo__description + .ma__image-promo__link {
    margin-top: 10px; }
  .ma__image-promo__location {
    font-size: 18px;
    padding-bottom: 5px; }
  .ma__image-promo__phone {
    font-size: 18px; }
    .ma__image-promo__phone > a {
      align-items: center;
      color: #141414;
      display: flex;
      font-weight: 400; }
    .ma__image-promo__phone svg {
      display: inline-block;
      fill: #388557;
      height: 20px;
      margin-right: 0.5rem;
      width: 20px; }

.ma__org-info__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  overflow: hidden;
  margin-bottom: 10px;
  margin-left: -20px; }

.ma__org-info__image {
  margin-left: 20px;
  margin-bottom: 10px;
  flex-grow: 1;
  flex-shrink: 0; }
  .ma__org-info__image a {
    display: block;
    font-size: 0; }

.ma__org-info__title {
  flex-basis: calc(100% - 140px);
  flex-grow: 1;
  flex-shrink: 1;
  margin-left: 20px;
  margin-bottom: 10px; }

.ma__org-info__name {
  font-size: 1.5rem;
  margin-bottom: 0; }

.ma__org-info__job-title {
  font-size: 1.25rem;
  margin-top: .5em;
  margin-bottom: 0; }

.ma__org-info__content {
  font-size: 18px; }
  .ma__org-info__content .ma__rich-text {
    margin-bottom: 10px; }

.ma__org-info__job-title {
  font-weight: 400; }

.ma__image-promo--stacked {
  flex-direction: column; }
  .ma__image-promo--stacked .ma__image-promo__image,
  .ma__image-promo--stacked .ma__image-promo__details {
    flex-basis: auto; }
  .ma__image-promo--stacked .ma__image-promo__image {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 10px;
    overflow: hidden; }
    .ma__image-promo--stacked .ma__image-promo__image .ma__image {
      margin-bottom: 10px;
      margin-right: 20px;
      width: auto; }
    .ma__image-promo--stacked .ma__image-promo__image .ma__image-promo__header {
      display: inline-flex;
      flex-direction: column;
      flex-basis: 100%; }
      .ma__image-promo--stacked .ma__image-promo__image .ma__image-promo__header .ma__image-promo__title,
      .ma__image-promo--stacked .ma__image-promo__image .ma__image-promo__header .ma__org-info__job-title {
        display: block; }
      .ma__image-promo--stacked .ma__image-promo__image .ma__image-promo__header .ma__image-promo__tags {
        float: left; }

.ma__image-promo--small {
  font-size: 18px; }
  .ma__image-promo--small .ma__image-promo__title {
    font-size: 1.5rem;
    margin-bottom: 0; }
  .ma__image-promo--small .ma__image-promo__subtitle {
    font-size: 1.25rem;
    font-weight: 400;
    margin-bottom: 0;
    margin-top: 0.5em; }
