body {
    height: 100%;
}

.bg {
    background-size: cover;
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}

.bg img {
    width: 100%;
    height: auto;
}

.picto {
    line-height: 40px;
    width: 40px;
    color: #fff;
    text-align: center;
    background: #314647;
    font-size: 1.3rem;
    border-radius: 50%;
    z-index: 99;
    margin: 16px;
}

.picto:hover {
    transform: scale(1.5);
    /* (150% zoom - Note: if the zoom is too large, it will go outside of the viewport) */
}

.picto a {
    display: block;
    color: #fff!important;
}

.picto a:hover {
    color: #fff!important;
    text-decoration: none;
}

.screen {
    position: absolute;
    top: calc(24% - -31px);
    left: calc(77% - 51px);
}

.appointlet {
    position: absolute;
    top: calc(62% - 16px);
    left: calc(42% - 72px);
}

.jitsi {
    position: absolute;
    top: calc(50% + 0vw - 40px);
    left: calc(50% + -7vw - 40px);
}

@media (max-width: 1400px) {
    .appointlet {
        position: absolute;
        top: calc(56% - 16px);
        left: calc(42% - 72px);
    }
    .screen {
        position: absolute;
        top: calc(19% - -31px);
        left: calc(77% - 51px);
    }
}

@media (max-width: 1200px) {
    .appointlet {
        position: absolute;
        top: calc(47% - 16px);
        left: calc(42% - 72px);
    }
    .screen {
        position: absolute;
        top: calc(15% - -31px);
        left: calc(77% - 51px);
    }
}

@media (max-width: 992px) {
    .appointlet {
        position: absolute;
        top: calc(39% - 16px);
        left: calc(42% - 72px);
    }
    .screen {
        position: absolute;
        top: calc(13% - -31px);
        left: calc(79% - 51px);
    }
}