/*!**************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/scss/style.scss ***!
  \**************************************************************************************************************/
html, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, img, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, tbody, tfoot, thead, tr, th, td, article, aside, canvas, footer, header, nav, section {
  border: 0;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

a {
  text-decoration: none;
  outline: 0; }

body:before {
  content: '1';
  display: none; }
  @media all and (min-width: 361px) {
    body:before {
      content: '2'; } }
  @media all and (min-width: 501px) {
    body:before {
      content: '3'; } }
  @media all and (min-width: 769px) {
    body:before {
      content: '4'; } }
  @media all and (min-width: 1001px) {
    body:before {
      content: '5'; } }
  @media all and (min-width: 1201px) {
    body:before {
      content: '6'; } }
  @media all and (min-width: 1250px) {
    body:before {
      content: '7'; } }

/*
 * The mixins.less file contains all mixins used on the site
*/
/*
 * no-select
 *
 * Prevents user selection on the selector which calls the mixin
*/
/*
 * prevent-flicker
 *
 * Prevents fickering of images when transitioning
*/
/*
 * button-styles
 *
 * The default styles for buttons
*/
/*
 * button-unfilled
 *
 * Creates the inverse version of the standard hover effect for buttons.
*/
/*
 * inline-align
 *
 * Set the selector to be inline-block and vertically aligned to the middle
 *
 * $param $alignment	- The vertical-align value
 *							- Default: middle
*/
/*
 * inline-block
 *
 * Set the selector to be inline-block and the specified width
 *
 * $param $width		- The width value
 *							- Default: 50%
 * $param $margin		- The margin value
 *							- Default: 0
 * $param $alignment - The vertical-align value
 *							- Default: top
 * $param $font-size - The font-size value
 *							- Default: $base-font-size
*/
/*
 * inline-parent
 *
 * Setup parent styles for a container with inline-block children
 *
 * $param $margin - The negative margin-left value
 *						- Default: 0
*/
/*
 *@include fluid-font-size
 *
 * Sets the font size to respond with the screen size and line height to 130% of the max font size
 *
 * $param $min - The minimum font-size
 *					- Default: 35
 * $param $max - The maximim font-size
 *					- Default: 45
*/
/*
 * transition-underline
 *
 * Creates an transitioned underline on the selector which calls the mixin
 *
 * $param $color 			 - The default background colour
 * 				  			 - Default: $primary
 * $param $border-height - The height of the border
 * 				  			 - Default: 0.1rem
*/
/*
 * hidden-for-accessibility
 *
 * Hides an element from view, but still allows screen readers to see the element
*/
/*
 * color classes
 *
 * All colours defined in colours.less should have a class defined here
 * These are for use in setting the color property-value pairs
*/
.white {
  color: #fff; }

.red {
  color: #790b0f; }

.green {
  color: #87bd26; }

.blue {
  color: #3a467f; }

.light-grey {
  color: #e6e6e6; }

.mid-grey {
  color: #9d9d9c; }

.dark-grey {
  color: #1b1d2f; }

.madison-grey {
  color: #5f5f5f; }

.black {
  color: #000; }

.primary {
  color: #3a467f; }

.secondary {
  color: #e5e5ed; }

.error {
  color: #790b0f; }

.success {
  color: #87bd26; }

.font-color {
  color: #1b1d2f; }

/*
 * background-color classes
 *
 * All colours defined in colours.less should have a class defined here
 * These are for use in setting the background-color property-value pairs
*/
.bg-white {
  background-color: #fff; }

.bg-red {
  background-color: #790b0f; }

.bg-green {
  background-color: #87bd26; }

.bg-blue {
  background-color: #3a467f; }

.bg-light-grey {
  background-color: #e6e6e6; }

.bg-mid-grey {
  background-color: #9d9d9c; }

.bg-dark-grey {
  background-color: #1b1d2f; }

.bg-madison-grey {
  background-color: #5f5f5f; }

.bg-black {
  background-color: #000; }

.bg-transparent {
  background-color: transparent; }

.bg-primary {
  background-color: #3a467f; }

.bg-secondary {
  background-color: #e5e5ed; }

.bg-error {
  background-color: #790b0f; }

.bg-success {
  background-color: #87bd26; }

.bg-font-color {
  background-color: #1b1d2f; }

/*
 * font weight classes
 *
 * All imported font weights should have a class defined here
 * These are for use in setting the font-weight property-value pairs
*/
.fw-light {
  font-weight: 300; }

.fw-normal {
  font-weight: 400; }

.fw-bold {
  font-weight: 700; }

html {
  font-size: 62.5%;
  line-height: 1.4;
  color: #1b1d2f; }

body {
  -webkit-font-smoothing: antialiased;
  font-size: 1.6rem;
  font-family: 'Open Sans', sans-serif; }

a {
  color: #3a467f; }

h1, h2, h3, h4, h5, h6 {
  font-family: 'freight', serif;
  font-weight: 300; }

*, *:before, *:after {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box; }

html, body {
  -webkit-tap-highlight-color: transparent; }

body {
  width: 100%;
  height: 100%;
  transition: padding-top 0.2s ease-in-out; }
  body.menu-open {
    overflow: hidden; }

::-moz-selection {
  background-color: #3a467f;
  color: #fff; }

::selection {
  background-color: #3a467f;
  color: #fff; }

[tabindex="-1"] {
  outline: none; }

img {
  width: auto;
  max-width: 100%;
  height: auto;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

iframe {
  width: 100%;
  max-width: 100%;
  display: block; }

hr {
  border-color: #3a467f;
  max-width: 80%;
  margin: 3rem auto; }

.inner {
  width: calc(1250px + 4.7rem * 2);
  max-width: 100%;
  margin: 0 auto;
  padding: 0 2rem; }
  @media all and (min-width: 1001px) {
    .inner {
      padding: 0 4.7rem; } }

.large-heading {
  margin-bottom: 2rem;
  font-size: calc(2.7rem + (50 - 27) * ((100vw - 361px ) / (1250 - 361) )); }
  @media all and (min-width: 1250px) {
    .large-heading {
      font-size: 5rem; } }

.mid-heading {
  font-size: calc(2.4rem + (30 - 24) * ((100vw - 361px ) / (1250 - 361) )); }
  @media all and (min-width: 1250px) {
    .mid-heading {
      font-size: 3rem; } }

.small-heading {
  font-size: calc(2rem + (24 - 20) * ((100vw - 361px ) / (1250 - 361) )); }
  @media all and (min-width: 1250px) {
    .small-heading {
      font-size: 2.4rem; } }

.ordered-list-style, .unordered-list {
  padding-left: 1rem;
  margin-bottom: 0.8rem;
  list-style-position: outside;
  line-height: 2rem; }

.ordered-list-style {
  list-style-type: none; }

.unordered-list {
  list-style-type: disc; }

.button.primary-button, .button.gform_button {
  min-width: 120px;
  display: inline-block;
  position: relative;
  margin-top: 2.4rem;
  padding: 0 1.4rem;
  line-height: 3.5rem;
  text-align: center;
  font-size: 2rem;
  white-space: nowrap;
  border: 1px solid #3a467f;
  cursor: pointer;
  z-index: 1;
  transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
  color: #fff;
  background-color: #3a467f;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }
  .button.primary-button:hover, .button.primary-button:focus, .button.gform_button:hover, .button.gform_button:focus {
    color: #1b1d2f;
    background-color: transparent; }

.button.gform_button {
  margin-top: 0; }

.button.secondary-button {
  min-width: 120px;
  display: inline-block;
  position: relative;
  margin-top: 2.4rem;
  padding: 0 1.4rem;
  line-height: 3.5rem;
  text-align: center;
  font-size: 2rem;
  white-space: nowrap;
  border: 1px solid #3a467f;
  cursor: pointer;
  z-index: 1;
  transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
  color: #fff;
  background-color: #3a467f;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  color: #1b1d2f;
  background-color: transparent; }
  .button.secondary-button:hover, .button.secondary-button:focus {
    color: #1b1d2f;
    background-color: transparent; }
  .button.secondary-button:hover, .button.secondary-button:focus {
    color: #fff;
    background-color: #3a467f; }

.social-media {
  font-size: 1.6rem; }
  .social-media .account-link {
    margin-left: 0.5rem;
    position: relative;
    transition: color 0.2s ease-in;
    color: #3a467f;
    display: inline-block;
    vertical-align: middle; }
    .social-media .account-link:hover, .social-media .account-link:focus {
      color: #fff; }
      .social-media .account-link:hover:before, .social-media .account-link:focus:before {
        opacity: 1;
        transform: scale(1) translate(-50%, -50%); }
    .social-media .account-link i {
      position: relative; }
    .social-media .account-link:before {
      content: '';
      width: 3rem;
      height: 3rem;
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      border-radius: 50%;
      opacity: 0;
      transform: scale(0) translate(-50%, -50%);
      transform-origin: left top;
      transition: transform 0.3s ease-in-out, opacity 0.2s ease-in-out;
      background-color: rgba(58, 70, 127, 0.6); }

.user-generated a {
  color: #3a467f;
  border-bottom: 0.1rem solid transparent;
  transition: border-bottom-color 0.2s ease-in-out; }
  .user-generated a:hover, .user-generated a:focus {
    border-bottom-color: #3a467f; }

.user-generated ol, .user-generated ul {
  margin: 1.6rem 0; }
  .user-generated ol.gform_fields, .user-generated ul.gform_fields {
    margin-bottom: 0; }
  .user-generated ol li:not(.gfield), .user-generated ul li:not(.gfield) {
    margin-bottom: 1.2rem;
    padding-left: 1.6rem; }
    .user-generated ol li:not(.gfield):before, .user-generated ul li:not(.gfield):before {
      margin: 0 1rem 0 -1.6rem;
      display: inline-block;
      vertical-align: middle; }

.user-generated ul li:not(.gfield):before {
  content: '';
  width: 0.9rem;
  height: 0.9rem;
  border-radius: 50%;
  background-color: #3a467f; }

.user-generated ol {
  counter-reset: list-counter; }
  .user-generated ol li {
    padding-left: 1.6rem; }
    .user-generated ol li:before {
      counter-increment: list-counter;
      content: counter(list-counter);
      color: #3a467f; }

.user-generated .gform_button {
  margin-top: 0; }

.user-generated p:not(:last-child) {
  margin-bottom: 1.5rem; }

.user-generated h1, .user-generated h2, .user-generated h3, .user-generated h4, .user-generated h5, .user-generated h6 {
  color: #3a467f; }

.user-generated h1, .user-generated h2 {
  margin-bottom: 1rem;
  font-size: calc(3.6rem + (40 - 36) * ((100vw - 361px ) / (1250 - 361) )); }
  @media all and (min-width: 1250px) {
    .user-generated h1, .user-generated h2 {
      font-size: 4rem; } }

.user-generated h3 {
  font-size: calc(3.2rem + (36 - 32) * ((100vw - 361px ) / (1250 - 361) )); }
  @media all and (min-width: 1250px) {
    .user-generated h3 {
      font-size: 3.6rem; } }

.user-generated h4 {
  font-size: calc(2.8rem + (32 - 28) * ((100vw - 361px ) / (1250 - 361) )); }
  @media all and (min-width: 1250px) {
    .user-generated h4 {
      font-size: 3.2rem; } }

.user-generated h5 {
  font-size: calc(2.4rem + (28 - 24) * ((100vw - 361px ) / (1250 - 361) )); }
  @media all and (min-width: 1250px) {
    .user-generated h5 {
      font-size: 2.8rem; } }

.user-generated h6 {
  font-size: calc(2rem + (24 - 20) * ((100vw - 361px ) / (1250 - 361) )); }
  @media all and (min-width: 1250px) {
    .user-generated h6 {
      font-size: 2.4rem; } }

.col-group .col-half {
  margin-bottom: 4.7rem; }

@media all and (min-width: 769px) {
  .col-group {
    font-size: 0;
    margin-left: -4.7rem; }
    .col-group .col-half {
      width: calc(50% - 4.7rem);
      display: inline-block;
      vertical-align: top;
      margin: 0 0 4.7rem 4.7rem;
      font-size: 1.6rem; } }

.pagination-section {
  text-align: center; }
  .pagination-section .page-link {
    display: inline-block;
    vertical-align: bottom;
    margin: 0 1.5rem;
    font-size: 1.7rem; }
    .pagination-section .page-link.current {
      margin: 0;
      color: #3a467f; }
    .pagination-section .page-link a {
      border-bottom: 0.1rem solid transparent;
      transition: border-bottom-color 0.2s ease-in-out; }
      .pagination-section .page-link a:hover, .pagination-section .page-link a:focus {
        border-bottom-color: #87bd26; }
  .pagination-section .page-link, .pagination-section .page-number, .pagination-section .next, .pagination-section .prev {
    color: #1b1d2f; }

.accordion-trigger {
  margin-left: 2rem;
  border-bottom: 0.1rem solid transparent;
  transition: border-bottom-color 0.2s ease-in-out; }
  .accordion-trigger:hover, .accordion-trigger:focus {
    border-bottom-color: #3a467f; }
  .accordion-trigger .svg-inline--fa {
    font-size: 2.5rem;
    transition: transform 0.2s ease-in-out;
    color: #3a467f; }
  .accordion-trigger.open .svg-inline--fa {
    transform: rotateX(180deg); }

@media all and (max-width: 1000px) {
  .accordion {
    display: none; } }

.logo-link {
  display: inline-block;
  vertical-align: middle; }
  .logo-link .logo {
    max-width: 11rem; }

.logo-text {
  color: #000;
  font-weight: 700; }
  .logo-text .site-name {
    display: block;
    margin-bottom: 1.2rem;
    font-size: 2.6rem;
    transition: font-size .2s ease-in-out, margin-bottom .2s ease-in-out; }
  .logo-text .site-tagline {
    font-size: 1.5rem; }

.contact-info .contact-label {
  color: #3a467f;
  font-weight: 700; }

.contact-info a {
  color: #1b1d2f;
  border-bottom: 0.1rem solid transparent;
  transition: border-bottom-color 0.2s ease-in-out; }
  .contact-info a:hover, .contact-info a:focus {
    border-bottom-color: #1b1d2f; }

.video-container {
  height: 0;
  position: relative;
  padding-top: 25px;
  padding-bottom: 56.25%; }
  .video-container iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }

[style*='background-image'] {
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat; }

html body #wpadminbar {
  max-width: 100%;
  width: 3.3rem;
  min-width: 0;
  top: auto;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.6);
  border-top-right-radius: 1rem;
  overflow: hidden;
  transition: width 0.3s ease-in-out, background-color 0.3s ease-in-out; }
  html body #wpadminbar:hover {
    width: 50rem;
    background-color: rgba(0, 0, 0, 0.8); }
  html body #wpadminbar a {
    transition: color 0.3s ease-in-out; }
  @media screen and (max-width: 600px), screen and (max-width: 782px) {
    html body #wpadminbar {
      min-width: 0;
      height: 38px;
      position: fixed;
      font-size: 13px; }
      html body #wpadminbar:hover {
        width: 13rem; }
      html body #wpadminbar #wp-admin-bar-site-name a.ab-item:before {
        width: 33px;
        margin: 0 auto;
        font-size: 1.75rem; } }

.alignnone {
  margin: 5px 20px 20px 0; }

.aligncenter, div.aligncenter {
  display: block;
  margin: 5px auto 5px auto; }

.alignright {
  float: right;
  margin: 5px 0 20px 20px; }

.alignleft {
  float: left;
  margin: 5px 20px 20px 0; }

a img.alignright {
  float: right;
  margin: 5px 0 20px 20px; }

a img.alignnone {
  margin: 5px 20px 20px 0; }

a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0; }

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto; }

form ::-webkit-input-placeholder {
  color: #1b1d2f; }

form ::-moz-placeholder {
  color: #1b1d2f; }

form :-ms-input-placeholder {
  color: #1b1d2f; }

input, textarea, select, button {
  outline: none;
  border-radius: 0;
  font: inherit;
  color: #1b1d2f; }

select {
  cursor: pointer; }

input:not([type="submit"]), textarea, select {
  padding: 0.5rem 0.8rem;
  border: 2px solid #9d9d9c;
  box-shadow: 0 0px 0 0 #9d9d9c inset;
  font-size: 1.5rem;
  transition: box-shadow 0.2s ease, border-color 0.2s ease; }

input:not([type="submit"]), textarea, select, .gfield_radio, .gfield_checkbox {
  margin-bottom: 1.3rem; }

input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number], input [type=submit] {
  width: 100%;
  -webkit-appearance: none; }

input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number] {
  line-height: 3rem; }

input[type=text]:hover, input[type=text]:focus, input[type=email]:hover, input[type=email]:focus, input[type=tel]:hover, input[type=tel]:focus, input[type=password]:hover, input[type=password]:focus, input[type=number]:hover, input[type=number]:focus, textarea:hover, textarea:focus {
  box-shadow: 0 -4px 0 0 #9d9d9c inset; }

input[type=text].highlight-error, input[type=email].highlight-error, input[type=tel].highlight-error, input[type=password].highlight-error, input[type=number].highlight-error, textarea.highlight-error {
  border-color: #790b0f; }
  input[type=text].highlight-error:hover, input[type=text].highlight-error:focus, input[type=email].highlight-error:hover, input[type=email].highlight-error:focus, input[type=tel].highlight-error:hover, input[type=tel].highlight-error:focus, input[type=password].highlight-error:hover, input[type=password].highlight-error:focus, input[type=number].highlight-error:hover, input[type=number].highlight-error:focus, textarea.highlight-error:hover, textarea.highlight-error:focus {
    box-shadow: 0 -4px 0 0 #790b0f inset; }

input[type=radio], input[type=checkbox] {
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
  clip: rect(1px 1px 1px 1px); }
  input[type=radio]:checked + label:before, input[type=checkbox]:checked + label:before {
    box-shadow: 0 0 0 3px #fff inset;
    background-color: #3a467f; }
  input[type=radio] + label, input[type=checkbox] + label {
    cursor: pointer; }
    input[type=radio] + label:before, input[type=checkbox] + label:before {
      content: '';
      width: 15px;
      height: 15px;
      margin-right: 0.5rem;
      border: 2px solid #3a467f;
      transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
      background-color: #fff;
      display: inline-block;
      vertical-align: middle; }

input[type=radio] + label:before {
  border-radius: 50%; }

input[type='submit'] {
  min-width: 120px;
  display: inline-block;
  position: relative;
  margin-top: 2.4rem;
  padding: 0 1.4rem;
  line-height: 3.5rem;
  text-align: center;
  font-size: 2rem;
  white-space: nowrap;
  border: 1px solid #3a467f;
  cursor: pointer;
  z-index: 1;
  transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
  color: #fff;
  background-color: #3a467f;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  color: #1b1d2f;
  background-color: transparent; }
  input[type='submit']:hover, input[type='submit']:focus {
    color: #1b1d2f;
    background-color: transparent; }
  input[type='submit']:hover, input[type='submit']:focus {
    color: #fff;
    background-color: #3a467f; }

textarea, select {
  -webkit-appearance: none; }

textarea {
  width: 100%;
  height: 9rem; }

button {
  border: none;
  padding: 0;
  background-color: transparent;
  cursor: pointer; }

.gform_validation_container, .gform_required_legend {
  display: none; }

.validation_error, .validation_message {
  margin-top: -1rem;
  margin-bottom: 1rem;
  font-size: 1.5rem;
  color: #790b0f; }

.validation_error {
  margin-bottom: 0.5rem; }

.gform_submission_error {
  display: flex;
  align-items: center;
  color: #790b0f;
  margin-bottom: 2rem; }
  .gform_submission_error .gform-icon {
    margin-right: 1rem; }

.gfield_visibility_hidden {
  display: none; }

.gfield.agreement {
  margin-top: 1rem;
  margin-bottom: 1.5rem; }

.gform_footer {
  margin-top: 2rem; }

.custom-drop-down-container {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  .custom-drop-down-container select, .custom-drop-down-container .custom-drop-down-selected, .custom-drop-down-container .custom-drop-down-options {
    padding: 1rem;
    border: 0.1rem solid #9d9d9c;
    line-height: 1.8rem; }
  .custom-drop-down-container select, .custom-drop-down-container .custom-drop-down-options {
    transition: border-color 0.2s ease-in-out; }
  .custom-drop-down-container select, .custom-drop-down-container .custom-drop-down {
    width: 100%;
    position: relative;
    line-height: 1.5rem;
    background-color: #fff;
    color: #1b1d2f; }
    .custom-drop-down-container select:hover, .custom-drop-down-container select:hover .custom-drop-down-selected, .custom-drop-down-container select:hover .custom-drop-down-options, .custom-drop-down-container select.open, .custom-drop-down-container select.open .custom-drop-down-selected, .custom-drop-down-container select.open .custom-drop-down-options, .custom-drop-down-container select.just-closed, .custom-drop-down-container select.just-closed .custom-drop-down-selected, .custom-drop-down-container select.just-closed .custom-drop-down-options, .custom-drop-down-container .custom-drop-down:hover, .custom-drop-down-container .custom-drop-down:hover .custom-drop-down-selected, .custom-drop-down-container .custom-drop-down:hover .custom-drop-down-options, .custom-drop-down-container .custom-drop-down.open, .custom-drop-down-container .custom-drop-down.open .custom-drop-down-selected, .custom-drop-down-container .custom-drop-down.open .custom-drop-down-options, .custom-drop-down-container .custom-drop-down.just-closed, .custom-drop-down-container .custom-drop-down.just-closed .custom-drop-down-selected, .custom-drop-down-container .custom-drop-down.just-closed .custom-drop-down-options {
      border-color: #3a467f; }
  .custom-drop-down-container .custom-drop-down {
    display: none;
    cursor: pointer;
    font-size: 1.4rem;
    color: #1b1d2f; }
    .custom-drop-down-container .custom-drop-down:hover .custom-drop-down-selected, .custom-drop-down-container .custom-drop-down.open .custom-drop-down-selected, .custom-drop-down-container .custom-drop-down.just-closed .custom-drop-down-selected {
      background-color: #e6e6e6; }
    .custom-drop-down-container .custom-drop-down .custom-drop-down-selected {
      transition: border-color 0.2s ease-in-out, background-color 0.2s ease-in-out; }
    .custom-drop-down-container .custom-drop-down.arrow-change .custom-drop-down-selected svg {
      transform: translateY(-50%) rotateX(180deg); }
  .custom-drop-down-container .custom-drop-down-selected {
    position: relative;
    background-color: #fff; }
    .custom-drop-down-container .custom-drop-down-selected:after {
      content: '\f078';
      display: none;
      font-family: "Font Awesome 5 Solid";
      text-rendering: auto;
      -webkit-font-smoothing: antialiased; }
    .custom-drop-down-container .custom-drop-down-selected svg {
      display: block;
      position: absolute;
      top: 50%;
      right: 1rem;
      transform: translateY(-50%) rotateX(0deg);
      transition: transform 0.2s ease-in-out; }
    .custom-drop-down-container .custom-drop-down-selected:hover svg {
      transform: translateY(-50%) rotateX(180deg); }
  .custom-drop-down-container .custom-drop-down-options {
    width: 100%;
    display: none;
    position: absolute;
    top: calc(100% - 0.1rem);
    left: 0;
    padding-top: 0;
    z-index: 2;
    border-top: none;
    background-color: #e6e6e6; }
  .custom-drop-down-container .custom-drop-down-option {
    padding: 0.6rem 0; }
  @media all and (min-width: 769px) {
    .custom-drop-down-container select {
      display: none; }
    .custom-drop-down-container .custom-drop-down {
      display: block; } }

body.menu-open {
  overflow: hidden; }

#site-header {
  width: 100%;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 50;
  box-shadow: 0 -0.4rem 1.3rem 0 #1b1d2f;
  background-color: #fff;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  @media all and (min-width: 769px) {
    .scrolled #site-header .logo-text .site-name {
      font-size: 2.2rem;
      margin-bottom: 0.2rem; } }
  #site-header .header-row.main {
    padding: 0.8rem 0;
    font-size: 0; }
  #site-header .logo-container {
    width: calc(100% - 5rem);
    display: inline-block;
    vertical-align: middle;
    margin: 0;
    font-size: 0;
    text-align: left;
    padding-right: 2rem; }
    #site-header .logo-container .logo {
      margin-right: 2rem; }
  #site-header .logo-link {
    display: flex;
    align-items: center; }
  #site-header .header-information {
    width: 5rem;
    display: inline-block;
    vertical-align: middle;
    margin: 0;
    font-size: 1.6rem; }
  #site-header .site-name {
    font-weight: 700; }
  @media all and (min-width: 769px) {
    #site-header .logo-container {
      width: calc(100% - 5rem); } }
  @media all and (min-width: 1001px) {
    #site-header .logo-container {
      width: calc(100% - 40rem); }
    #site-header .header-information {
      width: 40rem; } }
  #site-header .header-information {
    text-align: right; }
  #site-header .contact-info, #site-header .social-media {
    display: none; }
  #site-header .contact-info {
    display: none;
    font-size: 1.8rem; }
  #site-header .social-media {
    margin-left: 1.3rem;
    padding-left: 1rem; }
  #site-header .menu-toggle {
    display: inline-block;
    vertical-align: middle;
    position: relative;
    width: 5rem;
    height: 4rem; }
    #site-header .menu-toggle .line {
      width: 100%;
      height: 0.2rem;
      position: absolute;
      left: 0;
      transform-origin: left top;
      transition: width 0.2s ease-in-out, transform 0.2s ease-in-out, opacity 0.15s ease-in-out;
      background-color: #1b1d2f; }
    #site-header .menu-toggle .top {
      top: 0; }
    #site-header .menu-toggle .middle {
      top: 50%;
      transform: translateY(-50%);
      transform-origin: center; }
    #site-header .menu-toggle .bottom {
      bottom: 0; }
    .menu-open #site-header .menu-toggle .line {
      width: 5.6rem; }
    .menu-open #site-header .menu-toggle .top {
      transform: rotateZ(45deg) translateY(-50%); }
    .menu-open #site-header .menu-toggle .middle {
      transform: translateY(-50%) rotateZ(90deg) scale(0.3);
      opacity: 0; }
    .menu-open #site-header .menu-toggle .bottom {
      transform: rotateZ(-45deg) translateY(50%); }
  @media all and (min-width: 1001px) {
    #site-header .contact-info, #site-header .social-media {
      display: inline-block;
      vertical-align: middle; }
    #site-header .menu-toggle {
      display: none; } }
  #site-header .primary-menu {
    display: none;
    border-top: 0.2rem solid #e5e5ed; }
    @media all and (min-width: 1001px) {
      #site-header .primary-menu {
        display: block; } }
    #site-header .primary-menu .menu-items-container {
      width: 100%;
      display: flex;
      justify-content: space-between; }
    #site-header .primary-menu .current-menu-item > .menu-item-label {
      color: #3a467f; }
    #site-header .primary-menu .top-level {
      display: inline-flex;
      position: relative;
      cursor: pointer; }
      #site-header .primary-menu .top-level:hover .menu-item-label:before {
        opacity: 1; }
      #site-header .primary-menu .top-level:hover .sub-menu-toggle {
        transform: rotateZ(180deg); }
      #site-header .primary-menu .top-level .menu-item-label:focus:before {
        opacity: 1; }
      #site-header .primary-menu .top-level .menu-item-label:focus .sub-menu-toggle {
        transform: rotateZ(180deg); }
      #site-header .primary-menu .top-level .sub-menu-toggle {
        margin-left: 1rem; }
      #site-header .primary-menu .top-level > .menu-item-label:before {
        content: '';
        width: 100%;
        height: 0.2rem;
        position: absolute;
        bottom: 100%;
        opacity: 0;
        transition: opacity 0.2s ease-in-out;
        background-color: #e5e5ed; }
    #site-header .primary-menu .menu-item-label {
      display: block;
      line-height: 3.9rem;
      transition: color .2s ease-in-out;
      color: #1b1d2f; }
      #site-header .primary-menu .menu-item-label:hover, #site-header .primary-menu .menu-item-label:focus {
        color: #3a467f; }
    #site-header .primary-menu .sub-menu-toggle {
      padding: 0 0.3rem;
      font-size: 1.8rem;
      line-height: 3.9rem;
      transition: transform 0.2s ease-in-out, color 0.2s ease-in-out;
      transform-origin: center center;
      display: inline-block;
      vertical-align: middle; }
      #site-header .primary-menu .sub-menu-toggle:hover, #site-header .primary-menu .sub-menu-toggle:focus {
        transform: rotate(180deg); }
      #site-header .primary-menu .sub-menu-toggle:focus {
        color: #3a467f; }
    #site-header .primary-menu .sub-menu {
      width: 100%;
      display: none;
      position: absolute;
      top: 3.9rem;
      left: 0;
      background-color: #fff;
      padding: .5rem 0; }
      #site-header .primary-menu .sub-menu .menu-item {
        padding: .5rem 1rem; }
      #site-header .primary-menu .sub-menu .menu-item-label {
        line-height: 1.4; }
        #site-header .primary-menu .sub-menu .menu-item-label:hover, #site-header .primary-menu .sub-menu .menu-item-label:focus {
          color: #3a467f; }

#mobile-menu {
  width: 100%;
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 40;
  overflow-y: scroll;
  text-align: center;
  padding: 4.7rem 3rem;
  background-color: #fff; }
  #mobile-menu .menu-container {
    margin-bottom: 4.7rem;
    font-size: calc(2rem + (25 - 20) * ((100vw - 361px ) / (1250 - 361) )); }
    @media all and (min-width: 1250px) {
      #mobile-menu .menu-container {
        font-size: 2.5rem; } }
  #mobile-menu .sub-menu-toggle, #mobile-menu .menu-item a {
    transition: color 0.2s ease-in-out;
    color: #1b1d2f; }
    #mobile-menu .sub-menu-toggle:hover, #mobile-menu .sub-menu-toggle:focus, #mobile-menu .menu-item a:hover, #mobile-menu .menu-item a:focus {
      color: #3a467f; }
  #mobile-menu .menu-item-label {
    display: inline-block;
    margin-bottom: 0.8rem; }
  #mobile-menu .sub-menu .menu-item:last-child .menu-item-label {
    margin-bottom: 1.6rem; }
  #mobile-menu .sub-menu {
    display: none; }
  #mobile-menu .contact-info {
    margin-bottom: 2rem; }

#site-footer, #site-cred, #cookie-policy {
  text-align: center;
  background-color: #fff; }
  @media all and (min-width: 769px) {
    #site-footer, #site-cred, #cookie-policy {
      text-align: left; } }

#site-cred, #cookie-policy {
  font-size: 1.2rem; }
  @media all and (min-width: 769px) {
    #site-cred, #cookie-policy {
      font-size: 1.4rem; } }

#site-footer {
  padding: 1.4rem 0;
  margin-top: 7rem;
  border-top: 1px solid #9d9d9c; }
  #site-footer .footer-quarter {
    margin-top: 2rem; }
  #site-footer .image-container {
    display: flex;
    justify-content: center;
    align-items: center; }
  #site-footer .logo-container {
    max-width: 20rem;
    display: inline-block;
    vertical-align: middle; }
    #site-footer .logo-container:not(:last-child) {
      margin-right: 2rem; }
  #site-footer .logo + .logo-text {
    display: none; }
  #site-footer .ugle-logo {
    max-width: 13rem; }
  #site-footer .contact-label {
    color: #1b1d2f; }
  #site-footer .contact-container .contact-info:not(:last-child) {
    margin-bottom: 1rem; }
  @media all and (min-width: 769px) {
    #site-footer .content-container {
      display: flex;
      align-items: center; }
    #site-footer .image-container {
      margin-right: 4.7rem; } }

#site-cred {
  padding: 1.7rem 0;
  color: #fff;
  background-color: #5f5f5f; }
  #site-cred .site-cred-text {
    margin-right: 2rem;
    display: inline-block;
    vertical-align: baseline; }
  #site-cred .madison-logo {
    width: 13rem;
    display: inline-block;
    vertical-align: middle; }
  @media all and (min-width: 1001px) {
    #site-cred {
      text-align: right; } }

#cookie-policy {
  padding: 1rem 0; }
  #cookie-policy span {
    margin-right: 10px; }
  #cookie-policy .close {
    display: table;
    margin: 0.5rem auto 0;
    font-size: 1.4rem;
    line-height: 3rem; }
    @media all and (min-width: 769px) {
      #cookie-policy .close {
        margin: 0.5rem 0 0; } }
    @media all and (min-width: 1001px) {
      #cookie-policy .close {
        display: inline-block; } }

.page-section.link-blocks {
  margin-top: 2rem; }
  .page-section.link-blocks .block-link {
    min-height: 14vw; }
    .page-section.link-blocks .block-link:after {
      background-color: #1b1d2f; }
    .page-section.link-blocks .block-link:hover:after, .page-section.link-blocks .block-link:focus:after {
      background-color: #3a467f; }
  .page-section.link-blocks .block-heading {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    text-align: center;
    padding: 0 1rem;
    z-index: 1;
    font-size: calc(3rem + (35 - 30) * ((100vw - 361px ) / (1250 - 361) ));
    font-family: 'Open Sans', sans-serif; }
    @media all and (min-width: 1250px) {
      .page-section.link-blocks .block-heading {
        font-size: 3.5rem; } }
  @media all and (max-width: 500px) {
    .page-section.link-blocks .block-link {
      display: block; } }
  @media all and (min-width: 501px) {
    .page-section.link-blocks {
      margin-top: 5.5rem; } }

.page-section.image-banner {
  margin: 2rem auto; }
  .page-section.image-banner .image {
    display: block;
    margin: 0 auto; }
  @media all and (min-width: 769px) {
    .page-section.image-banner {
      margin: 4.7rem auto; } }

.page-section.slideshow {
  position: relative;
  height: 71.5rem;
  min-height: 44rem;
  margin-bottom: 5rem; }
  .page-section.slideshow .slides {
    height: 100%;
    position: relative;
    overflow: hidden; }
  .page-section.slideshow .slide {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }
    .page-section.slideshow .slide:before {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      opacity: .5;
      background-color: #1b1d2f; }
    .page-section.slideshow .slide.js-unset {
      left: 100%; }
  .page-section.slideshow .slide-content {
    width: 67rem;
    max-width: 80vw;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: #fff; }
  .page-section.slideshow .heading, .page-section.slideshow .text {
    padding: 0 .5rem; }
  .page-section.slideshow .heading {
    margin-bottom: 2.5rem;
    font-family: 'freight', serif;
    font-size: calc(3.5rem + (64 - 35) * ((100vw - 361px ) / (1250 - 361) )); }
    @media all and (min-width: 1250px) {
      .page-section.slideshow .heading {
        font-size: 6.4rem; } }
  .page-section.slideshow .text {
    margin-bottom: 1.2rem;
    font-size: calc(1.8rem + (22 - 18) * ((100vw - 361px ) / (1250 - 361) )); }
    @media all and (min-width: 1250px) {
      .page-section.slideshow .text {
        font-size: 2.2rem; } }
  .page-section.slideshow .button {
    color: #fff; }
  .page-section.slideshow .slide-arrow, .page-section.slideshow .slideshow-nav {
    position: absolute;
    bottom: 2rem; }
  .page-section.slideshow .slide-arrow {
    width: 4.2rem;
    line-height: 4.2rem;
    text-align: center;
    border: 2px solid #fff;
    transition: background-color 0.2s ease-in-out;
    color: #fff; }
    .page-section.slideshow .slide-arrow:hover {
      background-color: rgba(255, 255, 255, 0.35); }
    .page-section.slideshow .slide-arrow svg {
      display: inline-block;
      vertical-align: middle;
      font-size: 3rem; }
  .page-section.slideshow .prev {
    left: 1rem; }
  .page-section.slideshow .next {
    right: 1rem; }
  @media all and (min-width: 769px) {
    .page-section.slideshow .slide-arrow {
      bottom: 50%;
      transform: translateY(50%); }
    .page-section.slideshow .prev {
      left: 2rem; }
    .page-section.slideshow .next {
      right: 2rem; } }
  .page-section.slideshow .slideshow-nav {
    left: 50%;
    transform: translateX(-50%); }
  .page-section.slideshow .pip {
    width: 1.8rem;
    height: 1.8rem;
    display: inline-block;
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid #fff;
    transition: background-color 0.2s ease-in-out;
    background-color: transparent; }
    .page-section.slideshow .pip:not(:first-child) {
      margin-left: 0.5rem; }
    .page-section.slideshow .pip.current {
      pointer-events: none;
      background-color: #fff; }
    .page-section.slideshow .pip:not(.current):hover {
      background-color: rgba(255, 255, 255, 0.5); }

.page-section.contact-form {
  text-align: center;
  margin-top: 2rem; }
  .page-section.contact-form .content-container {
    padding-top: 2.5rem;
    border-top: 2px solid #3a467f; }
  .page-section.contact-form .heading {
    margin-bottom: 3rem;
    font-size: calc(3.5rem + (45 - 35) * ((100vw - 361px ) / (1250 - 361) )); }
    @media all and (min-width: 1250px) {
      .page-section.contact-form .heading {
        font-size: 4.5rem; } }
  .page-section.contact-form .copy-container {
    margin-bottom: 3rem; }
  @media all and (min-width: 1001px) {
    .page-section.contact-form {
      text-align: left;
      margin-top: 4.7rem; }
      .page-section.contact-form .inner {
        font-size: 0; }
      .page-section.contact-form .content-container {
        padding-top: 5rem; }
      .page-section.contact-form .copy-container, .page-section.contact-form .form-container {
        width: 50%;
        display: inline-block;
        vertical-align: top;
        margin: 0;
        font-size: 1.6rem; }
      .page-section.contact-form .copy-container {
        padding-right: 11vw; }
        .page-sections .page-section.contact-form .copy-container {
          padding-right: 6vw; }
      .page-section.contact-form .heading {
        margin-top: -1.3rem; } }

.page-section.standard-content {
  margin-bottom: 2rem; }
  .page-section.standard-content .image-caption {
    font-size: 1.5rem; }
  .page-section.standard-content .image-container {
    margin-top: 2rem; }
  @media all and (min-width: 1001px) {
    .page-section.standard-content.has-image {
      font-size: 0; }
      .page-section.standard-content.has-image .user-generated {
        width: 66.66%;
        display: inline-block;
        vertical-align: top;
        margin: 0;
        font-size: 1.6rem; }
      .page-section.standard-content.has-image .image-container {
        text-align: right;
        padding-left: 3rem;
        width: 33.33%;
        display: inline-block;
        vertical-align: top;
        margin: 0;
        font-size: 1.6rem; }
    .page-section.standard-content:not(.has-image) .user-generated {
      width: 70%;
      margin: 0 auto; } }

.heading-banner {
  margin-bottom: 5rem;
  position: relative;
  background-position: bottom;
  text-align: center;
  color: #fff;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  .heading-banner:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0.6;
    background-color: #1b1d2f; }
  .heading-banner .image-container {
    max-height: 60vh; }
    .heading-banner .image-container img {
      max-height: 100%;
      display: block;
      margin: 0 auto; }
  .heading-banner .title {
    padding: 3rem 0;
    position: relative;
    font-size: calc(4rem + (60 - 40) * ((100vw - 361px ) / (1250 - 361) )); }
    @media all and (min-width: 1250px) {
      .heading-banner .title {
        font-size: 6rem; } }
    .single-post .heading-banner .title {
      font-size: calc(3rem + (50 - 30) * ((100vw - 361px ) / (1250 - 361) )); }
      @media all and (min-width: 1250px) {
        .single-post .heading-banner .title {
          font-size: 5rem; } }
  @media all and (min-width: 769px) {
    .heading-banner {
      margin-bottom: 7rem; } }
  @media all and (min-width: 1001px) {
    .heading-banner .image-container {
      height: clamp(40rem, 60vh, 100rem); } }

.teasers-container {
  text-align: center; }
  .teasers-container .teaser-container {
    display: block;
    margin-bottom: 2rem; }
    .teasers-container .teaser-container:hover:after, .teasers-container .teaser-container:hover .image-container:after, .teasers-container .teaser-container:focus:after, .teasers-container .teaser-container:focus .image-container:after {
      background-color: #3a467f; }
  .teasers-container .image-container {
    display: block;
    position: relative; }
    .teasers-container .image-container:after {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      opacity: 0.6;
      transition: background-color 0.2s ease-in-out;
      background-color: #1b1d2f; }
  @media all and (min-width: 501px) {
    .teasers-container {
      font-size: 0;
      margin-left: -4.7rem; }
      .teasers-container .teaser-container {
        width: calc(50% - 4.7rem);
        display: inline-block;
        vertical-align: top;
        margin: 0 0 4.7rem 4.7rem;
        font-size: 1.6rem; } }
  @media all and (min-width: 1001px) {
    .teasers-container .teaser-container {
      width: calc(33.33% - 4.7rem); } }
  @media all and (min-width: 1201px) {
    .teasers-container .teaser-container {
      width: calc(25% - 4.7rem); } }

.page-section.latest-news, .page-section.charity-news, .blog #page-content, .archive #page-content {
  margin-top: 3rem; }
  .page-section.latest-news .heading, .page-section.charity-news .heading, .blog #page-content .heading, .archive #page-content .heading {
    margin-bottom: 3rem;
    color: #1b1d2f;
    font-family: 'freight', serif;
    font-size: calc(3.5rem + (45 - 35) * ((100vw - 361px ) / (1250 - 361) )); }
    @media all and (min-width: 1250px) {
      .page-section.latest-news .heading, .page-section.charity-news .heading, .blog #page-content .heading, .archive #page-content .heading {
        font-size: 4.5rem; } }
  .page-section.latest-news .teaser-container, .page-section.charity-news .teaser-container, .blog #page-content .teaser-container, .archive #page-content .teaser-container {
    color: #1b1d2f; }
    .page-section.latest-news .teaser-container:hover .button, .page-section.charity-news .teaser-container:hover .button, .blog #page-content .teaser-container:hover .button, .archive #page-content .teaser-container:hover .button {
      color: #fff;
      background-color: #3a467f; }
  .page-section.latest-news .post-image, .page-section.charity-news .post-image, .blog #page-content .post-image, .archive #page-content .post-image {
    display: block; }
  .page-section.latest-news .post-content, .page-section.charity-news .post-content, .blog #page-content .post-content, .archive #page-content .post-content {
    position: relative;
    padding: 0 2rem; }
  .page-section.latest-news .post-date, .page-section.charity-news .post-date, .blog #page-content .post-date, .archive #page-content .post-date {
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    padding: 0 2rem;
    font-size: 1.8rem;
    line-height: 4rem;
    font-weight: 700;
    background-color: #fff; }
  .page-section.latest-news .post-title, .page-section.charity-news .post-title, .blog #page-content .post-title, .archive #page-content .post-title {
    margin: 1.5rem auto 1rem;
    font-size: 2.8rem;
    text-align: center;
    font-weight: 700; }
  .page-section.latest-news .text-link, .page-section.charity-news .text-link, .blog #page-content .text-link, .archive #page-content .text-link {
    border-bottom: 0.1rem solid transparent;
    transition: border-bottom-color 0.2s ease-in-out; }
    .page-section.latest-news .text-link:hover, .page-section.latest-news .text-link:focus, .page-section.charity-news .text-link:hover, .page-section.charity-news .text-link:focus, .blog #page-content .text-link:hover, .blog #page-content .text-link:focus, .archive #page-content .text-link:hover, .archive #page-content .text-link:focus {
      border-bottom-color: #1b1d2f; }
  .page-section.latest-news .post-excerpt-container, .page-section.charity-news .post-excerpt-container, .blog #page-content .post-excerpt-container, .archive #page-content .post-excerpt-container {
    font-size: 0; }
    .page-section.latest-news .post-excerpt-container:before, .page-section.charity-news .post-excerpt-container:before, .blog #page-content .post-excerpt-container:before, .archive #page-content .post-excerpt-container:before {
      content: '';
      width: 0;
      height: 100%;
      display: inline-block;
      vertical-align: middle; }
  .page-section.latest-news .post-excerpt, .page-section.charity-news .post-excerpt, .blog #page-content .post-excerpt, .archive #page-content .post-excerpt {
    font-size: 1.6rem;
    display: inline-block;
    vertical-align: middle; }

#sidebar {
  padding-right: 1rem;
  border-bottom: 1px solid #9d9d9c;
  margin-bottom: 2rem;
  padding-bottom: 2rem; }
  #sidebar .small-heading, #sidebar .accordion-trigger {
    display: inline-block;
    vertical-align: middle; }
  #sidebar .post-listing, #sidebar .menu-item {
    margin-top: 1rem; }
  #sidebar .current-menu-item a {
    border-color: #3a467f; }
  #sidebar a {
    border-bottom: 0.1rem solid transparent;
    transition: border-bottom-color 0.2s ease-in-out; }
    #sidebar a:hover, #sidebar a:focus {
      border-bottom-color: #3a467f; }
  @media all and (min-width: 1001px) {
    #sidebar {
      border-right: 1px solid #9d9d9c;
      border-bottom: none;
      margin-bottom: 0;
      padding-bottom: 0; }
      #sidebar .accordion-trigger {
        display: none; } }

.page-with-sidebar .page-section > .inner {
  padding: 0; }

@media all and (min-width: 1001px) {
  .page-with-sidebar #page-content {
    font-size: 0; }
  .page-with-sidebar #sidebar {
    width: 21rem;
    display: inline-block;
    vertical-align: top;
    margin: 0;
    font-size: 1.6rem; }
  .page-with-sidebar #right-content {
    width: calc(100% - 21rem);
    display: inline-block;
    vertical-align: top;
    margin: 0;
    font-size: 1.6rem;
    padding-left: 4.7rem; } }

body.member-page #right-content .mid-heading {
  margin-bottom: 2rem;
  color: #3a467f; }

body.member-page #right-content .instruction {
  margin-bottom: 3rem; }

body.member-page #right-content .password-hint, body.member-page #right-content .error, body.member-page #right-content .success {
  font-size: 1.4rem; }

body.member-page #right-content .error, body.member-page #right-content .success, body.member-page #right-content .col-half {
  margin-bottom: 1rem; }

body.member-page #right-content .success.tick {
  margin-left: 1rem; }

body.member-page #right-content .error a {
  color: #1b1d2f;
  border-bottom: 0.1rem solid transparent;
  transition: border-bottom-color 0.2s ease-in-out; }
  body.member-page #right-content .error a:hover, body.member-page #right-content .error a:focus {
    border-bottom-color: #790b0f; }

body.member-page #right-content .checkbox-container {
  margin-bottom: 0.5rem; }

body.member-page #right-content .button {
  margin-top: 1rem; }

body.member-page #right-content label {
  position: relative;
  cursor: pointer; }

body.member-page #right-content .label span, body.member-page #right-content label span {
  min-width: 110px;
  display: inline-block;
  margin-bottom: 0.8rem;
  color: #3a467f;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  font-weight: 700; }

body.member-page #right-content input[type="checkbox"] {
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
  clip: rect(1px 1px 1px 1px); }
  body.member-page #right-content input[type="checkbox"]:checked + span:before {
    box-shadow: 0 0 0 3px #fff inset;
    background-color: #3a467f; }
  body.member-page #right-content input[type="checkbox"] + span {
    color: #1b1d2f; }
    body.member-page #right-content input[type="checkbox"] + span:before {
      content: '';
      width: 15px;
      height: 15px;
      margin-right: 0.5rem;
      border: 2px solid #3a467f;
      background-color: #fff;
      transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
      display: inline-block;
      vertical-align: middle; }

body.member-page #right-content .login-remember span {
  font-size: 1.4rem;
  font-weight: 400; }

body.member-page #right-content .forgot-password {
  margin-top: 3rem; }
  body.member-page #right-content .forgot-password a {
    border-bottom: 0.1rem solid transparent;
    transition: border-bottom-color 0.2s ease-in-out; }
    body.member-page #right-content .forgot-password a:hover, body.member-page #right-content .forgot-password a:focus {
      border-bottom-color: #3a467f; }

body.member-page #right-content .user-information {
  margin-bottom: 4rem;
  word-wrap: break-word;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  body.member-page #right-content .user-information label {
    cursor: default; }
  body.member-page #right-content .user-information .checkbox-container label {
    cursor: pointer; }
  body.member-page #right-content .user-information button {
    padding: 0 5px;
    font-size: 1.8rem;
    transition: color 0.2s ease-in-out, opacity 0.2s ease-in-out; }
    body.member-page #right-content .user-information button:not(.disabled):hover {
      color: #3a467f; }
  body.member-page #right-content .user-information .disabled {
    opacity: 0.5;
    cursor: not-allowed; }
  body.member-page #right-content .user-information .detail {
    display: block; }
  body.member-page #right-content .user-information .show-on-edit {
    display: none; }
  body.member-page #right-content .user-information textarea {
    min-height: 15rem;
    resize: vertical;
    white-space: pre-wrap; }
  body.member-page #right-content .user-information .working {
    display: none; }

.member-container .member {
  margin-bottom: 4.7rem; }

.member-container p {
  margin-top: 0.6rem; }

.member-container a {
  border-bottom: 0.1rem solid transparent;
  transition: border-bottom-color 0.2s ease-in-out;
  word-break: break-all; }
  .member-container a:hover, .member-container a:focus {
    border-bottom-color: #3a467f; }

@media all and (min-width: 769px) {
  .member-container {
    font-size: 0;
    margin-left: -4.7rem; }
    .member-container .member {
      width: calc(50% - 4.7rem);
      display: inline-block;
      vertical-align: top;
      margin: 0 0 4.7rem 4.7rem;
      font-size: 1.6rem; } }

@media all and (min-width: 1001px) {
  .member-container .member {
    width: calc(33.33% - 4.7rem); } }

.single-meeting #right-content .mid-heading {
  margin: 2rem 0 1rem;
  color: #3a467f; }

.single-meeting #right-content time {
  display: block;
  margin-bottom: 1rem;
  font-weight: 700; }

.single-meeting #right-content .public + .member {
  margin-top: 2rem; }

.single-meeting #right-content .text-link {
  border-bottom: 0.1rem solid transparent;
  transition: border-bottom-color 0.2s ease-in-out; }
  .single-meeting #right-content .text-link:hover, .single-meeting #right-content .text-link:focus {
    border-bottom-color: #3a467f; }

.single-meeting #right-content .gfield_radio li:not(:last-child) {
  margin-bottom: 0.5rem; }

.single-meeting #right-content label {
  font-size: 1.6rem; }

.error404 .no-content {
  text-align: center; }

/* Mixins to help generate the patterned legend at the bottom of the calendar */
#calendar .calendar-header {
  padding: 0 0 2.8rem;
  font-size: 0; }
  #calendar .calendar-header .page-title {
    margin-bottom: 2rem;
    font-size: calc(2.4rem + (30 - 24) * ((100vw - 361px ) / (1250 - 361) )); }
    @media all and (min-width: 1250px) {
      #calendar .calendar-header .page-title {
        font-size: 3rem; } }
  #calendar .calendar-header .no-meetings {
    font-size: calc(2.4rem + (26 - 24) * ((100vw - 361px ) / (1250 - 361) )); }
    @media all and (min-width: 1250px) {
      #calendar .calendar-header .no-meetings {
        font-size: 2.6rem; } }
  #calendar .calendar-header .page-filters {
    padding-bottom: 2rem; }
  #calendar .calendar-header .filter {
    margin-bottom: 1.5rem; }
    #calendar .calendar-header .filter.event-type {
      min-width: 15rem;
      border-bottom: 0.1rem solid #1b1d2f;
      padding-bottom: 1rem;
      margin-bottom: 2rem; }
    #calendar .calendar-header .filter.month, #calendar .calendar-header .filter.year {
      width: 50%;
      display: inline-block;
      vertical-align: top;
      margin: 0;
      font-size: 1.6rem; }
    #calendar .calendar-header .filter.month {
      padding-right: 1rem; }
    #calendar .calendar-header .filter.year {
      padding-left: 1rem; }
    #calendar .calendar-header .filter span {
      font-size: 1.6rem;
      display: block;
      margin-bottom: 1rem; }
  #calendar .calendar-header select {
    margin-bottom: 0; }
  #calendar .calendar-header .change-month-button {
    color: #3a467f; }
    #calendar .calendar-header .change-month-button:hover span {
      border-bottom-color: #3a467f; }
    #calendar .calendar-header .change-month-button span {
      border-bottom: 0.1rem solid transparent;
      transition: border-bottom-color 0.2s;
      display: inline-block;
      vertical-align: middle; }
    #calendar .calendar-header .change-month-button svg {
      font-size: 1.4rem;
      display: inline-block;
      vertical-align: middle; }
    #calendar .calendar-header .change-month-button .fa-chevron-left {
      margin-right: 0.3rem; }
    #calendar .calendar-header .change-month-button .fa-chevron-right {
      margin-left: 0.3rem; }
  #calendar .calendar-header .previous-month-button {
    margin-right: 5rem; }
  #calendar .calendar-header .go-button {
    width: 13rem;
    font-size: 1.6rem;
    min-width: 120px;
    display: inline-block;
    position: relative;
    margin-top: 2.4rem;
    padding: 0 1.4rem;
    line-height: 3.5rem;
    text-align: center;
    font-size: 2rem;
    white-space: nowrap;
    border: 1px solid #3a467f;
    cursor: pointer;
    z-index: 1;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
    color: #fff;
    background-color: #3a467f;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
    #calendar .calendar-header .go-button:hover, #calendar .calendar-header .go-button:focus {
      color: #1b1d2f;
      background-color: transparent; }
  #calendar .calendar-header .month-traversing-buttons {
    margin-top: 1.5rem;
    font-size: 0; }
    #calendar .calendar-header .month-traversing-buttons p {
      width: 50%;
      display: inline-block;
      vertical-align: top;
      margin: 0;
      font-size: 1.6rem; }
      #calendar .calendar-header .month-traversing-buttons p:last-child {
        text-align: right; }
  @media all and (min-width: 501px) and (max-width: 768px) {
    #calendar .calendar-header .filter.month, #calendar .calendar-header .filter.year {
      width: calc(50% - 2rem - ( 13rem / 2));
      display: inline-block;
      vertical-align: bottom;
      margin: 0 2rem 0 0;
      font-size: 1.6rem;
      padding: 0; } }
  @media all and (min-width: 769px) {
    #calendar .calendar-header .filter, #calendar .calendar-header .filter.month, #calendar .calendar-header .filter.year {
      width: calc(33% - 2rem - ( 13rem / 3));
      display: inline-block;
      vertical-align: bottom;
      margin: 0 2rem 0 0;
      font-size: 1.6rem;
      padding: 0; }
    #calendar .calendar-header .filter.event-type {
      border-bottom: 0;
      border-right: 0.1rem solid #1b1d2f;
      padding-bottom: 0;
      margin-bottom: 0;
      padding-right: 2rem; } }
  @media all and (min-width: 1001px) {
    #calendar .calendar-header .title-container, #calendar .calendar-header .page-filters {
      display: inline-block;
      vertical-align: bottom; }
    #calendar .calendar-header .title-container {
      width: 25%; }
    #calendar .calendar-header .page-filters {
      width: 75%; } }

#calendar .calendar {
  margin-bottom: 2.8rem;
  position: relative; }

#calendar .calendar-week-container.calendar-headings {
  display: none; }

#calendar .calendar-cell {
  padding: 1rem;
  border-bottom: 0.2rem solid #9d9d9c;
  transition: background-color 0.2s ease-in-out;
  font-size: 1.7rem;
  background-color: #fff; }
  #calendar .calendar-cell.has-event:not(.none-shown):hover {
    background-color: #e6e6e6; }
  #calendar .calendar-cell.weekend {
    background-image: url(../assets/0c15822cc8041eb09b83.png); }
  #calendar .calendar-cell.past {
    background-color: #e6e6e6; }
    #calendar .calendar-cell.past.has-event:not(.none-shown):hover {
      background-color: #e6e6e6; }
  #calendar .calendar-cell.out-of-focus {
    display: none;
    color: #1b1d2f; }
  #calendar .calendar-cell:not(.out-of-focus) .day-of-month {
    color: #3a467f; }

#calendar .day-of-month {
  font-weight: 700; }

#calendar .calendar-view {
  width: 100%;
  display: block;
  margin-top: 0.6rem;
  padding: 0 0.8rem;
  text-overflow: ellipsis;
  cursor: pointer; }

#calendar .cutoff-text {
  display: none; }

@media all and (min-width: 1001px) {
  #calendar .calendar-week-container {
    position: relative;
    padding-top: 10%;
    font-size: 0;
    margin-left: 0; }
    #calendar .calendar-week-container.calendar-headings {
      display: block;
      min-height: 3.8rem;
      padding-top: 2.85714%; }
      #calendar .calendar-week-container.calendar-headings .calendar-cell {
        border: none;
        background: none;
        padding: 0;
        color: #3a467f;
        font-weight: 700; }
    #calendar .calendar-week-container:not(.calendar-headings) {
      min-height: 12rem; }
    #calendar .calendar-week-container:last-child .calendar-cell {
      border-bottom: 0.2rem solid #9d9d9c; }
    #calendar .calendar-week-container:nth-child(2) .calendar-cell {
      border-top: solid 0.2rem #9d9d9c; }
  #calendar .calendar-cell {
    width: 14.28571%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    border-bottom: 0.1rem solid #9d9d9c;
    border-right: 0.1rem solid #9d9d9c;
    overflow: hidden; }
    #calendar .calendar-cell.day-1 {
      left: 0;
      border-left: solid 0.2rem #9d9d9c; }
    #calendar .calendar-cell.day-2 {
      left: 14.28571%; }
    #calendar .calendar-cell.day-3 {
      left: 28.57143%; }
    #calendar .calendar-cell.day-4 {
      left: 42.85714%; }
    #calendar .calendar-cell.day-5 {
      left: 57.14286%; }
    #calendar .calendar-cell.day-6 {
      left: 71.42857%; }
    #calendar .calendar-cell.day-7 {
      left: 85.71429%;
      border-right: solid 0.2rem #9d9d9c; }
    #calendar .calendar-cell.out-of-focus {
      display: block; }
  #calendar .day-of-month {
    position: absolute;
    top: 2rem;
    right: 2rem;
    z-index: 1;
    font-weight: 700;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
    #calendar .day-of-month .day {
      display: none; }
  #calendar .event-labels {
    position: absolute;
    left: 0.4rem;
    right: 0.4rem;
    bottom: 1.5rem; }
    #calendar .event-labels .inner {
      padding: 0; }
  #calendar .calendar-view {
    background-color: #1b1d2f;
    font-size: 1.4rem;
    color: #fff; }
    #calendar .calendar-view.term-9 {
      background-color: #3a467f; }
  #calendar .cutoff-text {
    display: block; }
  #calendar .full-title {
    display: none; } }

@media all and (min-width: 1201px) {
  #calendar .event-labels {
    left: 2rem;
    right: 2rem; } }

#calendar .date-overlay {
  width: 100%;
  height: 100%;
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 100;
  background-color: rgba(0, 0, 0, 0.4);
  text-align: center; }
  #calendar .date-overlay .content-container {
    width: 100%;
    max-width: 630px;
    max-height: 80%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    overflow: auto;
    padding: 4rem;
    background-color: #fff; }
  #calendar .date-overlay .close {
    position: absolute;
    top: 0;
    right: 1rem;
    font-size: 5rem;
    line-height: 1;
    font-weight: 100;
    cursor: pointer;
    color: #1b1d2f; }
  #calendar .date-overlay .overlay-view {
    text-align: left; }
    #calendar .date-overlay .overlay-view ~ .overlay-view {
      margin-top: 1.5rem; }
  #calendar .date-overlay .image-link {
    display: block;
    margin: 0 auto 2rem;
    overflow: hidden; }
  #calendar .date-overlay .date {
    display: block;
    margin-bottom: 0.4rem;
    font-size: 1.6rem; }
  #calendar .date-overlay .section-heading {
    margin-bottom: 1.4rem;
    font-weight: 700;
    font-size: calc(1.8rem + (24 - 18) * ((100vw - 361px ) / (1250 - 361) )); }
    @media all and (min-width: 1250px) {
      #calendar .date-overlay .section-heading {
        font-size: 2.4rem; } }
  #calendar .date-overlay .short-description {
    font-size: 1.6rem;
    margin-bottom: 2.5rem; }
  #calendar .date-overlay .button {
    min-width: 120px;
    display: inline-block;
    position: relative;
    margin-top: 2.4rem;
    padding: 0 1.4rem;
    line-height: 3.5rem;
    text-align: center;
    font-size: 2rem;
    white-space: nowrap;
    border: 1px solid #3a467f;
    cursor: pointer;
    z-index: 1;
    transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
    color: #fff;
    background-color: #3a467f;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
    #calendar .date-overlay .button:hover, #calendar .date-overlay .button:focus {
      color: #1b1d2f;
      background-color: transparent; }

#calendar .additional-information {
  margin-top: 4rem;
  margin-bottom: 2.8rem;
  font-size: 1.4rem; }
  #calendar .additional-information p {
    width: auto;
    display: inline-block;
    vertical-align: top;
    margin: 0;
    font-size: 1.3rem;
    line-height: 1.4rem; }
  #calendar .additional-information .email-address {
    display: table;
    font-weight: 700; }
  @media all and (min-width: 769px) {
    #calendar .additional-information #calendar-legend {
      width: auto;
      display: inline-block;
      vertical-align: top;
      margin: 0;
      font-size: 1.6rem; } }

#calendar-legend {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  #calendar-legend .calendar-key-item {
    display: inline-block;
    width: 125px;
    margin-right: 1.6rem;
    margin-bottom: 0.5rem;
    padding: 0.3rem 0.5rem;
    font-size: 1.3rem;
    background-color: #e5e5ed;
    color: #fff; }
    #calendar-legend .calendar-key-item.even {
      background-color: #3a467f; }

.page-section.gallery h2 {
  text-align: center;
  color: #3a467f; }

.page-section.gallery .gallery-images {
  display: flex;
  flex-wrap: wrap; }

.page-section.gallery button {
  width: 50%;
  position: relative; }
  .page-section.gallery button:after {
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(58, 70, 127, 0.5);
    opacity: 0;
    transition: opacity .2s ease-in-out; }
  .page-section.gallery button:hover:after, .page-section.gallery button:focus:after {
    opacity: 1; }

.page-section.gallery img {
  display: block; }

@media all and (min-width: 501px) {
  .page-section.gallery button {
    width: 33.33%; } }

@media all and (min-width: 769px) {
  .page-section.gallery button {
    width: 25%; } }

.popup-trigger {
  cursor: pointer; }

.popup {
  width: 100%;
  height: 100%;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(27, 29, 47, 0.7);
  overflow: auto;
  z-index: 2000;
  color: #fff; }
  .popup .popup-content {
    max-width: 90vw;
    max-height: 90vh;
    position: relative;
    top: 50%;
    margin: 0 auto;
    overflow: auto;
    text-align: center;
    z-index: 2;
    transform: translateY(-50%);
    color: #fff; }
  .popup [name="close"] {
    width: 5rem;
    display: block;
    position: absolute;
    line-height: 1;
    top: 0;
    right: 0;
    color: #fff;
    font-size: 5rem;
    transition: color .2s ease-in-out;
    z-index: 300;
    cursor: pointer;
    background-color: #3a467f;
    border-radius: 50%; }

#popup-gallery .image-container {
  position: relative; }

#popup-gallery #popup-image {
  display: block;
  margin: 0 auto;
  max-height: 85vh; }

#popup-gallery #popup-caption {
  max-width: 80rem;
  display: table;
  margin: 0 auto;
  padding: 1rem;
  background-color: #3a467f; }

#popup-gallery .gallery-arrow {
  width: 5rem;
  border-radius: 50%;
  padding-top: 1rem;
  padding-bottom: 1rem;
  background-color: rgba(58, 70, 127, 0.5);
  position: absolute;
  top: 50%;
  text-align: center;
  transform: translateY(-50%);
  color: #fff;
  font-size: 3rem;
  z-index: 1;
  transition: background-color .2s ease-in-out;
  cursor: pointer; }
  #popup-gallery .gallery-arrow.prev {
    left: 1rem;
    padding-right: .3rem; }
  #popup-gallery .gallery-arrow.next {
    right: 1rem;
    padding-left: .3rem; }
  #popup-gallery .gallery-arrow:hover, #popup-gallery .gallery-arrow:focus {
    background-color: #3a467f; }
  @media all and (min-width: 501px) {
    #popup-gallery .gallery-arrow.prev {
      left: 2rem; }
    #popup-gallery .gallery-arrow.next {
      right: 2rem; } }

