/*
ICS Calendar front end styles
https://icscalendar.com
*/

@keyframes r34icsInfiniteRotate {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}


.ics-calendar {
	clear: both;
	display: block;
	margin: 1.5em 0;
}
.ics-calendar:first-child { margin-top: 0; }

	.ics-calendar * { box-sizing: border-box; }
	
	.ics-calendar.r34ics_compact { font-size: 85%; }
	.ics-calendar.r34ics_compact h3, .ics-calendar.r34ics_compact h4 { font-size: 100%; }

	.ics-calendar .phone_only { display: none; }

	.ics-calendar-error { font-style: italic; }

	.ics-calendar.current_week_only tbody tr { display: none; }
	.ics-calendar.current_week_only tbody tr.current-week { display: table-row; }
	
	.ics-calendar .hidden { display: none !important; }
	
	.ics-calendar .events {
		overflow: visible;
	}
	
		.ics-calendar dl.events { margin: 0 0 1.5rem 0; }
		.ics-calendar dl.events dt, .ics-calendar dl.events dd { margin: 0; }
		
		.ics-calendar.r34ics_compact dl.events {
			display: grid;
			grid-template-columns: 10em calc(100% - 10em);
		}
		.ics-calendar.r34ics_compact dl.events dt {
			grid-column: 1;
			margin: 0 !important;
			padding: 2px 10px 2px 0 !important;
			vertical-align: top;
		}
		.ics-calendar.r34ics_compact dl.events dt[data-feed-color*='rgb'] {
			padding: 2px 10px 2px 5px !important;
		}
		.ics-calendar.r34ics_compact dl.events dd {
			grid-column: 1 / span 2;
			margin: 0 !important;
			padding: 2px 0 !important;
			vertical-align: top;
		}
		.ics-calendar.r34ics_compact dl.events dd[data-feed-color*='rgb'] {
			padding: 2px 5px 2px 0 !important;
		}
		.ics-calendar.r34ics_compact dl.events dt + dd,
		.ics-calendar.r34ics_compact dl.events dd + dd
		/* , .ics-calendar.r34ics_compact dl.events dd:first-child */
		{
			border-left: none !important;
			grid-column: 2;
		}
		
		.ics-calendar dl.events dt.time {
			font-weight: bold;
			padding-top: 0.5rem;
		}
		.ics-calendar dl.events dd.event { font-weight: normal; }

		.ics-calendar .events .time {
			/*cursor: help;*/
		}
		.ics-calendar .events .time .end_time {
			display: inline-block;
			font-size: 90%;
			font-weight: normal;
		}
		.ics-calendar .events .time .show_on_hover {
			visibility: hidden;
		}
		.ics-calendar .events .time:hover .show_on_hover { visibility: visible; }
		.ics-calendar.hide_times .events .time, .ics-calendar.hide_times .events .time-inline { display: none !important; }

		.ics-calendar.r34ics_toggle .events .title.has_desc, .ics-calendar .events .eventdesc *[title] { cursor: pointer; }
		
		.ics-calendar .events .title.cancelled { text-decoration: line-through; }
	
		.ics-calendar .event {
			position: relative;
			z-index: 1;
		}
		.ics-calendar .event:hover {
			z-index: 2;
		}
		
			/* Source:  https://kenneth.io/blog/2012/03/04/word-wrapping-hypernation-using-css/ */
			.ics-calendar .event * {
				-ms-word-break: break-all;
				word-break: break-all;
				word-break: break-word;
				-webkit-hyphens: auto;
				-moz-hyphens: auto;
				-ms-hyphens: auto;
				hyphens: auto;
			}

			.ics-calendar .event .descloc {
				display: block;
				font-size: 85%;
				font-weight: normal;
				line-height: 1.5em;
			}
			
				.ics-calendar .event .descloc * {
					font-size: 100%;
					letter-spacing: 0;
					line-height: 1.5em;
					text-align: left;
				}

			.ics-calendar.r34ics_toggle .event .descloc {
				display: none;
			}
	
			.ics-calendar.r34ics_toggle .event.open .descloc {
				display: block;
			}
			
			.ics-calendar .event .descloc div {
				margin: 0 0 0.5em 0;
			}
			
			.ics-calendar .event .descloc .attach, .ics-calendar .event .descloc .attach div {
				margin: 0.5em 0;
			}
			
			.ics-calendar .event .descloc .attach_float {
				float: right;
				margin: 0 0 1em 1em;
				max-width: 40%;
				position: relative;
			}
			
			.ics-calendar .event .descloc .attach_float img {
				display: block;
				height: auto;
				max-width: 100%;
				width: auto;
			}
			
			.ics-calendar .event .descloc .organizer_email {
				background: transparent url('icon-mail.svg') left center no-repeat;
				background-size: 10px 10px;
				display: block;
				padding-left: 14px;
			}
		
		.ics-calendar .event_status {
			display: block;
		}
		
			.ics-calendar .event_status.event_status_cancelled {
				font-size: 85%;
				font-weight: bold;
				text-transform: uppercase;
			}
		
	.ics-calendar-title { }
	
	.ics-calendar-description { }
	
	.ics-calendar-select {
		color: #000000; /* Resolves issues in some browsers when site has default text color set to white */
		float: right;
		font-size: 80%;
		margin: 0.5em 0 0.5em 0.5em;
		max-width: 200px;
		min-width: 200px;
		position: relative;
		width: 200px;
		z-index: 2;
	}
	
	.ics-calendar-arrow-nav {
		clear: both;
		display: block;
		margin: 0;
	}
	.ics-calendar-arrow-nav:after { clear: both; content: ''; display: table; }
	
		.ics-calendar-arrow-nav > * { margin: 0.5em 0; -moz-user-select: none; -webkit-user-select: none; user-select: none; }
		.ics-calendar-arrow-nav > *.inactive { opacity: 0.25; cursor: not-allowed !important; }
		.ics-calendar-arrow-nav > .prev { cursor: w-resize; float: left; }
		.ics-calendar-arrow-nav > .next { cursor: e-resize; float: right; }
			
	.ics-calendar-list-wrapper {
		position: relative;
		z-index: 1;
	}
	
		.ics-calendar-list-wrapper .ics-calendar-label {
			margin: 0.5em 0 0.25em 0 !important; /* Needs !important because of general .ics-calendar-label properties */
		}

		.ics-calendar-list-wrapper .ics-calendar-date {
			margin: 0.5em 0 0.25em 0;
		}

		.ics-calendar-list-wrapper .desclog_toggle { }
			.ics-calendar-list-wrapper .descloc_toggle_excerpt { /*cursor: help;*/ display: block; }
			.ics-calendar-list-wrapper .descloc_toggle_full { display: none; }
		
		.ics-calendar-list-wrapper .events .sublabel {
			display: block;
			font-size: 75%;
			font-weight: normal;
			line-height: 1.5em;
		}

		.ics-calendar-list-wrapper .event {
			clear: both;
		}
	
		.ics-calendar-list-wrapper .time-inline {
			display: inline-block;
			font-size: 70%;
			font-weight: normal;
		}
	
	.ics-calendar-month-wrapper {
		position: relative;
		z-index: 1;
	}
	
		.ics-calendar-label {
			clear: none !important;
			margin: 0 !important;
		}
		
		.ics-calendar-month-grid {
			background-color: #ffffff;
			border-collapse: collapse;
			line-height: 1.5em;
			margin: 0.5em 0;
			table-layout: fixed;
			width: 100%;
		}
		.ics-calendar.whitetext .ics-calendar-month-grid {
			background-color: #000000;
		}
		
			.ics-calendar-month-grid th, .ics-calendar-month-grid td {
				border: 1px solid #a9a9a9;
				font-size: 70%;
				overflow: visible;
				padding: 0;
				/*position: relative;*/
				text-align: left;
				vertical-align: top;
				width: auto;
				z-index: 1;
			}
			.ics-calendar-month-grid th:hover, .ics-calendar-month-grid td:hover {
				position: relative;
				z-index: 2;
			}

			.ics-calendar-month-grid th {
				background: #a9a9a9;
				color: #000000;
				padding: 0.5em 0.8em 0.2em 0.8em;
				text-align: center;
				text-transform: uppercase;
			}
			.ics-calendar.whitetext .ics-calendar-month-grid th {
				background: #696969;
			}

			.ics-calendar-month-grid th.week-number {
				width: 2em !important;
				padding: 0.2em 0;
				text-align: center;
			}
						
			.ics-calendar-month-grid td {
				height: 9em; /* Remember min-height doesn't work on tables; height works equivalently */
			}
			
			.ics-calendar-month-grid .day {
				background: #f5f5f5;
				font-weight: bold;
				padding: 0.2em 0.8em;
			}
			.ics-calendar.whitetext .ics-calendar-month-grid .day {
				background: #696969;
			}
						
			.ics-calendar-month-grid .off {
				background: #f5f5f5;
				color: rgb(153,153,153) !important;
			}
			.ics-calendar.whitetext .ics-calendar-month-grid .off {
				background: #696969;
			}
			
			.ics-calendar-month-grid .past {
				background: #f5f5f5;
			}
			.ics-calendar.whitetext .ics-calendar-month-grid .past {
				background: #696969;
			}
			
			.ics-calendar-month-grid .today .day {
				background: #808080;
				color: #ffffff;
			}
			.ics-calendar.whitetext .ics-calendar-month-grid .today .day {
				background: #000000;
			}
			
			.ics-calendar-month-grid ul.events {
				list-style: none !important;
				margin: 0;
				padding: 0;
			}
			
				.ics-calendar-month-grid ul.events li {
					border-bottom: 1px solid #dcdcdc;
					list-style: none !important;
					margin: 0;
					padding: 0.4em 0.8em;
				}
				.ics-calendar-month-grid ul.events li.all-day {
					font-weight: bold;
					padding: 0.4em 0.8em;
				}
				.ics-calendar-month-grid ul.events > li:last-of-type { border-bottom: 0; }
				
					.ics-calendar-month-grid .events .all-day-indicator {
						display: block;
						font-size: 80%;
						font-weight: normal;
						line-height: 1.5em;
						text-transform: uppercase;
					}
			
					.ics-calendar-month-grid .events .time {
						display: block;
						font-size: 90%;
						font-weight: bold;
						line-height: 1.5em;
					}
				
					.ics-calendar-month-grid .events .title {
						display: block;
						line-height: 1.5em;
					}
				
					.ics-calendar-month-grid .events .sublabel {
						display: block;
						font-size: 60%;
						font-weight: normal;
						line-height: 1.5em;
						text-transform: uppercase;
					}

	.ics-calendar-week-wrapper {
		position: relative;
		z-index: 1;
	}

	.ics-calendar-color-key {
		clear: both;
		display: block;
		font-size: 85%;
		margin: 0 0 1.5em 0;
	}
		
		.ics-calendar-color-key-header, .ics-calendar-color-key-item {
			border-left: 4px solid transparent;
			line-height: 2em;
			padding: 0.1em 0.5em;
		}
		
		.ics-calendar-color-key.inline .ics-calendar-color-key-item {
			display: inline-block;
		}
		
			.ics-calendar-color-key-header label, .ics-calendar-color-key-item label {
				margin: 0;
			}
			
				.ics-calendar-color-key-header label input[type=checkbox], .ics-calendar-color-key-item label input[type=checkbox] {
					vertical-align: baseline;
				}

.ics-calendar table tbody tr {
	background: transparent !important; /* Override possible theme alternating row colors */
}

.ics-calendar.whitetext *:not(select) {
	color: white !important;
}

.r34ics-hidden-on-load { display: none; }

.r34ics_event_ics_download {
	background: transparent url('data:image/svg+xml;base64,PHN2ZyBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjIiIHZpZXdCb3g9IjAgMCA2MDIgNTg1IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im0yMTYtMjBjLTI0LjM4MyAwLTQ0IDE5LjYxNy00NCA0NHYxNDhoLTY3LjhjLTM1LjYyNyAwLTUzLjQ2MSA0My4wMjMtMjguMjQyIDY4LjI0MmwxNTIuMzA1IDE1Mi4yMDVjMTUuMjY1IDE1LjI2NiA0MC4zMDkgMTUuMjY2IDU1LjU3OS0uMDA1bDE1Mi4xMDUtMTUyLjIwNWMyNS4yMTQtMjUuMjE0IDcuMzgtNjguMjM3LTI4LjI0Ny02OC4yMzdoLTY3Ljd2LTE0OGMwLTI0LjM4My0xOS42MTctNDQtNDQtNDR6bTAgMjBoODBjMTMuMyAwIDI0IDEwLjcgMjQgMjR2MTY4aDg3LjdjMTcuOCAwIDI2LjcgMjEuNSAxNC4xIDM0LjFsLTE1Mi4xIDE1Mi4yYy03LjUgNy41LTE5LjggNy41LTI3LjMgMGwtMTUyLjMtMTUyLjJjLTEyLjYtMTIuNi0zLjctMzQuMSAxNC4xLTM0LjFoODcuOHYtMTY4YzAtMTMuMyAxMC43LTI0IDI0LTI0eiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDQuNzIxNCA0NC43MjE0KSIvPjxwYXRoIGQ9Im01MzIgMzc2YzAtMjQuMzgzLTE5LjYxNy00NC00NC00NGgtMTU0Ljk4NGwtNTQuODU4IDU0Ljg1OGMtMTIuMjY5IDEyLjI2OS0zMi4wNDcgMTIuMjY5LTQ0LjMxNiAwIDAgMC01NC44NTgtNTQuODU4LTU0Ljg1OC01NC44NThoLTE1NC45ODRjLTI0LjM4MyAwLTQ0IDE5LjYxNy00NCA0NHYxMTJjMCAyNC4zODMgMTkuNjE3IDQ0IDQ0IDQ0aDQ2NGMyNC4zODMgMCA0NC0xOS42MTcgNDQtNDR6bS0yMCAwdjExMmMwIDEzLjMtMTAuNyAyNC0yNCAyNGgtNDY0Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHYtMTEyYzAtMTMuMyAxMC43LTI0IDI0LTI0aDE0Ni43bDQ5IDQ5YzIwLjEgMjAuMSA1Mi41IDIwLjEgNzIuNiAwbDQ5LTQ5aDE0Ni43YzEzLjMgMCAyNCAxMC43IDI0IDI0em0tNjAgODhjMC0xMS05LTIwLTIwLTIwcy0yMCA5LTIwIDIwIDkgMjAgMjAgMjAgMjAtOSAyMC0yMHoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ0LjcyMTQgMjcuNzIxNCkiLz48L3N2Zz4=') center center no-repeat;
	background-size: contain;
	border: none;
	cursor: pointer;
	display: inline-block;
	height: 16px;
	overflow: hidden;
	position: relative;
	text-indent: -999px;
	vertical-align: middle;
	width: 16px;
}
.ics-calendar.whitetext .r34ics_event_ics_download {
	background-image: url('data:image/svg+xml;base64,PHN2ZyBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjIiIHZpZXdCb3g9IjAgMCA2MDIgNTg1IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Im0yMTYtMjBjLTI0LjM4MyAwLTQ0IDE5LjYxNy00NCA0NHYxNDhoLTY3LjhjLTM1LjYyNyAwLTUzLjQ2MSA0My4wMjMtMjguMjQyIDY4LjI0MmwxNTIuMzA1IDE1Mi4yMDVjMTUuMjY1IDE1LjI2NiA0MC4zMDkgMTUuMjY2IDU1LjU3OS0uMDA1bDE1Mi4xMDUtMTUyLjIwNWMyNS4yMTQtMjUuMjE0IDcuMzgtNjguMjM3LTI4LjI0Ny02OC4yMzdoLTY3Ljd2LTE0OGMwLTI0LjM4My0xOS42MTctNDQtNDQtNDR6bTAgMjBoODBjMTMuMyAwIDI0IDEwLjcgMjQgMjR2MTY4aDg3LjdjMTcuOCAwIDI2LjcgMjEuNSAxNC4xIDM0LjFsLTE1Mi4xIDE1Mi4yYy03LjUgNy41LTE5LjggNy41LTI3LjMgMGwtMTUyLjMtMTUyLjJjLTEyLjYtMTIuNi0zLjctMzQuMSAxNC4xLTM0LjFoODcuOHYtMTY4YzAtMTMuMyAxMC43LTI0IDI0LTI0eiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDQuNzIxNCA0NC43MjE0KSIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Im01MzIgMzc2YzAtMjQuMzgzLTE5LjYxNy00NC00NC00NGgtMTU0Ljk4NGwtNTQuODU4IDU0Ljg1OGMtMTIuMjY5IDEyLjI2OS0zMi4wNDcgMTIuMjY5LTQ0LjMxNiAwIDAgMC01NC44NTgtNTQuODU4LTU0Ljg1OC01NC44NThoLTE1NC45ODRjLTI0LjM4MyAwLTQ0IDE5LjYxNy00NCA0NHYxMTJjMCAyNC4zODMgMTkuNjE3IDQ0IDQ0IDQ0aDQ2NGMyNC4zODMgMCA0NC0xOS42MTcgNDQtNDR6bS0yMCAwdjExMmMwIDEzLjMtMTAuNyAyNC0yNCAyNGgtNDY0Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHYtMTEyYzAtMTMuMyAxMC43LTI0IDI0LTI0aDE0Ni43bDQ5IDQ5YzIwLjEgMjAuMSA1Mi41IDIwLjEgNzIuNiAwbDQ5LTQ5aDE0Ni43YzEzLjMgMCAyNCAxMC43IDI0IDI0em0tNjAgODhjMC0xMS05LTIwLTIwLTIwcy0yMCA5LTIwIDIwIDkgMjAgMjAgMjAgMjAtOSAyMC0yMHoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ0LjcyMTQgMjcuNzIxNCkiLz48L3N2Zz4=');
}
.r34ics_event_ics_download.loading {
	animation: r34icsInfiniteRotate 2s linear infinite;
	background-image: url('data:image/svg+xml;base64,PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9jdXNhYmxlPSJmYWxzZSIgZGF0YS1wcmVmaXg9ImZhcyIgZGF0YS1pY29uPSJzcGlubmVyIiBjbGFzcz0ic3ZnLWlubGluZS0tZmEgZmEtc3Bpbm5lciBmYS13LTE2IiByb2xlPSJpbWciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTMwNCA0OGMwIDI2LjUxLTIxLjQ5IDQ4LTQ4IDQ4cy00OC0yMS40OS00OC00OCAyMS40OS00OCA0OC00OCA0OCAyMS40OSA0OCA0OHptLTQ4IDM2OGMtMjYuNTEgMC00OCAyMS40OS00OCA0OHMyMS40OSA0OCA0OCA0OCA0OC0yMS40OSA0OC00OC0yMS40OS00OC00OC00OHptMjA4LTIwOGMtMjYuNTEgMC00OCAyMS40OS00OCA0OHMyMS40OSA0OCA0OCA0OCA0OC0yMS40OSA0OC00OC0yMS40OS00OC00OC00OHpNOTYgMjU2YzAtMjYuNTEtMjEuNDktNDgtNDgtNDhTMCAyMjkuNDkgMCAyNTZzMjEuNDkgNDggNDggNDggNDgtMjEuNDkgNDgtNDh6bTEyLjkyMiA5OS4wNzhjLTI2LjUxIDAtNDggMjEuNDktNDggNDhzMjEuNDkgNDggNDggNDggNDgtMjEuNDkgNDgtNDhjMC0yNi41MDktMjEuNDkxLTQ4LTQ4LTQ4em0yOTQuMTU2IDBjLTI2LjUxIDAtNDggMjEuNDktNDggNDhzMjEuNDkgNDggNDggNDggNDgtMjEuNDkgNDgtNDhjMC0yNi41MDktMjEuNDktNDgtNDgtNDh6TTEwOC45MjIgNjAuOTIyYy0yNi41MSAwLTQ4IDIxLjQ5LTQ4IDQ4czIxLjQ5IDQ4IDQ4IDQ4IDQ4LTIxLjQ5IDQ4LTQ4LTIxLjQ5MS00OC00OC00OHoiPjwvcGF0aD48L3N2Zz4=');
}
.ics-calendar.whitetext .r34ics_event_ics_download.loading {
	background-image: url('data:image/svg+xml;base64,PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9jdXNhYmxlPSJmYWxzZSIgZGF0YS1wcmVmaXg9ImZhcyIgZGF0YS1pY29uPSJzcGlubmVyIiBjbGFzcz0ic3ZnLWlubGluZS0tZmEgZmEtc3Bpbm5lciBmYS13LTE2IiByb2xlPSJpbWciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0zMDQgNDhjMCAyNi41MS0yMS40OSA0OC00OCA0OHMtNDgtMjEuNDktNDgtNDggMjEuNDktNDggNDgtNDggNDggMjEuNDkgNDggNDh6bS00OCAzNjhjLTI2LjUxIDAtNDggMjEuNDktNDggNDhzMjEuNDkgNDggNDggNDggNDgtMjEuNDkgNDgtNDgtMjEuNDktNDgtNDgtNDh6bTIwOC0yMDhjLTI2LjUxIDAtNDggMjEuNDktNDggNDhzMjEuNDkgNDggNDggNDggNDgtMjEuNDkgNDgtNDgtMjEuNDktNDgtNDgtNDh6TTk2IDI1NmMwLTI2LjUxLTIxLjQ5LTQ4LTQ4LTQ4UzAgMjI5LjQ5IDAgMjU2czIxLjQ5IDQ4IDQ4IDQ4IDQ4LTIxLjQ5IDQ4LTQ4em0xMi45MjIgOTkuMDc4Yy0yNi41MSAwLTQ4IDIxLjQ5LTQ4IDQ4czIxLjQ5IDQ4IDQ4IDQ4IDQ4LTIxLjQ5IDQ4LTQ4YzAtMjYuNTA5LTIxLjQ5MS00OC00OC00OHptMjk0LjE1NiAwYy0yNi41MSAwLTQ4IDIxLjQ5LTQ4IDQ4czIxLjQ5IDQ4IDQ4IDQ4IDQ4LTIxLjQ5IDQ4LTQ4YzAtMjYuNTA5LTIxLjQ5LTQ4LTQ4LTQ4ek0xMDguOTIyIDYwLjkyMmMtMjYuNTEgMC00OCAyMS40OS00OCA0OHMyMS40OSA0OCA0OCA0OCA0OC0yMS40OSA0OC00OC0yMS40OTEtNDgtNDgtNDh6Ij48L3BhdGg+PC9zdmc+');
}

.r34ics_lightbox {
	display: none;
	position: fixed; top: 0; right: 0; bottom: 0; left: 0;
	z-index: -1;
}
.r34ics_lightbox.open {
	background: rgba(0,0,0,0.5);
	display: block;
	z-index: 999999;
}

	.r34ics_lightbox .r34ics_lightbox_close {
		background-color: #191919;
		border-radius: 100%;
		color: #ffffff;
		cursor: pointer;
		font-size: 28px;
		height: 44px;
		line-height: 40px;
		position: absolute; top: calc(10% - 22px); right: calc(10% - 22px); bottom: auto; left: auto;
		text-align: center;
		width: 44px;
		z-index: 2;
	}

	.r34ics_lightbox .r34ics_lightbox_content {
		background: #ffffff;
		color: #000000;
		box-shadow: 3px 3px 9px rgba(0,0,0,0.2);
		overflow-x: hidden;
		overflow-y: auto;
		padding: 1.5em;
		position: absolute; top: 10%; right: 10%; bottom: 10%; left: 10%;
		z-index: 1;
	}
	
		.r34ics_lightbox .r34ics_lightbox_content .title_in_hover_block {
			font-size: 150%;
			font-weight: bold;
			margin-bottom: 0.5em;
		}
		
		.r34ics_lightbox .r34ics_lightbox_content .date_in_hover_block {
			font-size: 120%;
			font-weight: 500;
			margin-bottom: 0.5em;
		}
		
		.r34ics_lightbox .r34ics_lightbox_content .time_in_hover_block {
			font-size: 120%;
			font-weight: 500;
			margin-bottom: 0.5em;
		}


/* Non-phone breakpoint */
@media screen and (min-width: 783px) {

	.ics-calendar .event .hover_block {
		background: #ffffff;
		border: 1px solid #a9a9a9;
		box-shadow: 2px 2px 5px rgba(25,25,25,0.1);
		display: none;
		padding: 0.4em 0.6em;
		position: absolute; top: 2em; left: 3em;
	}
	.ics-calendar.whitetext .event .hover_block {
		background: #000000;
	}
	/* [data-month-table-list-toggle=list] is a Pro feature */
	.ics-calendar:not([data-month-table-list-toggle=list]) .event .hover_block {
		max-height: 30em;
		max-width: 25em;
		min-width: 15em;
		overflow-y: auto;
		width: 250%;
	}
	.ics-calendar td:last-child:not(:first-child) .event .hover_block {
		left: 3em;
	}
	.ics-calendar td:last-child:not(:first-child) .event .hover_block,
	.ics-calendar td:nth-of-type(n+5) .event .hover_block
	{
		right: 3em; left: auto;
	}
	.ics-calendar tbody tr:nth-of-type(n+3) td .event .hover_block {
		top: auto; bottom: 1em;
	}
	.ics-calendar .event .has_desc:hover ~ .hover_block, .ics-calendar .event .hover_block:hover {
		display: block !important;
	}
	
	.ics-calendar .hover_block .title_in_hover_block, .ics-calendar .hover_block .time_in_hover_block {
		display: block;
		font-weight: bold;
	}
	
	.ics-calendar .hover_block .title_in_hover_block {
		font-size: 125%;
	}

	/* Special formatting for monthnav="compact" */
	.ics-calendar.monthnav-compact .ics-calendar-label { display: none; }
	.ics-calendar.monthnav-compact .ics-calendar-select {
		 float: none;
		 left: 50%;
		 transform: translateX(-50%);
		 top: -3em;
	}
	.ics-calendar.monthnav-compact .ics-calendar-month-wrapper {
		 margin-top: -1.5em;
	}
	
}


/* Tablet breakpoint */
@media screen and (max-width: 1024px) {

	.ics-calendar-month-grid td {
		height: 7.5em; /* Remember min-height doesn't work on tables; height works equivalently */
	}

}


/* Phone breakpoint */
@media screen and (max-width: 782px) {

	body:not(#tinymce) .ics-calendar:not(.nomobile) .no_phone { display: none !important; }
	body:not(#tinymce) .ics-calendar.nomobile .no_phone:not(.hidden):not(.no_phone_important) { display: inherit !important; }
	body:not(#tinymce) .ics-calendar:not(.nomobile) .phone_only:not(.hidden) { display: inherit !important; }
	body:not(#tinymce) .ics-calendar:not(.nomobile) .phone_only.inline_block:not(.hidden) { display: inline-block !important; }

	.ics-calendar-select {
		float: none;
		margin-bottom: 1em;
		width: 100%;
	}
	
	.ics-calendar:not(.nomobile) .ics-calendar-month-grid { margin-bottom: 1.5em; }

	.ics-calendar:not(.nomobile) .ics-calendar-month-grid,
	.ics-calendar:not(.nomobile) .ics-calendar-month-grid tbody,
	.ics-calendar:not(.nomobile) .ics-calendar-month-grid tr,
	.ics-calendar:not(.nomobile) .ics-calendar-month-grid th,
	.ics-calendar:not(.nomobile) .ics-calendar-month-grid td
	{
		border: none;
		display: block;
		font-size: 100%;
		width: 100%;
	}
	
	.ics-calendar:not(.nomobile) .ics-calendar-month-grid tr.previous-week,
	.ics-calendar:not(.nomobile) .ics-calendar-month-grid tr.next-week
	{
		display: none;
	}
	
	.ics-calendar:not(.nomobile) .ics-calendar-month-grid thead,
	.ics-calendar:not(.nomobile) .ics-calendar-month-grid th.week-number,
	.ics-calendar:not(.nomobile) .ics-calendar-month-grid .off,
	.ics-calendar:not(.nomobile):not(.show-past-events) .ics-calendar-month-grid .past,
	.ics-calendar.layout-month:not(.nomobile):not(.show-past-events) .past,
	.ics-calendar:not(.nomobile) .ics-calendar-month-grid .empty
	{ display: none; }

	.ics-calendar:not(.show-past-events):not(.month_list_all) .ics-calendar-month-wrapper.past .past.has_events
	{ display: block !important; }
	
	.ics-calendar:not(.nomobile) .ics-calendar-month-grid .day {
		padding: 0.5em 0.8em;
	}

	.ics-calendar:not(.nomobile) .ics-calendar-month-grid .day * { display: inline-block !important; }
	
	.ics-calendar:not(.nomobile) .ics-calendar-month-grid td { height: auto; }
	
	.ics-calendar:not(.nomobile) .ics-calendar-month-grid ul.events li { border-bottom: none; }

	.ics-calendar:not(.nomobile) .ics-calendar-month-grid .events .all-day-indicator { font-size: 75%; }

	.ics-calendar:not(.nomobile) .ics-calendar-month-grid .events .time { font-size: 100%; }
	
	.ics-calendar:not(.nomobile) .ics-calendar-month-grid .events .time .show_on_hover { visibility: visible; }

	.ics-calendar:not(.nomobile) .ics-calendar-month-grid .events .title { font-size: 100%; }

	.ics-calendar:not(.nomobile) .ics-calendar-month-grid .events .sublabel { font-size: 75%; }

	.ics-calendar-month-grid td {
		height: 6em; /* Remember min-height doesn't work on tables; height works equivalently */
	}

	/* Special formatting for monthnav="compact" */
	.ics-calendar.monthnav-compact .ics-calendar-label { display: none; }
	
	/* Don't show day-of-week in grid if .nomobile is on! */
	.ics-calendar.nomobile .ics-calendar-month-grid .events .day > .phone_only { display: none; }
	
	.ics-calendar:not(.nomobile) .hover_block .title_in_hover_block,
	.ics-calendar:not(.nomobile) .hover_block .time_in_hover_block { display: none; }

	.ics-calendar-color-key { max-width: 100%; }

}


/* Print */
@media print {

	.ics-calendar input, .ics-calendar select, .ics-calendar textarea,
	.ics-calendar .button.subscribe, .ics-calendar .descloc
	{
		display: none !important;
	}
	
	.ics-calendar table th, .ics-calendar table td {
		background: white !important;
		border: 1px solid #999999 !important;
	}

	.ics-calendar table th *, .ics-calendar table td * {
		background: white !important;
		border: none !important;
		color: black !important;
	}

}
