body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, button, textarea, p, blockquote, th, td {
	margin: 0;
	padding: 0;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

fieldset, img {
	border: 0;
}

del, ins {
	text-decoration: none;
}

li {
	list-style: none;
}

caption, th {
	text-align: left;
}

div.clear {
    clear: both;
}

a {
    text-decoration: none;
    color: #dadada;
}

a:hover {
    color: #ffffff;
}

ul {
    list-style: none;
}

header {
    height: 80px;
}

body {
    background: #1b1b1b;
    color: #dadada;
    font-family: system-ui, sans-serif;
    font-size: 14px;
}

footer {
    display: grid;
    clear: both;
}

#logo {
    float: left;
    margin: 25px 0 0 5px;
    opacity: 0.8;
}

#logo:hover {
    opacity: 1;
}

.logoWrapper a {
    display: inline-block;
    height: 30px;
    line-height: 30px;
    color: #cc2200;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: 1px;
    text-decoration: none;
}

.logoWrapper a:hover {
    color: #ea4335;
}

#primary-nav {
    border-top: 2px solid #2b2b2b !important;
    margin: 0 5px;
    background: #1b1b1b;
    font-size: 14px;
    font-weight: 400;
    padding: inherit;
}

#primary-nav .menu {
    list-style: none;
    overflow: hidden;
    z-index: 999;
}

#primary-nav .menu li a{
    float: left;
    display: inline-flex;
    text-align: center;
    padding: 5px 10px;
    line-height: 20px;
    margin-right: 5px;
    margin-top: 5px;
    background: #2b2b2b;
    color: #dadada;
    border-radius: 4px;
    z-index: 999;
}

#primary-nav .menu li:hover a,
.menu li:hover a:active {
    text-decoration: none;
    color: #ea4335;
}

#primary-nav .menu li a.active {
    background: rgba(234, 67, 53, 0.6);
    color: #dadada;
    border: 0;
}

span.icon {
    display: inline-flex;
}

.icon-home:before {
    content: '';
    background-image: url(../img/icon-home.svg);
    width: 16px;
    height: 16px;
    background-size: 16px;
    background-repeat: no-repeat;
    margin-right: 2px;
    margin-top: 3px;
}

#search-box {
    margin: 5px;
    display: inline-flex;
    float: right;
}

.search {
    width: 100%;
    max-width: 300px;
    float: right;
    border: 1px solid #2b2b2b;
    display: flex;
    overflow: hidden;
}

span.icon-search {
	display: inline-flex;
	background: #1b1b1b;
	padding: 0.3rem;
	margin-top: 1px;
	color: #dadada;
	opacity: .6;
}

span.icon-search:before{
	content: '';
	background-image: url(../img/icon-search.svg);
	width: 14px;
	height: 14px;
	background-size: 14px;
	background-repeat: no-repeat;
}

.search .searchTxt {
	width: 100%;
	background: #1b1b1b;
	padding: 5px;
	color: #dadada;
	font-size: 14px;
	outline: 0;
	border: 0;
	border-collapse: separate;
	-webkit-appearance: none;
}

.search .searchBtn {
    background: none repeat scroll 0 0 rgba(234,67,53,.6);
    color: #dadada;
    border-left: 1px solid #2b2b2b !important;
    outline: 0;
    border: 0;
    border-radius: 0;
    float: left;
    font-size: 14px;
    padding: 5px;
    cursor: pointer;
    -webkit-appearance: none;
}

.search .searchBtn:hover {
	background: #ea4335;
}

.category-info {
    background: #2b2b2b;
    font-size: 14px;
    padding: 5px;
    margin: 0 5px;
    line-height: 1.5;
    border-radius: 4px;
    margin-bottom: 5px;
}

#wrapper {
    margin: 0 auto;
    position: relative;
    max-width: 1140px;
    border: 1px solid #2b2b2b;
}

#container {
    display: block;
}

#video {
    margin: 0 5px;
}

.video-list {
    display: block;
}

.video-item {
    width: 20%;
    margin-bottom: 20px;
    overflow: hidden;
    text-align: center;
    float: left;
    position: relative;
}

.video-thumb {
    display: block;
    width: calc(100% - 10px);
    margin-left: 5px;
    border-radius: 4px;
    overflow: hidden;
    background: linear-gradient(90deg, #111 25%, #1c1c1c 50%, #111 75%);
    background-size: 200% 100%;
    animation: img-shimmer 1.5s ease-in-out infinite;
}

.video-thumb.img-loaded {
    background: #111;
    animation: none;
}

@keyframes img-shimmer {
    0%   { background-position: 200% center; }
    100% { background-position: -200% center; }
}

.video-image {
    width: 100%;
    aspect-ratio: 4 / 3;
    display: block;
    object-fit: cover;
    object-position: center;
    opacity: 0;
    transition: opacity .3s ease;
}

.video-image.loaded {
    opacity: 1;
}

.ribbon {
    font-size: .9em;
    position: absolute;
    top: 0;
    border-left: 3px solid #ea4335;
    border-radius: 0 4px 4px 0;
    background: none repeat scroll 0 0 rgba(17,17,17,.6);
    padding: 2px 4px;
    margin-top: 2px;
    margin-left: 7px;
    color: #fff;
}

.video-name {
    margin-left: 5px;
    margin-right: 5px;
    font-size: 15px;
    height: 45px;
    max-height: 45px;
    line-height: 1.5;
    font-weight: 400;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    white-space: normal;
    -webkit-box-orient: vertical;
}

.video-rank {
    font-size: .9em;
    position: absolute;
    top: 0;
    border-left: 3px solid #ea4335;
    border-radius: 0 4px 4px 0;
    background: none repeat scroll 0 0 rgba(17,17,17,.6);
    margin-top: 2px;
    padding: 2px 4px;
    margin-left: 7px;
    color: #fff;
}

.video-rank span {
    display: inline-flex;
}

.desktop {
    margin-bottom: 5px;
}

.video-player {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 40%;
}

.video-content {
    display: block;
}

.video-description {
    display: block;
    padding: 5px 0;
    font-size: 15px;
    line-height: 1.5;
    word-wrap: break-word;
}

.video-info {
    display: inline-flex;
}

.video-code {
    font-size: 14px;
    padding: 5px;
    background: #2b2b2b;
    color: #dadada;
    white-space: nowrap;
    border-radius: 4px;
    margin-right: 5px;
}

.video-code:hover {
    color: #fff;
}

.video-link {
    display: inline-block;
    background: #2b2b2b;
    color: #ea4335;
    font-size: 14px;
    padding: 5px;
    border-radius: 4px;
    white-space: nowrap;
}

.video-link:hover {
    color: #cf2415;
}

#video-actions {
    margin-top: 5px;
    display: block;
    font-weight: 400;
}

span.views {
    cursor: pointer;
    background: #2b2b2b;
    margin-bottom: 5px;
    border-radius: 4px;
    padding: 5px;
    display: inline-flex;
}

span.views:after {
    content: '';
    display: block;
    background: url(../img/icon-views.svg) no-repeat;
    width: 16px;
    height: 16px;
    background-size: 16px;
    margin-left: 3px;
    margin-top: 2px;
}

span.likes-rank:after {
    content: '';
    display: inline-block;
    background-image: url(../img/icon-views.svg);
    width: 14px;
    height: 14px;
    background-size: 14px;
    background-repeat: no-repeat;
    margin-left: 3px;
    margin-top: 2px;
    opacity: .9;
}

.video-tags {
    display: inline-block;
    list-style-type: none;
    margin-bottom: 5px;
    width: 100%;
    font-weight: 400;
}

.category-tag a {
    display: inline-flex;
    font-size: 14px;
    padding: 5px;
    margin-top: 5px;
    white-space: nowrap;
    background: #2b2b2b;
    border-radius: 4px;
}

.category-tag a:before {
	content: '';
    background-image: url(../img/icon-hashtag.svg);
    background-size: 16px;
    height: 16px;
    width: 16px;
    margin-right: 3px;
    background-repeat: no-repeat;
    margin-top: 3px;
}

.category-tag a:hover {
    background-color: #ea4335;
    color: #fff;
}

.actress-tag {
    list-style-type: none;
    margin: 0;
}

.actress-tag a {
    display: inline-flex;
    font-size: 14px;
    padding: 5px;
    margin-top: 5px;
    white-space: nowrap;
    background: #2b2b2b;
    border-left: 3px solid #ff9900;
    border-radius: 0 4px 4px 0;
}

.actress-tag a:hover {
    background-color: #ea4335;
    color: #fff;
}

.search-history {
    list-style-type: none;
    overflow: hidden;
}

.search-history a {
    display: inline-block;
    font-size: 14px;
    padding: 5px 10px;
    margin-bottom: 5px;
    white-space: nowrap;
    background: #2b2b2b;
    border-radius: 4px;
}

.search-history a:hover {
    background-color: #ea4335;
    color: #fff;
}

.page-title {
    display: block;
    margin: 20px 5px 5px 5px;
    text-transform: uppercase;
}

.breadcrumb {
    font-size: 16px;
    font-weight: 500;
    margin: 5px;
    border-bottom: 2px solid #2b2b2b;
}

.breadcrumb span a {
    color: #dadada;
}

.breadcrumb span a:hover {
    color: #fff;
    text-decoration: none;
}

.pagenavi {
    text-align: center;
    margin-bottom: 20px;
    cursor: pointer;
}

.pagenavi a {
    margin-top: 5px;
    border: 1px solid #dadada;
    padding: 5px 15px;
    margin-right: 5px;
    border-radius: 4px;
    display: inline-block;
}

.pagenavi a.active {
    background: #ea4335;
    color: #fff;
}

.pagenavi a:hover {
    background: #ea4335;
    color: #fff;
}

.footer-wrap {
    font-size: 15px;
    margin: 5px;
    background: #1b1b1b;
    line-height: 1.5;
    border-top: 2px solid #2b2b2b;
}

.home-block-more {
    text-align: center;
    margin: 0 0 20px;
}

.home-block-more-link {
    display: inline-block;
    padding: 8px 22px;
    border: 1px solid #dadada;
    border-radius: 4px;
    background: #1b1b1b;
    color: #ffffff;
    font-size: 14px;
    line-height: 1;
}

.home-block-more-link:hover {
    background: #ea4335;
    color: #fff;
}

/* Responsive */
@media only screen and (max-width:991px) {
    .video-item {
        width: 33.333333%;
        position: relative;
        float: left;
    }
}

@media only screen and (max-width:767px) {
    header {
        height: auto;
    }

    #logo {
        float: none;
        margin: 20px auto 10px;
        text-align: center;
    }

    #search-box {
        float: none;
        display: block;
        width: calc(100% - 10px);
        margin: 5px;
    }

    #search-box .search {
        max-width: none;
        width: 100%;
        float: none;
    }

    .video-item {
        width: 50%;
        position: relative;
        float: left;
    }
}

.header-title {
    margin-top: 0;
    padding-left: 0;
    border-left: 0;
    color: #f7f9fd;
    font-size: 1.28rem;
    line-height: 1.32;
    letter-spacing: 0;
    text-align: center;
    background: linear-gradient(96deg, #fff 0, #ffe082 14%, #ff9ad5 30%, #8ec5ff 46%, #9bffcf 62%, #ffb38a 78%, #f3a6ff 90%, #fff 100%);
    background-size: 260% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: 5.6s linear infinite homeTitleShine;
    text-shadow: 0 0 22px rgba(170, 198, 255, .22);
    padding: 8px 5px;
}

@keyframes homeTitleShine {
    0% { background-position: 0% center; }
    100% { background-position: 260% center; }
}
