  /* Existing 51³Ô¹ÏÍø style*/
.bhcc-standard-page {
    padding-top: 30px;
    color: #000;
}

.bhcc-main-content {
    background-color: #ffffff;
    flex: 2;
    padding: 0 15px;
    float: none;
}

.bhcc-row {
    clear: both;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}

.bhcc-left-column {width: 33%;}    
div.calendar-page { background-color: #fff; }    
nav.bread-crumbs a {color:#0050C9;}  
nav.bread-crumbs a:focus {outline:thin solid #0050C9;} 

.calendar-container { width:100%;}



#calendar-navigation-section { 
    width:400px;
    margin:0 5px 5px 1em; 
    padding: 2px;
    background-color:#0c203b;
    border-radius:10px;
    height:fit-content;
    overflow: hidden;
    transition: height 1s ease;
}
#calendar-results-section { max-width:none; }   
  
#h2-calendar-navigation-section { 
   font-size:1.2em; 
   color:#fff; 
   text-align:center; 
   display:block !important; 
   margin-top:5px;  
   margin-bottom:5px;
  
   padding:0;
}

#calendarFilter { text-align: center; }
#calendarFilter .links {  font-size: 1.1em;  font-weight: normal; }
#calendarFilter a {  color: #B60000;  font-weight: normal;  text-decoration: none; }

#categories h2 {
  color: #cb0003;
  font-size: 1.2em;
  padding: 0.5em 0 10px 0;
  margin-bottom: 0;
  margin-top: 2px;
  overflow: hidden;
  background-color: rgba(255, 255, 255, 0.9);
}


/*  The labels are set in T4 Section: 51³Ô¹ÏÍø Events calendar > properties file */
#filterByDay input, #filterByDay label, #calendarCategories label, #calendarCategories input {  margin: 2px; }

#calendarSearch > input {  height: 25px;  width: 100%;  border: 1px solid #ccc;  padding-left: 7px; border-radius:8px; }

#EventsSearch { width: 100%;  background: #b60000;  padding: .5em;  color: white;  font-size: 1.1em;  margin-bottom: 1em;}

#calendarSearch > label {  font-size: 1.1em;  font-weight: normal;  color: #b60000; }
table.eventlist {  width: 100%;  border-collapse: collapse;}
table.eventlist a {  font-weight: normal; }

table tr.table_text th {
  color: #333;
  font-size: 1.1em;
  font-weight: normal;
  padding: 5px 0 5px 10px;
  text-align: left;
}

#calendar_box  { font-size:1em;}
#calendar_box table { width:100%; border-spacing: 0; border-collapse:collapse; }
#calendar_box tr td  { 
     text-decoration: none; 
     text-align: center; 
     font-size: 1.2em; 
     padding:0; 
     border:1px solid rgba(255,255,255,0.5);
     line-height:2em;  
}
#calendar_box tr td.thismonth { background-color:#0c203b; text-align: center;width:14.2%; color:#fff; }
#calendar_box tr td.thismonth.today {
    background-color: #770000;
}
#calendar_box tr td.hasEvents  a { 
    color:#fff; 
    text-decoration: none; 
    display:block;
    text-align:center; 
    padding:6px;    
    background-color:rgba(255,255,255,0.2);
    border-radius:50%;
}
#calendar_box tr td.fillday { background-color: #404040;  text-align: center;color:#fff; }
#calendar_box tr td.hasEvents a {
    color: #fff;
    font-weight:600;
    background-color:rgba(255,255,255,0.2);
    border-radius:50%;
}
#calendar_box tr td a:focus  { outline: none;}
#calendar_box tr td.hasEvents  a:hover { color: #fff; font-weight: bold; background-color:rgba(255,255,255,0.4); text-shadow:1px 1px #000; outline: 1px #fff dashed; }
#calendar_box tr td.hasEvents  a:active { color: #fff; font-weight: bold; background-color:rgba(255,255,255,0.4); text-shadow:1px 1px #000; }
#calendar_box tr td.hasEvents  a:focus { color: #fff; font-weight: bold; background-color:rgba(255,255,255,0.4); text-shadow:1px 1px #000; outline: 1px #fff dashed; }
#calendar_box tr td.hasEvents.periodday a:hover { font-weight: bold; background-color:rgba(255,255,255,0.5); text-shadow:1px 1px #000; }
#calendar_box .calendar-box-header { display:flex;}
#calendar_box tr th, #calendar_box .calendar-box-header div { 
  font-size:1em; font-weight:400; color:#fff; padding:4px;  text-align: center;
}

#calendar_box .calendar-box-header .cal-months { display:inline; }
#calendar_box div#current_month {width:75%;}

#calendar_box #prev_month a, #calendar_box #next_month a {  
  color: #fff; 
  text-decoration: none; 
  text-align: center; 
  display:inline-block; 
  font-size:1.2em;
  line-height:2em;
  padding:0 10px;
  font-weight:600;
  border-radius:1em;
  background-color: rgba(255,255,255,0.3);
}
#calendar_box #current_month a {  
  color: #fff; 
  text-decoration: none; 
  text-align: center; 
  display:block; 
  font-size:1.2em; 
  padding:8px 15px;
  font-weight:400;
  border-radius:1em;
  background-color: rgba(255,255,255,0.3);
}

#calendar_box #prev_month a:hover,
#calendar_box #next_month a:hover,
#calendar_box #current_month a:hover { color: #fff;  background-color:rgba(255,255,255,0.4); text-shadow:1px 1px #000;  }
#calendar_box #prev_month  a:focus,
#calendar_box #next_month a:focus,
#calendar_box #current_month a:focus {  color: #fff; font-weight: bold; background-color:rgba(255,255,255,0.4); text-shadow:1px 1px #000; }

#calendar_box .calendar-box-header .fad, #calendar_box .calendar-box-header .fas {color:#fff;}  

#calendar_box tr th a       { color: #fff; text-decoration: none; text-align: center; display:block;}
#calendar_box tr th a:hover { color: #fff; text-decoration: none; text-align: center; }
#calendar_box tr th a:focus { outline: thin solid white;}  

/*
     .  CALENDAR MONTH VIEW
*/
#calendar_month  { }
#calendar_month h1.month-view-title { font-size:1.3em; text-align:center; margin:0 auto; font-weight:400;}
#calendar_month table { width:100%; border-spacing: 0; border-collapse:collapse; }
#calendar_month tr td  { 
     position:relative;
     text-decoration: none; 
     text-align: left; 
     padding:5px; 
     border:1px solid #ccc;
     vertical-align: top;
    /* height:120px; */
}


#calendar_month tr td .day-number { 

  font-size:1.5em; 
  line-height:1.2em;
  display:inline-block; 
  text-align:left;
  width:30px;
  height:30px;
  margin:0 5px;
}

#calendar_month tr td.thismonth { background-color:#f8f8ff; color:#000; }
#calendar_month tr td.thismonth.today { border: 1px double #000; }
#calendar_month tr td.thismonth.today .day-number { color: #b60000; }
#calendar_month tr td.thismonth.today .number-of-events { color: #b60000; font-weight:700;}
#calendar_month tr td.tdno0 { width:10%;}
#calendar_month tr td.tdno1 { width:16%;}
#calendar_month tr td.tdno2 { width:16%;}
#calendar_month tr td.tdno3 { width:16%;}
#calendar_month tr td.tdno4 { width:16%;}
#calendar_month tr td.tdno5 { width:16%;}
#calendar_month tr td.tdno6 { width:10%;}


#calendar_month tr td.hasEvents  a.day-number-event-link { 
   display: inline-block;
   min-height:44px;
   color:#004EC2; 
   text-decoration: none; 
}
#calendar_month tr td.fillday { background-color: #f0f0f0; color:#444; }
#calendar_month tr td a:focus  { outline: none;}
#calendar_month tr td.hasEvents  a.day-number-event-link:hover { color: #b60000;   }
#calendar_month tr td.hasEvents  a.day-number-event-link:active { color: #b60000;   }
#calendar_month tr td.hasEvents  a.day-number-event-link:focus { color: #b60000; }
#calendar_month tr td.hasEvents.periodday a.day-number-event-link:hover {  color: #b60000; }
#calendar_month .calendar-month-header { display:flex;}
#calendar_month tr th, #calendar_month .calendar-month-header div { 
   color:#000; 
   padding:4px;  
   text-align: center; 
   background-color: #fff;
   border: 0;
   font-size:1.3em;
}

#calendar_month .date-header {
    background-color: #fff;
    min-height:44px;
}


#calendar_month .day-number-time { display:block; }
#calendar_month .day-number-event {
    display:block;
    font-size: 0.95em;
    line-height: 1.5em;
    text-align: left;
    margin:0 0 5px;
    padding:5px;
    background-color:#fff;
    border:1px solid #aaa;
}

#calendar_month .day-number-event:hover {
    box-shadow: 2px 2px 4px #888;
}

#calendar_month .dne-org-icon {
    color: #b60000;
}

#calendar_month .day-number-event-link { text-decoration:underline;  }
#calendar_month .day-number-event-link:hover, #calendar_month .day-number-event-link:focus { text-decoration:underline;  }


#calendar_month tr td.hasEvents a.dne-eventlink {
    text-align: left;
    display: inline-block;
    width: fit-content;
    line-height: 1.5em;

}

#calendar_month tr td.hasEvents a.dne-eventlink:after {
    content: url(data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20px' height='20px' viewBox='0 0 16 16' version='1.1'%3E%3Cg id='surface1'%3E%3Cpath style=' stroke:none;fill-rule:nonzero;fill:rgb(71.372549%25,0%25,0%25);fill-opacity:1;' d='M 7.761719 4.449219 C 7.542969 4.246094 7.222656 4.191406 6.949219 4.3125 C 6.675781 4.433594 6.5 4.703125 6.5 5 L 6.5 11 C 6.5 11.296875 6.675781 11.566406 6.949219 11.6875 C 7.222656 11.808594 7.539062 11.753906 7.757812 11.550781 L 11.007812 8.550781 C 11.160156 8.410156 11.25 8.207031 11.25 8 C 11.25 7.792969 11.160156 7.589844 11.007812 7.449219 Z M 8 0 C 3.582031 0 0 3.582031 0 8 C 0 12.417969 3.582031 16 8 16 C 12.417969 16 16 12.417969 16 8 C 16 3.582031 12.417969 0 8 0 Z M 8 14.5 C 4.417969 14.5 1.5 11.582031 1.5 8 C 1.5 4.417969 4.417969 1.5 8 1.5 C 11.582031 1.5 14.5 4.417969 14.5 8 C 14.5 11.582031 11.582031 14.5 8 14.5 Z M 8 14.5 '/%3E%3C/g%3E%3C/svg%3E);
    position: relative;
    top: 5px;
    left: 5px;
}



#calendar_month .dne-additional-info { 
    display:none; 
    font-size:0.9em; 
    line-height:1.5em; 
    text-align:left;
    letter-spacing: -0.5px;  
}

#calendar_month .dne-more {
    display:block;
    color: #004E9F;
    cursor: pointer;
    text-align:right;
    font-size:0.9em;
}
#calendar_month .dne-more:hover {
    text-decoration:underline;
}




#calendar_month .day-number-event[data-category="Academic Calendar"]  .dne-more { display:none;}

#calendar_month .dne-description p { line-height:1.2em; text-align:left;}

#calendar_month .month-legend { display:flex; flex-wrap:wrap;justify-content:center; }
#calendar_month #intranet-legend { display:none; }
#calendar_month .legend-item { font-size:1.2em;padding:6px 10px;margin:5px; line-height:1.7em; cursor:pointer; border-radius:10px;}
#calendar_month .legend-is { background-color: #ffd; border: 2px double #aa5; }
#calendar_month .legend-ais { background-color:#fed; border: 2px solid orange;}
#calendar_month .legend-w { background-color: #f0fff0; border: 2px dashed #484; }
#calendar_month .legend-special { background-color:#e0f0ff; font-weight:700;border: 2px solid transparent;}
#calendar_month .legend-clubs { border:2px solid #b60000; }    
#calendar_month .legend-ac { border: 2px dotted #004EC1; } 
#calendar_month .legend-ac:before { content:"\f073";font-family:"Font Awesome 6 Pro"; color:#b60000; font-weight:300;padding-right:5px;  }

#calendar_month .legend-item:hover {
    border: 2px dashed #000 !important;
    background-color: #fff !important;
    box-shadow: 5px 5px 10px #aaa;
}

#calendar_month #show-all { border:2px solid #88f; }  

#calendar_month .day-number-event[data-category="Academic Calendar"]  {  border: 2px dotted #004EC1; }
#calendar_month .day-number-event[data-category="Academic Calendar"] a.day-number-event-link:before  { content:"\f073";font-family:"Font Awesome 6 Pro"; color:#b60000; font-weight:300;padding-right:5px; }

#calendar_month .day-number-event[data-category="Information Sessions"] { background-color: #ffd; border: 4px double #aa5; }
#calendar_month .day-number-event[data-category*="Admissions Info"] { background-color: #fed; }
#calendar_month .day-number-event[data-category="Workshops"] {  background-color: #f0fff0; border: 2px dashed #484;}
#calendar_month .day-number-event[data-category="Board of Trustees"] { background-color: #ffd; }
#calendar_month .day-number-event[data-category="Forum"] { background-color: #fed; }
#calendar_month .day-number-event[data-category="Workshop and Training"] { background-color: #dfd;}   
#calendar_month .day-number-event[data-subcategory*="Engagement"] { border:1px solid #b60000; }  
#calendar_month .day-number-event[data-subcategory*="Special"] { background-color: #e0f0ff !important; font-weight:700;}  

#calendar_month .dne-additional-info[data-category="Board of Trustees"] { background-color: #ffd; }
#calendar_month .dne-additional-info[data-category="Forum"] { background-color: #fed; }
#calendar_month .dne-additional-info[data-category="Workshop and Training"] { background-color: #eeffee;}


#calendar_month .day-number-event[data-subcategory~="Basketball"] .dne-organiser-cell a:before { content:"\f434";font-family:"Font Awesome 6 Pro"; color:#ee6730; font-weight:600; }
#calendar_month .day-number-event[data-subcategory~="Baseball"] .dne-organiser-cell a:before { content:"\f433";font-family:"Font Awesome 6 Pro"; color:#B60000; }
#calendar_month .day-number-event[data-subcategory~="Soccer"] .dne-organiser-cell a:before { content:"\f1e3";font-family:"Font Awesome 6 Pro"; color:#B60000; }
#calendar_month .day-number-event[data-subcategory~="Volleyball"] .dne-organiser-cell a:before { content:"\f45f";font-family:"Font Awesome 6 Pro"; color:#B60000; }
#calendar_month .day-number-event[data-subcategory~="International"] .dne-organiser-cell a:before { content:"\f57d";font-family:"Font Awesome 6 Pro"; color:cornflowerblue;font-weight:600; }


#calendar_month .dne-additional-info[data-organiser*="Transfer"] .dne-org-icon:before { content:"\f19d";font-family:"Font Awesome 6 Pro"; color:#B60000;font-weight:600; }
#calendar_month .dne-additional-info[data-organiser*="Advising"] .dne-org-icon:before { content:"\f19d";font-family:"Font Awesome 6 Pro"; color:#B60000; }
#calendar_month .dne-additional-info[data-organiser*="Career"] .dne-org-icon:before { content:"\f0b1";font-family:"Font Awesome 6 Pro"; color:#B60000;font-weight:600;}
#calendar_month .dne-additional-info[data-organiser*="Nurs"] .dne-org-icon:before { content:"\f21e";font-family:"Font Awesome 6 Pro"; color:#B60000; font-weight:600;}
#calendar_month .dne-additional-info[data-organiser*="Medical Imaging"] .dne-org-icon:before { content:"\f497";font-family:"Font Awesome 6 Pro"; color:#B60000;font-weight:600;}
#calendar_month .dne-additional-info[data-organiser*="Medical Lab"] .dne-org-icon:before { content:"\f610";font-family:"Font Awesome 6 Pro"; color:#B60000;}
#calendar_month .dne-additional-info[data-organiser*="Culinary"] .dne-org-icon:before { content:"\f86b";font-family:"Font Awesome 6 Pro"; color:#B60000; }
#calendar_month .dne-additional-info[data-organiser*="International"] .dne-org-icon:before { content:"\f57d";font-family:"Font Awesome 6 Pro"; color:#B60000; }
#calendar_month .dne-additional-info[data-organiser*="Performing"] .dne-org-icon:before { content:"\f630";font-family:"Font Awesome 6 Pro"; color:#B60000; }
#calendar_month .dne-additional-info[data-organiser*="Start"] .dne-org-icon:before { content:"\f144";font-family:"Font Awesome 6 Pro"; color:#B60000; }
#calendar_month .dne-additional-info[data-organiser*="Language"] .dne-org-icon:before { content:"\f1ab";font-family:"Font Awesome 6 Pro"; color:#B60000; }
#calendar_month .dne-additional-info[data-organiser*="Admissions"] .dne-org-icon:before { content:"\f144";font-family:"Font Awesome 6 Pro"; color:#B60000;}
#calendar_month .dne-additional-info[data-organiser*="Safety"] .dne-org-icon:before { content:"\e334";font-family:"Font Awesome 6 Pro"; color:#B60000; }
#calendar_month .dne-additional-info[data-organiser*="Study Abroad"] .dne-org-icon:before { content:"\f57d";font-family:"Font Awesome 6 Pro"; color:#B60000; }
#calendar_month .dne-additional-info[data-organiser*="Wellness"] .dne-org-icon:before { content:"\f44b";font-family:"Font Awesome 6 Pro"; color:#B60000; }
#calendar_month .dne-additional-info[data-organiser*="Library"] .dne-org-icon:before { content:"\f5db";font-family:"Font Awesome 6 Pro"; color:#B60000; }

#calendar_month .dne-additional-info[data-subcategory*="Advising"] .dne-org-icon:before { content:"\f19d";font-family:"Font Awesome 6 Pro"; color:#B60000;}
#calendar_month .dne-additional-info[data-subcategory*="Single"] .dne-org-icon:before { content:"\f4c2";font-family:"Font Awesome 6 Pro"; color:#B60000; }
#calendar_month .dne-additional-info[data-subcategory*="STEM"] .dne-org-icon:before { content:"\f5d2";font-family:"Font Awesome 6 Pro"; color:#B60000;}
#calendar_month .dne-additional-info[data-subcategory*="EPUT"] .dne-org-icon:before { content:"\f0e7";font-family:"Font Awesome 6 Pro"; color:#B60000;}
#calendar_month .dne-additional-info[data-subcategory*="Justice"] .dne-org-icon:before { content:"\f24e";font-family:"Font Awesome 6 Pro"; color:#B60000; }
#calendar_month .dne-additional-info[data-subcategory*="Leadership"] .dne-org-icon:before { content:"\f559";font-family:"Font Awesome 6 Pro"; color:#B60000; }
#calendar_month .dne-additional-info[data-subcategory*="Career"] .dne-org-icon:before { content:"\f0b1";font-family:"Font Awesome 6 Pro"; color:#B60000;}
#calendar_month .dne-additional-info[data-subcategory*="Performing"] .dne-org-icon:before { content:"\f630";font-family:"Font Awesome 6 Pro"; color:#B60000;}



#calendar_month .calendar-month-header .cal-months { display:inline; }
#calendar_month #current_month { width:70%; }
#calendar_month #prev_month, #calendar_month #next_month {  width:15%; }

#calendar_month #prev_month a, #calendar_month #next_month a {  
  color: #b60000; 
  text-decoration: none; 
  text-align: center; 
  display:inline-block; 
  font-size:2em; 
  padding:0;
  font-weight:400;
  line-height:1.1em;

}
#calendar_month #current_month h1 {  
  color: #b60000; 
  text-decoration: none; 
  text-align: center; 
  display:inline-block; 
  padding:0;
  font-weight:600;
  font-size:2em;
  margin:0;
}

#calendar_month #prev_month a:hover,
#calendar_month #next_month a:hover { color: #b60000;  }
#calendar_month #prev_month  a:focus,
#calendar_month #next_month a:focus {  color: #b60000; }

#calendar_month .calendar-month-header .fad, #calendar_month .calendar-month-header .fas {color:#000;}  

#calendar_month tr th a       { color: #b60000; text-decoration: none; text-align: center; display:block;}
#calendar_month tr th a:hover { color: #b60000; text-decoration: none; text-align: center; }
#calendar_month tr th a:focus { outline: thin solid white;}  

#calendar_month .month-for-mobile {display:none; font-weight:600;}
#calendar_month .date-number {font-weight:600; }





.view_period_range { font-size:1.5em; color:#0c203b; padding:10px 0; margin:0; text-align:center; background-color:#fff; line-height:1.5em;}
 
#link-back-container    { text-align:left; }
#link-forward-container  { text-align:right; } 

  
.period-switchers-divider {display:none;}
.jump-to-calendar-search {display:none;}
  
  
.cal-form-label { 
   font-size:1em; 
   margin:0 0 5px 0; 
   padding:0 10px; 
   border: none;
   color:#fff;
   width: fit-content;
   display:block;
}

#jumptoform       { display:none; }
#jumptoform label { color:#fff; }
#jumptoform fieldset { padding:5px; border:1px solid #fff; border-radius:10px;  background-color: rgba(255,255,255,0.1);text-align:left;}
#month, #year     { padding: 2px; border-radius:10px; margin-right:0; font-size:0.8em;}  
.search-events-button {
    background: #b60000;
    padding: 1px 5px;
    border: 0;
    color: white;
    font-weight:normal;
    border-radius:1px;
    margin:0;
    display:inline;
    font-size:1em;
    cursor:pointer;
}


#search_field {
   text-align: center; 
}

#searchoptions    { margin-top:0;margin-bottom: 20px; border-radius:8px;}

#seach-by-keywords { margin-top:10px; padding:10px; border:1px solid #fff;border-radius:10px; background-color: rgba(255,255,255,0.1);}
#seach-by-keywords:hover { background-color:rgba(255,255,255,0.4);   }

#keywords         { width:200px; border:1px solid #888; padding: 5px 10px; border-radius:10px;}
#keywords-clear-button { 
   font-size: 0.9em;
    padding: 2px 6px;
    border-radius: 10px;
    border: 1px solid #fff;
    background: rgba(255,255,255,0.2);
    color: #fff;
    font-weight: 600;
    margin: 0;
    cursor:pointer;
}
#keywords-clear-button:hover, #keywords-clear-button:focus { background-color:rgba(255,255,255,0.5); text-shadow:1px 1px #000; }


#view_switchers   { text-align:center; }
#view_switchers ul { list-style:none; padding:0; margin:0;}  
.view_period_switchers {  display:grid; grid-template-columns:50% 50%; background-color:#fff; margin:0 0 10px 0; padding:0;}

.view-switcher { margin:5px 1px; display:inline-block;  }  
  
.view-switcher .current {color:black;text-shadow:none; display:block; color:#fff;} 
.view-switcher a { padding:2px 10px; text-decoration:underline; color:#fff; font-weight:normal; border-radius: 1em;
                        border:0; background-color:rgba(255,255,255,0.1); color:#fff; font-size:1em;}
.view-switcher span {  padding:2px 10px; color:#fff; }
.view-switcher a:hover, .view-switcher a:focus { background-color:rgba(255,255,255,0.5); text-shadow:1px 1px #000; }

a.view-period-switcher { 
    background-color:#fff; 
    color:#b60000; 
    border-radius:1em; 
    padding:5px 1em;
    font-size:1.25em; 
    display:inline-block;
    line-height:2em;
  
 }
.view-period-switcher:hover, .view-period-switcher:focus {color:#fff; background-color:#b60000; border:1px solid #b60000;}
.view-period-switcher.link-back:before { content: "\f355"; top:0; color:inherit; }
.view-period-switcher.link-forward:after { content: "\f356"; top:0; color:inherit; }  
p.link-back a:before, div.link-back a:before, a.link-back:before, span.link-back a:before {
    content: "\f0a8";
    font-family: 'Font Awesome 6 Pro', fontawesome;
    line-height: 1;
    display: inline-block;
    color: #b60000;
    position: relative;
    top: 1px;
    margin-right: 5px;
    font-weight: normal;
    font-size: 1em;
}
p.link-forward a:after, div.link-forward a:after, a.link-forward:after, span.link-forward a:after {
    content: "\f0a9";
    font-family: 'Font Awesome 6 Pro', fontawesome;
    line-height: 1;
    display: inline-block;
    color: #b60000;
    position: relative;
    top: 1px;
    margin-left: 5px;
    font-weight: normal;
    font-size: 1em;
}
.keywords-indicator {
    text-align: center;
    color: #b60000;
    font-size: 1.2em;
}


#calendar_events  {  padding-bottom:0; }
.calendar-events-gray { background-color: #ececec; padding-top:10px; }
#category     { margin:0; padding:2px 5px; background-color: #e0e0d8; }
#sub-category { margin:2px 5px 2px 0; padding:2px 5px; background-color: #e0e0d8; }

#category-container { display:flex; flex-direction: column; margin-top:10px; border:0; padding:0;}
fieldset.category-container {order:2; padding:10px; border:1px solid #eee; border-radius:10px; background-color: rgba(255,255,255,0.1); }
.category-wrapper { border:1px solid transparent;border-radius:5px; }
.category-wrapper label { font-weight:normal; margin-left: 10px; color:#fff; margin-bottom:0;} 
.category-wrapper:hover, .category-wrapper:focus {
    border: 1px solid white;
    background-color: rgba(255,255,255,0.4);
}  
#subcategory-container { 
  order: 1;
  display:block; 
  margin-bottom:10px;
  padding:0 10px;
  border:1px solid #fff;
  border-radius:10px;
  background-color: rgba(255,255,255,0.1);
} 
#subcategory-container:hover, #subcategory-container:focus {background-color: rgba(255,255,255,0.4); }
#subcategory-header {  margin-top: 5px; margin-bottom: 0; padding: 0;}
#subcategory-select { padding:5px; width:100%; border-radius:10px; margin-bottom: 10px;}

h2.eventdate { font-size:1.3em; line-height:1.5em; clear:both; text-align:left; font-weight:normal;
      padding:0; margin:0; background:#0c203b;}
h2.eventdate a { color:#fff; padding:7px; margin-left:1em; font-weight:600;text-decoration:none; display:inline-block; }

.event { position:relative; padding: 5px 10px; border: 0; border-radius:10px; margin:10px 0; }
  
.event-top-row .fa, .event-top-row .fal, .event-top-row .fad, .event-top-row .fas {width:30px; color:#cb0003;}
.event-top-row:after { clear:both; }
  

  
h3.eventtitle   { padding:0; margin:0; text-align:left;color:#b60000;}
h3.eventtitle  .fa, h3.eventtitle  .fal, h3.eventtitle  .fad, h3.eventtitle  .fas, h3.eventtitle .far { width:30px;color:#cb0003; }
h3.eventtitle a { color:#B60000; line-height:1.8em; font-size:1.1em; font-weight:400; display:inline-block;}
h3.eventtitle a:hover { color: #0050C8; }

.eventlink-cell { font-size:1em; line-height:1.5em; margin:15px; }     
.description  { padding:5px 0; clear:both; width:100%; hyphens:auto; font-size:1em; line-height:1.5em; }
.description a { word-break: break-all; text-decoration:underline; }
.description:empty { padding:0;margin:0;border:0;width:0;height:0; }

.eventinfo { display:flex; flex-wrap:wrap; clear:both; width:100%; font-size:1.1em;}

.eventinfo a, .eventinfo span { display:inline-block; padding:5px 10px; line-height:2em; }
.eventdate-cell { display:none;}  
.eventtime-cell { padding-right:15px;}
.eventtime-cell span { margin-right:5px;}
.venue-cell {padding-right:15px;}
.venue-cell span { margin-right:5px;}
.organiser-cell {padding:0;}
.organiser-cell span, .venue-cell span, .eventinfo .fa, .eventinfo .fal, .eventinfo .far, .eventinfo .fab, .eventinfo .fa-kit, .eventinfo .fad,  .eventinfo .fas, .eventinfo .fa-sharp { 
    width:30px; color:#b60000; text-align:center;
}

.venue      { font-weight:normal;}
.organiser  { font-weight:normal;}
.organiser-image { position:absolute; top:5px; right:5px; max-width:80px;}
.organiser-image img { max-height:50px;}
 
.event-category { display:none; color:#000;}
  
 
.event-subcategory { display:none; order:3;  color:#000;}
.event-subcategory:empty { padding:0; margin:0;border:0; float:none; clear:both;}
  
.no-events-for-this-period {background-color:#fff; text-align:center; padding:10px; letter-spacing:1px;}

ul.pagination {
    list-style: none;
}
  
#featured-event { background-color:#fff; margin:10px; padding:0 1em; position:relative; border:0; border-radius:10px; }  
#featured-event h1 {font-size:2em;text-align:left;color:#b60000;  font-weight:400;}
#featured-event .eventdate {font-size:1.1em; line-height:1.5em; display:inline-block; font-weight:600;}
#featured-event .eventtime-cell {font-size:1.1em; line-height:1.5em; display:inline-block; margin-left:0.5em; }  
#featured-event .eventtime-cell:before { content: " at "; }  
#featured-event .description {font-size:1em; line-height:1.5em; }
#featured-event .eventinfo {font-size:1.05em; line-height:2em; display:block; }  
#featured-event .eventinfo a, #featured-event .eventinfo span { display:inline; padding:0px;}

#featured-event .eventlink-cell {font-size:1.05em; line-height:1.5em; margin: 10px 0; }  
#featured-event .eventlink-cell span {color:#b60000;}  
#featured-event .featured-eventdate {
    padding: 5px 0;
    color: #000;
    font-size: 1.2em;
    text-align: left;
}
#re-academic-calendar h2 { padding:10px 10px 10px 20px; background-color:#fff; margin:0 0 10px 0; text-align:center; }   




@media only screen and (min-width: 768px) and (max-width: 991px) {
  .calendar-page .bread-crumbs { display: none; }
}
@media only screen and (min-width: 768px) and (max-width: 1022px) {
  .calendar-page .bread-crumbs { margin-top: 0; }
}  
  
@media (min-width:1500px) {
  .container {width:95%;}
  #calendar-navigation-section { padding-top:10px; }
}
@media (min-width:1800px) {
  .container {width:90%; max-width:none; padding:0; }
}

@media (min-width:768px) {  
   .eventdate-link { position:relative; }
   .eventdate-link:before {
        position: absolute;
        bottom: 0;
        left: 0;
        z-index: -1;
        display: block;
        width: 0;
        height: 1px;
        content: "";
        background-color: #fff;
        transition: width .3s ease-in-out; 
    }
    .eventdate-link:hover:before {
        width: 100%;
        z-index:1;
        transition: width .3s ease-in-out;      
    }
}


@media (max-width:991px) {  
  #calendar_box tr td {
      height:unset;
      min-height:unset;
      line-height: unset;
  }
  #calendar_box tr td.hasEvents  a {padding:7px;}
  
  #calendar_month  { padding-top: 50px;}  
  #calendar_month  table.text-table {
        margin: 0 15px;
        width: unset !important;
    } 
  #calendar_month tr td {
      margin-bottom: 5px;
      height:unset;
      min-height:unset;
    
  }   
  #calendar_month tr td.thismonth  {width:unset;}  
  #calendar_month tr td.fillday   {width:unset;}
  
  #calendar_month tr td .day-number {
    position: unset;
    width:unset;
    padding-top:3px;
    display: block;
    text-align: center;
  }
  #calendar_month tr td.fillday .day-number {
      margin: 0 auto;
 
      font-size: 1.2em;    
  }  
  
  #calendar_month table.text-table tr td.tdno0 {font-weight:400;}
  #calendar_month table.text-table tr { margin-bottom:0;}
  
   #calendar_month  table.calendar-month-table.text-table tbody tr:first-child {
        position: unset;
        background-color: #fff;  
   }

   #calendar_month table.calendar-month-table.text-table tr td:before {
        width:35%;
        font-size: 1.3em;
        font-weight:600;
   }   
  #calendar_month .day-number-events { margin-top:0;}

  #calendar_month .legend-item {
    margin: 2px; 
    text-align:center;
   }
  #calendar_month .month-for-mobile {display:inline; padding-right:10px;}
  #calendar_month .dne-additional-info {  
      position: unset;
      width: unset;
      box-shadow: none;
      border: 0;  
      font-size:1em;
      line-height:1.7em;
  }
 #calendar_month .dne-description p {
     text-align: left;
  } 
  
}  

  
@media (max-width:767px) {
  
   div.calendar-page div.row { display: flex; flex-direction: column; }
   div.calendar-page div.row section:nth-of-type(1) { order: 2;}
   div.calendar-page div.row section:nth-of-type(2) { order: 1;} 
  
  h2.eventdate { text-align:center; }
  
  #calendar_events  {  border: none;}
  #calendar-sections-container { display:flex; width:100%; margin-top:10px;}
  #calendar-navigation-section {  
      border:none; 
      width:100%;
      font-size:1em;
      max-width:unset; 
      height:unset;
      overflow:hidden;
      text-align:left;
      margin: 2em 1em 0 1em;
      padding:5px 10px;
  }
  #h2-calendar-navigation-section { cursor:pointer; text-align:left;}
  #calendar-navigation-section #h2-calendar-navigation-section:before { font-family:"Font Awesome 6 Pro"; content:'\02b'; margin:0 15px; }   
  #calendar-navigation-section.open #h2-calendar-navigation-section:before { font-family:"Font Awesome 6 Pro"; content:'\f068'; margin:0 15px; }  
  
  
  
  #calendar-results-section {  padding:0; width:100%; }
  #calendar_box { margin-top:0; }
  
  .view_period_range  { padding: 20px 0; font-size:1.1em; margin:0 20px;}
  .view-period-switcher  { margin:0 auto; letter-spacing:-0.5px; padding:0 15px; font-size:1em; width:fit-content; float:none; display:block;}

  .event ul {padding-left: 20px; } 
  
   #featured-event { background-color:#fff; margin:0; padding:10px; position:relative; box-shadow:none;border:0; }  
   #featured-event h1 {text-align:center; margin:0 0 10px 0;line-height:1.5em;font-size:1.6em; }  
  
   #re-academic-calendar h2 { padding:10px 0; text-align:center; background-color:#fff;}  

   #calendar_month #prev_month a, #calendar_month #next_month a {  
      font-size:1.5em; 
      font-weight:600;
    } 

    #calendar_month #current_month h1 {  
      font-weight:500;
      font-size:1.5em;
    }  

  
}
  
  
  
@media (max-width:500px) {

  .event-date { text-align:center; padding:0; letter-spacing: 0px; margin:0 10px; font-size:1em; border-bottom:0;}
  .event { border:0; padding:10px; margin:5px; }
  .event.even-event-row { background-color:#fff; }
  .event-top-row { padding:0; }
  .event-top-row h3, .event-top-row h3 a, #related-events .event h3 { 
      line-height: 1.5em; 
      margin:0; 
      font-weight:normal; 
      float:none !important; 
      font-size:1.3em; 
      text-align:left; 
      padding: 0;
      text-decoration-color: #b60000;
   }
   .eventlink-cell { }
  .eventinfo a, .eventinfo span {
       line-height: 1.5em;
   }
  .eventinfo     { display:block; width:100%; padding:0; font-size: 1.1em; }
  .eventdate-cell { display:block; }
  .eventtime-cell { }  
  .eventtime-cell span {  }
  .venue-cell {  }
  .organiser-cell { }
  .description {  }

  .venue      { display:none; font-weight:normal; }
  .organiser  { display:none; font-weight:normal; }
  .organiser-image { display:none; position:absolute;top:5px;right:5px;max-width:80px; }
  .organiser-image img { display:none; max-height:50px; }
  .event-subcategory { display:none;order:3; }
  .event-subcategory:empty { padding:0;margin:0;border:0;float:none;clear:both; }

   span#category { margin:0 0 2px 0; }
   span#sub-category { margin:2px 0 0 0; }  
   .eventfulltext { padding:10px; }
   .calrow { padding:0; }
  
   #calendar_month  table.calendar-month-table.text-table {
        margin: 0 10px;
        width: unset !important;
    } 
  
   #calendar_month table.calendar-month-table.text-table tr td {
        font-size: 1em;
   }
   #calendar_month tr td .day-number { font-size: 1.1em; }  
 
   #calendar_month .day-number-event {font-size:1em;}
  
}



@media (max-width:500px) { 
   .period-switchers-divider { display:none; }
/* T4 Event Calendar Module default styles */
/* Calendar Switches*/
  
.no-past .event-past {
  display: none;
}

#calendar_events div.event {
  margin: 1em 10px;
}

#calendar_events div.event + h2.eventdate {
  margin-top: 10px;
}

.view-switchers {
  margin-bottom: 15px;
}

#searchoptions-generic fieldset {
  border: 0;
  padding: 0;
}

#searchoptions-generic fieldset legend {
  padding-bottom: 0;
}

.event-search-widget fieldset {
  border: 0;
  padding: 0;
  margin: 0;
}

#past_events legend {
  display: none;
  visibility: hidden;
}

.past-events {
  background: #e9e9e9;
  padding: 1rem;
  margin-bottom: 10px;
}

.past-events p {
  margin-bottom: 0;
}

.past-events fieldset {
  padding: 0;
  margin: 0;
  margin-top: 10px;
  border: 0;
}

#search_field label,
#jumptoform label {
  position: absolute;
  z-index: -1;
}

#jumptoform label
#calendar_box_custom table,
#calendar_box table {
  width: 100%;
  text-align: center;
}

#jumptoform label
#calendar_box_custom table tr th,
#jumptoform label
#calendar_box_custom table tr td,
#calendar_box table tr th,
#calendar_box table tr td {
  width: calc(100%/7);
}

#jumptoform label
#calendar_box_custom table tr th.hasEvents,
#jumptoform label
#calendar_box_custom table tr td.hasEvents,
#calendar_box table tr th.hasEvents,
#calendar_box table tr td.hasEvents {
  padding: 0;
}

#jumptoform label
#calendar_box_custom table tr th.hasEvents a,
#jumptoform label
#calendar_box_custom table tr td.hasEvents a,
#calendar_box table tr th.hasEvents a,
#calendar_box table tr td.hasEvents a,
#calendar_box table tr td span {
  display: block;
  padding: 6px 0;
  height: 100%;
}

#jumptoform label
#calendar_box_custom table tr th.hasEvents.outperiodday a,
#jumptoform label
#calendar_box_custom table tr td.hasEvents.outperiodday a,
#calendar_box table tr th.hasEvents.outperiodday a,
#calendar_box table tr td.hasEvents.outperiodday a {
    border-radius: 50%;
    background-color: rgba(255,255,255,0.3);
}

#jumptoform label
#calendar_box_custom table tr th .prev-next-link,
#calendar_box table tr th .prev-next-link,
#calendar_box_custom table tr td .prev-next-link,
#calendar_box table tr td .prev-next-link{
  text-indent: -9999px;
  display: block;
  float: left;
}

.calendar-dayrow .today a {
  position: relative;
}

#calendar_box tr td.today {
     background-color:#b60000; 
}

/* Large Calendar*/
#calendar_page table {
  width: 100%;
  text-align: center;
}

#calendar_page table tr th {
  width: calc(100%/7);
  text-align: center;
}

#calendar_page table tr.calendar-box-header th {
  font-size: 1em;
}

#calendar_page table tr.calendar-box-header th .prev-next-link {
  text-indent: -9999px;
  display: block;
  float: left;
}

#calendar_page table tr.calendar-dayhead th {
  font-size: 0.8em;
}

#calendar_page table tbody tr.calendar-dayrow td {
  width: calc(100%/7);
  vertical-align: top;
  padding: 0.1em;
  height: 8em;
  border: 1px solid #eee;
}

#calendar_page table tbody tr.calendar-dayrow td.fillday {
  background-color: #eee;
}

#calendar_page table tbody tr.calendar-dayrow td.fillday span {
  color: #999;
}

#calendar_page table tbody tr.calendar-dayrow span {
  font-size: 1.2em;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  display: inline-block;
  font-weight: bold;
}

#calendar_page table tbody tr.calendar-dayrow .cal-event a {
  font-size: 0.80em;
  line-height: 1em;
  display: block;
  max-height: 2rem;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 0.3em;
  background-color: #990616;
  margin-bottom: 2px;
  color: #FFF;
  word-break: break-all;
  color: #FFF;
  white-space: unset;
}

#calendar_page table tbody tr.calendar-dayrow .cal-event.end a {
  padding-left: 0px;
  background-color: #000;
}

#calendar_page table tbody tr.calendar-dayrow .cal-event.start a {
  padding-right: 0px;
  background-color: #000;
}

#calendar_page table tbody tr.calendar-dayrow .cal-event.middle a {
  padding-left: 0px;
  padding-right: 0px;
  background-color: #000;
}

#calendar_page table tbody tr.calendar-dayrow .tooltip-info {
  display: block;
  width: 200px;
  min-height: 100px;
  background-color: white;
  border: 1px solid #000;
  position: absolute;
  margin-left: calc(100%/7);
  margin-top: -39px;
  /* min-height/2 */
  z-index: 100;
  color: #000;
  font-size: 1em;
  padding: 0.3em;
  display: none;
}

#calendar_page table tbody tr.calendar-dayrow .tooltip-info:after, #calendar_page table tbody tr.calendar-dayrow .tooltip-info:before {
  right: 100%;
  top: 26px;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}

#calendar_page table tbody tr.calendar-dayrow .tooltip-info:after {
  border-color: transparent;
  border-right-color: white;
  border-width: 6px;
  margin-top: -6px;
}

#calendar_page table tbody tr.calendar-dayrow .tooltip-info:before {
  border-color: transparent;
  border-right-color: #000;
  border-width: 7px;
  margin-top: -7px;
}

#calendar_page table tbody tr.calendar-dayrow .tooltip-info.active {
  display: block;
}

#calendar_page table tbody tr.calendar-dayrow .tooltip-info h2 {
  font-size: 1em;
  line-height: 1em;
  margin-top: 0.1em;
  margin-bottom: 0.1em;
}

#calendar_page table tbody tr.calendar-dayrow .tooltip-info div.info {
  font-size: 0.80em;
  margin-bottom: 0.3em;
}

#calendar_page table tbody tr.calendar-dayrow .tooltip-info div.info p {
  font-size: 1em;
  margin: 0px;
  padding-bottom: 0px;
  line-height: 1em;
}

#calendar_page table tbody tr.calendar-dayrow .tooltip-info div.short-desc {
  font-size: 0.80em;
}

.event-date-box {
  display: inline-block;
  width: 17.5%;
  min-width: 144px;
  vertical-align: top;
}

.event-info-box {
  display: inline-block;
  width: 76%;
  vertical-align: top;
}

.filter-tags-container span {
  display: inline-block;
  padding: 0.35rem;
  margin-bottom: 0.35rem;
  background: #eee;
  color: #555;
}

.event-filters ul {
  display: inline-block;
}

.event-filters ul li {
  display: inline-block;
  background: #e9e9e9;
  padding: 0.25rem;
  margin: 0.25rem;
}

#searchoptions-dates input[type=submit] {
  background: #990616;
  border: none;
  min-height: 44px;
}

.desk_check {
  background: rgba(0, 0, 0, 0.5);
  color: white;
  position: absolute;
  margin-top: -0.5rem;
  left: -100px;
  width: 100px;
  padding: 0.25rem;
  font-size: 0.9rem;
}

.desk_check:hover {
  background: black;
}

.desk_check span {
  display: block;
  font-weight: bold;
  margin-bottom: 0.125rem;
  font-size: 0.75em !important;
}

.desk_check a {
  font-size: 0.75em !important;
  line-height: 1em !important;
  display: block !important;
  max-height: 26px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  padding: 0 !important;
  background: none !important;
  margin-bottom: 2px !important;
  word-break: break-all !important;
  display: block !important;
  color: #FFF !important;
  text-decoration: underline !important;
  margin-bottom: 0.125rem !important;
}

.desk_check a:hover {
  text-decoration: none !important;
  color: #FFF !important;
}

  

ul.pagination>li>a.current {
  background: #b60000;
  color: white;
}

.no-found {
  clear: both;
  text-align: center;
}

.category-heading {
    padding: 10px 10px 10px 20px;
    margin: 0 0 10px 0;
    text-align: center;
    font-size: 1.3em;
    color: #cb0003;
    line-height: 1.5em;
    font-weight: normal;
}

}


.pagination>li>a, .pagination>li>span {
    position: relative;
    float: left;
    padding: 8px 15px;
    margin: 0 3px;
    line-height: 1.5em;
    color: #fff;
    text-decoration: none;
    background-color: #0c203b;
    border: 1px solid #ddd;
    border-radius:4px;
    font-weight:600;
}

.pagination>li>a:hover, .pagination>li>a:focus { background-color: #b60000; }

.pagination>li>a.current.page { background-color: #b60000; }


#month-grid-link { 
    border-radius: 1em;
    background-color: rgba(255, 255, 255, 0.3);  
    margin:1em auto;
    width:fit-content;
}

#month-grid-link:hover {     
  background-color: rgba(255, 255, 255, 0.4);
}

.events-rss-feed {
   color:#fff;
   margin: 0 1em 1em 1em;
}

.events-rss-feed a { 
     color:#fff; 
     text-decoration:none; 
     display:block; 
     text-align: center;
     padding: 2px 1em;
     width: fit-content; 
}
.cal-rss-icon { margin-right:15px;}
.cal-rss-text { padding-bottom:10px;line-height:2em; font-size:1.15em}

@media (max-width:767px) {
  
  .pagination { margin:15px;}
  .pagination>li>a, .pagination>li>span {
     margin:0;
     padding:7px;
    
  }
}













