.template:before, .template:after {
  content: "";
  display: table; }

.template:after {
  clear: both; }

.lte-ie7 .template {
  zoom: 1; }

.template__columns {
  margin: 0 -1em; }

.template__columns__span {
  width: 100%;
  float: left;
  padding: 0 1em; }

@media all and (min-width: 769px) {
  .template__columns__span--1 {
    width: 8.33333%; }
  .template__columns__span--2 {
    width: 16.66667%; }
  .template__columns__span--3 {
    width: 25%; }
  .template__columns__span--4 {
    width: 33.33333%; }
  .template__columns__span--5 {
    width: 41.66667%; }
  .template__columns__span--6 {
    width: 50%; }
  .template__columns__span--7 {
    width: 58.33333%; }
  .template__columns__span--8 {
    width: 66.66667%; }
  .template__columns__span--9 {
    width: 75%; }
  .template__columns__span--10 {
    width: 83.33333%; }
  .template__columns__span--11 {
    width: 91.66667%; }
  .template__columns__span--12 {
    width: 100%; } }

.lte-ie8 .template__columns__span--1 {
  width: 8.33333%; }

.lte-ie8 .template__columns__span--2 {
  width: 16.66667%; }

.lte-ie8 .template__columns__span--3 {
  width: 25%; }

.lte-ie8 .template__columns__span--4 {
  width: 33.33333%; }

.lte-ie8 .template__columns__span--5 {
  width: 41.66667%; }

.lte-ie8 .template__columns__span--6 {
  width: 50%; }

.lte-ie8 .template__columns__span--7 {
  width: 58.33333%; }

.lte-ie8 .template__columns__span--8 {
  width: 66.66667%; }

.lte-ie8 .template__columns__span--9 {
  width: 75%; }

.lte-ie8 .template__columns__span--10 {
  width: 83.33333%; }

.lte-ie8 .template__columns__span--11 {
  width: 91.66667%; }

.lte-ie8 .template__columns__span--12 {
  width: 100%; }

.template--accordion h2.template--accordion__title {
  padding: .5em 4rem .5em 1.5rem;
  border: 1px solid #192469;
  margin-bottom: 0.25em;
  font-size: 1.125em;
  position: relative;
  background: #192469;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  color: #FFFFFF;
  -webkit-transition: background 350ms, color 350ms;
  -o-transition: background 350ms, color 350ms;
  transition: background 350ms, color 350ms; }
  .template--accordion h2.template--accordion__title:after {
    content: '';
    position: absolute;
    right: 1.5rem;
    top: 50%;
    margin-top: -3px;
    border-top: 6px solid #FFFFFF;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: -webkit-transform 350ms;
    transition: -webkit-transform 350ms;
    -o-transition: transform 350ms;
    transition: transform 350ms;
    transition: transform 350ms, -webkit-transform 350ms; }

.template--accordion div.template--accordion__container {
  display: none;
  padding: 1px 1.5rem;
  line-height: 1.5em;
  background-color: #f2f2f2; }

.template--accordion.active > h2.template--accordion__title {
  background: #141d54;
  color: #f2f2f2; }
  .template--accordion.active > h2.template--accordion__title:after {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg); }

.no-js .template--accordion h2.template--accordion__title:after {
  display: none; }

.no-js .template--accordion div.template--accordion__container {
  display: block; }

.mason--admin .template--accordion h2.template--accordion__title,
.mason--admin .template--accordion div.template--accordion__container {
  cursor: text;
  -webkit-user-select: auto;
  -moz-user-select: auto;
  -ms-user-select: auto;
  user-select: auto;
  position: relative;
  border: 3px solid #EF5B25; }
  .mason--admin .template--accordion h2.template--accordion__title:before,
  .mason--admin .template--accordion div.template--accordion__container:before {
    position: absolute;
    top: 0;
    right: 0;
    background: #EF5B25;
    text-transform: none;
    font-size: 12px;
    color: #FFF;
    padding: 6px 10px;
    line-height: 1.5em;
    z-index: 2; }

.mason--admin .template--accordion h2.template--accordion__title:before {
  content: 'Accordion Title'; }

.mason--admin .template--accordion div.template--accordion__container {
  display: block; }
  .mason--admin .template--accordion div.template--accordion__container:before {
    content: 'Accordion Content'; }

.accordion__template {
  margin-bottom: 10px; }

.accordion__title {
  padding: 1em 3em 1em 2em;
  font-size: 1em;
  position: relative;
  background: #f0f0f0;
  cursor: pointer;
  margin: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: background .4s, color .4s;
  -o-transition: background .4s, color .4s;
  transition: background .4s, color .4s; }
  .accordion__title:before, .accordion__title:after {
    content: "";
    width: 1px;
    height: 21px;
    position: absolute;
    right: 2em;
    top: 0em;
    bottom: 0;
    margin: auto;
    background: #DC2A29;
    -webkit-transition: background .3s ease, -webkit-transform .3s ease;
    transition: background .3s ease, -webkit-transform .3s ease;
    -o-transition: transform .3s ease, background .3s ease;
    transition: transform .3s ease, background .3s ease;
    transition: transform .3s ease, background .3s ease, -webkit-transform .3s ease; }
  .accordion__title:before {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg); }
  .accordion__title.active {
    background: #DC2A29;
    color: #FFF !important; }
    .accordion__title.active:before, .accordion__title.active:after {
      background: #fff; }
    .accordion__title.active:before {
      -webkit-transform: rotate(-135deg);
      -ms-transform: rotate(-135deg);
      transform: rotate(-135deg); }
    .accordion__title.active:after {
      -webkit-transform: rotate(-220deg);
      -ms-transform: rotate(-220deg);
      transform: rotate(-220deg); }

.accordion__container {
  overflow: hidden;
  display: none;
  padding: 1em 2em;
  background: #f0f0f0; }
  .mason--admin .accordion__container {
    height: auto;
    display: block; }

.mason--admin {
  /* highlights accordion structure when logged in */ }
  .mason--admin .accordion__title,
  .mason--admin .accordion__container {
    position: relative;
    border: 3px solid #EF5B25; }
    .mason--admin .accordion__title:after,
    .mason--admin .accordion__container:after {
      position: absolute;
      top: 0;
      right: 0;
      background: #EF5B25;
      text-transform: none;
      font-size: 12px;
      color: #FFF; }
  .mason--admin .accordion__title {
    cursor: default;
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text; }
    .mason--admin .accordion__title:after {
      padding: 0 8px 0 10px;
      content: 'Accordion Title';
      width: auto;
      height: auto;
      -webkit-transform: none;
      -ms-transform: none;
      transform: none;
      bottom: auto; }
    .mason--admin .accordion__title:before {
      display: none; }
  .mason--admin .accordion__container {
    margin-bottom: 6px; }
    .mason--admin .accordion__container:after {
      padding: 0 8px 2px 10px;
      content: 'Accordion Container'; }

@media all and (min-width: 1025px) {
  .accordion__title {
    padding: 1.2em 4em 1.2em 2.5em; }
    .accordion__title:before, .accordion__title:after {
      right: 3em; }
  .accordion__container {
    padding: 1.2em 2.5em; } }

.button__link {
  display: inline-block; }
  .button__link a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 55px;
    width: 197px;
    border-radius: 28px;
    letter-spacing: 0.1em;
    background: #192469;
    color: #fff;
    font-weight: 700;
    font-size: 15px;
    text-transform: uppercase;
    text-decoration: none !important;
    -webkit-transition: background .3s ease, color .3s ease, border .3s ease;
    -o-transition: background .3s ease, color .3s ease, border .3s ease;
    transition: background .3s ease, color .3s ease, border .3s ease; }
    .button__link a:hover {
      background: #DC2A29;
      color: #fff; }

.table__container {
  display: block;
  max-width: 100%;
  overflow: auto;
  margin: 20px 0; }
  .table__container table {
    table-layout: fixed;
    border-collapse: collapse;
    text-align: center; }
    .table__container table th, .table__container table td {
      border: 2px #fff solid; }
      .table__container table th:first-of-type, .table__container table td:first-of-type {
        border-left: none; }
      .table__container table th:last-of-type, .table__container table td:last-of-type {
        border-right: none; }
    .table__container table th {
      background-color: #192469;
      color: #fff;
      border-top: none;
      padding: 20px 5%; }
    .table__container table td {
      background-color: #dfdfdf;
      color: #777777;
      font-weight: 600; }
    .table__container table tr:last-of-type td {
      border-bottom: none; }

blockquote {
  margin: 2em 0 1em;
  font-style: italic;
  padding: 0.6em 2em;
  color: #7e7e7e;
  line-height: 1.45em;
  background: rgba(25, 36, 105, 0.2);
  border-left: 5px solid #192469;
  position: relative;
  border-radius: 20px; }

@media all and (min-width: 850px) {
  blockquote {
    font-size: 1.2em;
    margin: 1em 0;
    padding: 0.6em 3em; } }

@media all and (min-width: 1100px) {
  blockquote {
    font-size: 1.5em; } }

.template__quote {
  background: #efefef;
  padding-top: 60px;
  padding-bottom: 30px;
  padding-left: 30px;
  padding-right: 20px;
  position: relative; }
  .template__quote p {
    color: #192469;
    font-family: "Libre Baskerville", serif;
    font-weight: 700; }
  .template__quote .quote__name {
    color: #c1c1c1;
    letter-spacing: 0.08em;
    font-family: "Source Sans Pro", sans-serif; }

.template__quote::after {
  content: "";
  font-family: "Libre Baskerville", serif;
  font-weight: 700;
  color: #DC2A29;
  position: absolute;
  width: 40px;
  height: 32px;
  background-image: url("/_site/images/design/quote.png");
  background-size: cover;
  background-position: center;
  top: 30px;
  left: 30px;
  font-weight: 900;
  font-size: 30px; }

@media all and (min-width: 769px) {
  .template__quote {
    padding-top: 80px;
    padding-bottom: 60px;
    padding-left: 50px;
    padding-right: 30px; }
    .template__quote p {
      font-size: 1.500em;
      line-height: 1.417em; }
    .template__quote .quote__name {
      font-size: 1.250em; }
  .template__quote::after {
    left: 50px;
    top: 50px; } }

.lte-ie8 .template__quote {
  padding-top: 80px;
  padding-bottom: 60px;
  padding-left: 50px;
  padding-right: 30px; }
  .lte-ie8 .template__quote p {
    font-size: 1.500em;
    line-height: 1.417em; }
  .lte-ie8 .template__quote .quote__name {
    font-size: 1.250em; }

.lte-ie8 .template__quote::after {
  left: 50px;
  top: 50px; }

.mason--admin .attachment__link__template {
  height: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start; }
  .mason--admin .attachment__link__template p {
    height: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  .mason--admin .attachment__link__template a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    color: #fff;
    font-size: 16px;
    height: 50%; }

.attachment__link__template {
  height: 55px;
  border-radius: 28px;
  background: #eece50;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  padding-right: 45px;
  -webkit-transition: 0.4s;
  -o-transition: 0.4s;
  transition: 0.4s; }
  .attachment__link__template:hover {
    background: #652815; }
    .attachment__link__template:hover::after {
      color: #eece50; }
  .attachment__link__template p {
    margin: 0;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #fff;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    width: 100%; }
  .attachment__link__template::after {
    content: "\f178";
    font-family: fontAwesome;
    color: #652815;
    font-size: 25px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 25px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-transition: 0.4s;
    -o-transition: 0.4s;
    transition: 0.4s; }
  .attachment__link__template a {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    font-size: 0px; }

@media all and (min-width: 769px) {
  .attachment__link__template {
    padding-left: 65px; }
    .attachment__link__template::before {
      content: "\f15c";
      font-family: fontAwesome;
      font-weight: 900;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 45px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; } }

.lte-ie8 .attachment__link__template {
  padding-left: 65px; }
  .lte-ie8 .attachment__link__template::before {
    content: "\f15c";
    font-family: fontAwesome;
    font-weight: 900;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 45px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
