.pvl-element, .pvl-element * {
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    font-size: 14px;
    line-height: 1.5;
    font-size: inherit;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/* force media elements to respect parent container width */
.pvl-element img, .pvl-element iframe {
    max-width: 100% !important;
}

.pvl-element img {
    height: auto !important;
}

/* Clearfix */
.pvl-element:before,
.pvl-element:after,
.pvl-container:before,
.pvl-container:after,
.pvl-row:before,
.pvl-row:after {
    content: " ";
    display: table;
}

.pvl-element:after,
.pvl-container:after,
.pvl-row:after {
    clear: both;
}

/* Row position */
.pvl-row {
    margin: 0 -15px;
}

/* Column position */
.pvl-col-1, .pvl-col-2, .pvl-col-3, .pvl-col-4, .pvl-col-5, .pvl-col-6, .pvl-col-7, .pvl-col-8, .pvl-col-9, .pvl-col-10, .pvl-col-11, .pvl-col-12 {
    position: relative;
    min-height: 1px;
    padding-left: 15px;
    padding-right: 15px;
}

@media (min-width: 768px) {

    /* Column floats / widths */
    .pvl-col-1, .pvl-col-10, .pvl-col-11, .pvl-col-12, .pvl-col-2, .pvl-col-3, .pvl-col-4, .pvl-col-5, .pvl-col-6, .pvl-col-7, .pvl-col-8, .pvl-col-9 {
        float: left
    }

    .pvl-col-12 {
        width: 100%
    }

    .pvl-col-11 {
        width: 91.66666667%
    }

    .pvl-col-10 {
        width: 83.33333333%
    }

    .pvl-col-9 {
        width: 75%
    }

    .pvl-col-8 {
        width: 66.66666667%
    }

    .pvl-col-7 {
        width: 58.33333333%
    }

    .pvl-col-6 {
        width: 50%
    }

    .pvl-col-5 {
        width: 41.66666667%
    }

    .pvl-col-4 {
        width: 33.33333333%
    }

    .pvl-col-3 {
        width: 25%
    }

    .pvl-col-2 {
        width: 16.66666667%
    }

    .pvl-col-1 {
        width: 8.33333333%
    }
}

/* Buttons */
a.pvl-button {
    display: block;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    color: #333333 !important;
    background-color: #f8f8f8 !important;
    border: 1px solid #d3d3d3 !important;
    white-space: nowrap;
    margin: 10px 0;
    padding: 6px 12px;
}

a.pvl-button:focus, a.pvl-button:hover {
    background: #F0F0F0 !important;
    border: 1px solid #333333 !important;
}

.pvl-videoMoreButton {
    border-bottom: 0;
    border-left: 0;
    border-right: 0;
    margin-bottom: 0;
    background: none;
}

.pvl-playlistsButton {
    text-align: left;
}

/* Video Player */
.pvl-videoPlayer {
    margin: 10px 0;
    border: 1px solid #d3d3d3;
    line-height: 0;
}

/* Video Details */
.pvl-videoDetails {
    margin: 10px 0;
    padding: 10px 12px 0;
    color: #333333;
    background: #fff;
    border: 1px solid #d3d3d3;
}

.pvl-videoTitle, .pvl-videoDescription {
    margin: 0 0 10px;
}

.pvl-videoTitle {
    font-weight: bold;
}

.pvl-videoDescription {
    position: relative;
    overflow: hidden;
    height: auto;
}

.pvl-videoDescriptionCollapsed {
    height: 2em;
}

.pvl-videoDescriptionCollapsed:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(100%, rgba(255, 255, 255, 1)));
    /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    /* Opera 11.10+ */
    background: -ms-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    /* IE10+ */
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffffff', endColorstr='#ffffff', GradientType=0);
    /* IE6-9 */
}

/* Playlist Items */
a.pvl-playlistItem {
    display: block;
    font-weight: normal;
    vertical-align: middle;
    text-decoration: none;
    cursor: pointer;
    color: #333333 !important;
    background-color: #ffffff !important;
    border-bottom: 1px solid #d3d3d3;
    margin: 0 0 10px;
    padding: 10px 0;
}

a.pvl-playlistItem:hover, a.pvl-playlistItem:focus {
    background: #F0F0F0 !important;
}

.pvl-playlistItemThumbnail img, .pvl-playlistItemTitle, .pvl-playlistItemDescription {
    margin: 0 0 10px;
}

.pvl-playlistItemThumbnail img {
    width: 100%;
    border: 1px solid #d3d3d3;
}

.pvl-playlistItemTitle {
    font-weight: bold;
}

.pvl-playlistItemDescription {
    display: none;
}

@media (min-width: 768px) {
    .pvl-playlistItemDescription {
        display: block;
    }
}

/* Misc Helpers */
.pvl-text-right {
    text-align: right;
}

/* Accessibility Helpers */
.pvl-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  
  .pvl-sr-only-focusable:active, .pvl-sr-only-focusable:focus {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    white-space: normal;
  }