body.modal_active {
	overflow: hidden;
}

#calendarHeaderLarge {
	display: none;
}

svg.icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  stroke-width: 0;
  stroke: currentColor;
  fill: currentColor;
}

/* calendar and filters */
.calendar_filters_container {
	position: relative;
	overflow: hidden;
	font-variant-numeric: lining-nums;
	-o-font-feature-settings: 'liga' 1, 'kern', 'lnum'; /* FF old */
    -ms-font-feature-settings: 'liga' 1, 'kern', 'lnum';
    -webkit-font-feature-settings: 'liga' 1, 'kern', 'lnum';
    font-feature-settings: 'liga' 1, 'kern', 'lnum';
}

	/* !FILTERS */
	.calendar_filters_container .filter_container {
		float: left;
		padding: 3em 0;
		width: 30%;
		min-height: 100%;
		
		box-sizing: border-box;
	}
	
		.filter_group_container {
			position: relative;
/* 			width: 80%; */
			margin: 0 auto 2em;
		}
		
			.filter_header {
				color: #1a75bc;
				font-size: 18px;
				text-transform: uppercase;
				white-space: nowrap;
				cursor: pointer;
			}
				
				.filter_header > span {
					display: inline-block;
					vertical-align: middle;
				}
				
				.filter_header .icon-add,
				.filter_header .icon-subtract {
					
				}
			
				.filter_header .header_collapse {
					display: none;
				}
				
					.filter_group_container.active .filter_header .header_collapse {
						display: inline-block;
					}

					.filter_group_container.active .filter_header .header_expand {
						display: none;
					}
				
				.filter_header .header_text {
					display: inline-block;
				}
				
					.filter_header .header_text .filter_type {
						font-weight: bold;
					}
			
			.filter_body {
				position: relative;
				padding-top: 1em;
				padding-left: 2.7em;
				display: none;
			}
			
				.filter_group_container.active .filter_body {
					display: block;
				}
			
				.filter_body .filter_option {
					position: relative;
					padding-left: 30px;
					margin-bottom: .75em;
					font-size: 16px;
					line-height: 20px;
					display: block;
					cursor: pointer;
				}
				
					.filter_body .filter_option input[type="checkbox"] {
						position: absolute;
						top: 0;
						left: 0;
						opacity: 0;
					}
					
					.filter_body .filter_option .filter_option_checkbox {
						position: absolute;
						top: 0;
						left: 0;
						width: 20px;
						height: 20px;
						background: #fff;
						text-align: center;
						line-height: 18px;
						transition: .15s ease-out;
						display: inline-block;
						box-shadow: 0px 0px 1px 0px rgba(0, 0, 0, 0.25);
					}
					
						.filter_body .filter_option:hover .filter_option_checkbox {
							box-shadow: 0px 0px 1px 0px rgba(0, 0, 0, 0.25), 0 2px 10px -4px #787878;
						}
						
					#content .filter_body .filter_option .filter_option_checkbox .icon-check {
						fill: #fff;
						width: 18px;
						height: 18px;
					}
					
						.filter_body .filter_option input[type=checkbox]:checked + .filter_option_checkbox {
							background-color: #1a75bc;
							border-color: #fff;
						}

					
		.filter_container .filter_actions {
			position: relative;
			text-align: center;
		}
		
			.filter_container .filter_actions a.action-button {
				position: relative;
				padding: .5em;
				font-size: 14px;
				font-weight: bold;
				color: #1a75bc;
				text-decoration: none;
				text-transform: uppercase;
				border: 2px solid #1a75bc;
				display: inline-block;
			}
			
			.filter_container .filter_actions a.action-button.apply {
				display: none;
			}
			
				.filter_container .filter_actions a.action-button:hover {
					color: #eee;
					background-color: #1a75bc;
				}
	
	
	/* !EVENTS */
	.calendar_filters_container .event_list_container {
		position: relative;
		margin-right: -32px;
		box-sizing: border-box;
		overflow: hidden;
	}
	
	.calendar_filters_container .filter_container + .event_list_container {
		float: left;
		width: 70%;
		min-height: 100%;
		padding-left: 30px;
	}
	
	
		.event_list_container .event_container {
			position: relative;
			float: left;
			width: 50%;
			box-sizing: border-box;
			display: none;
		}
		
			.event_list_container .event_container.active {
				display: block;
			}
			
			.event_list_container .event_container textarea {
				display: none;
			}
			
			.event_container .event_margin_wrapper {
				position: relative;
				height: 0;
				margin-right: 32px;
				margin-bottom: 32px;
				padding-bottom: 52.65%;
				background-size: cover;
				background-position: center center;
				background-color: #f9f9f9;
			}
		
			.event_container .overlay {
				position: absolute;
				top: 0;
				right: 0;
				left: 0;
				bottom: 0;
				background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.95) 100%);
			}
			
			.event_container .event_info_container {
				position: absolute;
				bottom: 20px;
				left: 20px;
				width: 90%;
				display: flex;
				flex-flow: row nowrap;
				align-items: center;
			}
			
				.event_container .event_info_container .event_date_box {
					text-align: center;
				}

					.event_container .event_info_container .event_date_box {
						position: relative;
						min-width: 70px;
						margin-right: 20px;
						padding: 7px;
						color: #fff;
						font-size: 14px;
						line-height: 1.2;
						text-align: center;
						text-transform: uppercase;
						border: solid #ffffff 2px;
						box-sizing: border-box;
						flex: 1 0 auto;
						max-width: max-content;
					}
					
						.event_container .event_info_container .event_date_box .event_date_day {
							font-size: 26px;
							white-space: nowrap;
						}
						
						.event_container.spans .event_info_container .event_date_box {
							min-width: 98px;
						}
						
							.event_container .event_info_container .event_date_box .event_date_month.spans,
							.event_container .event_info_container .event_date_box .event_date_weekday.spans {
								display: flex;
								justify-content: space-between;
							}

				.event_container .event_info_container .event_info {
					position: relative;
/* 					width: 100%; */
					color: #fff;
				}
				
					.event_container .event_info_container .event_info .event_title {
						font-size: 1.3em;
						font-weight: bold;
						line-height: normal;
					}

					.event_container .event_info_container .event_info .event_sub_title {
						font-size: 1.3em;
					}

					.event_container .event_info_container .event_info .event_details {
						position: relative;
						font-size: .9em;
						display: flex;
						flex-wrap: wrap;
					}

					.event_container .event_info_container .event_info .event_time {
						display: none;
					}
						.event_container.event_time .event_info_container .event_info .event_time {
							display: inline;
							margin-right: 1em;
							flex: 1 0 auto;
						}

					.event_container .event_info_container .event_info .event_location {
						display: none;
					}
						.event_container.event_location .event_info_container .event_info .event_location {
							display: inline;
							flex: 2 1 auto;
						}
						
					.event_container .event_info_container .event_info .event_more {
						margin-top: 1.2em;
						font-size: .9em;
					}
					
					.event_container.event_location .event_info_container .event_info .event_more,
					.event_container.event_time .event_info_container .event_info .event_more
					 {
						margin-top: 0;
					}

		.event_list_container .no_events {
			display: none;
			text-align: center;
			font-size: 1.2em;
		}
		
		.no_events .icon-calendar-o {
			width: 12em;
			height: 12em;
			fill: #f9f9f9;
		}

			.event_list_container .no_events.active {
				display: block;
			}


/* !MODALS */
.modal_templates_parent { display: none; }
.modal_container_parent {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	padding: 50px;
	z-index: 0;
	overflow: auto;
	z-index: -20;
	font-variant-numeric: lining-nums;
	-o-font-feature-settings: 'liga' 1, 'kern', 'lnum'; /* FF old */
    -ms-font-feature-settings: 'liga' 1, 'kern', 'lnum';
    -webkit-font-feature-settings: 'liga' 1, 'kern', 'lnum';
    font-feature-settings: 'liga' 1, 'kern', 'lnum';
}

		.modal_container_parent.active {
			z-index: 4000;
		}

	.modal_backdrop {
		position: fixed;
		top: 0px;
		left: 0px;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.7);
		box-shadow: 0px 0px 500px rgba(0,0,0,0.2) inset;
		transition: .3s cubic-bezier(0.4, 0.0, 0.2, 1) 0.01s;
		opacity: 0;
	}
	
		.modal_container_parent.active .modal_backdrop {
			opacity: 1;
		}
	
	.modal_container_parent .modal_container {
		position: relative;
		width: calc(100vw - 60px);
		max-width: 600px;
		margin: 0 auto;
		background: #f4f4f4;
		transition: .25s cubic-bezier(0.4, 0.0, 0.2, 1) 0.01s;
		transform: translate(0, -20px);
		opacity: 0;
		pointer-events: none;
		box-shadow: 0px 5px 12px rgba(0,0,0,0.3);
	}
		
			.modal_container_parent.active .modal_container {
				transform: translate(0, 0);
				opacity: 1;
				pointer-events: all;
			}
			
			.modal_container_parent .modal_container a.modal_close {
			    position: absolute;
			    font-size: 40px;
			    color: #fff;
			    right: -1em;
			    top: -1em;
			    z-index: 1;
			}
			
	.modal_wrapper {
		padding: 5em;
	}
	
		.modal_actions {
			position: absolute;
			bottom: 1em;
			right: 5em;
			overflow: hidden;
			display: flex;
		}

		.modal_actions input {
			margin-left: 1em;
		}

.modal_launcher {
	cursor: pointer;
}
		
		
/* !Modal: Event Details */
.event_details_modal {
	
}

	.event_details_modal .event_details_header,
	.event_details_modal h4,
	.event_details_modal .event_details_time,
	.event_details_modal .time-end,
	.event_details_modal .event_details_location,
	.event_details_modal .event_details_link,
	.event_details_modal .event_details_contact_name,
	.event_details_modal .event_details_contact_email,
	.event_details_modal .event_details_contact_phone {
		display: none;
	}

		.event_details_modal .image .event_details_header { display: block; }
		.event_details_modal .subtitle h4 { display: block; }
		.event_details_modal .event_time .event_details_time { display: block; }
		.event_details_modal .time_end .time-end { display: inline; }
		.event_details_modal .event_location .event_details_location { display: block; }
		.event_details_modal .link .event_details_link { display: block; }
		.event_details_modal .contact_name .event_details_contact_name { display: block; }
		.event_details_modal .contact_email .event_details_contact_email { display: block; }
		.event_details_modal .contact_phone .event_details_contact_phone { display: block; }
	

	.event_details_modal .event_details_header {
		position: relative;
		background: #f4f4f4;
		background-size: cover;
		background-position: center center;
		height: 0;
		padding-bottom: 56.25%;
		overflow: hidden;
	}
	
	.event_details_modal .event_details_body {
		position: relative;
		background: #f4f4f4;
	}

		.event_details_modal .event_details_body .event_details_date {
			position: absolute;
			top: -1em;
			left: 50%;
			margin: 0;
			background: #ffffff;
			min-width: 2em;
			height: 2em;
			border-radius: 1em;
			text-align: center;
			box-shadow: 0px 0px 3px rgba(0,0,0,0.2);
			font-size: 50px;
			transform: translateX(-50%);
			padding: 0 .25em;
			box-sizing: border-box;

		}

			.event_details_modal .event_details_body .event_details_date .event_details_month {
				font-size: 0.3em;
				line-height: 1em;
				margin: 0;
				color: #404040;
				letter-spacing: 2px;
				padding: 1em 0 0;
				text-transform: uppercase;
			}
			
				.event_details_modal .event_details_body .event_details_date .event_details_month.spans {
					display: flex;
					justify-content: space-between;
					width: 90%;
					margin: 0 auto;
				}
	
			.event_details_modal .event_details_body .event_details_date .event_details_day {
				font-size: 0.8em;
				line-height: 1em;
				margin: -0.05em 0 -0.05em;
				font-weight: bold;
				color: #404040;
			}
	
			.event_details_modal .event_details_body .event_details_date .event_details_year {
				font-size: 0.3em;
				line-height: 1em;
				margin: 0;
				color: #404040;
				letter-spacing: 2px;
			}
			
				.event_details_modal .event_details_body .event_details_date .event_details_year.spans {
					display: flex;
					justify-content: space-between;
					width: 98%;
					margin: 0 auto;
				}

		.event_details_modal .event_details_body .event_details_wrapper {
			padding: 60px 40px;
		}

			.event_details_modal .event_details_body .event_details_wrapper h3 {
				font-size: 1.8em;
				margin: 0;
				line-height: 1;
			}

			.event_details_modal .event_details_body .event_details_wrapper h4 {
				font-size: 1.3em;
				margin: 0 0 0.5em;
				/* color: #404040; */
				font-weight: normal;
				line-height: 25px;
			}
			
			.event_details_modal .event_details_body .event_details_wrapper .event_details_time_location {
				position: relative;
				font-size: 1em;
				color: #777777;
				margin: .5em 0;
				overflow: hidden;
			}

				.event_details_modal .event_details_body .event_details_wrapper .event_details_time_location > div {
					float: left;
					margin-right: 1em;
				}
				
			.event_details_modal .event_details_body .event_details_wrapper .event_details_description {
				
			}
			
			.event_details_modal .event_details_body .event_details_wrapper .event_details_contact {
				
			}
			
				.event_details_modal .event_details_body .event_details_wrapper .event_details_contact > div {
					
				}
			
			.event_details_modal .event_details_body .event_details_wrapper .event_details_social {
				font-size: 2em;
				margin-top: 1em;
			}

				.event_details_modal .event_details_body .event_details_wrapper .event_details_social ul {
					position: relative;
					padding: 0;
					list-style: none;
					margin: 0;
					line-height: 1;
				}

					.event_details_modal .event_details_body .event_details_wrapper .event_details_social ul li {
						position: relative;
						display: inline-block;
						margin-right: 10px;
					}
					
					.event_details_modal .event_details_body .event_details_wrapper .event_details_social a.share-facebook {
						color: #3b5998;
					}
					
					.event_details_modal .event_details_body .event_details_wrapper .event_details_social a.share-twitter {
						color: #1da1f2;
					}
					
					.event_details_modal .event_details_body .event_details_wrapper .event_details_social a:hover {
						color: #404040;
					}
					
					.event_details_modal .event_details_body .event_details_wrapper .event_details_social a.share-direct::after {
						content: "Copied!";
						position: absolute;
						top: 50%;
						left: calc(100% + 10px);
						font-size: .8em;
						pointer-events: none;
						opacity: 0;
						transition: .2s;
						transform: translateY(-50%);
					}
					
						.event_details_modal .event_details_body .event_details_wrapper .event_details_social a.share-direct.copied::after {
							opacity: 1;
						}
					
					
					
@media (max-width: 640px) {
	
	.calendar_filters_container .filter_container {
		float: none;
		width: 100%;
		box-sizing: border-box;
	}
	
	.calendar_filters_container .filter_container + .event_list_container {
		float: none;
		width: 100%;
		padding-left: 0;
	}
	
	.event_list_container .event_container {
		float: none;
		width: 100%;
	}
	
	.event_container .event_info_container .event_info {
		font-size: 12px;
	}
	
	.event_container .event_info_container .event_date_box {
		margin-right: 12px;
	}
	
	.event_container .event_info_container .event_info .event_details {
		flex-flow: column;
	}
	
	.modal_container_parent {
		padding: 30px;
	}
	
	.modal_container_parent .modal_container a.modal_close {
		font-size: 30px;
	}

}


@media print {
	body.modal_active {
		overflow: auto;
		background: none;
	}
	body.modal_active .site-header,
	body.modal_active .site-footer {
		display: none;
	}
	body.modal_active .cb-content:not([data-modal_active]) {
		display: none;
	}
	body.modal_active .cb-content {
		width: 100%;
		max-width: 100%;
	}
	
	body.modal_active .calendar_filters_container {
		display: none;
	}
	body.modal_active .modal_container_parent.active .modal_close {
		display: none;
	}
	
	body.modal_active .modal_container_parent.active {
		position: relative;
		padding: 0;
	}
	
	body.modal_active .modal_container_parent.active .modal_container {
		width: 100%;
		max-width: 100%;
		background: transparent;
	}
	
	body.modal_active .event_details_modal .event_details_body {
		background-color: transparent;
	}
	
	
	
	body.modal_active .title-box {
		display: none;
	}
}


