/*	.calendar
============================== */
div.calendar {
	text-align:center;
}
div.calendar a {
	display:inline-flex;
	justify-content:center;
	align-items:center;
	text-decoration:none;
	color:#fff;
	background-color:#000;
	font-weight:700;
	box-shadow:2px 4px 10px hsla(0,0%,0%,.25);
	margin-bottom:.75em;
}
div.calendar a:hover {
	opacity:0.8;
/*	text-shadow:2px 2px 0 hsla(0,0%,0%,0.3); */
}
div.calendar a:after {
	content:"";
	display:inline-block;
	border-right:2px solid #fff;
	border-bottom:2px solid #fff;
	transform:rotate(-45deg);
}
div.calendar p {
	line-height:1.5;
	color:#fff;
}

@media all and (min-width: 992px) {
div.calendar:not(:last-child) {
	margin-bottom:60px;
}
div.calendar a {
	font-size:150%;
	height:64px;
	padding:0 32px;
	border-radius:32px;
}
div.calendar a:after {
	width:14px;
	height:14px;
	margin-left:1em;
}
div.calendar p {
	font-size:125%;
}
}
@media all and (max-width: 991.98px) {
div.calendar:not(:last-child) {
	margin-bottom:30px;
}
div.calendar a {
	height:48px;
	padding:0 32px;
	border-radius:24px;
}
div.calendar a:after {
	width:8px;
	height:8px;
	margin-left:6px;
}
div.calendar p {
	font-size:100%;
}
}
@media all and (min-width: 520px) and (max-width: 991.98px) {
div.calendar a {
	font-size:125%;
}
}
@media all and (max-width: 519.98px) {
div.calendar a {
	font-size:5vw;
}
}

/*	ul.thumb
============================== */
ul.thumb {
	display:flex;
	flex-wrap:wrap;
	justify-content:left;
}
ul.thumb.case-2 {
	justify-content:center;
}
ul.thumb li {
	background-color:hsla(0,100%,100%,0.9);
/*	background-color:#ff00b4;*/
}
ul.thumb li > span, ul.thumb li img {
	display:block;
}
ul.thumb li > span:first-child {
	position:relative;
	height:0;
	padding-top: -webkit-calc(4 / 6 * 100%);
	padding-top: calc(4 / 6 * 100%);
	background-size:contain;
	background-position:center center;
	background-repeat:no-repeat;
}
ul.thumb li > span:first-child.lazy-done {
/*	background-color:hsla(220,100%,81%,0.4);
	background-color:#ff00b4; */
	background-color:hsla(0,100%,100%,0.9);
	-webkit-animation: fadeIn 800ms;
	animation: fadeIn 800ms;
}
ul.thumb li > span:first-child img {
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
ul.thumb li > span:last-child {
	padding:0.75em;
	flex-grow: 1;
	/**/
	display: flex;
	flex-direction: column;
	justify-content: center;
}
ul.thumb li > span:last-child > span {
	color:#ff00b4;
	text-align:center;
	line-height:1.5;
}
ul.thumb li > span:last-child > span.songs {
	padding-top:0.25em;
	color:#000;
}
@media all and (min-width: 992px) {
ul.thumb {
	gap:20px;
}
ul.thumb:not(:last-child) {
	margin-bottom:20px;
}
ul.thumb li {
	display: flex;
	flex-direction:column;
	width:calc((100% - 20*2px)/3);
}
ul.thumb li > span:last-child {
	font-size:100%;
}
ul.thumb.case-2 {
	margin-right:12%;
	margin-left:12%;
}
ul.thumb.case-2 li {
	width:calc((100% - 20px)/2);
}
}
@media all and (max-width: 991.98px) {
ul.thumb {
	gap:3.125vw;
}
ul.thumb:not(:last-child) {
	margin-bottom:3.125vw;
}
ul.thumb li {
	display: flex;
	flex-direction:column;
	width:calc((100% - 3.125vw)/2);
}
ul.thumb li > span:last-child {
	font-size:87.5%;
}
}


/*	.new
============================== */
ul.thumb li.new {
	position:relative;
}
ul.thumb li.new:after {
	content:"NEW";
	font-size:12px;
	position:absolute;
	display:inline-block;
	text-decoration:none;
	color:#fffa00;
	background-color:#ff006e;
	background-color:#000;
	font-weight:700;
	padding:0 6px;
	-webkit-animation: blinking 1s ease-in-out infinite alternate;
	animation: blinking 1s ease-in-out infinite alternate;
}
@media all and (min-width: 992px) {
ul.thumb li.new:after {
	line-height:18px;
	right:-3px;
	bottom:-3px;
}
}
@media all and (max-width: 991.98px) {
ul.thumb li.new:after {
	line-height:16px;
	right:-2px;
	bottom:-5px;
}
}


@media print {
ul.thumb li > span:first-child {
	display:none;
}
}