@charset "UTF-8";
* {
  border: 0;
  margin: 0;
  padding: 0;
}

/* สำหรับ Chrome, Edge, Safari */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #1a1a1a;
}

::-webkit-scrollbar-thumb {
  background: #444;
  border-radius: 2px;
}

/* สำหรับ Firefox */
* {
  scrollbar-width: thin;
  scrollbar-color: #444 #1a1a1a;
}

.blue:first-of-type:after {
  background: #1e90ff !important; /* สีฟ้า */
}

.green:first-of-type:after {
  background: #32cd32 !important; /* สีเขียว */
}

.yellow:first-of-type:after {
  background: #fada5e !important; /* สีเหลือง */
}

.red:first-of-type:after {
  background: #ff4500 !important; /* สีแดง */
}

html {
  height: 100%;
}

body {
  height: inherit;
  display: flex;
  flex-direction: column;
  font-family: 'Prompt', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: white;
  overflow-x: hidden;
}

a {
  color: #ff9933; /* สีส้ม */
  text-decoration: none;
}

a:hover {
  color: #ff667a; /* สีชมพู */
  text-decoration: underline;
}

a:focus,
a:active {
  color: #9933ff; /* สีม่วง */
}


div.container {
  display: flex;
  flex: auto;
  flex-direction: column;
  max-height: 100%;
}

div.header {
  height: auto;
  text-align: center;
  color: ghostwhite;
  padding: 2.3rem 1rem 2.3rem 1rem;
  position: relative;
  background: linear-gradient(rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0.75)), url("https://needsleep.dev/assets/may-mix.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
}

div.header:before {
  filter: blur(2px);
}

div.header:after {
  content: "";
  position: absolute;
  bottom: -5rem;
  left: 0rem;
  height: 5.1rem;
  display: block;
  width: 100%;
  z-index: 300;
  /* ...other existing properties... */
  background: -moz-linear-gradient(top, rgba(46, 46, 46, 1) 0%, rgba(46, 46, 46, 0) 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, rgba(46, 46, 46, 1) 0%, rgba(46, 46, 46, 0) 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, rgba(46, 46, 46, 1) 0%, rgba(46, 46, 46, 0) 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#2e2e2e", endColorstr="#002e2e2e",GradientType=0 );
}
div.header h1 {
  margin-top: 0.8rem;
  margin-bottom: 0.5rem;
  font-weight: 200;
  font-size: 1.6em;
  letter-spacing: 0.1rem;
  text-transform: uppercase;
}
@media (min-width: 62em) {
  div.header h1 {
    font-size: 1.9em;
    letter-spacing: 0.2rem;
  }
}
div.header h2 {
  font-size: 1.1em;
  font-weight: 400;
  color: #cfd7de;
  max-width: 30rem;
  margin: auto;
  position: relative;
  display: inline-block;
  overflow: hidden;
}

div.item {
  background: linear-gradient(135deg, #2e2e2e 0%, #1a1a1a 100%);
  display: flex;
  flex: auto;
  overflow-y: auto;
  padding: 0rem 1rem 0rem 1rem;
}
#timelines {
  height: 100%;
  overflow-y: scroll;
}
#timeline {
  position: relative;
  display: table;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 5rem;
}
#timeline div:after {
  content: "";
  width: 2px;
  position: absolute;
  top: 0.5rem;
  bottom: 0rem;
  left: 50px;
  z-index: 1;
  background: #C5C5C5;
}
#timeline h3 {
  position: -webkit-sticky;
  position: sticky;
  top: 5rem;
  color: #888;
  margin: 0;
  font-size: 1em;
  font-weight: 400;
}
@media (min-width: 62em) {
  #timeline h3 {
    font-size: 1.1em;
  }
}
#timeline section.year {
  position: relative;
}
#timeline section.year:first-child section {
  margin-top: -1.3em;
}
#timeline section.year section {
  position: relative;
  padding-bottom: 1.25em;
  margin-bottom: 2.2em;
}
#timeline section.year section h4 {
  position: absolute;
  bottom: 0;
  font-size: 0.9em;
  font-weight: 400;
  line-height: 1.2em;
  margin: 0;
  padding: 0 0 0 79px;
  color: #C5C5C5;
}

@media (min-width: 62em) {
  #timeline section.year section h4 {
    font-size: 1em;
  }
}
#timeline section.year section ul {
  list-style-type: none;
  padding: 0 0 0 65px;
  margin: -1.35rem 0 1em;
  max-width: 32rem;
  font-size: 1em;
}
@media (min-width: 62em) {
  #timeline section.year section ul {
    font-size: 1.1em;
    padding: 0 0 0 71px;
  }
}
#timeline section.year section ul:last-child {
  margin-bottom: 0;
}
#timeline section.year section ul:first-of-type:after {
  content: "";
  width: 10px;
  height: 10px;
  background: #C5C5C5;
  border: 2px solid #FFFFFF;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  border-radius: 50%;
  position: absolute;
  left: 44px;
  top: 6px;
  z-index: 2;
}
#timeline section.year section ul li {
  margin-left: 0.5rem;
}
#timeline section.year section ul li:before {
  content: "·";
  margin-left: -0.5rem;
  padding-right: 0.3rem;
}
#timeline section.year section ul li:not(:first-child) {
  margin-top: 0.5rem;
}
#timeline section.year section ul li span.price {
  color: mediumturquoise;
  font-weight: 500;
}

.usd {
  display: inline;
}

svg {
  border: 3px solid white;
  border-radius: 50%;
  box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
}

.circle-image {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  position: relative;
  overflow: hidden;
}

@keyframes lines {
  0%, 100% {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5) 50%, transparent);
    transform: translateX(0%);
  }
  50% {
    transform: translateX(100%);
  }
}

.lines {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}

.flip-animation .lines {
  animation: lines 7.5s linear infinite;
  opacity: 1;
}

@keyframes flip {
  0%, 100% {
    transform: rotateY(0deg);
  }
  50% {
    transform: rotateY(180deg);
  }
  75% {
    transform: rotateY(270deg);
  }
  100% {
    transform: rotateY(360deg);
  }
}

.flip-animation img {
  animation: flip 10s infinite;
  transform-style: preserve-3d;
  backface-visibility: visible;
}

.circle-container {
  display: flex;
  justify-content: center;
  align-items: center;
}

.line-animation:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0; /* ปรับค่า left เพื่อไม่ให้เส้นเกินขอบเขตของหน้าจอด้านซ้าย */
  right: 0; /* ปรับค่า right เพื่อไม่ให้เส้นเกินขอบเขตของหน้าจอด้านขวา */
  width: 100%; /* ปรับค่า width เพื่อให้ควบคุมความยาวของเส้นให้ไม่เกินขอบเขตของหน้าจอ */
  height: 4px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.8) 50%, transparent);
  transform: translateX(-100%);
  animation: lineRun 7.5s linear infinite;
  z-index: 1;
}

@keyframes lineRun {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}
