.hide-except-for-print {
	display: none;
}

@media print {
	.hide-except-for-print {
		display: unset !important;
	}

	body * {
		visibility: hidden;
	}

	#section-to-print, #section-to-print * {
		visibility: visible !important;
	}

	#section-to-print {
		position: absolute;
		left: 0;
		top: 0;
	}
}

.page-calendar {
	display:block;
    margin:10px 0px;
    padding: 0 20px;
}

.page-calendar .controls {
	display:block;
	padding-bottom: 10px;
	position: relative;
	text-align: center;
}
.page-calendar .controls .prev, .page-calendar .controls .next {
	position: absolute;
	top: 0;
}

.page-calendar .controls .prev {
	left: 0;
}

.page-calendar .controls .next {
	right: 0;
}

.page-calendar .controls .month {
	text-align: center;
	font-weight: bold;
	font-size: 0.8em;
}

.page-calendar .controls .month input {
	width:90px;
	height:15px;
	overflow:hidden;
	border:none;
	font-size:10px;
	color:#565656;
	font-weight:bold;
	padding:5px;
}

.page-calendar .grid {
	border-left:1px solid #aeaeae;
	width: 100%;
	overflow: hidden;
}

.page-calendar .day {
	width: 14.284%;
	overflow: hidden;
	box-sizing: border-box;
	height:22px;
	min-height: 22px;
	display:block;
	border-right:1px solid #aeaeae;
	border-bottom:1px solid #aeaeae;
	float:left;
	font-size:10px;
	text-align:center;
	padding: 4px 0;
}
.page-calendar .month h2 {
    font-size: 17px;
}

.page-calendar .day a {
	text-decoration:none;
}

.page-calendar .today {
	background:#ececec;
}

.page-calendar .today.highlight {
	background: var(--sw-accent, #14181f);
}

.page-calendar .today.highlight a {
	color: var(--sw-accent-contrast, #fff);
}

.page-calendar .name {
	color: inherit;
	font-size: 0.5em;
	line-height: 1;
	height: auto;
	padding: 3px 0;
	min-height: 0px;
	border-top:1px solid #aeaeae;
}

.activities .page-calendar .day {
	padding: 5px;
	min-height: 90px;
	text-align: left;
	overflow: hidden;
}

.activities .page-calendar .name {
	min-height: 0;
	text-align: center;
	font-size: 0.8em;
}

.filters .left, .postevent .left {
	float: left;
}

.filters .right, .postevent .right {
	float: right;
}

.activities .date {
    font-size: 16px;
    font-weight: bold;
    padding-bottom: 4px;
}

form.calendar_search {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: var(--sw-field-gap, 0.3rem);
    width: 100%;
}

.sw-list-toolbar > form.calendar_search {
    width: auto;
}

.sw-list-toolbar--cal {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: var(--sw-field-gap, 0.55rem);
    font-size: 0.8em;
}

.sw-list-toolbar--cal > form.calendar_search {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 52%;
    flex: 1 1 52%;
    width: 52%;
    min-width: 0;
    max-width: 52%;
    gap: var(--sw-field-gap, 1.5%);
}

.sw-list-toolbar--cal .calendar_search input,
.sw-list-toolbar--cal .calendar_search select,
.sw-list-toolbar--cal .calendar_search button,
.sw-list-toolbar--cal .calendar_search .sw-field-input,
.sw-list-toolbar--cal .calendar_search .sw-select,
.sw-list-toolbar--cal .calendar_search .sw-btn {
    min-height: var(--sw-field-min-height, 2.5rem);
    height: auto;
    min-width: 0;
    padding: var(--sw-field-padding-y, 0.55rem) var(--sw-field-padding-x, 0.75rem);
    font-size: var(--sw-field-font-size, inherit);
    font-family: inherit;
    font-weight: inherit;
    text-transform: none;
    box-sizing: border-box;
    border: 1px solid var(--sw-border-color, #d2d2d2);
}

.sw-list-toolbar--cal .calendar_search input,
.sw-list-toolbar--cal .calendar_search select,
.sw-list-toolbar--cal .calendar_search .sw-field-input,
.sw-list-toolbar--cal .calendar_search .sw-select {
    border-radius: var(--sw-field-radius, var(--sw-radius, 10px));
    background-color: var(--sw-field-bg, var(--sw-surface-bg, #fff));
    color: var(--sw-field-text, var(--sw-surface-text, #222));
}

.sw-list-toolbar--cal .calendar_search button,
.sw-list-toolbar--cal .calendar_search .sw-btn {
    border-radius: var(--sw-button-radius, var(--sw-radius, 10px));
}

/* Themes often paint form[action*="?search"] (site search). Calendar uses that action too. */
html body .sw-list-toolbar--cal .calendar_search input[type="text"],
html body .sw-list-toolbar--cal .calendar_search input[type="search"],
html body .sw-list-toolbar--cal .calendar_search select,
html body .sw-list-toolbar--cal .calendar_search .sw-field-input,
html body .sw-list-toolbar--cal .calendar_search .sw-select,
html body .sw-list-toolbar--cal .calendar_search .sw-btn,
html body .sw-list-toolbar--cal .calendar_search button {
    min-height: var(--sw-field-min-height, 2.5rem) !important;
    max-height: none !important;
    height: calc(1.2em + var(--sw-field-padding-y, 0.55rem) + var(--sw-field-padding-y, 0.55rem) + 2px) !important;
    padding: var(--sw-field-padding-y, 0.55rem) var(--sw-field-padding-x, 0.75rem) !important;
    font-size: var(--sw-field-font-size, inherit) !important;
    line-height: 1.2 !important;
    border: 1px solid var(--sw-border-color, #d2d2d2) !important;
    box-sizing: border-box !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

html body .sw-list-toolbar--cal .calendar_search input[type="text"],
html body .sw-list-toolbar--cal .calendar_search input[type="search"],
html body .sw-list-toolbar--cal .calendar_search select,
html body .sw-list-toolbar--cal .calendar_search .sw-field-input,
html body .sw-list-toolbar--cal .calendar_search .sw-select {
    border-radius: var(--sw-field-radius, var(--sw-radius, 10px)) !important;
    background-color: var(--sw-field-bg, var(--sw-surface-bg, #fff)) !important;
    color: var(--sw-field-text, var(--sw-surface-text, #222)) !important;
}

html body .sw-list-toolbar--cal .calendar_search .sw-btn,
html body .sw-list-toolbar--cal .calendar_search button {
    border-radius: var(--sw-button-radius, var(--sw-radius, 10px)) !important;
}

html body .sw-list-toolbar--cal .sw-list-toolbar__group--sort .sw-select {
    min-height: var(--sw-field-min-height, 2.5rem) !important;
    max-height: none !important;
    height: calc(1.2em + var(--sw-field-padding-y, 0.55rem) + var(--sw-field-padding-y, 0.55rem) + 2px) !important;
    padding: var(--sw-field-padding-y, 0.55rem) var(--sw-field-padding-x, 0.75rem) !important;
    font-size: var(--sw-field-font-size, inherit) !important;
    line-height: 1.2 !important;
    border: 1px solid var(--sw-border-color, #d2d2d2) !important;
    border-radius: var(--sw-field-radius, var(--sw-radius, 10px)) !important;
    background-color: var(--sw-field-bg, var(--sw-surface-bg, #fff)) !important;
    color: var(--sw-field-text, var(--sw-surface-text, #222)) !important;
    box-sizing: border-box !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

html body .sw-list-toolbar--cal .sw-list-toolbar__group--views {
    -ms-flex-item-align: center;
    align-self: center;
    height: calc(1.2em + var(--sw-field-padding-y, 0.55rem) + var(--sw-field-padding-y, 0.55rem) + 2px) !important;
    min-height: var(--sw-field-min-height, 2.5rem) !important;
    max-height: none !important;
    box-sizing: border-box !important;
}

html body .sw-list-toolbar--cal .sw-list-toolbar__group--views a {
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    font-size: var(--sw-field-font-size, inherit);
    line-height: 1.2 !important;
    box-sizing: border-box !important;
}

html body .sw-list-toolbar--cal .sw-list-toolbar__group--views a:not(.selected) {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    color: var(--sw-link, #56707d) !important;
    text-decoration: none !important;
}

html body .sw-list-toolbar--cal .sw-list-toolbar__group--views a.selected,
html body .sw-list-toolbar--cal .sw-list-toolbar__group--views a.highlight,
html body .sw-list-toolbar--cal .sw-list-toolbar__group--views a[aria-current="page"],
html body .sw-list-toolbar--cal .sw-list-toolbar__group--views a[aria-current="true"] {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.sw-list-toolbar--cal .calendar_search select,
.sw-list-toolbar--cal .calendar_search .sw-select,
.sw-list-toolbar--cal .calendar_search .sw-field-input {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0;
    flex: 1 1 0;
    width: auto;
    max-width: none;
    color: var(--sw-field-text, var(--sw-surface-text, #222));
    border-color: var(--sw-border-color, #d2d2d2);
}

.sw-list-toolbar--cal .calendar_search .sw-btn {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: none;
}

.sw-list-toolbar--cal .sw-list-toolbar__actions {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    max-width: none;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: var(--sw-field-gap, 4%);
}

.sw-list-toolbar--cal .sw-list-toolbar__group--views {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    width: auto;
    min-width: 10.5rem;
    max-width: none;
    -ms-flex-item-align: center;
    align-self: center;
    box-sizing: border-box;
}

.sw-list-toolbar--cal .sw-list-toolbar__group--sort {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 28%;
    flex: 0 1 28%;
    width: 28%;
    min-width: 9rem;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    padding-left: 0.65rem;
    border-left: 1px solid var(--sw-border-color, #e3e3e3);
    box-sizing: border-box;
}

.sw-list-toolbar--cal .sw-list-toolbar__group--sort .sw-select {
    width: 100%;
    min-width: 9rem;
    min-height: var(--sw-field-min-height, 2.5rem);
    height: calc(1.2em + var(--sw-field-padding-y, 0.55rem) + var(--sw-field-padding-y, 0.55rem) + 2px);
    padding: var(--sw-field-padding-y, 0.55rem) var(--sw-field-padding-x, 0.75rem);
    font-size: var(--sw-field-font-size, inherit);
    line-height: 1.2;
    box-sizing: border-box;
}

.sw-list-toolbar--cal .sw-list-toolbar__group--icons {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
}

.sw-list-toolbar--cal .sw-list-toolbar__group--views a {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 33.333%;
    flex: 1 1 33.333%;
    width: 33.333%;
    white-space: nowrap;
}

html body .sw-list-toolbar--cal .sw-list-toolbar__group--views a.selected {
    color: var(--sw-accent-contrast, #fff) !important;
}

.sw-cal-range {
    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;
    gap: 0.75rem;
    margin: 0 0 var(--sw-stack-gap, 1.25rem);
}

.sw-cal-range__title {
    margin: 0;
}

html body .sw-layout h1.sw-cal-range__title {
    margin: 0;
    font-size: var(--sw-h1-size, 1.25rem);
    font-weight: 700;
    line-height: 1.3;
    font-family: var(--sw-heading-font-family, var(--sw-font-family, inherit));
    letter-spacing: normal;
}

html body .sw-layout .sw-cal-range__nav,
html body .sw-layout .sw-cal-range__nav:hover {
    padding: 0.2rem 0.4rem;
    color: var(--sw-link, #56707d) !important;
    text-decoration: none !important;
}

.sw-mini-cal .month,
.sw-mini-cal .sw-mini-cal__title {
    border: none;
    border-bottom: none;
    text-decoration: none;
    background: none;
}

.sw-cal-upcoming {
    margin-top: var(--sw-stack-gap, 1.25rem);
}

html body .sw-cal-upcoming .sw-card-header {
    font-size: 0.85rem;
    line-height: 1.3;
    font-weight: 700;
}

.sw-cal-upcoming__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Theme .sub-left ul a paints every list in the rail. Upcoming is a ul in a card. */
html body .sw-cal-upcoming ul,
html body .sw-cal-upcoming li {
    background: transparent;
    padding-left: 0;
}
html body .sw-cal-upcoming a,
html body .sw-cal-upcoming a:hover {
    background: transparent;
    padding: 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--sw-link, #56707d) !important;
    text-decoration: none !important;
}

.sw-cal-upcoming__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.45rem 0;
    border-bottom: 1px solid var(--sw-border-color, #e3e3e3);
}

.sw-cal-upcoming__item:last-child {
    border-bottom: none;
}

.sw-cal-upcoming__date {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 3.4rem;
    flex: 0 0 3.4rem;
    font-weight: 700;
    line-height: 1.2;
}

.sw-cal-upcoming__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    min-width: 0;
}

.sw-cal-upcoming__when,
.sw-cal-upcoming__empty {
    color: var(--sw-text-muted, #666);
}

.sw-cal-upcoming__more,
.sw-cal-list-foot a {
    color: var(--sw-link, #56707d);
}

.sw-cal-upcoming__more {
    display: inline-block;
    margin-top: 0.65rem;
}

.sw-cal-list-foot {
    margin-top: var(--sw-stack-gap, 1.25rem);
    padding-top: 0.75rem;
    border-top: 1px solid var(--sw-border-color, #e3e3e3);
    text-align: right;
}

html body #left-cal a.sw-mini-cal__prev,
html body #left-cal a.sw-mini-cal__next,
html body #left-cal a.prev,
html body #left-cal a.next,
html body .sw-mini-cal a.sw-mini-cal__prev,
html body .sw-mini-cal a.sw-mini-cal__next {
    color: var(--sw-left-nav-text, var(--sw-surface-text, #222)) !important;
    text-decoration: none !important;
}

.sw-cal-list-item .sw-list-item__title {
    margin: 0 0 0.5rem;
}

html body .sw-cal-list-item h2.sw-list-item__title,
html body .sw-layout h2.sw-list-item__title {
    font-size: var(--sw-h2-size, 1rem);
    line-height: 1.3;
    font-weight: 700;
}

html body .sw-cal-list-item .sw-list-item__title a,
html body .sw-cal-list-item .sw-list-item__title a:hover {
    color: var(--sw-link, #56707d) !important;
    text-decoration: none !important;
    font-size: inherit;
}

.sw-cal-list-item .sw-list-item__desc {
    margin: 0 0 0.65rem;
}

.sw-cal-list-item .sw-list-item__meta-item {
    font-size: 0.8em;
}

/* Print / add-event are <a class="sw-list-toolbar__icon highlight">. Theme
   paints every <a> with --sw-link (blue). Same token as list glyphs. */
html body .sw-list-toolbar--cal .sw-list-toolbar__icon,
html body .sw-list-toolbar--cal .sw-list-toolbar__icon:hover,
html body .sw-list-toolbar--cal .sw-list-toolbar__icon .fa,
html body .sw-list-toolbar--cal .sw-list-toolbar__icon:hover .fa {
    color: var(--sw-secondary, #382933) !important;
}

html body .sw-cal-list-item .sw-list-item__meta-item .fa {
    font-size: 0.85em;
    color: var(--sw-secondary, #382933) !important;
}

.sw-cal-list-item .sw-pill {
    padding: 0.1rem 0.45rem;
    font-size: 0.75em;
    font-weight: 600;
}

@media (max-width: 640px) {
    .sw-cal-list-item .sw-list-item__inner {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .sw-cal-list-item .sw-list-item__inner > .sw-list-item__media {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        width: 100%;
        max-width: none;
    }

    .sw-cal-list-item .sw-list-item__inner > .sw-list-item__media img,
    .sw-cal-list-item .sw-list-item__inner > .sw-list-item__media .sw-list-item__media-ph {
        height: 10rem;
        min-height: 10rem;
    }

    .sw-cal-list-item .sw-list-item__side {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        width: 100%;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
}

.calendar_search input, .calendar_search button, .calendar_search select {
    vertical-align: middle;
    height: auto !important;
    min-height: var(--sw-field-min-height, 2.5rem);
    padding: var(--sw-field-padding-y, 0.55rem) var(--sw-field-padding-x, 0.75rem);
    box-sizing: border-box;
    width: auto;
    min-width: 0;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 6rem;
    flex: 1 1 6rem;
    margin-right: 0;
    font-size: 0.9rem;
    border: 1px solid var(--sw-border-color, #d2d2d2);
    border-radius: var(--sw-radius, 10px);
}

.calendar_search input,
.calendar_search select {
    border-radius: var(--sw-field-radius, var(--sw-radius, 10px));
    color: var(--sw-field-text, var(--sw-surface-text, #222));
    background: var(--sw-field-bg, var(--sw-surface-bg, #fff));
}

.calendar_search select {
    -ms-flex: 1 1 8.5rem;
    flex: 1 1 8.5rem;
    min-width: 8.5rem;
}

.calendar_search  input::-webkit-input-placeholder { /* Edge */
    color: #888;
}

.calendar_search  input:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: #888;
}

.calendar_search  input::placeholder {
    color: #888;
}

.calendar_search button.luna-btn.primary_color.btn {
    width: auto;
    margin: 0;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
}

#section-to-print.sw-layout > h1 {
    margin: 0 0 var(--sw-stack-gap, 1.25rem);
}

@media only screen and (max-width: 640px) {
    .sw-list-toolbar--cal {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        gap: var(--sw-field-gap, 0.5rem);
    }

    .sw-list-toolbar--cal > form.calendar_search,
    .sw-list-toolbar--cal .sw-list-toolbar__actions {
        -ms-flex: 1 1 100%;
        flex: 1 1 100%;
        width: 100%;
        max-width: 100%;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    .sw-list-toolbar--cal.is-filters-expanded > form.calendar_search {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
    }

    .sw-list-toolbar--cal:not(.is-filters-expanded) > form.calendar_search {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        overflow: hidden;
    }

    .sw-list-toolbar--cal.is-filters-expanded .calendar_search input,
    .sw-list-toolbar--cal.is-filters-expanded .calendar_search select,
    .sw-list-toolbar--cal.is-filters-expanded .calendar_search .sw-field-input,
    .sw-list-toolbar--cal.is-filters-expanded .calendar_search .sw-select,
    .sw-list-toolbar--cal.is-filters-expanded .calendar_search button,
    .sw-list-toolbar--cal.is-filters-expanded .calendar_search .sw-btn,
    html body .sw-list-toolbar--cal.is-filters-expanded .calendar_search input[type="text"],
    html body .sw-list-toolbar--cal.is-filters-expanded .calendar_search input[type="search"],
    html body .sw-list-toolbar--cal.is-filters-expanded .calendar_search select,
    html body .sw-list-toolbar--cal.is-filters-expanded .calendar_search .sw-field-input,
    html body .sw-list-toolbar--cal.is-filters-expanded .calendar_search .sw-select,
    html body .sw-list-toolbar--cal.is-filters-expanded .calendar_search .sw-btn,
    html body .sw-list-toolbar--cal.is-filters-expanded .calendar_search button {
        width: 100%;
        max-width: 100%;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    }

    .sw-list-toolbar--cal.is-filters-expanded .sw-list-toolbar__filters-toggle {
        width: 100%;
        max-width: 100%;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-top: 0.15rem;
    }

    .sw-list-toolbar--cal .sw-list-toolbar__group--views,
    .sw-list-toolbar--cal .sw-list-toolbar__group--sort {
        max-width: none;
        width: 100%;
    }

    .sw-list-toolbar--cal .sw-list-toolbar__actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--sw-field-gap, 0.5rem);
        align-items: stretch;
    }

    .sw-list-toolbar--cal .sw-list-toolbar__group--views {
        grid-column: 1;
        min-width: 0;
    }

    .sw-list-toolbar--cal .sw-list-toolbar__group--sort {
        grid-column: 2;
        min-width: 0;
    }

    .sw-list-toolbar--cal .sw-list-toolbar__group--icons,
    .sw-list-toolbar--cal .sw-list-toolbar__actions > .sw-list-toolbar__group--miles {
        grid-column: 1 / -1;
    }
}
