:root {
  --red:        #E8220A;
  --black:      #111111;
  --black2:     #1A1A1A;
  --black3:     #222222;
  --gray-bg:    #F0F0F0;
  --gray-light: #E8E8E8;
  --gray-mid:   #CCCCCC;
  --text:       #1A1A1A;
  --text-muted: #555555;
  --white:      #FFFFFF;
  --border:     #DDDDDD;
  --btn-bg:     #2A2A2A;
  --btn-hover:  #3D3D3D;
  --btn-active: #E8220A;
}
html,
body {
    height: 100%;
    margin: 0;
    font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size: 16px;
    color: #404040;
    background: #f0f0f0;
}
h1{
    font-size: 32px;
    margin: 5px 0 15px 0;
}
.description h2 {
    font-size: 20px;
    margin-bottom: 10px;
    color: var(--text);
    border-bottom: 1px solid var(--gray-light);
}
a{
    color: #ff6000;
    text-decoration: none;
}
a:hover{
    color: #dc6452;
}

.clear::after {
    content: "";
    display: block;
    clear: both;
}
#header{
    text-align: center;
    margin: 0 0 10px 0;
    padding: 2px 5px 0;
    background: #111111;
    border-bottom: 2px solid #d00c0c;
    box-shadow: 0 0 2px 2px #d00c0c;
}
#header::after,
.navbar .container::after {
    content: "";
    display: block;
    clear: both;
}
.header-inner {
    width: 1170px;
    margin: 0 auto;
    position: relative;
    text-align: left;
    padding-bottom: 5px;
}
.header-inner .container {
    width: 100%;
}
.navbar-brand img {
    vertical-align: middle;
    margin-right: 10px;
    height: 55px;
}
.logo {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-right: 36px;
  flex-shrink: 0;
}
.logo-text{
    line-height: 1;
    font-size: 29px;
    font-weight: bold;
    color: #fff;
    vertical-align: middle;
    text-transform: uppercase;
    margin-top: -9px;
    display: inline-block;
}
.logo-text span{
    font-size: 18px;
    color: #af1010;
    font-weight: bold;
}
.logo-slogan{
    display: block;
    text-align: right;
    margin-top: -17px;
    font-style: italic;
    color: rgba(255,255,255,0.45);
}
.navbar-toggle{
    position: relative;
    float: right;
    padding: 10px;
    background-color: #181818;
    border: 1px solid #d00c0c;
    border-radius: 2px;
    display: none;
}
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
}
.navbar-toggle .icon-bar {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 1px;
    background-color: #fff;
}
.navbar-toggle .icon-bar+.icon-bar {
    margin-top: 4px;
}
.navbar-header{
    display: inline-block;
    vertical-align: middle;
    padding-top: 3px;
}
.navbar-collapse{
    vertical-align: middle;
    display: inline-block;
    text-align: center;
    margin-top: 10px;
    padding-left: 100px;
}
#search-container{
    position: absolute;
    right: 0;
    top: 0;
    margin-top: 5px;
}
ul.navbar-nav {
    margin: 6px 0 0 0;
    display: block;
    padding: 0;
}
ul.navbar-nav li>ul{
    display: none;
}
.dropdown{
    position: relative;
}
.dropdown > ul{
    top: 34px;
    right: -45px;
    position: absolute;
    display: none;
    background: #292929;
    border: 1px solid #000;
    text-align: left;
    margin: 0;
    padding: 5px 10px;
    z-index: 10;
}
.dropdown.open > ul{
    display: block;
}
.dropdown > ul li{
    margin: 5px 10px;
    display: block;
    width: 180px;
}
ul.navbar-nav li{
    list-style: none;
    display: inline-block;
    margin-right: 8px;
    padding-right: 10px;
    border-right: 1px solid #b9b7b7;
}
ul.navbar-nav li:last-of-type{
    margin-right: 0px;
    padding-right: 0px;
    border-right: none;
}
ul.navbar-nav li a{
    color: #ececec;
    font-weight: bold;
    text-transform: uppercase;
    text-decoration: none;
    font-size: 18px;
}
ul.navbar-nav li a:hover{
    color: #fff;
}
#theme-btn {
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.2);
    cursor: pointer;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    margin-left: 14px;
    flex-shrink: 0;
    padding: 0;
    transition: background .2s, border-color .2s;
    position: absolute;
    right: 0;
    top: 12px;
}

#theme-btn:hover {
    background: rgba(255,255,255,0.22);
    border-color: rgba(255,255,255,0.4);
}

#theme-btn:active {
    transform: scale(0.92);
}
.wrap {
    min-height: 90%;
    height: auto;
    margin: 0 auto -60px;
    padding: 0 0 60px;
}

.wrap > .container {
    padding: 0px;
    margin-top: 20px;
}

.footer {
    text-align: center;
    background-color: #292929;
    border-top: 1px solid #ddd;
    padding: 20px;
    color: #fff;
    line-height: 1.5;
    box-sizing: border-box;
    margin-top: 20px;
}
.footer .container{
    display: inline-block;
}

ul.menu-bottom {
    margin: 0;
    padding: 0;
}

ul.menu-bottom::after{
    content: "";
    display: block;
    clear: both;
}
ul.menu-bottom li>ul{
    display: none;
}
ul.menu-bottom li{
    list-style: none;
    float: left;
    margin-right: 20px;
}
ul.menu-bottom li a{
    color: #ff6000;
    text-decoration: none;
}
ul.menu-bottom li a:hover{
    color: #a5a5a5;
}
#search-form {
    border-radius: 3px;
    border: 2px solid #d00c0c;
    padding: 0;
    background: #181818;
}
#search-text{
    border: none;
    height: 21px;
    padding: 3px 10px;
    vertical-align: bottom;
    background: transparent;
    color: #bccd46;
    width: 150px;
    background: #181818;
    border-radius: 3px;
}
#search-button{
    background: transparent;
    border: 0;
    border-left: 1px solid #d00c0c;
    padding: 2px 5px;
    cursor: pointer;
    margin: 0;
}
#search-button img{
    height: 20px;
}
.content-block{
    width: 1170px;
    margin: 0 auto;
}

.breadcrumbs {
    font-size: 15px;
    margin: 0;
    padding: 0;
}

.breadcrumbs ol {
    padding: 0;
    margin: 0;
}

.breadcrumbs li {
    display: inline;
    color: #666;
}

.breadcrumbs li a {
    color: #777;
    text-decoration: none;
}

.breadcrumbs li a:hover {
    color: #c40000;
}

.breadcrumbs li + li:before {
    content: "\203A";
    padding: 0 6px;
    color: #bbb;
}


/* index page one serial */
.page-title-block {
    background: #ffffff;
    border-bottom: 3px solid #af1010;
    padding: 16px 20px 14px;
    margin: 0 -20px 0;
}
h1.page-title {
    font-size: 32px;
    font-weight: 600;
    color: #1A1A1A;
    letter-spacing: 0.01em;
    line-height: 1.25;
}
.page-index h2 {
    margin: 0;
}
.page-index .page-title-meta {
    font-size: 15px;
    color: #555555;
    margin-top: 4px;
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}
.page-index .pmeta-item {
    display: flex;
    align-items: center;
    gap: 4px;
}
.page-index .pmeta-dot {
    width: 5px; height: 5px;
    border-radius: 50%;
    background: #af1010;
    display: inline-block;
}
.page-index .rating-stars { color: #FF6600; font-size: 15px; }
.page-index h2 a {
    font-size: 24px;
}
.page-index .season-block {
    background: #FFFFFF;
    border-radius: 6px;
    margin-top: 16px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}
.page-index .season-head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 18px 10px;
    border-bottom: 1px solid #E8E8E8;
}
.page-index .season-num a{
    font-size: 22px;
    color: #E8220A;
    text-decoration: none;
}
.page-index .season-name {
    font-size: 16px;
    color: #555555;
    font-weight: 400;
}
.page-index .arc-label {
    font-size: 16px;
    font-weight: 500;
    color: #555555;
    text-transform: uppercase;
    padding: 10px 18px 6px;
    border-bottom: 1px dashed #E8E8E8;
}


.page-index .ep-row {
    padding: 12px 14px;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 10px;
}
.page-index .ep-row.film {
    display: inline-block;
}
.page-index .episode-name {
    display: block;
    margin-bottom: 0;
    padding: 0;
    box-sizing: border-box;
}
.page-index .episode-name span,
.page-index .episode-name a {
    width: 100%;
    color: #fff;
    font-size: 18px;
    border-radius: 5px;
    display: block;
    text-align: center;
    box-sizing: border-box;
}

.page-index .episode-name span{
    background: #3e3e3e;
    cursor: pointer;
}
.page-index .episode-name a{
    text-decoration: none;
}
.page-index .episode-name span a{
    padding: 7px 15px;
    display: block;
    width: 100%;
    box-sizing: border-box;
}
.page-index .episode-name span:hover,
.page-index .episode-name a:hover{
    background: #af1010;
}
.page-index .season-episodes {
    padding-bottom: 10px;
}
.page-index h2.film-title{
    font-size: 22px;
}


.chars-block {
  background: var(--white);
  border-radius: 6px;
  margin-top: 16px;
  padding: 16px 18px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}
.chars-head {
  font-size: 22px;
  font-weight: 700;
  color: var(--red);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--gray-light);
}
.chars-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.char-btn {
  background: var(--gray-light);
  border: 1px solid var(--border);
  border-radius: 5px;
  padding: 7px 16px;
  font-size: 15px;
  font-weight: 700;
  color: var(--text);
  cursor: pointer;
  transition: all 0.15s;
  text-decoration: none;
}
.faq-block {
  background: var(--white);
  border-radius: 6px;
  margin-top: 16px;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}
.faq-head {
  padding: 12px 18px 10px;
  border-bottom: 1px solid var(--gray-light);
  font-size: 22px;
  font-weight: 700;
  color: var(--red);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.faq-item {
  border-bottom: 1px solid var(--gray-light);
}
.faq-item:last-child { border-bottom: none; }
.faq-q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 18px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
  gap: 12px;
  transition: background 0.15s;
}
.faq-q:hover { background: var(--gray-bg); }
.faq-q-arrow {
  font-size: 11px;
  color: var(--red);
  transition: transform 0.2s;
  flex-shrink: 0;
}
.faq-item.open .faq-q { color: var(--red); background: #FFF8F7; }
.faq-item.open .faq-q-arrow { transform: rotate(180deg); }
.faq-a {
  font-size: 15px;
  line-height: 1.75;
  color: var(--text-muted);
  padding: 0 18px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s ease, padding 0.2s;
}
.faq-item.open .faq-a {
  padding: 10px 18px 14px;
  max-height: 500px;
}
.page-index .info{
    text-align: center;
    border-radius: 4px;
}
.page-index .info .poster{
    margin-right: 20px;
    margin-bottom: 15px;
}
.page-index .info .poster a{
    position: relative;
    display: inline-block;
}
.page-index .info .poster img{
    max-width: 300px;
}
.page-index .info::after{
    content: "";
    display: block;
    clear: both;
}
.seo-text-block {
  background: var(--white);
  border-radius: 6px;
  margin-top: 16px;
  padding: 16px 18px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}
.seo-text-block h2 {
  font-size: 20px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 10px;
  margin-top: 20px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--gray-light);
}
.seo-text-block p {
  font-size: 15px;
  line-height: 1.5;
  color: var(--text-muted);
  margin-bottom: 8px;
}
.seo-text-block p:last-child { margin-bottom: 0; }


/* index page */
.list-serials .list{
    margin-left: -20px;
    font-size: 0;
}
.list-serials .list:after{
    display: block;
    content: "";
    clear: both;
}
.list-serials .list .item{
    display: inline-block;
    vertical-align: top;
    width: 25%;
    padding-left: 20px;
    margin-bottom: 25px;
    box-sizing: border-box;
    font-size: 17px;
    text-align: center;
    font-weight: bold;
    color: #676767;
    position: relative;
}
.list-serials .list .item:hover{
    color: #292929;
}
.list-serials .list .item .image{
    margin-bottom: 5px;
    position: relative;
    height: 420px;
}
.list-serials .list .item img{
    width: 100%;
    border-radius: 4px;
    overflow: hidden;
    height: 100%;
}
.list-serials .list .item:hover .image::before{
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background: url(/images/play.png) 50% 50% no-repeat rgba(0, 0, 0, 0.3);
    width: 100%;
    height: 100%;
    border-radius: 4px 0 4px 4px;
    z-index: 2;
}
.list-serials .list .item .rating,
.poster .rating{
    position: absolute;
    right: 0px;
    top: 0px;
    color: #d00c0c;
    width: 53px;
    height: 47px;
    vertical-align: middle;
    display: inline-block;
    background: #ececec;
    padding-top: 7px;
    box-sizing: border-box;
    font-size: 25px;
    z-index: 1;
    border-radius: 0 0 0 20px;
    text-align: right;
    padding-right: 7px;
    box-shadow: -3px 3px 3px 0px rgba(41, 41, 41, 0.1);
}
.pagination {
    border-top: 3px solid #292929;
    text-align: center;
    padding-top: 20px;
}
.pagination a{
    font-size: 20px;
    padding: 5px 15px;
    color: #ffffff;
    background: #aa1114;
}
.pagination .active,
.pagination a:hover {
    color: #fff;
    background: #000000;
    font-weight: bold;
}
.pagination a:first-of-type{
    border-radius: 5px 0 0 5px;
}
.pagination a:last-of-type{
    border-radius: 0 5px 5px 0;
}

.show-more {
    text-align: center;
    border-top: 2px solid #a52a2a;
}
.show-more a{
    padding: 8px 80px;
    background: brown;
    color: #fff;
    display: inline-block;
    border-radius: 0 0 5px 5px;
}

/* serial page */
.page-serial .player-block{
    margin-bottom: 15px;
}
.page-serial .player-select{
    border-radius: 5px 5px 0 0;
    overflow: hidden;
}
.page-serial .player-select span{
    display: inline-block;
    float: left;
    background: #3e3e3e;
    padding: 7px 12px;
    color: #fff;
    cursor: pointer;
}
.page-serial .player-select span.active,
.page-serial .player-select span:hover{
    background: #292929;
}
.page-serial .player-select span:last-of-type{
    border-radius: 0 5px 0 0;
}
#video-block-container {
    position: relative;
}
#video-block {
    height: 0;
    width: 100%;
    padding-top: 56.25%;
    position: relative;
    background: url("/images/preloader.svg") 50% 50% no-repeat #081010;
    background-size: 20%;
    overflow: hidden;
}
#video-block iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border: none;
}
.video-js {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
}
.not-video-cont {
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    background: #000;
    color: #fff;
}
.not-video-cont #video-block {
    background: none;
}
.not-video-cont #video-block::before {
    content: "Видео отсутствует !";
    padding-top: 26%;
    display: block;
    position: absolute;
    top: 0;
    width: 100%;
}
#video-block .outer-link-info {
    font-size: 28px;
    color: #fff;
    text-align: center;
}
#video-block .outer-link-info .bg {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    background-size: cover;
    filter: blur(4px);
}
#video-block .outer-link-info .inner {
    position: absolute;
    width: 100%;
    background: rgb(0 0 0 / 53%);
    padding: 80px 30px;
    margin: auto 0;
    bottom: 0;
    top: 0;
    height: max-content;
    box-sizing: border-box;
}
#video-block .outer-link-info .inner a {
    background: #aa1114;
    color: #e7e7e7;
    display: inline-block;
    padding: 8px 28px;
    border-radius: 7px;
    margin-top: 10px;
}
#video-block .outer-link-info .inner a:hover {
    color: #fff;
    background: #8a0d0f;
}
.video-js .vjs-big-play-button {
    font-size: 5em;
}
.video-js .vjs-control-bar { font-size: 130% }
.video-js .vjs-control-bar button:focus {
  outline: none;
  box-shadow: none;
  text-shadow: none;
}
.video-js .vjs-control {
    width: 3em;
} 
.video-js .vjs-time-divider {
    display: inline-block;
    padding-left: 0;
    padding-right: 0;
    text-align: center;
    min-width: 1em;
}
.video-js .vjs-current-time {
    display: inline-block;
    padding-left: 0;
    padding-right: 0;
}
.video-js .vjs-duration {
    display: inline-block;
    padding-left: 0;
    width: 4em;
}
.video-js .vjs-quality-selector .vjs-menu{
    left: auto;
    right: 0;
}
.vjs-error .vjs-error-display .vjs-modal-dialog-content {
    padding-top: 22%;
}
.vjs-menu li {
    text-transform: none;
}
.page-serial .season-list{
    font-size: 0;
    margin-top: 10px;
}
.page-serial .episode-group{
    border-top: 2px solid #dadada;
    padding-top: 8px;
    margin-top: 10px;
}
.page-serial .season-group{
    text-align: center;
}
.page-serial .season-list .season-name{
    margin-bottom: 0px;
    text-align: center;
    display: inline-block;
}
.page-serial .season-list .season-name a{
    padding: 5px 30px;
    color: #fff;
    font-weight: bold;
    font-size: 20px;
    text-decoration: none;
    background: #3e3e3e;
    border-radius:3px;
    display: inline-block;
    margin: 4px;
}
.page-serial .season-list .season-name:hover a,
.page-serial .season-list .season-name.active a{
    background: #af1010;
}
.page-serial .season-list .episode-list{
    max-height: 280px;
    overflow-y: hidden;
    display: none;
}
.page-serial .season-list .episode-list.show-all{
    max-height: none;
    overflow-y: visible;
}
.page-serial .season-list .episode-list.active{
    display: block;
}
.page-serial .season-list .episode-name{
    display: inline-block;
    margin-bottom: 5px;
    box-sizing: border-box;
    width: 10%;
    padding: 0 3px;
}
.page-serial .season-list .episode-name span,
.page-serial .season-list .episode-name a{
    width: 100%;
    color: #fff;
    font-size: 18px;
    border-radius: 5px;
    display: inline-block;
    text-align: center;
    box-sizing: border-box;
}
.page-serial .season-list .episode-name span{
    background: #3e3e3e;
    cursor: pointer;
}
.page-serial .season-list .episode-name a{
    text-decoration: none;
}

.page-serial .season-list .episode-name.not-load-episode-page span,
.page-serial .season-list .episode-name.load-episode-page a{
    padding: 5px 0px;
}

.page-serial .season-list .episode-name span:hover,
.page-serial .season-list .episode-name a:hover,
.page-serial .season-list .episode-name.active span,
.page-serial .season-list .episode-name.active span a{
    background: #af1010;
}
.show-more-series {
    text-align: center;
    border-top: 4px solid #d00c0c;
    background: linear-gradient(gray, transparent);
    padding-top: 10px;
    cursor: pointer;
}
.show-more-series::after {
    width: 0px;
    height: 0px;
    border-left: 25px solid transparent;
    border-right: 25px solid transparent;
    border-top: 25px solid #aa1114;
    display: inline-block;
    content: "";
    margin-bottom: 5px;
}
.page-serial .info{
    margin-top: 30px;
    border-radius: 4px;
}
.page-serial .info .poster{
    float: left;
    margin-right: 20px;
    margin-bottom: 15px;
}
.page-serial .info .poster a{
    position: relative;
    display: inline-block;
}
.page-serial .info .poster img{
    max-width: 300px;
}
.page-serial .info::after{
    content: "";
    display: block;
    clear: both;
}
.page-serial .description{
    margin-top: 20px;
}
.page-serial .comments{
    margin-top: 30px;
}

.nav-player {
    font-size: 0;
    background: #141414;
}
.nav-player span,
.nav-player a{
    display: inline-block;
    text-align: center;
    color: #fff;
    font-weight: bold;
    box-sizing: border-box;
    text-transform: uppercase;
}
.nav-player span{
    width: 20%;
    background: #af1010;
    cursor: pointer;
}
.nav-player a{
    width: 100%;
}
.nav-player span.load-episode-page a,
.nav-player span.not-load-episode-page{
    padding: 14px 0;
}
.nav-player a:hover,
.nav-player span:hover{
    background: #910000;
}
.nav-player .prev {
    float: left;
}

.nav-player .next {
    float: right;
    border-right: none;
}
.nav-player .current {
    float: left;
    color: #fff;
    font-size: 18px;
    width: 59.9%;
    text-align: center;
}
.nav-player .current .loading {
    position: relative;
}
.nav-player .current .loading::before {
    content: '';
    display: block;
    position: absolute;
    left: -45px;
    top: -9px;
    width: 40px;
    height: 40px;
    background: url(/images/preloader.svg) 50% 50% no-repeat transparent;
    background-size: 100%;
}
.nav-player .current b{
    display: inline-block;
}
.nav-player .current.two-nums b{
    display: block;
}
.nav-player .current.two-nums .loading::before {
    left: 30px;
    top: -1px;
}
.nav-player .current.two-nums{
    padding: 3px 0;
    font-size: 17px;
}
.episode-selector{
    position: relative;
}
.nav-player .current-season {
    display: none;
}
.nav-player .current-season,
.nav-player .current-episode {
    display: inline-block;
    font-weight: bold;
    text-transform: uppercase;
    cursor: pointer;
}
.nav-player .current-season {
    display: none;
}
.nav-player .current-season,
.nav-player .current-episode {
    background: url(/images/down-arrow.svg) 91% 50% transparent no-repeat;
    background-size: 15px;
    padding-right: 6px;
}
.nav-player .current-season .value,
.nav-player .current-episode .value{
    padding: 17px 25px 14px 10px;
}
.nav-player .current-season .list-dd,
.nav-player .current-episode .list-dd{
    position: absolute;
    background: #181818;
    border: 2px solid #000000;
    padding: 15px 0;
    bottom: 52px;
    width: 100%;
    max-height: 300px;
    overflow-y: auto;
    z-index: 10;
    display: none;
}
.nav-player .open .list-dd{
    display: block;
}
.nav-player .episode-selector .list-el{
    padding-top: 8px;
}
.nav-player .episode-selector .list-el.active,
.nav-player .episode-selector .list-el:hover{
    color: #c5c5c5;
}
.site-contact a{
    color: #23008e;
}
.control-label{
    width: 90%;
    display: inline-block;
    margin-bottom: 5px;
}
.help-block-error {
    color: #ff0008;
    padding: 0;
    margin: 5px 0;
    font-size: 15px;
    display: block;
}
.form-group {
    margin-bottom: 15px;
}
.form-control {
    border-radius: 2px;
    border: 1px solid #b3b3b3;
    padding: 3px 5px;
    width: 90%;
    height: 30px;
}
textarea.form-control {
    height: 80px;
}
.field-contactform-verifycode {
    position: relative;
}
#contactform-verifycode{
    display: block;
    margin-top: 10px;
}
#contactform-verifycode-image {
    border: 1px solid #b3b3b3;
    margin-right: 5px;
}
#captcha-refresh {
    position: absolute;
    font-size: 1.5em;
    padding: 0px 3px;
    display: inline;
    border: 1px solid #b3b3b3;
}

.alert {
    padding: 15px;
    margin-bottom: 20px;
    border: 1px solid transparent;
    border-radius: 4px;
    color: #3c763d;
    background-color: #dff0d8;
    border-color: #d6e9c6;
}
.alert-danger {
    color: #a94442;
    background-color: #f2dede;
    border-color: #ebccd1;
}
.alert .close{
    display: none;
}
.btn{
    background: #ab0f14;
    padding: 5px 15px;
    border: 1px solid #dadada;
    color: #fff;
    font-size: 18px;
    border-radius: 5px;
    cursor: pointer;
}

.page-serial .right-info > div {
    margin-bottom: 4px;
    line-height: 1.3;
}

.player-add-text {
    margin: 5px auto 10px;
    text-align: center;
    font-weight: bold;
    display: block;
}

.site-error {
    text-align: center;
    background: #fff8f9;
    padding: 20px;
    color: #8d0100;
    border-radius: 5px;
}

#video-block-text {
    position: absolute;
    top: 15px;
    left: 15px;
    right: 10px;
    z-index: 9;
    color: #fff;
    text-shadow: 0px 0px 3px #000;
    font-size: 16px;
    font-weight: bold;
    text-align: left;
}

#video-block-resume {
    width: 350px;
    position: absolute;
    bottom: 25%;
    right: 0;
    left: 0;
    z-index: 9;
    color: #fff;
    text-shadow: 0px 0px 3px #000;
    font-size: 16px;
    font-weight: bold;
    background: #e41b50;
    padding: 10px;
    border-radius: 5px;
    margin: 0 auto;
    text-align: center;
    opacity: 0.8;
    border: 1px solid #ccc;
    cursor: pointer;
}

/** actors page **/

/* SECTION */
.site-actors .section-head{display:flex;align-items:center;gap:14px;margin:30px 0 16px}
.site-actors .section-title{font-size:22px;font-weight:700;color:var(--red);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.site-actors .section-line{flex:1;height:2px;background:linear-gradient(90deg,var(--red),transparent)}

/* GRID */
.site-actors .chars-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.site-actors .char-avatar{position: absolute;right: 0;top: 0;}
.site-actors .char-avatar img{max-height: 100px;}
/* CARD */
.char-card{background:var(--white);border-radius:8px;overflow:hidden;box-shadow:0 1px 5px rgba(0,0,0,.1);transition:transform .2s,box-shadow .2s}
.char-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.14)}

/* Цветная шапка */
.char-header{padding:12px 18px 14px;position:relative;overflow:hidden}
.char-jp{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:62px;line-height:1;opacity:.1;color:#fff;pointer-events:none;font-family:serif}
.char-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:3px 10px;border-radius:4px;background:rgba(0,0,0,.3);color:#fff;margin-bottom:7px;position:relative;z-index:1}
.char-name-jp{font-size:11px;letter-spacing:.12em;color:rgba(255,255,255,.65);margin-bottom:3px;position:relative;z-index:1}
.char-name{font-size:22px;font-weight:700;color:#fff;line-height:1.2;position:relative;z-index:1}

/* Категорийные цвета шапки */
.cat-hero  .char-header{background:linear-gradient(135deg,#1B5E3B,#0D3020)}
.cat-pillar.char-header,.cat-pillar .char-header{background:linear-gradient(135deg,#1A2C50,#0D1830)}
.cat-upper .char-header{background:linear-gradient(135deg,#520A0A,#2E0505)}
.cat-lower .char-header{background:linear-gradient(135deg,#2E0A50,#180530)}

.char-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px}
.char-row{display:flex;gap:8px;align-items:flex-start;font-size:14px;line-height:1.55}
.char-row b{flex-shrink:0;min-width:72px;color:var(--text)}
.char-row span{color:var(--text-muted)}

#actor-photo-container{
    margin-bottom: 25px;
    text-align: center;
}
#actor-photo-container img{
    margin: 0 auto;
    max-width: 90%;
}
#actor-short-info .title{
    font-weight: bold;
    text-align: center;
}
.actor-content img{
    width: 100%;
}
.actor-content{
    text-align: center;
    margin-bottom: 30px;
    width: 32%;
    display: inline-block;
}
.actor-content a{
    position: relative;
    display: block;
    margin: auto;
    width: 100%;
    height: 100%;
    overflow: hidden;
    box-shadow: 0px 0px 3px #000;
}
.actor-content div{
    background: rgb(19, 18, 14);
    background: rgba(19, 18, 14, 0.78);
    position: absolute;
    bottom: 0;
    padding: 5px 10px;
    width: 100%;
    box-sizing: border-box;
}
.site-actor .page-description a{
    font-weight: bold;
}
.actor-content a:hover div{
    background: rgb(144, 104, 0);
    background: rgba(144, 104, 0, 0.66);
}
.actor-fio{
    display: block;
    color: #ff6000;
}
.actor-role{
    padding-bottom: 5px;
    display: block;
    color: #fff;
}
.numbering-global #video-block-resume {
    width: 280px;
}

#video-block-resume:hover {
    background: #751433;
}

.unvis {
    visibility: hidden;
}
.hidden {
    display: none !important;
}

.release-cont {
    position: relative;
}
.release {
    font-weight: bold;
    position: absolute;
    right: 0px;
    background: #ffffff;
    padding: 7px 15px;
    color: #af1010;
    border: 1px solid #cdcdcd;
}

#vid_vpaut_div{
    max-width: 100%;
}

.autopl {
    margin-top: 20px;
    z-index:3;
    position: relative;
}

#video-block-container .buzz-container__wrapper {
    position: absolute;
    z-index: 1000;
}

#video-block-container .buzz-ad-title {
    display: none;
}

#video-block-container .buzz-ad-power {
    display: none;
}

/* resolutions  */

@media(max-width: 1900px){
    #header {
        background-position-x: 0%;
    }
}
@media(max-width: 1200px){
    .content-block,
    .header-inner{
        width: 970px;
    }
    .logo-text {
        font-size: 26px;
    }
    .navbar-brand img {
        height: 50px;
    }
    #search-text {
        width: 120px;
    }
    .logo-slogan {
        margin-top: -16px;
        margin-left: 100px;
    }
    .list-serials .list .item .image{
        height: 345px;
    }
    .page-serial .season-list .episode-name span,
    .page-serial .season-list .episode-name a{
        font-size: 16px;
    }
    ul.navbar-nav {
        margin-left: 0px;
    }
    ul.navbar-nav li a {
        font-size: 20px;
    }
    .navbar-collapse {
        padding-left: 45px;
    }
}

@media(min-width: 1001px){
    ul.navbar-nav li.pk-hidden{
        display: none;
    }
}

@media(max-width: 1000px){
    .content-block,
    .header-inner{
        width: 720px;
    }
    .navbar-collapse{
        display: none;
        position: absolute;
        background: #292929;
        right: 0;
        left: 0;
        min-height: 43px;
        z-index: 10000;
        padding-top: 10px;
        text-align: center;
        margin-top: 10px;
        border-bottom: 3px solid #bccd46;
    }
    .navbar-collapse.open{
        display: block;
        padding-left: 0px;
    }
    #header nav {
        display: inline-block;
    }
    ul.navbar-nav li {
        float: none;
        margin: 5px 10px 15px 15px;
        text-align: center;
        display: block;
        padding-right: 0px;
        border-right: none;
    }
    ul.navbar-nav li a {
        font-size: 20px;
    }
    .dropdown > ul, .dropdown.open > ul {
        top: auto;
        right: auto;
        position: relative;
        border:none;
        border-top: 2px solid #000;
        display: block !important;
        margin-top: 5px;
        padding: 15px 10px 5px 10px;
    }
    .dropdown > ul li, .dropdown.open > ul li {
        width: 100%;
    }
    #search-container {
        display: inline-block;
        vertical-align: middle;
        margin-left: 25px;
        margin-top: 3px;
        float: none;
        position: relative;
    }
    #search-text {
        width: 240px;
    }
    .navbar-toggle{
        display: block;
        position: absolute;
        right: 0;
        top: 8px;
        cursor: pointer;
    }
    .logo-text {
        font-size: 26px;
    }
    .navbar-brand img {
        height: 45px;
    }
    .nav-player .current.two-nums .loading::before {
        left: 4px;
        top: 0px;
    }
    #theme-btn {
        right: 60px;
        top: 8px;
    }
    #video-block .outer-link-info {
        font-size: 30px;
    }
    #video-block .outer-link-info .inner {
        padding: 40px 30px;
    }
    .list-serials .list .item{
        font-size: 16px;
    }
    .list-serials .list .item .image{
        height: 242px;
    }
    .page-serial .season-list .season-name a{
        width: auto;
    }
    .page-serial .season-list .episode-name {
        width: 12.5%;
    }
    #video-block-resume {
        bottom: 11%;
    }
    .line-brake-xs-sm {
        display: block;
    }
}

@media(max-width: 767px){
    body {
        min-width: 598px;
        box-sizing: border-box;
        font-size: 20px;
    }
    .wrap {
        min-height: 112%;
    }
    h1{
        font-size: 35px;
    }
    .description h2 {
        font-size: 27px;
        margin-top: 0;
    }
    .header-inner{
        width: 100%;
    }
    #header {
        position: fixed;
        width: 100%;
        z-index: 10000;
        top: 0;
        padding: 0px 0px 5px 0px;
        background-size: cover;
        background-position-x: 0%;
    }
    .header-inner{
        padding: 5px 10px 5px 10px;
        box-sizing: border-box;
    }
    .navbar-toggle {
        right: 10px;
        top: 12px;
    }
    .navbar-collapse{
        position: fixed;
        top: 75px;
        bottom: 0;
        overflow-y: scroll;
        margin-top: 0;
    }
    .logo-text {
        text-align: right;
        position: relative;
    }
    .logo-text span {
        font-size: 18px;
        margin-top: -15px;
    }
    .logo-slogan {
        margin-left: 110px;
        margin-top: -22px;
        font-size: 15px;
        color: #ffbabc;
    }
    .navbar-brand img {
        height: 55px;
    }
    .navbar-toggle .icon-bar {
        width: 30px;
        height: 2px;
    }
    .navbar-toggle .icon-bar+.icon-bar {
        margin-top: 7px;
    }
    ul.navbar-nav {
        padding-right: 10px;
        padding-bottom: 10px;
    }
    #search-button img {
        height: 28px;
    }
    #search-container {
        float: none;
        margin-left: 15px;
    }
    #search-text {
        width: 85px;
        font-size: 19px;
        height: 32px;
    }
    .wrap > .content-block{
        width: 538px;
        padding-top: 50px;
    }
    .breadcrumbs {
        font-size: 17px;
    }
    #theme-btn {
        right: 80px;
        top: 15px;
    }
    /* index page one serial */
    .page-index .page-title-meta {
        font-size: 20px;
    }
    .page-index .episode-name span, .page-index .episode-name a {
        min-width: 0;
    }
    .faq-q {
        font-size: 20px;
    }
    .faq-a {
        font-size: 18px;
    }
    .seo-text-block p {
        font-size: 20px;
    }
    .chars-grid {
        font-size: 20px;
    }
    .video-js .vjs-progress-control {
        position: absolute;
        width: 100%;
        top: -33px;
    }
    .video-js .vjs-duration {
        width: 100%;
        display: flex;
        flex: auto;
    }
    .list-serials .list .item {
        width: 50%;
    }
    .list-serials .list .item .image{
        height: 385px;
        margin-bottom: 5px;
    }
    .list-serials .list .item{
        font-size: 22px;
        font-weight: bold;
    }
    .wrap > .container {
        margin-top: 40px;
    }
    .page-serial .player-block{
        margin: 0px -20px;
    }
    .nav-player .current.two-nums .loading::before {
        width: 25px;
        height: 25px;
        left: 30px;
        top: -4px;
    }
    .page-serial h1{
        margin: 0px -30px;
        padding: 10px 0px;
    }
    .page-serial .season-list .season-name a {
        padding: 8px 43px;
    }
    .page-serial .season-list .episode-list{
        max-height: 570px;
    }
    .page-serial .season-list .episode-name {
        width: 24.9%;
    }
    .page-serial .season-list .episode-name.not-load-episode-page span,
    .page-serial .season-list .episode-name.load-episode-page a{
        padding: 7px 0px;
    }
    .page-serial .season-list .episode-name span,
    .page-serial .season-list .episode-name a{
        font-size: 20px;
    }
    .page-serial .info .poster {
        float: none;
        text-align: center;
        margin-right: 0px;
    }
    .page-serial .description {
        background: none;
        padding: 1px 0px;
    }
    .page-serial .description p{
        line-height: 1.6;
    }
    .page-serial .info{
        background: none;
    }
    ul.menu-bottom li {
        float: none;
        margin-right: 0;
    }
    .footer .copyright span {
        display: block;
    }
    #video-block-text {
        font-size: 23px;
    }
    .page-serial .player-select span {
        padding: 10px 15px;
        font-size: 21px;
        text-align: center;
    }
    #video-block-resume {
        width: 72%;
        font-size: 16px;
    }
    .numbering-global #video-block-resume {
        width: 58%;
    }
    .release {
        font-weight: bold;
        position: static;
        margin-top: 10px;
        text-align: center;
        font-size: 22px;
    }
    .player-add-text {
        font-size: 23px;
    }
    .btn{
        padding: 10px 50px;
        font-size: 25px;
    }
    .actor-content {
        width: 100%;
    }
    .char-header {
        padding: 7px 18px 14px;
    }
    .char-row {
        font-size: 17px;
        line-height: 1.45;
    }
    .autopl {
        min-height: 200px;
    }
}

@media(max-width: 600px){
    body {
        min-width: 500px;
    }
    
    .wrap > .content-block{
        width: 100%;
        box-sizing: border-box;
        padding-left: 20px;
        padding-right: 20px;
    }
    h1 {
        font-size: 30px;
    }
    .page-serial h1 {
        margin: 0px;
    }
}

/* ============================================================
   ТЁМНАЯ ТЕМА 
   ============================================================ */

.dark-theme { background: #1a1a1a; color: #eaeaea; }

/* ── Шапка ─────────────────────────────────────────────────── */
.dark-theme #header {
    background: linear-gradient(135deg, #2e2e2e 0%, #1e1e1e 50%, #141414 100%);
    border-bottom: 2px solid #d00c0c;
    box-shadow: 0 0 8px rgba(208,12,12,.4);
}
.dark-theme .logo-text                  { color: #ffffff; }
.dark-theme .logo-text span             { color: #d00c0c; }
.dark-theme .logo-slogan                { color: rgba(255,255,255,.35); }
.dark-theme ul.navbar-nav li a          { color: #bbbbbb; }
.dark-theme ul.navbar-nav li a:hover    { color: #ffffff; }
.dark-theme ul.navbar-nav li            { border-right-color: #3a3a3a; }
.dark-theme .navbar-toggle              { background-color: #1e1e1e; border-color: #d00c0c; }

/* ── Поиск ──────────────────────────────────────────────────── */
.dark-theme #search-form                { background: #1e1e1e; border-color: #d00c0c; }
.dark-theme #search-text                { background: #1e1e1e; color: #eaeaea; }
.dark-theme #search-button              { border-left-color: #d00c0c; }

/* ── Фон страницы ───────────────────────────────────────────── */
.dark-theme .wrap > .container,
.dark-theme .content-block              { background: #1a1a1a; }

/* ── Заголовок ──────────────────────────────────────────────── */
.dark-theme .page-title-block           { background: #222; border-bottom: 3px solid #d00c0c; }
.dark-theme h1.page-title               { color: #f0f0f0; }

/* ── Мета-строка (студия, сезоны, озвучка) ──────────────────── */
.dark-theme .page-index .page-title-meta { color: #b0b0b0; }
.dark-theme .page-index .pmeta-item     { color: #b0b0b0; }
.dark-theme .page-index .pmeta-dot      { background: #d00c0c; }
.dark-theme .page-index .rating-stars   { color: #ff6600; }

/* ── Блоки сезонов ──────────────────────────────────────────── */
.dark-theme .page-index .season-block   { background: #222; box-shadow: 0 1px 4px rgba(0,0,0,.4); }
.dark-theme .page-index .season-head    { border-bottom-color: #2e2e2e; }
.dark-theme .page-index .season-num a   { color: #d00c0c; }
.dark-theme .page-index .season-name    { color: #c9c5c5; }
.dark-theme .page-index .arc-label      { color: #c9c5c5; border-bottom-color: #2a2a2a; }

/* Заметка о дате ч.2 */
.dark-theme .page-index .season-block > div[style*="border-top"] {
    border-top-color: #2e2e2e !important;
    color: #c0c0c0 !important;
}

/* ── Кнопки серий ───────────────────────────────────────────── */
.page-serial .episode-group {
    border-color: #747474;
}
.dark-theme .page-index .episode-name span          { background: #2c2c2c; }
.dark-theme .page-index .episode-name span a,
.dark-theme .page-index .episode-name a             { color: #e8e8e8; }
.dark-theme .page-index .episode-name span:hover,
.dark-theme .page-index .episode-name a:hover       { background: #d00c0c; color: #fff; }

.nav-player .current {
    color: #eaeaea;
}
.video-js .vjs-big-play-button {
    border-color: #c4c4c4;
}

/* ── Блок «Персонажи» на главной ────────────────────────────── */
.dark-theme .chars-block                { background: #222; box-shadow: 0 1px 4px rgba(0,0,0,.4); }
.dark-theme .chars-head                 { color: #d00c0c; border-bottom-color: #2e2e2e; }
.dark-theme .chars-grid                 { color: #aaa; }
.dark-theme .char-btn                   { background: #2c2c2c !important; color: #f0f0f0 !important; border-color: #3a3a3a !important; }
.dark-theme .char-btn:hover             { background: #d00c0c !important; border-color: #d00c0c !important; }

/* ── FAQ ────────────────────────────────────────────────────── */
.dark-theme .faq-block                  { background: #222; box-shadow: 0 1px 4px rgba(0,0,0,.4); }
.dark-theme .faq-head                   { color: #d00c0c; border-bottom-color: #2e2e2e; }
.dark-theme .faq-item                   { border-bottom-color: #2a2a2a; }
.dark-theme .faq-q                      { color: #e0e0e0; }
.dark-theme .faq-q:hover                { background: #272727; }
.dark-theme .faq-item.open .faq-q       { color: #d00c0c; background: #261212; }
.dark-theme .faq-a                      { color: #c0c0c0; }
.dark-theme .faq-a a                    { color: #e04040; }
.dark-theme .faq-a a:hover              { color: #ff6666; }

/* ── SEO-текст и постер ─────────────────────────────────────── */
.dark-theme .seo-text-block             { background: #222; box-shadow: 0 1px 4px rgba(0,0,0,.4); }
.dark-theme .seo-text-block h2          { color: #e0e0e0; border-bottom-color: #2e2e2e; }
.dark-theme .seo-text-block p           { color: #c0c0c0; }
.dark-theme .page-index .info           { background: #1e1e1e; color: #b0b0b0; }
.dark-theme .page-index .info strong    { color: #e0e0e0; }
.dark-theme .poster .rating             { background: #222; color: #d00c0c; box-shadow: -3px 3px 3px rgba(0,0,0,.4); }

/* ── Ссылки (кроме шапки) ───────────────────────────────────── */
.dark-theme a                           { color: #e04040; }
.dark-theme a:hover                     { color: #ff6666; }
.dark-theme #header a,
.dark-theme ul.navbar-nav li a          { color: #bbbbbb; }
.dark-theme #header a:hover,
.dark-theme ul.navbar-nav li a:hover    { color: #fff; }

/* ── Футер ──────────────────────────────────────────────────── */
.dark-theme .footer                     { background: #141414; border-top-color: #2a2a2a; color: #555; }
.dark-theme .footer .menu-bottom li a   { color: #e04040; }
.dark-theme .footer .menu-bottom li a:hover { color: #888; }
.dark-theme .copyright                  { color: #444; }

/* ── Страница персонажей (/actors/) ────────────────────────── */
.dark-theme .site-actors .section-title { color: #d00c0c; }
.dark-theme .site-actors .section-line  { background: linear-gradient(90deg, #d00c0c, transparent); }
.dark-theme .char-card                  { background: #222; box-shadow: 0 1px 5px rgba(0,0,0,.4); }
.dark-theme .char-card:hover            { box-shadow: 0 6px 20px rgba(0,0,0,.6); }
.dark-theme .char-row b                 { color: #eaeaea; }
.dark-theme .char-row span              { color: #888; }

/* ── Страница серии (плеер) ─────────────────────────────────── */
.dark-theme .page-serial .player-select span            { background: #2c2c2c; color: #eaeaea; }
.dark-theme .page-serial .player-select span.active,
.dark-theme .page-serial .player-select span:hover      { background: #1e1e1e; }
.dark-theme .page-serial .season-list .season-name a    { background: #2c2c2c; color: #eaeaea; }
.dark-theme .page-serial .season-list .season-name:hover a,
.dark-theme .page-serial .season-list .season-name.active a { background: #d00c0c; }
.dark-theme .page-serial .season-list .episode-name span { background: #2c2c2c; color: #eaeaea; }
.dark-theme .page-serial .season-list .episode-name span:hover,
.dark-theme .page-serial .season-list .episode-name a:hover,
.dark-theme .page-serial .season-list .episode-name.active span { background: #d00c0c; }
.dark-theme .page-serial .description h2 { color: #e0e0e0; border-bottom-color: #2e2e2e; }