@import url(https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i);
@charset "UTF-8";
/**
 * Built using Imarc Boilerplate v2.1
 *
 * Copyright 2016 Imarc
 * Licensed under the Apache License v2.0
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * = Table of Contents =
 * Variables
 * Imports
 * Base
 * Layout
 * Typography
 * Forms
 * Messaging
 * Tables
 * Calendar
 * CMS
 * Page Specific
 * Media Queries
 */
/* = Variables = */
/* Grays */
/* The brand colors (name them the color) */
/* Messaging colors */
/* Applied colors */
/* Social Network Colors */
/* Breakpoint values */
/**
 * _mixins.scss
 *
 * + The Mixins import includes 'helper' mixins. These are not robust
 * enough to be components.
 */
/**
 * _components.scss contains solely the mixin definitions for components.
 *
 * + This file should not depend on styles.scss; we should be able to use
 *   include this file without including styles.scss.
 * + This file should not generate any CSS on it's own; it should only contain
 *   mixin and/or function definitions.
 */
/**
 * Media query breakpoints
 */
/**
* ACCORDION
*
* ACCORDION requires the accordion.plugin.js file. Within the .accordion
* class each accordion item requires a div wrapper. Within the div wrapper
* there is a .header class and a .content class. The .header class is the
* clickable element that will reveal what is hidden in the .content class.
* By default .content is hidden by javascript just in case javascript is not available.
*
* Emmet: .accordion>div>(.header{header}+.content>{lorem ipsum})
*
*/
.accordion > div .header {
  background: #f0f0f0;
  color: #343434;
  cursor: pointer;
  font-size: 1em;
  margin-top: 0.5em;
  padding: 0.5em 1em;
  position: relative;
  text-align: left;
  width: 100%;
}
.accordion > div .header:hover {
  background: #e3e3e3;
}
.accordion > div .header::after {
  bottom: 0;
  height: 1em;
  margin: auto 0;
  position: absolute;
  right: 1em;
  top: 0;
  width: 1em;
}
.accordion > div .header.open {
  background: #e3e3e3;
}
.accordion > div .header.open::after {
  font: normal normal normal 1em / 1 FontAwesome;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  speak: none;
  text-rendering: auto;
  text-transform: none;
  content: "\f068";
}
.accordion > div .header.close::after {
  font: normal normal normal 1em / 1 FontAwesome;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  speak: none;
  text-rendering: auto;
  text-transform: none;
  content: "\f067";
}
.accordion > div .content {
  padding: 1em 0;
}
.accordion > div .content.hidden {
  display: none;
}

/**
 * BACKGROUND VIDEO
 *
 * BACKGROUND VIDEO plays a video (without sound) in the background of an element.
 * Emmet: .backgroundvideo>(.panel>div>h1+p)+video>source[src]
 */
.backgroundvideo {
  align-items: center;
  display: flex;
  height: auto;
  justify-content: center;
  overflow: hidden;
  position: relative;
}
.backgroundvideo .mold {
  background-color: rgba(255, 255, 255, 0.6);
  padding: 2em;
  text-align: center;
  z-index: 2;
}
.backgroundvideo video {
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}
.backgroundvideo::before {
  content: "";
  display: block;
  padding-top: 30%;
}

/**
 * BOARD
 *
 * The board component is a full width row with a background image.
 * It contains a screened copy block that is either aligned left or
 * right. You can see it used omn the homepage’s Featured Blog
 * and Wedding areas.
 *
 * Emmet: .board>.container>section>.copy>.wrapper>h2+a.button
 */
.board {
  background-color: #3e5f8a;
  background-position: center top;
  background-size: cover;
  padding: 2em 0;
  text-align: center;
}
.board .wrapper {
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  flex-direction: column;
}
.board .wrapper > * {
  flex: 1 0 auto;
}
.board h2 a:hover {
  color: #919c36;
}
.board .copy {
  position: relative;
  background-color: rgba(37, 51, 62, 0.6);
  padding: 2rem;
}
.board .copy .img {
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}
.board .copy * {
  color: #FFF;
}
.board .subhead {
  color: #FFF;
  font-size: 1.1rem;
  font-weight: 400;
  margin-bottom: 0.25rem;
}
@media only screen and (min-width: 1024px) {
  .board {
    padding: 6em 0;
  }
  .board .wrapper {
    align-items: flex-start;
  }
  .board h2 {
    font-size: 1.85rem;
    margin-bottom: 0.75em;
  }
  .board .copy {
    margin-left: 0;
    margin-right: 0;
    text-align: left;
  }
  .board .push {
    align-items: flex-end;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
  }
  .board .push > * {
    flex: 1 0 auto;
  }
  .board .pull {
    align-items: flex-start;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
  }
  .board .pull > * {
    flex: 1 0 auto;
  }
  .board .push,
.board .pull {
    flex-direction: column;
  }
  .board .push .copy,
.board .pull .copy {
    flex: 0 0 auto;
    width: 50%;
  }
}

/**
/**
 * BREADCRUMBS
 *
 * The breadcrumb mixin provides basic breadcrumb styling, complete with
 * fontawesome icons being used as separators between crumbs.
 *
 * Emmet: nav.breadcrumbs>ul>li*3>a
 */
/**
/**
 * CALENDAR
 *
 * Controls the calendar’s layout on both the homepage and /calendar view
 * fontawesome icons being used as separators between crumbs.
 *
 * Emmet: .calendar
 */
.cal h2,
.cal h3 {
  font-weight: 400;
}
.cal .bar {
  background-color: #6183b1;
  color: #FFF;
  padding-bottom: 1rem;
  padding-top: 1rem;
}
.cal div.primary {
  box-shadow: 0 6px 28px 0 rgba(0, 0, 0, 0.2);
  margin-bottom: 2rem;
  position: relative;
}
.cal div.primary img {
  display: block;
}
.cal div.primary .date,
.cal div.primary .accent {
  background-color: #4f5513;
  display: inline-block;
  font-weight: 600;
  left: -0.3rem;
  padding: 0.7rem 1rem;
  position: absolute;
  top: -0.3rem;
}
.cal div.primary h3 {
  background-color: #849443;
  box-shadow: inset 0px -33px 33px -4px rgba(0, 0, 0, 0.1);
  font-size: 1.1rem;
  margin-bottom: 0;
  padding: 1rem 1.75rem;
}
.cal div.primary h3 a {
  color: #FFF;
  display: block;
}
.cal div.primary h3 a:hover {
  color: #4b501c;
}
.cal div.primary .tease {
  background-color: #919c36;
  padding: 1.75rem 1.75rem 2.5rem;
}
.cal div.primary .tease p {
  margin-bottom: 1rem;
}
.cal div.primary .tease a.button.lead {
  color: #FFF;
}
.cal div.primary .tease a.button.lead:hover {
  color: #4b501c;
}
.cal .secondary {
  font-weight: 400;
}
.cal .secondary ul {
  margin-bottom: 1.5rem;
}
.cal .secondary ul li {
  border-bottom: 1px solid rgba(219, 219, 219, 0.25);
  border-top: none;
  color: #bbebff;
  padding: 1rem 0;
}
.cal .secondary ul li a {
  color: #FFF;
}
.cal .secondary ul li a:hover {
  color: #395273;
}
.cal .secondary b {
  display: inline-block;
}
.cal .secondary b + span {
  border-left: 1px solid #555;
  margin-left: 0.75rem;
  padding-left: 0.7rem;
}
.cal .secondary h2 a {
  color: #FFF;
}
.cal .secondary h2 a:hover {
  color: #bbebff;
}
.cal .secondary h3 {
  font-size: 1rem;
  line-height: 1.3;
  margin-bottom: 0;
}
.cal .secondary a.button:hover {
  background-color: #8e9eae;
}
.cal .secondary .wrapper {
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
}
.cal .secondary .wrapper > * {
  flex: 1 0 auto;
}
.cal .secondary .wrapper > div:first-child {
  flex: 1 1 auto;
  margin-right: 2rem;
}
.cal .secondary .wrapper .button {
  flex: 0 1 auto;
  white-space: nowrap;
}
.cal .summary .date {
  display: block;
  font-weight: 500;
  margin-bottom: 1rem;
}
.cal .summary p {
  font-weight: 300;
}
.cal .listing .view {
  text-align: center;
}
.cal .listing .view .wrapper {
  display: block;
}
.cal .listing .view .wrapper p {
  color: #bbebff;
  font-size: 0.85rem;
  font-style: italic;
  font-weight: 300;
  margin-bottom: 1rem;
  text-align: center;
}
.cal .listing .view .wrapper p .fa {
  margin-right: 0.2rem;
}
.cal .aside {
  text-align: center;
}
.cal .aside .date {
  background-color: #6183b1;
  border-radius: 4px;
  color: #FFF;
  margin-bottom: 1rem;
  padding: 1.5rem 0;
}
.cal .aside .month {
  display: block;
  font-size: 0.9em;
  line-height: 1;
  text-transform: uppercase;
}
.cal .aside .day {
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1;
  padding: 0.2rem 0;
}
.cal .content h3 {
  margin-bottom: 1rem;
}
.cal .content p {
  margin-bottom: 1.25rem;
}
.cal .content a.lead {
  color: #6183b1;
}
.cal .content a.lead:hover {
  color: #3e5f8a;
}
.cal .wrap {
  margin-top: 5rem;
}
.cal .monthlys {
  border-top: 4px solid #dbdbdb;
  padding-top: 2rem;
}
.cal .monthlys ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
  font-size: 1.25rem;
  font-weight: 400;
  justify-content: center;
}
.cal .monthlys ul li::before {
  display: none;
}
.cal .monthlys ul a {
  text-decoration: none;
}
@media only screen and (min-width: 669px) {
  .cal .listing .wrapper {
    align-items: flex-start;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  .cal .listing .wrapper > * {
    flex: 1 0 auto;
  }
  .cal .listing .aside {
    flex: 0 0 160px;
  }
  .cal .listing .content {
    flex: 1 1 0;
    margin-left: 2.5rem;
  }
  .cal .listing .view {
    text-align: left;
  }
  .cal .listing .view .wrapper {
    align-items: center;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
  .cal .listing .view .wrapper > * {
    flex: 1 0 auto;
  }
  .cal .listing .view .wrapper p {
    flex: 1 1 auto;
    margin-bottom: 0;
    margin-left: 2rem;
    text-align: right;
  }
  .cal .monthlys ul {
    font-size: 1.75rem;
  }
  .cal .monthlys li {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }
  .cal .aside .month {
    font-size: 1.5em;
  }
  .cal .aside .day {
    font-size: 2.75rem;
  }
}
@media only screen and (min-width: 1024px) {
  .cal .wrapper {
    align-items: center;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  .cal .wrapper > * {
    flex: 1 0 auto;
  }
  .cal div.primary {
    flex: 0 0 44%;
    margin-bottom: -2.25rem;
    margin-top: -2.25rem;
  }
  .cal div.primary h3 {
    font-size: 1.75rem;
    margin-top: -5rem;
  }
  .cal div.primary h3,
.cal div.primary .tease {
    position: relative;
  }
  .cal .secondary {
    padding-bottom: 0;
    flex: 0 0 50%;
  }
  .cal .secondary ul li {
    border-width: 1px;
    padding: 1rem 0;
  }
  .cal .secondary h3 {
    font-size: 1rem;
  }
  .cal .summary .date {
    margin-bottom: 1.5rem;
  }
  .cal .summary p {
    font-size: 1.2rem;
  }
}

/**
/**
 * CALL TO ACTION
 *
 * Generally at the bottom of pages. Uses a headline, copy and button to drive leads.
 * As of this writing, you can view a callout at the bottom of the /visit/helpful-info view.
 *
 * Emmet: .callout>h3+p
 */
.callout {
  background: url(/images/bg-callout.jpg?359b13565cc165d8f9c37224968fe431) no-repeat center top/cover;
  color: #FFF;
  font-weight: 500;
  margin-bottom: 2rem;
}
.callout .content {
  padding: 2rem;
}
.callout h3 {
  background-color: #b8b69d;
  color: #FFF;
  display: inline-block;
  font-weight: 700;
  margin-bottom: 0;
  padding: 1rem;
}
.callout p {
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
}
.callout figcaption {
  color: #FFF;
}
.callout a {
  color: #FFF;
  position: relative;
}
.callout a:hover {
  color: #b2bf46;
}
.callout a:hover::after {
  background-color: #b2bf46;
}
.callout a.button {
  font-size: 1.125rem;
}
.callout a.button::after {
  display: none;
}
@media only screen and (min-width: 669px) {
  .callout {
    margin-bottom: 4rem;
  }
  .callout .content {
    padding: 3rem 3rem 3.5rem 0;
  }
  main.two-column .callout .content {
    padding-left: 3rem;
  }
  .callout h3 {
    margin-left: -1rem;
    margin-top: -1rem;
  }
  .callout p {
    font-size: 1.25rem;
  }
}

/**
 * CAROUSEL
 *
 * CAROUSEL uses Slick to create a carousel. It defaults to a rather
 * basic, one-slide-at-a-time implementation with dots, but slick supports a
 * good deal of configuration including showing multiple slides, breakpoints,
 * syncing between slides, and plenty of javascript events and methods for
 * integration.
 *
 * The implementation on Boilerplate is using a CDN to provide
 *
 * + slick.css
 * + slick-theme.css
 * + slick.min.js
 *
 * See http://kenwheeler.github.io/slick/ for more information.
 *
 * The carousel() mixin should be included on a parent element that contains
 * one div per slide. No additional classes are necessary – the slick classes
 * referenced are added dynamically by slick.
 *
 * <div class="carousel">
 *     <div>
 *         <h2>A slide!</h2>
 *         <p>Some text.</p>
 *     </div>
 * </div>
 *
 * Emmet: .carousel>div*3>h2+p
 *
 * While there's more information in slick's documentation, .slick-slide wraps
 * slides while .slick-next and .slick-prev are used for the next/previous
 * arrows.
 */
.carousel .slick-slide {
  color: #FFF;
  height: auto;
}
.carousel .slick-prev,
.carousel .slick-next {
  z-index: 1;
}
.carousel .slick-prev {
  left: 2rem;
}
.carousel .slick-next {
  right: 2rem;
}

/**
 * COLUMNS
 *
 * The COLUMNS mixin makes it so that immmediate child elements appear as
 * columns. It is responsive, allowing you to specify the media query at which
 * to switch the layout from stacking to columns.
 *
 * Additionally, it assumes the use of <hr> elements to create visual gutters
 * that are only visible while displayed as columns.
 *
 * <div class="columns">
 *     <div>
 *         <h2>A column</h2>
 *     </div>
 *     <hr />
 *     <div>
 *         <h2>Another column</h2>
 *     </div>
 * </div>
 *
 * Emmet: .columns>div+(hr+div)*2
 */
.columns > hr {
  border: 0;
  display: none;
}
@media only screen and (min-width: 669px) {
  .columns {
    display: table;
    table-layout: fixed;
    width: 100%;
  }
  .columns > * {
    display: table-cell;
    vertical-align: top;
  }
  .columns > hr {
    display: table-cell;
    width: 1rem;
  }
}

/**
 * DOSSIER
 *
 * The DOSSIER mixin displays an individual’s biography and photograph.
 *
 * Emmet: .dossier
 */
.dossier .wrap main h1 {
  position: relative;
  margin-bottom: 3rem;
  padding-bottom: 2.5rem;
}
.dossier .wrap main h1::after {
  background-color: #3e5f8a;
  bottom: 0;
  content: "";
  display: block;
  height: 5px;
  left: 0;
  position: absolute;
  width: 60px;
}
.dossier .wrap main h1 b {
  color: #818181;
  display: block;
  font-size: 0.9rem;
  font-weight: 300;
  letter-spacing: 0.04em;
  margin-top: 1rem;
  text-transform: uppercase;
}
.dossier .wrap main h2 {
  font-size: 1.1rem;
  margin-bottom: 0;
}
.dossier .wrap aside.primary img {
  border-radius: 50%;
  border: 5px solid #fff;
}
.dossier .wrap aside.primary .photo {
  margin-bottom: 2rem;
  max-width: 320px;
  text-align: center;
  margin-top: 2rem;
}
@media only screen and (min-width: 1024px) {
  .dossier .wrap aside.primary {
    flex: 0 0 340px;
    margin-left: 6rem;
    text-align: left;
  }
  .dossier .wrap aside.primary .photo {
    max-width: 80%;
    text-align: left;
    margin-top: -4rem;
    margin-left: auto;
    margin-right: auto;
  }
}

/**
 * DROPDOWN
 *
 * The DROPDOWN mixin allows for dropdown menus. By default, a single
 * column dropdown is used. It is positioned to its parent.
 *
 * Emmet: nav.primary>ul>li>a{link name}+.dropdown>.menu>ul>li>(a{link name})*3
 */
/**
 * DROPDOWN (mega)
 * The DROPDOWN (mega) mixin allows for full-width mega dropdown
 * menus. Call this mixin on a list item. Note that the simple
 * dropdown component is a dependency of this mega dropdown.
 * The mega dropdown is positioned to header.primary instead
 * of its parent list item.
 *
 * Emmet: nav.primary>ul>li>a{link name}+.dropdown>.menu(div*3)
 */
/**
 * FEATURES house three features in one row. Powered by flexbox,
 * this allows for a bottom alignment of each feature’s anchor. Use the
 * <code>$gutter</code> variable to pass you preferred gutter width.
 *
 * Emmet: .features>(div>(.icon>img)+h4+p+a)*3
 */
.features > * {
  background-color: #6183b1;
  color: #FFF;
  margin-bottom: 2rem;
  margin-left: auto;
  margin-right: auto;
  padding: 1.5rem;
  text-align: center;
}
.features > * h3 {
  font-size: 1.15rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
@media only screen and (min-width: 1024px) {
  .features {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
  }
  .features > * {
    flex: 1 0 0;
    margin-left: 3rem;
    margin-right: 0;
  }
  .features > * h3 {
    font-size: 1.25rem;
  }
  .features > *:first-child {
    margin-left: 0;
  }
}

/**
 * FILTER
 *
 *
 * Holds a form elements in a columned layout. Used on the /projects view.
 *
 */
.filter {
  background-color: #f4f4f4;
  margin-bottom: 2rem;
  padding: 1.5rem;
}
.filter .select,
.filter .text {
  margin-bottom: 0;
}
.filter select {
  background-color: #FFF;
}
@media only screen and (min-width: 669px) {
  .filter {
    margin-bottom: 3rem;
  }
  .filter .wrapper {
    align-items: flex-start;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  .filter .wrapper > * {
    flex: 1 0 auto;
  }
  .filter .wrapper > * {
    flex: 0 1 48%;
  }
}

/**
 * IMAGECAPTION
 *
 * Emmet:
 */
.imagecaption {
  margin-bottom: 2rem;
}
.imagecaption .wrapper .image {
  margin-bottom: 2rem;
}
.imagecaption .wrapper .caption {
  color: #999;
  font-size: 1rem;
}
@media only screen and (min-width: 669px) {
  .imagecaption {
    margin-bottom: 4rem;
  }
  .imagecaption .wrapper {
    align-items: flex-start;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  .imagecaption .wrapper > * {
    flex: 1 0 auto;
  }
  .imagecaption .wrapper .image {
    flex: 0 1 auto;
  }
  .imagecaption .wrapper .caption {
    border-top: 3px solid;
    flex: 0 0 230px;
    margin-left: 2rem;
    padding-top: 1rem;
  }
}

/**
 * LAYER
 *
 * Layer is used on top-level views. Houses a background-image, copy text block, button.
 *
 * Emmet: .layer>(.media>img)+(.content>h3+p+a.button)
 *
 */
.layer {
  color: #FFF;
  font-size: 0.95rem;
  margin-bottom: 0;
  padding-bottom: 2rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 2rem;
  text-align: center;
}
.layer .wrapper {
  align-items: center;
  display: flex;
  flex-direction: column;
}
.layer .wrapper .media div {
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
}
.layer h3 {
  color: #FFF;
}
.layer p {
  margin-bottom: 2rem;
}
.layer p a {
  color: #fff;
  font-weight: 600;
  text-decoration: underline;
}
.layer .media {
  flex: 0 0 190px;
  max-width: 240px;
}
.layer .content {
  background-color: rgba(37, 51, 62, 0.75);
  padding: 1rem 1.25rem;
}
.layer .content .button:hover {
  background-color: #bbebff;
  color: #343434;
}
.layer:nth-child(odd) {
  background-image: url(/images/bg-layer.jpg?a82983000353b3c51488a48bd4c885ea);
  background-color: #6183b1;
  background-position: center top;
  background-size: cover;
}
@media only screen and (min-width: 669px) {
  .layer {
    text-align: left;
  }
  .layer .wrapper {
    align-items: center;
    flex-direction: row;
  }
  .layer .media {
    flex: 0 0 51%;
    max-width: none;
  }
  .layer .content {
    color: #FFF;
    flex: 1 1 auto;
    margin-left: -8%;
  }
  .layer .button {
    font-size: 1.2rem;
    padding: 1.2rem 1.5rem;
  }
  .layer:nth-child(odd) .wrapper {
    flex-direction: row-reverse;
  }
  .layer:nth-child(odd) .content {
    margin-left: 0;
    margin-right: -8%;
  }
}
@media only screen and (min-width: 1024px) {
  .layer {
    padding-bottom: 4rem;
    padding-top: 4rem;
  }
  .layer .content {
    padding: 2rem 2.5rem;
  }
}
.two-column .layer {
  background: none;
}
.two-column .layer .wrapper {
  background-color: #6183b1;
  justify-content: space-between;
  align-items: stretch;
}
.two-column .layer .media {
  transform: translate(-50%, -1rem);
  position: relative;
  left: 50%;
  margin-bottom: 2rem;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
}
.two-column .layer .media div {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  position: absolute;
  top: -1rem;
  bottom: -1rem;
  overflow: hidden;
  height: auto;
  width: 100%;
}
.two-column .layer .content {
  background-color: transparent;
}
.two-column .layer:nth-child(odd) {
  background: none;
}
.two-column .layer:nth-child(odd) .wrapper {
  background-color: #919c36;
}
.two-column .layer:nth-child(odd) .media {
  transform: translate(-50%, -1rem);
}
@media only screen and (min-width: 669px) {
  .two-column .layer .media {
    transform: translate(1rem);
    flex: 0 0 40%;
    margin-bottom: 0;
    left: auto;
  }
  .two-column .layer .content {
    flex: 0 0 55%;
  }
  .two-column .layer:nth-child(odd) .media {
    transform: translate(-1rem);
  }
}

/**
 * LISTING shows a listing of entries. It includes an optional search form with filters.
 * It is used on the calendar, serch listing, blog listing views.
 *
 * Remove the search form elements for a simple list.
 *
 * Emmet: .listing>(form>.search>(.text>label+input^.submit>label+input[type="submit"]))+p.guide{Showing 10 of 20}+ul>li>a>h2{Listing headline}
 *
 */
.listing {
  margin-bottom: 2rem;
}
.listing form .search {
  display: flex;
  height: 54px;
  margin-bottom: 3rem;
}
.listing form .search label {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.listing form .search .text {
  flex-grow: 1;
}
.listing form .search .submit {
  flex-basis: 120px;
  flex-shrink: 0;
}
.listing form .search .submit input {
  height: 100%;
  width: 100%;
}
.listing form .filters {
  margin-bottom: 2rem;
}
.listing form .filters label {
  display: inline;
}
.listing form .filters span {
  background-color: #395273;
  border-radius: 0.5rem;
  color: #fff;
  display: inline-block;
  margin: 0 0.5rem 0.5rem 0;
  padding: 0.5rem 1rem;
}
.listing form .filters input[type=checkbox]:checked + span {
  background-color: #6183b1;
}
.listing form .filters input[type=checkbox] {
  display: none;
}
.listing a {
  text-decoration: none;
}
.listing > ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.listing > ul > li {
  border-top: 4px solid #EEE;
  margin-bottom: 0;
  padding: 2rem 0;
}
.listing > ul > li .meta {
  display: block;
}
.listing > ul > li h2 + .meta {
  margin-top: -1em;
}
.listing > ul > li p:last-of-type {
  margin-bottom: 0;
}
.listing > ul > li .image {
  margin-bottom: 2rem;
}
@media only screen and (min-width: 669px) {
  .listing > ul > li {
    border-width: 10px;
    display: flex;
    flex-direction: column;
    padding: 3.5rem 0;
  }
  .listing > ul > li .image {
    flex: 0 0 200px;
    margin-bottom: 0;
    margin-right: 2rem;
  }
  .listing > ul > li .content {
    flex: 1 1 auto;
    overflow: hidden;
  }
}

/**
 * The LOGIN mixin is a basic implementation of a login module that includes a
 * username input, password input, submit button, forgot password link, and
 * remember me checkbox
 *
 * Emmet: .login>form>(div.text>label{Username}+input)+(div.password>label{Password}+input[type="password"])+div.actions>(.submit>button{Login})+(label>input[type="hidden"]+input[type="checkbox"])+a{Forgot Your Password?}
 */
.login {
  background: #EEE;
  margin-left: auto;
  margin-right: auto;
  max-width: 600px;
  padding: 3rem;
}
.login input:focus {
  box-shadow: 0 0 5px rgba(114, 164, 0, 0.7);
}
.login .submit {
  text-align: center;
}
.login .actions {
  text-align: center;
}
@media only screen and (min-width: 669px) {
  .login .actions {
    align-items: center;
    display: flex;
    justify-content: space-between;
    flex-flow: row wrap;
  }
  .login .actions > * {
    margin: 0;
    padding: 0;
  }
  .login .actions label {
    margin-left: 1em;
  }
  .login .actions a {
    display: block;
    margin-left: auto;
    text-align: right;
  }
}

/**
 * MOBILE NAVIGATION
 *
 * Emmet
 */
.header-content > .submenu,
.mobile {
  background-color: #282828;
  bottom: 0;
  display: none;
  height: 100%;
  opacity: 0;
  overflow-y: auto;
  padding: 1rem;
  position: fixed;
  top: 0;
  transition: transform 0.25s;
  width: 80%;
  z-index: 9000;
}
.header-content > .submenu.left,
.mobile.left {
  display: block;
  left: 0;
  right: auto;
  transform: translateX(-100%);
}
.header-content > .submenu.right,
.mobile.right {
  display: block;
  left: auto;
  right: 0;
  transform: translateX(100%);
}
.header-content > .submenu.left.open, .header-content > .submenu.right.open,
.mobile.left.open,
.mobile.right.open {
  transform: translateX(0);
  transition: transform 0.25s;
}
.header-content > .submenu.init,
.mobile.init {
  display: block;
  opacity: 1;
}
.header-content > .submenu nav.utility ul li a,
.mobile nav.utility ul li a {
  padding: 0.75rem 0;
}
.header-content > .submenu ul,
.mobile ul {
  display: block;
  padding-left: 0;
}
.header-content > .submenu ul li,
.mobile ul li {
  align-items: center;
  border-bottom: 1px solid #424242;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  margin-bottom: 0;
  text-align: left;
}
.header-content > .submenu ul li a,
.mobile ul li a {
  color: #fff;
  display: block;
  padding: 1rem 0;
}
.header-content > .submenu ul li i.fa,
.mobile ul li i.fa {
  display: inline-block;
}
@media only screen and (min-width: 1024px) {
  .header-content > .submenu.open.left,
.mobile.open.left {
    transform: translateX(-100%);
  }
  .header-content > .submenu.open.right,
.mobile.open.right {
    transform: translateX(100%);
  }
}

/**
 * PAGINATION
 *
 * Emmet: nav.pagination>ul>(li.previous>a{Previous})+(li*2>a)+(li.active>a)+(li*2>a)+li.next>a{Next}
 */
nav.pagination {
  display: flex;
  justify-content: center;
}
nav.pagination ul {
  border: 1px solid #dbdbdb;
  border-radius: 2px;
  display: flex;
  justify-content: center;
}
nav.pagination li {
  margin-bottom: 0;
}
nav.pagination a {
  color: #6183b1;
  padding: 0.75rem 1.25rem;
  position: relative;
  font-size: 1.2rem;
  font-weight: 400;
  display: flex;
  align-items: center;
  justify-content: center;
}
nav.pagination li:not(:last-child) a {
  border-right: 1px solid #dbdbdb;
}
nav.pagination li.active a {
  background-color: #6183b1;
  color: #fff;
  cursor: default;
  pointer-events: none;
}
nav.pagination li.active a::before, nav.pagination li.active a::after {
  background-color: #6183b1;
}
nav.pagination li.active a:hover {
  color: #fff;
  background-color: #3e5f8a;
}
nav.pagination li.active a:hover::before, nav.pagination li.active a:hover::after {
  background-color: #3e5f8a;
}
nav.pagination li.disabled a {
  color: #dbdbdb;
  cursor: default;
  pointer-events: none;
}
nav.pagination li.previous a::before {
  font: normal normal normal 1em / 1 FontAwesome;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  speak: none;
  text-rendering: auto;
  text-transform: none;
  content: "\f100";
}
nav.pagination li.next a::before {
  font: normal normal normal 1em / 1 FontAwesome;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  speak: none;
  text-rendering: auto;
  text-transform: none;
  content: "\f101";
}
nav.pagination li:hover:not(.active):not(.disabled) a {
  background-color: #6183b1;
  color: #FFF;
}
nav.pagination li:hover:not(.active):not(.disabled) a::before {
  background-color: #6183b1;
  color: #FFF;
}

/**
 * PROFILES
 *
 * Profiles include a three-up of staff to be included on any page.
 *
 */
.profiles {
  text-align: center;
}
.profiles .wrapper > div {
  margin-bottom: 2rem;
}
.profiles h3 {
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
}
.profiles p {
  color: #343434;
  font-size: 0.85rem;
  margin-bottom: 0;
}
.profiles a {
  display: block;
  text-decoration: none;
}
.profiles a h3 {
  color: #6183b1;
}
.profiles a:hover h3 {
  color: #3e5f8a;
}
.profiles img {
  border-radius: 50%;
  margin-bottom: 1.5rem;
  max-width: 200px;
}
@media only screen and (min-width: 669px) {
  .profiles .wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .profiles .wrapper > div {
    flex: 0 1 230px;
  }
  .profiles img {
    max-width: 100%;
  }
}
@media only screen and (min-width: 1024px) {
  .profiles {
    margin-bottom: 4rem;
  }
}

/**
 * Split
 *
 * Split provides a two-column structure with light styling to an h3.
 *
 * Emmet: .split>.container>.wrapper>.cell*2
 */
.split h3 b {
  display: block;
  font-size: 1.25rem;
  font-weight: 200;
  margin-top: 0.4rem;
}
.split .cell {
  margin-bottom: 2rem;
}
@media only screen and (min-width: 669px) {
  .split .wrapper {
    align-items: top;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  .split .wrapper > * {
    flex: 1 0 auto;
  }
  .split .cell {
    flex: 0 0 45%;
    margin-bottom: 0;
  }
}

/**
 * STICKY HEADER
 *
 * The STICKY-HEADER mixin works with js (sticky-header.plugin.js) to hide the
 * header as you scroll down, and show it as you scroll back up. This is
 * responsive as the "top" value is dynamically set in the
 * js based on the height of the header. Top padding is also added
 * to the body dynamically via js so that the header doesn't overlap any
 * content.
 *
 * Emmet: header.primary
 *
 **/
header.primary.sticky {
  position: fixed;
  top: 0;
  transition: top 0.16s cubic-bezier(0, 0.4, 0.7, 1);
  width: 100%;
}

/**
 * SUBNAV
 *
 * Horizontal nagigation pattern that links to child pages. As of this writing,
 * can be seen on the /about-us view.
 *
 * Emmet: .subnav>.container>nav>ul>li>a
 */
.subnav {
  font-weight: 600;
  padding-bottom: 2rem;
  position: relative;
  text-align: center;
}
.subnav::after {
  background-color: #d8dee3;
  bottom: 0;
  content: "";
  display: block;
  height: 1px;
  left: 50%;
  margin-left: -120px;
  position: absolute;
  width: 240px;
}
.subnav h2 {
  color: #999;
  font-size: 0.8rem;
  font-weight: 300;
  letter-spacing: 0.06em;
  margin-bottom: 0.75rem;
  text-transform: uppercase;
}
.subnav nav {
  margin-bottom: 0;
}
.subnav ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
  flex-wrap: wrap;
  justify-content: center;
}
.subnav ul li::before {
  display: none;
}
.subnav li {
  margin-bottom: 0.75rem;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  font-size: 0.9375rem;
}
.subnav a {
  text-decoration: none;
}
.subnav a:hover {
  color: #2e4767;
}
@media only screen and (min-width: 1024px) {
  .subnav ul li {
    margin-bottom: 0;
  }
}

/**
* TESTIMONIAL
*
* The TESTIMONIAL mixin is a basic implementation of a testimonial design.
* Emmet: div.testimonial>div.container>blockquote+p
* To use the TESTIMONIAL WITH ASSET component, you simply need to add additional html markup, see emmet below.
* Emmet: div.testimonial.asset>div.container>(div>img)+blockquote+p
*/
.testimonial {
  background-color: #282828;
  margin-bottom: 4rem;
  padding: 4rem 0 4rem;
  text-align: center;
}
.testimonial .asset {
  margin-bottom: 2rem;
}
.testimonial .asset img {
  max-width: 280px;
}
.testimonial blockquote {
  border: none;
  color: #fff;
  font-size: 1.125rem;
  margin-bottom: 1rem;
  padding: 0 2.5rem;
  position: relative;
}
.testimonial blockquote::before, .testimonial blockquote::after {
  color: #818181;
  font-family: Georgia, serif;
  font-size: 3.375rem;
  position: absolute;
}
.testimonial blockquote::before {
  content: "“";
  left: 0;
  line-height: 1;
  top: 0;
}
.testimonial blockquote::after {
  content: "”";
  line-height: 0;
  right: 0;
  bottom: 0;
}
.testimonial blockquote ~ p {
  color: #818181;
  font-size: 0.875rem;
  margin-bottom: 0;
  padding: 0 2.5rem;
}
@media only screen and (min-width: 1024px) {
  .testimonial {
    text-align: left;
  }
  .testimonial .container > div {
    display: flex;
    justify-content: space-between;
  }
  .testimonial .asset {
    flex-basis: 33%;
    flex-shrink: 0;
    margin-bottom: 0;
    margin-right: 4rem;
  }
  .testimonial .asset img {
    max-width: 100%;
  }
  .testimonial blockquote {
    font-size: 1.5rem;
    padding: 0 6rem;
  }
  .testimonial blockquote::before, .testimonial blockquote::after {
    font-size: 7rem;
  }
  .testimonial blockquote ~ p {
    font-size: 1rem;
    padding: 0 6rem;
  }
}

/**
* TAGS
*
* Tags are used on blog detail views.
*
*/
div.tags {
  clear: both;
}
div.tags::before, div.tags::after {
  content: "";
  display: table;
}
div.tags::after {
  clear: both;
}
div.tags div {
  border: none;
  float: left;
  padding: 0;
}
div.tags a {
  background-color: #6183b1;
  border-radius: 3px 0 0 3px;
  color: #FFF;
  display: inline-block;
  font-size: 0.85rem;
  height: 26px;
  letter-spacing: 0.02em;
  line-height: 26px;
  padding: 0 20px 0 10px;
  position: relative;
  margin: 0 10px 10px 0;
  text-decoration: none;
  transition: background-color 0.2s;
}
div.tags a::after {
  background: #fff;
  border-bottom: 13px solid transparent;
  border-left: 10px solid #6183b1;
  border-top: 13px solid transparent;
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  transition: border-left-color 0.2s;
}
div.tags a:hover {
  background-color: #3e5f8a;
  color: #FFF;
  transition: background-color 0.2s;
}
div.tags a:hover::after {
  border-left-color: #3e5f8a;
  transition: border-left-color 0.2s;
}

/**
 *  TILES
 *
 *  Tiles helps you create an equal-width column grid layout without the use of row wrappers.
 *  Tiles is similar to the Features component, expect that Tiles’s items can wrap.
 *  Powered by flexbox, you can pass in a $gutter width and $column amount. Note that the
 *  specified $column amount only is respected at the large breakpoint. Tiles will automatically
 *  two-up your items at the medium breakpoint, and stack them at the small breakpoint.
 *
 *
 * Emmet: .tiles>.tiles
 *
 **/
.tiles > * {
  background-color: #EEE;
  margin-bottom: 2rem;
  padding: 2rem;
  text-align: left;
}
.tiles > * *:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 669px) {
  .tiles {
    display: flex;
    flex-flow: row wrap;
    margin-left: -1rem;
    margin-right: -1rem;
  }
  .tiles > * {
    flex-basis: calc(50% - 2rem);
    flex-shrink: 0;
    margin-left: 1rem;
    margin-right: 1rem;
    padding: 3rem 4rem;
  }
}
@media only screen and (min-width: 1024px) {
  .tiles > * {
    flex-basis: calc((100% / 4) - (2rem));
  }
}

/* = Print Styles = */
@media print {
  * {
    background-color: transparent !important;
    box-shadow: none !important;
    color: #000 !important; /* Black prints faster: h5bp.com/s */
    text-shadow: none !important;
  }
  a {
    text-decoration: underline;
  }
  pre,
blockquote,
tr,
img,
h1,
h2,
h3,
h4,
h5,
h6 {
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  @page {
    margin: 0.5cm;
  }
  p,
h2,
h3 {
    orphans: 3;
    widows: 3;
  }
}
/* = Base = */
a, abbr, address, article, aside, audio, b, blockquote, body, button, canvas, caption, cite, code, datalist, dd, div, dl, dt, em, embed, fieldset, figcaption, figure, blog, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, hr, i, iframe, img, input, label, legend, li, main, meter, nav, object, ol, option, p, pre, progress, q, section, select, span, strong, sub, sup, table, tbody, td, textarea, tfoot, th, thead, tr, u, ul, video {
  border: 0;
  box-sizing: border-box;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

article, aside, audio, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, video {
  display: block;
}

html {
  background-color: #FFF;
  color: #343434;
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
  min-width: 300px;
}

img {
  max-width: 100%;
  vertical-align: middle;
}

iframe {
  max-width: 100%;
}

.group::before, .group::after {
  content: "";
  display: table;
}
.group::after {
  clear: both;
}

.container {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  padding-left: 1rem;
  padding-right: 1rem;
  position: relative;
}

.sr-only {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

::-moz-selection {
  background-color: #919c36;
  color: #282828;
}

::selection {
  background-color: #919c36;
  color: #282828;
}

::-moz-selection {
  background-color: #272a0f;
  color: #FFF;
}

/* = Layout = */
.search-drawer {
  background-color: #343434;
  transform: translateY(1rem);
}
.search-drawer > div {
  max-height: 0;
  overflow: hidden;
  transition: max-height 150ms ease;
}
.search-drawer > div.open {
  max-height: 150px;
}

header.primary {
  background-color: #FFF;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  padding: 1rem 0;
  position: relative;
  z-index: 8000;
}
header.primary .container {
  position: static;
}
header.primary .branding {
  flex-basis: 170px;
  flex-shrink: 0;
}

nav {
  margin-bottom: 2rem;
}
nav ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
  display: flex;
}
nav ul li::before {
  display: none;
}
nav ul li {
  margin-bottom: 0;
}
nav a {
  color: #6183b1;
  display: block;
  padding: 0 0.5rem;
}
nav.breadcrumbs {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  padding-left: 1rem;
  padding-right: 1rem;
  position: relative;
  font-size: 0.9rem;
  position: static;
  text-align: left;
}
nav.breadcrumbs > * {
  position: absolute;
  text-align: left;
  top: 1.5rem;
}
nav.breadcrumbs ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
}
nav.breadcrumbs ul li::before {
  display: none;
}
nav.breadcrumbs li {
  color: #FFF;
  display: inline-block;
  font-weight: 700;
  margin-right: 0.4rem;
}
nav.breadcrumbs li:last-child {
  margin-right: 0;
}
nav.breadcrumbs a {
  color: #ebebeb;
  font-weight: 500;
  position: relative;
}
nav.breadcrumbs a::after {
  content: "/";
  display: inline-block;
  padding-left: 0.6rem;
}
nav.breadcrumbs a:hover {
  color: #919c36;
}
nav.breadcrumbs a:hover::after {
  color: #ebebeb;
}

nav.primary {
  font-weight: 400;
  margin-bottom: 0.7rem;
}
nav.primary > ul li {
  margin-bottom: 0;
}
nav.primary > ul > li {
  padding: 0.75rem 1.75rem 1rem;
  transition: background-color 300ms;
}
nav.primary > ul > li > a {
  padding: 0;
}
nav.primary li a {
  color: #343434;
}
nav.primary li.donate {
  padding: 0;
}
nav.primary li.donate a {
  color: #FFF;
  padding: 0.6rem 2rem;
}
nav.primary li.donate a:hover {
  color: #FFF;
}
nav.primary li.active,
nav.primary li:hover {
  background-color: #6183b1;
}
nav.primary li.active a,
nav.primary li:hover a {
  color: #FFF;
}
.mobile nav.primary > ul > li {
  font-weight: 400;
  padding: 0;
}
.mobile nav.primary a {
  display: block;
  padding: 0.75rem 0;
}
.mobile nav.primary li.active,
.mobile nav.primary li:hover {
  background-color: transparent;
}
.mobile nav.primary li.active {
  background-color: transparent;
  border-bottom: 3px solid #6183b1;
}
.mobile nav.primary li.active a {
  color: #6183b1;
}
.mobile nav.primary li.donate a {
  background-color: transparent;
  font-weight: 400;
  padding-bottom: 0.75rem;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0.75rem;
}
.mobile nav.primary li a {
  color: #FFF;
}

nav.utility {
  margin-bottom: 0.5rem;
}
nav.utility a {
  color: #7D7D7D;
  font-size: 0.8rem;
}
nav.utility a:hover,
nav.utility a:focus {
  color: #343434;
}
.mobile nav.utility a:hover,
.mobile nav.utility a:focus {
  color: #919c36;
}
.mobile nav.utility ul {
  display: flex;
  flex-flow: row wrap;
}
.mobile nav.utility ul > li {
  flex: 0 0 50%;
}

@media only screen and (max-width: 1023px) {
  .desktop nav.primary .submenu,
.desktop nav.primary i.fa {
    display: none;
  }
}
@media only screen and (min-width: 1024px) {
  .desktop nav.primary i.fa {
    display: inline-block;
  }
  .desktop nav.primary .submenu {
    background-color: #6183b1;
    color: #FFF;
    display: block;
    font-size: 1rem;
    left: 0;
    min-width: 260px;
    opacity: 0;
    overflow-y: visible;
    padding: 2rem 0;
    position: absolute;
    top: 100%;
    transition: opacity 300ms;
    visibility: hidden;
    z-index: 1;
  }
  .desktop nav.primary .submenu ul {
    display: block;
  }
  .desktop nav.primary .submenu .menu > * {
    padding: 0 1rem;
  }
  .desktop nav.primary .submenu .menu li {
    margin-bottom: 0.4em;
  }
  .desktop nav.primary .submenu .menu a {
    color: #FFFFFF;
  }
  .desktop nav.primary .submenu .menu a:hover,
.desktop nav.primary .submenu .menu a:focus {
    color: #1e2f44;
  }
  .desktop nav.primary .submenu.open {
    opacity: 1;
    visibility: visible;
  }
}
.desktop nav.primary li.mega {
  position: static;
}
@media only screen and (min-width: 1024px) {
  .desktop nav.primary li.mega .dropdown {
    left: 0;
    top: 100%;
    width: 100%;
  }
  .desktop nav.primary li.mega .dropdown .menu {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
    max-width: 1168px;
  }
  .desktop nav.primary li.mega .dropdown .menu > * {
    border-left: 1px solid #dbdbdb;
    flex-basis: 0;
    flex-grow: 1;
    padding: 0 3rem;
  }
  .desktop nav.primary li.mega .dropdown .menu > *:first-child {
    border-left: none;
    padding-left: 0;
  }
  .desktop nav.primary li.mega .dropdown .menu > *:last-child {
    padding-right: 0;
  }
}
.desktop nav.primary li.mega .dropdown {
  top: calc(100% - 1rem);
}

.mobile > div.wrapper {
  display: flex;
  flex-flow: column-reverse nowrap;
}
.mobile .submenu ul li a {
  padding: 0.75rem 0;
}

button.sub-menu-toggle {
  padding: 0.1rem 0.85rem;
}
button.sub-menu-toggle .fa {
  font-size: 1.25rem;
  position: relative;
}
.submenu li:first-child button.sub-menu-toggle {
  margin-bottom: 1.5rem;
  padding-bottom: 0.75rem;
  padding-top: 0.65rem;
}
.submenu li:first-child button.sub-menu-toggle .fa {
  margin-right: 0.25rem;
  top: 0;
}

.header-content {
  align-items: center;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
}
.header-content .menu-toggle {
  padding: 0.75rem 1.25rem 0.7rem;
}
.header-content .menu-toggle:hover,
.header-content .menu-toggle:focus {
  background-color: #6183b1;
}
.header-content > .submenu {
  z-index: 9001;
}
.header-content > .submenu.sub-menu {
  z-index: 9002;
}

.desktop {
  display: none;
}

form.search {
  display: flex;
}
form.search .text,
form.search .submit {
  margin-bottom: 0;
}
form.search .text {
  width: 100%;
}
form.search label {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
form.search .submit {
  flex-basis: 33%;
  flex-shrink: 0;
}
form.search input {
  border: none;
  width: 100%;
}
form.search input[type=submit] {
  padding: 1rem 2rem;
}

.alert-banner {
  color: #FFF;
  padding: 1em 0;
  text-align: center;
}
.alert-banner.notice {
  background: #6183b1;
}
.alert-banner.alert {
  background: #ab2029;
}
.alert-banner.alert a:hover {
  color: #DDD;
}
.alert-banner a {
  color: #FFF;
  font-weight: 600;
}
.alert-banner p {
  display: inline-block;
  margin-bottom: 0.5rem;
}
.alert-banner p:last-of-type {
  margin: 0;
}

.hero {
  position: relative;
  background-color: transparent;
  padding: 3rem 0;
  position: relative;
  text-align: center;
}
.hero .img {
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}
.hero .img {
  background-image: url(/images/sar-9488-adjust.jpg?358e43e5adcb625d5c749506ee1683f5);
}
.hero section {
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  flex-direction: column;
}
.hero section > * {
  flex: 1 0 auto;
}
.hero section > * {
  flex: 0 0 auto;
}
.hero h1 {
  font-weight: 800;
  margin-bottom: 0.15em;
  line-height: 0.9;
  text-transform: uppercase;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}
.hero h4 {
  margin-top: 1.5rem;
  text-transform: uppercase;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}
.hero .copy * {
  color: #FFF;
}
.hero .copy *:last-child {
  margin-bottom: 0;
}
.hero .subhead {
  color: #FFF;
  font-size: 1.1rem;
  font-weight: 400;
  margin-bottom: 0.25rem;
}
@media only screen and (min-width: 1024px) {
  .hero {
    padding: 6rem 0;
  }
  .hero h1 {
    font-size: 4rem;
  }
  .hero .copy {
    margin-left: 0;
    margin-right: 0;
    text-align: left;
  }
  .hero .push {
    align-items: flex-end;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
  }
  .hero .push > * {
    flex: 1 0 auto;
  }
  .hero .pull {
    align-items: flex-start;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
  }
  .hero .pull > * {
    flex: 1 0 auto;
  }
  .hero .push,
.hero .pull {
    flex-direction: column;
  }
  .hero .push .copy,
.hero .pull .copy {
    flex: 0 0 auto;
    width: 50%;
  }
}

.mold::before, .mold::after {
  content: "";
  display: table;
}
.mold::after {
  clear: both;
}
.mold .frame {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  padding-left: 1rem;
  padding-right: 1rem;
  position: relative;
  padding-left: 0;
  padding-right: 0;
}

.torso {
  padding-bottom: 2rem;
  padding-top: 2rem;
}

.breadcrumbs {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  padding-left: 1rem;
  padding-right: 1rem;
  position: relative;
  font-size: 0.9rem;
  position: static;
  text-align: left;
}
.breadcrumbs > * {
  position: absolute;
  text-align: left;
  top: 1.5rem;
}
.breadcrumbs ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
}
.breadcrumbs ul li::before {
  display: none;
}
.breadcrumbs li {
  color: #FFF;
  display: inline-block;
  font-weight: 700;
  margin-right: 0.4rem;
}
.breadcrumbs li:last-child {
  margin-right: 0;
}
.breadcrumbs a {
  color: #ebebeb;
  font-weight: 500;
  position: relative;
}
.breadcrumbs a::after {
  content: "/";
  display: inline-block;
  padding-left: 0.6rem;
}
.breadcrumbs a:hover {
  color: #919c36;
}
.breadcrumbs a:hover::after {
  color: #ebebeb;
}

.conditions {
  background-color: #6183b1;
  color: #FFF;
  padding-bottom: 1.5rem;
  padding-top: 1rem;
  text-align: center;
}
.conditions .container {
  max-width: 1200px;
}
.conditions a.about {
  color: #354d6c;
  display: inline-block;
  font-size: 0.65rem;
  position: relative;
  transform: translateY(0.75rem);
}
.conditions a.about::after {
  background-color: #354d6c;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  top: 100%;
  width: 100%;
}
.conditions a.about:hover {
  color: #bbebff;
}
.conditions a.about:hover::after {
  background-color: #bbebff;
}
.conditions .wrapper {
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  flex-flow: row wrap;
}
.conditions .wrapper > * {
  flex: 1 0 auto;
}
.conditions .wrapper > * {
  flex: 0 1 50%;
}
.conditions .wrapper div:last-child {
  text-align: center;
}
.conditions .wrapper dl,
.conditions .wrapper dt,
.conditions .wrapper dd {
  font-weight: 300;
  margin: 0;
  padding: 0;
  text-align: center;
}
.conditions .wrapper dt {
  color: #bbebff;
  font-size: 0.9rem;
}
.conditions .wrapper dd {
  font-size: 1.15rem;
  line-height: 0.9;
  margin-bottom: 1rem;
}
@media only screen and (min-width: 669px) {
  .conditions {
    padding-bottom: 1.75rem;
    padding-top: 1.75rem;
  }
  .conditions .wrapper > * {
    flex: 0 1 auto;
  }
  .conditions .wrapper div {
    margin-right: 2rem;
  }
  .conditions .wrapper div:last-child {
    margin-left: auto;
    margin-right: 0;
    text-align: left;
  }
  .conditions .wrapper div:last-child a.button {
    background-color: #FFF;
    color: #343434;
    display: inline-block;
    font-weight: 600;
    padding: 1rem 2rem;
    text-align: center;
    text-decoration: none;
    vertical-align: top;
    float: right;
  }
  .conditions .wrapper div:last-child a.button:hover {
    background-color: #6183b1;
    color: #FFF;
  }
  .conditions .wrapper div:last-child a.button:focus {
    outline: 1px dotted black;
  }
  .conditions .wrapper div:last-child a.button.disabled, .conditions .wrapper div:last-child a.button[disabled] {
    background-color: #9b9b9b;
    color: #cccccc;
    pointer-events: none;
  }
  .conditions .wrapper div:last-child a.button.secondary {
    padding: 0.75rem 2.5rem;
  }
  .conditions .wrapper div:last-child a.button.reverse {
    background-color: #FFF;
    color: #343434;
  }
  .conditions .wrapper div:last-child a.button.reverse:hover {
    background-color: #919c36;
    color: #FFF;
  }
  .conditions .wrapper dd {
    font-size: 1.75rem;
  }
}
@media only screen and (min-width: 1024px) {
  .conditions {
    text-align: left;
  }
  .conditions a.about {
    font-size: 0.75rem;
  }
  .conditions .wrapper {
    flex-flow: row nowrap;
  }
  .conditions .wrapper div {
    margin-right: 6rem;
  }
  .conditions .wrapper div:last-child a.button {
    padding-bottom: 0.85rem;
    padding-top: 0.85rem;
  }
  .conditions .wrapper dd {
    font-size: 2.55rem;
    margin-bottom: 0;
  }
}

section.sector h2 {
  font-weight: 300;
  margin-bottom: 2rem;
  text-align: center;
}
@media only screen and (min-width: 1024px) {
  section.sector h2 {
    margin-bottom: 4rem;
  }
}

.personas {
  padding-bottom: 2rem;
  padding-top: 2rem;
}
.personas .tiles > div {
  background-color: transparent;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 0;
}
.personas .tiles div a {
  background-color: rgba(145, 156, 54, 0.75);
  color: #FFF;
  display: block;
  font-size: 0.9rem;
  padding: 1.5rem 1.75rem 0.75rem;
  transition: box-shadow 300ms, background-color 300ms;
}
.personas .tiles div a:hover {
  background-color: #7c852e;
  box-shadow: inset 0 0 0 8px #6e7629;
}
.personas .tiles div a::after {
  font: normal normal normal 1em / 1 FontAwesome;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  speak: none;
  text-rendering: auto;
  text-transform: none;
  content: "\f105";
  display: block;
  font-size: 1.8rem;
  text-align: right;
}
.personas .tiles div a h3 {
  color: #393e0a;
  font-size: 1.15rem;
  font-weight: 600;
  text-transform: uppercase;
}
@media only screen and (min-width: 669px) {
  .personas .tiles > * {
    background-color: #EEE;
    margin-bottom: 2.5rem;
    padding: 2rem;
    text-align: left;
  }
  .personas .tiles > * *:last-child {
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 669px) and (min-width: 669px) {
  .personas .tiles {
    display: flex;
    flex-flow: row wrap;
    margin-left: -1rem;
    margin-right: -1rem;
  }
  .personas .tiles > * {
    flex-basis: calc(50% - 2.5rem);
    flex-shrink: 0;
    margin-left: 1.25rem;
    margin-right: 1.25rem;
    padding: 3rem 4rem;
  }
}
@media only screen and (min-width: 669px) and (min-width: 1024px) {
  .personas .tiles > * {
    flex-basis: calc((100% / 3) - (2.5rem));
  }
}
@media only screen and (min-width: 669px) {
  .personas .tiles > div {
    padding-top: 200px;
  }
}
@media only screen and (min-width: 1024px) {
  .personas {
    padding-bottom: 5rem;
    padding-top: 5em;
  }
  .personas .tiles > * {
    background-color: #EEE;
    margin-bottom: 5rem;
    padding: 2rem;
    text-align: left;
  }
  .personas .tiles > * *:last-child {
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 1024px) and (min-width: 669px) {
  .personas .tiles {
    display: flex;
    flex-flow: row wrap;
    margin-left: -1rem;
    margin-right: -1rem;
  }
  .personas .tiles > * {
    flex-basis: calc(50% - 5rem);
    flex-shrink: 0;
    margin-left: 2.5rem;
    margin-right: 2.5rem;
    padding: 3rem 4rem;
  }
}
@media only screen and (min-width: 1024px) and (min-width: 1024px) {
  .personas .tiles > * {
    flex-basis: calc((100% / 3) - (5rem));
  }
}
@media only screen and (min-width: 1024px) {
  .personas .tiles > div {
    padding-top: 250px;
  }
}
@media only screen and (min-width: 1024px) {
  .personas .tiles div a {
    background-color: #919c36;
    transform: translate3d(30px, 90px, 0);
  }
  .personas .tiles div a::after {
    font-size: 3.25rem;
  }
}

.newsletter {
  background-color: #F3F3F3;
  padding-bottom: 2rem;
  padding-top: 2rem;
  text-align: center;
}
.newsletter h4 {
  font-size: 1rem;
  font-weight: 300;
  margin-bottom: 0.2rem;
}
.newsletter form {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.newsletter form .text {
  align-items: stretch;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  margin-bottom: 0;
}
.newsletter form .text > * {
  flex: 1 0 auto;
}
.newsletter form .text > div {
  display: flex;
}
.newsletter form .checkboxes .newsletter-type {
  font-size: 1rem;
}
.newsletter form .text button {
  flex: 0 0 auto;
}
.newsletter form input[type=text] {
  border: none;
  flex-grow: 1;
  font-size: 1rem;
}
@media only screen and (min-width: 1024px) {
  .newsletter {
    padding-bottom: 5rem;
    padding-top: 5rem;
    text-align: left;
  }
  .newsletter h4 {
    font-size: 2.2rem;
  }
  .newsletter p {
    margin-bottom: 0;
  }
  .newsletter .wrapper {
    align-items: center;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  .newsletter .wrapper > * {
    flex: 1 0 auto;
  }
  .newsletter .wrapper > div {
    flex: 0 1 45%;
  }
  .newsletter form {
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  }
}

.bloggy .copy h2 {
  margin-bottom: 0.4rem;
}
.bloggy .copy h2 b, .bloggy .copy h2 em {
  color: #bbebff;
}
.bloggy .copy h2 b {
  display: block;
  font-size: 1rem;
  font-weight: 400;
  margin-bottom: 0.3rem;
}
.bloggy .copy h2 em {
  font-style: normal;
  text-transform: uppercase;
}
@media only screen and (min-width: 1024px) {
  .bloggy .copy {
    transform: translate(-3rem);
  }
  .bloggy .copy h2 {
    padding-right: 3.5rem;
  }
}
.bloggy .author {
  margin-bottom: 2rem;
}
@media only screen and (min-width: 1024px) {
  .bloggy .author img {
    position: absolute;
    right: 0;
    top: 2rem;
    transform: translateX(50%);
    border: 7px solid rgba(30, 47, 68, 0.6);
    max-width: 150px;
  }
}

.mission {
  padding-bottom: 2rem;
  padding-top: 2rem;
}
.mission .tiles {
  flex-wrap: nowrap;
}
.mission .tiles > * {
  background-color: #EEE;
  margin-bottom: 4rem;
  padding: 2rem;
  text-align: left;
}
.mission .tiles > * *:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 669px) {
  .mission .tiles {
    display: flex;
    flex-flow: row wrap;
    margin-left: -1rem;
    margin-right: -1rem;
  }
  .mission .tiles > * {
    flex-basis: calc(50% - 4rem);
    flex-shrink: 0;
    margin-left: 2rem;
    margin-right: 2rem;
    padding: 3rem 4rem;
  }
}
@media only screen and (min-width: 1024px) {
  .mission .tiles > * {
    flex-basis: calc((100% / 3) - (4rem));
  }
}
.mission .tiles > * {
  background-color: #6183b1;
  border-left: 6px solid #FFF;
  border-right: 6px solid #FFF;
  color: #FFF;
  margin-bottom: 2rem;
  padding-left: 2rem;
  padding-right: 2.5rem;
  padding-top: 0;
  text-align: center;
}
.mission .tiles h3 {
  background-color: #3e5f8a;
  color: #bbebff;
  display: inline-block;
  font-size: 1rem;
  font-weight: 300;
  margin-bottom: 0.5rem;
  padding-bottom: 0.75rem;
  padding-top: 0.75rem;
  text-transform: uppercase;
  transform: translateY(-1rem);
  width: 215px;
}
.mission .tiles h4 {
  color: #FFF;
  font-weight: 600;
  margin-bottom: 1rem;
}
.mission .tiles img {
  display: block;
  margin-bottom: 2rem;
}
@media only screen and (min-width: 669px) {
  .mission .tiles {
    justify-content: space-between;
    margin-left: -2rem;
    margin-right: -2rem;
  }
  .mission .tiles img {
    max-width: 100%;
  }
  .mission .tiles img + p {
    margin-bottom: 4rem;
  }
}
@media only screen and (min-width: 1024px) {
  .mission .tiles {
    padding-bottom: 6rem;
    padding-top: 6rem;
  }
  .mission .tiles > * {
    margin-bottom: 0;
  }
  .mission .tiles > * img {
    margin-left: -2.75rem;
    max-width: none;
    width: calc(100% + 6rem);
  }
}

.wedding .hero p:not(.subhead) {
  color: #bbebff;
}

.cell p img,
div.image img {
  border: 7px solid #fff;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}

.component.html-embed {
  margin-bottom: 2rem;
}
@media only screen and (min-width: 1024px) {
  .component.html-embed {
    margin-bottom: 4rem;
  }
}

.ticketing {
  background-color: #F5F5F5;
  margin-bottom: 2rem;
  padding: 3.5rem 1rem 1rem;
  position: relative;
}
.ticketing .eyebrow {
  background-color: #888;
  color: #444;
  font-size: 1.5rem;
  text-transform: uppercase;
  left: 0;
  padding: 0.5rem 1rem;
  position: absolute;
  top: 0;
}
.ticketing .eyebrow.error {
  background-color: #ab2029;
  color: #FFF;
}
.ticketing .eyebrow.error::before {
  content: "";
}
.ticketing h3 {
  color: #343434;
  font-size: 1.2rem;
  text-transform: uppercase;
}
.ticketing p {
  margin-bottom: 1rem;
}
.ticketing .wrapper {
  align-items: flex-start;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  flex-wrap: wrap;
}
.ticketing .wrapper > * {
  flex: 1 0 auto;
}
.ticketing .wrapper > * {
  flex: 0 1 47.5%;
  margin-bottom: 1.5rem;
}
.ticketing ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
  margin-bottom: 1.5rem;
}
.ticketing ul li::before {
  display: none;
}
.ticketing p:last-child,
.ticketing .button:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 1024px) {
  .ticketing .ticketing {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
  }
  .ticketing .ticketing h3 {
    font-size: 1.3rem;
  }
}

aside.primary {
  background-color: #6083b2;
  background-image: url(/images/membership-aside.png?656d478b4e8428497ad4a24d944c9ca4);
  background-size: cover;
  background-position: center bottom;
  background-repeat: no-repeat;
  background-blend-mode: multiply;
  color: #FFF;
  display: flex;
  flex-direction: column;
  font-size: 0.95rem;
  margin-bottom: 0;
  margin-left: 0;
  padding-left: 1rem;
  padding-right: 1rem;
}
aside.primary h2,
aside.primary h3,
aside.primary h4,
aside.primary h5 {
  color: #FFF;
  font-weight: 400;
  margin-bottom: 0.5em;
}
aside.primary .module {
  padding: 1rem 0.5rem;
}
aside.primary .module p:last-of-type {
  margin-bottom: 0;
}
aside.primary .module + .module {
  border-top: 1px solid #4d6f9c;
}
aside.primary .module dl {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.15rem;
  margin-bottom: 0;
}
aside.primary .module dl dt,
aside.primary .module dl dd {
  flex: 1 0 70%;
  margin-bottom: 0.5rem;
  padding: 0;
}
aside.primary .module dl dt:last-of-type,
aside.primary .module dl dd:last-of-type {
  margin-bottom: 0;
}
aside.primary .module dl dt {
  font-weight: 400;
}
aside.primary .module dl dd {
  flex-basis: 30%;
  font-weight: 700;
  padding-left: 1rem;
}
aside.primary .module > div {
  margin-bottom: 0.75rem;
}
aside.primary .module > div a {
  color: #fff;
  font-weight: 400;
}
aside.primary .module > div a:hover,
aside.primary .module > div a:focus {
  color: #bbebff;
}
aside.primary .module > div p {
  font-size: 0.9rem;
  color: #add0ff;
  font-weight: 600;
}
aside.primary .module > div:last-child {
  margin-bottom: 0;
}
aside.primary .copy {
  margin-bottom: 1.5rem;
}
aside.primary h4 {
  display: block;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding-bottom: 0;
  text-transform: uppercase;
}
aside.primary h4 a {
  color: #FFF;
  padding: 0;
}
aside.primary a {
  color: #f0f0f5;
}
aside.primary a:hover {
  color: #bbebff;
}
aside.primary a[href$=".pdf"]::before {
  font: normal normal normal 1em / 1 FontAwesome;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  speak: none;
  text-rendering: auto;
  text-transform: none;
  content: "\f1c1";
  margin-right: 0.5em;
}
aside.primary ul {
  font-size: 0.9rem;
  margin-bottom: 1.5rem;
  padding-left: 1.2rem;
}
aside.primary li {
  margin-bottom: 0.5rem;
  padding-left: 0;
}
aside.primary li a {
  display: block;
  font-weight: 400;
  padding: 0.4em 0;
}
aside.primary nav.secondary {
  margin-bottom: 0;
}
aside.primary nav.secondary h4 {
  color: #FFF;
  font-size: 1.875rem;
  text-transform: none;
}
aside.primary nav.secondary ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
  flex-direction: column;
  margin-bottom: 0;
  text-align: left;
}
aside.primary nav.secondary ul li::before {
  display: none;
}
aside.primary nav.secondary li {
  margin-bottom: 0;
}
aside.primary nav.secondary > ul > li.active > a {
  font-weight: 700;
}
aside.primary nav.secondary > ul > li.active {
  background-color: #456389;
  margin-bottom: 0.5rem;
  margin-left: -2.25rem;
  margin-right: -1.5rem;
  margin-top: 0.5rem;
  padding: 0.75rem 1.5rem 0.75rem 2.25rem;
}
aside.primary nav.secondary > ul > li.active li {
  font-size: 0.9rem;
}
aside.primary nav.secondary > ul > li.active > ul > li.active a {
  background-color: #374f6e;
  font-weight: 700;
  margin-left: -0.5rem;
  padding: 0.25rem 0 0.25rem 0.5rem;
}
aside.primary nav.secondary li li a:hover {
  color: #bbebff;
}
aside.primary .cta {
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(/images/bg-callout.jpg?359b13565cc165d8f9c37224968fe431);
  margin-top: auto;
  position: relative;
}
aside.primary .cta > * {
  position: relative;
}
aside.primary .cta::before {
  background: linear-gradient(to bottom, rgb(143, 157, 175) 0%, rgb(143, 157, 175) 19%, rgba(143, 157, 175, 0.46) 63%, rgba(0, 0, 0, 0) 100%);
  position: absolute;
  content: "";
  display: block;
  height: 80px;
  left: 0;
  top: 0;
  width: 100%;
}
aside.primary .review-membership {
  text-align: center;
  padding-top: 4rem;
  align-self: flex-start;
  margin-top: auto;
}
aside.primary .review-membership h4 {
  text-transform: none;
}
aside.primary .review-membership .button {
  background: #fff;
  color: #343434;
  padding: 0.75rem 1.125rem;
}
aside.primary .review-membership .button:hover {
  background: #bbebff;
}

.author div {
  display: inline-block;
}
.author div img {
  border: 1px solid #FFF;
  border-radius: 50%;
  box-shadow: none;
  margin-bottom: 0;
  margin-right: 0.15rem;
  margin-right: 0.15rem;
  max-width: 34px;
}
.author a {
  text-decoration: none;
}
.author a:hover {
  text-decoration: none;
}
.author span {
  display: inline-block;
  position: relative;
}
.author a span::after {
  background-color: #6183b1;
  bottom: 3px;
  content: "";
  display: block;
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;
}
.author a:hover span::after {
  background-color: #3e5f8a;
}

footer.primary {
  background-color: #F0F0F0;
  color: #343434;
  padding: 3rem 0;
  text-align: center;
}
footer.primary .button {
  margin: 0 0.75rem 2rem 0.75rem;
}
footer.primary .branding {
  margin-top: 0;
}
footer.primary .branding img {
  margin-bottom: 2rem;
  max-width: 230px;
  opacity: 0.7;
}
footer.primary .branding a {
  font-weight: 600;
}
footer.primary nav ul {
  flex-flow: column nowrap;
  margin-bottom: 1.25rem;
  text-align: center;
}
footer.primary nav li {
  margin-bottom: 0.2rem;
}
footer.primary nav li.section {
  font-weight: 600;
}
footer.primary nav li.section a {
  color: #6183b1;
}
footer.primary nav li.section a:hover, footer.primary nav li.section a:focus {
  color: #395273;
}
footer.primary nav a {
  color: #343434;
  display: inline-block;
  padding: 0.15rem 0;
  position: relative;
}
footer.primary nav a:hover, footer.primary nav a:focus {
  color: #000;
}
footer.primary nav a::before {
  background-color: #000;
  content: "";
  display: block;
  height: 1px;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 94%;
  transition: opacity 200ms ease, width 200ms ease;
  width: 0;
}
footer.primary nav a:hover::before,
footer.primary nav a:focus::before {
  opacity: 1;
  width: 100%;
}
footer.primary .social a {
  background-color: #6183b1;
  border-radius: 50%;
  color: #FFF;
  display: block;
  font-size: 1.2rem;
  height: 36px;
  text-align: center;
  width: 36px;
}
footer.primary .social a .fa {
  line-height: 36px;
}
footer.primary .search form {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  margin-bottom: 0;
  position: relative;
}
footer.primary .search form input {
  border: 0;
  padding: 1rem 1.5rem;
}
footer.primary .search form button {
  background-color: transparent;
  margin-top: -1rem;
  padding: 0;
  position: absolute;
  right: 1rem;
  top: 50%;
}
footer.primary .search form button::before {
  font: normal normal normal 1em / 1 FontAwesome;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  speak: none;
  text-rendering: auto;
  text-transform: none;
  content: "\f002";
  color: #919c36;
  font-size: 1.75rem;
  margin-top: -1.5rem;
}
@media only screen and (min-width: 1024px) {
  footer.primary {
    background: linear-gradient(to right, #F0F0F0 calc(38% + 0.5rem), #f5f5f5 1%);
    padding: 6rem 0;
    /*.branding {
        text-align: left;
    }*/
  }
  footer.primary .wrapper {
    align-items: flex-start;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  footer.primary .wrapper > * {
    flex: 1 0 auto;
  }
  footer.primary .wrapper > div:first-child {
    flex: 0 0 32%;
  }
  footer.primary .wrapper > div:nth-child(2) {
    flex: 0 0 56%;
  }
  footer.primary nav ul {
    text-align: left;
  }
  footer.primary .navs .wrapper nav {
    flex: 1 0 0;
    margin-left: 2rem;
  }
  footer.primary .navs .wrapper nav:first-child {
    margin-left: 0;
  }
  footer.primary .copyright {
    margin-top: 1rem;
    text-align: left;
  }
}
@media only screen and (min-width: 1200px) {
  footer.primary {
    background: linear-gradient(to right, #F0F0F0 calc(50% - 584px + 443.84px), #F5F5F5 0%);
  }
}

.social {
  list-style: none;
  margin: 0;
  padding-left: 0;
  margin-bottom: 1rem;
}
.social li::before {
  display: none;
}
.social li {
  display: inline-block;
  font-size: 1.5rem;
  margin-bottom: 0;
  margin-right: 0.4rem;
}
.social .facebook a {
  color: #3664A2;
}
.social .linkedin a {
  color: #0077B5;
}
.social .twitter a {
  color: #55ACEE;
}
.social a:hover {
  opacity: 0.7;
}

i.fa.fa-wheelchair {
  color: #fff;
  background-color: #6183b1;
  padding: 2px 2px 4px 4px;
  border-radius: 3px;
}

/* = Typography = */
/*

200 Extralight
300 Light
400 Regular
500 Medium
600 Bold
800 Extrabold
900 Black
*/
h1,
h2,
h3,
h4,
h5 {
  color: #545454;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 0.8em;
}

h1 {
  font-size: 2rem;
}

h2 {
  font-size: 1.6rem;
}

h3 {
  color: #919c36;
  font-size: 1.5rem;
}

h4 {
  font-size: 1.1rem;
}

h5 {
  font-size: 1rem;
}

strong {
  font-weight: 600;
}

em {
  font-style: italic;
}

blockquote {
  border-left: 1px solid #dbdbdb;
  color: #818181;
  font-style: italic;
  margin-bottom: 1.5em;
  padding-left: 1rem;
}

.intro p {
  font-size: 1.4rem;
  font-weight: 100;
  color: #343434;
  line-height: 1.5;
  margin-bottom: 3rem;
}

.guide {
  color: #818181;
  font-size: 1.25rem;
}

.meta {
  color: #818181;
  font-weight: 400;
  margin-bottom: 1rem;
}
.meta.divide {
  border-bottom: 1px solid #dbdbdb;
  margin-bottom: 3rem;
  padding-bottom: 1rem;
}
.meta a.button {
  background-color: #6183b1;
  color: #FFFFFF;
  display: inline-block;
  font-weight: 600;
  padding: 1rem 2rem;
  text-align: center;
  text-decoration: none;
  vertical-align: top;
  font-size: 0.9rem;
  font-weight: 500;
  padding: 0.5rem 1rem;
  vertical-align: inherit;
  margin-left: 10px;
}
.meta a.button:hover {
  background-color: #6183b1;
  color: #FFF;
}
.meta a.button:focus {
  outline: 1px dotted black;
}
.meta a.button.disabled, .meta a.button[disabled] {
  background-color: #9b9b9b;
  color: #cccccc;
  pointer-events: none;
}
.meta a.button.secondary {
  padding: 0.75rem 2.5rem;
}
.meta a.button.reverse {
  background-color: #FFF;
  color: #343434;
}
.meta a.button.reverse:hover {
  background-color: #919c36;
  color: #FFF;
}
.meta a.button:hover {
  background-color: #919c36;
}

.handicap {
  color: #005c9b;
  display: block;
  font-weight: 400;
}

hr {
  border: 0;
  border-top: 1px solid #818181;
  display: block;
  height: 0;
  margin: 2em auto 3em;
  width: 100%;
}

a {
  color: #6183b1;
  cursor: pointer;
  text-decoration: none;
}
a:hover, a:active {
  color: #3e5f8a;
}
a:focus {
  outline: dotted 1px;
}
a.disabled, a[disabled] {
  color: #cccccc;
  cursor: default;
  pointer-events: none;
}
main a {
  text-decoration: underline;
}

a.button {
  background-color: #919c36;
  color: #FFFFFF;
  display: inline-block;
  font-weight: 600;
  padding: 1rem 2rem;
  text-align: center;
  text-decoration: none;
  vertical-align: top;
  margin-bottom: 0;
}
a.button:hover {
  background-color: #6183b1;
  color: #FFF;
}
a.button:focus {
  outline: 1px dotted black;
}
a.button.disabled, a.button[disabled] {
  background-color: #9b9b9b;
  color: #cccccc;
  pointer-events: none;
}
a.button.secondary {
  padding: 0.75rem 2.5rem;
}
a.button.reverse {
  background-color: #FFF;
  color: #343434;
}
a.button.reverse:hover {
  background-color: #919c36;
  color: #FFF;
}

p.button a {
  background-color: #919c36;
  color: #FFFFFF;
  display: inline-block;
  font-weight: 600;
  padding: 1rem 2rem;
  text-align: center;
  text-decoration: none;
  vertical-align: top;
}
p.button a:hover {
  background-color: #6183b1;
  color: #FFF;
}
p.button a:focus {
  outline: 1px dotted black;
}
p.button a.disabled, p.button a[disabled] {
  background-color: #9b9b9b;
  color: #cccccc;
  pointer-events: none;
}
p.button a.secondary {
  padding: 0.75rem 2.5rem;
}
p.button a.reverse {
  background-color: #FFF;
  color: #343434;
}
p.button a.reverse:hover {
  background-color: #919c36;
  color: #FFF;
}

a.button.lead {
  background-color: transparent;
  color: #FFF;
  padding: 0;
}
a.button.lead::after {
  font: normal normal normal 1em / 1 FontAwesome;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  speak: none;
  text-rendering: auto;
  text-transform: none;
  content: "\f054";
  margin-left: 0.5rem;
}

p,
ol,
ul,
dl {
  margin-bottom: 2rem;
}

p {
  line-height: 1.7;
}

ol,
ul {
  padding-left: 2rem;
}
ol li,
ol dt,
ol dd,
ul li,
ul dt,
ul dd {
  margin-bottom: 0.5em;
}

ul {
  list-style: disc;
}

dt {
  font-weight: 600;
  padding-left: 0.5em;
}

dd {
  padding-left: 2em;
}

pre {
  background-color: #4A4A4A;
  padding: 1em;
  white-space: pre-wrap;
  word-wrap: break-word;
}

code {
  color: #FBCE78;
  font-family: "Consolas", monospace;
  padding: 2px 4px;
}

.return {
  border-top: 2px solid #dbdbdb;
  font-weight: 700;
  padding-top: 1.25rem;
}
.return a {
  text-decoration: none;
}

.event-type {
  display: inline-block;
  font-size: 0.815rem;
  font-weight: 400;
  position: relative;
  text-align: left;
}
.event-type .wrapper {
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  flex-wrap: wrap;
}
.event-type .wrapper > * {
  flex: 1 0 auto;
}
.event-type .wrapper > .icon {
  flex: 0 0 auto;
  margin-right: 0.5rem;
}
.event-type .wrapper > .copy {
  flex: 1 1 auto;
  letter-spacing: -0.02em;
}
.event-type img {
  max-width: 20px;
}
.meta .event-type {
  margin-left: 0.5rem;
  transform: translateY(-2px);
}

.blurb {
  font-size: 1.2rem;
  font-style: italic;
  margin-top: 2rem;
}

.fb-like {
  clear: both;
  display: block !important;
}

/* = Forms = */
form.fluid {
  display: flex;
  padding: 1rem 0;
}
form.fluid > * {
  margin-bottom: 0;
}
form.fluid .text {
  flex: 1 1 auto;
}
form.fluid input {
  height: 3.25rem;
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  margin: 0;
}

.button,
.checkboxes,
.file,
.password,
.radios,
.reset,
.select,
.submit,
.text,
.textarea {
  margin-bottom: 2rem;
}
aside.primary .button,
aside.primary .checkboxes,
aside.primary .file,
aside.primary .password,
aside.primary .radios,
aside.primary .reset,
aside.primary .select,
aside.primary .submit,
aside.primary .text,
aside.primary .textarea {
  margin-bottom: 1rem;
}

label {
  cursor: pointer;
  display: block;
  font-weight: 600;
  margin-bottom: 0.5em;
}

.required {
  color: #ab2029;
}

fieldset .help {
  color: #818181;
  display: block;
  font-size: 0.8rem;
  margin: 0;
}

input[type=date],
input[type=datetime-local],
input[type=email],
input[type=month],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=time],
input[type=url],
input[type=week],
textarea {
  border: 1px solid #c1c1c1;
  border-radius: 0;
  box-sizing: border-box;
  color: #343434;
  display: block;
  font-family: "Open Sans", Arial, sans-serif;
  margin: 0;
  padding: 0.8rem 1rem;
  transition: box-shadow ease-in-out 0.3s;
  width: 100%;
}
input[type=date]:focus,
input[type=datetime-local]:focus,
input[type=email]:focus,
input[type=month]:focus,
input[type=number]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=text]:focus,
input[type=time]:focus,
input[type=url]:focus,
input[type=week]:focus,
textarea:focus {
  box-shadow: inset 0 2px 0 0 #6183b1;
}
aside.primary input[type=date],
aside.primary input[type=datetime-local],
aside.primary input[type=email],
aside.primary input[type=month],
aside.primary input[type=number],
aside.primary input[type=password],
aside.primary input[type=search],
aside.primary input[type=tel],
aside.primary input[type=text],
aside.primary input[type=time],
aside.primary input[type=url],
aside.primary input[type=week],
aside.primary textarea {
  padding: 0.5rem 0.8rem;
}

input[type=reset],
input[type=search],
input[type=text],
input[type=submit] {
  border-radius: 0;
  -webkit-appearance: none;
}

::-webkit-input-placeholder {
  color: #777;
  font-style: italic;
  font-weight: 300;
}

::ms-input-placeholder {
  color: #777;
  font-style: italic;
  font-weight: 300;
}

::-moz-placeholder {
  color: #777;
  font-style: italic;
  font-weight: 300;
}

::-placeholder {
  color: #777;
  font-style: italic;
  font-weight: 300;
}

.multiple select {
  padding-left: 5px;
  padding-right: 10px;
}

select {
  border: 1px solid #dbdbdb;
  color: #333;
  font-size: 1.1rem;
  width: 100%;
}

textarea {
  height: 8em;
  overflow: auto;
  resize: vertical;
}

.radio,
.checkbox {
  font-weight: 400;
}

input[type=checkbox],
input[type=radio] {
  margin-right: 0.25rem;
  padding: 0;
}

button,
input[type=button],
input[type=reset],
input[type=submit] {
  background-color: #919c36;
  color: #FFFFFF;
  display: inline-block;
  font-weight: 600;
  padding: 1rem 2rem;
  text-align: center;
  text-decoration: none;
  vertical-align: top;
  border: none;
  cursor: pointer;
}
button:hover,
input[type=button]:hover,
input[type=reset]:hover,
input[type=submit]:hover {
  background-color: #6183b1;
  color: #FFF;
}
button:focus,
input[type=button]:focus,
input[type=reset]:focus,
input[type=submit]:focus {
  outline: 1px dotted black;
}
button.disabled, button[disabled],
input[type=button].disabled,
input[type=button][disabled],
input[type=reset].disabled,
input[type=reset][disabled],
input[type=submit].disabled,
input[type=submit][disabled] {
  background-color: #9b9b9b;
  color: #cccccc;
  pointer-events: none;
}
button.secondary,
input[type=button].secondary,
input[type=reset].secondary,
input[type=submit].secondary {
  padding: 0.75rem 2.5rem;
}
button.reverse,
input[type=button].reverse,
input[type=reset].reverse,
input[type=submit].reverse {
  background-color: #FFF;
  color: #343434;
}
button.reverse:hover,
input[type=button].reverse:hover,
input[type=reset].reverse:hover,
input[type=submit].reverse:hover {
  background-color: #919c36;
  color: #FFF;
}

/* = Messaging = */
.success {
  margin-bottom: 2rem;
  padding: 1em 3em;
  position: relative;
  background-color: #429c3e;
  color: #FFF;
}
.success p:last-of-type,
.success ul:last-of-type,
.success ul li:last-of-type {
  margin-bottom: 0;
}
.success ul {
  margin-top: 0.3rem;
}
.success a {
  text-decoration: underline;
}
.success:empty {
  display: none;
}
.success::before {
  font: normal normal normal 1em / 1 FontAwesome;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  speak: none;
  text-rendering: auto;
  text-transform: none;
  display: inline-block;
  content: "";
  display: block;
  font-size: 20px;
  height: 23px;
  left: 1em;
  position: absolute;
  top: 1em;
  width: 23px;
}
.success::before {
  content: "\f00c";
}
.success a {
  color: #FFF;
}
.success a:hover {
  color: #d9d9d9;
}

.info {
  margin-bottom: 2rem;
  padding: 1em 3em;
  position: relative;
  background-color: #DDD;
}
.info p:last-of-type,
.info ul:last-of-type,
.info ul li:last-of-type {
  margin-bottom: 0;
}
.info ul {
  margin-top: 0.3rem;
}
.info a {
  text-decoration: underline;
}
.info:empty {
  display: none;
}
.info::before {
  font: normal normal normal 1em / 1 FontAwesome;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  speak: none;
  text-rendering: auto;
  text-transform: none;
  display: inline-block;
  content: "";
  display: block;
  font-size: 20px;
  height: 23px;
  left: 1em;
  position: absolute;
  top: 1em;
  width: 23px;
}
.info::before {
  content: "\f129";
}

.error {
  margin-bottom: 2rem;
  padding: 1em 3em;
  position: relative;
  background-color: #ab2029;
  color: #FFF;
}
.error p:last-of-type,
.error ul:last-of-type,
.error ul li:last-of-type {
  margin-bottom: 0;
}
.error ul {
  margin-top: 0.3rem;
}
.error a {
  text-decoration: underline;
}
.error:empty {
  display: none;
}
.error::before {
  font: normal normal normal 1em / 1 FontAwesome;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  speak: none;
  text-rendering: auto;
  text-transform: none;
  display: inline-block;
  content: "";
  display: block;
  font-size: 20px;
  height: 23px;
  left: 1em;
  position: absolute;
  top: 1em;
  width: 23px;
}
.error::before {
  content: "\f12a";
}
.error a {
  color: #DDD;
}
.error a:hover {
  color: #b7b7b7;
}

/* = Tables = */
table {
  border-collapse: collapse;
  border-spacing: 0;
  margin-bottom: 2rem;
  width: 100%;
}
table caption {
  font-size: 0.9rem;
  margin-bottom: 0.75em;
}
table td,
table th {
  padding: 0.65rem 1.15rem;
  text-align: left;
  vertical-align: top;
}
table th {
  background-color: #b8b69d;
  color: #ffffe8;
  font-weight: 600;
}
table td {
  border: 1px solid #f4f4f4;
}
table tr:nth-child(even) td {
  background-color: #f8f8f8;
}

/* = Calendar = */
.rail-calendar {
  width: 300px;
  overflow: hidden;
  position: relative;
  margin-bottom: 2em;
}
.rail-calendar .clndr-controls {
  background-color: #fff;
  border: 1px solid #f4f4f4;
  color: #333;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.rail-calendar .clndr-controls .month {
  width: 70%;
  padding-top: 5px;
  padding-bottom: 5px;
  display: inline-block;
  text-align: center;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 1px;
  margin: 0 auto;
}
.rail-calendar .days {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.rail-calendar .days {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid #f4f4f4;
  border-left: 1px solid #f4f4f4;
  border-right: 1px solid #f4f4f4;
}
.rail-calendar .days.name .day {
  background-color: #6183b1;
  color: #ffffff;
  font-weight: 400;
}
.rail-calendar .day {
  background-color: #ffffff;
  border: 1px solid #f4f4f4;
  color: #212121;
  text-align: center;
  width: 14.28%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5em;
}
.rail-calendar .day.adjacent-month {
  background-color: #f0f0f0;
  color: #999;
}
.rail-calendar .day.adjacent-month:hover {
  background-color: #f0f0f0;
  color: #999;
}
.rail-calendar .day.today {
  position: relative;
  border-color: #8e9eae;
}
.rail-calendar .day.event {
  position: relative;
  cursor: pointer;
}
.rail-calendar .day.event:after {
  position: absolute;
  font-family: FontAwesome;
  content: "\f111";
  color: #6183b1;
  width: 5px;
  height: 5px;
  display: block;
  margin: auto;
  left: 0;
  right: 0;
  bottom: 5px;
  font-size: 0.4em;
}
.rail-calendar .day.event:hover {
  background-color: #6183b1;
  color: #fff;
}
.rail-calendar .day.event.adjacent-month {
  cursor: auto;
}
.rail-calendar .day.event.adjacent-month:after {
  content: "";
}
.rail-calendar .day.event.adjacent-month:hover {
  background-color: #f0f0f0;
  color: #999;
}

.day-information {
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  transform: translateX(100%);
  transition: transform 0.5s;
  background: #f4f4f4;
}
.day-information header {
  background-color: #6183b1;
  padding: 1em;
  color: #f4f4f4;
  margin-bottom: 0;
}
.day-information .details {
  padding: 1em;
}
.day-information .details .event {
  margin: 0 0 1em 0;
}
.day-information .details .event a {
  color: #6183b1;
}
.day-information .close-information {
  background: none;
  border: none;
  position: absolute;
  top: -0.75em;
  right: 0;
  padding: 1em;
}
.day-information .day-label {
  background: none;
  border: none;
  position: absolute;
  top: 0;
  left: 0;
  padding: 0.25em 1em;
  font-weight: 600;
  color: #fff;
}
.day-information.active {
  transform: translateX(0);
  overflow: auto;
}

/* = CMS = */
.shadow img {
  box-shadow: 7px 7px 17px rgba(0, 0, 0, 0.15);
}

.embed {
  clear: both;
  margin: 0 0 1.4em;
  padding-top: 25px;
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
}

.embed iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

figcaption {
  color: #999;
  font-size: 1rem;
  margin-top: -1rem;
  margin-bottom: 3rem;
}

figure {
  margin-bottom: 1.75rem;
}
figure::before, figure::after {
  content: "";
  display: table;
}
figure::after {
  clear: both;
}
figure img {
  height: auto !important;
  margin-bottom: 1.5rem;
}
figure figcaption {
  border-top: 2px solid #dbdbdb;
  color: #999;
  font-size: 1rem;
  padding-top: 0.5rem;
}
figure[class*=image-float], .split figure {
  width: 45%;
}
figure[class*=image-float] img, .split figure img {
  float: none;
  margin-bottom: 1.5rem;
  max-width: 100%;
}
figure[class*=image-float] figcaption, .split figure figcaption {
  float: none;
  margin-left: 0;
  max-width: none;
}
.split figure {
  width: 100%;
}
figure.image-float-left {
  float: left;
  margin-right: 2rem;
}
figure.image-float-right {
  float: right;
  margin-left: 2rem;
}
figure.image.text-center {
  text-align: center;
}

.two-column img,
.two-col img {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  margin-bottom: 1.75rem;
}
.two-column img p img,
.two-col img p img {
  margin-bottom: 1.5rem;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

@media only screen and (min-width: 669px) {
  .image_align_right {
    float: right;
    margin-left: 2rem;
    max-width: 50%;
  }
  .image_align_left {
    float: left;
    margin-right: 2rem;
    max-width: 50%;
  }
}
/* =  Page Specific = */
body#home .slides {
  background-color: #F0F0F0;
  overflow: hidden;
  position: relative;
}
body#home .slides .slides-placeholder {
  background-color: #F0F0F0;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}
body#home .slick-slide {
  text-align: center;
}
body#home .slick-slide img,
body#home .slick-slide video {
  display: block;
  width: 100%;
}
body#home .headline {
  bottom: 5rem;
  position: absolute;
  width: 100%;
  z-index: 999;
}
body#home .headline > div {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  padding-left: 1rem;
  padding-right: 1rem;
  position: relative;
}
body#home .headline h1 {
  color: #FFF;
  font-weight: 800;
  margin-bottom: 0;
  text-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
  text-transform: uppercase;
}

body#blog .listing,
body.tags .listing,
body.category .listing {
  margin-bottom: 2rem;
}
body#blog .listing form .search,
body.tags .listing form .search,
body.category .listing form .search {
  display: flex;
  height: 54px;
  margin-bottom: 3rem;
}
body#blog .listing form .search label,
body.tags .listing form .search label,
body.category .listing form .search label {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
body#blog .listing form .search .text,
body.tags .listing form .search .text,
body.category .listing form .search .text {
  flex-grow: 1;
}
body#blog .listing form .search .submit,
body.tags .listing form .search .submit,
body.category .listing form .search .submit {
  flex-basis: 120px;
  flex-shrink: 0;
}
body#blog .listing form .search .submit input,
body.tags .listing form .search .submit input,
body.category .listing form .search .submit input {
  height: 100%;
  width: 100%;
}
body#blog .listing form .filters,
body.tags .listing form .filters,
body.category .listing form .filters {
  margin-bottom: 2rem;
}
body#blog .listing form .filters label,
body.tags .listing form .filters label,
body.category .listing form .filters label {
  display: inline;
}
body#blog .listing form .filters span,
body.tags .listing form .filters span,
body.category .listing form .filters span {
  background-color: #395273;
  border-radius: 0.5rem;
  color: #fff;
  display: inline-block;
  margin: 0 0.5rem 0.5rem 0;
  padding: 0.5rem 1rem;
}
body#blog .listing form .filters input[type=checkbox]:checked + span,
body.tags .listing form .filters input[type=checkbox]:checked + span,
body.category .listing form .filters input[type=checkbox]:checked + span {
  background-color: #6183b1;
}
body#blog .listing form .filters input[type=checkbox],
body.tags .listing form .filters input[type=checkbox],
body.category .listing form .filters input[type=checkbox] {
  display: none;
}
body#blog .listing a,
body.tags .listing a,
body.category .listing a {
  text-decoration: none;
}
body#blog .listing > ul,
body.tags .listing > ul,
body.category .listing > ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
body#blog .listing > ul > li,
body.tags .listing > ul > li,
body.category .listing > ul > li {
  border-top: 4px solid #EEE;
  margin-bottom: 0;
  padding: 2rem 0;
}
body#blog .listing > ul > li .meta,
body.tags .listing > ul > li .meta,
body.category .listing > ul > li .meta {
  display: block;
}
body#blog .listing > ul > li h2 + .meta,
body.tags .listing > ul > li h2 + .meta,
body.category .listing > ul > li h2 + .meta {
  margin-top: -1em;
}
body#blog .listing > ul > li p:last-of-type,
body.tags .listing > ul > li p:last-of-type,
body.category .listing > ul > li p:last-of-type {
  margin-bottom: 0;
}
body#blog .listing > ul > li .image,
body.tags .listing > ul > li .image,
body.category .listing > ul > li .image {
  margin-bottom: 2rem;
}
@media only screen and (min-width: 669px) {
  body#blog .listing > ul > li,
body.tags .listing > ul > li,
body.category .listing > ul > li {
    border-width: 10px;
    display: flex;
    flex-direction: row;
    padding: 3.5rem 0;
  }
  body#blog .listing > ul > li .image,
body.tags .listing > ul > li .image,
body.category .listing > ul > li .image {
    flex: 0 0 240px;
    margin-bottom: 0;
    margin-right: 2rem;
  }
  body#blog .listing > ul > li .content,
body.tags .listing > ul > li .content,
body.category .listing > ul > li .content {
    flex: 1 1 auto;
    overflow: hidden;
  }
}
body#blog .listing > ul > li,
body.tags .listing > ul > li,
body.category .listing > ul > li {
  transition: all 250ms ease-in-out;
  border-top: 4px solid #919c36;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
  margin-bottom: 3rem;
  padding: 2rem;
}
body#blog .listing > ul > li:hover,
body.tags .listing > ul > li:hover,
body.category .listing > ul > li:hover {
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.3);
}
body#blog .listing .wrapper .photo,
body.tags .listing .wrapper .photo,
body.category .listing .wrapper .photo {
  margin-bottom: 2rem;
}
body#blog .listing .wrapper .photo a,
body.tags .listing .wrapper .photo a,
body.category .listing .wrapper .photo a {
  cursor: pointer;
}

body.calendar aside.primary {
  background-color: transparent;
  background-image: none;
  padding: 0;
}

body.people .hero .img {
  background-image: url(/images/hero-marsh.jpg?4924f86e2fc48e77a1fa82bd2207f217);
  background-position: 50% 50%;
}

/* == Projects Listing == */
div.projects > *, div.related-blogs > * {
  background-color: #EEE;
  margin-bottom: 3rem;
  padding: 2rem;
  text-align: left;
}
div.projects > * *:last-child, div.related-blogs > * *:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 669px) {
  div.projects, div.related-blogs {
    display: flex;
    flex-flow: row wrap;
    margin-left: -1rem;
    margin-right: -1rem;
  }
  div.projects > *, div.related-blogs > * {
    flex-basis: calc(50% - 3rem);
    flex-shrink: 0;
    margin-left: 1.5rem;
    margin-right: 1.5rem;
    padding: 3rem 4rem;
  }
}
@media only screen and (min-width: 1024px) {
  div.projects > *, div.related-blogs > * {
    flex-basis: calc((100% / 2) - (3rem));
  }
}
div.projects > div, div.related-blogs > div,
div.projects a,
div.related-blogs a {
  color: #FFF;
  text-decoration: none;
}
div.projects > div, div.related-blogs > div {
  background-color: rgba(62, 95, 138, 0.8);
  margin-bottom: 5rem;
  margin-top: 2rem;
  position: relative;
  text-align: center;
  transition: background-color 500ms ease-in-out;
}
div.projects > div .author img, div.related-blogs > div .author img {
  max-width: 90px;
  border: 3px solid #fff;
  display: none;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}
div.projects > div .author span, div.related-blogs > div .author span {
  color: #FFF;
  margin-left: 0.5rem;
}
div.projects > div .author > div:first-of-type img, div.related-blogs > div .author > div:first-of-type img {
  display: block;
}
div.projects > div .author > div:first-of-type span, div.related-blogs > div .author > div:first-of-type span {
  margin-left: 0;
}
div.projects > div .img, div.related-blogs > div .img {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 110%;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: all 500ms ease-in-out;
  width: 100%;
  z-index: -1;
}
div.projects > div h3, div.related-blogs > div h3 {
  font-weight: 600;
  margin-bottom: 0.5rem;
}
div.projects > div:hover, div.related-blogs > div:hover {
  background-color: rgba(62, 95, 138, 0.9);
}
div.projects > div:hover .img, div.related-blogs > div:hover .img {
  background-size: 120%;
}
div.projects a:hover, div.related-blogs a:hover {
  color: #bbebff;
}
div.projects nav.pagination, div.related-blogs nav.pagination {
  background-color: transparent;
  flex-basis: 100%;
  padding: 0;
}
div.projects nav.pagination a, div.related-blogs nav.pagination a {
  color: #6183b1;
}
div.projects nav.pagination a:hover, div.related-blogs nav.pagination a:hover {
  color: #3e5f8a;
}
@media only screen and (min-width: 1024px) {
  div.projects > div, div.related-blogs > div {
    margin-bottom: 3rem;
  }
}

.featured-projects .fluid {
  margin: 1rem 0;
}

/* == Related Blog Listing == */
.related-blogs {
  align-items: flex-start;
}
.related-blogs > div {
  overflow: hidden;
}
.related-blogs > div .img {
  background-size: cover;
}
.related-blogs > div:hover .img {
  background-size: cover;
  transform: scale(1.5, 1.5);
}

/* == Search Listing == */
.search-listing {
  margin-bottom: 2rem;
}
.search-listing form .search {
  display: flex;
  height: 54px;
  margin-bottom: 3rem;
}
.search-listing form .search label {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.search-listing form .search .text {
  flex-grow: 1;
}
.search-listing form .search .submit {
  flex-basis: 120px;
  flex-shrink: 0;
}
.search-listing form .search .submit input {
  height: 100%;
  width: 100%;
}
.search-listing form .filters {
  margin-bottom: 2rem;
}
.search-listing form .filters label {
  display: inline;
}
.search-listing form .filters span {
  background-color: #395273;
  border-radius: 0.5rem;
  color: #fff;
  display: inline-block;
  margin: 0 0.5rem 0.5rem 0;
  padding: 0.5rem 1rem;
}
.search-listing form .filters input[type=checkbox]:checked + span {
  background-color: #6183b1;
}
.search-listing form .filters input[type=checkbox] {
  display: none;
}
.search-listing a {
  text-decoration: none;
}
.search-listing > ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.search-listing > ul > li {
  border-top: 4px solid #EEE;
  margin-bottom: 0;
  padding: 2rem 0;
}
.search-listing > ul > li .meta {
  display: block;
}
.search-listing > ul > li h2 + .meta {
  margin-top: -1em;
}
.search-listing > ul > li p:last-of-type {
  margin-bottom: 0;
}
.search-listing > ul > li .image {
  margin-bottom: 2rem;
}
@media only screen and (min-width: 669px) {
  .search-listing > ul > li {
    border-width: 10px;
    display: flex;
    flex-direction: row;
    padding: 3.5rem 0;
  }
  .search-listing > ul > li .image {
    flex: 0 0 200px;
    margin-bottom: 0;
    margin-right: 2rem;
  }
  .search-listing > ul > li .content {
    flex: 1 1 auto;
    overflow: hidden;
  }
}

/* = Media Queries = */
@media only screen and (min-width: 669px) {
  aside.primary {
    background-size: contain;
  }
  /* =  Page Specific = */
  body#home .headline {
    top: 6rem;
  }
  body#home .headline h1 {
    font-size: 4rem;
    line-height: 0.8;
    text-shadow: 0 0 80px rgba(0, 0, 0, 0.4);
  }
}
@media only screen and (min-width: 1024px) {
  /* = Layout = */
  header.primary .branding {
    flex-basis: 210px;
    margin-right: 2rem;
  }
  nav ul {
    text-align: left;
  }
  nav.primary {
    margin-bottom: 0;
    width: 100%;
  }
  nav.primary > ul {
    align-items: center;
  }
  nav.primary > ul > li {
    font-size: 1rem;
    font-weight: 600;
    padding-bottom: 0.75rem;
    position: relative;
  }
  nav.primary > ul > li:first-child {
    margin-left: 0;
  }
  nav.primary ul {
    text-align: left;
  }
  nav.primary ul li li {
    display: block;
    float: none;
    font-weight: 400;
  }
  nav.primary li.donate {
    margin-left: auto;
  }
  .utilities {
    margin-bottom: 0.5rem;
  }
  .utilities nav.utility {
    margin-bottom: 0.25rem;
  }
  .utilities nav.utility ul {
    text-align: right;
  }
  .utilities nav.utility li a {
    padding: 0 0.75em;
  }
  .utilities nav.utility li:last-child a {
    padding-right: 0;
  }
  .desktop {
    align-items: flex-end;
    display: flex;
    flex: 1 1 auto;
    flex-flow: column nowrap;
    justify-content: space-between;
  }
  .desktop nav.primary {
    align-self: flex-end;
  }
  button.menu-toggle {
    display: none;
  }
  .wrap {
    display: flex;
    justify-content: space-between;
  }
  .wrap main {
    flex: 1 0 0;
  }
  .wrap aside.primary {
    flex: 0 0 280px;
    margin-bottom: 2rem;
    margin-left: 3rem;
    transform: translateY(-6.5rem);
  }
  body.blog .wrap aside.primary,
body.calendar .wrap aside.primary,
body.event .wrap aside.primary,
body.project .wrap aside.primary {
    transform: translateY(0);
  }
  .torso {
    padding-bottom: 4rem;
    padding-top: 4rem;
  }
  aside.primary {
    margin-bottom: 0;
  }
  aside.primary nav ul {
    text-align: left;
  }
  aside.primary .module {
    padding: 1.5rem 0.5rem;
  }
  /* = Typography = */
  h1 {
    font-size: 2.5rem;
  }
  h2 {
    font-size: 2rem;
  }
  h3 {
    font-size: 1.5rem;
  }
  h4 {
    font-size: 1.1rem;
  }
  h5 {
    font-size: 1rem;
  }
  /* =  Page Specific = */
  body#home .headline h1 {
    font-size: 7.5rem;
  }
  body#home section.calendar h2 {
    margin-bottom: 2.5rem;
  }
  /* == Projects Listing == */
  div.projects > * h3, div.related-blogs > * h3 {
    font-size: 2rem;
  }
}
.adminbar header.primary {
  padding-top: 0;
}

.admin_bar_links {
  margin-bottom: 0;
}

.search-error {
  display: block;
  width: 100%;
  padding: 10px;
  border-radius: 5px;
  color: #FFF;
  background: #df525b;
  /* Pseudos */
  /* Class Modifiers */
  /* Contextual Modifiers */
}
.search-error::before {
  content: "!";
  padding-left: 10px;
  padding-right: 15px;
  font-weight: bold;
}
.search-error.-hide {
  display: none;
}
.search-drawer .search-error {
  margin-top: 10px;
}
