body {
  background: #fff;
overflow:hidden;
background: radial-gradient(circle,rgba(238, 174, 202, 1) 0%, rgba(225, 226, 211, 0.81) 13%, rgba(196, 236, 242, 0.7) 31%, rgba(255, 255, 255, 0) 79%);
font-family:"Instrument Serif";
  color: #31395E;
  margin:0;
}

.instrument-serif-regular {
  font-family: "Instrument Serif", serif;
  font-weight: 400;
  font-style: normal;
}

.nanum-myeongjo-regular {
  font-family: "Nanum Myeongjo", serif;
  font-weight: 400;
  font-style: normal;
}



a { color:black; text-decoration: underline solid blue; padding:0.4em; transition: letter-spacing 0.7s ease-in-out; }
a:visited { color:blue; }
a:hover {letter-spacing: 1px;}

h3 { margin:0;  animation: 1s fly-in;}
h4 { animation: 1s fly-in; }
p { animation: 2s fly-in; }
.title { animation: 1s fly-in;}
.hello { background-image:url('/img/clannad.png'); background-size: cover;
font-family:"Nanum Myeongjo"; font-size:3.3em;  display: inline-block;
  transform: scaleY(1.5); background-position: 100px 50px;
  transform-origin: left center; margin:2em; color:#fff;white-space: nowrap;
   mix-blend-mode: color-burn;
  }

.container { 
  height: 99vh;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  font-size:0.9em;
  border-bottom:1px solid #000;
  margin: 0;
}

.top { 
  top:0px;
  height:0.5em;
  width:100%;
  background:blue;
  color:white;
  }
  

.left { 
  width:12%; 
  padding-left:5px;
  }
  
middle { 
  width: 73%;
   overflow:scroll;
  }

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

.right a {
  line-height:80%;
    background: linear-gradient(90deg, rgba(238,174,202,0.4) 3%, rgba(250,255,209,0.4) 50%, rgba(91,181,237,0.49205619747899154) 80%);
    display: block;  
    margin:0.2em;
}

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

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;
}

img {
  padding:0.5em; mix-blend-mode: hard-light; border:1px solid blue; max-width:100%;
}

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 */
    }
}