/* EVENTS */

.EVENTS .deco-d::before {
	background-size: 70%;
	transform: translate(-1100px, 600px);
}

.EVENTS h2 {
	margin-bottom: 60px;
}

.EVENTS .event {
	position: relative;
	display: flex;
	padding: 20px 0;
	border-top: 2px solid #E5E5E5;
	flex-wrap: wrap;
}

.EVENTS .event > div {
	box-sizing: border-box;
	flex: 0 0 auto;
	align-items: stretch;
}

.EVENTS .event .image-container {width:25%; order:2; padding:0 40px;}
.EVENTS .event .heading-container {width:25%; order:1;}
.EVENTS .event .content-container {width:50%; order:3;}

.EVENTS .event .image {
	background: #ccc no-repeat center;
	background-size: cover;
	padding-bottom: 56.25%;
}

.EVENTS .event .heading-container h4 {margin-bottom:5px;}
.EVENTS .event .heading-container h5 {font-weight:400;}
.EVENTS .event .content-container a {font-weight:700;}
.EVENTS .event .content-container a::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.EVENTS .alm-btn-wrap {
	border-top: 2px solid #E5E5E5;
	text-align: center;
}

.EVENTS .alm-load-more-btn {
	margin-top: 60px;
}

.EVENTS .alm-load-more-btn.done {
	pointer-events: none;
	opacity: 0.25;
}

@media screen and (max-width: 900px) {
	.EVENTS h2 {margin-bottom: 30px;}
	.EVENTS .event {display:block;}
	.EVENTS .event > div {display:block; width:100% !important;}
	.EVENTS .event .image-container {order:1; padding:0 0 20px 0;}
	.EVENTS .event .heading-container {order:2; padding:0 0 20px 0;}
	.EVENTS .event .content-container {order:3;}
	.EVENTS .alm-load-more-btn.done {margin-top:40px;}
}



/* CALENDAR */


.CALENDAR .head {
	float: left;
	text-transform: uppercase;
	padding-right: 20px;
}

.CALENDAR .head h2 {
	display: inline-block;
	vertical-align: middle;
}

.CALENDAR .head button {
	cursor: pointer;
	max-width: 100%;
	vertical-align: middle;
	display: inline-block;
	box-sizing: border-box;
	color: #000;
	font-family: inherit;
	font-weight: 700;
	font-size: 16px;
	text-transform: uppercase;
	background: transparent;
	margin-top: -8px;
	padding: 0;
	border: none;
	border-radius: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.CALENDAR .head button.prev::after {
	content: "";
    transform: translate(0, 1px);
    display: inline-block;
    border-style: solid;
    border-width: 12px 18px;
    border-color: transparent;
    border-right-color: inherit;
    transition: border-right-color 0.25s;
}

.CALENDAR .head button.next::after {
	content: "";
    transform: translate(0, 1px);
    margin-left: 20px;
    display: inline-block;
    border-style: solid;
    border-width: 12px 18px;
    border-color: transparent;
    border-left-color: inherit;
    transition: border-left-color 0.25s;
}


/* filter */

.CALENDAR .filter {
	float: right;
	line-height: 48px;
}

.CALENDAR .filter .type,
.CALENDAR .filter .view {
	display: inline-block;
	vertical-align: middle;
}

.CALENDAR .filter .label {
	font-weight: 700;
	padding-right: 10px;
}

.CALENDAR .filter .view {
	padding-right: 40px;
}

.CALENDAR .filter .view label {
	padding-right: 20px;
}

.CALENDAR .filter .type select {
	display: inline-block;
	width: 200px;
}

.CALENDAR .filter input[type="radio"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: inline-block;
	width: 20px;
	height: 20px;
	padding: 3px;
	margin: 0 5px 0 0;
	background-clip: content-box;
	border: 2px solid #bbbbbb;
	border-radius: 50%;
	position: relative;
	top: 4px;
}

.CALENDAR .filter input[type="radio"]:checked {
  background-color: #DDC998;
}

/* calendar */

.CALENDAR .calendar {
	padding-top: 60px;
	clear: both;
	display: flex;
	flex-wrap: wrap;
}

.CALENDAR .calendar .day {
	box-sizing: border-box;
	flex: 0 0 auto;
	align-items: stretch;
	width: 14.28%;
	height: 140px;
	padding: 10px;
	border: 2px solid #E5E5E5;
	border-width: 2px 0 0 2px;
}

.CALENDAR .calendar.alt-month .day:nth-child(7n) {border-right-width:2px;}
.CALENDAR .calendar.alt-month .day:nth-last-child(-n+7) {border-bottom-width:2px;}

.CALENDAR .calendar .day.alt-label {
	height: auto;
	border: none !important;
}

/* events expand */

.CALENDAR .calendar .events {
	position: relative;
	max-height: 86px;
	overflow: hidden;
	transition: max-height 0.25s;
}

.CALENDAR .calendar .day.alt-more .events .more {
	display: block;
	position: absolute;
	bottom: 0;
	padding: 0 4px;
	left: 0;
	right: 0;
	background: #fff;
	transition: opacity 0.25s;
	font-size: 12px;
	font-weight: 700;
}

.CALENDAR .calendar .day:hover.alt-more .events .more {opacity:0; pointer-events:none;}
.CALENDAR .calendar .day:hover.alt-more .events {
	max-height: 180px;
	background: #fff;
	box-shadow: 0 2px 0 9px #fff;
	z-index: 1;
}

/* event */

.CALENDAR .calendar .event label {
	display: block;
	position: relative;
	background: #ccc;
	height: 20px;
	font-size: 14px;
	line-height: 24px;
	padding: 0px 4px;
	margin-bottom: 2px;
}

.CALENDAR .calendar .event label[data-type="djd-event"] {background:#d99fa2;}
.CALENDAR .calendar .event label[data-type="djd-performance"] {background:#9cbbeb;}
.CALENDAR .calendar .event label[data-type="djd-school-event"] {background:#9fd1b1;}
.CALENDAR .calendar .event label[data-type="rental-event"] {background:#dfbca4;}

.CALENDAR .calendar .event label .title {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	display: block;
	padding-right: 55px;
	font-weight: 700;
}

.CALENDAR .calendar .event label .time {
	position: absolute;
	top: 0;
	right: 25px;
	width: 35px;
	text-align: right;
}

.CALENDAR .calendar .list-details {
	display: none;
}

.CALENDAR .calendar .event-details {
	display: flex;
	position: relative;
	padding: 20px 0;
	border-top: 2px solid #E5E5E5;
	flex-wrap: wrap;
}

.CALENDAR .calendar .event-details > div {
	box-sizing: border-box;
	flex: 0 0 auto;
	align-items: stretch;
}

.CALENDAR .calendar .event-details .image-container {width:25%; order:2; padding:0 40px;}
.CALENDAR .calendar .event-details .heading-container {width:25%; order:1;}
.CALENDAR .calendar .event-details .content-container {width:50%; order:3;}

.CALENDAR .calendar .event-details .image {
	background: #ccc no-repeat center;
	background-size: cover;
	padding-bottom: 56.25%;
}

.CALENDAR .calendar .event-details .heading-container h4 {margin-bottom:5px;}
.CALENDAR .calendar .event-details .heading-container h5 {font-weight:400;}
.CALENDAR .calendar .event-details .content-container a {font-weight:700;}
.CALENDAR .calendar .event-details .content-container a::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* list view */

.CALENDAR .calendar.alt-list {display:block; border-bottom:2px solid #E5E5E5;}
.CALENDAR .calendar.alt-list .day {display:block; width:auto; height:auto; border:none; padding:0;}
.CALENDAR .calendar.alt-list .day.alt-none,
.CALENDAR .calendar.alt-list .day.alt-label,
.CALENDAR .calendar.alt-list .day.alt-offset,
.CALENDAR .calendar.alt-list .day .number,
.CALENDAR .calendar.alt-list .day .more,
.CALENDAR .calendar.alt-list .day label {display:none !important;}
.CALENDAR .calendar.alt-list .day .events {max-height:none !important; box-shadow:none !important;}
.CALENDAR .calendar.alt-list .day .list-details {display:block;}

/* empty */

.CALENDAR .empty {
	display: none;
	padding: 60px 0;
	border-bottom:2px solid #E5E5E5;
}

.CALENDAR .calendar.alt-list ~ .empty {display: block;}

@media screen and (max-width: 1200px) {
	.CALENDAR .head {float:none;}
	.CALENDAR .filter {float:none; padding-top:20px; overflow:hidden;}
	.CALENDAR .filter .view {float:left;}
	.CALENDAR .filter .type {float:right;}
}

@media screen and (max-width: 900px) {
	.CALENDAR .head h2 {font-size: 20px;}
	.CALENDAR .head button {margin-top: -4px;}
	.CALENDAR .head button.prev::after {border-width: 8px 12px;}
	.CALENDAR .head button.next::after {border-width: 8px 12px;}
	
	.CALENDAR .filter .view {display:none;}
	.CALENDAR .filter .type {float:none; display:block;}
	.CALENDAR .filter .type .label {display:block;}
	.CALENDAR .filter .type select {display:block; width:100%;}

	.CALENDAR .calendar {padding-top:20px;}
	.CALENDAR .calendar {display:block; border-bottom:2px solid #E5E5E5;}
	.CALENDAR .calendar .day {display:block; width:auto; border:none; height:auto; padding:0;}
	.CALENDAR .calendar .day.alt-none,
	.CALENDAR .calendar .day.alt-label,
	.CALENDAR .calendar .day.alt-offset,
	.CALENDAR .calendar .day .number,
	.CALENDAR .calendar .day .more,
	.CALENDAR .calendar .day label {display:none !important;}
	.CALENDAR .calendar .day .events {max-height:none !important; box-shadow:none !important;}
	.CALENDAR .calendar .day .list-details {display:block;}

	.CALENDAR .calendar ~ .empty {display:block; padding:40px 0;}

	.CALENDAR .calendar .event-details > div {display:block; width:100% !important;}
	.CALENDAR .calendar .event-details .image-container {order:1; padding:0 0 20px 0;}
	.CALENDAR .calendar .event-details .heading-container {order:2; padding:0 0 20px 0;}
	.CALENDAR .calendar .event-details .content-container {order:3;}
}



/* SINGLE EVENTS */

.EVENT-INTRO .b-columns {
	align-items: flex-start;
}

.EVENT-INTRO .price-heading {
	margin-bottom: 5px;
}

.EVENT-INTRO .prices {
	margin-top: 0;
}

.EVENT-GALLERY .flickity-viewport {
	overflow: visible;
}

.EVENT-GALLERY .carousel-cell {
	width: 70%;
	margin: 100px 0px;
	transform: scale(0.8);
	opacity: 0.5;
	transition: transform 0.2s, opacity 0.2s;
}

.EVENT-GALLERY .carousel-cell.is-selected {
	transform: scale(1);
	opacity: 1;
}

.EVENT-GALLERY .carousel-cell iframe {
    width: 840px;
    height: 560px;
}

@media screen and (min-width: 901px) {
	.EVENT-GALLERY .flickity-prev-next-button{ width: 700px; height: 100%; opacity: 0; border-radius: 0;}
	.EVENT-GALLERY .flickity-prev-next-button.next {right: -590px;}
	.EVENT-GALLERY .flickity-prev-next-button.next:hover {cursor:url(../img/ui-carousel-next.svg), auto;}
	.EVENT-GALLERY .flickity-prev-next-button.previous {left: -590px;}
	.EVENT-GALLERY .flickity-prev-next-button.previous:hover {cursor:url(../img/ui-carousel-prev.svg), auto;}
}

@media screen and (max-width: 1024px){
	.EVENT-GALLERY .carousel-cell iframe {width: 650px; height: 430px;}
}

@media screen and (max-width: 900px){
	.EVENT-GALLERY .carousel-cell { margin: 20px 0;}
	.EVENT-GALLERY .flickity-prev-next-button {width: 34px; height: 34px;}
	.EVENT-GALLERY .flickity-prev-next-button.next {right: -5px;}
	.EVENT-GALLERY .flickity-prev-next-button.previous {left: -5px;}
	.EVENT-GALLERY .carousel-cell iframe {width: 280px; height: 190px;}
}

@media screen and (max-width: 425px){
	.EVENT-GALLERY .carousel-cell iframe {width: 210px; height: 144px;}
}

.EVENT-LOCATION {
	position: relative;
}

.EVENT-LOCATION .b-columns {
	align-items: flex-start;
	margin-bottom: 50px;
}

.EVENT-LOCATION .head {
	margin-bottom: 40px;
}

.EVENT-LOCATION .location {
	font-weight: bold;
	background: url(../img/ui-map-pin.svg) no-repeat top left;
	padding-top: 60px;
}

.EVENT-LOCATION .b-image::after {
	display: none;
}

.EVENT-LOCATION .deco-j::before {
    transform: translate(-1100px, 16px);
    background-size: 40%;
}

.EVENT-LOCATION .googlemap iframe {
	width: 100% !important;
}

@media screen and (max-width: 900px){
	.EVENT-LOCATION .b-columns {margin-bottom: 20px;}
}

.EVENT-SPONSORS .logos{
	text-align: center;
	margin-top: 50px;
}

.EVENT-SPONSORS img {
	display: inline;
	margin: 0 20px;
	height: 80px;
}

.EVENT-CALLOUT .b-center {
	max-width: 780px;
}

.EVENT-CALLOUT .b-button {
	margin-top: 30px;
}