/* Default styles for Spiffy Calendar */

.spiffy-clearfix:before,
.spiffy-clearfix:after {
    content: "";
    display: table;
} 
.spiffy-clearfix:after {
    clear: both;
}

.spiffy.calendar-table a, .spiffy.calendar-table a:visited, .spiffy.calendar-table a:hover {
   box-shadow: none;
}
.calnk {
   padding-bottom: 5px;
   display: block;
}
.spiffy .calnk-link, .spiffy .calnk-link:hover, .spiffy .calnk-link:visited {
   background-position: 0 0;
   text-decoration: none;		
   color: #000000;
   border-bottom: none;
   box-shadow: none;
   display: block;
}
.category-bg .calnk-link {
    border-radius: 3px;
    padding: 2px;
}
.category-bg .calnk-link .calnk-box .spiffy-title, .category-bg .calnk-link .calnk-box .calnk-time {
   border-bottom: none;
}

.calendar-table .calnk-link .calnk-box, .calendar-table .spiffy .calnk-link span {
   display: inline-block;
   max-width: 100%; /* for IE9 images */
   width: 100%; /* since 4.8.0 for list toggled view */
}
.calnk-link .calnk-box .spiffy-title, .calnk-link .calnk-box .calnk-time {
   border-bottom: 1px dotted #ccc;
}


/* the popup */
.calnk-link span.spiffy-popup {
   /* display: none; */
   margin-left:10px;
   visibility:hidden;
   position: absolute;
   display: block;
}
.calnk-link:hover span.spiffy-popup {
    visibility:visible;
    -webkit-transition-delay: 0s;
    -moz-transition-delay: 0s;
    -ms-transition-delay: 0s;
    -o-transition-delay: 0s;
    transition-delay: 0s;
}
.calnk-link span.spiffy-popup {
   color:#333333; 
   background:#FFFFC0; 
   /*display:block;*/
   margin-top: -1px;   /* pjc: This is very important!  Need a slight overlap so that the popup won't close */ 
   padding:5px; 
   width:150px; 
   z-index:100;
   line-height:1.2em;
   box-shadow:2px 2px 8px #c0c0c0;
   border: solid 1px #ccc;
   border-radius: 7px;
}
.spiffy.minical .calnk-link span.spiffy-popup {
   border-radius: 0 7px 7px 7px;
}
.calnk-link span span {
   box-shadow:none;
   border:none;
}
span.spiffy-popup {
   position: relative;
   background: #FFFFC0;
   border: 1px solid #cccccc;
}
span.spiffy-popup:after, span.spiffy-popup:before {
   bottom: 100%;
   left: 15%;
   border: solid transparent;
   content: " ";
   height: 0;
   width: 0;
   position: absolute;
   pointer-events: none;
}
.spiffy.minical span.spiffy-popup:after, .spiffy.minical span.spiffy-popup:before {
   left: 10px;
}
span.spiffy-popup:after {
   border-color: rgba(255, 255, 192, 0);
   border-bottom-color: #FFFFC0;
   border-width: 10px;
   margin-left: -10px;
}
span.spiffy-popup:before {
   border-color: rgba(204, 204, 204, 0);
   border-bottom-color: #cccccc;
   border-width: 11px;
   margin-left: -11px;
}

.calnk-icon {
   max-width: 100%;
   display: block;
   padding: 0;
   margin-top: 3px;
}
.calnk .spiffy-popup img {
   max-width: 100%;
   display: block;
   padding: 0;
   margin: 3px auto;
   box-shadow: none !important;
}


.minical span.spiffy-mp-left {
    margin-left: -120px !important;
   border-radius: 7px 0 7px 7px !important;
}
 
.minical span.spiffy-mp-left:before {
    margin-left: 110px;
}
 
.minical span.spiffy-mp-left:after {
    margin-left: 111px;
}
 
.minical span.spiffy-mp-center {
    margin-left: -60px !important;
   border-radius: 7px !important;
}
 
.minical span.spiffy-mp-center:before {
    margin-left: 55px;
}
 
.minical span.spiffy-mp-center:after {
    margin-left: 56px;
}



/* */
.spiffy.calendar-table {
   border:0 !important;
   width:100% !important;
   border-collapse:separate !important;
   border-spacing:2px !important;
   table-layout: fixed;
   margin-bottom:5px !important;
}
.spiffy-minical-block {
   width: 320px;
   max-width: 100%;
}
.widget .spiffy-minical-block {
   width: 100%;
}
.spiffy.calendar-table .calnk-icon {
   margin: 0 auto;
   box-shadow: none;
   padding: 0 !important;
}
.spiffy.calendar-table .category-bg .calnk-icon {
    margin-bottom: 2px;
}
.calendar-heading {
   text-align:center;
   color: #404040;
   width: 100% !important;
   margin: 0;
   padding: 2px 2px 0 2px;
   border: 1px solid #BCCBD8;
    background-color: #CCDBE8;	
}
.calendar-heading-tbl tr, .calendar-heading-tbl td {
   border:none;
}
.calendar-next, .calendar-prev {
   width:25%;
   text-align:center;
   font-size:.9em;
}
.spiffy .calendar-next a, .spiffy .calendar-prev a {
   text-decoration:none !important; /* important needed for 2019 theme */
   border-bottom: none;
   font-weight: bold;
    font-size: 1.4em;
}
.calendar-month {
   width:50%;
   text-align:center;
   font-weight:bold;
}
.normal-day-heading {
   text-align:center;
   width:25px;
   height:25px;
	font-size:11px;
	border:1px solid #CCDBE8;
	background-color:#EEEEEE;
   color: #404040;
}
.weekend-heading, .week-number-heading {
   text-align:center;
   width:25px;
   height:25px;
   font-size:11px;
   border:1px solid #CCDBE8;
   background-color:#EEEEEE;
   color:#FF0000;
}
.week-number-heading, .week-number {
    width: 12px;
   text-align: center;
}
.day-with-date {
   vertical-align:text-top;
   text-align:left;
   width:60px;
   height:60px;
   border:1px solid #CCDBE8;
}
.no-events {
}
.day-without-date {
   width:60px;
   height:60px;
   border:1px solid #E9F0E8;
}
span.weekend {
   color:#FF0000;
}
.day-number {
   display: block;
}
.current-day {
   vertical-align:text-top;
   text-align:left;
   width:60px;
   height:60px;
   border:1px solid #BCCBD8;
   background-color:#CCDBE8;
   color: #404040;
}
span.spiffy-event-group {
   font-size:0.75em;
}
.calendar-date-switcher {
   height:25px;
   text-align:center;
   border:none;
	background-color:#CCDBE8;
   color: #404040;
}
.calendar-date-switcher form {
   margin:2px;
   padding: 0;
}
.calendar-date-switcher input, .calendar-date-switcher input[type="submit"] {
    border: 1px #aCbBc8 solid;
    margin: 0;
    padding: 3px !important;
    text-transform: none;
   background: #fff;
   opacity: .5;
    color: #505050;
    border-radius: 5px;
   font-weight: normal;
}
.calendar-date-switcher select {
   border:none;
   margin:0;
   color: #404040;
   background: inherit;
   appearance: auto; /* fix 2021 theme */
}
.calnk-link span span.event-title {
   padding:0;
   text-align:center;
   font-weight:bold;
   font-size:1.2em;
   margin-left:0px;
   width: 100%;
   display: block;
}
.calnk-link span span.event-title-break {
   width:96%;
   text-align:center;
   height:1px;
   padding:0;
   background-color:#000000;
   margin: 8px auto;
   display: block;
}
.calnk-link span span.event-content-break {
   width:96%;
   text-align:center;
   height:1px;
   padding:0;
   background-color:#000000;
   margin: 8px auto;
   display: block;
}
.page-upcoming-events {
   /*font-size:80%;*/
}
.page-todays-events {
   /*font-size:80%;*/
}
.spiffy.calendar-table table, .spiffy.calendar-table tbody, .spiffy.calendar-table tr, .spiffy.calendar-table td {
   margin:0 !important;
   padding:0 !important;
}
.spiffy.calendar-table table {
   border-collapse: separate;
    border-spacing: 0;
   width: 100% !important;
}
.mini-link {
   background-color:#F8F9CD;
}
.spiffy.cat-key {
   margin-top:5px !important;
   border:1px solid #CCDBE8 !important;
   border-collapse:separate !important;
   border-spacing:4px !important;
   /* margin-left:2px !important; */
   width:99.5% !important;
   margin-bottom:5px !important;
   font-size: .7em;
}
.spiffy.cat-key tr {
    display: inline-block;
    padding: 8px !important;
}
.cal-separate {
   border:0 !important;
   margin-top:10px;
}
.spiffy.cat-key td {
   border:0 !important;
   display: inline;
   padding: 5px !important;
}
.spiffy-category-filter-button:hover {
    background: #eeeeee;
    cursor: pointer;
}
.spiffy-category-filter-button.spiffy-inactive {
    opacity: .4;
}
.calnk.spiffy-inactive {
    opacity: 0;
}
.spiffy-upcoming-day {
   list-style-type: none;
}
.spiffy-desc, .spiffy-location, .spiffy-manage-links {
   display:block;
}
.spiffy .ca-desc-p, .spiffy .ca-location-p {
   display: block;
   margin-bottom: 10px;
}
.spiffy-expanded-event .spiffy-manage-links {
   clear: left;
}
.spiffy .spiffy-manage-links a {
    text-decoration: none;
   color: #ccc;
}
.spiffy a.spiffy-delete:hover {
    color: #c00;
}

.spiffy a.spiffy-edit:hover {
    color: #03A9F4;
}
@media screen and (max-width: 600px) {
   .spiffy.calendar-table {
   	table-layout: fixed;
   }
   .calnk-icon {
   	max-width: 100%;
   }
}

/* Big calendar toggled to list styles */
.spiffy.calendar-table.bigcal.spiffy-listed {
   border-collapse:collapse !important;
   border-spacing:0px !important;
}
.spiffy.calendar-table.bigcal.spiffy-listed tr {
   border:none;
}
td.calendar-toggle {
    text-align: right;
   font-size: .6em;
   border: none;
}
.spiffy.calendar-table.bigcal.spiffy-listed td.day-with-date, 
.spiffy.calendar-table.bigcal.spiffy-listed td.calendar-date-switcher,
.spiffy.calendar-table.bigcal.spiffy-listed td.calendar-toggle,
.spiffy.calendar-table.bigcal.spiffy-listed td.category-key {
   width:100%;
   display:block;
   height: auto;
   /* text-align: left !important; */
   padding: 3px !important;
   border-top: solid 1px rgba(255, 255, 255, .2) !important;
   box-sizing: border-box;
}
.spiffy.calendar-table.bigcal.spiffy-listed td.category-key {
   padding: 0 !important;
   margin-bottom: 2px !important;
}
.spiffy.calendar-table.bigcal.spiffy-listed td.spiffy-day-1 {
    border-top: none !important;
}
.spiffy.calendar-table.bigcal.spiffy-listed .weekday-titles, 
.spiffy.calendar-table.bigcal.spiffy-listed .day-without-date {
   display: none !important;
}
.spiffy-listed span.spiffy-month-name, .spiffy-listed span.day-number {
    font-size: 1.4em;
}
.spiffy.calendar-table.bigcal.spiffy-listed .calnk-link span.spiffy-popup {
    width: 100%;
   margin: 0;
    visibility: unset;
    position: relative;
    background: transparent;
    box-shadow: none;
    border: none;
   color: unset !important;
}
.spiffy.calendar-table.bigcal.spiffy-listed span.event-title-break {
    background: transparent !important;
}
.spiffy.calendar-table.bigcal.spiffy-listed .spiffy-event-group {
   padding: 0 !important;
   font-size: 1em;
}

.spiffy.bigcal.spiffy-listed tr > td.no-events,
.spiffy.bigcal.spiffy-listed .spiffy-title,
.spiffy.bigcal.spiffy-listed .calnk-time,
.spiffy.bigcal.spiffy-listed .calnk-icon,
.spiffy.bigcal.spiffy-listed br {
    display: none !important;
}

.spiffy.bigcal.spiffy-listed td {
    border: none !important;
}

.spiffy.bigcal.spiffy-listed span.spiffy-popup:before,
.spiffy.bigcal.spiffy-listed span.spiffy-popup:after
 {
    border:none;
    border-width: 0;
}

.spiffy.bigcal.spiffy-listed .calnk-link span span.event-title {
    text-align: unset;
   color: unset !important;
}

.spiffy.bigcal.spiffy-listed span.day-number {
    display: inline;
    padding-left: 6px;
}

.spiffy.bigcal.spiffy-listed span.spiffy-event-group {
    display: block;
    margin-top: 20px;
}

.spiffy.calendar-table.bigcal.spiffy-listed .calnk-link span.spiffy-popup a {
    /* color: unset !important; */
   border-top: none;
   padding-top: 0;
   margin-top: 0;
}

.spiffy-listed .calnk.spiffy-inactive,
.spiffy-listed .day-with-date.spiffy-inactive {
   display: none !important;
}

/* Expanded list styles */
.spiffy-list-Expanded ul {
   margin: 0 !important;
   list-style-type: none !important;
}
.widget .spiffy-list-Expanded ul{
   text-align: center;
}
.spiffy-event-details.spiffy-Expanded {
   margin-bottom: 20px;
}
.spiffy-list-Expanded .spiffy-upcoming-day {
    border-bottom: solid 1px #ccc;
    margin-bottom: 20px;
}
.spiffy-list-Expanded .spiffy-title {
   font-size: 1.2em;
}
.spiffy-list-Expanded .spiffy-upcoming-date {
   font-size: 1.1em;
    font-weight: bold;
    display: block;
    margin-bottom: 20px;
}
.spiffy-expanded-event .spiffy-author {
    display: block;
}

/* Grid list styles */
.spiffy-list-Columns {
    font-size: 100%;
}
.spiffy-list-Columns ul {
    display: flex;
   flex-flow: row wrap;
    list-style-type: none !important;
}
.spiffy-list-Columns ul li {
   list-style-type: none !important;
}
ul.spiffy.upcoming-events-list {
   margin: 0;
   padding: 0;
}

li.spiffy-event-details.spiffy-Columns {
   padding: 0;
}
.spiffy-list-Columns span.spiffy-img {
    width: 100%;
    padding: 0;
}
li.spiffy-event-details.spiffy-Columns {
   /* width: 28.5%; */ 
    margin: 1.5%;
    background: #efefef;
   color: #555;
}
li.spiffy-event-details.spiffy-Columns.spiffy-num4 {
   width: 20%;
}
li.spiffy-event-details.spiffy-Columns.spiffy-num3 {
   width: 28%;
}
li.spiffy-event-details.spiffy-Columns.spiffy-num2 {
   width: 44.7%;
}
li.spiffy-event-details.spiffy-Columns.spiffy-num1 {
   width: 100%;
}
@media all and ( max-width: 600px ) {
   li.spiffy-event-details.spiffy-Columns {
   	width: 100% !important;
   }
}
.spiffy-Columns span.spiffy-title-meta {
    display: block;
    font-size: 16px;
    text-transform: uppercase;
}
.spiffy-Columns span.spiffy-title-meta span.spiffy-column-date {
    display: block;
    width: 30px;
    float: left;
    margin-right: 10px;
   text-align: center;
   padding: 5px;
}
.spiffy-Columns span.spiffy-column-day-begin {
    font-size: 26px;
    display: block;
   font-weight: bold;
   line-height: 26px;
}
.spiffy-Columns span.spiffy-column-month-begin {
    display: block;
   font-size: 9px;
}
.spiffy-Columns span.spiffy-title {
    padding: 5px;
    display: block;
   font-weight: bold;
}
.spiffy-Columns span.spiffy-desc {
    width: 100%;
    box-sizing: border-box;	
    padding: 5px
}
.spiffy-Columns .spiffy-meta {
    margin-bottom: 1em;
    font-size: 13px;
    font-weight: bold;
    display: block;
    box-sizing: border-box;	
   padding: 5px;
}
.spiffy-Columns .spiffy-meta span {
    display: block;
    width: 100%;
   float: none;
   margin-top: 10px;
}

.spiffy-Columns img {
   width: 100%;
   margin-bottom: 10px;
}

a.spiffy-google-calendar-link {
    display: block;
    font-size: .8em;
    margin-top: 10px;
    opacity: .5;
   border-top: solid 1px #ccc;
    padding-top: 10px;
   clear: left;
}

a.spiffy-google-calendar-link:hover {
    opacity: 1;
}

.spiffy-expanded-event a.spiffy-google-calendar-link {
    border-top: none;
}

/* Misc */
.spiffy-meta {
    margin-bottom: 1em;
    font-size: 13px;
    font-weight: bold;
   display: block;
}
.page-upcoming-events .spiffy-img, .page-todays-events .spiffy-img {
   width: 30%;
   float: left;
   padding-right: 4px;
   padding-bottom: 4px;
}
.page-upcoming-events .spiffy-desc, .page-todays-events .spiffy-desc, .page-upcoming-events .spiffy-location, .page-todays-events .spiffy-location  {
   width: 67%;
   float: left;
}
.spiffy-link {
    margin-top: 20px;
   clear: left;
    float: left;
}
a.spiffy-button {
   text-align: center;
    border: 1px solid #BCCBD8;
    background-color: #CCDBE8;
    color: #404040;
}
a.spiffy-button:hover {
   color: #000;
    background-color: #BCCBD8;
    border-color: #aCbBc8;
}
.error-message {
   color: #dc3232; /* same as WP admin error message */
}

/* BEGIN NEW inserted by pjc 4/23 */

.calnk-link:hover span.spiffy-popup {
	position:absolute;
}

.normal-day-heading {
	font-size:0.8em;
	border:1px solid #DFE6DE;
	background-color:#E9E3C8;
}

calendar-date-switcher {
        border:1px solid #D6DED5; 
        background-color:#EFE7C1; 
}

span.spiffy-popup a {
  font-weight: 600;
  color: #135bb7; 
}

/*   END NEW inserted by pjc 4/23 */

/* Inserted by pjc: */


.widget li.spiffy-event-details {
   position: relative; /* Need this to be able to push the event time of day all the way to the right */
}

/* For todays and upcoming, shift the time of day to the right */ 
.spiffy-upcoming-day .shiftright-time-of-day, .todays-events-list .shiftright-time-of-day {
    position:absolute; 
    right: 27px;
}

/* These are overriding in whole or in part or adding new settings */
.calendar-date-switcher, .calendar-heading { height:25px; text-align:center; border:1px solid #D6DED5; background-color:#EFE7C1; }
.weekend-heading { font-size:0.8em; border:1px solid #DFE6DE; background-color:#E9E3C8; color:#006600; }
.calnk { margin-bottom: 6px;  padding: 2px;  border-bottom: 1px dotted #000 }
.current-day { border:1px solid #BFBFBF; background-color:#EFE7C1; }
/* END overriding in whole or in part or adding new */

/* BEGIN New blocks here 4/23 */
.calendar-page-wrap {    background: #fff; }
.page-header {margin-bottom: 0;}
.spiffy-upcoming-day {
     border-bottom:  2px dotted #ccc;
}
.spiffy-upcoming-date {
      font-size: 75%;
}
.spiffy-event-details {
   font: 85% Arial, Helvetica;
}
.spiffy-event-details p {
      padding-left: 25px;
}
.mh-sidebar .widget_spiffy_upcoming_widget  li,   .mh-sidebar .widget_spiffy_today_widget  li {
   padding:  0 8px 0 12px;
   background:url(../images/sub.png) no-repeat 0 0px;
   }
/*   END New blocks here 4/23 */

/*These next 2 are for the printable calendar*/
.spiffy-list-Columns   span.spiffy-img {
    width: 40%;
    padding: 10px 30% 0 30%;
    background-color: #cfd8df;
}

.printcal-title {
    font-weight: bold;
    font-size: 22px;
    padding-left: 5%;
}

.spiffy-title { 
    font-size: 14px;  /* Needed 4 mobile */
}
/* This is ONLY for the "Expanded View" version of spiffy calendar */
.spiffy-list-Expanded .spiffy-desc {
   font-size: 1.6em;
}

.spiffy-list-Expanded .spiffy-title {
   font-size: 2.2em;
   font-weight: 550;
   text-decoration: underline;
   text-decoration-thickness: 4px;
}

.page-upcoming-events .spiffy-img, .page-todays-events .spiffy-img {
  width: 23%;
}

.events-list-button {
  margin: 3px 10px;
  width: 180px;
  background:linear-gradient(to bottom, #eae0c2 5%, #ab9b70 100%);		
  border: gray 2px solid;
  border-radius: 12px;
  text-align: center;
  padding: 1px 2px;
  float: right;
}

#el-button {
  color: #393d3e;
  font-size: 14px;
  font-weight: 800;
}

#el-button:hover {
  color: green;
  opacity: 0.7; 
}

#el-button:active {
  opacity: 0.5; 
}

.calendar-page-wrap p:first-child {
    margin-bottom: 0.3rem;
}

.page-todays-events li.spiffy-event-details, .page-upcoming-events li.spiffy-event-details {
    border: 2px solid #826B5F;
    border-radius: 6px;
    padding: 4px  6px;
}

.spiffy-event-bar, .page-upcoming-events .spiffy-upcoming-date {
    background-color: #97867C;
    color: white;
    font-weight: bold;
    font-size: 1.4em;  
    padding-left: 20px;
}

.calendar-toggle .calendar-toggle-button {
    margin: 3px 10px;
    width: 90px;
    background: linear-gradient(to bottom, #eae0c2 5%, #ab9b70 100%);
    border: gray 2px solid;
    border-radius: 12px;
    text-align: center;
    padding: 1px 2px;
    float: right;
    color: #393d3e;
    font-size: 14px;
    font-weight: 800;
}

