@font-face {
  font-family: 'Christmas';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/xmas/fonts/PWHappyChristmas.woff2") format('woff2');
}
@keyframes pulse {
    0%{ transform: scale(1) }
    50% { transform: scale(1.25) }
}

* {
	box-sizing: border-box;
}
.layer {
	position: fixed;
	inset: 0;
	width: 100vw;
	height: 100vh;
	opacity: 1;
	transition: opacity linear 2s;
}
.layer.fade-out {
	opacity: 0;
	pointer-events: none;
}
.layer.calendar {
	overflow-y: auto;
	overflow-x: hidden;
}
body {
	padding: 0;
	margin: 0;
    font-family: Arial, sans-serif;

	min-height: 100vh;
	flex-direction: column;
	font-family: Arial, sans-serif;
	overflow-x: hidden;
}

.layer.bg img {
	width: 100%;
	object-fit: cover;
	height: 100%;
}
.layer.calendar {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.layer.intro {
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}
h1 {
	font-size: 100px;
	letter-spacing: 5px;
	color: white;
	font-family: 'Christmas', sans-serif;
	text-align: center;
	padding: 0 25px;
	text-shadow: 3px 3px red;
}
@media (max-width: 1000px) {
	h1 {
		word-break: break-all;
	}
}
.days {
	display: flex;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
	gap: 25px;
	max-width: 1200px;
	flex-wrap: wrap;
	justify-content: space-around;
	padding: 0 25px 100px 25px;
}

.days > * {
	min-width: 200px;
	max-width: 250px;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 10px;
	display: flex;
	cursor: pointer;
	justify-content: center;
	align-items: center;
	font-size: 42px;
	position: relative;
	padding: 5px;
	background: white;
	overflow: hidden;
	user-select: none;
}
.days > * > .cover {
	position: absolute;
	background: #eeeeee;
	border: 5px solid gray;
	inset: 0;
	transition: opacity ease-in 2s, border-color ease-in 2s, color ease-in 2s;
	justify-content: center;
	align-items: center;
	display: flex;
	border-radius: 10px;
	font-family: Christmas;
	font-size: 70px;
	color: gray;
	user-select: none;
}
.days > [today] > .cover .num {
	animation: pulse 1s ease infinite;
}
.days > .due > .cover {
	border-color: red;
	color: red;
}
.days > .done > .cover {
	opacity: .8;
	border-color: green;
	color: green;
}
.days > .open > .cover {
	opacity: 0;
}
.days > .open > .cover .num {
	animation: none;
}
.days img {
	max-width: 100%;
	max-height: 100%;
	border-radius: 10px;
}
.yay {
	position: fixed;
	inset: 0;
	transform: scale(0);
	transform-origin: center center;
	transition: transform linear 11s;
	background: #222222;
	font-size: 200px;
	font-family: "Bungee Spice";
	color: #ffffff;
	align-items: center;
	justify-content: center;
	display: flex;
	text-align: center;
}
.yay.go {
	transform: scale(1);
}
.yay .ln {
	visibility: hidden;
}