.carousel {
    position: relative;
  }
  
  .carousel-inner {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
  
  .carousel-item {
    position: relative;
    display: none;
    align-items: center;
    width: 100%;
    transition: transform 0.6s ease, opacity 0.6s ease;
  }
  
  .carousel-item img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
  
  .carousel-item.active,
  .carousel-item-next,
  .carousel-item-prev {
    display: block;
  }
  
  .carousel-control-prev,
  .carousel-control-next {
    position: absolute;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 5%;
    color: #fff;
    text-align: center;
    opacity: 0.5;
    transition: opacity 0.15s ease;
  }
  
  .carousel-control-prev {
    left: 0;
  }
  
  .carousel-control-next {
    right: 0;
  }
  
  .carousel-control-prev:hover,
  .carousel-control-next:hover {
    color: #fff;
    text-decoration: none;
    opacity: 0.9;
  }
  
  .carousel-control-prev-icon,
  .carousel-control-next-icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: no-repeat 50%/100% 100%;
  }
  
  .carousel-control-prev-icon {
      background-image: url('data:image/svg+xml;charset=utf8,%3Csvg xmlns%3D%27http%3A//www.w3.org/2000/svg%27 fill%3D%27%23fff%27 viewBox%3D%270 0 8 8%27%3E%3Cpath d%3D%27M3.5 0L4.5 1 2 3.5h6v1H2L4.5 7 3.5 8 0 4 3.5 0z%27/%3E%3C/svg%3E');
      }
      
  .carousel-control-next-icon {
      background-image: url('data:image/svg+xml;charset=utf8,%3Csvg xmlns%3D%27http%3A//www.w3.org/2000/svg%27 fill%3D%27%23fff%27 viewBox%3D%270 0 8 8%27%3E%3Cpath d%3D%27M4.5 0L3.5 1 6 3.5 0 3.5 0 4.5l6-0.03L3.5 7 4.5 8 8 4 4.5 0z%27/%3E%3C/svg%3E');
  }
  
  .carousel-indicators {
    position: absolute;
    bottom: 10px;
    left: 50%;
    z-index: 15;
    width: 60%;
    padding-left: 0;
    margin-left: -30%;
    text-align: center;
    list-style: none;
  }
  
  .carousel-indicators li {
    position: relative;
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 1px;
    text-indent: -999px;
    cursor: pointer;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #fff;
    border-radius: 10px;
    opacity: 0.5;
    transition: opacity 0.6s ease;
  }
  
  .carousel-indicators .active {
    opacity: 1;
  }
  
  @media (max-width: 768px) {
    .carousel-control-prev,
    .carousel-control-next {
      width: 10%;
    }
  
    .carousel-item img {
      object-fit: contain;
    }
  }
  