/*! ICS Calendar Pro front end styles https://icscalendar.com */
.ics-calendar,
.r34ics_lightbox {
    --r34ics--color--ics-red: #dc143c;
    --r34ics--color--ics-purple: #312a85;
    --r34ics--color--white: white;
    --r34ics--color--whitesmoke: whitesmoke;
    --r34ics--color--gainsboro: gainsboro;
    --r34ics--color--darkgray: darkgray;
    --r34ics--color--gray: gray;
    --r34ics--color--dimgray: dimgray;
    --r34ics--color--black: black;
    --r34ics--color--dodgerblue: dodgerblue;
    --r34ics--color--gold: gold;
    --r34ics--color--lemonchiffon: lemonchiffon;
    --r34ics--color--limegreen: limegreen;
    --r34ics--color--orangered: orangered;
    --r34ics--color--trans10: rgba(105, 105, 105, 0.1);
    --r34ics--color--trans20: rgba(105, 105, 105, 0.2);
    --r34ics--color--trans30: rgba(105, 105, 105, 0.3);
    --r34ics--color--trans40: rgba(105, 105, 105, 0.4);
    --r34ics--color--trans50: rgba(105, 105, 105, 0.5);
    --r34ics--color--trans60: rgba(105, 105, 105, 0.6);
    --r34ics--color--trans70: rgba(105, 105, 105, 0.7);
    --r34ics--color--trans80: rgba(105, 105, 105, 0.8);
    --r34ics--color--trans90: rgba(105, 105, 105, 0.9)
}

.ics-calendar .descloc_toggle_excerpt,
.ics-calendar .ics-calendar-sidebar .ics-calendar-current-events li>span,
.ics-calendar .ics-calendar-widget .ics-calendar-current-events li>span,
.ics-calendar[data-month-table-list-toggle=list]:not(.show-past-events):not(.month_list_all) .ics-calendar-month-wrapper.past .past.has_events {
    display: block
}

.ics-calendar .descloc_toggle_full,
.ics-calendar-grid-wrapper .assistive-text,
.ics-calendar-grid-wrapper .event .descloc.show_on_hover,
.ics-calendar-month-table-list-toggle label input[type=radio],
.ics-calendar[data-month-table-list-toggle=list] .event .hover_block .time_in_hover_block,
.ics-calendar[data-month-table-list-toggle=list] .event .hover_block .title_in_hover_block,
.ics-calendar[data-month-table-list-toggle=list] .ics-calendar-month-grid .day .no_phone,
.ics-calendar[data-month-table-list-toggle=list] .ics-calendar-month-grid .empty,
.ics-calendar[data-month-table-list-toggle=list] .ics-calendar-month-grid .off,
.ics-calendar[data-month-table-list-toggle=list] .ics-calendar-month-grid thead,
.ics-calendar[data-month-table-list-toggle=list] .ics-calendar-month-grid tr.next-week,
.ics-calendar[data-month-table-list-toggle=list] .ics-calendar-month-grid tr.previous-week,
.ics-calendar[data-month-table-list-toggle=list].layout-month.month_list_all:not(.show-past-events) .past,
.ics-calendar[data-month-table-list-toggle=list]:not(.show-past-events) .ics-calendar-month-grid .past {
    display: none
}

.ics-calendar .fc .fc-event::after,
.ics-calendar .fc .fc-event::before,
.ics-calendar .hidden,
.ics-calendar-grid-wrapper hr.ics-calendar-grid-hour-marker:after,
.ics-calendar-grid-wrapper hr.ics-calendar-grid-hour-marker:before,
.ics-calendar-list-wrapper .hidden_in_list,
.ics-calendar-main-with-sidebar .ics-calendar-main .hidden_in_main,
.ics-calendar-main-with-sidebar .ics-calendar-main .sidebar_only,
.ics-calendar-month-with-sidebar .ics-calendar-month-grid .event .time .show_on_hover,
.ics-calendar.layout-full .hidden_in_main .descloc,
.ics-calendar:not(.layout-full) .hidden_in_main,
.ics-calendar[data-month-table-list-toggle=list] .hidden_in_list,
.ics-calendar[data-month-table-list-toggle=list].month_list_all .ics-calendar-arrow-nav,
.ics-calendar[data-month-table-list-toggle=list].month_list_all .ics-calendar-select {
    display: none !important
}

.ics-calendar .icon-list,
.ics-calendar .icon-month {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    height: 20px;
    margin: -5px 5px auto;
    vertical-align: middle;
    width: 20px
}

.ics-calendar .icon-list {
    background-image: url('data:image/svg+xml;base64,PHN2ZyBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNSIgdmlld0JveD0iMCAwIDE3NiAxNzYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjYTlhOWE5IiBzdHJva2Utd2lkdGg9IjE2LjY3Ij48cGF0aCBkPSJtMCA4aDE3NiIvPjxwYXRoIGQ9Im0zNi4wMSA0OGgxMzgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIpIi8+PHBhdGggZD0ibTM2LjAxIDg4aDEzOCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMikiLz48cGF0aCBkPSJtMCAxMjhoMTc2Ii8+PHBhdGggZD0ibTM2LjAxIDE2OGgxMzgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIpIi8+PC9nPjwvc3ZnPg==')
}

.ics-calendar .icon-month {
    background-image: url('data:image/svg+xml;base64,PHN2ZyBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNSIgdmlld0JveD0iMCAwIDE3NiAxNzYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgc3Ryb2tlPSIjYTlhOWE5Ij48cGF0aCBkPSJtMCA4OGgxNzZtLTE3NiA0MGgxNzZtLTYyLTcydjEyMG0tNTMtMTIwdjEyMCIgZmlsbD0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxNi42NyIvPjxnIGZpbGw9IiNhOWE5YTkiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS1taXRlcmxpbWl0PSIyIj48cGF0aCBkPSJtMTc2IDIuOTY5aC0xNzMuNTE5djE3My4wMzFoMTczLjUxOXptLTE2LjQzMiAxNi4zODZ2MTQwLjI1OWMwIC4wMDEtMTQwLjY1NS4wMDEtMTQwLjY1NS4wMDF2LTE0MC4yNnoiIHN0cm9rZS13aWR0aD0iLjk4IiB0cmFuc2Zvcm09Im1hdHJpeCgxLjAxNDMgMCAwIDEuMDE3MTYgLTIuNTE2OTEgLTMuMDIwMTcpIi8+PHBhdGggZD0ibTAgMGgxNzZ2NDcuOTI5aC0xNzZ6IiBzdHJva2Utd2lkdGg9Ii45MiIgdHJhbnNmb3JtPSJzY2FsZSgxIDEuMTY4NCkiLz48L2c+PC9nPjwvc3ZnPg==')
}

.ics-calendar .subscribe.button {
    background: var(--r34ics--color--gray);
    border-radius: 4px;
    color: var(--r34ics--color--white);
    display: inline-block;
    margin: .5em 0 .25em;
    padding: .2em .5em
}

.ics-calendar .subscribe.button:focus,
.ics-calendar .subscribe.button:hover {
    background: var(--r34ics--color--darkgray);
    text-decoration: none
}

.ics-calendar textarea.subscribe {
    display: inline-block;
    font-size: 90%;
    height: 3rem;
    margin: .25em 0 .5em;
    min-width: 200px;
    vertical-align: middle;
    width: 50%
}

.ics-calendar .subscribe-link-copied {
    color: var(--r34ics--color--gray);
    display: inline-block;
    font-size: 150%;
    margin: 0 .25em;
    vertical-align: middle
}

.ics-calendar .ics-calendar-sidebar .ics-calendar-current-events ul,
.ics-calendar .ics-calendar-widget .ics-calendar-current-events ul {
    list-style: none;
    margin: 0;
    padding: 0
}

.ics-calendar .ics-calendar-sidebar .ics-calendar-current-events li,
.ics-calendar .ics-calendar-widget .ics-calendar-current-events li {
    display: block;
    margin: 0 0 .5em
}

.ics-calendar.multi-feed .ics-calendar-sidebar .ics-calendar-current-events li,
.ics-calendar.multi-feed .ics-calendar-widget .ics-calendar-current-events li {
    padding: .5em
}

.ics-calendar.multi-feed .ics-calendar-sidebar .ics-calendar-current-events li[data-feed-color*="255,255,255"],
.ics-calendar.multi-feed .ics-calendar-widget .ics-calendar-current-events li[data-feed-color*="255,255,255"] {
    padding: 0
}

.ics-calendar .ics-calendar-sidebar .ics-calendar-current-events li .all-day-indicator,
.ics-calendar .ics-calendar-sidebar .ics-calendar-current-events li .time,
.ics-calendar .ics-calendar-widget .ics-calendar-current-events li .all-day-indicator,
.ics-calendar .ics-calendar-widget .ics-calendar-current-events li .time {
    font-size: 85%;
    font-weight: 700
}

.ics-calendar .ics-calendar-sidebar .ics-calendar-current-events li .time span,
.ics-calendar .ics-calendar-widget .ics-calendar-current-events li .time span {
    display: inline;
    font-size: 90%;
    font-weight: 400
}

.ics-calendar .ics-calendar-sidebar .ics-calendar-current-events li .title.has_desc,
.ics-calendar .ics-calendar-widget .ics-calendar-current-events li .title.has_desc {
    cursor: initial
}

.ics-calendar-month-with-sidebar .ics-calendar-month-grid .day,
.ics-calendar.r34ics_toggle .ics-calendar-sidebar .ics-calendar-current-events li .title.has_desc,
.ics-calendar.r34ics_toggle .ics-calendar-widget .ics-calendar-current-events li .title.has_desc {
    cursor: pointer
}

.ics-calendar .ics-calendar-sidebar .ics-calendar-current-events li .descloc,
.ics-calendar .ics-calendar-widget .ics-calendar-current-events li .descloc {
    font-size: 75%
}

.ics-calendar-grid-step-nav {
    clear: both;
    display: block;
    height: 1.5em;
    margin: 1em 0;
    width: 100%
}

.ics-calendar-grid-step-nav.invisible {
    -moz-user-select: none;
    -webkit-user-select: none;
    user-select: none;
    visibility: hidden
}

.ics-calendar-grid-step-nav>* {
    opacity: .7
}

.ics-calendar-grid-step-nav>:focus,
.ics-calendar-grid-step-nav>:focus-within,
.ics-calendar-grid-step-nav>:hover {
    opacity: 1
}

.ics-calendar-grid-step-nav>.prev {
    cursor: w-resize;
    float: left;
    -moz-user-select: none;
    -webkit-user-select: none;
    user-select: none
}

.ics-calendar-grid-step-nav>.next {
    cursor: e-resize;
    float: right;
    -moz-user-select: none;
    -webkit-user-select: none;
    user-select: none
}

.ics-calendar-grid-wrapper {
    background: var(--r34ics--color--white);
    table-layout: fixed;
    width: 100%
}

.ics-calendar-grid-wrapper hr.ics-calendar-grid-hour-marker {
    background: var(--r34ics--color--gainsboro) !important;
    border: none !important;
    height: 1px !important;
    margin: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 100% !important
}

.ics-calendar-grid-wrapper>*>tr>* {
    border-right: 4px solid var(--r34ics--color--whitesmoke);
    padding: 0 !important
}

.ics-calendar-grid-wrapper>*>tr>:first-child {
    text-align: right;
    width: 60px !important
}

.ics-calendar.multi-feed .ics-calendar-grid-wrapper [data-feed-key] {
    background: var(--r34ics--color--whitesmoke);
    border-top: 1px solid var(--r34ics--color--gainsboro);
    border-left: 4px solid var(--r34ics--color--gray);
    position: absolute;
    z-index: 1
}

.ics-calendar.multi-feed .ics-calendar-grid-wrapper [data-feed-key]:focus,
.ics-calendar.multi-feed .ics-calendar-grid-wrapper [data-feed-key]:focus-within,
.ics-calendar.multi-feed .ics-calendar-grid-wrapper [data-feed-key]:hover {
    background: var(--r34ics--color--gray);
    color: var(--r34ics--color--white);
    height: auto !important;
    z-index: 2
}

.ics-calendar.multi-feed .ics-calendar-grid-wrapper [data-feed-key]:focus-within a,
.ics-calendar.multi-feed .ics-calendar-grid-wrapper [data-feed-key]:focus-within a:focus,
.ics-calendar.multi-feed .ics-calendar-grid-wrapper [data-feed-key]:hover a,
.ics-calendar.multi-feed .ics-calendar-grid-wrapper [data-feed-key]:hover a:hover {
    color: var(--r34ics--color--white) !important
}

.ics-calendar-grid-wrapper .event {
    display: block;
    font-size: 10px;
    line-height: 1.3em;
    overflow: hidden;
    padding: 2px 4px !important;
    position: absolute
}

.ics-calendar-grid-wrapper .event:focus,
.ics-calendar-grid-wrapper .event:hover {
    min-width: 180px !important;
    overflow: visible
}

.ics-calendar-grid-wrapper .event:focus .descloc.show_on_hover,
.ics-calendar-grid-wrapper .event:focus-within .descloc.show_on_hover,
.ics-calendar-grid-wrapper .event:hover .descloc.show_on_hover {
    display: block;
    font-size: 10px
}

.ics-calendar-grid-wrapper .event .title {
    display: block;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.3em
}

.ics-calendar-grid-wrapper .event .time {
    font-size: 9px;
    line-height: 1.3em
}

.ics-calendar .fc .descloc,
.ics-calendar .fc .fc-daygrid-day-bottom,
.ics-calendar .fc .fc-view-harness * {
    font-size: var(--r34ics--fc--font--size)
}

.ics-calendar-grid-wrapper .toggle_day {
    background: url(../images/button-toggle.svg) center center/20px 20px no-repeat;
    display: inline-block;
    height: 20px;
    overflow: hidden;
    position: absolute;
    top: .3333em;
    right: .5em;
    transition: transform .25s;
    vertical-align: middle;
    width: 20px
}

.ics-calendar-month-table-list-toggle label,
tbody.ics-calendar-grid-body .ics-calendar-grid-all-day {
    background: var(--r34ics--color--whitesmoke)
}

.ics-calendar-grid-wrapper .expanded .toggle_day {
    transform: scaleX(-1)
}

.ics-calendar-tz-label {
    font-size: 11px
}

.ics-calendar.layout-full .hidden_in_main {
    opacity: .1 !important
}

.ics-calendar .fc {
    --r34ics--fc--font--size: 0.8rem
}

.ics-calendar .fc,
.ics-calendar .fc * {
    flex-wrap: wrap;
    overflow: visible
}

.ics-calendar .fc td * {
    -ms-word-break: break-all;
    word-break: break-all;
    word-break: break-word;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto
}

.ics-calendar .fc .fc-button {
    border-radius: 100px;
    color: var(--r34ics--color--white) !important;
    padding: .167em 1em
}

.ics-calendar .fc .fc-button-primary {
    background-color: var(--r34ics--color--gray) !important;
    border-color: var(--r34ics--color--gray) !important
}

.ics-calendar .fc .fc-button-active,
.ics-calendar .fc .fc-button-primary:not(:disabled).fc-button-active,
.ics-calendar .fc .fc-button-primary:not(:disabled):active,
.ics-calendar .fc .fc-button:focus,
.ics-calendar .fc .fc-button:hover {
    background-color: var(--r34ics--color--dimgray) !important;
    border-color: var(--r34ics--color--dimgray) !important
}

.ics-calendar .fc .fc-toolbar-ltr .fc-button-group>.fc-button:not(:last-child) {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    padding-right: .667em
}

.ics-calendar .fc .fc-toolbar-ltr .fc-button-group>.fc-button:not(:first-child) {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
    padding-left: .667em
}

.ics-calendar .fc .fc-col-header-cell {
    background: var(--r34ics--color--gainsboro);
    color: var(--r34ics--color--black);
    padding: .5em .8em .2em !important;
    text-align: center;
    text-transform: uppercase
}

.ics-calendar.whitetext .fc .fc-col-header-cell {
    background: var(--r34ics--color--dimgray)
}

.ics-calendar .fc .fc-col-header-cell a,
.ics-calendar .fc .fc-list-event-title a,
.ics-calendar .fc .fc-multimonth-multicol a {
    color: inherit !important;
    text-decoration: none
}

.ics-calendar .fc .fc-daygrid-block-event {
    padding: 1px 2px
}

.ics-calendar .fc a.fc-daygrid-day-number {
    color: var(--r34ics--color--dimgray) !important;
    text-decoration: none
}

.ics-calendar .fc .descloc {
    background: var(--r34ics--color--white);
    border: 1px solid var(--r34ics--color--darkgray);
    box-shadow: 2px 2px 5px var(--r34ics--color--trans20);
    display: block;
    max-height: 25vh !important;
    overflow-x: hidden;
    overflow-y: auto;
    padding: .4em .6em;
    position: absolute;
    top: 1em !important;
    bottom: auto !important;
    right: auto !important;
    left: 3em !important;
    white-space: normal;
    width: clamp(10rem, 20vw, 20rem);
    z-index: 9
}

.ics-calendar .fc tr:nth-of-type(n+5) td .descloc {
    top: auto !important;
    bottom: 1em !important
}

.ics-calendar .fc td:nth-of-type(n+5) .descloc {
    right: 3em !important;
    left: auto !important
}

.ics-calendar .fc .descloc .eventdesc {
    margin-top: .5rem
}

.ics-calendar .fc .fc-daygrid-day-bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0
}

.ics-calendar .fc .fc-daygrid-dot-event.fc-event-mirror,
.ics-calendar .fc .fc-daygrid-dot-event:focus,
.ics-calendar .fc .fc-daygrid-dot-event:focus-within,
.ics-calendar .fc .fc-daygrid-dot-event:hover {
    background-color: var(--r34ics--color--whitesmoke)
}

.ics-calendar.whitetext .fc .descloc {
    background: var(--r34ics--color--black)
}

.ics-calendar .fc .fc-daygrid-day.fc-day-today,
.ics-calendar .fc .fc-timegrid-col.fc-day-today {
    background-color: var(--r34ics--color--whitesmoke)
}

.ics-calendar .fc .fc-daygrid-day-frame {
    padding: 2px
}

.ics-calendar .fc .fc-daygrid-dot-event:not([href]):focus,
.ics-calendar .fc .fc-daygrid-dot-event:not([href]):focus-within,
.ics-calendar .fc .fc-daygrid-dot-event:not([href]):hover,
.ics-calendar .fc .fc-list-table a:not([href]):focus,
.ics-calendar .fc .fc-list-table a:not([href]):focus-within,
.ics-calendar .fc .fc-list-table a:not([href]):hover {
    background: inherit
}

.ics-calendar .fc .fc-daygrid-event:focus,
.ics-calendar .fc .fc-daygrid-event:focus-within,
.ics-calendar .fc .fc-daygrid-event:hover {
    z-index: 9
}

.ics-calendar .fc .fc-daygrid-event-dot,
.ics-calendar-widget-grid td.has_events .day {
    border-color: var(--r34ics--color--gray)
}

.ics-calendar .fc .fc-daygrid-event,
.ics-calendar .fc .fc-event,
.ics-calendar .fc .fc-event td,
.ics-calendar .fc .fc-event:focus,
.ics-calendar .fc .fc-event:focus-within,
.ics-calendar .fc .fc-event:hover,
.ics-calendar .fc .fc-event:visited,
.ics-calendar .fc .fc-list-table a:not([href]) {
    color: var(--r34ics--color--black) !important;
    font-size: var(--r34ics--fc--font--size);
    font-weight: 400;
    height: 100%;
    line-height: 1.3;
    white-space: normal
}

.ics-calendar .fc .fc-daygrid-event,
.ics-calendar .fc .fc-event td,
.ics-calendar[data-month-table-list-toggle=list] .event,
tbody.ics-calendar-grid-body .ics-calendar-grid-day,
tbody.ics-calendar-grid-body td,
tbody.ics-calendar-grid-body th {
    position: relative
}

.ics-calendar .fc .fc-event td.fc-list-event-time,
.ics-calendar-year-availability-grid td {
    white-space: nowrap
}

.ics-calendar .fc .fc-event a:not([href]),
.ics-calendar .fc .fc-event a:not([href]):focus,
.ics-calendar .fc .fc-event a:not([href]):focus-within,
.ics-calendar .fc .fc-event a:not([href]):hover,
.ics-calendar .fc .fc-event:not([href]),
.ics-calendar .fc .fc-event:not([href]):focus,
.ics-calendar .fc .fc-event:not([href]):focus-within,
.ics-calendar .fc .fc-event:not([href]):hover,
.ics-calendar .fc .fc-multimonth-multicol a.fc-more-link {
    text-decoration: none !important
}

.ics-calendar .fc .fc-h-event,
.ics-calendar .fc .fc-v-event {
    background-color: var(--r34ics--color--gray);
    border-color: var(--r34ics--color--gray)
}

.ics-calendar .fc .fc-v-event .fc-event-main-frame {
    display: block;
    overflow: hidden
}

.ics-calendar .fc .fc-header-toolbar>:first-child {
    flex-grow: 1
}

.ics-calendar .fc .fc-icon-x:before {
    content: '\00d7'
}

.ics-calendar .fc .fc-list-day-cushion {
    background-color: var(--r34ics--color--gainsboro)
}

.ics-calendar .fc .fc-list-event:focus td,
.ics-calendar .fc .fc-list-event:focus-within td,
.ics-calendar .fc .fc-list-event:hover td {
    background-color: var(--r34ics--color--whitesmoke)
}

.ics-calendar .fc .fc-more-popover .fc-daygrid-event {
    position: static
}

.ics-calendar .fc .fc-multimonth-multicol {
    overflow: hidden
}

.ics-calendar .fc .fc-multimonth-multicol .fc-daygrid-day-bottom {
    margin-top: -3px !important;
    text-align: center
}

.ics-calendar .fc .fc-multimonth-multicol .fc-daygrid-more-link {
    background-color: var(--r34ics--color--gray);
    border: none;
    border-radius: 3em;
    color: var(--r34ics--color--white) !important;
    display: inline-block;
    font-weight: 700;
    height: 1.5em;
    line-height: 1.5em;
    width: 1.5em
}

.ics-calendar .fc .fc-multimonth-multicol .fc-daygrid-more-link:focus,
.ics-calendar .fc .fc-multimonth-multicol .fc-daygrid-more-link:hover {
    background-color: var(--r34ics--color--dimgray)
}

.ics-calendar .fc .fc-non-business {
    background-color: var(--r34ics--color--trans10)
}

.ics-calendar .fc .fc-popover-close:focus,
.ics-calendar .fc .fc-popover-close:hover {
    opacity: 1
}

.ics-calendar .fc .fc-scroller-harness {
    overflow: visible
}

.ics-calendar .fc .fc-timegrid-col-frame:focus,
.ics-calendar .fc .fc-timegrid-col-frame:focus-within,
.ics-calendar .fc .fc-timegrid-col-frame:hover,
.ics-calendar .fc .fc-timegrid-event-harness:focus,
.ics-calendar .fc .fc-timegrid-event-harness:focus-within,
.ics-calendar .fc .fc-timegrid-event-harness:hover {
    z-index: 9 !important
}

.ics-calendar .fc .fc-toolbar {
    gap: 12px
}

.ics-calendar .fc .fc-toolbar-title {
    text-transform: capitalize
}

.ics-calendar .fc .fc-view-harness {
    background-color: var(--r34ics--color--white)
}

.ics-calendar .fc .fc-list,
.ics-calendar .fc .fc-scrollgrid,
.ics-calendar .fc td,
.ics-calendar .fc th,
.ics-calendar-widget-grid td.current:not(.has_events):not(.past) .day,
.ics-calendar-widget-grid td.today:not(.has_events) .day {
    border-color: var(--r34ics--color--gainsboro)
}

.ics-calendar .fc .title_in_hover_block,
.ics-calendar .fc .title_in_hover_block * {
    font-size: calc(var(--r34ics--fc--font--size) * 1.2) !important
}

.ics-calendar-widget .ics-calendar-label *,
.ics-calendar-widget-grid *,
.ics-calendar-year-availability-grid *,
thead.ics-calendar-grid-header {
    -moz-user-select: none;
    -webkit-user-select: none;
    user-select: none
}

thead.ics-calendar-grid-header th.ics-calendar-grid-tz {
    font-size: 10px;
    font-weight: 400;
    line-height: 1.3em;
    opacity: .5;
    padding-right: 6px !important;
    text-align: left
}

thead.ics-calendar-grid-header th.ics-calendar-grid-day {
    cursor: ew-resize;
    padding: 2px 6px !important;
    position: relative;
    text-align: center
}

thead.ics-calendar-grid-header th.ics-calendar-grid-day .dow {
    font-size: 12px;
    font-weight: 400
}

thead.ics-calendar-grid-header th.ics-calendar-grid-day .date {
    font-size: 14px;
    font-weight: 700
}

tbody.ics-calendar-grid-body .ics-calendar-grid-all-day .all-day-indicator {
    font-size: 10px;
    line-height: 1.3em;
    position: relative;
    right: 6px
}

tbody.ics-calendar-grid-body .ics-calendar-grid-all-day .event {
    height: 2em;
    margin: 0 0 2px;
    min-height: 2em;
    position: relative;
    width: calc(100% - 2px)
}

tbody.ics-calendar-grid-body .ics-calendar-grid-hours {
    position: relative;
    width: 40px
}

tbody.ics-calendar-grid-body .ics-calendar-grid-hours .ics-calendar-grid-hour {
    position: absolute;
    right: 0
}

tbody.ics-calendar-grid-body .ics-calendar-grid-hours .ics-calendar-grid-hour .hour {
    font-size: 10px;
    line-height: 1.3em;
    position: relative;
    right: 6px;
    text-align: right;
    top: 20px
}

.ics-calendar.layout-masonry {
    --r34ics--masonry--width: 25%
}

@media screen and (max-width:1024px) {
    .ics-calendar.layout-masonry {
        --r34ics--masonry--width: 33.333%
    }
}

@media screen and (max-width:768px) {
    .ics-calendar.layout-masonry {
        --r34ics--masonry--width: 50%
    }
}

@media screen and (max-width:480px) {
    .ics-calendar.layout-masonry {
        --r34ics--masonry--width: 100%
    }
}

.ics-calendar-masonry-grid-sizer {
    width: var(--r34ics--masonry--width)
}

.ics-calendar-masonry-grid-item {
    border: 1px solid var(--r34ics--color--gainsboro);
    border-radius: 4px;
    margin: 0 1rem 1rem 0;
    padding: .75rem 1rem !important;
    width: calc(var(--r34ics--masonry--width) - 1rem)
}

.ics-calendar-masonry-grid-item .ics-calendar-date {
    color: inherit !important;
    font-size: 120%;
    font-weight: 600;
    line-height: 1.3;
    margin: 0
}

.ics-calendar-masonry-grid-item .time {
    font-size: 80%;
    line-height: 1.3;
    margin: 0
}

.ics-calendar-masonry-grid-item .title {
    border-top: 1px solid var(--r34ics--color--gainsboro);
    display: block;
    font-weight: 600;
    line-height: 1.3;
    margin-top: .333rem;
    padding-top: .333rem
}

.ics-calendar.solidcolors .ics-calendar-masonry-grid-item,
.ics-calendar.solidcolors .ics-calendar-masonry-grid-item * {
    color: var(--r34ics--color--white)
}

.ics-calendar-controls-wrapper {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    margin: 1rem 0;
    justify-content: space-between
}

.ics-calendar-filter {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0
}

.ics-calendar-filter label {
    margin: 0
}

.ics-calendar-filter input[type=text] {
    display: inline-block;
    max-width: 240px;
    vertical-align: baseline;
    width: auto
}

.ics-calendar-filter input[type=reset] {
    background: var(--r34ics--color--gainsboro) !important;
    border: 1px solid var(--r34ics--color--gainsboro) !important;
    border-radius: 4px !important;
    color: var(--r34ics--color--black) !important;
    display: inline-block !important;
    margin: 0 .5em !important;
    padding: .2em .5em !important;
    vertical-align: baseline !important
}

.ics-calendar-filter input[type=reset]:focus,
.ics-calendar-filter input[type=reset]:hover {
    background: var(--r34ics--color--whitesmoke) !important
}

.ics-calendar-month-table-list-toggle {
    margin: 0;
    padding: 0
}

.ics-calendar-month-table-list-toggle>* {
    display: inline-block;
    margin-right: .5em
}

.ics-calendar-month-table-list-toggle label {
    border: 1px solid var(--r34ics--color--gainsboro);
    cursor: pointer;
    margin: 0;
    padding: 3px 5px
}

.ics-calendar-month-table-list-toggle label:not(:first-of-type) {
    border-left: none
}

.ics-calendar-month-table-list-toggle label:first-of-type {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px
}

.ics-calendar-month-table-list-toggle label:last-of-type {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px
}

.ics-calendar-month-table-list-toggle label.current {
    background: 0 0
}

.ics-calendar-month-table-list-toggle label:not(.current)>* {
    opacity: .4
}

.ics-calendar.monthnav-compact[data-month-table-list-toggle=list] .ics-calendar-month-wrapper {
    margin-top: 0
}

.ics-calendar[data-month-table-list-toggle=list] .ics-calendar-month-grid {
    margin-bottom: 1.5em
}

.ics-calendar[data-month-table-list-toggle=list] .ics-calendar-month-grid,
.ics-calendar[data-month-table-list-toggle=list] .ics-calendar-month-grid tbody,
.ics-calendar[data-month-table-list-toggle=list] .ics-calendar-month-grid td,
.ics-calendar[data-month-table-list-toggle=list] .ics-calendar-month-grid th,
.ics-calendar[data-month-table-list-toggle=list] .ics-calendar-month-grid tr {
    border: none;
    display: block;
    font-size: 100%;
    width: 100%
}

.ics-calendar[data-month-table-list-toggle=list] .ics-calendar-month-grid .day {
    padding: .5em .8em
}

.ics-calendar[data-month-table-list-toggle=list] .ics-calendar-month-grid .day .phone_only {
    display: inline-block !important
}

.ics-calendar[data-month-table-list-toggle=list] .ics-calendar-month-grid td {
    height: auto
}

.ics-calendar[data-month-table-list-toggle=list] .ics-calendar-month-grid .events .time .show_on_hover {
    visibility: visible
}

.ics-calendar[data-month-table-list-toggle=list] .phone_only:not(.hidden) {
    display: inherit !important
}

.ics-calendar[data-month-table-list-toggle=list] .event .hover_block {
    background: 0 0;
    border: none;
    box-shadow: none;
    padding: 0;
    position: relative;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important
}

.ics-calendar-main-with-sidebar .ics-calendar-main .event_count .badge,
.ics-calendar-month-grid .current .day {
    background: var(--r34ics--color--gray);
    color: var(--r34ics--color--white)
}

.ics-calendar[data-month-table-list-toggle=list].month_list_all .ics-calendar-month-wrapper:not(.past),
.ics-calendar[data-month-table-list-toggle=list].month_list_all.show-past-events .ics-calendar-month-wrapper.past {
    display: block !important
}

.ics-calendar-main-with-sidebar {
    clear: both;
    display: flex;
    justify-content: space-between;
    position: relative;
    width: 100%
}

.ics-calendar-main {
    display: block;
    flex-direction: column;
    overflow: hidden;
    width: 75%
}

.ics-calendar-main-with-sidebar .ics-calendar-main .event_count {
    display: block;
    height: 3em;
    padding: .5em;
    text-align: center
}

@media screen and (min-width:783px) {
    .ics-calendar-main-with-sidebar .ics-calendar-main .event_count.phone_only {
        display: none
    }
}

.ics-calendar-main-with-sidebar .ics-calendar-main .event_count .badge {
    border-radius: 2em;
    display: inline-block;
    font-weight: 700;
    height: 2em;
    line-height: 2em;
    padding: 0;
    text-align: center;
    width: 2em
}

.ics-calendar-main-with-sidebar .ics-calendar-main .more_events {
    font-style: italic;
    font-size: 90%;
    line-height: 1.5em;
    padding: .4em .8em;
    text-align: right
}

.ics-calendar-sidebar {
    align-self: flex-start;
    display: block;
    flex-direction: column;
    height: auto;
    overflow: hidden;
    padding: 0 0 0 1.5rem;
    position: sticky;
    top: 0;
    width: 25%
}

.ics-calendar-widget {
    max-width: 360px
}

.ics-calendar-widget .ics-calendar-label {
    padding: 0 calc(28 + .5em);
    position: relative;
    text-align: center
}

.ics-calendar-widget .ics-calendar-pagination {
    background: var(--r34ics--color--whitesmoke);
    border: 1px solid var(--r34ics--color--gainsboro);
    border-radius: 4px;
    color: var(--r34ics--color--black);
    cursor: pointer;
    display: block;
    font-size: 14px;
    height: 28px;
    line-height: 28px;
    position: absolute;
    top: 0;
    text-align: center;
    vertical-align: middle;
    width: 28px
}

.ics-calendar-widget .ics-calendar-pagination:focus,
.ics-calendar-widget .ics-calendar-pagination:hover {
    background: var(--r34ics--color--gainsboro)
}

.ics-calendar-widget .ics-calendar-pagination[disabled] {
    background: var(--r34ics--color--gainsboro);
    cursor: not-allowed;
    opacity: .25
}

.ics-calendar-widget .ics-calendar-pagination.prev {
    left: 0
}

.ics-calendar-widget .ics-calendar-pagination.next {
    right: 0
}

.ics-calendar-widget .ics-calendar-day-details {
    margin: 1.5em 0
}

.ics-calendar-widget-grid,
.ics-calendar-widget-grid *,
.ics-calendar-year-availability-grid,
.ics-calendar-year-availability-grid * {
    font-size: 12px
}

.ics-calendar-widget-grid,
.ics-calendar-year-availability-grid {
    background: var(--r34ics--color--white);
    border: none;
    border-collapse: collapse;
    margin: .5em 0;
    width: 100%
}

.ics-calendar-widget-grid td,
.ics-calendar-widget-grid th,
.ics-calendar-year-availability-grid td,
.ics-calendar-year-availability-grid th {
    padding: 2px 0 !important;
    text-align: center
}

.ics-calendar-widget-grid td.past,
.ics-calendar-year-availability-grid td.past {
    opacity: .5
}

.ics-calendar-widget-grid td .day,
.ics-calendar-year-availability-grid .day {
    display: inline-block;
    height: 2.333em;
    line-height: 2.333em;
    padding: 0;
    text-align: center;
    width: 2.333em
}

.ics-calendar-widget-grid td .day {
    border: 2px solid transparent;
    border-radius: 2.333em;
    cursor: pointer;
    line-height: calc(2.333em - 2px)
}

.ics-calendar-widget-grid td.empty .day {
    cursor: not-allowed
}

.ics-calendar-widget-grid td.has_events .day,
.ics-calendar-year-availability-grid td.has_events:not(.past) .day {
    background: var(--r34ics--color--gainsboro);
    font-weight: 700
}

.ics-calendar-year-availability-grid td.past .day {
    background: 0 0 !important;
    border: none !important;
    color: var(--r34ics--color--gray) !important
}

.ics-calendar:not(.no_angled_backgrounds) .ics-calendar-year-availability-grid td.has_events.multiday_first:not(.multiday_last):not(.past) .day {
    background: linear-gradient(-45deg, var(--r34ics--color--gainsboro) 0, var(--r34ics--color--gainsboro) 45%, transparent 45%, transparent 100%)
}

.ics-calendar:not(.no_angled_backgrounds) .ics-calendar-year-availability-grid td.has_events.multiday_last:not(.multiday_first):not(.past) .day {
    background: linear-gradient(-45deg, transparent 0, transparent 55%, var(--r34ics--color--gainsboro) 55%, var(--r34ics--color--gainsboro) 100%)
}

.ics-calendar:not(.no_angled_backgrounds) .ics-calendar-year-availability-grid td.has_events.multiday_first.multiday_last:not(.past) .day {
    background: linear-gradient(-45deg, var(--r34ics--color--gainsboro) 0, var(--r34ics--color--gainsboro) 45%, transparent 45%, transparent 55%, var(--r34ics--color--gainsboro) 55%, var(--r34ics--color--gainsboro) 100%)
}

.ics-calendar-widget-grid td.current.has_events .day,
.ics-calendar-widget-grid td.today.has_events .day,
.ics-calendar-year-availability-grid td.current.has_events:not(.past) .day,
.ics-calendar-year-availability-grid td.today.has_events .day {
    background: var(--r34ics--color--gray);
    border-color: var(--r34ics--color--gray);
    color: var(--r34ics--color--white) !important
}

.ics-calendar-widget .ics-calendar-current-events .event .time {
    display: block;
    font-size: 85%;
    font-weight: 700
}

.ics-calendar-year-wrapper {
    width: calc(100% + 2em)
}

.ics-calendar-year-wrapper>.ics-calendar-label {
    margin-bottom: 1em !important
}

.ics-calendar-year-wrapper .ics-calendar-year-month {
    display: inline-block;
    margin: 0 1.5em 1.5em 0;
    width: calc(33.333% - 2em)
}

@media screen and (max-width:1024px) and (min-width:783px) {
    .ics-calendar-year-wrapper .ics-calendar-year-month {
        width: calc(50% - 2em)
    }
}

.ics-calendar-year-wrapper .ics-calendar-year-month:first-of-type {
    clear: both
}

.ics-calendar.layout-year-availability .event.available .descloc.hover_block {
    padding: .2em .5em
}

.ics-calendar.layout-year-availability .event.available:focus .descloc.hover_block,
.ics-calendar.layout-year-availability .event.available:focus-within .descloc.hover_block,
.ics-calendar.layout-year-availability .event.available:hover .descloc.hover_block {
    display: block;
    top: 90%;
    left: 0
}

@media screen and (max-width:782px) {
    .ics-calendar .fc .descloc {
        width: 33vw
    }

    .ics-calendar-main-with-sidebar .ics-calendar-main .sidebar_only,
    .ics-calendar.layout-month-with-sidebar .ics-calendar-filter,
    .ics-calendar.layout-year-with-sidebar .ics-calendar-filter,
    .ics-calendar.month_list_all .ics-calendar-arrow-nav,
    .ics-calendar.month_list_all .ics-calendar-select,
    .ics-calendar:not(.nomobile):not(.show-past-events) .hidden_in_list,
    body:not(#tinymce) .ics-calendar .no_phone.no_phone_important,
    body:not(#tinymce) .ics-calendar.nomobile .ics-calendar-main-with-sidebar .ics-calendar-main .events.no_phone,
    body:not(#tinymce) .ics-calendar.nomobile .ics-calendar-main-with-sidebar .ics-calendar-main .more_events.no_phone {
        display: none !important
    }

    body:not(#tinymce) .ics-calendar .phone_only.phone_only_important {
        display: inline-block !important
    }

    .ics-calendar-main-with-sidebar,
    thead.ics-calendar-grid-header th.ics-calendar-grid-day .date,
    thead.ics-calendar-grid-header th.ics-calendar-grid-day .dow {
        display: block
    }

    .ics-calendar-grid-wrapper .toggle_day,
    .ics-calendar:not(.nomobile) .ics-calendar-month-table-list-toggle {
        display: none
    }

    .ics-calendar-main,
    .ics-calendar-sidebar {
        display: block;
        width: 100%
    }

    .ics-calendar-grid-wrapper .expanded .toggle_day {
        display: inline-block
    }

    .ics-calendar.nomobile .ics-calendar-month-with-sidebar .ics-calendar-month-wrapper,
    .ics-calendar.nomobile .ics-calendar-widget-availability .ics-calendar-month-wrapper,
    .ics-calendar.nomobile .ics-calendar-year-availability .ics-calendar-month-wrapper {
        overflow-x: auto
    }

    .ics-calendar.nomobile .ics-calendar-month-with-sidebar .ics-calendar-month-wrapper .ics-calendar-month-grid,
    .ics-calendar.nomobile .ics-calendar-widget-availability .ics-calendar-month-wrapper .ics-calendar-month-grid,
    .ics-calendar.nomobile .ics-calendar-year-availability .ics-calendar-month-wrapper .ics-calendar-month-grid {
        min-width: 240px;
        overflow-x: auto
    }

    .ics-calendar.month_list_all .ics-calendar-month-wrapper:not(.past),
    .ics-calendar.month_list_all.show-past-events .ics-calendar-month-wrapper.past,
    .ics-calendar:not(.show-past-events):not(.month_list_all) .ics-calendar-month-wrapper.past .past.has_events,
    body:not(#tinymce) .ics-calendar.nomobile .ics-calendar-main-with-sidebar .ics-calendar-main .event_count.phone_only {
        display: block !important
    }

    .ics-calendar-sidebar {
        padding: 0
    }

    .ics-calendar-year-wrapper {
        width: 100%
    }

    .ics-calendar-year-wrapper .ics-calendar-year-month {
        display: block;
        margin: 0 0 1.5em;
        width: 100%
    }
}