/*!
 * 
 *     Litepicker v1.5.7 (https://github.com/wakirin/Litepicker)
 *     Package: litepicker (https://www.npmjs.com/package/litepicker)
 *     License: MIT (https://github.com/wakirin/Litepicker/blob/master/LICENCE.md)
 *     Copyright 2019-2020 Rinat G.
 *     
 *     Hash: 6c5abdc252d9f485c1dc
 *     Generated on: 1592979309772
 *     
 */
:root {
    --litepickerBgColor: #fff;
    --litepickerMonthHeaderTextColor: #333;
    --litepickerMonthButton: #9e9e9e;
    --litepickerMonthButtonHover: #2196f3;
    --litepickerMonthWidth: calc(var(--litepickerDayWidth) * 7);
    --litepickerMonthWeekdayColor: #9e9e9e;
    --litepickerDayColor: #333;
    --litepickerDayColorHover: #2196f3;
    --litepickerDayIsTodayColor: #f44336;
    --litepickerDayIsInRange: #bbdefb;
    --litepickerDayIsLockedColor: #9e9e9e;
    --litepickerDayIsBookedColor: #9e9e9e;
    --litepickerDayIsStartColor: #fff;
    --litepickerDayIsStartBg: #2196f3;
    --litepickerDayIsEndColor: #fff;
    --litepickerDayIsEndBg: #2196f3;
    --litepickerDayWidth: 38px;
    --litepickerButtonCancelColor: #fff;
    --litepickerButtonCancelBg: #9e9e9e;
    --litepickerButtonApplyColor: #fff;
    --litepickerButtonApplyBg: #2196f3;
    --litepickerButtonResetBtn: #909090;
    --litepickerButtonResetBtnHover: #2196f3;
    --litepickerHighlightedDayColor: #333;
    --litepickerHighlightedDayBg: #ffeb3b
}

.show-week-numbers {
    --litepickerMonthWidth: calc(var(--litepickerDayWidth) * 8)
}

.litepicker {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: .8em;
    display: none
}

.litepicker .container__main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.litepicker .container__months {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    background-color: var(--litepickerBgColor);
    border-radius: 5px;
    -webkit-box-shadow: 0 0 5px #ddd;
    box-shadow: 0 0 5px #ddd;
    width: calc(var(--litepickerMonthWidth) + 10px);
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}

.litepicker .container__months.columns-2 {
    width: calc((var(--litepickerMonthWidth) * 2) + 20px)
}

.litepicker .container__months.columns-3 {
    width: calc((var(--litepickerMonthWidth) * 3) + 30px)
}

.litepicker .container__months.columns-4 {
    width: calc((var(--litepickerMonthWidth) * 4) + 40px)
}

.litepicker .container__months.split-view .month-item-header .button-previous-month, .litepicker .container__months.split-view .month-item-header .button-next-month {
    visibility: visible
}

.litepicker .container__months .month-item {
    padding: 5px;
    width: var(--litepickerMonthWidth);
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}

.litepicker .container__months .month-item-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    font-weight: 500;
    padding: 10px 5px;
    text-align: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: var(--litepickerMonthHeaderTextColor)
}

.litepicker .container__months .month-item-header div {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
}

.litepicker .container__months .month-item-header div > .month-item-name {
    margin-right: 5px
}

.litepicker .container__months .month-item-header div > .month-item-year {
    padding: 0
}

.litepicker .container__months .month-item-header .reset-button {
    color: var(--litepickerButtonResetBtn)
}

.litepicker .container__months .month-item-header .reset-button > svg, .litepicker .container__months .month-item-header .reset-button > img {
    fill: var(--litepickerButtonResetBtn);
    pointer-events: none
}

.litepicker .container__months .month-item-header .reset-button:hover {
    color: var(--litepickerButtonResetBtnHover)
}

.litepicker .container__months .month-item-header .reset-button:hover > svg {
    fill: var(--litepickerButtonResetBtnHover)
}

.litepicker .container__months .month-item-header .button-previous-month, .litepicker .container__months .month-item-header .button-next-month {
    visibility: hidden;
    text-decoration: none;
    color: var(--litepickerMonthButton);
    padding: 3px 5px;
    border-radius: 3px;
    -webkit-transition: color .3s, border .3s;
    transition: color .3s, border .3s;
    cursor: default
}

.litepicker .container__months .month-item-header .button-previous-month > svg, .litepicker .container__months .month-item-header .button-previous-month > img, .litepicker .container__months .month-item-header .button-next-month > svg, .litepicker .container__months .month-item-header .button-next-month > img {
    fill: var(--litepickerMonthButton);
    pointer-events: none
}

.litepicker .container__months .month-item-header .button-previous-month:hover, .litepicker .container__months .month-item-header .button-next-month:hover {
    color: var(--litepickerMonthButtonHover)
}

.litepicker .container__months .month-item-header .button-previous-month:hover > svg, .litepicker .container__months .month-item-header .button-next-month:hover > svg {
    fill: var(--litepickerMonthButtonHover)
}

.litepicker .container__months .month-item-weekdays-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-self: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    color: var(--litepickerMonthWeekdayColor)
}

.litepicker .container__months .month-item-weekdays-row > div {
    padding: 5px 0;
    font-size: 85%;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    width: var(--litepickerDayWidth);
    text-align: center
}

.litepicker .container__months .month-item:first-child .button-previous-month {
    visibility: visible
}

.litepicker .container__months .month-item:last-child .button-next-month {
    visibility: visible
}

.litepicker .container__months .month-item.no-previous-month .button-previous-month {
    visibility: hidden
}

.litepicker .container__months .month-item.no-next-month .button-next-month {
    visibility: hidden
}

.litepicker .container__days {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-self: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    text-align: center;
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}

.litepicker .container__days > div, .litepicker .container__days > a {
    padding: 5px 0;
    width: var(--litepickerDayWidth)
}

.litepicker .container__days .day-item {
    color: var(--litepickerDayColor);
    text-align: center;
    text-decoration: none;
    border-radius: 3px;
    -webkit-transition: color .3s, border .3s;
    transition: color .3s, border .3s;
    cursor: default
}

.litepicker .container__days .day-item:hover {
    color: var(--litepickerDayColorHover);
    -webkit-box-shadow: inset 0 0 0 1px var(--litepickerDayColorHover);
    box-shadow: inset 0 0 0 1px var(--litepickerDayColorHover)
}

.litepicker .container__days .day-item.is-today {
    color: var(--litepickerDayIsTodayColor)
}

.litepicker .container__days .day-item.is-locked {
    color: var(--litepickerDayIsLockedColor)
}

.litepicker .container__days .day-item.is-locked:hover {
    color: var(--litepickerDayIsLockedColor);
    -webkit-box-shadow: none;
    box-shadow: none;
    cursor: default
}

.litepicker .container__days .day-item.is-booked {
    color: var(--litepickerDayIsBookedColor)
}

.litepicker .container__days .day-item.is-booked:hover {
    color: var(--litepickerDayIsBookedColor);
    -webkit-box-shadow: none;
    box-shadow: none;
    cursor: default
}

.litepicker .container__days .day-item.is-in-range {
    background-color: var(--litepickerDayIsInRange);
    border-radius: 0
}

.litepicker .container__days .day-item.is-start-date {
    color: var(--litepickerDayIsStartColor);
    background-color: var(--litepickerDayIsStartBg);
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

.litepicker .container__days .day-item.is-start-date.is-flipped {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px
}

.litepicker .container__days .day-item.is-end-date {
    color: var(--litepickerDayIsEndColor);
    background-color: var(--litepickerDayIsEndBg);
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px
}

.litepicker .container__days .day-item.is-end-date.is-flipped {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

.litepicker .container__days .day-item.is-start-date.is-end-date {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px
}

.litepicker .container__days .day-item.is-highlighted {
    color: var(--litepickerHighlightedDayColor);
    background-color: var(--litepickerHighlightedDayBg)
}

.litepicker .container__days .week-number {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #9e9e9e;
    font-size: 85%
}

.litepicker .container__footer {
    text-align: right;
    padding: 10px 5px;
    margin: 0 5px;
    background-color: #fafafa;
    -webkit-box-shadow: inset 0 3px 3px 0 #ddd;
    box-shadow: inset 0 3px 3px 0 #ddd;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px
}

.litepicker .container__footer .preview-date-range {
    margin-right: 10px;
    font-size: 90%
}

.litepicker .container__footer .button-cancel {
    background-color: var(--litepickerButtonCancelBg);
    color: var(--litepickerButtonCancelColor);
    border: 0;
    padding: 3px 7px 4px;
    border-radius: 3px
}

.litepicker .container__footer .button-cancel > svg, .litepicker .container__footer .button-cancel > img {
    pointer-events: none
}

.litepicker .container__footer .button-apply {
    background-color: var(--litepickerButtonApplyBg);
    color: var(--litepickerButtonApplyColor);
    border: 0;
    padding: 3px 7px 4px;
    border-radius: 3px;
    margin-left: 10px;
    margin-right: 10px
}

.litepicker .container__footer .button-apply:disabled {
    opacity: .7
}

.litepicker .container__footer .button-apply > svg, .litepicker .container__footer .button-apply > img {
    pointer-events: none
}

.litepicker .container__tooltip {
    position: absolute;
    margin-top: -4px;
    padding: 4px 8px;
    border-radius: 4px;
    background-color: #fff;
    -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, .25);
    box-shadow: 0 1px 3px rgba(0, 0, 0, .25);
    white-space: nowrap;
    font-size: 11px;
    pointer-events: none;
    visibility: hidden
}

.litepicker .container__tooltip:before {
    position: absolute;
    bottom: -5px;
    left: calc(50% - 5px);
    border-top: 5px solid rgba(0, 0, 0, .12);
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    content: ""
}

.litepicker .container__tooltip:after {
    position: absolute;
    bottom: -4px;
    left: calc(50% - 4px);
    border-top: 4px solid #fff;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    content: ""
}

.litepicker-open {
    overflow: hidden
}

.litepicker-backdrop {
    display: none;
    background-color: #000;
    opacity: .3;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

body.compensate-for-scrollbar {
    overflow: hidden
}

.fancybox-active {
    height: auto
}

.fancybox-is-hidden {
    left: -9999px;
    margin: 0;
    position: absolute !important;
    top: -9999px;
    visibility: hidden
}

.fancybox-container {
    -webkit-backface-visibility: hidden;
    height: 100%;
    left: 0;
    outline: none;
    position: fixed;
    -webkit-tap-highlight-color: transparent;
    top: 0;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    transform: translateZ(0);
    width: 100%;
    z-index: 99992
}

.fancybox-container * {
    box-sizing: border-box
}

.fancybox-bg, .fancybox-inner, .fancybox-outer, .fancybox-stage {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

.fancybox-outer {
    -webkit-overflow-scrolling: touch;
    overflow-y: auto
}

.fancybox-bg {
    background: #1e1e1e;
    opacity: 0;
    transition-duration: inherit;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(.47, 0, .74, .71)
}

.fancybox-is-open .fancybox-bg {
    opacity: .9;
    transition-timing-function: cubic-bezier(.22, .61, .36, 1)
}

.fancybox-caption, .fancybox-infobar, .fancybox-navigation .fancybox-button, .fancybox-toolbar {
    direction: ltr;
    opacity: 0;
    position: absolute;
    transition: opacity .25s ease, visibility 0s ease .25s;
    visibility: hidden;
    z-index: 99997
}

.fancybox-show-caption .fancybox-caption, .fancybox-show-infobar .fancybox-infobar, .fancybox-show-nav .fancybox-navigation .fancybox-button, .fancybox-show-toolbar .fancybox-toolbar {
    opacity: 1;
    transition: opacity .25s ease 0s, visibility 0s ease 0s;
    visibility: visible
}

.fancybox-infobar {
    color: #ccc;
    font-size: 13px;
    -webkit-font-smoothing: subpixel-antialiased;
    height: 44px;
    left: 0;
    line-height: 44px;
    min-width: 44px;
    mix-blend-mode: difference;
    padding: 0 10px;
    pointer-events: none;
    top: 0;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.fancybox-toolbar {
    right: 0;
    top: 0
}

.fancybox-stage {
    direction: ltr;
    overflow: visible;
    transform: translateZ(0);
    z-index: 99994
}

.fancybox-is-open .fancybox-stage {
    overflow: hidden
}

.fancybox-slide {
    -webkit-backface-visibility: hidden;
    display: none;
    height: 100%;
    left: 0;
    outline: none;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 44px;
    position: absolute;
    text-align: center;
    top: 0;
    transition-property: transform, opacity;
    white-space: normal;
    width: 100%;
    z-index: 99994
}

.fancybox-slide:before {
    content: "";
    display: inline-block;
    font-size: 0;
    height: 100%;
    vertical-align: middle;
    width: 0
}

.fancybox-is-sliding .fancybox-slide, .fancybox-slide--current, .fancybox-slide--next, .fancybox-slide--previous {
    display: block
}

.fancybox-slide--image {
    overflow: hidden;
    padding: 44px 0
}

.fancybox-slide--image:before {
    display: none
}

.fancybox-slide--html {
    padding: 6px
}

.fancybox-content {
    background: #fff;
    display: inline-block;
    margin: 0;
    max-width: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 44px;
    position: relative;
    text-align: left;
    vertical-align: middle
}

.fancybox-slide--image .fancybox-content {
    animation-timing-function: cubic-bezier(.5, 0, .14, 1);
    -webkit-backface-visibility: hidden;
    background: transparent;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    left: 0;
    max-width: none;
    overflow: visible;
    padding: 0;
    position: absolute;
    top: 0;
    transform-origin: top left;
    transition-property: transform, opacity;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    z-index: 99995
}

.fancybox-can-zoomOut .fancybox-content {
    cursor: zoom-out
}

.fancybox-can-zoomIn .fancybox-content {
    cursor: zoom-in
}

.fancybox-can-pan .fancybox-content, .fancybox-can-swipe .fancybox-content {
    cursor: grab
}

.fancybox-is-grabbing .fancybox-content {
    cursor: grabbing
}

.fancybox-container [data-selectable=true] {
    cursor: text
}

.fancybox-image, .fancybox-spaceball {
    background: transparent;
    border: 0;
    height: 100%;
    left: 0;
    margin: 0;
    max-height: none;
    max-width: none;
    padding: 0;
    position: absolute;
    top: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 100%
}

.fancybox-spaceball {
    z-index: 1
}

.fancybox-slide--iframe .fancybox-content, .fancybox-slide--map .fancybox-content, .fancybox-slide--pdf .fancybox-content, .fancybox-slide--video .fancybox-content {
    height: 100%;
    overflow: visible;
    padding: 0;
    width: 100%
}

.fancybox-slide--video .fancybox-content {
    background: #000
}

.fancybox-slide--map .fancybox-content {
    background: #e5e3df
}

.fancybox-slide--iframe .fancybox-content {
    background: #fff
}

.fancybox-iframe, .fancybox-video {
    background: transparent;
    border: 0;
    display: block;
    height: 100%;
    margin: 0;
    overflow: hidden;
    padding: 0;
    width: 100%
}

.fancybox-iframe {
    left: 0;
    position: absolute;
    top: 0
}

.fancybox-error {
    background: #fff;
    cursor: default;
    max-width: 400px;
    padding: 40px;
    width: 100%
}

.fancybox-error p {
    color: #444;
    font-size: 16px;
    line-height: 20px;
    margin: 0;
    padding: 0
}

.fancybox-button {
    background: rgba(30, 30, 30, .6);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    cursor: pointer;
    display: inline-block;
    height: 44px;
    margin: 0;
    padding: 10px;
    position: relative;
    transition: color .2s;
    vertical-align: top;
    visibility: inherit;
    width: 44px
}

.fancybox-button, .fancybox-button:link, .fancybox-button:visited {
    color: #ccc
}

.fancybox-button:hover {
    color: #fff
}

.fancybox-button:focus {
    outline: none
}

.fancybox-button.fancybox-focus {
    outline: 1px dotted
}

.fancybox-button[disabled], .fancybox-button[disabled]:hover {
    color: #888;
    cursor: default;
    outline: none
}

.fancybox-button div {
    height: 100%
}

.fancybox-button svg {
    display: block;
    height: 100%;
    overflow: visible;
    position: relative;
    width: 100%
}

.fancybox-button svg path {
    fill: currentColor;
    stroke-width: 0
}

.fancybox-button--fsenter svg:nth-child(2), .fancybox-button--fsexit svg:first-child, .fancybox-button--pause svg:first-child, .fancybox-button--play svg:nth-child(2) {
    display: none
}

.fancybox-progress {
    background: #ff5268;
    height: 2px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transform: scaleX(0);
    transform-origin: 0;
    transition-property: transform;
    transition-timing-function: linear;
    z-index: 99998
}

.fancybox-close-small {
    background: transparent;
    border: 0;
    border-radius: 0;
    color: #ccc;
    cursor: pointer;
    opacity: .8;
    padding: 8px;
    position: absolute;
    right: -12px;
    top: -44px;
    z-index: 401
}

.fancybox-close-small:hover {
    color: #fff;
    opacity: 1
}

.fancybox-slide--html .fancybox-close-small {
    color: currentColor;
    padding: 10px;
    right: 0;
    top: 0
}

.fancybox-slide--image.fancybox-is-scaling .fancybox-content {
    overflow: hidden
}

.fancybox-is-scaling .fancybox-close-small, .fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {
    display: none
}

.fancybox-navigation .fancybox-button {
    background-clip: content-box;
    height: 100px;
    opacity: 0;
    position: absolute;
    top: calc(50% - 50px);
    width: 70px
}

.fancybox-navigation .fancybox-button div {
    padding: 7px
}

.fancybox-navigation .fancybox-button--arrow_left {
    left: 0;
    left: env(safe-area-inset-left);
    padding: 31px 26px 31px 6px
}

.fancybox-navigation .fancybox-button--arrow_right {
    padding: 31px 6px 31px 26px;
    right: 0;
    right: env(safe-area-inset-right)
}

.fancybox-caption {
    background: linear-gradient(0deg, rgba(0, 0, 0, .85) 0, rgba(0, 0, 0, .3) 50%, rgba(0, 0, 0, .15) 65%, rgba(0, 0, 0, .075) 75.5%, rgba(0, 0, 0, .037) 82.85%, rgba(0, 0, 0, .019) 88%, transparent);
    bottom: 0;
    color: #eee;
    font-size: 14px;
    font-weight: 400;
    left: 0;
    line-height: 1.5;
    padding: 75px 44px 25px;
    pointer-events: none;
    right: 0;
    text-align: center;
    z-index: 99996
}

@supports (padding:max(0px)) {
    .fancybox-caption {
        padding: 75px max(44px, env(safe-area-inset-right)) max(25px, env(safe-area-inset-bottom)) max(44px, env(safe-area-inset-left))
    }
}

.fancybox-caption--separate {
    margin-top: -50px
}

.fancybox-caption__body {
    max-height: 50vh;
    overflow: auto;
    pointer-events: all
}

.fancybox-caption a, .fancybox-caption a:link, .fancybox-caption a:visited {
    color: #ccc;
    text-decoration: none
}

.fancybox-caption a:hover {
    color: #fff;
    text-decoration: underline
}

.fancybox-loading {
    animation: a 1s linear infinite;
    background: transparent;
    border: 4px solid #888;
    border-bottom-color: #fff;
    border-radius: 50%;
    height: 50px;
    left: 50%;
    margin: -25px 0 0 -25px;
    opacity: .7;
    padding: 0;
    position: absolute;
    top: 50%;
    width: 50px;
    z-index: 99999
}

@keyframes a {
    to {
        transform: rotate(1turn)
    }
}

.fancybox-animated {
    transition-timing-function: cubic-bezier(0, 0, .25, 1)
}

.fancybox-fx-slide.fancybox-slide--previous {
    opacity: 0;
    transform: translate3d(-100%, 0, 0)
}

.fancybox-fx-slide.fancybox-slide--next {
    opacity: 0;
    transform: translate3d(100%, 0, 0)
}

.fancybox-fx-slide.fancybox-slide--current {
    opacity: 1;
    transform: translateZ(0)
}

.fancybox-fx-fade.fancybox-slide--next, .fancybox-fx-fade.fancybox-slide--previous {
    opacity: 0;
    transition-timing-function: cubic-bezier(.19, 1, .22, 1)
}

.fancybox-fx-fade.fancybox-slide--current {
    opacity: 1
}

.fancybox-fx-zoom-in-out.fancybox-slide--previous {
    opacity: 0;
    transform: scale3d(1.5, 1.5, 1.5)
}

.fancybox-fx-zoom-in-out.fancybox-slide--next {
    opacity: 0;
    transform: scale3d(.5, .5, .5)
}

.fancybox-fx-zoom-in-out.fancybox-slide--current {
    opacity: 1;
    transform: scaleX(1)
}

.fancybox-fx-rotate.fancybox-slide--previous {
    opacity: 0;
    transform: rotate(-1turn)
}

.fancybox-fx-rotate.fancybox-slide--next {
    opacity: 0;
    transform: rotate(1turn)
}

.fancybox-fx-rotate.fancybox-slide--current {
    opacity: 1;
    transform: rotate(0deg)
}

.fancybox-fx-circular.fancybox-slide--previous {
    opacity: 0;
    transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0)
}

.fancybox-fx-circular.fancybox-slide--next {
    opacity: 0;
    transform: scale3d(0, 0, 0) translate3d(100%, 0, 0)
}

.fancybox-fx-circular.fancybox-slide--current {
    opacity: 1;
    transform: scaleX(1) translateZ(0)
}

.fancybox-fx-tube.fancybox-slide--previous {
    transform: translate3d(-100%, 0, 0) scale(.1) skew(-10deg)
}

.fancybox-fx-tube.fancybox-slide--next {
    transform: translate3d(100%, 0, 0) scale(.1) skew(10deg)
}

.fancybox-fx-tube.fancybox-slide--current {
    transform: translateZ(0) scale(1)
}

@media (max-height: 576px) {
    .fancybox-slide {
        padding-left: 6px;
        padding-right: 6px
    }

    .fancybox-slide--image {
        padding: 6px 0
    }

    .fancybox-close-small {
        right: -6px
    }

    .fancybox-slide--image .fancybox-close-small {
        background: #4e4e4e;
        color: #f2f4f6;
        height: 36px;
        opacity: 1;
        padding: 6px;
        right: 0;
        top: 0;
        width: 36px
    }

    .fancybox-caption {
        padding-left: 12px;
        padding-right: 12px
    }

    @supports (padding:max(0px)) {
        .fancybox-caption {
            padding-left: max(12px, env(safe-area-inset-left));
            padding-right: max(12px, env(safe-area-inset-right))
        }
    }
}

.fancybox-share {
    background: #f4f4f4;
    border-radius: 3px;
    max-width: 90%;
    padding: 30px;
    text-align: center
}

.fancybox-share h1 {
    color: #222;
    font-size: 35px;
    font-weight: 700;
    margin: 0 0 20px
}

.fancybox-share p {
    margin: 0;
    padding: 0
}

.fancybox-share__button {
    border: 0;
    border-radius: 3px;
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    line-height: 40px;
    margin: 0 5px 10px;
    min-width: 130px;
    padding: 0 15px;
    text-decoration: none;
    transition: all .2s;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    white-space: nowrap
}

.fancybox-share__button:link, .fancybox-share__button:visited {
    color: #fff
}

.fancybox-share__button:hover {
    text-decoration: none
}

.fancybox-share__button--fb {
    background: #3b5998
}

.fancybox-share__button--fb:hover {
    background: #344e86
}

.fancybox-share__button--pt {
    background: #bd081d
}

.fancybox-share__button--pt:hover {
    background: #aa0719
}

.fancybox-share__button--tw {
    background: #1da1f2
}

.fancybox-share__button--tw:hover {
    background: #0d95e8
}

.fancybox-share__button svg {
    height: 25px;
    margin-right: 7px;
    position: relative;
    top: -1px;
    vertical-align: middle;
    width: 25px
}

.fancybox-share__button svg path {
    fill: #fff
}

.fancybox-share__input {
    background: transparent;
    border: 0;
    border-bottom: 1px solid #d7d7d7;
    border-radius: 0;
    color: #5d5b5b;
    font-size: 14px;
    margin: 10px 0 0;
    outline: none;
    padding: 10px 15px;
    width: 100%
}

.fancybox-thumbs {
    background: #ddd;
    bottom: 0;
    display: none;
    margin: 0;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    padding: 2px 2px 4px;
    position: absolute;
    right: 0;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    top: 0;
    width: 212px;
    z-index: 99995
}

.fancybox-thumbs-x {
    overflow-x: auto;
    overflow-y: hidden
}

.fancybox-show-thumbs .fancybox-thumbs {
    display: block
}

.fancybox-show-thumbs .fancybox-inner {
    right: 212px
}

.fancybox-thumbs__list {
    font-size: 0;
    height: 100%;
    list-style: none;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0;
    position: absolute;
    position: relative;
    white-space: nowrap;
    width: 100%
}

.fancybox-thumbs-x .fancybox-thumbs__list {
    overflow: hidden
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar {
    width: 7px
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track {
    background: #fff;
    border-radius: 10px;
    box-shadow: inset 0 0 6px rgba(0, 0, 0, .3)
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb {
    background: #2a2a2a;
    border-radius: 10px
}

.fancybox-thumbs__list a {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background-color: rgba(0, 0, 0, .1);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    cursor: pointer;
    float: left;
    height: 75px;
    margin: 2px;
    max-height: calc(100% - 8px);
    max-width: calc(50% - 4px);
    outline: none;
    overflow: hidden;
    padding: 0;
    position: relative;
    -webkit-tap-highlight-color: transparent;
    width: 100px
}

.fancybox-thumbs__list a:before {
    border: 6px solid #ff5268;
    bottom: 0;
    content: "";
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: all .2s cubic-bezier(.25, .46, .45, .94);
    z-index: 99991
}

.fancybox-thumbs__list a:focus:before {
    opacity: .5
}

.fancybox-thumbs__list a.fancybox-thumbs-active:before {
    opacity: 1
}

@media (max-width: 576px) {
    .fancybox-thumbs {
        width: 110px
    }

    .fancybox-show-thumbs .fancybox-inner {
        right: 110px
    }

    .fancybox-thumbs__list a {
        max-width: calc(100% - 10px)
    }
}

.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: none
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-track, .slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto
}

.slick-track:before, .slick-track:after {
    display: table;
    content: ''
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px
}

[dir='rtl'] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent
}

.slick-arrow.slick-hidden {
    display: none
}

.choices {
    position: relative;
    margin-bottom: 24px;
    font-size: 16px
}

.choices:focus {
    outline: 0
}

.choices:last-child {
    margin-bottom: 0
}

.choices.is-disabled .choices__inner, .choices.is-disabled .choices__input {
    background-color: #eaeaea;
    cursor: not-allowed;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.choices.is-disabled .choices__item {
    cursor: not-allowed
}

.choices [hidden] {
    display: none !important
}

.choices[data-type*=select-one] {
    cursor: pointer
}

.choices[data-type*=select-one] .choices__inner {
    padding-bottom: 7.5px
}

.choices[data-type*=select-one] .choices__input {
    display: block;
    width: 100%;
    padding: 10px;
    border-bottom: 1px solid #ddd;
    background-color: #fff;
    margin: 0
}

.choices[data-type*=select-one] .choices__button {
    background-image: url(../fonts/9a0271a11e8f4eef82d3ae0fb07f482f.woff);
    padding: 0;
    background-size: 8px;
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -10px;
    margin-right: 25px;
    height: 20px;
    width: 20px;
    border-radius: 10em;
    opacity: .5
}

.choices[data-type*=select-one] .choices__button:focus, .choices[data-type*=select-one] .choices__button:hover {
    opacity: 1
}

.choices[data-type*=select-one] .choices__button:focus {
    box-shadow: 0 0 0 2px #00bcd4
}

.choices[data-type*=select-one] .choices__item[data-value=''] .choices__button {
    display: none
}

.choices[data-type*=select-one]:after {
    content: '';
    height: 0;
    width: 0;
    border-style: solid;
    border-color: #333 transparent transparent;
    border-width: 5px;
    position: absolute;
    right: 11.5px;
    top: 50%;
    margin-top: -2.5px;
    pointer-events: none
}

.choices[data-type*=select-one].is-open:after {
    border-color: transparent transparent #333;
    margin-top: -7.5px
}

.choices[data-type*=select-one][dir=rtl]:after {
    left: 11.5px;
    right: auto
}

.choices[data-type*=select-one][dir=rtl] .choices__button {
    right: auto;
    left: 0;
    margin-left: 25px;
    margin-right: 0
}

.choices[data-type*=select-multiple] .choices__inner, .choices[data-type*=text] .choices__inner {
    cursor: text
}

.choices[data-type*=select-multiple] .choices__button, .choices[data-type*=text] .choices__button {
    position: relative;
    display: inline-block;
    margin: 0 -4px 0 8px;
    padding-left: 16px;
    border-left: 1px solid #008fa1;
    background-image: url(../fonts/d0491c60291b4ba785062bd577755b33.woff);
    background-size: 8px;
    width: 8px;
    line-height: 1;
    opacity: .75;
    border-radius: 0
}

.choices[data-type*=select-multiple] .choices__button:focus, .choices[data-type*=select-multiple] .choices__button:hover, .choices[data-type*=text] .choices__button:focus, .choices[data-type*=text] .choices__button:hover {
    opacity: 1
}

.choices__inner {
    display: inline-block;
    vertical-align: top;
    width: 100%;
    background-color: #f9f9f9;
    padding: 7.5px 7.5px 3.75px;
    border: 1px solid #ddd;
    border-radius: 2.5px;
    font-size: 14px;
    min-height: 44px;
    overflow: hidden
}

.is-focused .choices__inner, .is-open .choices__inner {
    border-color: #b7b7b7
}

.is-open .choices__inner {
    border-radius: 2.5px 2.5px 0 0
}

.is-flipped.is-open .choices__inner {
    border-radius: 0 0 2.5px 2.5px
}

.choices__list {
    margin: 0;
    padding-left: 0;
    list-style: none
}

.choices__list--single {
    display: inline-block;
    padding: 4px 16px 4px 4px;
    width: 100%
}

[dir=rtl] .choices__list--single {
    padding-right: 4px;
    padding-left: 16px
}

.choices__list--single .choices__item {
    width: 100%
}

.choices__list--multiple {
    display: inline
}

.choices__list--multiple .choices__item {
    display: inline-block;
    vertical-align: middle;
    border-radius: 20px;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 500;
    margin-right: 3.75px;
    margin-bottom: 3.75px;
    background-color: #00bcd4;
    border: 1px solid #00a5bb;
    color: #fff;
    word-break: break-all;
    box-sizing: border-box
}

.choices__list--multiple .choices__item[data-deletable] {
    padding-right: 5px
}

[dir=rtl] .choices__list--multiple .choices__item {
    margin-right: 0;
    margin-left: 3.75px
}

.choices__list--multiple .choices__item.is-highlighted {
    background-color: #00a5bb;
    border: 1px solid #008fa1
}

.is-disabled .choices__list--multiple .choices__item {
    background-color: #aaa;
    border: 1px solid #919191
}

.choices__list--dropdown {
    visibility: hidden;
    z-index: 1;
    position: absolute;
    width: 100%;
    background-color: #fff;
    border: 1px solid #ddd;
    top: 100%;
    margin-top: -1px;
    border-bottom-left-radius: 2.5px;
    border-bottom-right-radius: 2.5px;
    overflow: hidden;
    word-break: break-all;
    will-change: visibility
}

.choices__list--dropdown.is-active {
    visibility: visible
}

.is-open .choices__list--dropdown {
    border-color: #b7b7b7
}

.is-flipped .choices__list--dropdown {
    top: auto;
    bottom: 100%;
    margin-top: 0;
    margin-bottom: -1px;
    border-radius: .25rem .25rem 0 0
}

.choices__list--dropdown .choices__list {
    position: relative;
    max-height: 300px;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    will-change: scroll-position
}

.choices__list--dropdown .choices__item {
    position: relative;
    padding: 10px;
    font-size: 14px
}

[dir=rtl] .choices__list--dropdown .choices__item {
    text-align: right
}

@media (min-width: 640px) {
    .choices__list--dropdown .choices__item--selectable {
        padding-right: 100px
    }

    .choices__list--dropdown .choices__item--selectable:after {
        content: attr(data-select-text);
        font-size: 12px;
        opacity: 0;
        position: absolute;
        right: 10px;
        top: 50%;
        transform: translateY(-50%)
    }

    [dir=rtl] .choices__list--dropdown .choices__item--selectable {
        text-align: right;
        padding-left: 100px;
        padding-right: 10px
    }

    [dir=rtl] .choices__list--dropdown .choices__item--selectable:after {
        right: auto;
        left: 10px
    }
}

.choices__list--dropdown .choices__item--selectable.is-highlighted {
    background-color: #f2f2f2
}

.choices__list--dropdown .choices__item--selectable.is-highlighted:after {
    opacity: .5
}

.choices__item {
    cursor: default
}

.choices__item--selectable {
    cursor: pointer
}

.choices__item--disabled {
    cursor: not-allowed;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    opacity: .5
}

.choices__heading {
    font-weight: 600;
    font-size: 12px;
    padding: 10px;
    border-bottom: 1px solid #f7f7f7;
    color: gray
}

.choices__button {
    text-indent: -9999px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer
}

.choices__button:focus, .choices__input:focus {
    outline: 0
}

.choices__input {
    display: inline-block;
    vertical-align: baseline;
    background-color: #f9f9f9;
    font-size: 14px;
    margin-bottom: 5px;
    border: 0;
    border-radius: 0;
    max-width: 100%;
    padding: 4px 0 4px 2px
}

[dir=rtl] .choices__input {
    padding-right: 2px;
    padding-left: 0
}

.choices__placeholder {
    opacity: .5
}

.flatpickr-calendar {
    background: transparent;
    opacity: 0;
    display: none;
    text-align: center;
    visibility: hidden;
    padding: 0;
    -webkit-animation: none;
    animation: none;
    direction: ltr;
    border: 0;
    font-size: 14px;
    line-height: 24px;
    border-radius: 5px;
    position: absolute;
    width: 307.875px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    background: #fff;
    -webkit-box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08);
    box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08)
}

.flatpickr-calendar.open, .flatpickr-calendar.inline {
    opacity: 1;
    max-height: 640px;
    visibility: visible
}

.flatpickr-calendar.open {
    display: inline-block;
    z-index: 99999
}

.flatpickr-calendar.animate.open {
    -webkit-animation: fpFadeInDown 300ms cubic-bezier(.23, 1, .32, 1);
    animation: fpFadeInDown 300ms cubic-bezier(.23, 1, .32, 1)
}

.flatpickr-calendar.inline {
    display: block;
    position: relative;
    top: 2px
}

.flatpickr-calendar.static {
    position: absolute;
    top: calc(100% + 2px)
}

.flatpickr-calendar.static.open {
    z-index: 999;
    display: block
}

.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
    -webkit-box-shadow: none !important;
    box-shadow: none !important
}

.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
    -webkit-box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
    box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6
}

.flatpickr-calendar .hasWeeks .dayContainer, .flatpickr-calendar .hasTime .dayContainer {
    border-bottom: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0
}

.flatpickr-calendar .hasWeeks .dayContainer {
    border-left: 0
}

.flatpickr-calendar.hasTime .flatpickr-time {
    height: 40px;
    border-top: 1px solid #e6e6e6
}

.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
    height: auto
}

.flatpickr-calendar:before, .flatpickr-calendar:after {
    position: absolute;
    display: block;
    pointer-events: none;
    border: solid transparent;
    content: '';
    height: 0;
    width: 0;
    left: 22px
}

.flatpickr-calendar.rightMost:before, .flatpickr-calendar.arrowRight:before, .flatpickr-calendar.rightMost:after, .flatpickr-calendar.arrowRight:after {
    left: auto;
    right: 22px
}

.flatpickr-calendar.arrowCenter:before, .flatpickr-calendar.arrowCenter:after {
    left: 50%;
    right: 50%
}

.flatpickr-calendar:before {
    border-width: 5px;
    margin: 0 -5px
}

.flatpickr-calendar:after {
    border-width: 4px;
    margin: 0 -4px
}

.flatpickr-calendar.arrowTop:before, .flatpickr-calendar.arrowTop:after {
    bottom: 100%
}

.flatpickr-calendar.arrowTop:before {
    border-bottom-color: #e6e6e6
}

.flatpickr-calendar.arrowTop:after {
    border-bottom-color: #fff
}

.flatpickr-calendar.arrowBottom:before, .flatpickr-calendar.arrowBottom:after {
    top: 100%
}

.flatpickr-calendar.arrowBottom:before {
    border-top-color: #e6e6e6
}

.flatpickr-calendar.arrowBottom:after {
    border-top-color: #fff
}

.flatpickr-calendar:focus {
    outline: 0
}

.flatpickr-wrapper {
    position: relative;
    display: inline-block
}

.flatpickr-months {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

.flatpickr-months .flatpickr-month {
    background: transparent;
    color: rgba(0, 0, 0, 0.9);
    fill: rgba(0, 0, 0, 0.9);
    height: 34px;
    line-height: 1;
    text-align: center;
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    overflow: hidden;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1
}

.flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month {
    text-decoration: none;
    cursor: pointer;
    position: absolute;
    top: 0;
    height: 34px;
    padding: 10px;
    z-index: 3;
    color: rgba(0, 0, 0, 0.9);
    fill: rgba(0, 0, 0, 0.9)
}

.flatpickr-months .flatpickr-prev-month.flatpickr-disabled, .flatpickr-months .flatpickr-next-month.flatpickr-disabled {
    display: none
}

.flatpickr-months .flatpickr-prev-month i, .flatpickr-months .flatpickr-next-month i {
    position: relative
}

.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month, .flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
    /*
      /*rtl:begin:ignore*/
    left: 0 /*
      /*rtl:end:ignore*/
}

/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month.flatpickr-next-month, .flatpickr-months .flatpickr-next-month.flatpickr-next-month {
    /*
      /*rtl:begin:ignore*/
    right: 0 /*
      /*rtl:end:ignore*/
}

/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month:hover, .flatpickr-months .flatpickr-next-month:hover {
    color: #959ea9
}

.flatpickr-months .flatpickr-prev-month:hover svg, .flatpickr-months .flatpickr-next-month:hover svg {
    fill: #f64747
}

.flatpickr-months .flatpickr-prev-month svg, .flatpickr-months .flatpickr-next-month svg {
    width: 14px;
    height: 14px
}

.flatpickr-months .flatpickr-prev-month svg path, .flatpickr-months .flatpickr-next-month svg path {
    -webkit-transition: fill .1s;
    transition: fill .1s;
    fill: inherit
}

.numInputWrapper {
    position: relative;
    height: auto
}

.numInputWrapper input, .numInputWrapper span {
    display: inline-block
}

.numInputWrapper input {
    width: 100%
}

.numInputWrapper input::-ms-clear {
    display: none
}

.numInputWrapper input::-webkit-outer-spin-button, .numInputWrapper input::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none
}

.numInputWrapper span {
    position: absolute;
    right: 0;
    width: 14px;
    padding: 0 4px 0 2px;
    height: 50%;
    line-height: 50%;
    opacity: 0;
    cursor: pointer;
    border: 1px solid rgba(57, 57, 57, 0.15);
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.numInputWrapper span:hover {
    background: rgba(0, 0, 0, 0.1)
}

.numInputWrapper span:active {
    background: rgba(0, 0, 0, 0.2)
}

.numInputWrapper span:after {
    display: block;
    content: "";
    position: absolute
}

.numInputWrapper span.arrowUp {
    top: 0;
    border-bottom: 0
}

.numInputWrapper span.arrowUp:after {
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-bottom: 4px solid rgba(57, 57, 57, 0.6);
    top: 26%
}

.numInputWrapper span.arrowDown {
    top: 50%
}

.numInputWrapper span.arrowDown:after {
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid rgba(57, 57, 57, 0.6);
    top: 40%
}

.numInputWrapper span svg {
    width: inherit;
    height: auto
}

.numInputWrapper span svg path {
    fill: rgba(0, 0, 0, 0.5)
}

.numInputWrapper:hover {
    background: rgba(0, 0, 0, 0.05)
}

.numInputWrapper:hover span {
    opacity: 1
}

.flatpickr-current-month {
    font-size: 135%;
    line-height: inherit;
    font-weight: 300;
    color: inherit;
    position: absolute;
    width: 75%;
    left: 12.5%;
    padding: 7.48px 0 0 0;
    line-height: 1;
    height: 34px;
    display: inline-block;
    text-align: center;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.flatpickr-current-month span.cur-month {
    font-family: inherit;
    font-weight: 700;
    color: inherit;
    display: inline-block;
    margin-left: .5ch;
    padding: 0
}

.flatpickr-current-month span.cur-month:hover {
    background: rgba(0, 0, 0, 0.05)
}

.flatpickr-current-month .numInputWrapper {
    width: 6ch;
    width: 7ch \0;
    display: inline-block
}

.flatpickr-current-month .numInputWrapper span.arrowUp:after {
    border-bottom-color: rgba(0, 0, 0, 0.9)
}

.flatpickr-current-month .numInputWrapper span.arrowDown:after {
    border-top-color: rgba(0, 0, 0, 0.9)
}

.flatpickr-current-month input.cur-year {
    background: transparent;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: inherit;
    cursor: text;
    padding: 0 0 0 .5ch;
    margin: 0;
    display: inline-block;
    font-size: inherit;
    font-family: inherit;
    font-weight: 300;
    line-height: inherit;
    height: auto;
    border: 0;
    border-radius: 0;
    vertical-align: initial;
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield
}

.flatpickr-current-month input.cur-year:focus {
    outline: 0
}

.flatpickr-current-month input.cur-year[disabled], .flatpickr-current-month input.cur-year[disabled]:hover {
    font-size: 100%;
    color: rgba(0, 0, 0, 0.5);
    background: transparent;
    pointer-events: none
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
    appearance: menulist;
    background: transparent;
    border: none;
    border-radius: 0;
    box-sizing: border-box;
    color: inherit;
    cursor: pointer;
    font-size: inherit;
    font-family: inherit;
    font-weight: 300;
    height: auto;
    line-height: inherit;
    margin: -1px 0 0 0;
    outline: none;
    padding: 0 0 0 .5ch;
    position: relative;
    vertical-align: initial;
    -webkit-box-sizing: border-box;
    -webkit-appearance: menulist;
    -moz-appearance: menulist;
    width: auto
}

.flatpickr-current-month .flatpickr-monthDropdown-months:focus, .flatpickr-current-month .flatpickr-monthDropdown-months:active {
    outline: none
}

.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
    background: rgba(0, 0, 0, 0.05)
}

.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
    background-color: transparent;
    outline: none;
    padding: 0
}

.flatpickr-weekdays {
    background: transparent;
    text-align: center;
    overflow: hidden;
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    height: 28px
}

.flatpickr-weekdays .flatpickr-weekdaycontainer {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1
}

span.flatpickr-weekday {
    cursor: default;
    font-size: 90%;
    background: transparent;
    color: rgba(0, 0, 0, 0.54);
    line-height: 1;
    margin: 0;
    text-align: center;
    display: block;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    font-weight: bolder
}

.dayContainer, .flatpickr-weeks {
    padding: 1px 0 0 0
}

.flatpickr-days {
    position: relative;
    overflow: hidden;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    width: 307.875px
}

.flatpickr-days:focus {
    outline: 0
}

.dayContainer {
    padding: 0;
    outline: 0;
    text-align: left;
    width: 307.875px;
    min-width: 307.875px;
    max-width: 307.875px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1
}

.dayContainer + .dayContainer {
    -webkit-box-shadow: -1px 0 0 #e6e6e6;
    box-shadow: -1px 0 0 #e6e6e6
}

.flatpickr-day {
    background: none;
    border: 1px solid transparent;
    border-radius: 150px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #393939;
    cursor: pointer;
    font-weight: 400;
    width: 14.2857143%;
    -webkit-flex-basis: 14.2857143%;
    -ms-flex-preferred-size: 14.2857143%;
    flex-basis: 14.2857143%;
    max-width: 39px;
    height: 39px;
    line-height: 39px;
    margin: 0;
    display: inline-block;
    position: relative;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center
}

.flatpickr-day.inRange, .flatpickr-day.prevMonthDay.inRange, .flatpickr-day.nextMonthDay.inRange, .flatpickr-day.today.inRange, .flatpickr-day.prevMonthDay.today.inRange, .flatpickr-day.nextMonthDay.today.inRange, .flatpickr-day:hover, .flatpickr-day.prevMonthDay:hover, .flatpickr-day.nextMonthDay:hover, .flatpickr-day:focus, .flatpickr-day.prevMonthDay:focus, .flatpickr-day.nextMonthDay:focus {
    cursor: pointer;
    outline: 0;
    background: #e6e6e6;
    border-color: #e6e6e6
}

.flatpickr-day.today {
    border-color: #959ea9
}

.flatpickr-day.today:hover, .flatpickr-day.today:focus {
    border-color: #959ea9;
    background: #959ea9;
    color: #fff
}

.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay {
    background: #569ff7;
    -webkit-box-shadow: none;
    box-shadow: none;
    color: #fff;
    border-color: #569ff7
}

.flatpickr-day.selected.startRange, .flatpickr-day.startRange.startRange, .flatpickr-day.endRange.startRange {
    border-radius: 50px 0 0 50px
}

.flatpickr-day.selected.endRange, .flatpickr-day.startRange.endRange, .flatpickr-day.endRange.endRange {
    border-radius: 0 50px 50px 0
}

.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
    -webkit-box-shadow: -10px 0 0 #569ff7;
    box-shadow: -10px 0 0 #569ff7
}

.flatpickr-day.selected.startRange.endRange, .flatpickr-day.startRange.startRange.endRange, .flatpickr-day.endRange.startRange.endRange {
    border-radius: 50px
}

.flatpickr-day.inRange {
    border-radius: 0;
    -webkit-box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
    box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6
}

.flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover, .flatpickr-day.prevMonthDay, .flatpickr-day.nextMonthDay, .flatpickr-day.notAllowed, .flatpickr-day.notAllowed.prevMonthDay, .flatpickr-day.notAllowed.nextMonthDay {
    color: rgba(57, 57, 57, 0.3);
    background: transparent;
    border-color: transparent;
    cursor: default
}

.flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover {
    cursor: not-allowed;
    color: rgba(57, 57, 57, 0.1)
}

.flatpickr-day.week.selected {
    border-radius: 0;
    -webkit-box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
    box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7
}

.flatpickr-day.hidden {
    visibility: hidden
}

.rangeMode .flatpickr-day {
    margin-top: 1px
}

.flatpickr-weekwrapper {
    float: left
}

.flatpickr-weekwrapper .flatpickr-weeks {
    padding: 0 12px;
    -webkit-box-shadow: 1px 0 0 #e6e6e6;
    box-shadow: 1px 0 0 #e6e6e6
}

.flatpickr-weekwrapper .flatpickr-weekday {
    float: none;
    width: 100%;
    line-height: 28px
}

.flatpickr-weekwrapper span.flatpickr-day, .flatpickr-weekwrapper span.flatpickr-day:hover {
    display: block;
    width: 100%;
    max-width: none;
    color: rgba(57, 57, 57, 0.3);
    background: transparent;
    cursor: default;
    border: none
}

.flatpickr-innerContainer {
    display: block;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden
}

.flatpickr-rContainer {
    display: inline-block;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.flatpickr-time {
    text-align: center;
    outline: 0;
    display: block;
    height: 0;
    line-height: 40px;
    max-height: 40px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

.flatpickr-time:after {
    content: "";
    display: table;
    clear: both
}

.flatpickr-time .numInputWrapper {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    width: 40%;
    height: 40px;
    float: left
}

.flatpickr-time .numInputWrapper span.arrowUp:after {
    border-bottom-color: #393939
}

.flatpickr-time .numInputWrapper span.arrowDown:after {
    border-top-color: #393939
}

.flatpickr-time.hasSeconds .numInputWrapper {
    width: 26%
}

.flatpickr-time.time24hr .numInputWrapper {
    width: 49%
}

.flatpickr-time input {
    background: transparent;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: 0;
    border-radius: 0;
    text-align: center;
    margin: 0;
    padding: 0;
    height: inherit;
    line-height: inherit;
    color: #393939;
    font-size: 14px;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield
}

.flatpickr-time input.flatpickr-hour {
    font-weight: bold
}

.flatpickr-time input.flatpickr-minute, .flatpickr-time input.flatpickr-second {
    font-weight: 400
}

.flatpickr-time input:focus {
    outline: 0;
    border: 0
}

.flatpickr-time .flatpickr-time-separator, .flatpickr-time .flatpickr-am-pm {
    height: inherit;
    float: left;
    line-height: inherit;
    color: #393939;
    font-weight: bold;
    width: 2%;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    align-self: center
}

.flatpickr-time .flatpickr-am-pm {
    outline: 0;
    width: 18%;
    cursor: pointer;
    text-align: center;
    font-weight: 400
}

.flatpickr-time input:hover, .flatpickr-time .flatpickr-am-pm:hover, .flatpickr-time input:focus, .flatpickr-time .flatpickr-am-pm:focus {
    background: #eee
}

.flatpickr-input[readonly] {
    cursor: pointer
}

@-webkit-keyframes fpFadeInDown {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes fpFadeInDown {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0)
    }
    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@font-face {
    font-family: 'Bliss';
    src: url("../fonts/bliss-bold.woff") format("woff"), url("../fonts/bliss-bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: 'Bliss';
    src: url("../fonts/bliss-light.woff") format("woff"), url("../fonts/bliss-light.woff2") format("woff2");
    font-weight: 300;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: 'National';
    src: local("national-2"), url("../fonts/national-2-condensed-web-bold.woff") format("woff");
    font-weight: 900
}

@font-face {
    font-family: 'National';
    src: local("national-2"), url("../fonts/national-2-web-extrabold.woff") format("woff");
    font-weight: 800
}

@font-face {
    font-family: 'National';
    src: local("national-2"), url("../fonts/national-2-web-bold.woff") format("woff");
    font-weight: 700
}

@font-face {
    font-family: 'National';
    src: local("national-2"), url("../fonts/national-2-web-regular.woff") format("woff");
    font-weight: 400
}

@font-face {
    font-family: 'National';
    src: local("national-2"), url("../fonts/national-2-web-light-italic.woff") format("woff");
    font-weight: 300;
    font-style: italic
}

@font-face {
    font-family: 'National';
    src: local("national-2"), url("../fonts/national-2-web-light.woff") format("woff");
    font-weight: 300
}

@keyframes spin {
    to {
        transform: rotate(360deg)
    }
}

@keyframes slidein {
    from {
        opacity: 0;
        transform: translateY(20px)
    }
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

html, body, input, select, textarea {
    color: #222;
    font-size: 100%;
    font-weight: 300
}

body {
    font-size: 16px;
    font-family: "National", sans-serif;
    line-height: 1.5;
    width: auto;
    height: auto;
    padding: 0;
    margin: 0
}

h1, h2, h3, h4, h5, h6 {
    color: #002e4f;
    font-family: "National", sans-serif;
    font-weight: 700;
    margin: 1em 0 .5em 0;
    line-height: 1.2
}

h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child {
    margin-top: 0
}

h1.small, h2.small, h3.small, h4.small, h5.small, h6.small {
    font-size: .75rem;
    text-transform: uppercase;
    color: #365796;
    letter-spacing: 1.2px;
    font-weight: 300
}

h1 {
    font-size: 2rem
}

@media only screen and (max-width: 46.25em) {
    h1 {
        font-size: 1.5rem
    }
}

h2 {
    font-size: 1.5rem
}

@media only screen and (max-width: 46.25em) {
    h2 {
        font-size: 1.375rem
    }
}

h3 {
    font-size: 1.375rem
}

@media only screen and (max-width: 46.25em) {
    h3 {
        font-size: 1.25rem
    }
}

h4 {
    font-size: 1.25rem
}

@media only screen and (max-width: 46.25em) {
    h4 {
        font-size: 1.125rem
    }
}

h5 {
    font-size: 1.125rem
}

@media only screen and (max-width: 46.25em) {
    h5 {
        font-size: 1rem
    }
}

h6 {
    font-size: 1rem
}

p, ul, ol {
    font-size: 1rem;
    margin: 0 0 1em 0;
    font-weight: 300
}

ul, ol {
    margin-left: 20px;
    padding: 0
}

li {
    margin: 0;
    padding: 0
}

a {
    color: #365796;
    text-decoration: underline;
    transition: color .1s linear
}

a:focus {
    outline: 5px auto -webkit-focus-ring-color
}

a:focus, a:hover {
    color: #002e4f
}

a:hover {
    outline-width: 0
}

a:active {
    color: #000;
    outline-width: 0
}

a:focus:not(:focus-visible) {
    outline: none
}

a img {
    border: none
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ddd;
    margin: 1em 0;
    padding: 0
}

img, picture {
    margin: 0;
    max-width: 100%;
    height: auto
}

img.image-left, picture.image-left {
    float: left;
    margin: 0 1em 1em 0
}

img.image-right, picture.image-right {
    float: right;
    margin: 0 0 1em 1em
}

blockquote {
    margin: 2em 0;
    padding: 0;
    font-style: italic;
    font-size: 1.25rem;
    text-align: left;
    line-height: 1.4;
    font-weight: 700
}

fieldset {
    display: block;
    padding: 0;
    margin: 0;
    border: none
}

.form-group {
    max-width: 480px
}

.form-group:not(:last-child) {
    margin-bottom: 20px
}

.form-group--4-cols {
    margin-top: 10px;
    max-width: unset;
    display: grid;
    grid-template-columns:1fr 1fr 1fr 1fr;
    grid-gap: 20px
}

@media only screen and (max-width: 48em) {
    .form-group--4-cols {
        grid-template-columns:1fr 1fr
    }
}

@media only screen and (max-width: 46.25em) {
    .form-group--4-cols {
        grid-template-columns:1fr
    }
}

.form-group--4-cols .checkbox-item {
    margin: 0
}

.form-group--inline-fields {
    display: flex
}

.form-group--inline-fields > * {
    margin-right: 40px
}

.column-wrapper .column-1of2 .form-group {
    margin-bottom: 20px
}

.column-wrapper:last-child .column-1of2:last-child .form-group {
    margin-bottom: 0
}

.checkbox-item {
    display: flex;
    margin-top: 10px;
    margin-bottom: 10px
}

.checkbox-item label {
    font-weight: 300
}

label, legend {
    display: block;
    margin-bottom: 5px;
    font-weight: 700;
    font-size: .875rem;
    line-height: 1.3
}

.field-validation-error, .invalid-feedback {
    color: #c82929;
    display: block;
    font-size: .75rem;
    font-weight: 500
}

.form-group .field-validation-error, .form-group .invalid-feedback {
    text-align: right
}

.field-validation-error.image-upload, .invalid-feedback.image-upload {
    font-size: 1.125rem
}

input[type="date"], input[type="datetime-local"], input[type="email"], input[type="file"], input[type="month"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="time"], input[type="url"], input[type="week"], select, textarea {
    font-size: 1rem;
    font-family: "National", sans-serif;
    padding: 10px;
    line-height: auto;
    background-color: #fff;
    border: 1px solid #ddd;
    width: 100%;
    border-radius: 0
}

input[type="date"].placeholder, input[type="datetime-local"].placeholder, input[type="email"].placeholder, input[type="file"].placeholder, input[type="month"].placeholder, input[type="number"].placeholder, input[type="password"].placeholder, input[type="search"].placeholder, input[type="tel"].placeholder, input[type="text"].placeholder, input[type="time"].placeholder, input[type="url"].placeholder, input[type="week"].placeholder, select.placeholder, textarea.placeholder {
    color: rgba(34, 34, 34, .5)
}

input[type="date"]:-moz-placeholder, input[type="datetime-local"]:-moz-placeholder, input[type="email"]:-moz-placeholder, input[type="file"]:-moz-placeholder, input[type="month"]:-moz-placeholder, input[type="number"]:-moz-placeholder, input[type="password"]:-moz-placeholder, input[type="search"]:-moz-placeholder, input[type="tel"]:-moz-placeholder, input[type="text"]:-moz-placeholder, input[type="time"]:-moz-placeholder, input[type="url"]:-moz-placeholder, input[type="week"]:-moz-placeholder, select:-moz-placeholder, textarea:-moz-placeholder {
    color: rgba(34, 34, 34, .5)
}

input[type="date"]::-moz-placeholder, input[type="datetime-local"]::-moz-placeholder, input[type="email"]::-moz-placeholder, input[type="file"]::-moz-placeholder, input[type="month"]::-moz-placeholder, input[type="number"]::-moz-placeholder, input[type="password"]::-moz-placeholder, input[type="search"]::-moz-placeholder, input[type="tel"]::-moz-placeholder, input[type="text"]::-moz-placeholder, input[type="time"]::-moz-placeholder, input[type="url"]::-moz-placeholder, input[type="week"]::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder {
    color: rgba(34, 34, 34, .5)
}

input[type="date"]:-ms-input-placeholder, input[type="datetime-local"]:-ms-input-placeholder, input[type="email"]:-ms-input-placeholder, input[type="file"]:-ms-input-placeholder, input[type="month"]:-ms-input-placeholder, input[type="number"]:-ms-input-placeholder, input[type="password"]:-ms-input-placeholder, input[type="search"]:-ms-input-placeholder, input[type="tel"]:-ms-input-placeholder, input[type="text"]:-ms-input-placeholder, input[type="time"]:-ms-input-placeholder, input[type="url"]:-ms-input-placeholder, input[type="week"]:-ms-input-placeholder, select:-ms-input-placeholder, textarea:-ms-input-placeholder {
    color: rgba(34, 34, 34, .5)
}

input[type="date"]::-webkit-input-placeholder, input[type="datetime-local"]::-webkit-input-placeholder, input[type="email"]::-webkit-input-placeholder, input[type="file"]::-webkit-input-placeholder, input[type="month"]::-webkit-input-placeholder, input[type="number"]::-webkit-input-placeholder, input[type="password"]::-webkit-input-placeholder, input[type="search"]::-webkit-input-placeholder, input[type="tel"]::-webkit-input-placeholder, input[type="text"]::-webkit-input-placeholder, input[type="time"]::-webkit-input-placeholder, input[type="url"]::-webkit-input-placeholder, input[type="week"]::-webkit-input-placeholder, select::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
    color: rgba(34, 34, 34, .5)
}

input[type="date"]:disabled, input[type="datetime-local"]:disabled, input[type="email"]:disabled, input[type="file"]:disabled, input[type="month"]:disabled, input[type="number"]:disabled, input[type="password"]:disabled, input[type="search"]:disabled, input[type="tel"]:disabled, input[type="text"]:disabled, input[type="time"]:disabled, input[type="url"]:disabled, input[type="week"]:disabled, select:disabled, textarea:disabled {
    cursor: not-allowed;
    opacity: .35;
    user-select: none;
    pointer-events: none
}

input[type="date"].date-field, input[type="datetime-local"].date-field, input[type="email"].date-field, input[type="file"].date-field, input[type="month"].date-field, input[type="number"].date-field, input[type="password"].date-field, input[type="search"].date-field, input[type="tel"].date-field, input[type="text"].date-field, input[type="time"].date-field, input[type="url"].date-field, input[type="week"].date-field, select.date-field, textarea.date-field {
    background-image: url(../fonts/icon-calendar.svg);
    background-size: 18px;
    background-repeat: no-repeat;
    background-position: center right 10px;
    padding-right: 40px
}

input[type="date"].has-error, input[type="datetime-local"].has-error, input[type="email"].has-error, input[type="file"].has-error, input[type="month"].has-error, input[type="number"].has-error, input[type="password"].has-error, input[type="search"].has-error, input[type="tel"].has-error, input[type="text"].has-error, input[type="time"].has-error, input[type="url"].has-error, input[type="week"].has-error, select.has-error, textarea.has-error {
    border-color: #c82929
}

input {
    -webkit-appearance: none
}

input[type="hidden"] {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden
}

textarea {
    height: 200px;
    resize: vertical
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
    select:not([multiple]) {
        -webkit-appearance: none;
        appearance: none;
        cursor: pointer;
        background-position: right 10px top 50%;
        background-repeat: no-repeat;
        background-size: 18px;
        padding-right: 2em
    }
}

.dropdown-style {
    background-position: right 10px top 50%;
    background-repeat: no-repeat;
    background-size: 18px;
    padding-right: 2em
}

@supports (-webkit-appearance:none) or (-moz-appearance:none) {
    input[type='checkbox'], input[type='radio'] {
        -webkit-appearance: none;
        -moz-appearance: none
    }
}

input[type='checkbox'] ~ label, input[type='radio'] ~ label {
    line-height: 1;
    display: inline-block;
    vertical-align: top;
    cursor: pointer;
    margin: 0;
    position: relative;
    top: 2px
}

input[type='checkbox'], input[type='radio'] {
    display: inline-block;
    width: 1.25em;
    height: 1.25em;
    padding: 0;
    margin: 0 10px 0 0;
    position: relative;
    flex-shrink: 0
}

input[type='checkbox']:disabled, input[type='radio']:disabled {
    cursor: not-allowed;
    opacity: .35;
    user-select: none;
    pointer-events: none
}

input[type='checkbox'] {
    border: 1px solid #ddd;
    background-color: #fff
}

input[type='checkbox']:after {
    visibility: hidden;
    opacity: 0;
    content: "";
    background-image: url(../fonts/icon-tick.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 1em;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    transition: all .25s linear
}

input[type='checkbox']:checked:after {
    visibility: visible;
    opacity: 1
}

input[type='checkbox'].checkbox--switch {
    width: 2.25em;
    border: 1px solid #222;
    border-radius: 1em
}

input[type='checkbox'].checkbox--switch:after {
    content: "";
    visibility: visible;
    opacity: 1;
    display: block;
    border: 1px solid #222;
    background-image: none;
    background-color: transparent;
    width: calc(1em - 6px);
    height: calc(1em - 6px);
    border-radius: 50%;
    position: absolute;
    left: 3px;
    top: 3px
}

input[type='checkbox'].checkbox--switch:checked {
    background-color: #fff
}

input[type='checkbox'].checkbox--switch:checked:after {
    transform: translateX(1em);
    background-color: #008ccc
}

input[type='radio'] {
    border: 1px solid #ddd;
    border-radius: 50%;
    background-color: #fff
}

input[type='radio']:after {
    visibility: hidden;
    opacity: 0;
    content: "";
    background-color: #fff;
    border-radius: 50%;
    position: absolute;
    left: 4px;
    right: 4px;
    top: 4px;
    bottom: 4px;
    transition: all .25s linear;
    margin: auto
}

input[type='radio']:checked {
    background-color: #008ccc
}

input[type='radio']:checked:after {
    visibility: visible;
    opacity: 1
}

table {
    font-size: 1rem;
    width: 100%;
    border: 1px solid #ddd;
    border-collapse: collapse
}

table thead tr {
    background-color: #ece8ec
}

table tbody tr:nth-child(even) {
    background-color: #f5f3f5
}

table th, table td {
    border: 1px solid #ddd;
    padding: 10px;
    text-align: left
}

.button:focus, button:focus {
    outline: 5px auto -webkit-focus-ring-color
}

.button:hover, button:hover {
    outline-width: 0 !important
}

.button:active, button:active {
    outline-width: 0 !important
}

.button:focus:not(:focus-visible), button:focus:not(:focus-visible) {
    outline: none
}

.button + .button, .button + button, button + .button, button + button {
    margin-left: 10px
}

@media only screen and (max-width: 46.25em) {
    .button + .button, .button + button, button + .button, button + button {
        margin-left: 0;
        margin-top: 10px
    }
}

.button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-family: "National", sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    padding: 1em 3em;
    background: #002e4f;
    border: none;
    -webkit-appearance: none;
    border-radius: 0;
    transition: all .25s ease-in-out;
    position: relative;
    cursor: pointer;
    min-width: 320px
}

@media only screen and (max-width: 46.25em) {
    .button {
        display: flex;
        min-width: unset;
        width: 100%
    }
}

.button:hover, .button:focus {
    filter: brightness(95%) grayscale(5%);
    color: #fff
}

.button:active {
    filter: grayscale(5%) brightness(90%)
}

.button:disabled {
    cursor: not-allowed;
    opacity: .5;
    filter: grayscale(100%)
}

.button--theme-news {
    background: #365796
}

.button--theme-news:hover, .button--theme-news:focus {
    background: #294171
}

.button--theme-news:active {
    background: #22365e
}

.button--theme-events {
    background: #c82929
}

.button--theme-events:hover, .button--theme-events:focus {
    background: #9e2020
}

.button--theme-events:active {
    background: #891c1c
}

.button--theme-local {
    background: #5a8128
}

.button--theme-local:hover, .button--theme-local:focus {
    background: #3f5a1c
}

.button--theme-local:active {
    background: #314716
}

.button--theme-campaign {
    background: #034c45
}

.button--theme-campaign:hover, .button--theme-campaign:focus {
    background: #011b18
}

.button--theme-campaign:active {
    background: #000202
}

.button--theme-grey {
    background: #657b97
}

.button--theme-grey:hover, .button--theme-grey:focus {
    background: #516278
}

.button--theme-grey:active {
    background: #465669
}

.button--text-dark {
    color: #222
}

.button--text-dark:hover, .button--text-dark:focus {
    color: #222
}

.button--ghost {
    background: #fff;
    border: 1px solid #002e4f;
    color: #002e4f
}

.button--ghost:hover, .button--ghost:focus {
    background: #002e4f;
    color: #fff
}

.button--small-text {
    background: transparent;
    color: #000;
    text-transform: uppercase;
    font-size: .75rem;
    letter-spacing: 1.2px;
    font-weight: 400;
    min-width: unset;
    padding: 1em
}

.button--small-text:hover, .button--small-text:focus {
    background: transparent;
    color: #000
}

.button--small-text .icon {
    font-size: 1.5em
}

.button-plus {
    color: #222;
    font-size: 1.375rem
}

.button-plus:hover, .button-plus:focus {
    color: #008ccc
}

.button-plus .icon {
    display: block
}

.button-trash {
    color: #6f6f6f;
    font-size: 1.125rem
}

.button-trash:hover, .button-trash:focus {
    color: #222
}

.button-trash .icon {
    display: block
}

.icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    stroke-width: 0;
    stroke: currentColor;
    fill: currentColor
}

.ajax-spinner {
    border: .1875rem solid rgba(0, 0, 0, .4);
    border-top-color: #000;
    border-radius: 50%;
    width: 3em;
    height: 3em;
    animation: spin 1s linear infinite
}

.ajax-spinner-container-dark {
    z-index: 999;
    background: rgba(0, 0, 0, .5);
    padding: 1em;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center
}

.ajax-spinner-container-dark .ajax-spinner {
    border-color: rgba(255, 255, 255, .4);
    border-top-color: #fff
}

.ajax-spinner-container-light {
    z-index: 999;
    background: rgba(255, 255, 255, .5);
    padding: 1em;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center
}

.ajax-spinner-container-light .ajax-spinner {
    border-color: rgba(0, 0, 0, .4);
    border-top-color: #000
}

.pagination {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    font-size: 1.125rem;
    line-height: 1
}

@media only screen and (max-width: 48em) {
    .pagination {
        font-size: 1rem
    }
}

.pagination__item {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    width: 2em;
    height: 2em
}

.pagination__item:not(:last-child) {
    margin-right: 10px
}

@media only screen and (max-width: 20em) {
    .pagination__item:not(:last-child) {
        margin-right: 5px
    }
}

.pagination__item.is-active .pagination__link {
    background-color: #002e4f;
    color: #fff
}

.pagination__item.is-active .pagination__link:hover, .pagination__item.is-active .pagination__link:focus {
    text-decoration: none
}

.pagination__item--prev .pagination__link:hover, .pagination__item--prev .pagination__link:focus {
    transform: translateX(-2px)
}

.pagination__item--next .pagination__link:hover, .pagination__item--next .pagination__link:focus {
    transform: translateX(2px)
}

.pagination__link {
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    width: 2em;
    height: 2em;
    color: #222;
    transition: all .25s ease-in-out
}

.pagination__link:hover, .pagination__link:focus {
    background-color: #f5f3f5;
    color: #222;
    text-decoration: underline
}

[data-tooltip] {
    position: relative;
    z-index: 2;
    cursor: pointer
}

[data-tooltip]:before, [data-tooltip]:after {
    visibility: hidden;
    opacity: 0;
    pointer-events: none
}

[data-tooltip]:before {
    position: absolute;
    bottom: 120%;
    left: 50%;
    margin-bottom: 5px;
    margin-left: -80px;
    padding: 7px;
    width: 160px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    background-color: #000;
    background-color: rgba(51, 51, 51, .9);
    color: #fff;
    content: attr(data-tooltip);
    text-align: center;
    font-size: .8125rem;
    line-height: 1.4
}

[data-tooltip]:after {
    content: " ";
    position: absolute;
    bottom: calc(120% - 5px);
    left: 50%;
    border: solid transparent;
    height: 0;
    width: 0;
    border-color: transparent;
    border-top-color: rgba(51, 51, 51, .9);
    border-width: 5px;
    margin-left: -5px
}

[data-tooltip]:hover:before, [data-tooltip]:hover:after {
    visibility: visible;
    opacity: 1
}

#AdminBar {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    padding-top: 5px;
    padding-bottom: 5px;
    background-color: rgba(0, 0, 0, .8);
    z-index: 9999
}

@media only screen and (max-width: 64em) {
    #AdminBar + header {
        padding-top: 40px
    }
}

@media only screen and (max-width: 46.25em) {
    #AdminBar + header .mobile-menu {
        top: 30px
    }
}

#AdminBar a {
    color: #fff;
    text-decoration: underline
}

#AdminBar .close {
    display: block;
    position: absolute;
    top: 5px;
    right: 5px;
    width: 20px;
    height: 20px;
    cursor: pointer;
    text-decoration: none;
    transition: opacity, .2s, linear
}

#AdminBar .close:before {
    content: "×";
    color: #fff;
    font-size: 1.25rem
}

#AdminBar .close:hover {
    opacity: .8
}

#AdminBar ul {
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: right;
    padding-right: 50px
}

@media only screen and (max-width: 46.25em) {
    #AdminBar ul {
        padding-right: 40px
    }
}

#AdminBar ul li {
    display: inline-block;
    color: #fff;
    font-size: .8125rem;
    margin-left: 20px
}

#AdminBar ul li:first-child {
    margin-left: 0
}

#AdminBar ul li.greeting {
    opacity: .8
}

@media only screen and (max-width: 46.25em) {
    #AdminBar ul li.pipe {
        display: none
    }
}

* {
    box-sizing: border-box
}

@media screen {
    @supports (display:grid) {
        .fade-in {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 1.5s cubic-bezier(.2, 1, .3, 1), transform 1.5s cubic-bezier(.2, 1, .3, 1)
        }

        .fade-in.fade-in--is-visible {
            opacity: 1;
            transform: translateY(0)
        }
    }
}

body.lock-scroll {
    height: 100%;
    overflow: hidden
}

body.no-intersection-observer .fade-in {
    opacity: 1;
    transform: translateY(0)
}

main {
    position: relative
}

section {
    margin-top: 40px;
    margin-bottom: 100px
}

@media only screen and (max-width: 48em) {
    section {
        margin-top: 30px;
        margin-bottom: 40px
    }
}

.section-header {
    font-size: 2rem;
    font-weight: 700
}

@media only screen and (max-width: 48em) {
    .section-header {
        font-size: 1.5rem
    }
}

.section-header span {
    font-size: 1.125rem;
    color: #222;
    margin-left: 10px
}

@media only screen and (max-width: 48em) {
    .section-header span {
        font-size: .9375rem
    }
}

.aside-title {
    font-size: .75rem;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    font-weight: 300;
    margin-bottom: 20px
}

.upgrade-browser {
    display: none;
    background-color: #f5f3f5;
    padding: 20px
}

@media all and (-ms-high-contrast: none),(-ms-high-contrast: active) {
    .upgrade-browser {
        display: block
    }
}

.column-wrapper {
    width: calc(100% - 2.5rem * 2);
    max-width: 90rem;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap
}

@supports (display:grid) {
    .column-wrapper {
        width: calc(100% - 2.5rem * 2);
        max-width: 87.5rem;
        margin: 0 auto;
        display: grid;
        grid-template-columns:repeat(12, 1fr);
        grid-template-columns:repeat(12, minmax(0, 1fr));
        grid-column-gap: 2.5rem
    }
}

@media only screen and (max-width: 48em) {
    @supports (display:grid) {
        .column-wrapper {
            width: calc(100% - 2.5rem);
            grid-column-gap: 1.25rem
        }
    }
}

.column-wrapper .column-wrapper {
    width: 100%;
    margin-left: -1.25rem;
    margin-right: -1.25rem
}

@supports (display:grid) {
    .column-wrapper .column-wrapper {
        width: 100%;
        grid-column-end: span 12;
        margin-left: 0;
        margin-right: 0
    }
}

.column-1of12 {
    width: calc(8.33% - 2.5rem);
    margin: 0 1.25rem
}

@supports (display:grid) {
    .column-1of12 {
        width: auto;
        margin: 0;
        grid-column-end: span 1
    }
}

@media only screen and (max-width: 48em) {
    .column-1of12 {
        width: calc(100% - 2.5rem)
    }

    @supports (display:grid) {
        .column-1of12 {
            width: auto;
            grid-column-end: span 12
        }
    }
}

.column-2of12 {
    width: calc(16.66% - 2.5rem);
    margin: 0 1.25rem
}

@media only screen and (max-width: 48em) {
    .column-2of12 {
        width: calc(50% - 2.5rem)
    }
}

@supports (display:grid) {
    .column-2of12 {
        width: auto;
        margin: 0;
        grid-column-end: span 2
    }
}

@media only screen and (max-width: 46.25em) {
    @supports (display:grid) {
        .column-2of12 {
            grid-column-end: span 6
        }
    }
}

.column-1of1 {
    width: calc(100% - 2.5rem);
    margin: 0 1.25rem
}

@supports (display:grid) {
    .column-1of1 {
        width: auto;
        margin: 0;
        grid-column-end: span 12
    }
}

.column-1of2, .column-2of4 {
    width: calc(50% - 2.5rem);
    margin: 0 1.25rem
}

@media only screen and (max-width: 48em) {
    .column-1of2, .column-2of4 {
        width: 100%
    }
}

@supports (display:grid) {
    .column-1of2, .column-2of4 {
        width: auto;
        margin: 0;
        grid-column-end: span 6
    }
}

@media only screen and (max-width: 46.25em) {
    @supports (display:grid) {
        .column-1of2, .column-2of4 {
            width: auto;
            grid-column-end: span 12
        }
    }
}

.column-1of3 {
    width: calc(33.3% - 2.5rem);
    margin: 0 1.25rem
}

@media only screen and (max-width: 48em) {
    .column-1of3 {
        width: 100%
    }
}

@supports (display:grid) {
    .column-1of3 {
        width: auto;
        margin: 0;
        grid-column-end: span 4
    }
}

@media only screen and (max-width: 48em) {
    @supports (display:grid) {
        .column-1of3 {
            grid-column-end: span 12
        }
    }
}

.column-2of3 {
    width: calc(66.6% - 2.5rem);
    margin: 0 1.25rem
}

@media only screen and (max-width: 48em) {
    .column-2of3 {
        width: 100%
    }
}

@supports (display:grid) {
    .column-2of3 {
        width: auto;
        margin: 0;
        grid-column-end: span 8
    }
}

@media only screen and (max-width: 48em) {
    @supports (display:grid) {
        .column-2of3 {
            grid-column-end: span 12
        }
    }
}

.column-1of4 {
    width: calc(25% - 2.5rem);
    margin: 0 1.25rem
}

@media only screen and (max-width: 48em) {
    .column-1of4 {
        width: calc(50% - 2.5rem)
    }
}

@supports (display:grid) {
    .column-1of4 {
        width: auto;
        margin: 0;
        grid-column-end: span 3
    }
}

@media only screen and (max-width: 46.25em) {
    @supports (display:grid) {
        .column-1of4 {
            grid-column-end: span 12
        }
    }
}

.column-3of4 {
    width: calc(75% - 2.5rem);
    margin: 0 1.25rem
}

@supports (display:grid) {
    .column-3of4 {
        width: auto;
        margin: 0;
        grid-column-end: span 9
    }
}

@media only screen and (max-width: 46.25em) {
    @supports (display:grid) {
        .column-3of4 {
            grid-column-end: span 12
        }
    }
}

.column-11of12 {
    width: calc(91.63% - 2.5rem);
    margin: 0 1.25rem
}

@supports (display:grid) {
    .column-11of12 {
        width: auto;
        margin: 0;
        grid-column-end: span 11
    }
}

@media only screen and (max-width: 48em) {
    @supports (display:grid) {
        .column-11of12 {
            grid-column-end: span 12
        }
    }
}

.column-5of12 {
    width: calc(41.66% - 2.5rem);
    margin: 0 1.25rem
}

@supports (display:grid) {
    .column-5of12 {
        width: auto;
        margin: 0;
        grid-column-end: span 5
    }
}

@media only screen and (max-width: 46.25em) {
    @supports (display:grid) {
        .column-5of12 {
            grid-column-end: span 12
        }
    }
}

.column-7of12 {
    width: calc(58.3% - 2.5rem);
    margin: 0 1.25rem
}

@supports (display:grid) {
    .column-7of12 {
        width: auto;
        margin: 0;
        grid-column-end: span 7
    }
}

@media only screen and (max-width: 46.25em) {
    @supports (display:grid) {
        .column-7of12 {
            grid-column-end: span 12
        }
    }
}

.column-start-1 {
    margin-left: calc(0% + 1.25rem)
}

@supports (display:grid) {
    .column-start-1 {
        margin-left: unset;
        grid-column-start: 1
    }
}

@media only screen and (max-width: 48em) {
    .column-start-1 {
        margin-left: 0
    }

    @supports (display:grid) {
        .column-start-1 {
            grid-column-start: auto
        }
    }
}

.column-start-2 {
    margin-left: calc(8.33333% + 1.25rem)
}

@supports (display:grid) {
    .column-start-2 {
        margin-left: unset;
        grid-column-start: 2
    }
}

@media only screen and (max-width: 48em) {
    .column-start-2 {
        margin-left: 0
    }

    @supports (display:grid) {
        .column-start-2 {
            grid-column-start: auto
        }
    }
}

.column-start-3 {
    margin-left: calc(16.66667% + 1.25rem)
}

@supports (display:grid) {
    .column-start-3 {
        margin-left: unset;
        grid-column-start: 3
    }
}

@media only screen and (max-width: 48em) {
    .column-start-3 {
        margin-left: 0
    }

    @supports (display:grid) {
        .column-start-3 {
            grid-column-start: auto
        }
    }
}

.column-start-4 {
    margin-left: calc(25% + 1.25rem)
}

@supports (display:grid) {
    .column-start-4 {
        margin-left: unset;
        grid-column-start: 4
    }
}

@media only screen and (max-width: 48em) {
    .column-start-4 {
        margin-left: 0
    }

    @supports (display:grid) {
        .column-start-4 {
            grid-column-start: auto
        }
    }
}

.column-start-5 {
    margin-left: calc(33.33333% + 1.25rem)
}

@supports (display:grid) {
    .column-start-5 {
        margin-left: unset;
        grid-column-start: 5
    }
}

@media only screen and (max-width: 48em) {
    .column-start-5 {
        margin-left: 0
    }

    @supports (display:grid) {
        .column-start-5 {
            grid-column-start: auto
        }
    }
}

.column-start-6 {
    margin-left: calc(41.66667% + 1.25rem)
}

@supports (display:grid) {
    .column-start-6 {
        margin-left: unset;
        grid-column-start: 6
    }
}

@media only screen and (max-width: 48em) {
    .column-start-6 {
        margin-left: 0
    }

    @supports (display:grid) {
        .column-start-6 {
            grid-column-start: auto
        }
    }
}

.column-start-7 {
    margin-left: calc(50% + 1.25rem)
}

@supports (display:grid) {
    .column-start-7 {
        margin-left: unset;
        grid-column-start: 7
    }
}

@media only screen and (max-width: 48em) {
    .column-start-7 {
        margin-left: 0
    }

    @supports (display:grid) {
        .column-start-7 {
            grid-column-start: auto
        }
    }
}

.column-start-8 {
    margin-left: calc(58.33333% + 1.25rem)
}

@supports (display:grid) {
    .column-start-8 {
        margin-left: unset;
        grid-column-start: 8
    }
}

@media only screen and (max-width: 48em) {
    .column-start-8 {
        margin-left: 0
    }

    @supports (display:grid) {
        .column-start-8 {
            grid-column-start: auto
        }
    }
}

.column-start-9 {
    margin-left: calc(66.66667% + 1.25rem)
}

@supports (display:grid) {
    .column-start-9 {
        margin-left: unset;
        grid-column-start: 9
    }
}

@media only screen and (max-width: 48em) {
    .column-start-9 {
        margin-left: 0
    }

    @supports (display:grid) {
        .column-start-9 {
            grid-column-start: auto
        }
    }
}

.column-start-10 {
    margin-left: calc(75% + 1.25rem)
}

@supports (display:grid) {
    .column-start-10 {
        margin-left: unset;
        grid-column-start: 10
    }
}

@media only screen and (max-width: 48em) {
    .column-start-10 {
        margin-left: 0
    }

    @supports (display:grid) {
        .column-start-10 {
            grid-column-start: auto
        }
    }
}

.column-start-11 {
    margin-left: calc(83.33333% + 1.25rem)
}

@supports (display:grid) {
    .column-start-11 {
        margin-left: unset;
        grid-column-start: 11
    }
}

@media only screen and (max-width: 48em) {
    .column-start-11 {
        margin-left: 0
    }

    @supports (display:grid) {
        .column-start-11 {
            grid-column-start: auto
        }
    }
}

.column-start-12 {
    margin-left: calc(91.66667% + 1.25rem)
}

@supports (display:grid) {
    .column-start-12 {
        margin-left: unset;
        grid-column-start: 12
    }
}

@media only screen and (max-width: 48em) {
    .column-start-12 {
        margin-left: 0
    }

    @supports (display:grid) {
        .column-start-12 {
            grid-column-start: auto
        }
    }
}

.header {
    position: relative;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 998;
    transition: transform .25s linear
}

@media print {
    .header {
        display: none
    }
}

@media only screen and (max-width: 48em) {
    .header {
        border-bottom: 1px solid #ddd
    }
}

@media only screen and (min-width: 49em) {
    .header--scrolled {
        transform: translateY(-40px)
    }
}

.header .column-1of1 {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.header__primary {
    position: relative;
    background-color: #fff;
    padding-top: 24px;
    padding-bottom: 24px;
    z-index: 998
}

@media only screen and (max-width: 48em) {
    .header__primary {
        padding-top: 20px;
        padding-bottom: 20px
    }
}

.header__primary .column-wrapper {
    transition: transform .25s linear;
    transform-origin: top center
}

@media only screen and (min-width: 49em) {
    .header--scrolled .header__primary .column-wrapper {
        transform: translateY(25px)
    }
}

.header__primary-wrapper {
    width: 100%;
    display: flex
}

.header__secondary {
    position: relative;
    background-color: #002e4f;
    z-index: 998
}

.header__logo {
    width: 280px;
    transition: all .25s linear;
    transform-origin: top left
}

@media only screen and (max-width: 48em) {
    .header__logo {
        width: 170px
    }
}

@media only screen and (min-width: 49em) {
    .header--scrolled .header__logo {
        transform: scale(.8)
    }
}

.header__logo img {
    display: block
}

.header__logo-council {
    width: 46px;
    transition: all .25s linear;
    transform-origin: top left;
    margin-left: 20px
}

@media only screen and (max-width: 48em) {
    .header__logo-council {
        width: 28px
    }
}

.header__logo-council.logo-te-reo {
    width: 228px
}

@media only screen and (max-width: 48em) {
    .header__logo-council.logo-te-reo {
        width: 28px
    }
}

@media only screen and (min-width: 49em) {
    .header--scrolled .header__logo-council {
        transform: scale(.8)
    }
}

.header__logo-council img {
    display: block
}

.header-search {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: relative;
    margin-right: 20px;
    margin-left: 40px;
    padding-right: 20px
}

@media only screen and (min-width: 49em) {
    .header--scrolled .header-search {
        transform: translateY(-3px)
    }
}

@media only screen and (max-width: 48em) {
    .header-search {
        display: none
    }
}

.header-search__button, .header-search__form-button {
    position: relative;
    cursor: pointer;
    font-size: 2rem;
    padding: 0;
    border: none;
    background: transparent;
    color: #002e4f;
    transition: all .25s ease-in-out;
    z-index: 10
}

.header-search__button:hover, .header-search__button:focus, .header-search__form-button:hover, .header-search__form-button:focus {
    color: #008ccc
}

.header-search__button .icon-search, .header-search__form-button .icon-search {
    display: block
}

.header-search__button .icon-close, .header-search__form-button .icon-close {
    display: none
}

.header-search__button.is-active .icon-search, .header-search__form-button.is-active .icon-search {
    display: none
}

.header-search__button.is-active .icon-close, .header-search__form-button.is-active .icon-close {
    display: block
}

.header-search__form-button {
    position: absolute;
    left: 20px;
    top: 7px
}

.header-search__form {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    transform: translateY(-50%);
    transition: all .25s ease-in-out
}

.header-search__form.is-active {
    opacity: 1;
    visibility: visible
}

.header-search__form input[type="text"] {
    font-size: 1rem;
    border: 1px solid #ddd;
    padding: .75em 70px
}

.header-search__close-search-button {
    cursor: pointer;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    background: transparent;
    border: none;
    color: #002e4f;
    font-size: 1.5rem;
    width: 2em;
    height: 2em;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: color .25s ease-in-out
}

.header-search__close-search-button:hover, .header-search__close-search-button:focus {
    color: #008ccc
}

.header-sentinal {
    position: absolute;
    top: 80px
}

.main-nav {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center
}

@media only screen and (max-width: 48em) {
    .main-nav {
        visibility: hidden;
        opacity: 0;
        width: 100%;
        text-align: left;
        overscroll-behavior: contain;
        position: absolute;
        left: 0;
        top: 100%;
        background: #002e4f;
        height: calc(100vh - 72px);
        overflow-y: auto;
        padding: 40px 1.25rem 100px;
        transition: all .25s ease-in-out;
        display: block
    }

    .main-nav.is-active {
        opacity: 1;
        visibility: visible;
        transition: all .25s ease-in-out
    }

    .main-nav.is-active .main-nav__list, .main-nav.is-active .nav-quick-links, .main-nav.is-active .nav-social-links {
        opacity: 1;
        transform: translateX(0)
    }
}

.main-nav__list {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 1rem;
    display: flex;
    justify-content: center
}

@media only screen and (max-width: 48em) {
    .main-nav__list {
        opacity: 0;
        transform: translateX(-5px);
        display: block;
        font-size: 1.5rem;
        transition: all .25s ease-in-out;
        transition-delay: .25s
    }
}

.main-nav__list-item {
    position: relative;
    text-transform: uppercase
}

@media only screen and (max-width: 48em) {
    .main-nav__list-item {
        display: block
    }
}

.main-nav__list-item:not(:first-child) {
    margin-left: 80px
}

@media only screen and (max-width: 48em) {
    .main-nav__list-item:not(:first-child) {
        margin-left: 0;
        margin-top: 25px
    }
}

.main-nav__list-item.is-active .main-nav__link:after {
    display: block
}

.main-nav__list-item--theme-home .main-nav__link:after, .main-nav__list-item--theme-news .main-nav__link:after {
    background-color: #008ccc
}

.main-nav__list-item--theme-events .main-nav__link:after {
    background-color: #ee3124
}

.main-nav__list-item--theme-local .main-nav__link:after {
    background-color: #5a8128
}

.main-nav__list-item--theme-media {
    text-transform: none;
    position: absolute;
    right: 0
}

@media only screen and (max-width: 48em) {
    .main-nav__list-item--theme-media {
        position: static;
        font-size: 1.125rem;
        margin-top: 40px
    }
}

@media only screen and (max-width: 48em) {
    .main-nav__list-item--theme-search {
        text-transform: none;
        font-size: 1.125rem
    }
}

.main-nav__list-item--theme-search .main-nav__link {
    display: flex;
    align-items: center
}

.main-nav__list-item--theme-search .icon {
    font-size: 2rem;
    margin-right: 5px
}

@media only screen and (min-width: 49em) {
    .main-nav__list-item:hover .sub-nav, .main-nav__list-item:focus .sub-nav {
        visibility: visible;
        opacity: 1;
        transform: translateY(0)
    }
}

@media only screen and (min-width: 49em) {
    .main-nav__list-item:focus-within .sub-nav {
        visibility: visible;
        opacity: 1;
        transform: translateY(0)
    }
}

.main-nav__link {
    position: relative;
    display: flex;
    gap: 6px;
    align-items: center;
    font-weight: normal;
    font-size: inherit;
    color: #fff;
    text-decoration: none;
    padding-top: 10px;
    padding-bottom: 10px;
    font-weight: 700
}

@media only screen and (max-width: 48em) {
    .main-nav__link {
        display: inline-flex;
        align-items: center
    }
}

.main-nav__link:after {
    display: none;
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4px
}

.main-nav__link:hover, .main-nav__link:focus {
    color: #fff
}

.main-nav__link--sub-nav-active .icon {
    transform: rotate(180deg)
}

.sub-nav {
    margin: 0;
    padding: 0;
    list-style: none;
    visibility: hidden;
    opacity: 0;
    width: 200px;
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -100px;
    text-align: center;
    padding: 10px 0 20px 0;
    transition: opacity .25s ease-in-out;
    background-color: #002e4f;
    font-size: 1rem
}

@media only screen and (max-width: 48em) {
    .sub-nav {
        visibility: visible;
        opacity: 1;
        display: none;
        position: static;
        padding: 0;
        text-align: left;
        width: unset;
        margin-left: 20px;
        padding-top: 10px;
        font-size: 1.25rem;
        transition: none
    }
}

.sub-nav__list-item {
    display: block;
    position: relative;
    margin: 0
}

@media only screen and (max-width: 48em) {
    .sub-nav__list-item {
        margin-bottom: 10px
    }
}

.sub-nav__link {
    display: block;
    font-weight: 700;
    font-size: inherit;
    color: #fff;
    text-decoration: none;
    padding: 10px;
    text-transform: none
}

.sub-nav__link:hover, .sub-nav__link:focus {
    color: #77b8e1
}

.nav-quick-links {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 1rem;
    column-count: 2;
    column-gap: 20px;
    border-top: 1px solid rgba(255, 255, 255, .25);
    padding-top: 40px;
    margin-top: 40px
}

@media only screen and (max-width: 48em) {
    .nav-quick-links {
        opacity: 0;
        transform: translateX(-5px);
        transition: all .25s ease-in-out;
        transition-delay: .25s
    }
}

.nav-quick-links__item {
    display: block;
    margin-bottom: 20px
}

.nav-quick-links__link {
    text-decoration: none;
    color: #fff
}

.nav-social-links {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    align-items: center;
    font-size: 1.5rem;
    margin-top: 40px
}

@media only screen and (max-width: 48em) {
    .nav-social-links {
        opacity: 0;
        transform: translateX(-5px);
        transition: all .25s ease-in-out;
        transition-delay: .25s
    }
}

.nav-social-links__item:not(:last-child) {
    margin-right: 40px
}

.nav-social-links__link {
    color: #77b8e1
}

.nav-social-links__link:hover, .nav-social-links__link:focus {
    color: #fff
}

.nav-shielded {
    margin-top: 40px
}

.menu-button {
    display: none;
    cursor: pointer;
    background: transparent;
    border: none;
    outline: none;
    padding: 10px;
    position: absolute;
    right: 10px;
    top: 17px;
    height: 40px
}

@media only screen and (max-width: 48em) {
    .menu-button {
        display: block
    }
}

.burger-icon {
    position: relative;
    margin-top: 6px;
    margin-bottom: 6px;
    user-select: none
}

.burger-icon, .burger-icon::before, .burger-icon::after {
    display: block;
    width: 22px;
    height: 2px;
    background-color: #222;
    transition-property: background-color, transform;
    transition-duration: .3s
}

.burger-icon::before, .burger-icon::after {
    position: absolute;
    content: ""
}

.burger-icon::before {
    top: -6px
}

.burger-icon::after {
    top: 6px
}

.menu-button.is-active .burger-icon {
    background-color: transparent
}

.menu-button.is-active .burger-icon::before {
    transform: translateY(6px) rotate(45deg)
}

.menu-button.is-active .burger-icon::after {
    transform: translateY(-6px) rotate(-45deg)
}

.footer {
    background: #002e4f;
    padding: 0
}

@media print {
    .footer {
        display: none
    }
}

.footer__logo {
    display: block;
    width: 188px;
    margin-bottom: 40px
}

@media only screen and (max-width: 48em) {
    .footer__council-logo {
        position: absolute;
        right: 0;
        top: 0
    }
}


.footer__copyright p {
    font-size: .875rem
}

.footer p {
    color: #fff
}

.footer .footer-main-logo-wrapper {
    position: relative
}

@media only screen and (max-width: 48em) {
    .footer .footer-main-logo-wrapper {
        order: 2;
        width: 100%
    }

    @supports (display:grid) {
        .footer .footer-main-logo-wrapper {
            width: auto;
            grid-column-end: span 12
        }
    }
}

@media only screen and (max-width: 48em) {
    .footer .footer-links-wrapper {
        order: 1;
        width: 100%
    }

    @supports (display:grid) {
        .footer .footer-links-wrapper {
            width: auto;
            grid-column-end: span 12
        }
    }
}

.footer-social {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-size: 1.5rem;
    margin-bottom: 20px
}

.footer-social__item:not(:last-child) {
    margin-right: 30px
}

.footer-social__link {
    color: #77b8e1
}

.footer-social__link:hover, .footer-social__link:focus {
    color: #fff
}

.footer-navigation {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 1.125rem;
    column-gap: 2.5rem
}

@media only screen and (max-width: 48em) {
    .footer-navigation {
        font-size: 1rem
    }
}


.footer-navigation__link {
    text-decoration: none;
    color: #fff
}

.footer-navigation__link:hover, .footer-navigation__link:focus {
    text-decoration: underline;
    color: #77b8e1
}

.footer-main {
    margin: 0;
    padding-top: 11px;
}

.footer-newsletter {
    margin: 0;
    background-color: #cdd0cc;
    text-align: center;
    padding-top: 44px;
    padding-bottom: 44px
}

.footer-newsletter__link {
    text-decoration: none;
    font-size: 1.5rem;
    font-weight: 700;
    color: #002e4f;
    display: inline-flex;
    justify-content: center;
    align-items: center
}

@media only screen and (max-width: 48em) {
    .footer-newsletter__link {
        font-size: 1rem
    }
}

.footer-newsletter__link:hover, .footer-newsletter__link:focus {
    color: #ee3124
}

.footer-newsletter__link:hover .icon, .footer-newsletter__link:focus .icon {
    transform: translateX(5px)
}

.footer-newsletter__link .icon {
    color: #ee3124;
    font-size: 1.25em;
    margin-left: 5px;
    transition: transform .25s ease-in-out
}

.footer-mip-partners__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 60px
}

@media only screen and (max-width: 64em) {
    .footer-mip-partners__list {
        gap: 2.5rem
    }
}

@media only screen and (max-width: 46.25em) {
    .footer-mip-partners__list {
        display: grid;
        grid-template-columns:1fr 1fr;
        gap: 20px;
        text-align: center
    }
}

.footer-mip-partners__list-link img {
    width: 100%;
    max-width: 225px;
    max-height: 75px
}

@media only screen and (max-width: 64em) {
    .footer-mip-partners__list-link img {
        max-width: 180px;
        max-height: 65px
    }
}

@media only screen and (max-width: 46.25em) {
    .footer-mip-partners__list-link img {
        max-width: 145px;
        max-height: 55px
    }
}

.footer-mip-secondary {
    margin-top: 60px;
    display: grid;
    grid-template-columns:1fr 1fr 1fr;
    align-items: center;
    gap: 2.5rem
}

@media only screen and (max-width: 48em) {
    .footer-mip-secondary {
        grid-template-columns:1fr;
        text-align: center;
        gap: 20px
    }
}

.footer-mip-nav {
    margin: 0;
    padding: 0;
    list-style: none;
    color: #fff;
    margin: 0
}

.footer-mip-nav__item {
    display: inline-block
}

.footer-mip-nav__item:not(:last-child):after {
    content: "|";
    margin-left: 5px;
    margin-right: 5px
}

.footer-mip-nav__link {
    color: #fff
}

.footer-mip-copyright {
    text-align: center;
    margin: 0
}

@media only screen and (max-width: 48em) {
    .footer-mip-copyright {
        font-size: .875rem
    }
}

.footer-mip-council-logo {
    text-align: right
}

@media only screen and (max-width: 48em) {
    .footer-mip-council-logo {
        text-align: center
    }
}

@media only screen and (max-width: 48em) {
    .footer-mip-council-logo img {
        width: 140px
    }
}

.image-slider {
    margin-bottom: 16px
}

.image-slider__slide {
    background-color: #f5f3f5;
    position: relative;
    min-width: 0
}

.image-slider__slide-image {
    min-width: 0;
    display: flex;
    justify-content: center;
    align-items: center
}

.image-slider__slide-image a {
    cursor: -moz-zoom-in;
    cursor: -webkit-zoom-in;
    cursor: zoom-in
}

.image-slider .slick-arrow {
    position: absolute;
    top: 0;
    bottom: 0;
    cursor: pointer;
    font-size: 1.5rem;
    border: none;
    width: 2em;
    height: 2em;
    margin: auto;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all .25s ease-in-out;
    z-index: 99;
    color: #222
}

.image-slider .slick-arrow:hover, .image-slider .slick-arrow:focus {
    filter: brightness(95%) grayscale(5%);
    color: #222
}

.image-slider .slick-arrow.slick-prev {
    left: 0
}

.image-slider .slick-arrow.slick-next {
    right: 0
}

.image-slider--theme-news .slick-arrow {
    background-color: #008ccc;
    color: #fff !important
}

.image-slider--theme-events .slick-arrow {
    background-color: #ee3124;
    color: #fff !important
}

.alert-banner {
    position: relative;
    background-color: #c82929;
    color: #fff;
    padding: 20px;
    overflow: hidden;
    z-index: 997
}

@media only screen and (max-width: 48em) {
    .alert-banner {
        position: relative
    }
}

.alert-banner--blue {
    background-color: #008ccc
}

.alert-banner--blue-light {
    background-color: #77b8e1;
    color: #222
}

.alert-banner--blue-mediumdark {
    background-color: #365796
}

.alert-banner--blue-dark {
    background-color: #002e4f
}

.alert-banner--green {
    background-color: #5a8128
}

.alert-banner--green-dark {
    background-color: #034c45
}

.alert-banner--red {
    background-color: #c82929
}

.alert-banner--orange {
    background-color: #e0640f
}

.alert-banner__content {
    position: relative;
    width: 100%;
    text-align: center
}

@media only screen and (max-width: 48em) {
    .alert-banner__content {
        position: static
    }
}

.alert-banner__close-button {
    position: absolute;
    right: 0;
    top: 0;
    color: #fff;
    font-size: 1.5rem;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    transition: opacity .25s ease-in-out
}

@media only screen and (max-width: 48em) {
    .alert-banner__close-button {
        top: 10px;
        right: 10px
    }
}

.alert-banner__close-button:hover, .alert-banner__close-button:focus {
    color: #fff;
    opacity: .8
}

.alert-banner p {
    font-size: 1rem;
    font-weight: 700;
    margin: 0
}

@media only screen and (max-width: 48em) {
    .alert-banner p {
        font-size: .875rem
    }
}

.alert-banner a {
    font-weight: 700;
    color: currentColor;
    margin-left: 10px;
    transition: opacity .25s ease-in-out
}

@media only screen and (max-width: 48em) {
    .alert-banner a {
        display: inline-block
    }
}

.alert-banner a:hover, .alert-banner a:focus {
    color: currentColor;
    opacity: .8;
    text-decoration: none
}

.ui-tabs {
    margin-top: 40px
}

.ui-tabs > ul, .ui-tabs .ui-tabs-nav {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    font-size: 1rem;
    font-weight: 300;
    border-bottom: 1px solid #ddd
}

@media only screen and (max-width: 48em) {
    .ui-tabs > ul, .ui-tabs .ui-tabs-nav {
        font-size: .875rem
    }
}

@media only screen and (max-width: 46.25em) {
    .ui-tabs > ul, .ui-tabs .ui-tabs-nav {
        font-size: .8125rem
    }
}

.ui-tabs > ul li, .ui-tabs > ul .ui-tabs-tab, .ui-tabs .ui-tabs-nav li, .ui-tabs .ui-tabs-nav .ui-tabs-tab {
    position: relative;
    top: 1px;
    border: 1px solid transparent
}

.ui-tabs > ul li.ui-tabs-active, .ui-tabs > ul .ui-tabs-tab.ui-tabs-active, .ui-tabs .ui-tabs-nav li.ui-tabs-active, .ui-tabs .ui-tabs-nav .ui-tabs-tab.ui-tabs-active {
    font-weight: 700;
    border: 1px solid #ddd;
    border-bottom: 1px solid #fff
}

.ui-tabs > ul a, .ui-tabs > ul .ui-tabs-anchor, .ui-tabs .ui-tabs-nav a, .ui-tabs .ui-tabs-nav .ui-tabs-anchor {
    display: block;
    text-decoration: none;
    color: #222;
    padding: 10px 50px;
    background-color: #fff;
    text-align: center
}

@media only screen and (max-width: 48em) {
    .ui-tabs > ul a, .ui-tabs > ul .ui-tabs-anchor, .ui-tabs .ui-tabs-nav a, .ui-tabs .ui-tabs-nav .ui-tabs-anchor {
        padding: 10px 30px
    }
}

@media only screen and (max-width: 46.25em) {
    .ui-tabs > ul a, .ui-tabs > ul .ui-tabs-anchor, .ui-tabs .ui-tabs-nav a, .ui-tabs .ui-tabs-nav .ui-tabs-anchor {
        padding: 10px
    }
}

.ui-tabs > div, .ui-tabs .ui-tabs-panel {
    padding-top: 40px
}

.article-detail {
    padding-top: 0;
    padding-bottom: 40px
}

.article-detail--campaign {
    background-color: #034c45;
    padding-bottom: 120px
}

.article-detail__background img {
    display: block;
    width: 100%
}

.article-detail__background + .article-detail__wrapper {
    margin-top: -100px
}

@media only screen and (max-width: 64em) {
    .article-detail__background + .article-detail__wrapper {
        margin-top: -80px
    }
}

@media only screen and (max-width: 48em) {
    .article-detail__background + .article-detail__wrapper {
        margin-top: -50px
    }
}

@media only screen and (max-width: 46.25em) {
    .article-detail__background + .article-detail__wrapper {
        margin-top: -25px
    }
}

.article-detail__wrapper {
    position: relative;
    padding-top: 40px;
    padding-bottom: 80px;
    background-color: #fff;
    max-width: calc(87.5rem + 100px);
    margin-left: auto;
    margin-right: auto
}

@media only screen and (max-width: 90em) {
    .article-detail__wrapper {
        max-width: calc(100% - 16px)
    }
}

@media only screen and (max-width: 48em) {
    .article-detail__wrapper {
        padding-bottom: 60px;
        padding-top: 20px
    }
}

.article-detail .search-form {
    margin-bottom: 40px
}

@media only screen and (max-width: 46.25em) {
    .article-detail .search-form {
        margin-bottom: 30px
    }
}

.article-detail-header {
    margin-bottom: 40px
}

@media only screen and (max-width: 64em) {
    .article-detail-header {
        width: 100%;
        margin-left: 0
    }

    @supports (display:grid) {
        .article-detail-header {
            width: auto;
            grid-column-start: 1;
            grid-column-end: span 12
        }
    }
}

@media only screen and (max-width: 46.25em) {
    .article-detail-header {
        margin-bottom: 30px
    }
}

@media print {
    .article-detail-header {
        grid-column-start: 1;
        grid-column-end: span 12
    }
}

.article-detail-header__title {
    color: #222;
    font-size: 2rem
}

.article-detail-header__title:last-child {
    margin-bottom: 0
}

@media only screen and (max-width: 46.25em) {
    .article-detail-header__title {
        font-size: 1.5rem
    }
}

.article-detail-header__translation {
    color: #222;
    font-size: 20px;
    margin: 0 0 1em 0
}

.article-detail-header__translation:last-child {
    margin-bottom: 0
}

@media only screen and (max-width: 46.25em) {
    .article-detail-header__translation {
        font-size: 1.125rem
    }
}

.article-detail-header__meta {
    display: flex;
    font-size: .875rem
}

@media only screen and (max-width: 46.25em) {
    .article-detail-header__meta {
        display: block
    }
}

.article-detail-header__date {
    flex-shrink: 0;
    margin-right: 20px
}

@media only screen and (max-width: 46.25em) {
    .article-detail-header__date {
        display: block;
        margin-right: 0;
        margin-bottom: 5px
    }
}

@media only screen and (max-width: 64em) {
    .article-detail-content-wrapper {
        width: 100%;
        margin-left: 0
    }

    @supports (display:grid) {
        .article-detail-content-wrapper {
            width: auto;
            grid-column-start: 1;
            grid-column-end: span 8
        }
    }
}

@media only screen and (max-width: 48em) {
    .article-detail-content-wrapper {
        width: 100%;
        margin-left: 0
    }

    @supports (display:grid) {
        .article-detail-content-wrapper {
            width: auto;
            grid-column-start: 1;
            grid-column-end: span 12
        }
    }
}

@media print {
    .article-detail-content-wrapper {
        grid-column-start: 1;
        grid-column-end: span 12
    }
}

.article-detail-image {
    margin: 0 0 40px 0;
    padding: 0
}

@media only screen and (max-width: 46.25em) {
    .article-detail-image {
        margin-bottom: 30px
    }
}

.article-detail-image img {
    display: block
}

.article-detail-image__caption {
    font-size: .875rem;
    font-weight: 500;
    margin-top: 10px
}

.article-detail-image__caption-description {
    font-weight: 700;
    margin-right: 10px
}

@media only screen and (max-width: 46.25em) {
    .article-detail-image__caption-description {
        display: block;
        margin-right: 0;
        margin-bottom: 5px
    }
}

.article-detail-image__caption-description p {
    margin: 0;
    font-size: .875rem;
    font-weight: 500
}

.article-detail-image__caption-credit {
    font-style: italic
}

@media only screen and (max-width: 46.25em) {
    .article-detail-image__caption-credit {
        display: block
    }
}

.article-detail-content article p, .article-detail-content article ul, .article-detail-content article ol {
    font-size: 1.0625rem
}

.article-detail-content article .caption {
    font-size: .875rem;
    font-weight: 700
}

.article-detail-content article blockquote {
    margin-left: -40px
}

@media only screen and (max-width: 64em) {
    .article-detail-content article blockquote {
        margin-left: 0
    }
}

.article-detail-content article a {
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: break-word
}

.article-category {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    font-size: .9375rem;
    font-weight: 700;
    text-transform: uppercase
}

.article-category__item:not(:last-child) {
    margin-right: 30px
}

.article-category__link {
    text-decoration: none
}

.article-category--theme-news .article-category__link {
    color: #365796 !important
}

.article-category--theme-events .article-category__link {
    color: #c82929 !important
}

.article-category--theme-local .article-category__link {
    color: #5a8128 !important
}

.article-category--theme-campaign .article-category__link {
    color: #034c45 !important
}

.article-category__link:hover, .article-category__link:focus {
    text-decoration: underline
}

.article-tags {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: 1.2px
}

.article-tags__item {
    margin-top: 1px;
    margin-bottom: 2px
}

.article-tags__item:not(:last-child) {
    margin-right: 10px
}

.article-tags__link {
    text-decoration: none
}

.article-tags--theme-news .article-tags__link {
    color: #365796 !important
}

.article-tags--theme-events .article-tags__link {
    color: #c82929 !important
}

.article-tags--theme-local .article-tags__link {
    color: #5a8128 !important
}

.article-tags__link:hover, .article-tags__link:focus {
    text-decoration: underline
}

.article-share {
    margin-top: 40px;
    margin-bottom: 40px
}

.article-share__wrapper {
    display: inline-flex;
    align-items: center;
    position: relative
}

.article-share__wrapper:hover .article-share__list {
    visibility: visible;
    opacity: 1;
    transform: translate(0, -25%);
    pointer-events: all
}

.article-share__wrapper:focus-within .article-share__list {
    visibility: visible;
    opacity: 1;
    transform: translate(0, -25%);
    pointer-events: all
}

.article-share__button {
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: .9375rem;
    font-weight: 700;
    background: transparent;
    border: 0;
    color: #222;
    margin-right: 20px
}

.article-share__button:hover, .article-share__button:focus {
    color: #008ccc
}

.article-share__button .icon {
    font-size: 1.5rem;
    margin-right: 8px
}

.article-share__list {
    position: absolute;
    top: 0;
    left: 100%;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    align-items: center;
    font-size: 1.375rem;
    border: 1px solid #ddd;
    padding: 10px;
    background-color: #fff;
    transform: translate(-5px, -25%);
    transition: all .25s ease-in-out;
    min-width: 140px
}

.article-share__list:after, .article-share__list:before {
    right: 100%;
    top: 50%;
    border: solid transparent;
    content: "";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none
}

.article-share__list:after {
    border-color: rgba(255, 255, 255, 0);
    border-right-color: #fff;
    border-width: 8px;
    margin-top: -8px
}

.article-share__list:before {
    border-color: transparent;
    border-right-color: #c4c4c4;
    border-width: 9px;
    margin-top: -9px
}

.article-share__list-item:not(:last-child) {
    margin-right: 10px
}

.article-share__list-link {
    color: #002e4f
}

.article-share__list-link:hover, .article-share__list-link:focus {
    color: #008ccc
}

.article-share__list-link .icon {
    display: block
}

@media only screen and (max-width: 48em) {
    .article-related-wrapper {
        margin-top: 60px;
        width: 100%;
        margin-left: 0
    }

    @supports (display:grid) {
        .article-related-wrapper {
            width: auto;
            grid-column-end: span 12
        }
    }
}

@media print {
    .article-related-wrapper {
        display: none
    }
}

.related-articles-list {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: .9375rem
}

.related-articles-list:not(:last-child) {
    margin-bottom: 60px
}

.related-articles-list__item {
    border-bottom: 1px solid #ddd;
    margin-bottom: 20px
}

.related-articles-list__link {
    display: block;
    font-weight: 700;
    color: #222;
    text-decoration: none;
    margin-bottom: 20px
}

.related-articles-list__link:hover, .related-articles-list__link:focus {
    color: #008ccc;
    text-decoration: underline
}

.editors-notes {
    border: 1px solid #ddd;
    padding: 20px;
    margin-top: 40px
}

.article-grid-wrapper {
    grid-row-gap: 28px
}

@media only screen and (max-width: 48em) {
    .article-grid-wrapper {
        grid-row-gap: 40px
    }
}

.article-grid-wrapper .column-1of2 {
    grid-row-end: span 4
}

@media only screen and (max-width: 48em) {
    .article-grid-wrapper .column-1of2 {
        grid-row-end: unset;
        grid-column-end: span 12
    }
}

@media only screen and (max-width: 48em) {
    .article-grid-wrapper .column-1of4 {
        grid-column-end: span 6
    }
}

.article-tile {
    position: relative;
    transition: all .25s ease-in-out;
    margin-bottom: 28px;
    font-size: 1rem
}

@supports (display:grid) {
    .article-tile {
        margin-bottom: 0
    }
}

@media only screen and (max-width: 48em) {
    .article-tile {
        font-size: .9375rem;
        margin-bottom: 40px
    }

    @supports (display:grid) {
        .article-tile {
            margin-bottom: 0
        }
    }
}

.article-tile:hover {
    background-color: #fff;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .1)
}

.article-tile:hover .article-tile__image img {
    transform: scale(1.05)
}

.article-tile:focus-within {
    background-color: #fff;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .1)
}

.article-tile:focus-within .article-tile__image img {
    transform: scale(1.025)
}

.article-tile p {
    font-size: 1.0625rem;
    font-weight: 300;
    color: #222
}

@media only screen and (max-width: 48em) {
    .article-tile p {
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden
    }
}

.article-tile p:last-child {
    margin-bottom: 0
}

.article-tile--theme-dark p {
    color: #fff
}

.article-tile--theme-dark:hover {
    background-color: rgba(0, 0, 0, .25)
}

.article-tile--theme-dark:focus-within {
    background-color: rgba(0, 0, 0, .25)
}

.article-tile--featured {
    font-size: 1.125rem
}

@supports (position:sticky) {
    .article-tile--featured {
        position: sticky;
        top: 130px
    }
}

@media only screen and (max-width: 48em) {
    .article-tile--featured {
        font-size: 1rem
    }
}

.article-tile--small {
    display: flex;
    margin-bottom: 20px
}

.article-tile__header {
    margin-bottom: 8px
}

.article-tile__header > * + *::before {
    content: '|';
    color: #222;
    margin-left: 2px;
    margin-right: 5px
}

.article-tile--small .article-tile__header > * + *::before {
    display: none
}

.article-tile--small .article-tile__header {
    line-height: 1.2
}

.article-tile__image {
    position: relative;
    overflow: hidden
}

.article-tile__image img {
    will-change: transform;
    width: 100%;
    display: block;
    transition: transform .5s linear
}

.article-tile--small .article-tile__image {
    flex-shrink: 0;
    width: 100px;
    margin-right: 20px
}

@media only screen and (max-width: 48em) {
    .article-tile--small .article-tile__image {
        width: 60px
    }
}

.article-related-wrapper .article-tile__image {
    aspect-ratio: 1/1
}

.article-related-wrapper .article-tile__image img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.article-tile__alert {
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: #c82929;
    color: #fff;
    font-size: .9375rem;
    font-weight: 700;
    padding: .35em 1.25em
}

@media only screen and (max-width: 48em) {
    .article-tile__alert {
        font-size: .75rem
    }
}

.article-tile--small .article-tile__alert {
    display: none
}

.article-tile__content {
    padding: 12px
}

.article-tile--small .article-tile__content {
    flex: 1;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.article-tile__tag, .article-tile__date {
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: 1.2px
}

.article-tile--theme-news .article-tile__tag, .article-tile--theme-news .article-tile__date {
    color: #365796
}

.article-tile--theme-events .article-tile__tag, .article-tile--theme-events .article-tile__date {
    color: #c82929
}

.article-tile--theme-local .article-tile__tag, .article-tile--theme-local .article-tile__date {
    color: #5a8128
}

.article-tile--theme-dark .article-tile__tag, .article-tile--theme-dark .article-tile__date {
    color: #fff
}

.article-tile__date {
    margin-bottom: 0
}

.article-tile--small .article-tile__date {
    display: block
}

.article-tile__tag {
    position: relative;
    z-index: 1;
    text-decoration: none;
    transition: all ease .3s;
    border-bottom: 1px solid transparent
}

.article-tile--theme-news .article-tile__tag:hover, .article-tile--theme-news .article-tile__tag:focus {
    border-bottom: 1px solid #365796
}

.article-tile--theme-events .article-tile__tag:hover, .article-tile--theme-events .article-tile__tag:focus {
    border-bottom: 1px solid #c82929
}

.article-tile--theme-local .article-tile__tag:hover, .article-tile--theme-local .article-tile__tag:focus {
    color: #5a8128
}

.article-tile--theme-dark .article-tile__tag:hover, .article-tile--theme-dark .article-tile__tag:focus {
    border-bottom: 1px solid #fff
}

.article-tile__title {
    color: #222;
    font-size: 1.25rem;
    margin: 0 0 6px 0;
    border-left: 4px solid #222;
    margin-left: -12px;
    padding-left: 7px
}

@media only screen and (max-width: 48em) {
    .article-tile__title {
        font-size: 1.125rem
    }
}

.article-tile--theme-news .article-tile__title {
    border-color: #365796
}

.article-tile--theme-events .article-tile__title {
    border-color: #c82929
}

.article-tile--theme-local .article-tile__title {
    border-color: #5a8128
}

.article-tile--theme-dark .article-tile__title {
    border-color: #fff
}

.article-tile--featured .article-tile__title {
    font-size: 1.5rem
}

@media only screen and (max-width: 48em) {
    .article-tile--featured .article-tile__title {
        font-size: 1.25rem
    }
}

.article-tile--small .article-tile__title {
    font-size: 1rem;
    border: none;
    margin: 0;
    padding: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.article-tile__link {
    display: block;
    text-decoration: none
}

.article-tile--theme-news .article-tile__link {
    color: #365796
}

.article-tile--theme-events .article-tile__link {
    color: #c82929
}

.article-tile--theme-local .article-tile__link {
    color: #5a8128
}

.article-tile--theme-dark .article-tile__link {
    color: #fff
}

.article-tile__link:hover, .article-tile__link:focus {
    text-decoration: underline
}

.article-tile--theme-news .article-tile__link:hover, .article-tile--theme-news .article-tile__link:focus {
    color: #365796
}

.article-tile--theme-events .article-tile__link:hover, .article-tile--theme-events .article-tile__link:focus {
    color: #c82929
}

.article-tile--theme-local .article-tile__link:hover, .article-tile--theme-local .article-tile__link:focus {
    color: #5a8128
}

.article-tile--theme-dark .article-tile__link:hover, .article-tile--theme-dark .article-tile__link:focus {
    color: #fff
}

.article-tile__link:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0
}

.breakout-content-block {
    background-color: #002e4f
}

.breakout-content-block .flex .image-container img {
    width: 100%
}

.breakout-content-block .flex .content-container {
    padding: 2.625rem 1.25rem
}

.breakout-content-block .flex .content-container h2 {
    color: #fff
}

.breakout-content-block .flex .content-container p {
    color: #fff
}

.breakout-content-block .flex .content-container blockquote {
    color: #fff
}

.breakout-content-block .flex .content-container a {
    color: #fff
}

.breakout-content-block .flex .content-container a:hover, .breakout-content-block .flex .content-container a:focus {
    text-decoration: none
}

.breakout-content-block .flex .content-container .button {
    margin-top: 2rem;
    background-color: #008ccc
}

@media screen and (min-width: 46.25em) {
    .breakout-content-block .flex {
        display: flex
    }

    .breakout-content-block .flex .image-container {
        flex: 0 0 42%
    }

    .breakout-content-block .flex .image-container img {
        height: 100%;
        object-fit: cover;
        display: block
    }

    .breakout-content-block .flex .content-container {
        padding: 5.625rem 3.5rem;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start
    }

    .breakout-content-block .flex .content-container .button {
        min-width: auto
    }
}

.cookies-popup {
    display: none;
    opacity: 0;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #000;
    color: #fff;
    padding: 20px;
    animation: slidein .75s forwards;
    animation-delay: 1s;
    z-index: 997
}

@media print {
    .cookies-popup {
        display: none
    }
}

.cookies-popup__wrapper {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    text-align: center
}

.cookies-popup h2 {
    color: #fff;
    font-size: 1rem;
    margin: 0;
    line-height: 1.5
}

.cookies-popup p {
    font-size: .9375rem;
    margin-bottom: 1.5em
}

.cookies-popup .button {
    min-width: 180px
}

.event-panel {
    font-size: .9375rem
}

@media only screen and (max-width: 64em) {
    .event-panel {
        margin-left: 0;
        width: 100%;
        margin-bottom: 40px
    }

    @supports (display:grid) {
        .event-panel {
            width: auto;
            grid-column-start: 1;
            grid-column-end: span 12;
            grid-row-start: 1;
            grid-row-end: unset
        }
    }
}

@media print {
    .event-panel {
        grid-column-start: 1;
        grid-column-end: span 12;
        grid-row-start: 1;
        grid-row-end: unset;
        margin-bottom: 40px
    }
}

.event-panel__inner {
    border: 2px solid #c82929;
    padding: 20px
}

.event-panel__group {
    margin-top: 20px
}

.event-panel__group:first-child {
    margin-top: 0
}

.event-panel__links {
    margin: 0;
    padding: 0;
    list-style: none;
    line-height: 1.1
}

.event-panel__links li:not(:last-child) {
    margin-bottom: 8px
}

.event-panel hr {
    margin-top: 20px;
    margin-bottom: 20px;
    border-color: #c82929
}

.event-panel hr:last-child {
    display: none
}

.event-panel p, .event-panel table, .event-panel ul, .event-panel ol {
    font-size: .9375rem;
    margin-bottom: .75em;
    font-weight: 500
}

.event-panel p:last-child, .event-panel table:last-child, .event-panel ul:last-child, .event-panel ol:last-child {
    margin-bottom: 0
}

.event-panel a {
    color: #222;
    text-decoration: none;
    overflow-wrap: break-word
}

.event-panel a:hover, .event-panel a:focus {
    text-decoration: underline;
    color: #c82929
}

.event-panel a.location-link {
    font-size: .875rem;
    color: #c82929;
    text-decoration: none;
    font-weight: 500;
    display: inline-flex;
    align-items: center
}

.event-panel a.location-link .icon {
    font-size: 1.25em;
    margin-right: 5px
}

.event-panel a.show-more-link {
    font-size: .875rem;
    color: #c82929
}

.event-panel table {
    border: none;
    width: auto
}

.event-panel table tr, .event-panel table td {
    border: none;
    background-color: transparent !important;
    padding: 0
}

.event-panel table td:first-child {
    padding-right: 20px
}

.event-panel .event-panel-tags {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: .75rem !important;
    text-transform: uppercase;
    letter-spacing: 1.2px
}

.event-panel .event-panel-tags__item {
    display: inline-block;
    margin-right: 12px
}

.event-panel .event-panel-tags__link {
    color: #c82929
}

.event-registration {
    max-width: 1040px;
    margin-left: auto;
    margin-right: auto
}

.event-registration__page {
    margin-bottom: 100px
}

.event-registration__group {
    position: relative;
    background-color: #f5f3f5;
    border: none;
    padding: 20px;
    margin-bottom: 20px
}

.event-registration__group .delete-event-location {
    position: absolute;
    right: 20px;
    top: 20px
}

.event-registration__group textarea[name$="Caption"][id$="Caption"] {
    height: 95px
}

.event-registration__group .event-registration-remove-image {
    margin-bottom: 15px
}

.event-registration__image-group {
    margin-bottom: 30px
}

.event-registration__image-group:not(:first-child) {
    padding-top: 30px;
    border-top: 1px solid #ddd
}

.event-registration__group-inner {
    position: relative;
    background-color: #ebe9eb;
    padding: 20px
}

.event-registration__group-inner.recurring-dates .form-group.time-selector {
    max-width: 100%
}

.event-registration__group-inner.recurring-dates .form-group.time-selector table tr td.day {
    padding-left: 10px
}

.event-registration__group-inner.recurring-dates .form-group.time-selector table tr td.minute, .event-registration__group-inner.recurring-dates .form-group.time-selector table tr td.meridiem {
    padding-left: 10px
}

.event-registration__group-inner.single-dates table th:not(:first-child) {
    padding-left: 13px
}

.event-registration__group-inner.single-dates table tr td {
    padding-left: 10px
}

.event-registration__group-inner.single-dates table tr td.date {
    padding-left: 0
}

.event-registration__group-inner.single-dates table tr td.meridiem.start {
    padding-right: 20px
}

.event-registration__intro {
    display: grid;
    grid-template-columns:auto auto;
    grid-gap: 40px;
    margin-bottom: 20px
}

@media only screen and (max-width: 64em) {
    .event-registration__intro {
        display: block
    }
}

.event-registration__intro:not(:first-child) {
    margin-top: 60px
}

.event-registration__intro h2:last-child {
    margin-bottom: 0
}

.event-registration__intro-mandatory {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end
}

@media only screen and (max-width: 64em) {
    .event-registration__intro-mandatory {
        display: block
    }
}

.event-registration__pagination {
    margin-top: 20px
}

.event-registration-dates__group {
    background: #fff;
    display: flex;
    border: 1px solid #ddd;
    border-left: 0;
    border-bottom: 0;
    margin-bottom: 1rem;
    flex-wrap: wrap
}

.event-registration-dates__item {
    flex: 1;
    text-decoration: none;
    padding: 1rem;
    color: #222;
    display: flex;
    flex-direction: column;
    border-left: 1px solid #ddd;
    border-bottom: 1px solid #ddd
}

@media only screen and (max-width: 48em) {
    .event-registration-dates__item {
        min-width: 100%
    }
}

.event-registration-dates__item h4 {
    font-size: 1rem;
    color: #222
}

.event-registration-dates__item .button {
    font-size: .9375rem;
    min-width: 100%;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #ddd;
    color: #222;
    padding: 1em
}

.event-registration-dates__item:hover, .event-registration-dates__item:focus, .event-registration-dates__item.is-selected {
    color: #222
}

.event-registration-dates__item:hover .button, .event-registration-dates__item:focus .button, .event-registration-dates__item.is-selected .button {
    background: #002e4f;
    border-color: #002e4f;
    color: #fff
}

.event-registration-dates__item.is-selected {
    box-shadow: inset 0 0 0 2px #002e4f
}

.event-registration-dates__content {
    flex: 1
}

.event-registration-dates__footer {
    margin-top: 1em;
    text-align: center
}

.event-registration__button-group {
    display: flex;
    margin-bottom: 20px
}

@media only screen and (max-width: 46.25em) {
    .event-registration__button-group {
        display: block
    }
}

.event-registration__button-group .button {
    font-size: .9375rem;
    min-width: unset
}

.event-registration__button-group .button + .button {
    margin-left: -1px
}

.event-registration__button-group .button.flex-1of3 {
    width: calc(33.3% + 1px)
}

@media only screen and (max-width: 46.25em) {
    .event-registration__button-group .button.flex-1of3 {
        width: initial
    }
}

.event-registration p, .event-registration ul, .event-registration ol {
    font-size: .9375rem
}

.event-registration p:last-child, .event-registration ul:last-child, .event-registration ol:last-child {
    margin-bottom: 0
}

.event-registration h2, .event-registration h3 {
    color: #222
}

.event-registration h2 {
    font-size: 1.5rem
}

@media only screen and (max-width: 46.25em) {
    .event-registration h2 {
        font-size: 1.375rem
    }
}

.event-registration h3 {
    font-size: 1.25rem
}

.event-registration hr {
    border-color: #888
}

.event-registration table {
    border: none;
    padding: 0
}

.event-registration table tr {
    background: transparent !important
}

.event-registration table th, .event-registration table td {
    padding: 0;
    border: none;
    vertical-align: middle;
    padding-bottom: 8px
}

@media only screen and (max-width: 46.25em) {
    .event-registration table th, .event-registration table td {
        display: block
    }
}

.event-registration table th:not(:first-child), .event-registration table td:not(:first-child) {
    padding-left: 40px
}

@media only screen and (max-width: 46.25em) {
    .event-registration table th:not(:first-child), .event-registration table td:not(:first-child) {
        padding-left: 0
    }
}

@media only screen and (max-width: 46.25em) {
    .event-registration table th table th, .event-registration table th table td, .event-registration table td table th, .event-registration table td table td {
        display: table-cell
    }
}

.event-registration table th table th:not(:first-child), .event-registration table th table td:not(:first-child), .event-registration table td table th:not(:first-child), .event-registration table td table td:not(:first-child) {
    padding-left: 10px
}

@media only screen and (max-width: 46.25em) {
    .event-registration table th table th:not(:first-child), .event-registration table th table td:not(:first-child), .event-registration table td table th:not(:first-child), .event-registration table td table td:not(:first-child) {
        padding-left: 5px
    }
}

.event-registration table th.align-top, .event-registration table td.align-top {
    vertical-align: top
}

.event-registration table th {
    font-size: .875rem;
    font-weight: 500
}

.event-registration table th a {
    font-size: .8125rem;
    color: #6f6f6f;
    text-decoration: none
}

.event-registration table th a:hover, .event-registration table th a:focus {
    color: #222
}

.event-registration table th a + a {
    margin-left: 15px
}

.event-registration table td {
    font-size: .9375rem
}

.event-registration table label {
    font-weight: 400
}

.event-registration table.date-example-table {
    border: 1px solid #ddd;
    margin-bottom: 1em;
    table-layout: fixed;
    color: #3c3c3c
}

.event-registration table.date-example-table td, .event-registration table.date-example-table th {
    padding: 10px;
    vertical-align: top
}

@media only screen and (max-width: 46.25em) {
    .event-registration table.date-example-table td, .event-registration table.date-example-table th {
        display: block
    }
}

.event-registration table.multiple-sessions thead th {
    padding-left: 10px
}

.event-registration table.multiple-sessions tr.multiple-session td.time-selector {
    padding-left: 10px
}

.event-registration table.multiple-sessions tr.multiple-session td.time-selector.meridiem.start {
    padding-right: 20px
}

.event-registration table.multiple-sessions tr.multiple-session td.time-selector.minute {
    padding-left: 10px
}

.event-registration .callout-box {
    background: #365796;
    padding: 15px;
    text-align: center
}

.event-registration .callout-box p {
    color: #fff
}

.event-registration .callout-box a {
    color: #fff
}

.library-select-fieldset {
    margin-bottom: 20px
}

.tooltip {
    display: inline-block;
    vertical-align: middle;
    position: relative
}

.tooltip__button {
    font-size: 1.25rem;
    color: #002e4f
}

.tooltip__button:hover, .tooltip__button:focus {
    color: #008ccc
}

.tooltip__button:hover ~ .tooltip__popup, .tooltip__button:focus ~ .tooltip__popup {
    visibility: visible;
    opacity: 1
}

.tooltip__popup {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    bottom: calc(100% + 15px);
    width: 240px;
    left: 50%;
    margin-left: -120px;
    background-color: #fff;
    padding: 20px;
    box-shadow: 0 5px 10px 0 rgba(34, 34, 34, .15);
    transition: all .25s ease-in-out
}

.tooltip__popup:after {
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: "";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(255, 255, 255, 0);
    border-top-color: #fff;
    border-width: 8px;
    margin-left: -8px
}

.tooltip__content {
    font-size: .875rem
}

.form-image {
    max-width: 350px
}

.form-image__image {
    margin-top: 25px
}

@media only screen and (max-width: 46.25em) {
    .form-image__image {
        margin-top: 0
    }
}

.form-image__image:not(:last-child) {
    margin-bottom: 20px
}

.form-image__image--empty {
    aspect-ratio: 16/9;
    border: 1px solid #222;
    display: flex;
    align-items: center;
    justify-content: center
}

.form-image__image--empty p {
    font-weight: 700;
    font-size: .875rem
}

.form-image__image img {
    display: block
}

.form-image .button {
    min-width: 0;
    float: right
}

.event-tile {
    position: relative;
    transition: all .25s ease-in-out;
    margin-bottom: 28px;
    font-size: .9375rem;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .06);
    height: 100%
}

@supports (display:grid) {
    .event-tile {
        margin-bottom: 0
    }
}

@media only screen and (max-width: 48em) {
    .event-tile {
        font-size: .9375rem;
        margin-bottom: 40px
    }

    @supports (display:grid) {
        .event-tile {
            margin-bottom: 0
        }
    }
}

.event-tile:hover {
    background-color: #fff;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .1)
}

.event-tile:hover .event-tile__image img {
    transform: scale(1.05)
}

.event-tile:focus-within {
    background-color: #fff;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .1)
}

.event-tile:focus-within .event-tile__image img {
    transform: scale(1.025)
}

.event-tile p {
    font-size: 1rem;
    font-weight: 300;
    color: #222
}

.event-tile p:last-child {
    margin-bottom: 0
}

.event-tile__image {
    position: relative;
    overflow: hidden
}

.event-tile__image img {
    will-change: transform;
    width: 100%;
    display: block;
    transition: transform .5s linear
}

.event-tile__alert {
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: #c82929;
    color: #fff;
    font-size: .9375rem;
    font-weight: 700;
    padding: .35em 1.25em
}

@media only screen and (max-width: 48em) {
    .event-tile__alert {
        font-size: .75rem
    }
}

.event-tile__content {
    padding: 20px;
    border-top: 20px solid #008ccc
}

.event-tile__title {
    color: #222;
    font-size: 1.25rem;
    margin: 0 0 6px 0
}

@media only screen and (max-width: 48em) {
    .event-tile__title {
        font-size: 1.125rem
    }
}

.event-tile__link {
    display: block;
    text-decoration: none
}

.event-tile__link:hover, .event-tile__link:focus {
    text-decoration: underline
}

.event-tile__link:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0
}

.feedback-button {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    pointer-events: none
}

@media print {
    .feedback-button {
        display: none
    }
}

@media only screen and (max-width: 90em) {
    .feedback-button {
        display: none
    }
}

.feedback-button__button {
    height: auto;
    width: auto;
    position: sticky;
    top: calc(100vh - 173px);
    pointer-events: all;
    min-width: unset;
    text-transform: uppercase;
    font-size: .9375rem;
    padding: 3em 1em
}

.feedback-button__button span {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-transform: uppercase
}

.hero-events {
    margin: 0;
    padding: 0
}

.hero-events__image {
    display: block;
    width: 100%;
    height: clamp(240px, 35vmin, 320px);
    background-image: url(../fonts/background-events-hero.svg);
    background-position: center center;
    background-size: cover
}

.hero-events__wrapper {
    margin-top: -100px;
    padding-top: 40px;
    padding-bottom: 80px;
    background-color: #fff;
    max-width: calc(87.5rem + 100px);
    margin-left: auto;
    margin-right: auto
}

@media only screen and (max-width: 90em) {
    .hero-events__wrapper {
        max-width: calc(100% - 16px)
    }
}

@media only screen and (max-width: 48em) {
    .hero-events__wrapper {
        padding-bottom: 60px;
        padding-top: 20px
    }
}

.hero-events__cta {
    text-align: center;
    margin-top: 40px
}

.hero-events .section-header {
    color: #ee3124
}

.hero-events .column-wrapper {
    grid-auto-flow: dense
}

.hero-featured .section-header {
    color: #008ccc
}

.hero-local {
    margin: 0;
    padding-top: 40px;
    padding-bottom: 160px;
    background-color: #f5f3f5;
    background-repeat: repeat-x;
    background-position: bottom center
}

@media only screen and (max-width: 48em) {
    .hero-local {
        padding-top: 30px;
        padding-bottom: 120px
    }
}

.hero-local__header-wrapper {
    display: flex;
    align-items: center;
    margin-bottom: 20px
}

.hero-local__select {
    border: none;
    padding: 0;
    background: transparent;
    color: #222;
    width: auto;
    font-weight: 700;
    font-size: 1.25rem;
    margin-left: 50px
}

@media only screen and (max-width: 48em) {
    .hero-local__select {
        font-size: 1.125rem;
        margin-left: 25px
    }
}

.hero-local__cta {
    text-align: center;
    margin-top: 40px
}

.hero-local .section-header {
    color: #5a8128;
    margin: 0
}

.hero-local .column-wrapper {
    grid-auto-flow: dense
}

.hero-campaign {
    margin: 0;
    padding-top: 0;
    padding-bottom: 80px;
    background-color: #034c45
}

.hero-campaign__image img {
    display: block;
    width: 100%
}

.hero-campaign__wrapper {
    margin-top: -100px;
    position: relative;
    padding-top: 40px;
    padding-bottom: 80px;
    background-color: #fff;
    max-width: calc(87.5rem + 100px);
    margin-left: auto;
    margin-right: auto
}

@media only screen and (max-width: 90em) {
    .hero-campaign__wrapper {
        max-width: calc(100% - 16px)
    }
}

@media only screen and (max-width: 48em) {
    .hero-campaign__wrapper {
        margin-top: -50px;
        padding-bottom: 60px;
        padding-top: 20px
    }
}

.hero-campaign__header-wrapper {
    text-align: center;
    margin-bottom: 40px
}

.hero-campaign__header-wrapper h1 {
    color: #034c45
}

.hero-campaign__cta {
    text-align: center;
    margin-top: 40px
}

@media only screen and (max-width: 48em) {
    .hero-campaign__cta {
        margin-top: 0
    }
}

.hero-stories {
    margin: 0;
    padding: 0
}

.hero-stories__wrapper {
    padding-top: 40px;
    padding-bottom: 160px;
    background-color: #002e4f;
    background-repeat: no-repeat;
    background-position: center bottom
}

.hero-stories .section-header {
    color: #002e4f
}

.image-and-text .grid {
    flex-wrap: nowrap
}

.image-and-text .grid .content-container {
    grid-column-end: span 12
}

.image-and-text .grid .image-container {
    grid-column-end: span 12
}

.image-and-text .grid .image-container img {
    width: 100%
}

@media screen and (min-width: 46.25em) {
    .image-and-text .grid {
        display: grid
    }

    .image-and-text .grid .content-container {
        grid-column-end: span 6
    }

    .image-and-text .grid .image-container {
        grid-column-start: 8;
        grid-column-end: span 5
    }

    .image-and-text .grid.reverse .content-container {
        grid-column-start: 7;
        grid-column-end: span 6
    }

    .image-and-text .grid.reverse .image-container {
        grid-row: 1;
        grid-column-start: 1;
        grid-column-end: span 5
    }
}

.landing-page-filter {
    background-color: #f5f3f5;
    padding: 30px;
    position: sticky;
    top: 150px
}

@media only screen and (max-width: 48em) {
    .landing-page-filter {
        padding: 20px;
        margin-bottom: 20px
    }
}

.landing-page-filter__heading {
    color: #222;
    margin-bottom: 25px;
    font-size: 16px
}

.landing-page-filter__select {
    border: none;
    border-bottom: 2px solid #222;
    padding: 5px;
    margin-bottom: 26px;
    background: transparent;
    color: #222;
    font-weight: 700;
    font-size: 14px
}

.landing-page-filter__button {
    width: 100%;
    min-width: auto;
    margin-top: 20px
}

.listing-page__background img {
    display: block;
    width: 100%
}

.listing-page__background + .listing-page__wrapper {
    margin-top: -100px
}

@media only screen and (max-width: 64em) {
    .listing-page__background + .listing-page__wrapper {
        margin-top: -80px
    }
}

@media only screen and (max-width: 48em) {
    .listing-page__background + .listing-page__wrapper {
        margin-top: -50px
    }
}

@media only screen and (max-width: 46.25em) {
    .listing-page__background + .listing-page__wrapper {
        margin-top: -25px
    }
}

.listing-page__wrapper {
    position: relative;
    padding-top: 40px;
    padding-bottom: 80px;
    background-color: #fff;
    max-width: calc(87.5rem + 100px);
    margin-left: auto;
    margin-right: auto
}

@media only screen and (max-width: 90em) {
    .listing-page__wrapper {
        max-width: calc(100% - 16px)
    }
}

@media only screen and (max-width: 48em) {
    .listing-page__wrapper {
        padding-bottom: 60px;
        padding-top: 20px
    }
}

.listing-page__header-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 20px
}

@media only screen and (max-width: 48em) {
    .listing-page__header-wrapper {
        align-items: center
    }
}

.listing-page__header-wrapper:last-child {
    margin-bottom: 0
}

.listing-page__header-wrapper h1 {
    margin-bottom: 0
}

.listing-page__header-wrapper .button {
    width: auto
}

.listing-page__header-wrapper.tag-page {
    align-items: center
}

@media only screen and (max-width: 48em) {
    .listing-page__header-wrapper.tag-page {
        display: block
    }
}

.listing-page__header-wrapper.tag-page .header-intro p {
    margin-bottom: 0
}

.listing-page__header-campaign {
    text-align: center;
    margin-bottom: 40px
}

.listing-page__count {
    font-size: 1.125rem;
    margin-bottom: 1em
}

.listing-page-group__cta, .listing-page-group__pagination {
    margin-top: 40px
}

@media only screen and (max-width: 48em) {
    .listing-page-group__cta, .listing-page-group__pagination {
        margin-top: 20px
    }
}

.media-centre-item {
    padding-bottom: 40px;
    margin-bottom: 40px;
    border-bottom: 1px solid #ddd;
    position: relative
}

.media-centre-item__label {
    display: block;
    font-size: .75rem;
    letter-spacing: 1.2px;
    color: #002e4f;
    text-transform: uppercase
}

.media-centre-item__title {
    font-size: 1.25rem;
    margin: 8px 0
}

.media-centre-item__link {
    color: #222;
    text-decoration: none;
    transition: all .25s ease-in-out
}

.media-centre-item__link:hover, .media-centre-item__link:focus {
    color: #008ccc;
    text-decoration: underline
}

.media-centre-item__link:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.media-centre-item__date {
    display: block;
    font-size: .875rem
}

.outcomes {
    margin-bottom: auto
}

.outcomes .outcome__tiles {
    grid-gap: 2.5rem
}

.outcomes .section-intro {
    margin-bottom: 2rem
}

.outcomes .outcome__tile {
    display: flex;
    flex-direction: column;
    text-decoration: none
}

.outcomes .outcome__tile:hover h3, .outcomes .outcome__tile:focus h3 {
    text-decoration: underline
}

.outcomes .outcome__tile:hover .outcome__tile-image img, .outcomes .outcome__tile:focus .outcome__tile-image img {
    transform: scale(1.05)
}

.outcomes .outcome__tile-image {
    position: relative;
    overflow: hidden
}

.outcomes .outcome__tile-image img {
    display: block;
    width: 100%;
    will-change: transform;
    transition: transform .5s linear
}

.outcomes .outcome__tile-content {
    padding: 1.5rem;
    flex-grow: 1
}

.outcomes .outcome__tile-content.ocean-blue {
    background-color: #365796
}

.outcomes .outcome__tile-content.maroon {
    background-color: #7f324a
}

.outcomes .outcome__tile-content.orange {
    background-color: #a7422f
}

.outcomes .outcome__tile-content.blue {
    background-color: #4c6574
}

.outcomes .outcome__tile-content.khaki {
    background-color: #866d49
}

.outcomes .outcome__tile-content.green {
    background-color: #53654d
}

.outcomes .outcome__tile-content.brown {
    background-color: #955a45
}

.outcomes .outcome__tile-content.shore-dark-blue {
    background-color: #365796
}

.outcomes .outcome__tile-content.leaf-green {
    background-color: #5a8128
}

.outcomes .outcome__tile-content h3 {
    color: #fff
}

@media only screen and (max-width: 48em) {
    .outcomes .outcome__tiles {
        grid-gap: 1.25rem
    }
}

@media only screen and (min-width: 46.25em) and (max-width: 64em) {
    .outcomes .outcome__tiles .outcome__tile {
        grid-column-end: span 6
    }
}

.poi {
    display: flex;
    flex-direction: column-reverse;
    width: 100%;
    max-width: 90rem;
    margin: -1.25rem auto
}

@media only screen and (min-width: 46.25em) {
    .poi {
        width: calc(100% - 2.5rem * 2)
    }
}

@media only screen and (min-width: 64em) {
    .poi {
        flex-direction: row;
        overflow: hidden;
        position: relative;
        transition: padding-left .25s ease-in-out
    }
}

@media only screen and (min-width: 64em) {
    .poi.is-expanded {
        padding-left: 250px
    }
}

.poi.is-expanded .poi-filters__toggle span::before {
    background-image: url("../fonts/icon-chevron-up.svg")
}

.poi.is-expanded .poi__filters-container {
    max-height: 300px
}

.poi__column-wrapper {
    margin-top: 20px
}

.poi__filters {
    display: flex;
    flex-direction: column
}

@media only screen and (min-width: 64em) {
    .poi__filters {
        flex-direction: row-reverse;
        position: relative;
        max-width: 2.5rem
    }
}

.poi__filters-container {
    background-color: #f5f3f5;
    padding: 0 15px;
    overflow: auto;
    max-height: 0;
    transition: max-height .25s ease-in-out
}

@media only screen and (min-width: 64em) {
    .poi__filters-container {
        width: 250px;
        position: absolute;
        right: 2.5rem;
        bottom: 0;
        top: 0;
        max-height: none !important;
        transition: left .25s ease-in-out;
        padding: 15px
    }
}

.poi__filters-container h6, .poi__filters-container input[type="date"], .poi__filters-container input[type="datetime-local"], .poi__filters-container input[type="email"], .poi__filters-container input[type="file"], .poi__filters-container input[type="month"], .poi__filters-container input[type="number"], .poi__filters-container input[type="password"], .poi__filters-container input[type="search"], .poi__filters-container input[type="tel"], .poi__filters-container input[type="text"], .poi__filters-container input[type="time"], .poi__filters-container input[type="url"], .poi__filters-container input[type="week"], .poi__filters-container select, .poi__filters-container textarea {
    font-size: .9375rem
}

.poi__filters-container p {
    padding-top: 10px
}

.poi__filters-container a {
    text-decoration: none
}

.poi__filters-container .form-group {
    margin-bottom: 10px
}

.poi__filters-container .checkbox-item {
    margin-top: 3px;
    margin-bottom: 3px
}

.poi-filters__toggle {
    box-shadow: 0 2px 4px 2px rgba(0, 0, 0, .15);
    cursor: pointer;
    border: 1px solid #f0f0f0;
    padding: 0;
    background-color: transparent;
    flex-basis: 2.5rem;
    min-width: 2.5rem;
    z-index: 9;
    text-transform: uppercase;
    letter-spacing: 5px;
    font-size: .6875rem
}

.poi-filters__toggle span {
    display: inline-block;
    position: relative;
    padding-left: 35px
}

@media only screen and (min-width: 64em) {
    .poi-filters__toggle span {
        transform: rotate(-90deg) translateY(-37px)
    }
}

.poi-filters__toggle span::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: -4px;
    left: 0;
    width: 20px;
    height: 20px;
    background-image: url("../fonts/icon-chevron-down.svg")
}

.poi__accordion-content {
    max-height: 200px;
    overflow: auto
}

.poi__map-container {
    display: block;
    width: 100%;
    height: 600px
}

@media only screen and (max-width: 46.25em) {
    .poi__map-container {
        height: 450px
    }
}

.poi__map {
    display: block;
    width: 100%;
    height: 100%;
    border: none
}

.poi__map .event-panel__inner a {
    margin-top: 10px
}

.poi #accordion .ui-accordion.ui-widget {
    padding-top: 15px;
    padding-bottom: 5px;
    border-bottom: 1px solid #000
}

.poi #accordion .ui-icon {
    width: 20px;
    height: 20px;
    float: right
}

.poi #accordion .ui-icon.iconOpen {
    background-image: url("../fonts/icon-chevron-up.svg")
}

.poi #accordion .ui-icon.iconClose {
    background-image: url("../fonts/icon-chevron-down.svg")
}

.poi .js-clear-filters {
    font-size: .875rem;
    font-weight: 600
}

.poi .event-panel__inner {
    padding: 0
}

.poi .event-panel__inner h4 {
    font-size: .9375rem
}

.poi .event-panel__group {
    line-height: 1.5;
    font-size: .8125rem
}

.poi .event-panel__group img {
    max-width: 100%
}

.map-popup-container {
    position: absolute;
    width: 340px
}

@media only screen and (max-width: 46.25em) {
    .map-popup-container {
        width: 260px
    }
}

.map-popup {
    width: 100%;
    padding: 15px;
    background-color: #fff;
    box-shadow: 0 0 4px 2px rgba(0, 0, 0, .12);
    border-radius: 4px;
    position: absolute;
    top: -15px;
    left: 35px;
    transform: translate(0, -50%)
}

.map-popup:after, .map-popup:before {
    right: 100%;
    top: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none
}

.map-popup:after {
    border-color: rgba(255, 255, 255, 0);
    border-right-color: #fff;
    border-width: 10px;
    margin-top: -10px
}

.map-popup:before {
    border-color: transparent;
    border-right-color: rgba(0, 0, 0, .2);
    border-width: 11px;
    margin-top: -11px
}

.map-popup__button {
    cursor: pointer;
    border: none;
    background: transparent;
    font-size: 1rem;
    position: absolute;
    right: 3px;
    top: 3px
}

.search-form {
    background-color: #f5f3f5;
    padding: 0 20px 20px 20px;
    display: flex;
    justify-content: space-between
}

@media print {
    .search-form {
        display: none
    }
}

@media only screen and (max-width: 64em) {
    .search-form {
        flex-direction: column;
        padding-bottom: 15px
    }
}

.listing-page--campaign .search-form {
    margin-bottom: 40px
}

@media only screen and (max-width: 90em) {
    .listing-page--campaign .search-form {
        margin-bottom: 30px
    }
}

@media only screen and (max-width: 48em) {
    .listing-page--campaign .search-form {
        margin-bottom: 10px
    }
}

.search-form__main {
    flex: 1
}

.search-form__main-primary, .search-form__main-secondary {
    flex: 1;
    display: flex;
    flex-wrap: wrap
}

.search-form__main-secondary {
    display: none;
    visibility: hidden;
    opacity: 0
}

@media only screen and (max-width: 64em) {
    .search-form__main-secondary {
        margin-top: 0
    }
}

.search-form__main-secondary.is-active {
    display: flex;
    visibility: visible;
    opacity: 1
}

.search-form__submit {
    margin-left: auto;
    margin-top: 20px
}

@media only screen and (max-width: 64em) {
    .search-form__submit {
        width: 100%;
        display: flex;
        justify-content: space-between;
        gap: 20px
    }
}

@media only screen and (max-width: 64em) {
    .search-form__submit .button {
        width: auto
    }
}

@media only screen and (max-width: 46.25em) {
    .search-form__submit .button {
        padding-left: 1.5em;
        padding-right: 1.5em;
        padding-top: .75em;
        padding-bottom: .75em;
        margin-top: 0
    }
}

@media only screen and (max-width: 46.25em) {
    .search-form__submit .button--small-text {
        padding-left: 0;
        padding-right: 0
    }
}

@media only screen and (max-width: 20em) {
    .search-form__submit .button--small-text {
        width: 83px
    }
}

.search-form__group {
    display: flex;
    align-items: center;
    margin-top: 20px
}

@media only screen and (max-width: 64em) {
    .search-form__group {
        width: 100%;
        margin-top: 15px
    }
}

.search-form__group:not(:last-child) {
    margin-right: 30px
}

@media only screen and (max-width: 64em) {
    .search-form__group:not(:last-child) {
        margin-right: 0;
        margin-top: 15px
    }
}

.search-form__group--search {
    min-width: 320px
}

@media only screen and (max-width: 46.25em) {
    .search-form__group--search {
        min-width: unset
    }
}

.search-form__group > *:not(:last-child) {
    margin-right: 10px
}

.search-form__advanced {
    margin-top: 25px;
    flex: 1;
    display: flex;
    flex-wrap: wrap
}

.search-form label {
    white-space: nowrap;
    margin-bottom: 0
}

@media only screen and (max-width: 46.25em) {
    .search-form label {
        white-space: normal
    }
}

.search-form .button {
    min-width: unset
}

.search-form input[type="date"], .search-form input[type="datetime-local"], .search-form input[type="email"], .search-form input[type="file"], .search-form input[type="month"], .search-form input[type="number"], .search-form input[type="password"], .search-form input[type="search"], .search-form input[type="tel"], .search-form input[type="text"], .search-form input[type="time"], .search-form input[type="url"], .search-form input[type="week"], .search-form select, .search-form textarea {
    background-color: transparent;
    border: none;
    border-bottom: 1px solid #000;
    padding-left: 0;
    padding-right: 0;
    font-weight: 700
}

.search-form input[type="date"].placeholder, .search-form input[type="datetime-local"].placeholder, .search-form input[type="email"].placeholder, .search-form input[type="file"].placeholder, .search-form input[type="month"].placeholder, .search-form input[type="number"].placeholder, .search-form input[type="password"].placeholder, .search-form input[type="search"].placeholder, .search-form input[type="tel"].placeholder, .search-form input[type="text"].placeholder, .search-form input[type="time"].placeholder, .search-form input[type="url"].placeholder, .search-form input[type="week"].placeholder, .search-form select.placeholder, .search-form textarea.placeholder {
    font-weight: 400
}

.search-form input[type="date"]:-moz-placeholder, .search-form input[type="datetime-local"]:-moz-placeholder, .search-form input[type="email"]:-moz-placeholder, .search-form input[type="file"]:-moz-placeholder, .search-form input[type="month"]:-moz-placeholder, .search-form input[type="number"]:-moz-placeholder, .search-form input[type="password"]:-moz-placeholder, .search-form input[type="search"]:-moz-placeholder, .search-form input[type="tel"]:-moz-placeholder, .search-form input[type="text"]:-moz-placeholder, .search-form input[type="time"]:-moz-placeholder, .search-form input[type="url"]:-moz-placeholder, .search-form input[type="week"]:-moz-placeholder, .search-form select:-moz-placeholder, .search-form textarea:-moz-placeholder {
    font-weight: 400
}

.search-form input[type="date"]::-moz-placeholder, .search-form input[type="datetime-local"]::-moz-placeholder, .search-form input[type="email"]::-moz-placeholder, .search-form input[type="file"]::-moz-placeholder, .search-form input[type="month"]::-moz-placeholder, .search-form input[type="number"]::-moz-placeholder, .search-form input[type="password"]::-moz-placeholder, .search-form input[type="search"]::-moz-placeholder, .search-form input[type="tel"]::-moz-placeholder, .search-form input[type="text"]::-moz-placeholder, .search-form input[type="time"]::-moz-placeholder, .search-form input[type="url"]::-moz-placeholder, .search-form input[type="week"]::-moz-placeholder, .search-form select::-moz-placeholder, .search-form textarea::-moz-placeholder {
    font-weight: 400
}

.search-form input[type="date"]:-ms-input-placeholder, .search-form input[type="datetime-local"]:-ms-input-placeholder, .search-form input[type="email"]:-ms-input-placeholder, .search-form input[type="file"]:-ms-input-placeholder, .search-form input[type="month"]:-ms-input-placeholder, .search-form input[type="number"]:-ms-input-placeholder, .search-form input[type="password"]:-ms-input-placeholder, .search-form input[type="search"]:-ms-input-placeholder, .search-form input[type="tel"]:-ms-input-placeholder, .search-form input[type="text"]:-ms-input-placeholder, .search-form input[type="time"]:-ms-input-placeholder, .search-form input[type="url"]:-ms-input-placeholder, .search-form input[type="week"]:-ms-input-placeholder, .search-form select:-ms-input-placeholder, .search-form textarea:-ms-input-placeholder {
    font-weight: 400
}

.search-form input[type="date"]::-webkit-input-placeholder, .search-form input[type="datetime-local"]::-webkit-input-placeholder, .search-form input[type="email"]::-webkit-input-placeholder, .search-form input[type="file"]::-webkit-input-placeholder, .search-form input[type="month"]::-webkit-input-placeholder, .search-form input[type="number"]::-webkit-input-placeholder, .search-form input[type="password"]::-webkit-input-placeholder, .search-form input[type="search"]::-webkit-input-placeholder, .search-form input[type="tel"]::-webkit-input-placeholder, .search-form input[type="text"]::-webkit-input-placeholder, .search-form input[type="time"]::-webkit-input-placeholder, .search-form input[type="url"]::-webkit-input-placeholder, .search-form input[type="week"]::-webkit-input-placeholder, .search-form select::-webkit-input-placeholder, .search-form textarea::-webkit-input-placeholder {
    font-weight: 400
}

.search-form input[type=checkbox], .search-form input[type=radio] {
    margin-top: 5px
}

.search-form select, .search-form .dropdown-style {
    min-width: 150px;
    background-position: right 0 top 50%;
    padding-right: 25px
}

.search-form .button--small-text.is-active .icon {
    transform: rotate(180deg)
}

.choices {
    min-width: 480px
}

@media only screen and (max-width: 64em) {
    .choices {
        min-width: unset
    }
}

.choices__inner {
    background-color: transparent;
    border: none;
    border-bottom: 1px solid #000;
    border-radius: 0;
    min-height: 39px;
    padding: 10px 0
}

.choices input[type="text"] {
    border: none !important;
    padding: 0;
    margin: 0
}

.choices__list--multiple .choices__item {
    background-color: #000;
    border-color: #000;
    border-radius: 0
}

.choices[data-type*=select-multiple] .choices__button, .choices[data-type*=text] .choices__button {
    border: none;
    margin-left: 4px
}

.search-page-form {
    max-width: 860px;
    position: relative;
    margin-bottom: 20px
}

.search-page-form input[type="text"] {
    padding: 1em 1em 1em 70px
}

.search-page-form__button {
    position: absolute;
    left: 15px;
    top: 0;
    bottom: 0;
    margin: auto;
    cursor: pointer;
    font-size: 2rem;
    width: 1em;
    height: 1em;
    padding: 0;
    border: none;
    background: transparent;
    color: #002e4f;
    transition: all .25s ease-in-out;
    z-index: 10
}

.search-page-form__button:hover, .search-page-form__button:focus {
    color: #008ccc
}

.sub-section-tiles .column-wrapper {
    grid-row-gap: 2.5rem
}

.sub-section-tiles .tile {
    display: block;
    text-decoration: none;
    box-shadow: 2px 2px 16px 5px rgba(0, 0, 0, .06)
}

.sub-section-tiles .tile:hover h2, .sub-section-tiles .tile:focus h2 {
    text-decoration: underline
}

.sub-section-tiles .tile:hover .tile__image img, .sub-section-tiles .tile:focus .tile__image img {
    transform: scale(1.05)
}

.sub-section-tiles .tile__image {
    position: relative;
    overflow: hidden
}

.sub-section-tiles .tile__image img {
    display: block;
    width: 100%;
    will-change: transform;
    transition: transform .5s linear
}

.sub-section-tiles .tile .colour-band {
    height: 1.5rem;
    display: block
}

.sub-section-tiles .tile .colour-band.blue {
    background-color: #008ccc
}

.sub-section-tiles .tile .colour-band.red {
    background-color: #ee3124
}

.sub-section-tiles .tile .colour-band.green {
    background-color: #5a8128
}

.sub-section-tiles .tile .tile__content {
    padding: 1.5rem;
    background-color: #fff
}

.sub-section-tiles .tile .tile__content p:last-child {
    margin-bottom: 0
}

@media only screen and (min-width: 20em) and (max-width: 64em) {
    .sub-section-tiles {
        margin-top: 0
    }

    .sub-section-tiles .column-wrapper {
        grid-gap: 1.25rem
    }

    .sub-section-tiles .column-wrapper .tile img {
        height: 200px;
        object-fit: cover;
        width: 100%
    }

    .sub-section-tiles .column-wrapper .tile .colour-band {
        height: .75rem
    }
}

.timeline {
    margin-bottom: 60px
}

.timeline__item {
    padding-left: 20px;
    position: relative;
    padding-bottom: 30px
}

.timeline__item:last-child {
    padding-bottom: 0
}

.timeline__item:last-child:before {
    display: none
}

.timeline__item:before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    bottom: -2px;
    border-left: 2px solid #222
}

.timeline__item:after {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    background-color: #fff;
    border: 2px solid #222;
    position: absolute;
    left: -7px;
    top: 2px
}

.timeline__content h3 {
    font-size: 1.125rem
}

.timeline__content p {
    font-size: 1.0625rem;
    margin-bottom: 1em
}

.timeline__content p:last-child {
    margin-bottom: 0
}

.timeline__image {
    margin-top: 20px
}

.video-block {
    margin: 4.6875rem auto;
    max-width: 1040px;
    position: relative;
    width: 80%;
    height: 0;
    padding-bottom: 44.25%
}

.video-block iframe {
    margin: auto;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%
}

@media only screen and (max-width: 48em) {
    .video-block {
        margin: 3rem 0;
        width: 100%;
        padding-bottom: 56.25%
    }
}

.hero-campaign {
    margin: 0;
    padding-top: 0;
    padding-bottom: 80px;
    background-color: #034c45
}

.hero-campaign__image img {
    display: block;
    width: 100%
}

.hero-campaign__wrapper {
    margin-top: -100px;
    position: relative;
    padding-top: 40px;
    padding-bottom: 80px;
    background-color: #fff;
    max-width: calc(87.5rem + 100px);
    margin-left: auto;
    margin-right: auto
}

@media only screen and (max-width: 90em) {
    .hero-campaign__wrapper {
        max-width: calc(100% - 16px)
    }
}

@media only screen and (max-width: 48em) {
    .hero-campaign__wrapper {
        margin-top: -50px;
        padding-bottom: 60px;
        padding-top: 20px
    }
}

.hero-campaign__header-wrapper {
    text-align: center;
    margin-bottom: 40px
}

.hero-campaign__header-wrapper h1 {
    color: #034c45
}

.hero-campaign__cta {
    text-align: center;
    margin-top: 40px
}

@media only screen and (max-width: 48em) {
    .hero-campaign__cta {
        margin-top: 0
    }
}

.mobile-show {
    display: none !important
}

@media only screen and (max-width: 46.25em) {
    .mobile-show {
        display: block !important
    }
}

@media only screen and (max-width: 46.25em) {
    .mobile-hide {
        display: none !important
    }
}

.tablet-show {
    display: none !important
}

@media only screen and (max-width: 48em) {
    .tablet-show {
        display: block !important
    }
}

@media only screen and (max-width: 48em) {
    .tablet-hide {
        display: none !important
    }
}

.responsive-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    margin-bottom: 1em
}

.responsive-container iframe, .responsive-container object {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.hide {
    display: none
}

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden
}

.clearfix:after {
    content: "";
    display: table;
    clear: both
}

.text-center {
    text-align: center
}

.color-theme-news {
    color: #008ccc
}

.color-theme-events {
    color: #ee3124
}

.color-theme-local {
    color: #5a8128
}

.color-theme-campaign {
    color: #034c45
}

.caption {
    font-size: .875rem;
    font-weight: 700
}

.small {
    font-size: .8125rem
}