a, address, aside, body, div, fieldset, footer, form, h1, h2, header, html, img, label, li, nav, p, span, table, tbody, td, th, thead, tr, ul {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline
}

aside, footer, header, nav {
    display: block
}

body {
    line-height: 1
}

ul {
    list-style: none
}

table {
    border-spacing: 0
}

html {
    overflow-x: hidden;
    scroll-behavior: smooth;
    scroll-padding-top: 120px
}

h1, h2 {
    font-weight: 600;
    line-height: 1.5
}

a, div, p {
    line-height: 1.75
}

button {
    border: none;
    background-color: transparent
}

::-webkit-input-placeholder {
    color: #355458
}

::-moz-placeholder {
    color: #355458;
    opacity: 1
}

:-ms-input-placeholder {
    color: #355458
}

:-moz-placeholder {
    color: #355458
}

input[type] {
    font-weight: 500;
    border-radius: 0
}

input[type=search]::-ms-clear, input[type=search]::-ms-reveal {
    display: none;
    width: 0;
    height: 0
}

input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration, input[type=search]::-webkit-search-results-button, input[type=search]::-webkit-search-results-decoration {
    display: none
}

.event-list .alternative-event-item .title a {
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1.5;
    word-break: break-word;
    margin-bottom: 1rem
}

.h4-font {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.5;
    word-break: break-word;
    margin-bottom: 1rem
}

.h5-font {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.5;
    word-break: break-word;
    margin-bottom: 1rem
}

.text-white {
    color: #fff
}

.svg-md-24px {
    width: 24px;
    height: 24px
}

.svg-md-48px {
    width: 48px;
    height: 48px
}

.single-padding-divider {
    padding-top: 3rem;
    padding-bottom: 3rem
}

.btn-t4, a.btn-t4-primary {
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-color: transparent;
    border: 2px solid transparent;
    padding: .5rem 1.5rem;
    font-size: .875rem;
    letter-spacing: .025rem;
    font-weight: 500;
    text-decoration: none !important;
    transition: color .3s ease-in-out, background-color .3s ease-in-out, border-color .3s ease-in-out, box-shadow .3s ease-in-out
}

a.btn-t4-primary {
    background-color: #293c92;
    color: #fff !important
}

a.btn-t4-primary:hover {
    background-color: transparent;
    color: #293c92 !important;
    border: 2px solid #293c92
}

a.btn-t4-primary:focus {
    border: 4px solid #cc4628
}

.form-outline {
    border: 2px solid #02292e
}

.checkbox {
    position: relative !important
}

.checkbox input[type=checkbox] {
    display: none
}

.checkbox > label {
    cursor: pointer;
    display: block;
    position: relative;
    padding-left: 0 !important
}

.checkbox > label, .checkbox > label:before {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    vertical-align: middle
}

.checkbox > label:before {
    width: 20px;
    height: 20px;
    min-width: 20px;
    min-height: 20px;
    border: 2px solid #355458;
    content: "";
    display: inline-block;
    will-change: background-color, border-color;
    border-radius: 0;
    background-color: #fff;
    transition: all .3s ease-in-out
}

.checkbox > label:after {
    top: 50%;
    margin-top: 1px;
    left: 8px;
    width: 10px;
    height: 5px;
    border: 2px solid #fff;
    border-top-style: none;
    border-right-style: none;
    content: "";
    position: absolute;
    will-change: transform;
    transform-origin: bottom left;
    transform: scale(0) rotate(-90deg) translateZ(0);
    transition: all .2s ease-in-out
}

.checkbox > label > span {
    padding-left: .5rem;
    padding-right: .5rem
}

table td, table th {
    padding: 1rem
}

table th {
    border-bottom: 2px solid #355458
}

table td {
    border-bottom: 1px solid #355458
}

.border {
    border: 1px solid #aebbbc !important
}

.clearfix:after {
    display: block;
    clear: both;
    content: ""
}

.d-none {
    display: none !important
}

.d-flex {
    display: flex !important
}

.flex-column {
    flex-direction: column !important
}

.justify-content-center {
    justify-content: center !important
}

.align-items-center {
    align-items: center !important
}

@media (min-width: 992px) {
    .justify-content-lg-start {
        justify-content: flex-start !important
    }

    .justify-content-lg-end {
        justify-content: flex-end !important
    }
}

@supports ((position:-webkit-sticky) or (position:sticky)) {
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0
}

.w-100 {
    width: 100% !important
}

.mb-0 {
    margin-bottom: 0 !important
}

.mr-2 {
    margin-right: .5rem !important
}

.mb-2 {
    margin-bottom: .5rem !important
}

.my-3 {
    margin-top: 1rem !important
}

.mb-3, .my-3 {
    margin-bottom: 1rem !important
}

.ml-3 {
    margin-left: 1rem !important
}

.mb-4 {
    margin-bottom: 1.5rem !important
}

.mt-5 {
    margin-top: 1rem !important
}

.mb-5 {
    margin-bottom: .2rem !important
}

.p-1 {
    padding: .25rem !important
}

.px-1 {
    padding-right: .25rem !important
}

.px-1 {
    padding-left: .25rem !important
}

.pt-3 {
    padding-top: 1rem !important
}

.pl-3 {
    padding-left: 1rem !important
}

@media (min-width: 768px) {
    .mb-md-0 {
        margin-bottom: 0 !important
    }
}

@media (min-width: 992px) {
    .mr-lg-2 {
        margin-right: .5rem !important
    }
}

@media (min-width: 1200px) {
    .pr-xl-5 {
        padding-right: 3rem !important
    }

    .pl-xl-5 {
        padding-left: 3rem !important
    }
}

.text-left {
    text-align: left !important
}

.text-center {
    text-align: center !important
}

@media (min-width: 992px) {
    .text-lg-left {
        text-align: left !important
    }

    .text-lg-right {
        text-align: right !important
    }
}

.font-weight-bold {
    font-weight: 700 !important
}

.text-white {
    color: #fff !important
}

*, :after, :before {
    box-sizing: border-box
}

html {
    font-family: sans-serif;
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

aside, footer, header, main, nav {
    display: block
}

body {
    margin: 0;
    font-family: Poppins, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #355458;
    text-align: left;
    background-color: #fff
}

[tabindex="-1"]:focus:not(:focus-visible) {
    outline: 0 !important
}

h1, h2 {
    margin-top: 0;
    margin-bottom: .5rem
}

p {
    margin-top: 0;
    margin-bottom: 1rem
}

address {
    font-style: normal;
    line-height: inherit
}

address, ul {
    margin-bottom: 1rem
}

ul {
    margin-top: 0
}

ul ul {
    margin-bottom: 0
}

a {
    color: #293c92;
    text-decoration: none;
    background-color: transparent
}

a:hover {
    color: #000;
    text-decoration: underline
}

img {
    border-style: none
}

img, svg {
    vertical-align: middle
}

svg {
    overflow: hidden
}

th {
    text-align: inherit
}

label {
    display: inline-block;
    margin-bottom: .5rem
}

button {
    border-radius: 0
}

button:focus {
    outline: 1px dotted;
    outline: 5px auto -webkit-focus-ring-color
}

button, input {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit
}

button, input {
    overflow: visible
}

button {
    text-transform: none
}

[type=button], [type=submit], button {
    -webkit-appearance: button
}

[type=button]:not(:disabled), [type=reset]:not(:disabled), [type=submit]:not(:disabled), button:not(:disabled) {
    cursor: pointer
}

[type=button]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
    padding: 0;
    border-style: none
}

input[type=checkbox] {
    box-sizing: border-box;
    padding: 0
}

fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0
}

[type=search] {
    outline-offset: -2px;
    -webkit-appearance: none
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    font: inherit;
    -webkit-appearance: button
}

.container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto
}

@media (min-width: 576px) {
    .container {
        max-width: 540px
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 720px
    }
}

@media (min-width: 992px) {
    .container {
        max-width: 960px
    }
}

@media (min-width: 1200px) {
    .container {
        max-width: 1140px
    }
}

.container-fluid {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto
}

@media (min-width: 576px) {
    .container {
        max-width: 540px
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 720px
    }
}

@media (min-width: 992px) {
    .container {
        max-width: 960px
    }
}

@media (min-width: 1200px) {
    .container {
        max-width: 1140px
    }
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px
}

.no-gutters {
    margin-right: 0;
    margin-left: 0
}

.no-gutters > [class*=col-] {
    padding-right: 0;
    padding-left: 0
}

.col-12, .col-lg-4, .col-lg-8, .col-md-4, .col-md-6, .col-md-8, .col-xl-4, .col-xl-8 {
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px
}

.col-12 {
    flex: 0 0 100%;
    max-width: 100%
}

@media (min-width: 768px) {
    .col-md-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }

    .col-md-6 {
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-md-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%
    }
}

@media (min-width: 992px) {
    .col-lg-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }

    .col-lg-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%
    }
}

@media (min-width: 1200px) {
    .col-xl-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }

    .col-xl-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%
    }

    .order-xl-last {
        order: 13
    }
}

.nav {
    display: flex;
    flex-wrap: wrap;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none
}

.event__title {
    font-size: 2.5rem;
    font-weight: 600;
    line-height: 1.5;
    word-break: break-word;
    margin-bottom: 1rem
}

.event__details, .event__meta {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
    flex-direction: column
}

@media (min-width: 768px) {
    .event__details {
        flex-direction: row;
        align-items: center
    }
}

@media (min-width: 576px) {
    .event__meta {
        flex-direction: row;
        align-items: center
    }
}

.event__location, .event__time {
    margin-bottom: 1rem;
    margin-right: 1rem
}

@media (min-width: 768px) {
    .event__location, .event__time {
        margin-bottom: 0
    }
}

.event-list .view_period_switchers {
    display: flex;
    border-top: 5px solid #355458;
    justify-content: space-between;
    padding: 1rem 0
}

.event-list .view-switchers {
    margin-bottom: 1rem
}

.event-list .view-switchers a, .event-list .view-switchers span {
    color: #02292e;
    font-weight: 700;
    position: relative
}

.event-list .view-switchers a {
    text-decoration: underline
}

.event-list .alternative-event-item {
    padding-bottom: 3rem;
    border-bottom: 1px solid #ececec;
    margin-bottom: 4rem
}

.event-list .alternative-event-item:focus .event-item-image, .event-list .alternative-event-item:hover .event-item-image {
    transform: scale(.955)
}

.event-list .alternative-event-item .event-item-image {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    background-color: #293c92;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), calc(100% - 40px) 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), calc(100% - 40px) 100%, 0 100%);
    background-size: cover;
    transition: all .2s ease;
    background-position: 50%;
    background-repeat: no-repeat
}

.event-list .alternative-event-item .event-item-image span {
    line-height: 120%
}

.event-list .alternative-event-item .date {
    color: #cc4628;
    font-weight: 700
}

.event-list .alternative-event-item .tag {
    background-color: #eee;
    padding: 0 4px;
    display: inline-block;
    margin-bottom: 4px
}

.event-list .col-border {
    border-right: 1px solid #355458
}

.event-list .pcb-mini-cal {
    margin-bottom: 1rem
}

.event-list #searchoptions-categories {
    margin-bottom: .5rem
}

.event-list .table-wrap {
    overflow-x: auto
}

.event-list .cal-table {
    margin-bottom: 0
}

.event-list .cal-table th {
    padding: 0
}

@media (min-width: 767px) {
    .event-list .cal-table th {
        padding: 1rem .5rem
    }
}

.event-list table {
    font-weight: 700;
    max-width: 100%;
    width: 100%
}

.event-list table #current_month p {
    color: #02292e;
    font-size: 2rem;
    margin: 0;
    text-align: right
}

.event-list table #current_month p span {
    font-size: 1.25rem;
    display: block
}

.event-list table th {
    border-bottom: 0
}

.event-list table tr {
    border-bottom: 2px solid #ececec
}

.event-list table tr.calendar-dayhead {
    text-align: center
}

.event-list table tr.calendar-dayhead th span {
    color: #02292e;
    font-weight: 400
}

.event-list table tr.calendar-box-header {
    border-bottom: none
}

.event-list table tr.calendar-box-header #mini_cal_header {
    padding: 0
}

.event-list table tr.calendar-box-header #mini_cal_header_inner {
    display: flex;
    align-items: center
}

@media (max-width: 500px),(min-width: 1200px) and (max-width: 1400px) {
    .event-list table tr.calendar-box-header #mini_cal_header_inner {
        flex-direction: column
    }
}

@media (min-width: 1200px) and (max-width: 1400px) {
    .event-list table tr.calendar-box-header #mini_cal_header_inner {
        align-items: flex-start
    }
}

.event-list table tr.calendar-box-header #month_switchers {
    display: flex;
    align-items: center
}

.event-list table tr.calendar-box-header #next_month a, .event-list table tr.calendar-box-header #prev_month a {
    display: block;
    padding: 1rem
}

.event-list table tr.calendar-box-header #current_month {
    padding: 1rem;
    margin-left: auto
}

@media (max-width: 500px),(min-width: 1200px) and (max-width: 1400px) {
    .event-list table tr.calendar-box-header #current_month {
        order: -1;
        margin-left: 0;
        padding-bottom: 0
    }
}

@media (max-width: 500px) {
    .event-list table tr.calendar-box-header #current_month p {
        text-align: center
    }
}

@media (max-width: 500px),(min-width: 1200px) and (max-width: 1400px) {
    .event-list table tr.calendar-box-header #current_month p span {
        display: inline;
        font-size: 1.8rem
    }
}

.event-list table td.thismonth a, .event-list table td.thismonth span {
    color: #02292e;
    display: block;
    font-weight: 700;
    margin-bottom: 1rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

#calendar_box table td {
    padding: 0
}

#calendar_box table td.hasEvents {
    background-color: #293c92
}

#calendar_box table td.hasEvents a {
    color: #fff;
    margin: 0 auto;
    padding: .4rem
}

#calendar_box table td.today {
    background-color: #cc4628
}

#calendar_box table td.today span {
    color: #fff
}

#calendar_box table td span {
    margin: 0 auto;
    padding: 0
}

@media (min-width: 767px) {
    #calendar_box table td span {
        padding: .5rem
    }
}

.searchoptions-generic .search-form-container {
    position: relative;
    margin: 1rem 0
}

.searchoptions-generic .search-form-container .form-label {
    display: inline
}

.searchoptions-generic .search-form-container__input-search {
    color: #355458 !important;
    font-size: 1rem;
    font-weight: 600;
    width: 100%;
    height: 50px;
    padding: 1rem 3.75rem 1rem 1.25rem
}

.searchoptions-generic .search-form-container__button {
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    padding: 0 1.25rem;
    pointer-events: none
}

.searchoptions-generic .search-form-container__button > svg {
    fill: #02292e;
    transform: scale(.8)
}

@media (max-width: 767px) {
    .searchoptions-generic .search-form-container {
        margin: 3rem 0
    }

    .searchoptions-generic .search-form-container__input-search {
        height: 60px;
        font-size: 1.25rem
    }

    .searchoptions-generic .search-form-container__button {
        transform: scale(.7)
    }
}

#search-results .pagination-box {
    display: flex;
    align-items: center;
    margin: 2rem 0
}

#search-results .pagination-box .pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem
}

#search-results .pagination-box .pagination a {
    text-align: center;
    display: inline-block;
    padding: .25rem 1rem;
    background-color: #02292e;
    border: 2px solid #02292e;
    color: #fff !important;
    transition: color .3s ease-in-out, background-color .3s ease-in-out, border-color .3s ease-in-out, box-shadow .3s ease-in-out;
    min-width: 42px;
    min-height: 42px;
    display: flex;
    justify-content: center;
    align-items: center
}

#search-results .pagination-box .pagination a:hover {
    text-decoration: none;
    background-color: transparent;
    color: #02292e !important;
    border: 2px solid #02292e
}

#search-results .pagination-box .pagination a:last-child {
    margin-right: 0
}

@media (max-width: 1400px) {
    #search-results .pagination-box {
        display: block
    }
}

@media (max-width: 991px) {
    #search-results {
        margin-top: 2rem
    }
}

.general-content .body-lead-font {
    font-weight: 500;
    line-height: 1.5;
    font-size: 1.25rem;
    word-break: break-word
}

.general-content p {
    margin-bottom: 1.5rem
}

.general-content p:last-child {
    margin-bottom: 0
}

.general-content a:has([class*=btn]) {
    text-decoration: none
}

table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 3rem
}

table thead {
    font-weight: 700
}

table tr:nth-child(2n) {
    background-color: #f3f3f3
}

.btn-see-more {
    font-size: .75rem;
    padding: .5rem 1.3rem .5rem .5rem;
    position: relative;
    background-color: #02292e;
    color: #fff;
    transition: all .2s ease-in-out;
    line-height: normal;
    letter-spacing: .05rem;
    font-weight: 600
}

.btn-see-more:focus, .btn-see-more:hover {
    color: #02292e;
    outline: 2px solid #02292e;
    background-color: #fff
}

.btn-see-more:after {
    content: "";
    display: block;
    width: 13px;
    height: 13px;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='800' height='800' viewBox='0 0 1024 1024' class='icon' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M903.232 256L960 306.432 512 768 64 306.432 120.768 256 512 659.072z' fill='%23fff'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 13px;
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%)
}

.btn-see-more:focus:after, .btn-see-more:hover:after {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='800' height='800' viewBox='0 0 1024 1024' class='icon' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M903.232 256L960 306.432 512 768 64 306.432 120.768 256 512 659.072z' fill='%2302292e'/%3E%3C/svg%3E")
}

.inline-tag-t4-navy {
    display: inline-block;
    font-size: .75rem;
    letter-spacing: .05rem;
    font-weight: 600;
    padding: .15rem .35rem;
    margin-left: .75rem
}

.inline-tag-t4-navy {
    background-color: #02292e;
    color: #fff !important
}

.d-block {
    display: block !important
}

.event-list .view_period_switchers .btn-t4, .event-listing .view_period_switchers .btn-t4, .h6-font {
    font-size: 1.15rem;
    font-weight: 600;
    line-height: 1.5;
    word-break: break-word;
    margin-bottom: 1rem;
    display: flex;
    flex-direction: column
}

.event-list .view_period_switchers .btn-t4, .event-listing .view_period_switchers .btn-t4 {
    word-break: normal;
    padding-bottom: .5rem;
    padding-top: .5rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    align-items: flex-end
}

.event-list .view_period_switchers .btn-t4:first-child, .event-listing .view_period_switchers .btn-t4:first-child, .event-listing .view_period_switchers .staff-directory .button-list button:first-child {
    margin-right: .5rem;
    align-items: flex-start
}

.btn-t4-primary a:hover, a.btn-t4-primary:hover, a body.theme-red span.btn-t4-secondary:hover, a span.btn-t4-primary:hover {
    background-color: #fff0;
    color: #02292e !important;
    border: 2px solid #02292e
}

.btn-t4-primary a:hover > svg, a.btn-t4-primary:hover > svg, a body.theme-red span.btn-t4-secondary:hover > svg, a span.btn-t4-primary:hover > svg {
    fill: #02292e;
    transition: fill 0.3s ease-in-out
}

.event-listing table td.fillday a, .event-listing table td.fillday span, .event-list table td.fillday a, .event-list table td.fillday span {
    color: #637174;
    display: block;
    font-weight: 700;
    margin-bottom: 1rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.checkbox:has(input:checked) > label:before {
    background-color: #355458;
    border-color: #355458;
}

.checkbox:has(input:checked) > label:after {
    transform: scale(1) rotate(-45deg) translateZ(0);
}


a, address, aside, body, div, fieldset, footer, form, h1, h2, header, html, img, label, li, nav, p, span, table, tbody, td, th, thead, tr, ul {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline
}

aside, footer, header, nav {
    display: block
}

body {
    line-height: 1
}

ul {
    list-style: none
}

table {
    border-spacing: 0
}

html {
    overflow-x: hidden;
    scroll-behavior: smooth;
    scroll-padding-top: 120px
}

h1, h2 {
    font-weight: 600;
    line-height: 1.5
}

a, div, p {
    line-height: 1.75
}

button {
    border: none;
    background-color: transparent
}

::-webkit-input-placeholder {
    color: #355458
}

::-moz-placeholder {
    color: #355458;
    opacity: 1
}

:-ms-input-placeholder {
    color: #355458
}

:-moz-placeholder {
    color: #355458
}

input[type] {
    font-weight: 500;
    border-radius: 0
}

input[type=search]::-ms-clear, input[type=search]::-ms-reveal {
    display: none;
    width: 0;
    height: 0
}

input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration, input[type=search]::-webkit-search-results-button, input[type=search]::-webkit-search-results-decoration {
    display: none
}

.event-list .alternative-event-item .title a {
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1.5;
    word-break: break-word;
    margin-bottom: 1rem
}

.h4-font {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.5;
    word-break: break-word;
    margin-bottom: 1rem
}

.h5-font {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.5;
    word-break: break-word;
    margin-bottom: 1rem
}

.text-white {
    color: #fff
}

.svg-md-24px {
    width: 24px;
    height: 24px
}

.svg-md-48px {
    width: 48px;
    height: 48px
}

.single-padding-divider {
    padding-top: 3rem;
    padding-bottom: 3rem
}

.btn-t4, a.btn-t4-primary {
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-color: transparent;
    border: 2px solid transparent;
    padding: .5rem 1.5rem;
    font-size: .875rem;
    letter-spacing: .025rem;
    font-weight: 500;
    text-decoration: none !important;
    transition: color .3s ease-in-out, background-color .3s ease-in-out, border-color .3s ease-in-out, box-shadow .3s ease-in-out
}

a.btn-t4-primary {
    background-color: #293c92;
    color: #fff !important
}

a.btn-t4-primary:hover {
    background-color: transparent;
    color: #293c92 !important;
    border: 2px solid #293c92
}

a.btn-t4-primary:focus {
    border: 4px solid #cc4628
}

.form-outline {
    border: 2px solid #02292e
}

.checkbox {
    position: relative !important
}

.checkbox input[type=checkbox] {
    display: none
}

.checkbox > label {
    cursor: pointer;
    display: block;
    position: relative;
    padding-left: 0 !important
}

.checkbox > label, .checkbox > label:before {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    vertical-align: middle
}

.checkbox > label:before {
    width: 20px;
    height: 20px;
    min-width: 20px;
    min-height: 20px;
    border: 2px solid #355458;
    content: "";
    display: inline-block;
    will-change: background-color, border-color;
    border-radius: 0;
    background-color: #fff;
    transition: all .3s ease-in-out
}

.checkbox > label:after {
    top: 50%;
    margin-top: 1px;
    left: 8px;
    width: 10px;
    height: 5px;
    border: 2px solid #fff;
    border-top-style: none;
    border-right-style: none;
    content: "";
    position: absolute;
    will-change: transform;
    transform-origin: bottom left;
    transform: scale(0) rotate(-90deg) translateZ(0);
    transition: all .2s ease-in-out
}

.checkbox > label > span {
    padding-left: .5rem;
    padding-right: .5rem
}

table td, table th {
    padding: 1rem
}

table th {
    border-bottom: 2px solid #355458
}

table td {
    border-bottom: 1px solid #355458
}

.border {
    border: 1px solid #aebbbc !important
}

.clearfix:after {
    display: block;
    clear: both;
    content: ""
}

.d-none {
    display: none !important
}

.d-flex {
    display: flex !important
}

.flex-column {
    flex-direction: column !important
}

.justify-content-center {
    justify-content: center !important
}

.align-items-center {
    align-items: center !important
}

@media (min-width: 992px) {
    .justify-content-lg-start {
        justify-content: flex-start !important
    }

    .justify-content-lg-end {
        justify-content: flex-end !important
    }
}

@supports ((position:-webkit-sticky) or (position:sticky)) {
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0
}

.w-100 {
    width: 100% !important
}

.mb-0 {
    margin-bottom: 0 !important
}

.mr-2 {
    margin-right: .5rem !important
}

.mb-2 {
    margin-bottom: .5rem !important
}

.my-3 {
    margin-top: 1rem !important
}

.mb-3, .my-3 {
    margin-bottom: 1rem !important
}

.ml-3 {
    margin-left: 1rem !important
}

.mb-4 {
    margin-bottom: 1.5rem !important
}

.mt-5 {
    margin-top: 1rem !important
}

.mb-5 {
    margin-bottom: .2rem !important
}

.p-1 {
    padding: .25rem !important
}

.px-1 {
    padding-right: .25rem !important
}

.px-1 {
    padding-left: .25rem !important
}

.pt-3 {
    padding-top: 1rem !important
}

.pl-3 {
    padding-left: 1rem !important
}

@media (min-width: 768px) {
    .mb-md-0 {
        margin-bottom: 0 !important
    }
}

@media (min-width: 992px) {
    .mr-lg-2 {
        margin-right: .5rem !important
    }
}

@media (min-width: 1200px) {
    .pr-xl-5 {
        padding-right: 3rem !important
    }

    .pl-xl-5 {
        padding-left: 3rem !important
    }
}

.text-left {
    text-align: left !important
}

.text-center {
    text-align: center !important
}

@media (min-width: 992px) {
    .text-lg-left {
        text-align: left !important
    }

    .text-lg-right {
        text-align: right !important
    }
}

.font-weight-bold {
    font-weight: 700 !important
}

.text-white {
    color: #fff !important
}

*, :after, :before {
    box-sizing: border-box
}

html {
    font-family: sans-serif;
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

aside, footer, header, main, nav {
    display: block
}

body {
    margin: 0;
    font-family: Poppins, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #355458;
    text-align: left;
    background-color: #fff
}

[tabindex="-1"]:focus:not(:focus-visible) {
    outline: 0 !important
}

h1, h2 {
    margin-top: 0;
    margin-bottom: .5rem
}

p {
    margin-top: 0;
    margin-bottom: 1rem
}

address {
    font-style: normal;
    line-height: inherit
}

address, ul {
    margin-bottom: 1rem
}

ul {
    margin-top: 0
}

ul ul {
    margin-bottom: 0
}

a {
    color: #293c92;
    text-decoration: none;
    background-color: transparent
}

a:hover {
    color: #000;
    text-decoration: underline
}

img {
    border-style: none
}

img, svg {
    vertical-align: middle
}

svg {
    overflow: hidden
}

th {
    text-align: inherit
}

label {
    display: inline-block;
    margin-bottom: .5rem
}

button {
    border-radius: 0
}

button:focus {
    outline: 1px dotted;
    outline: 5px auto -webkit-focus-ring-color
}

button, input {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit
}

button, input {
    overflow: visible
}

button {
    text-transform: none
}

[type=button], [type=submit], button {
    -webkit-appearance: button
}

[type=button]:not(:disabled), [type=reset]:not(:disabled), [type=submit]:not(:disabled), button:not(:disabled) {
    cursor: pointer
}

[type=button]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
    padding: 0;
    border-style: none
}

input[type=checkbox] {
    box-sizing: border-box;
    padding: 0
}

fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0
}

[type=search] {
    outline-offset: -2px;
    -webkit-appearance: none
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    font: inherit;
    -webkit-appearance: button
}

.container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto
}

@media (min-width: 576px) {
    .container {
        max-width: 540px
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 720px
    }
}

@media (min-width: 992px) {
    .container {
        max-width: 960px
    }
}

@media (min-width: 1200px) {
    .container {
        max-width: 1140px
    }
}

.container-fluid {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto
}

@media (min-width: 576px) {
    .container {
        max-width: 540px
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 720px
    }
}

@media (min-width: 992px) {
    .container {
        max-width: 960px
    }
}

@media (min-width: 1200px) {
    .container {
        max-width: 1140px
    }
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px
}

.no-gutters {
    margin-right: 0;
    margin-left: 0
}

.no-gutters > [class*=col-] {
    padding-right: 0;
    padding-left: 0
}

.col-12, .col-lg-4, .col-lg-8, .col-md-4, .col-md-6, .col-md-8, .col-xl-4, .col-xl-8 {
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px
}

.col-12 {
    flex: 0 0 100%;
    max-width: 100%
}

@media (min-width: 768px) {
    .col-md-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }

    .col-md-6 {
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-md-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%
    }
}

@media (min-width: 992px) {
    .col-lg-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }

    .col-lg-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%
    }
}

@media (min-width: 1200px) {
    .col-xl-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }

    .col-xl-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%
    }

    .order-xl-last {
        order: 13
    }
}

.nav {
    display: flex;
    flex-wrap: wrap;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none
}

.event__title {
    font-size: 2.5rem;
    font-weight: 600;
    line-height: 1.5;
    word-break: break-word;
    margin-bottom: 1rem
}

.event__details, .event__meta {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
    flex-direction: column
}

@media (min-width: 768px) {
    .event__details {
        flex-direction: row;
        align-items: center
    }
}

@media (min-width: 576px) {
    .event__meta {
        flex-direction: row;
        align-items: center
    }
}

.event__location, .event__time {
    margin-bottom: 1rem;
    margin-right: 1rem
}

@media (min-width: 768px) {
    .event__location, .event__time {
        margin-bottom: 0
    }
}

.event-list .view_period_switchers {
    display: flex;
    border-top: 5px solid #355458;
    justify-content: space-between;
    padding: 1rem 0
}

.event-list .view-switchers {
    margin-bottom: 1rem
}

.event-list .view-switchers a, .event-list .view-switchers span {
    color: #02292e;
    font-weight: 700;
    position: relative
}

.event-list .view-switchers a {
    text-decoration: underline
}

.event-list .alternative-event-item {
    padding-bottom: 3rem;
    border-bottom: 1px solid #ececec;
    margin-bottom: 4rem
}

.event-list .alternative-event-item:focus .event-item-image, .event-list .alternative-event-item:hover .event-item-image {
    transform: scale(.955)
}

.event-list .alternative-event-item .event-item-image {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    background-color: #293c92;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), calc(100% - 40px) 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), calc(100% - 40px) 100%, 0 100%);
    background-size: cover;
    transition: all .2s ease;
    background-position: 50%;
    background-repeat: no-repeat
}

.event-list .alternative-event-item .event-item-image span {
    line-height: 120%
}

.event-list .alternative-event-item .date {
    color: #cc4628;
    font-weight: 700
}

.event-list .alternative-event-item .tag {
    display: inline-block;
    margin-bottom: 4px;
    font-size: .75rem;
    letter-spacing: .05rem;
    font-weight: 600;
    padding: .15rem .35rem;
    background-color: #293c92;
    color: #fff;
}

.event-list .col-border {
    border-right: 1px solid #355458
}

.event-list .pcb-mini-cal {
    margin-bottom: 1rem
}

.event-list #searchoptions-categories {
    margin-bottom: .5rem
}

.event-list .table-wrap {
    overflow-x: auto
}

.event-list .cal-table {
    margin-bottom: 0
}

.event-list .cal-table th {
    padding: 0
}

@media (min-width: 767px) {
    .event-list .cal-table th {
        padding: 1rem .5rem
    }
}

.event-list table {
    font-weight: 700;
    max-width: 100%;
    width: 100%
}

.event-list table #current_month p {
    color: #02292e;
    font-size: 2rem;
    margin: 0;
    text-align: right
}

.event-list table #current_month p span {
    font-size: 1.25rem;
    display: block
}

.event-list table th {
    border-bottom: 0
}

.event-list table tr {
    border-bottom: 2px solid #ececec
}

.event-list table tr.calendar-dayhead {
    text-align: center
}

.event-list table tr.calendar-dayhead th span {
    color: #02292e;
    font-weight: 400
}

.event-list table tr.calendar-box-header {
    border-bottom: none
}

.event-list table tr.calendar-box-header #mini_cal_header {
    padding: 0
}

.event-list table tr.calendar-box-header #mini_cal_header_inner {
    display: flex;
    align-items: center
}

@media (max-width: 500px),(min-width: 1200px) and (max-width: 1400px) {
    .event-list table tr.calendar-box-header #mini_cal_header_inner {
        flex-direction: column
    }
}

@media (min-width: 1200px) and (max-width: 1400px) {
    .event-list table tr.calendar-box-header #mini_cal_header_inner {
        align-items: flex-start
    }
}

.event-list table tr.calendar-box-header #month_switchers {
    display: flex;
    align-items: center
}

.event-list table tr.calendar-box-header #next_month a, .event-list table tr.calendar-box-header #prev_month a {
    display: block;
    padding: 1rem
}

.event-list table tr.calendar-box-header #current_month {
    padding: 1rem;
    margin-left: auto
}

@media (max-width: 500px),(min-width: 1200px) and (max-width: 1400px) {
    .event-list table tr.calendar-box-header #current_month {
        order: -1;
        margin-left: 0;
        padding-bottom: 0
    }
}

@media (max-width: 500px) {
    .event-list table tr.calendar-box-header #current_month p {
        text-align: center
    }
}

@media (max-width: 500px),(min-width: 1200px) and (max-width: 1400px) {
    .event-list table tr.calendar-box-header #current_month p span {
        display: inline;
        font-size: 1.8rem
    }
}

.event-list table td.thismonth a, .event-list table td.thismonth span {
    color: #02292e;
    display: block;
    font-weight: 700;
    margin-bottom: 1rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

#calendar_box table td {
    padding: 0
}

#calendar_box table td.hasEvents {
    background-color: #293c92
}

#calendar_box table td.hasEvents a {
    color: #fff;
    margin: 0 auto;
    padding: .4rem
}

#calendar_box table td.today {
    background-color: #cc4628
}

#calendar_box table td.today span {
    color: #fff
}

#calendar_box table td span {
    margin: 0 auto;
    padding: 0
}

@media (min-width: 767px) {
    #calendar_box table td span {
        padding: .5rem
    }
}

.searchoptions-generic .search-form-container {
    position: relative;
    margin: 1rem 0
}

.searchoptions-generic .search-form-container .form-label {
    display: inline
}

.searchoptions-generic .search-form-container__input-search {
    color: #355458 !important;
    font-size: 1rem;
    font-weight: 600;
    width: 100%;
    height: 50px;
    padding: 1rem 3.75rem 1rem 1.25rem
}

.searchoptions-generic .search-form-container__button {
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    padding: 0 1.25rem;
    pointer-events: none
}

.searchoptions-generic .search-form-container__button > svg {
    fill: #02292e;
    transform: scale(.8)
}

@media (max-width: 767px) {
    .searchoptions-generic .search-form-container {
        margin: 3rem 0
    }

    .searchoptions-generic .search-form-container__input-search {
        height: 60px;
        font-size: 1.25rem
    }

    .searchoptions-generic .search-form-container__button {
        transform: scale(.7)
    }
}

#search-results .pagination-box {
    display: flex;
    align-items: center;
    margin: 2rem 0
}

#search-results .pagination-box .pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem
}

#search-results .pagination-box .pagination a {
    text-align: center;
    padding: .25rem 1rem;
    background-color: #02292e;
    border: 2px solid #02292e;
    color: #fff !important;
    transition: color .3s ease-in-out, background-color .3s ease-in-out, border-color .3s ease-in-out, box-shadow .3s ease-in-out;
    min-width: 42px;
    min-height: 42px;
    display: flex;
    justify-content: center;
    align-items: center
}

#search-results .pagination-box .pagination a:hover {
    text-decoration: none;
    background-color: transparent;
    color: #02292e !important;
    border: 2px solid #02292e
}

#search-results .pagination-box .pagination a:last-child {
    margin-right: 0
}

@media (max-width: 1400px) {
    #search-results .pagination-box {
        display: block
    }
}

@media (max-width: 991px) {
    #search-results {
        margin-top: 2rem
    }
}

.general-content .body-lead-font {
    font-weight: 500;
    line-height: 1.5;
    font-size: 1.25rem;
    word-break: break-word
}

.general-content p {
    margin-bottom: 1.5rem
}

.general-content p:last-child {
    margin-bottom: 0
}

.general-content a:has([class*=btn]) {
    text-decoration: none
}

table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 3rem
}

table thead {
    font-weight: 700
}

table tr:nth-child(2n) {
    background-color: #f3f3f3
}

.btn-see-more {
    font-size: .75rem;
    padding: .5rem 1.3rem .5rem .5rem;
    position: relative;
    background-color: #02292e;
    color: #fff;
    transition: all .2s ease-in-out;
    line-height: normal;
    letter-spacing: .05rem;
    font-weight: 600
}

.btn-see-more:focus, .btn-see-more:hover {
    color: #02292e;
    outline: 2px solid #02292e;
    background-color: #fff
}

.btn-see-more:after {
    content: "";
    display: block;
    width: 13px;
    height: 13px;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='800' height='800' viewBox='0 0 1024 1024' class='icon' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M903.232 256L960 306.432 512 768 64 306.432 120.768 256 512 659.072z' fill='%23fff'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 13px;
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%)
}

.btn-see-more:focus:after, .btn-see-more:hover:after {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='800' height='800' viewBox='0 0 1024 1024' class='icon' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M903.232 256L960 306.432 512 768 64 306.432 120.768 256 512 659.072z' fill='%2302292e'/%3E%3C/svg%3E")
}

.inline-tag-t4-navy {
    display: inline-block;
    font-size: .75rem;
    letter-spacing: .05rem;
    font-weight: 600;
    padding: .15rem .35rem;
    margin-left: .75rem
}

.inline-tag-t4-navy {
    background-color: #02292e;
    color: #fff !important
}

.d-block {
    display: block !important
}

.event-list .view_period_switchers .btn-t4, .event-listing .view_period_switchers .btn-t4, .h6-font {
    font-size: 1.15rem;
    font-weight: 600;
    line-height: 1.5;
    word-break: break-word;
    margin-bottom: 1rem;
    display: flex;
    flex-direction: column
}

.event-list .view_period_switchers .btn-t4, .event-listing .view_period_switchers .btn-t4 {
    word-break: normal;
    padding-bottom: .5rem;
    padding-top: .5rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    align-items: flex-end
}

.event-list .view_period_switchers .btn-t4:first-child, .event-listing .view_period_switchers .btn-t4:first-child, .event-listing .view_period_switchers .staff-directory .button-list button:first-child {
    margin-right: .5rem;
    align-items: flex-start
}

.btn-t4-primary a:hover, a.btn-t4-primary:hover, a body.theme-red span.btn-t4-secondary:hover, a span.btn-t4-primary:hover {
    background-color: #fff0;
    color: #02292e !important;
    border: 2px solid #02292e
}

.btn-t4-primary a:hover > svg, a.btn-t4-primary:hover > svg, a body.theme-red span.btn-t4-secondary:hover > svg, a span.btn-t4-primary:hover > svg {
    fill: #02292e;
    transition: fill 0.3s ease-in-out
}

.event-listing table td.fillday a, .event-listing table td.fillday span, .event-list table td.fillday a, .event-list table td.fillday span {
    color: #637174;
    display: block;
    font-weight: 700;
    margin-bottom: 1rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.checkbox:has(input:checked) > label:before {
    background-color: #355458;
    border-color: #355458;
}

.checkbox:has(input:checked) > label:after {
    transform: scale(1) rotate(-45deg) translateZ(0);
}


/* fulltext */
.event__detail .event__header {
    margin-bottom: 2rem;
}

.event__detail img {
    max-width: 100%;
}

.event__detail h1 {
    margin-top: 2rem;
}

.event__detail .event__category {
    display: inline-block;
    font-size: .75rem;
    letter-spacing: .05rem;
    font-weight: 600;
    padding: .15rem .35rem;
    background-color: #293c92;
    color: #fff;
    margin-bottom: 1rem;
}

.event__detail .event__date {
    margin-bottom: 1rem;
}

.event__detail .event__content {
    margin-top: 2rem;
}