#video_container {
    aspect-ratio: 16 / 9;
    width: 100%;
    position: relative;
    background: #000;
}

#video_container video {
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 1;
    z-index: 2;
}

#video_container .hidden {
    display: none;
}

#video_container video#video_overview.prio {
    z-index: 5;
}

#video_container video#video_overview {
    z-index: 1;
}

#video_container .product_infos {
    opacity: 0;
    width: 45%;
    object-fit: cover;
    position: absolute;
    top: 50%;
    left: 30px;
    z-index: 100;
    color: #fff;
    background: rgba(0, 0, 0, 0.5);
    padding: 30px;
    transition: opacity 0.3s ease;
    transform: translateY(-50%);
    visibility: hidden;
}

#video_container .product_infos h1,
#video_container .product_infos h2,
#video_container .product_infos h3,
#video_container .product_infos h4,
#video_container .product_infos h5{
    color: #fff;
}

#video_container .product_infos *:last-child {
    margin-bottom: 0;
}

#video_container #hotspots {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 99;
    opacity: 0;
    transition: opacity 0.3s ease;
}

#video_container #hotspots #hotspot_video_1 {
    position: absolute;
    left: 50.5%;
    top: 23%;
}

#video_container #hotspots #hotspot_video_2 {
    position: absolute;
    left: 47.5%;
    top: 34%;
}

#video_container #hotspots #hotspot_video_3 {
    position: absolute;
    left: 50%;
    top: 38%;
}

#video_container #hotspots #hotspot_video_4 {
    position: absolute;
    left: 49%;
    top: 60%;
}

#video_container #hotspots #hotspot_video_5 {
    position: absolute;
    left: 46.5%;
    top: 63%;
}

#video_container #hotspots #hotspot_video_6 {
    position: absolute;
    left: 75.5%;
    top: 10%;
    box-shadow: 0 0 0 0 rgba(226, 220, 0, 0.5);
    -webkit-animation: pulse-power 2s infinite;
    border: 4px solid rgb(226, 220, 0);
}

#video_container #hotspots #hotspot_video_7 {
    position: absolute;
    left: 84.5%;
    top: 41%;
    box-shadow: 0 0 0 0 rgba(226, 220, 0, 0.5);
    -webkit-animation: pulse-power 2s infinite;
    border: 4px solid rgb(226, 220, 0);
}

#video_container #hotspots #hotspot_video_8 {
    position: absolute;
    left: 75.5%;
    top: 82%;
    box-shadow: 0 0 0 0 rgba(226, 220, 0, 0.5);
    -webkit-animation: pulse-power 2s infinite;
    border: 4px solid rgb(226, 220, 0);
}

#video_container #hotspots #hotspot_video_9 {
    position: absolute;
    left: 21%;
    top: 65%;
}

#video_container #hotspots #hotspot_video_10 {
    position: absolute;
    left: 15.3%;
    top: 56.8%;
}

#video_container #hotspots button {
    display: block;
    width: 30px;
    height: 30px;
    border: none;
    border-radius: 100%;
    background: #fff;
    cursor: pointer;
    box-shadow: 0 0 0 0 rgba(0, 89, 148, 0.5);
    -webkit-animation: pulse 2s infinite;
    border: 4px solid rgb(0 119 200);
    display: flex;
    align-items: center;
    justify-content: center;
}

#video_container #hotspots button img{
    width: 8px;
}

#video_container #hotspots button:hover {
    -webkit-animation: none !important;
    background: #fff;
}

@-webkit-keyframes pulse {
    0% {
        -moz-transform: scale(0.9);
        -ms-transform: scale(0.9);
        -webkit-transform: scale(0.9);
        transform: scale(0.9);
    }

    70% {
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -webkit-transform: scale(1);
        transform: scale(1);
        box-shadow: 0 0 0 30px rgba(90, 153, 212, 0);
    }

    100% {
        -moz-transform: scale(0.9);
        -ms-transform: scale(0.9);
        -webkit-transform: scale(0.9);
        transform: scale(0.9);
        box-shadow: 0 0 0 0 rgba(90, 153, 212, 0);
    }
}

@-webkit-keyframes pulse-power {
    0% {
        -moz-transform: scale(0.9);
        -ms-transform: scale(0.9);
        -webkit-transform: scale(0.9);
        transform: scale(0.9);
    }

    70% {
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -webkit-transform: scale(1);
        transform: scale(1);
        box-shadow: 0 0 0 30px rgba(226, 220, 0, 0);
    }

    100% {
        -moz-transform: scale(0.9);
        -ms-transform: scale(0.9);
        -webkit-transform: scale(0.9);
        transform: scale(0.9);
        box-shadow: 0 0 0 0 rgba(226, 220, 0, 0);
    }
}


#video_container .backToOverview {
    transition: 0.3s ease opacity;
    position: absolute;
    top: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    border: none;
    text-shadow: 0 3px 3px black;
    padding: 5px;
    z-index: 99;
    line-height: 100%;
    aspect-ratio: 1;
    cursor: pointer;
}

#video_container .backToOverview:hover {
    background: rgba(255, 255, 255, 0.3);
}

#video_container .backToOverview img {
    width: 30px;
    height: 30px;
}

#video_container .show {
    opacity: 1 !important;
    visibility: visible !important;
}

#video_container .popup-btn {
    background: rgb(0 119 200);
    color: #fff;
}

#video_container .popup-btn:hover {
    background: rgba(0, 89, 148, 1) !important;
    color: #fff;
}

#video_container [data-tooltip] {
    position: relative;
    z-index: 2;
    cursor: pointer;
}

/* Hide the tooltip content by default */
#video_container [data-tooltip]:before,
#video_container [data-tooltip]:after {
    visibility: hidden;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    pointer-events: none;
}

/* Position tooltip above the element */
#video_container [data-tooltip]:before {
    position: absolute;
    bottom: 150%;
    left: 50%;
    margin-bottom: 5px;
    transform: translateX(-50%);
    padding: 7px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    background-color: rgba(0, 89, 148, 0.7);
    color: #fff;
    content: attr(data-tooltip);
    text-align: center;
    font-size: 14px;
    line-height: 1.2;
    white-space: nowrap;
}

/* Triangle hack to make tooltip look like a speech bubble */
#video_container [data-tooltip]:after {
    position: absolute;
    bottom: 150%;
    left: 50%;
    margin-left: -5px;
    width: 0;
    border-top: 5px solid #000;
    border-top: 5px solid rgba(0, 89, 148, 0.7);
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    content: " ";
    font-size: 0;
    line-height: 0;
}

#video_container #hotspot_video_6:before,
#video_container #hotspot_video_7:before,
#video_container #hotspot_video_8:before {
    background-color: rgba(226,220,0, 0.7);
    color: initial;
}
#video_container #hotspot_video_6:after,
#video_container #hotspot_video_7:after,
#video_container #hotspot_video_8:after {
    border-top: 5px solid rgba(226,220,0, 0.7);
}

/* Show tooltip content on hover */
#video_container [data-tooltip]:hover:before,
#video_container [data-tooltip]:hover:after {
    visibility: visible;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
}

#video_container .loading {
    opacity: .85;
}

#video_container .load-label {
    display: none;
}

#video_container .loading .load-label {
    position: absolute;
    color: white;
    z-index: 9;
    top: 25%;
    left: 25%;
    bottom: 25%;
    right: 25%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 6vw;
}

#video_container .loader {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: inline-block;
    border-top: 3px solid #FFF;
    border-right: 3px solid transparent;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
}

@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@media(max-width:768px) {
    #video_container {
        padding-top: 56.25%;
        aspect-ratio: auto;
        background: var(--color-light);
    }

    #video_container video,
    #video_container #hotspots {
        aspect-ratio: 16 / 9;
        height: auto;
    }

    #video_container .product_infos h1, #video_container .product_infos h2, #video_container .product_infos h3, #video_container .product_infos h4, #video_container .product_infos h5 {
        color: initial;
    }

    #video_container .product_infos {
        opacity: 0;
        width: 100%;
        object-fit: cover;
        position: relative;
        top: 0;
        left: 0;
        z-index: auto;
        color: initial;
        background: transparent;
        padding: 20px;
        transition: opacity 0.3s ease;
        transform: none;
        visibility: hidden;
        display: none;
        box-sizing: border-box;
    }

    #video_container .product_infos.show {
        display: block;
    }

    #video_container .product_infos .btn {
        float: none;
    }

    #video_container .backToOverview {
        background: var(--color-second);
    }

    #video_container #hotspots #hotspot_video_2 {
        left: 42.5%;
        top: 34%;
    }

    #video_container #hotspots #hotspot_video_3 {
        left: 50%;
        top: 39%;
    }

    #video_container #hotspots #hotspot_video_4 {
        left: 50%;
        top: 60%;
    }

    #video_container #hotspots #hotspot_video_5 {
        left: 41.5%;
        top: 63%;
    }

    #video_container #hotspots #hotspot_video_6 {
        left: 75.5%;
        top: 40%;
    }

    #video_container #hotspots #hotspot_video_7 {
        left: 75.5%;
        top: 55%;
    }

    #video_container #hotspots #hotspot_video_8 {
        left: 75.5%;
        top: 63%;
    }
}