body {
  background: #fffde6;
  color: #2bab8b;
  margin:0;
  padding:10px;
  font-family: "Geist Pixel", sans-serif;
}

.geist-pixel {
  font-family: "Geist Pixel", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings:
    "ELSH" 0;
}

input {
    font-family: "Geist Pixel", sans-serif;
     border:1px solid #42d699;
  background:#e9ffe6;
  	border-radius:3px;
}

.hello {
  color:#45c46b;
  text-align:center;
}

.bstyle{ background: #fffef0; border:1px solid #45c46b; border-radius:3px; padding:0.3em; color:#45c46b;  font-family: "Geist Pixel", sans-serif;}
.bstyle:hover { background:#d0f2d7;}

a { background: linear-gradient(90deg, rgba(238,174,202,0.4) 3%, rgba(250,255,209,0.2) 50%, rgba(91,181,237,0.49205619747899154) 80%); color:#45c46b; text-decoration: underline solid #45c46b; transition: letter-spacing 0.7s ease-in-out; }
a:visited { color:green; }
a:hover {letter-spacing: 1px;}

h2 { color:#45c46b; border: 1px solid #45c46b; border-radius: 40%; align-content: center; padding: 1em; animation: 1s fly-in;}
h3 { margin:0;  animation: 1s fly-in;}
h4 { animation: 1s fly-in; }
p { animation: 2s fly-in; }

.himg { border:1px solid #45c46b; padding:5px; border-radius:3px; margin:auto;}

.title { font-size:20px;animation: 1s fly-in;}
.checkin {  left: 150px; top:270px; border:1px solid #45c46b; border-radius:20px; position: absolute; z-index:20; height:min-content; width:min-content; background:beige; white-space: nowrap;   font-family: "DotGothic16", sans-serif;padding:0.3em;}
.checkin2 {  left: 180px; top:120px; position: absolute; z-index:10; height:min-content; width:min-content; background:transparent;padding:3em;  white-space: nowrap; border:1px solid #45c46b; border-radius:50%;}

.cabinet { 
  margin-top:10px;
  background: #fffef0; 
  width:300px;
  height:400px;
  border:1px solid #45c46b; border-radius:2px;
}

.container { 
  height: 99vh;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  font-size:0.9em;
  margin: 0;
}

.top { 
  top:0px;
  height:0.5em;
  width:100%;
  background: linear-gradient(178deg,rgba(24, 201, 124, 0.52) 0%, rgba(255, 255, 255, 0) 85%);
  color:white;
  }
  

.left { 
  width:22%; 
  padding-left:5px;
  }
  
.middle { 
  width: 63%;
   overflow:scroll;
  }
  

.right {  
  width:15%;
  animation: 2s var(--delay) fly-in;
} 


.middletext {
    padding:1em;
    font-size:1.5em;
    overflow: scroll;
}

figure {
  display: table;
   animation: fadeIn 2s forwards; 
}
  
figcaption {
  padding: 0;
  background:blue;
  border: 3px double blue;
  color:#fff;
  width:min-content;
  display: table-caption;
  caption-side: top;
  margin-left:0.7em;
  font-size:0.7em;
  font-weight:100;
  border-radius: 5px 5px 0px 0px;
}


ul.menu {
  counter-reset: menu;
  margin:0;
  padding:0;
}

ul.menu > li {
  counter-increment: menu;
  --delay: calc(sibling-index() / sibling-count() * 1s);
  animation: 1s var(--delay) both fly-in;
}

ul.menu > li::marker {
  content: " " ;
  animation: 2s var(--delay) both fly-in;
}

@keyframes fly-in {
  from {
    opacity: 0;
    transform: translateY(100%);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/** floating particle animation **/

.particle-container{
 top: 0;
  left: 0;
  width:100%;
  height:100vh;
  position:absolute;
  z-index:100;
  pointer-events: none;
  opacity:0.6;
}

.circles {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
  padding:0;
}

.circles li {
	position: absolute;
	display: block;
	list-style: none;
	width: 5px;
	height: 5px;
  
  animation-delay: 0s;
	animation: animate 25s linear infinite;
  bottom: 0px;
  left:0px;
}

.circles li:nth-child(odd){
  background:rgba(238, 174, 202, 1) !important;
}

.circles li:nth-child(even){
  background:blue !important;
}

.circles li:nth-child(1) {
	left: 10%;
	animation-duration: 20s;
}

.circles li:nth-child(2) {
	left: 20%;
	animation-duration: 25s;
}

.circles li:nth-child(3) {
	left: 25%;
	animation-duration: 20s;
}

.circles li:nth-child(4) {
	left: 35%;
	animation-duration: 15s;
}

.circles li:nth-child(5) {
	left: 45%;
	animation-duration: 20s;
}

.circles li:nth-child(6) {
	left: 50%;
	animation-duration: 25s;
}

.circles li:nth-child(7) {
	left: 65%;
	animation-duration: 30s;
}

.circles li:nth-child(8) {
	left: 50%;
	animation-duration: 35s;
}

.circles li:nth-child(9) {
	left: 75%;
	animation-duration: 40s;
}

.circles li:nth-child(10) {
	left: 85%;
	animation-duration: 45s;
}

@keyframes animate {
	0% {
		transform: translateY(0) rotate(0deg);
		opacity: 0;
	}
	50% {
		transform: translateY(-60vh) rotate(360deg);
		opacity: 1;
	}
	100% {
		transform: translateY(-120vh) rotate(720deg);
		opacity: 0;
	}
}

@media (max-width: 768px) {
    .container {
        flex-direction: column; /* Stack elements vertically if needed */
    }
}


/** playhtml **/

#porch-lamp {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    width: min(100%, 10rem);
  }
  #porch-lamp button {
    background: #1a1a1a;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;
    cursor: pointer;
  }
  
  #porch-lamp.is-on button {
    background: #fff;
    font-family: "Geist Pixel", sans-serif;
  }
  #porch-lamp.is-on button::after {
    content: "YES!!! THE DOC IS IN!!!!";
  }
  #porch-lamp .label {
    font-size: 0.8rem;
    opacity: 0.65;
  }
  
#guestbook {
      padding: 1em;
    max-width: 700px;

}
  
#guestbook li {
  background:linear-gradient(184deg,rgba(203, 255, 61, 0.52) 0%, rgba(255, 255, 255, 0) 85%);
	border:1px solid #42d699;
	border-radius:3px;
	margin:0.2em;
	color:#42b1d6;
	 font-family: "DotGothic16", sans-serif;
	font-size:17px;
}

#guestbook ul {
  list-style-type: none; 
}

#guestbook b {
	background:#c5fccf;
}

#guestbook small {
  color:salmon;
}

input[type="text"] {
 color:#78c486;
}