/*!**************************************************************************************************************!*\
  !*** 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;
  }
}

.unordered-list, .ordered-list-style {
  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;
}
.button.secondary-button:hover, .button.secondary-button:focus {
  color: #1b1d2f;
  background-color: transparent;
}
.button.secondary-button {
  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 0.2s ease-in-out, margin-bottom 0.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;
}
input[type=submit]:hover, input[type=submit]:focus {
  color: #1b1d2f;
  background-color: transparent;
}
input[type=submit] {
  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 0.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: 0.5rem 0;
}
#site-header .primary-menu .sub-menu .menu-item {
  padding: 0.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));
}
@media all and (min-width: 1250px) {
  .page-section.link-blocks .block-heading {
    font-size: 3.5rem;
  }
}
.page-section.link-blocks .block-heading {
  font-family: "Open Sans", sans-serif;
}
@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: 0.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 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;
}
.member-container a:hover, .member-container a:focus {
  border-bottom-color: #3a467f;
}
.member-container a {
  word-break: break-all;
}
@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: rgb(229.5, 229.5, 229.5);
}
#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: rgb(229.5, 229.5, 229.5);
}
#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.8571428571%;
  }
  #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.2857142857%;
    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.2857142857%;
  }
  #calendar .calendar-cell.day-3 {
    left: 28.5714285714%;
  }
  #calendar .calendar-cell.day-4 {
    left: 42.8571428571%;
  }
  #calendar .calendar-cell.day-5 {
    left: 57.1428571429%;
  }
  #calendar .calendar-cell.day-6 {
    left: 71.4285714286%;
  }
  #calendar .calendar-cell.day-7 {
    left: 85.7142857143%;
    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 0.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 0.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 0.2s ease-in-out;
  cursor: pointer;
}
#popup-gallery .gallery-arrow.prev {
  left: 1rem;
  padding-right: 0.3rem;
}
#popup-gallery .gallery-arrow.next {
  right: 1rem;
  padding-left: 0.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;
  }
}
