.galleryimg {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
}

.galleryimg_current {
    animation-name: galleryimgtransitionin;
    animation-duration: 4s;
     visibility: visible;
    transform: translate( 0, 0 );
}

.galleryimg_notcurrent {
    animation-name: galleryimgtransitionout;
    animation-duration: 4s;
    visibility: hidden;
    transform: translate( 100%, 0 );
}

@keyframes galleryimgtransitionin {
    0% {
        transform: translate( 100%, 0 );
        visibility: hidden;
    }
    1% {
        transform: translate( 100%, 0 );
        visibility: visible;
    } 
    99%{
        transform: translate( 0, 0 );
        visibility: visible;
    }
    100% {
        transform: translate( 0, 0 );
        visibility: visible;
    }
}

@keyframes galleryimgtransitionout {
    0% {
        transform: translate( 0, 0 );
        visibility: visible;
    }
    1% {
        transform: translate( 0, 0 );
        visibility: visible;
    }
    99% {
        transform: translate( -100%, 0 );
        visibility: visible;
    }
    100% {
        transform: translate( 100%, 0 );
        visibility: hidden;
    }
}

#gallerycontainer {
    width: 100%;
    padding-top: 56.25%;
    position: relative;
    overflow: hidden;
    background-color: #000000;
}

#galleryimgcontainer {
    position: absolute;
    top: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
}

#gallerycontrollercontainer {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
    background-color: rgba( 0, 0, 0, 0.3 );
    color: rgba( 255, 255, 255, 0.4 );
    visibility: hidden;
    text-align: center;
    overflow: hidden;
    height: 3em;
    display: none;
}

@media only screen and ( any-pointer: fine ) {
    #gallerycontrollercontainer {
        display: block;
    }
}

#gallerycontainer:hover #gallerycontrollercontainer { 
    visibility: visible;
    animation-name: gallerycontrollercontainertransitionin;
    animation-duration: 1s;
    
}

#gallerycontainer:not(:hover) #gallerycontrollercontainer { 
    visibility: hidden;
    animation-name: gallerycontrollercontainertransitionout;
    animation-duration: 1s;
    
}

#galleryleftbutton, #galleryrightbutton, .gallerydotbuttoncurrent, .gallerydotbuttonnotcurrent, #galleryplaypausebutton {
    font-size: 200%;
    padding: 0.5em;
    padding-top: 1em;
    padding-bottom: 1em;
}

.gallerydotbuttoncurrent {
    color: rgba( 255, 255, 255, 0.9 );
}

#galleryplaypausebutton {
    width: 3em;
    text-align: left;
}

@keyframes gallerycontrollercontainertransitionin {
    0% {
        visibility: hidden;
        transform: translate( 0, 3em );
    }
    1% {
        visibility: visible;
        transform: translate( 0, 3em );
    } 
    100% {
        visibility: visible;
        transform: translate( 0, 0 );
    }
}

@keyframes gallerycontrollercontainertransitionout {
    0% {
        visibility: visible;
        transform: translate( 0, 0 );
    }
    99% {
        visibility: visible;
        transform: translate( 0, 3em );
    }
    100% {
        visibility: hidden;
        transform: translate( 0, 3em );
    }
}

#galleryleft, #galleryright {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 1;
    width: 50%;
    overflow: hidden;
}

#galleryleft {
    left: 0;
}

#galleryright {
    right: 0;
}