#carousel-wrapper {
    width: 100% !important;
    height: 100vh;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    overflow: hidden;

    #menu {
        height: 500px;
        width: 100%;
        overflow: hidden;
        font-weight: 700;
        line-height: 1;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        vertical-align: middle;
        transition: all 0.6s ease-in-out;

        #current-option {
            position: relative;
            width: 100%;
            height: 100%;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            overflow: hidden;
            transform: translate(-280px, 0);

            #current-option-text1 {
                font-size: 3.2rem;
                line-height: 3rem;
                font-weight: 800;
                letter-spacing: 5px;
                width: 550px;
                height: 130px;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: flex-start;
                color: #FFFFFF;

                &::before {
                    content: attr(data-next-text);
                    position: absolute;
                    transform: translate(0%, 380px);
                    width: 100%;
                    height: 200px;
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    justify-content: flex-start;
                }

                &::after {
                    content: attr(data-previous-text);
                    position: absolute;
                    transform: translate(0%, -380px);
                    width: 100%;
                    height: 200px;
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    justify-content: flex-start;
                }
            }

            #current-option-text2 {
                font-size: 1.3rem;
                width: 550px;
                height: 95px;
                line-height: 25px;
                font-weight: 400;
                letter-spacing: 1.5px;
                display: flex;
                flex-direction: column;
                align-items: flex-start;
                justify-content: flex-end;
                color: #FFFFFF;

                &::before {
                    content: attr(data-next-text);
                    position: absolute;
                    transform: translate(0%, 380px);
                    width: 100%;
                    height: 40px;
                    display: flex;
                    flex-direction: column;
                    align-items: flex-start;
                    justify-content: flex-end;
                }

                &::after {
                    content: attr(data-previous-text);
                    position: absolute;
                    transform: translate(0%, -380px);
                    width: 100%;
                    height: 40px;
                    display: flex;
                    flex-direction: column;
                    align-items: flex-start;
                    justify-content: flex-end;
                }
            }
        }

        #previous-option {
            width: 1.5rem;
            height: 1.5rem;
            border: none;
            display: block;
            cursor: pointer;
            background: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 256 256'%3E%3Cpolygon points='225.813,48.907 128,146.72 30.187,48.907 0,79.093 128,207.093 256,79.093' fill='%23fff'%3E%3C/polygon%3E%3C/svg%3E");
            background-size: cover;
            position: absolute;
            transform: translate(480px, 50px);
        }

        #next-option {
            width: 1.5rem;
            height: 1.5rem;
            border: none;
            display: block;
            cursor: pointer;
            background: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 256 256'%3E%3Cpolygon points='225.813,48.907 128,146.72 30.187,48.907 0,79.093 128,207.093 256,79.093' fill='%23fff'%3E%3C/polygon%3E%3C/svg%3E");
            background-size: cover;
            position: absolute;
            transform: translate(480px, -50px) rotate(180deg);
        }
    }

    #image {
        height: 400px;
        width: 350px;
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        z-index: 101;
        position: absolute;
        transform: translate(250px, 0);
        border-radius: 20px;
    }

    &.anim-next {
        pointer-events: none;

        #current-option-text1 {
            animation: next-text 0.65s 0.085s;
        }

        #current-option-text2 {
            animation: next-text 0.65s 0.085s;
        }

        #previous-option {
            animation: next-top-arrow 0.65s 0.085s;
        }

        #next-option {
            animation: next-bottom-arrow 0.65s 0.085s;
        }

        #image {
            animation: next-image 0.65s 0.085s;
        }
    }

    &.anim-previous {
        pointer-events: none;

        #current-option-text1 {
            animation: previous-text 0.65s 0.085s;
        }

        #current-option-text2 {
            animation: previous-text 0.65s 0.085s;
        }

        #previous-option {
            animation: previous-top-arrow 0.65s 0.085s;
        }

        #next-option {
            animation: previous-bottom-arrow 0.65s 0.085s;
        }

        #image {
            animation: previous-image 0.65s 0.085s;
        }
    }
}

@keyframes previous-text {
    50%,
    55% {
        transform: translate(0%, 390px);
    }
    to {
        transform: translate(0%, 380px);
    }
}

@keyframes previous-top-arrow {
    50% {
        transform: translate(480px, 50px);
    }
}

@keyframes previous-bottom-arrow {
    50% {
        transform: translate(480px, -50px) rotate(180deg);
    }
}

@keyframes previous-image {
    0% {
        transform: translate(250px, 0) scale(1);
        opacity: 1;
    }
    70% {
        transform: translate(250px, 0) scale(1.1);
        opacity: 0;
    }
    100% {
        transform: translate(250px, 0) scale(1);
        opacity: 1;
    }
}

@keyframes next-text {
    50%,
    55% {
        transform: translate(0%, -390px);
    }
    to {
        transform: translate(0%, -380px);
    }
}

@keyframes next-top-arrow {
    50% {
        transform: translate(480px, 50px);
    }
}

@keyframes next-bottom-arrow {
    50% {
        transform: translate(480px, -50px) rotate(180deg);
    }
}

@keyframes next-image {
    0% {
        transform: translate(250px, 0) scale(1);
        opacity: 1;
    }
    70% {
        transform: translate(250px, 0) scale(1.1);
        opacity: 0;
    }
    100% {
        transform: translate(250px, 0) scale(1);
        opacity: 1;
    }
}