html.hidescrollbar {
    overflow-x: hidden;
}

html.hidescrollbar body {
    overflow-x: hidden;
}

/* ###### CSS for video thumbnails ###### */

ul.youtubewall {
    margin: 0;
    padding: 0;
    list-style: none;
    width: 100%;
    overflow: hidden;
}

ul.youtubewall li {
    width: 25%; /* by default, show 4 columns of thumbnails */
    float: left;
    display: inline;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 5px; /* general spacing between thumbnails */
    margin-bottom: 8px; /* bottom spacing between thumbnails */
}

ul.youtubewall li .thumbwrap {
    position: relative;
    overflow: hidden;
    display: block;
}

/* thumbnail overlay */
ul.youtubewall li .thumbwrap:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: black;
    opacity: 0;
    -webkit-transition: opacity .6s;
    transition: opacity .6s;
}

ul.youtubewall li .panel {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    z-index: 1000;
    top: 0;
    left: 0;
    opacity: 0;
    text-align: center;
    background-color: unset;
}
ul.youtubewall li  p {
    height: 35px;
    clear: both;
    padding: 5px;
}
/* technique to center panel vertically */
ul.youtubewall li .panel:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

ul.youtubewall li .panel .panelinner {
    display: inline-block;
    position: relative;
    vertical-align: middle; /* center .panelinner vertically */
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
    -webkit-transition: all .5s;
    transition: all .5s;
}

/* fontawesome elements style */
ul.youtubewall li .panel i,
ul.youtubewall li .panel a {
    font-size: 44px;
    color: white;
    cursor: pointer;
    text-decoration: none;
}

ul.youtubewall li .panel a {
    margin-left: 15px;
}

ul.youtubewall li img {
    width: 100%;
    height: auto;
    float: left;
}

ul.youtubewall li:hover .thumbwrap:after {
    opacity: .4;
}

ul.youtubewall li:hover .panel {
    opacity: 1;
}

ul.youtubewall li:hover .panel .panelinner {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

/* ###### CSS for video lightbox that pops up ###### */

.videobox {
    position: fixed;
    width: 100%; /* can be any width */
    height: 100%;
    left: 0;
    top: 0;
    display: none;
    z-index: 1000;
    text-align: center;
}

.videobox:before { /* pseudo element to force vertical centering of child element */
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

.videobox:after { /* pseudo element to create overlay */
    background: black;
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0.5;
    z-index: 10;
}

/* Centered child element can be any width and height */
.centeredchild {
    position: relative; /* position element to participate in z-indexing */
    z-index: 20; /* higher z-index than overlay */
    display: inline-block;
    vertical-align: middle;
    width: 75%; /* width of video player relative to browser */
    background: transparent;
}

/* Video container to maintain Youtube 16:9 aspect ratio */
.videowrapper {
    position: relative;
    padding-top: 25px;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    height: 0;
}

/* Make Youtube IFRAME responsive */
.videowrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* ####### responsive layout CSS ####### */

@media (max-width: 800px) {
    /* FIRST breaking point */
    ul.youtubewall li {
        width: 33%; /* reduce to 3 columns of thumbnails */
    }

    .centeredchild {
        width: 90%; /* enlarge video player container */
    }
}

@media (max-width: 480px) {
    /* SECOND breaking point */
    ul.youtubewall li {
        width: 50%; /* reduce to 2 columns of thumbnails */
    }
}