.carousel {
    position: relative;
    overflow: hidden;
    /*margin: 40px auto;*/
    max-width: 100%;
}

.carousel-track {
    display: flex;
    transition: transform 0.4s ease-in-out;
    user-select: none;
}

.slide {
    /*background: #6200ea;*/
    /*color: white;*/
    /*padding: 40px;*/
    /*text-align: center;*/
    /*font-size: 1.2rem;*/
    /*border-radius: 10px;*/
    /*margin: 0 5px;*/
    /*flex-shrink: 0;*/
    display: flex;
}

.carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: #00000080;
    color: white;
    border: none;
    padding: 10px;
    cursor: pointer;
    z-index: 1;
    width: 45px;
    border-radius: 50%;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    text-shadow: 0px 0px 2px #000;
}

.carousel-btn:hover{
    background: #6d508f;
}

.carousel-btn.prev {
    left: 10px;
}

.carousel-btn.next {
    right: 10px;
}

.carousel.hidden_btns .carousel-btn.prev {
    left: -45px;
    transition-duration: 0.15s;
}

.carousel.hidden_btns .carousel-btn.next {
    right: -45px;
    transition-duration: 0.15s;
}

.carousel.hidden_btns:hover .carousel-btn.prev {
    left: 10px;
    transition-duration: 0.15s;
}

.carousel.hidden_btns:hover .carousel-btn.next {
    right: 10px;
    transition-duration: 0.15s;
}

.carousel-dots {
    text-align: center;
}
.carousel-dots .dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    background: #bbb;
    border-radius: 50%;
    margin: 0 5px;
    cursor: pointer;
}
.carousel-dots .dot.active {
    background: #654987;
}