.calendar-module {
	overflow: hidden;
	position: relative;
}

/**** GRID VIEW ****/

.calendar-module #div-subscriptions {
	overflow: hidden;
	padding-bottom: 1rem;
}

.calendar-module #div-subscriptions .link-button {
	display: inline-block;
}

.calendar-module #div-header {
	overflow: hidden;
	padding-bottom: 1.5rem;
}

.calendar-module .link-button {
	display: inline-block;
}

.calendar-module .link-button,
.calendar-module .div-search #btnFilter,
.calendar-module .leftCol #filters #btnViewSelectedDates,
.calendar-module .leftCol #filters #lnkSubscriptions2 {
	background: transparent;
	border: 2px solid #cf0a2c;
	color: #cf0a2c;
	font-family: "Source Sans Pro", sans-serif;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: .125rem;
	margin: 0;
	padding: .5rem 1rem;
	text-transform: uppercase;
}
.calendar-module .leftCol #filters #btnViewSelectedDates,
.calendar-module .leftCol #filters #lnkSubscriptions2  {
	width: 100%;
	text-align: center;
}
.calendar-module .filter-link {
	width: 100%;
}
#div-subscriptions2 {
	margin-bottom: 1rem;
}

.calendar-module .div-search .searchtext {
	background: transparent;
	border: none;
	border-bottom: 1px solid #343434;
	font-family: "Source Sans Pro", sans-serif;
	font-size: 1rem;
	font-style: italic;
	margin-left: 1.5rem;
	min-width: 20rem;
}

.calendar-module #div-view {
	background: #343434;
	overflow: hidden;
	padding: 0;
}

.calendar-module #div-view #btnWeek,
.calendar-module #div-view #btnMonth {
	background: #343434;
	border: 2px solid #343434;
	box-sizing: border-box;
	color: #fff;
	float: left;
	font-family: "Source Sans Pro", sans-serif;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: .125rem;
	margin: 0;
	padding: .5rem 1rem;
	text-transform: uppercase;
	width: 50%;
	cursor: pointer;
}

.calendar-module #div-view #btnWeek:disabled,
.calendar-module #div-view #btnMonth:disabled {
	background: #cf0a2c;
}

.calendar-module #calendar-header {
	height: auto;
	overflow: hidden;
}

.calendar-module #calendar-header #div-title {
	align-items: center;
	display: flex;
	justify-content: center;
	padding: 0;
	text-align: center;
}

.calendar-module #calendar-header #div-title #calendar-title {
	display: inline-block;
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 5rem;
	margin: 0 2rem;
	text-transform: uppercase;
}

.calendar-module #calendar-header #div-title #btnPrev,
.calendar-module #calendar-header #div-title #btnNext {
	background: #cf0a2c;
	display: inline-block;
	height: 2rem;
	overflow: hidden;
	position: relative;
	text-indent: -99rem;
	width: 2rem;
}

.calendar-module #calendar-header #div-title #btnPrev:hover,
.calendar-module #calendar-header #div-title #btnNext:hover {
	background: #343434;
}

.calendar-module #calendar-header #div-title #btnPrev:after,
.calendar-module #calendar-header #div-title #btnNext:after {
	color: #fff;
	height: 100%;
	left: 0;
	line-height: 29px;
	position: absolute;
	text-align: center;
	text-indent: 0;
	top: 0;
	width: 100%;
}

.calendar-module #calendar-header #div-title #btnPrev:after {
	content: '\2039';
}

.calendar-module #calendar-header #div-title #btnNext:after {
	content: '\203a';
}

#calendar {
	font-family: "Source Sans Pro", sans-serif;
}

#calendar .calendar-table .calendar-header-day {
	line-height: 2em;
}

#calendar .calendar-row .calendar-day .calendar-day-number,
#calendar .calendar-row .calendar-day .calendar-day-number-disabled {
	font-size: 1.5rem;
	margin: 0 1rem 1rem 0;
	padding: 1rem;
	width: 1.5rem;
}

#calendar .calendar-row .calendar-day .calendar-eventlist {
	font-size: .75rem;
	line-height: 1.25em;
	margin-bottom: 2.5rem;
	padding: .25rem 1rem 1.5rem;
	position: relative;
}

#calendar .calendar-row .calendar-day .calendar-eventlist .calendar-event-time {
	bottom: 0;
	color: #343434;
	font-weight: 400;
	position: absolute;
}

#calendar .calendar-row .calendar-day .calendar-eventlist a {
	color: #cf0a2c;
	font-weight: 600;
    word-break: break-word;
}

.ui-widget[aria-describedby=filter-popup],
.ui-widget[aria-describedby=div-instructions],
.ui-widget[aria-describedby=div-link] {
	background: #f9f9f9;
	border: 3px solid #eeb74d !important;
	border-radius: 0;
	font-family: "Source Sans Pro", sans-serif;
	padding: 0;
	z-index: 1000;
}

.ui-widget[aria-describedby=filter-popup] .ui-dialog-titlebar,
.ui-widget[aria-describedby=div-instructions] .ui-dialog-titlebar,
.ui-widget[aria-describedby=div-link] .ui-dialog-titlebar {
	background: #f9f9f9;
	border: none;
	position: relative;
}

.ui-widget[aria-describedby=filter-popup] .ui-dialog-titlebar .ui-dialog-title,
.ui-widget[aria-describedby=div-instructions] .ui-dialog-titlebar .ui-dialog-title,
.ui-widget[aria-describedby=div-link] .ui-dialog-titlebar .ui-dialog-title {
	padding-top: 2rem;
	text-align: center;
	text-transform: uppercase;
	width: 100%;
}

.ui-widget[aria-describedby=filter-popup] .ui-dialog-titlebar .ui-dialog-title:after,
.ui-widget[aria-describedby=div-instructions] .ui-dialog-titlebar .ui-dialog-title:after,
.ui-widget[aria-describedby=div-link] .ui-dialog-titlebar .ui-dialog-title:after {
	border-top: 3px solid #eeb74d;
	content: '\00a0';
	display: block;
	font-size: 0;
	margin: 1rem auto;
	width: 25%;
}

.ui-widget[aria-describedby=filter-popup] .ui-dialog-titlebar .ui-button,
.ui-widget[aria-describedby=div-instructions] .ui-dialog-titlebar .ui-button,
.ui-widget[aria-describedby=div-link] .ui-dialog-titlebar .ui-button {
	background: #eeb74d;
	border: none;
	border-radius: 0;
	height: 2rem;
	right: 0;
	top: 0;
	width: 2rem;
}

.ui-widget[aria-describedby=filter-popup] .ui-dialog-titlebar .ui-button .ui-button-icon-primary,
.ui-widget[aria-describedby=div-instructions] .ui-dialog-titlebar .ui-button .ui-button-icon-primary,
.ui-widget[aria-describedby=div-link] .ui-dialog-titlebar .ui-button .ui-button-icon-primary {
	display: none;
}

.ui-widget[aria-describedby=filter-popup] .ui-dialog-titlebar .ui-button .ui-button-text,
.ui-widget[aria-describedby=div-instructions] .ui-dialog-titlebar .ui-button .ui-button-text,
.ui-widget[aria-describedby=div-link] .ui-dialog-titlebar .ui-button .ui-button-text {
	background: url(/assets/images/close-icon.svg) no-repeat 60% 40%;
	background-size: 55%;
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

/**** LIST VIEW ****/

.calendar-module .leftCol {
	/*max-height: 0;*/
	overflow: hidden;
}

.calendar-module .leftCol #filters {
	background: #e8eaea;
	margin: 0;
}

.calendar-module .leftCol #filters #nav-datePicker {
	width: 100%;
}

.calendar-module .leftCol #filters #nav-datePicker .datepicker {
	border: none;
	height: 0;
	padding: 0 0 100%;
	position: relative;
	width: 100%;
}

.calendar-module .leftCol #filters #nav-datePicker .datepicker table thead tr.datepickerDoW th {
	background: #343434;
	color: #e8eaea;
	padding: .25rem 0;
	position: relative;
}

.calendar-module .leftCol #filters #nav-datePicker .datepicker table thead tr.datepickerDoW th span {
	display: block;
	line-height: 250%;
	text-align: center;
}

.calendar-module .leftCol #filters #nav-datePicker .datepicker table tbody.datepickerDays td {
	background: #e8eaea;
	border: 1px solid #f9f9f9;
	color: #343434;
}

.calendar-module .leftCol #filters #nav-datePicker .datepicker table tbody.datepickerDays td a {
	color: #343434;
	font-weight: 400;
	margin: auto;
}

.calendar-module .leftCol #filters #nav-datePicker .datepicker table tbody.datepickerDays td.datepickerSelected {
	background: #ebd3a3;
}

.calendar-module .leftCol #filters #nav-datePicker .datepicker table tbody.datepickerDays td.datepickerToday {
	background: #eeb74d;
}

.calendar-module .leftCol #filters #nav-datePicker .datepicker .datepickerContainer {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.calendar-module .leftCol #filters .datepicker .datepickerContainer table {
	height: 100%;
	width: 100%;
}

.calendar-module .leftCol #filters .datepicker .datepickerContainer .datepickerBlock .datepickerGoPrev,
.calendar-module .leftCol #filters .datepicker .datepickerContainer .datepickerBlock .datepickerGoNext,
.calendar-module .leftCol #filters .datepicker .datepickerContainer .datepickerBlock .datepickerMonth {
	color: #343434;
	height: 3.5rem;
	line-height: 3.5rem;
}

.calendar-module .leftCol #filters .datepicker .datepickerContainer .datepickerBlock .datepickerMonth {
	font-weight: 600;
	text-transform: uppercase;
}

.calendar-module .leftCol #filters .datepicker .datepickerContainer .datepickerBlock .datepickerGoPrev:hover,
.calendar-module .leftCol #filters .datepicker .datepickerContainer .datepickerBlock .datepickerGoNext:hover {
	background: #cf0a2c;
}

.calendar-module .leftCol #filters .datepicker .datepickerContainer .datepickerBlock .datepickerGoPrev span,
.calendar-module .leftCol #filters .datepicker .datepickerContainer .datepickerBlock .datepickerGoNext span {
	display: none;
}

.calendar-module .leftCol #filters .datepicker .datepickerContainer .datepickerBlock .datepickerGoPrev:after {
	content: '\2039';
	font-size: 2rem;
}

.calendar-module .leftCol #filters .datepicker .datepickerContainer .datepickerBlock .datepickerGoNext:after {
	content: '\203a';
	font-size: 2rem;
}

.calendar-module .leftCol #filters .datepicker .datepickerContainer .datepickerBlock .datepickerGoPrev:hover:after,
.calendar-module .leftCol #filters .datepicker .datepickerContainer .datepickerBlock .datepickerGoNext:hover:after {
	color: #f9f9f9;
}

 .calendar-module .leftCol #filters #btnViewSelectedDates,
 .calendar-module .leftCol #filters #dnn_ctr24859_View_ctl00_lnkSubscriptions2 {
 	background: #f9f9f9;
 	box-sizing: border-box;
 	width: 100%;
 }

.calendar-module .leftCol #filters .div-search {
	background: #f9f9f9;
	padding: 1.5rem 0;
}

.calendar-module .leftCol #filters .filter-header {
	font-weight: 700;
	padding-top: 1rem;
	text-align: center;
	text-transform: uppercase;
}

.calendar-module .leftCol #filters .filter-header hr {
	border: none;
	border-bottom: 3px solid #eeb74d;
	margin: 1rem auto 0;
	width: 5rem;
}

.calendar-module .leftCol #filters .div-search #searchlist-text-input {
	background: url(/images/Search/SearchButton.png) no-repeat center right;
	margin: 0;
	min-width: auto;
	width: 100%;
}

.calendar-module .leftCol #filters #filter-school,
.calendar-module .leftCol #filters #filter-category,
.calendar-module .leftCol #filters #filter-sports {
	box-sizing: border-box;
	padding: 0 1rem;
}

.calendar-module .leftCol #filters #filter-school #filter-school-list li {
	padding: 0 0 0 .5rem;
}

.calendar-module .leftCol #filters #filter-school #filter-school-list li:last-of-type {
	padding: 0 0 1.5rem .5rem;
}

.calendar-module .leftCol #filters #filter-school #filter-school-list li input,
.calendar-module .leftCol #filters #filter-category li input {
	display: none;
}

.calendar-module .leftCol #filters #filter-school #filter-school-list li label,
.calendar-module .leftCol #filters #filter-category li label {
	display: block;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1rem;
	padding: .5rem 0 0 2.5rem;
	position: relative;
}

.calendar-module .leftCol #filters #filter-school #filter-school-list li input + label:before,
.calendar-module .leftCol #filters #filter-category li input + label:before {
	background: #cf0a2c;
	border: 5px solid #cf0a2c;
	box-sizing: border-box;
	color: #cf0a2c;
	display: block;
	height: 1.25rem;
	left: 0;
	position: absolute;
	top: .35rem;
	width: 1.25rem;
}

.calendar-module .leftCol #filters #filter-school #filter-school-list li input + label:before {
	content: '\00a0';
	font-size: 0;
	border-radius: .75rem;
}

.calendar-module .leftCol #filters #filter-school #filter-school-list li input:checked + label:before {
	background: #f9f9f9;
}

.calendar-module .leftCol #filters #filter-category li {
	padding: 1rem 0 0 .5rem;
}

.calendar-module .leftCol #filters #filter-category li:last-of-type {
	padding: 1rem 0 1.5rem .5rem;
}

.calendar-module .leftCol #filters #filter-category li input + label {
	position: relative;
}

.calendar-module .leftCol #filters #filter-category li input + label:before {
	content: '\00a0';
	font-size: 0;
	height: 1.25rem;
	width: 1.25rem;
}

.calendar-module .leftCol #filters #filter-category li input + label:after {
	color: #f9f9f9;
	content: '\ea10';
	font-family: 'social-icons';
	font-size: .8rem;
	font-weight: 400;
	left: .25rem;
	position: absolute;
	top: .5rem;
	visibility: hidden;
}

.calendar-module .leftCol #filters #filter-category li input:checked + label:after {
	visibility: visible;
}

#filter-popup #filter-sports #checkAllBtn,
#filter-popup #filter-sports #uncheckAllBtn,
.calendar-module .leftCol #filters #filter-sports #checkAllBtn,
.calendar-module .leftCol #filters #filter-sports #uncheckAllBtn {
	background: #fff;
	border: 2px solid #cf0a2c;
	color: #cf0a2c;
	display: block;
	float: left;
	font-family: 'Source Sans Pro', sans-serif;
	font-size: .85rem;
	padding: .35rem 0;
	text-transform: uppercase;
	width: 47%;
}

#filter-popup #filter-sports #uncheckAllBtn,
.calendar-module .leftCol #filters #filter-sports #uncheckAllBtn {
	float: right;
}

.calendar-module .leftCol #filters #filter-sports .ms-parent {
	margin-bottom: 1rem;
	padding: .5rem 0 0;
}

#filter-popup #filter-sports .ms-parent {
	margin: .5rem auto;
}

#filter-popup #filter-sports .ms-choice,
.calendar-module .leftCol #filters #filter-sports .ms-choice {
	background: #fff;
	border-radius: 0;
	-moz-border-radius: 0;
	-webkit-border-radius: 0;
	border: 1px solid #cdcdcd;
	box-sizing: border-box;
	height: 2rem;
	position: relative;
}

#filter-popup #filter-sports .ms-choice > span,
.calendar-module .leftCol #filters #filter-sports .ms-choice > span {
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 1rem;
	line-height: 2rem;
}

#filter-popup #filter-sports .ms-choice > div,
.calendar-module .leftCol #filters #filter-sports .ms-choice > div {
	background: #cf0a2c url(/assets/images/ms-arrow.svg) no-repeat center;
	background-size: 50%;
	height: 2rem;
	width: 1.8rem;
}

#filter-popup #filter-sports .ms-choice > div.open,
.calendar-module .leftCol #filters #filter-sports .ms-choice > div.open {
	transform: rotate(180deg);
}

#filter-popup #filter-sports .ms-drop,
.calendar-module .leftCol #filters #filter-sports .ms-drop {
	width:100% !important;
}


#filter-popup #filter-sports .ms-drop ul li,
.calendar-module .leftCol #filters #filter-sports .ms-drop ul li {
	padding-bottom: .6rem;
}

#filter-popup #filter-sports .ms-drop ul li label,
.calendar-module .leftCol #filters #filter-sports .ms-drop ul li label {
	padding-left: 1.5rem;
	position: relative;
}

#filter-popup #filter-sports .ms-drop ul li label:after,
.calendar-module .leftCol #filters #filter-sports .ms-drop ul li label:after {
	background: #cf0a2c;
	content: '\00a0';
	display: block;
	height: 1rem;
	left: 0;
	position: absolute;
	top: 0;
	width: 1rem;
	z-index: 1;
}

#filter-popup #filter-sports .ms-drop ul li label input,
.calendar-module .leftCol #filters #filter-sports .ms-drop ul li label input {
	display: none;
}

.calendar-module .leftCol #filters #filter-sports .ms-drop ul li label span {
	padding-bottom: .125rem;
	font-size:.9rem;
}

#filter-popup #filter-sports .ms-drop ul li label input + span:after,
.calendar-module .leftCol #filters #filter-sports .ms-drop ul li label input + span:after {
	color: #f9f9f9;
	content: '\ea10';
	font-family: 'social-icons';
	font-size: .8rem;
	font-weight: 400;
	left: .15rem;
	position: absolute;
	top: .05rem;
	visibility: hidden;
	z-index: 2;
}

#filter-popup #filter-sports .ms-drop ul li label input:checked + span:after,
.calendar-module .leftCol #filters #filter-sports .ms-drop ul li label input:checked + span:after {
	visibility: visible;
}

.calendar-module .leftCol #filters #div-subscriptions2 {
	background: #f9f9f9;
	padding: 1rem 0 0;
}

.calendar-module .leftCol #filters #div-subscriptions2 p {
	font-size: 1.2rem;
	line-height: 1.5em;
}

.calendar-module .leftCol #filters #dnn_ctr24859_View_ctl00_lnkSubscriptions2 {
	display: block;
	font-size: .85rem;
	text-align: center;
}

.calendar-module .apply-filter.on {
	padding: 1.1rem 0;
}

.calendar-module .apply-filter {
	max-height: 0;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	text-align: center;
	background-color: #eeb74d;
	font-size: 1rem;
	font-weight: bold;
	letter-spacing: .125rem;	
	text-transform: uppercase;
	z-index: 999;
}

.calendar-module .rightCol {
	float: none;
	margin: 0;
	overflow: visible;
	padding: 0;
}

.calendar-module .filters-area {
	max-height: 0;
	overflow: hidden;
}
.calendar-module .on {
	transition: max-height 1s ease;
	max-height: 100rem;
}

.calendar-module .filter-toggle {
	border-bottom: 2px solid #cf0a2c;
	margin-bottom: 1rem;
}

.calendar-module .filters-area.on .filter-toggle {
	border-bottom: none;
	border-top: 2px solid #cf0a2c;
}

.calendar-module .filter-toggle-header {
	background-color: #cf0a2c;
	border: 2px solid #cf0a2c;
	box-sizing: border-box;
	color: #fff;
	display: block;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: .125rem;
	margin: 0 auto;
	padding: .5rem 1rem;
	position: relative;
	text-align: center;
	text-transform: uppercase;
	width: 70%;
}

.calendar-module .filter-toggle-header .filter-toggle-text {
	display: inline;
}

.calendar-module .filter-toggle-header .filter-toggle-text:after {
	background: url(/assets/images/ms-arrow.svg) no-repeat bottom right;
	background-size: 80%;
	content: '\00a0';
	height: 1.25rem;
	position: absolute;
	width: 1.25rem;
}

.filter-toggle-header.open .filter-toggle-text:after {
	background-position: center left;
	transform: rotate(180deg);
}

.calendar-module .filter-toggle-header .filter-toggle-image {
	display: none;
}

.calendar-module .rightCol #calendar-header {
	background: transparent;
}

.calendar-module .rightCol #calendar-header #div-view {
	background: tomato;
	display: none;
}

.calendar-module .rightCol #calendar-header #div-title #calendar-title {
	border-left: 3px solid #eeb74d;
	display: block;
	font-size: 1.2rem;
	line-height: 1.15em;
	margin: 0 0 2rem !important;
	padding: 0 1em;
	text-align: left;
	width: 100% !important;
}

.calendar-module .rightCol #calendarlist .calendarlist .calendarlist-row {
	border: none;
	padding-bottom: 1rem;
}

.calendar-module .rightCol #calendarlist .calendarlist .calendarlist-row  .calendarlist-day {
	margin: 0;
}

.calendar-module .rightCol #calendarlist .calendarlist .calendarlist-row  .calendarlist-header {
	background: #eeb74d;
	margin-bottom: 1rem;
	padding: .5rem;
	text-align: center;
}

.calendar-module .rightCol #calendarlist .calendarlist .calendarlist-row .calendarlist-day .calendarlist-header-day {
	display: none;
}

.calendar-module .rightCol #calendarlist .calendarlist .calendarlist-row .calendarlist-day .calendarlist-header-date {
	clear: both;
	display: block;
	font-size: 2rem;
	font-weight: 600;
	line-height: 1em;
	padding: 0;
}

.calendar-module .rightCol #calendarlist .calendarlist .calendarlist-row .calendarlist-day .calendarlist-cycleday {
	font-size: .85rem;
	font-weight: 500;
	padding-top: .5rem;
	text-transform: uppercase;
	margin-left: .5rem;
}

.calendar-module .rightCol #calendarlist .calendarlist .calendarlist-row .calendarlist-day .calendarlist-events {
	clear: both;
}

.calendar-module .rightCol #calendarlist .calendarlist .calendarlist-row .calendarlist-day .calendarlist-events .calendarlist-eventlist {
	margin-bottom: .5rem;
}

.calendar-module .rightCol #calendarlist .calendarlist .calendarlist-row .calendarlist-day .calendarlist-events  .calendarlist-eventlist li {
	border-bottom: 1px solid #cdcdcd;
	padding: 1rem 0;
}

.calendar-module .rightCol #calendarlist .calendarlist .calendarlist-row .calendarlist-day .calendarlist-events  .calendarlist-eventlist li:first-of-type {
	padding: .5rem 0 1rem;
}


.calendar-module .rightCol #calendarlist .calendarlist .calendarlist-row .calendarlist-day .calendarlist-events  .calendarlist-eventlist li a {
	font-size: 1rem;
	color: #cf0a2c;
	line-height: 1.15em;
}


/**** SINGLE EVENT ****/

.ModCalendarV2C .calendar-detail .title {
	border: none;
	color: #cf0a2c;
	margin: 0;
	padding: 0 0 .5rem;
}


.ModCalendarV2C .calendar-detail .date {
	font-size: 1rem;
	font-weight: 400;
	padding-bottom: 2rem;
}

.ModCalendarV2C .calendar-detail .time,
.ModCalendarV2C .calendar-detail .location,
.ModCalendarV2C .calendar-detail .results,
.ModCalendarV2C .calendar-detail .notes {
	border-left: 3px solid #eeb74d;
	line-height: 1.4em;
	padding-left: 1rem;
}

.ModCalendarV2C .calendar-detail .details > span {
	padding-left: 1.1875rem;
}

.ModCalendarV2C .calendar-detail .ics {
	font-size: .85rem;
	font-weight: 400;
	margin-top: 2.5rem;
}

.ModCalendarV2C .calendar-detail .ics .redButton {
	border: 2px solid #cf0a2c;
	box-sizing: border-box;
	clear: both;
	display: block;
	font-size: 1.25rem;
	margin-top: .5rem;
	max-width: 40%;
	padding: 1rem;
	text-align: center;
	text-transform: uppercase;
}


/**** SUBSCRIPTIONS ****/

.subscription {
	margin-top: 1rem;
}

.subscription > div {
	padding-bottom: 1rem;
	text-align: left;
}

.subscription .category {
	height: auto;
	min-height: 15rem;
	padding-bottom: 2rem;
}

.subscription .category select {
	display: block;
	margin: 0 auto 1rem;
}

.subscription #link-help {
	display: block;
	padding: 1rem 0 0;
	text-align: center;
}