body {
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0;
        padding: 5vh 16px;
      }

      .carousel {
        position: relative;
        overflow: hidden;
        height: 90vh;
      }
      .item {
        position: relative;
        height: 100%;
      }
      .carousel .item > * {
        display: none;
      }
      .carousel .item > *.show {
        display: block;
      }
      .carousel img {
        height: 100%;
        width: 100%;
        display: block;
        object-fit: contain;
      }
      .carousel video {
        height: 100%;
        width: 100%;
        display: block;
        object-fit: contain;
        -webkit-filter: contrast(120%);
        -webkit-filter: saturate(120%);
      }

      .carousel button {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        background: rgba(0, 0, 0, 0.5);
        color: white;
        border: none;
        padding: 10px;
        cursor: pointer;
      }

      .carousel button:hover {
        background: rgba(0, 0, 0, 0.7);
      }

      .prev {
        left: 10px;
      }
      .next {
        right: 10px;
      }