
h1.purpleHead{
	font-family: "Montserrat",sans-serif;
	margin:0;
	margin-bottom:25px;
	color:#9E3A98;
	font-size:20px;
}

.calendar table{
	display:table;
	width:100%;
	font-size:12px;	
}

.calendar .day_labels
, .calendar .dates{
	margin:0;
	padding:0;
}

.calendar .day_labels th
, .calendar .dates td{
	text-align:center;
	min-width:50px;
	min-height:100px;
	box-sizing:border-box;
	border-bottom:1px solid #CCC;
	border-left:1px solid #CCC;
	display:table-cell;
	position:relative;

}
.calendar .dates td:nth-child(7n){
	border-right:1px solid #CCC;
}

.calendar .day_labels th{
	border-left:none;
	padding-bottom:5px;
	font-size:13px;
	min-height:auto;
}

.calendar .dates td.outOfRange{
	background-color:#fcfcfc;
	color:#000;
}

#calendarNavWrap{
	margin-bottom:10px;
	min-height:20px;
}

#calendarNavWrap a{
    text-decoration: none;
}

.pageLinks{
	float:right;	
}

.pageLinks a{
	color:#000;
	margin-right:20px;
	position:relative;
}

.pageLinks a:last-child{
	margin-right:10px;	
}


.pageLinks a:not(:last-child):after{
	content:"|";
	position:absolute;
	right: -13px;
	color:#ccc;
	top:-2px;
}

.pageLinks a.selected{
	color:#9E3A98;	
}

.calendarNavigation{
	font-size:20px;
}

.calendarNavigation a
, .calendarNavigation span{
	display:inline-block;
}

.calendarNavigation a{
	width:30px;	
}

.calendarNavigation span{
	
	text-align:center;
}

.calendarNavigation a.prev{
	text-align:left;	
}


.calendarNavigation a.next{
	text-align:right;	
}

.highlightToday{
	background-color:#EFEFEF;
	border:1px solid #666 !important;
}

#calendarMonthContainer{
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 20px;
}

#calendarWrapper{
	display:inline-block;
	width:100%;
}

#calendarWrapper td{
	text-align:left;
	vertical-align:top;
	padding:8px;	
}

#calendarWrapper .dayLabel{
	display:block;
	vertical-align:top;
	padding-right:5px;
	text-align:left;
    font-size: 11px;
}

#calendarWrapper .dayEvents{
	display:inline-block;
	min-height:90px;
	line-height:120%;
}

#calendarWrapper .dayEvents .event{
	margin-bottom:10px;
	display:block;	
}

#calendarWrapper .dayEvents span.hasEvents{
	opacity:0;
}

#calendarWrapper td{
	width:14%;
}

/*********** hide weekends *************/
.hideWeekends .start
, .hideWeekends .end
, .hideWeekends td:first-child
, .hideWeekends td:last-child{
	display:none !important;	
}

.hideWeekends td:nth-child(6n){
	border-right:1px solid #ccc;
}

#calendarWrapper .hideWeekends .dayEvents{
	min-height:120px;
}

/**************************************/

.calendar-event i{
    font-size: 20px;
}

.calendar_webinar{
	color: var(--wcag-gold);
    
}

.calendar_inperson{ 
	color: var(--wcag-gold);
}

.calendar_prerecorded{
	color: var(--main-color-black);
}

#calendarFilterWrap{
	width:200px;
	display:inline-block;
	vertical-align:top;
	margin-right:10px;
}

#calendarFilterWrap .filterSections
, #sidebar .sections{
	border:1px solid #ccc;
	margin-bottom:22px;
	padding:12px;
}

#calendarFilterWrap .filterSections h2
, #sidebar .sections h2{
	font-size:15px;
	font-weight:bold;
	margin:0;
	padding:0;
	padding-bottom:6px;
	border-bottom:1px solid #ccc;
	margin-bottom:10px;
}

#calendarFilterWrap .filterSections ul{
	margin:0;
	padding:0;
}

#calendarFilterWrap .filterSections li{
	list-style:none;
	margin-bottom:6px;
	padding-left:25px;
	text-indent:-25px;
    font-size: 15px;
}

/* Base for label styling */
#calendarFilterWrap .filterSections [type="checkbox"]:not(:checked),
#calendarFilterWrap .filterSections [type="checkbox"]:checked {
  position: absolute;
  left: -9999px;
}
#calendarFilterWrap .filterSections [type="checkbox"]:not(:checked) + label,
#calendarFilterWrap .filterSections [type="checkbox"]:checked + label {
  position: relative;
  padding-left: 25px;
  cursor: pointer;
  padding-top:3px;
}

/* checkbox aspect */
#calendarFilterWrap .filterSections [type="checkbox"]:not(:checked) + label:before,
#calendarFilterWrap .filterSections [type="checkbox"]:checked + label:before {
  content: '';
  position: absolute;
  left:0; 
  top: 7px;
  width: 14px; 
  height: 14px;
  border: 1px solid #aaa;
  background: #f8f8f8;
  border-radius: 3px;
  box-shadow: inset 0 1px 3px rgba(0,0,0,.3)
}
/* checked mark aspect */
#calendarFilterWrap .filterSections [type="checkbox"]:not(:checked) + label:after,
#calendarFilterWrap .filterSections [type="checkbox"]:checked + label:after {
  content: '✔';
  position: absolute;
  top: 2px; left: 2px;
  font-size: 18px;
  line-height: 0.8;
  color: #9E3A98;
  transition: all .2s;
  padding-left:25px;
}
/* checked mark aspect changes */
#calendarFilterWrap .filterSections [type="checkbox"]:not(:checked) + label:after {
  opacity: 0;
  transform: scale(0);
}
#calendarFilterWrap .filterSections [type="checkbox"]:checked + label:after {
  opacity: 1;
  transform: scale(1);
}
/* disabled checkbox */
#calendarFilterWrap .filterSections [type="checkbox"]:disabled:not(:checked) + label:before,
#calendarFilterWrap .filterSections [type="checkbox"]:disabled:checked + label:before {
  box-shadow: none;
  border-color: #bbb;
  background-color: #ddd;
}
#calendarFilterWrap .filterSections [type="checkbox"]:disabled:checked + label:after {
  color: #999;
}
#calendarFilterWrap .filterSections [type="checkbox"]:disabled + label {
  color: #aaa;
}
/* accessibility */
#calendarFilterWrap .filterSections [type="checkbox"]:checked:focus + label:before,
#calendarFilterWrap .filterSections [type="checkbox"]:not(:checked):focus + label:before {
  border: 1px dotted blue;
}

/* hover style just for information */
#calendarFilterWrap .filterSections label:hover:before {
  border: 1px solid #4778d9!important;
}

#calendarFilterWrap.spaceAbove{
	padding-top:61px;	
}


#search #filterWrapper{
	display:none;
}

/*********** event details ***********/

.event-summary-container{
    font-size: 18px;
 }

.event-summary-container h2{
    margin-bottom: 10px;

 }

.event-summary-container .event-icons:before{
    font-family: var(--fa-pro-font-family);
    margin-right: 10px;
}

.event-summary-container .event-location:before{
    content: '\f3c5'; /* Font Awesome location icon */
}

.event-summary-container .event-date:before{
    content: '\f073'; /* Font Awesome calendar icon */
}

.event-summary-container .event-time:before{
    content: '\f017'; /* Font Awesome clock icon */
 }

.event-summary-container .event-summary{
    margin-top: 10px;
}

.event-summary-container .event-button-wrap{
    margin-top: 15px;
}

/* Event listing styles */

#calendarListingContainer { 
    padding-top: 20px; 
    padding-bottom: 45px; 
}

#calendarListingContainer .calendar-listing-date-heading { 
    scroll-margin-top: 20px; 
    padding: 22px 0 9px; 
    border-bottom: 2px solid var(--wcag-gold, #90732f); 
}

#calendarListingContainer .calendar-listing-date-heading h2 { 
    margin: 0; 
    font-size: 18px; 
    line-height: 1.4; 
    font-weight: 700; 
    color: #222; 
}

#calendarListingContainer .calendar-listing-item { 
    display: flex; 
    align-items: center; 
    gap: 16px; 
    padding: 17px 0; 
    border-bottom: 1px solid #dedede; 
    color: #161616; 
    text-decoration: none; 
}

#calendarListingContainer .calendar-listing-date-tile { 
    flex: 0 0 62px; 
    min-height: 65px; 
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    justify-content: center; 
    border-radius: 5px; 
    background: #f4f1e9; 
    color: #806523; 
}

#calendarListingContainer .calendar-listing-date-tile .month { 
    font-size: 12px; 
    font-weight: 700; 
    text-transform: uppercase; 
    letter-spacing: .05em; 
}

#calendarListingContainer .calendar-listing-date-tile .day { 
    font-size: 27px; 
    font-weight: 700; 
    line-height: 1.15; 
}

#calendarListingContainer .calendar-listing-content { 
    display: flex; 
    flex: 1; 
    min-width: 0; 
    flex-direction: column; 
    gap: 6px; 
}

#calendarListingContainer .calendar-listing-title { 
    font-size: 18px; 
    font-weight: 700; 
    line-height: 1.35; 
}

#calendarListingContainer .calendar-listing-date-text { 
    font-size: 14px; 
    color: #555; 
    line-height: 1.4; 
}

#calendarListingContainer .calendar-listing-arrow { 
    flex: 0 0 auto; 
    font-size: 14px; 
    color: #806523; 
}

#calendarListingContainer .calendar-listing-item:hover .calendar-listing-title,
#calendarListingContainer .calendar-listing-item:focus-visible .calendar-listing-title { 
    text-decoration: underline; 
}

#calendarListingContainer .calendar-listing-item:focus-visible { 
    outline: 2px solid #806523; 
    outline-offset: 3px; 
}

#calendarListingContainer .calendar-listing-empty { 
    margin: 25px 0; 
}
