.carousel {
   height: 100vh;
   width: 100vw;
   padding: 0;
   overflow: hidden;
}

.carousel-inner {
   position: relative;
   width: 100%;
   max-width: 900px;
   height: 300px;
   margin: auto;
   overflow: visible;
   display: flex;
   justify-content: center;
   align-items: center;
   white-space: nowrap;
   scrollbar-width: none;
}

.carousel-inner::-webkit-scrollbar {
   display: none;
}

.carousel-item {
   position: absolute;
   top: 10%;
   left: 50%;
   margin: auto;
   height: 90vh;
   width: 85vh;
   display: inline-flex;
   justify-content: center;
   align-items: center;
   text-align: center;
   transition: 0.8s;
   opacity: 0.1;
}

.carousel-item.active {
   transform: translateX(-50%) scale(1);
   opacity: 1;
   z-index: 3;
}

.carousel-item.prev {
   transform: translateX(-120%) scale(0.8);
   opacity: 0.8;
   filter: blur(2px);
   z-index: 2;
}

.carousel-item.next {
   transform: translateX(20%) scale(0.8);
   opacity: 0.8;
   filter: blur(2px);
   z-index: 2;
}

.carousel-item.hidden-left {
   transform: translateX(-120%) scale(0.8);
   opacity: 0;
   pointer-events: none;
   z-index: 1;
}

.carousel-item.hidden-right {
   transform: translateX(20%) scale(0.8);
   opacity: 0;
   pointer-events: none;
   z-index: 1;
}

/* .carousel-item:hover {
   transform: scale(1.05);
}

.carousel-item-last:hover,
.carousel-item-next:hover {
   transform: scale(0.95);
} */

.carousel-item-inner {
   background-color: #f5f5f5;
   border-radius: 2rem;
   padding: 0.5rem 0.5rem 1.5rem;
   transition: 0.2s;
   border: 0.2rem solid #ddd;
}

.carousel-item-inner:hover img {
   box-shadow: 0 0.2rem 0.5rem #111;
   transform: translateY(-0.3rem);
}

.carousel-item img {
   width: 78vh;
   border-radius: 1.6rem;
   transition: 0.2s;
}

.carousel-item .text-items {
   margin: 1rem 0;
}

.carousel-item h2 a {
   text-decoration: none;
   cursor: pointer;
}

.carousel-item h2 a:hover {
   text-decoration: underline;
}

.carousel-item p {
   margin: 0.2rem 0;
   color: #222;
}

.title {
   text-align: center;
   font-size: 5rem;
   margin-bottom: -3rem;
   color: #333;
   text-shadow: 0 0 .2rem #fff, .2rem .2rem cyan,
      -.2rem -.2rem magenta;
}


@media only screen and (max-width: 750px) {
   .carousel-inner {
      height: 0;
   }
   .carousel-item-inner {
      width: 100vw;
      box-sizing: border-box;
   }

   .carousel-item-inner img {
      width: 100%;
   }
}

@media (prefers-color-scheme: dark) {
   .title {
      color: #fff;
      text-shadow: 0 0 .2rem #888, .2rem .2rem cyan,
            -.2rem -.2rem magenta;
   }
   .carousel-item-inner {
      background-color: #333;
      border: 0.2rem solid #666;
   }
   .carousel-item p {
      color: #ddd;
   }
}