   body {
  background: url(./img/calendar.webp) no-repeat top center #82d8cb;
  background-size: cover;
  user-select: none;
}

/* title graphic */
.title {  
  display: flex;
  align-items: center;
  justify-content: center; 
}

.title img {
  width: 90%;
  height: auto;
}

/* mobile first grid layout */
.grid-1 {
  display: grid;
  width: 96%;
  max-width: 900px;
  margin: 2% auto;
  
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto;
  grid-gap: 25px;
  
  grid-template-areas:    "t        t       t"
                          "d24      d6      d13"
                          "d2       d26     d12"
                          "d23      d4      d30"
                          "d9       d11     d19"
                          "d16      d25     d3"
                          "d1       d20     d10"
						  "d5       d17     d27"
						  "d18      d31     d31";
}

/* media query */
@media only screen and (min-width: 1200px) {
  
  .grid-1 {
    grid-template-columns: repeat(7, 1fr);
    grid-template-areas: "t     t     t     d24     d6      d13     d12"
                         "t     t     t     d2      d26     d23     d4"
                         "t     t     t     d30     d9      d11     d19"
                         "d16   d25   d31   d31     d3      d1      d20"
                         "d10   d5    d31   d31     d17     d27     d18";
  }
  
}


/* individual items */
  .title {
    grid-area: t;
  }
  .day-1 {
  grid-area: d1;
  }
  .day-1 .back {
    background: url(./img/ball.webp);
  }
  .day-2 {
    grid-area: d2;
  }
  .day-2 .back {
	background: url(./img/christmas-wreath.webp);
  }
  .day-3 {
    grid-area: d3;
  }
  .day-3 .back {
    background: url(./img/candy-cane.webp);
  }
  .day-4 {
    grid-area: d4;
  }
  .day-4 .back {
    background: url(./img/christmas-bell.webp);
  }
  .day-5 {
    grid-area: d5;
  }
  .day-5 .back {
    background: url(./img/christmas-lights.webp);
  }
  .day-6 {
    grid-area: d6;
  }
  .day-6 .back {
    background: url(./img/christmas-sock.webp);
  }
/*  .day-7 {
    grid-area: d7;
  }
  .day-7 .back {
    background: url(./img/gift.svg);
  }
  .day-8 {
    grid-area: d8;
  }
  .day-8 .back {
    background: url(./img/stocking.svg);
  } */
  .day-9 {
    grid-area: d9;
  }
  .day-9 .back {
    background: url(./img/christmas-tree.webp);
  }
  .day-10 {
    grid-area: d10;
  }
  .day-10 .back {
    background: url(./img/winter-hat.webp);
  }
  .day-11 {
    grid-area: d11;
  }
  .day-11 .back {
    background: url(./img/coffee.webp);
  }
  .day-12 {
    grid-area: d12;
  }
  .day-12 .back {
    background: url(./img/fireworks.webp);
  }
  .day-13 {
    grid-area: d13;
  }
  .day-13 .back {
    background: url(./img/gift-box.webp);
  }
/*  .day-14 {
    grid-area: d14;
  }
  .day-14 .back {
    background: url(./img/horse.svg);
  }
  .day-15 {
    grid-area: d15;
  }
  .day-15 .back {
    background: url(./img/book.svg);
  } */
  .day-16 {
    grid-area: d16;
  }
  .day-16 .back {
    background: url(./img/gingerbread-man.webp);
  }
  .day-17 {
    grid-area: d17;
  }
  .day-17 .back {
    background: url(./img/gloves.webp);
  }
  .day-18 {
    grid-area: d18;
  }
  .day-18 .back {
    background: url(./img/hat.webp);
  }
  .day-19 {
    grid-area: d19;
  }
  .day-19 .back {
    background: url(./img/jumper.webp);
  }
  .day-20 {
    grid-area: d20;
  }
  .day-20 .back {
    background: url(./img/letter.webp);
  }
/*  .day-21 {
    grid-area: d21;
  }
  .day-21 .back {
    background: url(./img/snowflake-2.svg);
  }
  .day-22 {
    grid-area: d22;
  }
  .day-22 .back {
    background: url(./img/santa.svg);
  } */
  .day-23 {
    grid-area: d23;
  }
  .day-23 .back {
    background: url(./img/mistletoe.webp);
  }
  .day-24 {
    grid-area: d24;
  }
  .day-24 .back {
    background: url(./img/reindeer.webp);
  }
  .day-25 {
  grid-area: d25;
  }
  .day-25 .back {
    background: url(./img/sleigh.webp);
  }
  .day-26 {
    grid-area: d26;
  }
  .day-26 .back {
    background: url(./img/snowflake.webp);
  }
  .day-27 {
    grid-area: d27;
  }
  .day-27 .back {
    background: url(./img/snowman.webp);
  }
/*  .day-28 {
    grid-area: d28;
  }
  .day-28 .back {
    background: url(./img/child-3.svg);
  }
  .day-29 {
    grid-area: d29;
  }
  .day-29 .back {
    background: url(./img/book.svg);
  } */
  .day-30 {
    grid-area: d30;
  }
  .day-30 .back {
    background: url(./img/star.webp);
  }
  .day-31 {
    grid-area: d31;
  }
  .day-31 .back {
    background: url(./img/santa-claus.webp);
  }
  
  .back1 {
    background: url(./img/forbidden.webp);
  }


/* door styles */

.grid-1 input {
  display: none;
}

label {
  perspective: 1000px;
  transform-style: preserve-3d;
  cursor: pointer;

  display: flex;
  min-height: 100%;
  width: 100%;
  height: 120px;
}

.door {
  width: 100%;
  transform-style: preserve-3d;
  transition: all 300ms;
  border: 2px dashed transparent;
  border-radius: 10px;
}

  .door div {
    position: absolute;
    height: 100%;
    width: 100%;
    backface-visibility: hidden;
    
    border-radius: 6px;

    display: flex;
    align-items: center;
    justify-content: center;
    
    /* typography */
    font-family: 'Kalam', cursive;
    color: #385052;
    font-size: 2em;
    font-weight: bold;
    text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.2);
  }

  .door .back {
      background-size: contain;
      background-position: center center;
      background-repeat: no-repeat;
/*      background-color: #2e313d; */
      transform: rotateY(180deg);
	  
	  /* typography */
		font-family: 'Kalam', cursive;
		color: #385052;
		font-size: 1em;
		font-weight: normal;
		text-shadow: none;
		align-items: end;
	
  }
    .door .back1 {
      background-size: contain;
      background-position: center center;
      background-repeat: no-repeat;
/*      background-color: #2e313d; */
      transform: rotateY(180deg);
	  
	  /* typography */
		font-family: 'Kalam', cursive;
		color: #385052;
		font-size: 1em;
		font-weight: normal;
		text-shadow: none;
		align-items: end;
	
  }

  label:hover .door {
    border-color: #385052;
  }

  :checked + .door {
    transform: rotateY(180deg);
  }


/* footer styles */
footer {
	font-family: 'Kalam', cursive;
    font-size: 1.5em;
    font-weight: bold;
    text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.2);
	text-align: center;
}  
  footer a {
      color: red;
	  text-decoration: none;
  } 
    footer a:hover {
          text-decoration: none;
    }


/*General Styles*/

button.primary {
	display: inline-block;
	font-size: 0.9rem;
	font-weight: bold;
	color: #000000 !important;
	background: #8cb6ef;
	padding: 13px 25px;
	margin-top: 15px;
	border-radius: 7px;
	transition: background-color 0.1s ease;
	box-sizing: border-box;
	transition: all 0.25s ease;
	border: 0;
	cursor: pointer;
	opacity: 0.7;
	box-shadow: 0 10px 20px -10px rgb(var(--vs-primary) / 50%);
	&:hover {
		box-shadow: 0 20px 20px -10px rgb(var(--vs-primary) / 50%);
		transform: translateY(-5px);
	}
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

/*Dialog Styles*/
dialog {
	font-family: 'Kalam';
	padding: 1rem 3rem;
	background: white;
	max-width: 85%;
	padding-top: 2rem;
	border-radius: 20px;
	border: 0;
	box-shadow: 0 5px 30px 0 rgb(0 0 0 / 10%);
	animation: fadeIn 1s ease both;
	&::backdrop {
		animation: fadeIn 1s ease both;
		background: rgb(255 255 255 / 40%);
		z-index: 2;
		backdrop-filter: blur(20px);
	}
	.x {
		filter: grayscale(1);
		border: none;
		background: none;
		position: absolute;
		top: 15px;
		right: 10px;
		transition: ease filter, transform 0.3s;
		cursor: pointer;
		transform-origin: center;
		&:hover {
			filter: grayscale(0);
			transform: scale(1.1);
		}
	}
	h2 {
		font-weight: 600;
		font-size: 2rem;
		padding-bottom: 1rem;
	}
	p {
		font-size: 1rem;
/*		line-height: 1.3rem;
		padding: 0.5rem 0;	*/
		a {
			&:visited {
				color: rgb(var(--vs-primary));
			}
		}
	}
}