.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%; width: 100%; }
.calnk-link .calnk-box .spiffy-title, .calnk-link .calnk-box .calnk-time {
border-bottom: 1px dotted #ccc;
} .calnk-link span.spiffy-popup { 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; margin-top:1px; 
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-link:hover span.spiffy-popup {
position:absolute;
}
.calnk-link:hover span span { }
.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; 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; }
.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 { }
.page-todays-events { }
.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; 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%;
}
} .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; 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,
.spiffy.calendar-table.bigcal.spiffy-listed span.event-content-break {
background: transparent !important;
}
.spiffy.calendar-table.bigcal.spiffy-listed .calnk .spiffy-popup img {
margin: unset !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 { border-top: none;
padding-top: 0;
margin-top: 0;
}
.spiffy-listed .calnk.spiffy-inactive,
.spiffy-listed .day-with-date.spiffy-inactive {
display: none !important;
} .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;
} .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: 30%;
margin: 1.5%;
background: #efefef;
color: #555;
}
li.spiffy-event-details.spiffy-Columns.spiffy-num4 {
width: 22%;
}
li.spiffy-event-details.spiffy-Columns.spiffy-num2 {
width: 47%;
}
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;
} .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; }
p.spiffy-recurs {
font-style: italic;
}
p.spiffy-cats {
margin-top: 10px;
}
.single-spiffy_event .attachment-post-thumbnail, .single-spiffy_event .wp-block-post-featured-image {
display: none;
}