#ws_sales_events_calendar {
	width:100%;
	max-width:1300px;
	margin:0 auto;
	position:relative;
}
#ws_sales_events_calendar_loading {
    background: rgba(65, 65, 65, 0.4);
	border-radius:10px;
    position: absolute;
	z-index:999;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items:flex-start;
    justify-content: center;
}
#ws_sales_events_calendar,
#ws_sales_events_calendar_loading {
    min-height: 200px;
}
#ws_sales_events_calendar_loading img {
    max-width:150px;
	margin:40px auto!important;
	box-shadow:none!important;
}
div.legend {
	margin:auto;
	background:#fff;
	border:1px solid #000;
}
div.legend p {
	margin:5px auto;
	font-size:1.2em;
}
div.legend ul {
	margin:auto;
	margin-bottom:10px;
	max-width:300px;
}
div.legend ul li {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	max-width:300px;
	border-bottom:1px solid #b6b6b6;
}
div.legend ul li span {
	display:inline-block;
}
div.legend ul li span.legend-label {
	min-width:130px;
}
div.legend ul li span.legend-color {
	width:35px;
	height:35px;
}
#ws_sales_events_calendar > #calendar_header {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	text-align: center;
	align-items:center;
	justify-content:space-between;
	width: 100%;
}
#ws_sales_events_calendar > #calendar_header > .nav {
	height:100%;
}
#ws_sales_events_calendar > #calendar_header > .nav > a {
	display:block;
	height:100%;
    transition: transform .2s ease;
}
#ws_sales_events_calendar > #calendar_header > .nav > a#next_month:active {
    transform: translateX(5px);
}
#ws_sales_events_calendar > #calendar_header > .nav > a#prev_month:active {
    transform: translateX(-5px);
}
#ws_sales_events_calendar > #calendar_header > .nav img {
	max-width:50px;
	box-shadow:none!important;
	margin:8px;
}
#ws_sales_events_calendar > #calendar_header .month_year {
	min-width:180px;
	margin:0;
}
#ws_sales_events_calendar > #calendar_header .month_year p {
	margin:auto;
	font-size:1.3em;
}
#ws_sales_events_calendar > #calendar_header > div:not(.month_year) {
	cursor:pointer;
	width:60px;
}
#ws_sales_events_calendar > #calendar_header .month_year h2 {
	margin:10px auto;
}
#ws_sales_events_calendar > table {
	background:#fff;
	border:0;
	border-collapse: separate;
	width:100%;
}
#ws_sales_events_calendar > table > tbody.calendar_body {
	width: 100%;
	margin: 0 auto;
	position: relative;
	border:0!important;
}
#ws_sales_events_calendar > table > tbody.calendar_body tr {
	margin: 0 auto;
	border: 0;
	border-bottom:1px solid #000;
}
#ws_sales_events_calendar > table > tbody.calendar_body tr:first-child {
	border: 0;
}
#ws_sales_events_calendar > table > tbody.calendar_body tr.weekday_names_header {
	display: none;
}
#ws_sales_events_calendar > table > tbody.calendar_body td {
	background-color:rgb(255,255,255);
	display: flex;
	align-items:center;
	justify-content:center;
	position: relative;
	border: 0;
	border-bottom: 1px solid #000;
	padding:0;
}
#ws_sales_events_calendar > table > tbody.calendar_body td > .day_label {
	width:48px!important;
	padding:0!important;
	color:#000;
}
#ws_sales_events_calendar > table > tbody.calendar_body td > .day_label > .day_num,
#ws_sales_events_calendar > table > tbody.calendar_body td > .day_label > .day_name {
	text-align: center;
	font-weight:bold;
	font-size:.72em;
}
#ws_sales_events_calendar > table > tbody.calendar_body td.today {
	background:#d9d9d9;
}
#ws_sales_events_calendar > table > tbody.calendar_body td > .events_container {
	margin:0!important;
	padding:0!important;
	width:100%;
	min-height:60px;
	border-left:1px solid #000;
}
#ws_sales_events_calendar > table > tbody.calendar_body td > .events_container h1,
#ws_sales_events_calendar > table > tbody.calendar_body td > .events_container h2,
#ws_sales_events_calendar > table > tbody.calendar_body td > .events_container h3,
#ws_sales_events_calendar > table > tbody.calendar_body td > .events_container p {
	margin:0!important;
}
#ws_sales_events_calendar > table > tbody.calendar_body td > .events_container > .event {
	position:relative;
	z-index:1;
	padding:5px 0!important;
}
#ws_sales_events_calendar > table > tbody.calendar_body td > .events_container > .event a {
    text-decoration: none;
}
#ws_sales_events_calendar > table > tbody.calendar_body td > .events_container > .event a:hover {
    text-decoration: underline;
}
#ws_sales_events_calendar > table > tbody.calendar_body td > .events_container > .event > .color_label {
	position:absolute;
	z-index:-1;
	top:0;
	right:0;
	bottom:0;
	left:0;
	width:100%;
	border-top:1px solid #a6a6a6;
	background:#f2f2f2;
}
#ws_sales_events_calendar > table > tbody.calendar_body td > .events_container > .event:last-of-type > .color_label {
	border-bottom:1px solid #a6a6a6;
}
#ws_sales_events_calendar > table > tbody.calendar_body td > .events_container > .event > .event_title {
	display: flex;
    flex-wrap: wrap;
    align-items: center;
}
#ws_sales_events_calendar > table > tbody.calendar_body td > .events_container > .event > .event_title > div {
	display:inline-block;
	width:100%;
	height:100%;
	text-align:center;
	font-size:12px;
	padding:0!important;
}
#ws_sales_events_calendar > table > tbody.calendar_body td > .events_container > .event > .event_title > div > a {
	display:inline-block;
	width:100%;
	height:100%;
}
#ws_sales_events_calendar > table > tbody.calendar_body td.show_blank {
	display: none;
}
body.single-ws_sales_event .event-details {
	margin:20px auto;
}
body.single-ws_sales_event .event-details > .event-title {
	text-align:center;
}
body.single-ws_sales_event .event-details .event-meta {
	margin:0 auto 25px auto;
	max-width:300px;
	font-size:20px;
	text-align:center;
}
body.single-ws_sales_event .event-details .event-meta div {
	margin:12px auto 20px auto;
}
body.single-ws_sales_event .event-details .event-meta span {
	margin-right:5px;
	font-weight:bold;
}
body.single-ws_sales_event .event-details .event-content {
	margin:20px auto;
	width:90%;
	max-width:800px;
	text-align:center;
}
body.single-ws_sales_event .event-details .event-featured-image {
	margin:10px;
	display:flex;
	justify-content:center;
	align-items:center;
}
body.single-ws_sales_event .event-details .event-featured-image img {
	width:auto;
	height:auto;
	width:90%;
	max-width:300px;
}
body.single-ws_sales_event .event-details .event-content p,
body.single-ws_sales_event .event-details .event-content ul {
	margin:15px auto!important;
	max-width:650px;
}
body.single-ws_sales_event .event-details .event-content p {
	text-align:left;
}
body.single-ws_sales_event .event-details .event-content ul {
	list-style-type:disc;
	font-size:.9rem;
}
body.single-ws_sales_event .event-details .event-content ul li {
	text-align:left;
	margin:4px;
}
@media only screen and (min-width: 900px) {
	#ws_sales_events_calendar {
		width:95%;
	}
	
	#ws_sales_events_calendar > table {
		border:0;
		border-collapse: collapse;
	}
	#ws_sales_events_calendar,
	#ws_sales_events_calendar_loading {
		min-height: 400px;
	}
	#ws_sales_events_calendar_loading {
		margin:auto;
		width:95%;
		left:0;
		right:0;
	}
	#ws_sales_events_calendar_loading img {
		max-width:150px;
		margin:60px auto;
	}
	div.legend ul {
		display:flex;
		flex-wrap:wrap;
		align-items:center;
		justify-content:flex-start;
		gap:20px;
		column-gap:30px;
		margin-bottom:15px;
		max-width:650px;
	}
	div.legend ul li {
		flex:100%;
	}
	#ws_sales_events_calendar > #calendar_header .month_year {
		padding:0;
		min-width:300px;
	}
	#ws_sales_events_calendar > table th,
	#ws_sales_events_calendar > table tr:nth-of-type(2n) td {
		border-right: 1px solid #000;
	}
	#ws_sales_events_calendar > table > tbody.calendar_body {
		display: table;
		position: relative;
		border-collapse: collapse;
	}
	#ws_sales_events_calendar > table > tbody.calendar_body th { 
		display: table-cell;
		text-align:center;
	}
	#ws_sales_events_calendar > table > tbody.calendar_body tbody {
		display: table;
	}
	#ws_sales_events_calendar > table > tbody.calendar_body tr { 
		display: table-row;
	}
	#ws_sales_events_calendar > table > tbody.calendar_body tr.weekday_names_header {
		display: table-row;
		text-align:center;
		color:#fff;
		text-shadow:1px 1px 1px #000;
	}
	#ws_sales_events_calendar > table > tbody.calendar_body tr.weekday_names_header > th {
		padding:10px;
		border-right: 1px solid #333;
		background:#000b19;
	}
	#ws_sales_events_calendar > table > tbody.calendar_body tr.weekday_names_header > th:last-child {
		border-right: 1px solid #333;
	}
	#ws_sales_events_calendar > table > tbody.calendar_body > tr > td {
		display: table-cell;
		vertical-align:top;
		border: 1px solid #333;
		height:120px;
		width:170px;
		padding:0!important;
	}
	#ws_sales_events_calendar > table > tbody.calendar_body td.show_blank {
		display: table-cell;
		visibility: hidden;
	}
	#ws_sales_events_calendar > table > tbody.calendar_body td > .day_label {
		margin:0!important;
		padding:0!important;
		background-color: transparent!important;
		width:auto!important;
		color:#000;
		text-shadow:none;
	}
	#ws_sales_events_calendar > table > tbody.calendar_body td > .day_label > .day_num {
		font-size:1.2em;
	}
	#ws_sales_events_calendar > table > tbody.calendar_body td > .day_label > .day_name {
		display:none;
	}
	#ws_sales_events_calendar > table > tbody.calendar_body tr:last-child {
		border-bottom: 0!important;
	}
	#ws_sales_events_calendar > table > tbody.calendar_body td > .events_container {
		border-left:0;
	}
	#ws_sales_events_calendar > table > tbody.calendar_body td > .day_label {
		border-right:0;
	}
	body.single-ws_sales_event .event-details .event-meta {
		max-width:900px;
		font-size:22px;
	}
	body.single-ws_sales_event .event-content {
		margin:5px auto;
		width:90%;
		max-width:900px;
	}
}
@media only screen and (min-width: 1000px) {
	body.single-ws_sales_event .event-details > .event-featured-image {
		text-align:center;
	}
	body.single-ws_sales_event .event-details > .event-featured-image img {
		width:auto;
		max-width:400px;
		margin:10px;
	}
}
@media only screen and (min-width: 1200px) {
	div.legend ul {
		max-width:800px;
		justify-content: space-between;
	}
	body.single-ws_sales_event .event-details > .event-featured-image img {
		max-width:500px;
	}
}