/* BASIC LAYOUT
----------------------------------------------- */
.wrappers {min-width: 320px; position: relative;}
.wrapper-container {max-width: var(--maximum-width); margin: 0 auto; position: relative; z-index: 20;}
.wrapper-main {padding: 0 var(--indent); min-height: 100vh;}
.header {background-color: var(--bg-2); position: relative; z-index: 100; padding-top: 20px; padding-bottom: 20px;}
.content {padding: 20px 0;}
.footer {background-color: var(--bg-2); padding-top: 20px; padding-bottom: 20px; text-align: center; font-size: 14px;}
	
#scrolltop {position: fixed; width: 60px; height: 60px; line-height: 60px; right: 10px; bottom: 10px;
	z-index: 990; display: none; background-color: var(--bg-2); color: var(--tt-2); 
	cursor: pointer; font-size: 24px; border-radius: 50%; text-align: center; box-shadow: 0 2px 5px rgba(0,0,0,0.2);}


/* HEADER, NAV
----------------------------------------------- */
.logo {display: inline-flex; flex-direction: column; justify-content: center; font-weight: 900; 
	font-size: 28px; height: 50px; text-transform: uppercase; line-height: 1;
	background: url(../images/logo.svg) 0 center / 50px no-repeat; padding-left: 60px;}
.logo span {color: var(--accent);}
.logo__caption {font-size: 11px; font-weight: 300; text-transform: uppercase; margin-top: 2px;}
.header__logo {margin-right: 40px;}
.header__menu > li {margin-right: 10px;}
.header__menu > li > a {height: 40px; font-weight: 400; padding: 0 10px; border-radius: 4px; text-transform: uppercase;
	display: flex; align-items: center; border: 1px solid var(--bdc); font-weight: 500; font-size: 14px;}
.header__menu-hidden {background-color: var(--bg-2); box-shadow: 0 20px 20px rgba(0,0,0,0.1); 
	position: absolute; left: 0; top: 60px; padding: 20px 80px 10px 80px; padding-bottom: 15px; z-index: 50; width: 100%; 
	visibility: hidden; opacity: 0; transform: translateY(30px);}
.header__menu > li:hover .header__menu-hidden {visibility: visible; opacity: 1; transform: translateY(0px);}
.submenu > a:after {content:"\f107"; font-weight: 300; font-family:'Font Awesome 5 Pro'; margin-left:10px;}
li.submenu:hover > a:after {transform: rotate(-180deg) !important;}
.header .header__menu > li > a.is-active, .header .header__menu > li:hover > a, .header__login:hover, .header__fav:hover 
{background: var(--accent); border-color: var(--accent); color: #fff;}
.menu {column-width: 220px; column-gap: 40px;}
.menu li {margin-bottom: 10px; break-inside: avoid; position: relative;}
.menu li a {display: block; padding-right: 30px; font-weight: 400;}	
.menu li span {position: absolute; right: 0; top: 0; color: var(--tt-2); font-size: 13px; pointer-events: none;}
.menu li a:hover {text-decoration: underline;}

.header__search {position:relative; z-index: 5; width: 260px;}
.header__search input, .header__search input:focus {padding: 0 60px 0 10px; border-radius: 4px; 
	background: var(--bg); border: 1px solid var(--bdc); box-shadow: none; color: #000;}
.header__search input:not(:focus)::placeholder {color: #999; opacity: 1; font-size: 14px; font-weight: 300;} 
.header__search button {position:absolute; z-index: 5; right: 0; top: 0; width: 40px; padding: 0; 
	background: none; color: var(--accent); font-size: 18px;}
.header__login, .header__fav {font-size: 18px; cursor: pointer; margin-left: 10px; color: var(--accent); 
	height: 40px; width: 40px; display: flex; align-items: center; justify-content: center; 
	border: 1px solid var(--bdc); border-radius: 4px;}


/* SECTION
----------------------------------------------- */
.sect {margin-bottom: 20px;}
.sect__header {margin-bottom: 20px;}
.sect__title {font-size: 20px;font-weight: 500;text-transform: uppercase;}
.sect__title .fal {color: var(--accent); margin-right: 10px;}
.sect__sort {position: relative;}
.sect__sort * {display: inline-block; vertical-align: middle;}
.sect__sort a {text-transform: uppercase; font-weight: 500; margin-left: 20px; color: var(--tt-2); font-size: 12px;}
.sect__sort a::after {content: "\f107"; font-weight: 300; font-family: 'Font Awesome 5 Pro'; 
	margin-left: 10px; display: inline-block; position: relative; top: 4px; font-size: 24px;}
.sect__sort .desc a::after {content:"\f106";}
.sect__sort li[class] a {color: var(--tt);}
.sorter {position:relative; cursor:pointer; height: 30px; line-height: 28px; margin-left: 15px;
    padding: 0 10px; background-color: var(--bg-2); border-radius: 4px; text-transform: uppercase; 
	font-weight: 400; display: block; border: 1px solid var(--bdc); font-size: 12px;}
.sorter:before {content:attr(data-label); display: inline-block; vertical-align: top; color: var(--tt-2);}
.sorter > span {display: inline-block; vertical-align: top; margin-left: 5px; color: var(--accent);}
.sorter form {display:none; background-color:var(--bg); padding:10px; line-height:26px; 
	box-shadow:0 0 15px 0 rgba(0,0,0,0.1); position:absolute; right:0; top:100%; width:160px; z-index:999; border-radius: 4px;}
.sorter a:hover {text-decoration:underline;}
.sort li.asc a:after, .sort li.desc a:after {content:"\f063"; font-family:"Font Awesome 5 Pro"; 
	display:inline-block; margin-left:10px; font-weight: 300;}
.sort li.desc a:after {content:"\f062"}
.sorter:hover {border-color: var(--accent);}
.sect__subtitle {font-size: 24px; margin-bottom: 40px;}
.desc {display: grid; grid-gap: 5px 0; margin-bottom: 20px; line-height: 1.5; color: #5c5c5c;}
.desc h1, .desc h2, .desc h3 {font-size: 20px; font-weight: 400; color: var(--tt); line-height: 1.3;}
.desc:last-child, .sect:last-child {margin-bottom: 0;}
.tags-list a {font-size: 14px; text-transform: capitalize; color: var(--tt-2); border: 1px solid var(--bdc); padding: 3px 8px;
     margin: 5px; display: inline-block; background-color: rgba(0,0,0,0.03); border-radius: 3px; font-weight: 400;}
.tags-list span {margin: 0;}
.tags-list a:hover {color: #fff; background-color: var(--accent); border-color: var(--accent);}
.speedbar {font-size: 12px; color: var(--tt-2); margin-bottom: 20px;}
.speedbar a:after {color: var(--tt); display: inline; content: '/'; margin: 0 5px;}
.speedbar a:hover {text-decoration: underline;}


/* SHORT ITEM
----------------------------------------------- */
.thumb {background-color: var(--bg-2); position: relative; border: 1px solid var(--bdc);}
.thumb__desc {padding: 10px; padding-bottom: 50px;}
.thumb__title {font-size: 16px;font-weight: 400;line-height: 1.3;}
.thumb__meta {position: absolute; left: 0; right: 0; bottom: 0; 
	font-size: 12px; font-weight: 400; color: var(--tt-2); padding: 5px 10px; border-top: 1px solid var(--bdc);}
.thumb__label {position: absolute; z-index: 5; padding: 0 6px; border-radius: 4px; height: 24px; 
	display: flex; align-items: center; justify-content: center; white-space: nowrap; 
	font-weight: 500; background-color: rgba(0,0,0,0.6); color: #fff; font-size: 12px;}
.thumb__label--hd {right: 5px; top: 5px; text-transform: uppercase; background-color: #f0932b;}
.thumb__label--views {left: 5px; bottom: 5px;}
.thumb__label--time {right: 5px; bottom: 5px;}
.thumb__rating {white-space: nowrap; font-weight: 500; color: #6ab04c;}
.thumb__rating .fal {margin-right: 4px; font-size: 14px; position: relative; top: -1px;}
.js-count-percent {opacity: 0;}
.thumb:hover {border-color: var(--accent);}
.page__related .thumb__desc {padding: 10px;}


/* FOOTER, PAGINATION
----------------------------------------------- */
.bottom-logo {border-top: 1px solid var(--bdc); padding: 40px 0 20px 0;}
.footer__menu li + li {margin-left: 10px; padding-left: 10px; border-left: 1px solid #c0bfbf;}
.footer__menu a, .footer__menu {color: var(--tt-2); font-weight: 400;}
.footer__copyright a {font-weight: 500; color: var(--accent);}
.footer__menu a:hover {text-decoration: underline;}
.footer__text {line-height: 1.4; font-weight: 400; margin-bottom: 20px;}
.footer__counter {display: inline-block; margin-top: 20px;}

.pagination {text-align: center; font-weight: 500;}
.pagination__pages a, .pagination__pages span {display: inline-block; margin: 10px 5px 0 5px; line-height: 40px; 
	padding: 0 10px; min-width: 40px; border-radius: 4px; 
	background-color: var(--bg-2); border: 1px solid var(--bdc);}
.pagination__pages--full a, .pagination__pages--full span {line-height: 30px; min-width: 30px; font-size: 14px;}
.pagination__pages a:hover, .pagination__pages span:not(.nav_ext) 
{background: var(--accent); color: #fff; border-color: var(--accent);}


/* INNER PAGE
----------------------------------------------- */
.page__related {margin-bottom: 40px !important;}
.page__player {background-color: #000;}
.page__main {background-color: var(--bg-2); border: 1px solid var(--bdc);}
.page__cols {display: grid; grid-template-columns: 1fr 290px; grid-gap: 20px 10px; margin-bottom: 20px;}
.page__col-left > h1 {font-size: 22px; font-weight: 500; margin-bottom: 19px; padding-left: 36px; position: relative;}
.page__col-left > h1 a {margin-left: 10px; font-size: 14px;}
.page__col-left > h1::before {content:"\f008"; font-weight: 300; font-family:'Font Awesome 5 Pro'; 
	position: absolute; left: 0; top: 4px; color: var(--accent);}
.page__text.full-text {padding: 10px; border: 1px solid var(--bdc); border-left: 0; border-right: 0;}
.page__meta {padding: 10px;}
.page__meta-item {margin-right: 23px; font-size: 14px; font-weight: 500; 
	height: 30px; display: flex; align-items: center;}
.page__meta-item .fal {color: var(--accent); margin-right: 8px;}
.page__meta-item--fav {cursor: pointer;}
.page__meta-item--fav a {display: flex; align-items: center; height: 30px;}

.page__rating {position: relative; width: 220px;}
.page__rating a {color: #6ab04c; font-size: 28px; display: block;}
.page__rating a + a {color: var(--tt-2); transform: scale(-1,1);}
.page__rating-bar {position: absolute; right: 40px; left: 40px; bottom: 15px;  
	height: 5px; background-color: #ccc; overflow: hidden;}
.page__rating-bar-progress {position: absolute; left: 0; top: 0; height: 100%; width: 0; background: #6ab04c;}
.page__rating-likes {position: absolute; right: 40px; left: 40px; top: -2px; text-align: center; font-weight: 500;}
.page__rating-likes i {font-style: normal;}
.page__rating-likes span {color: var(--tt-2); margin-left: 2px; font-size: 12px; font-weight: 400;}
.page__rating-votes {position: absolute; right: 40px; left: 40px; bottom: -4px; 
	text-align: center; font-size: 12px; white-space: nowrap;}
.page__rating a:hover, .page__meta-item--fav:hover, .page__meta-item--fav a:hover {color: var(--accent);}

.page__tags {padding: 10px; font-size: 0;}
.page__tags-caption {font-size: 16px; font-weight: 500; padding: 3px 0; margin: 5px; margin-left: 0;}
.page__tags-item + .page__tags-item {margin-top: 5px;}

.popular {background-color: var(--bg-2); box-shadow: 0 10px 20px rgba(0,0,0,0.15);}
.popular__img {width: 165px; height: 100px;}
.popular__desc {padding: 10px; position: relative;}
.popular__title {-webkit-line-clamp: 3; font-size: 13px; font-weight: 500; line-height: 1.3;}
.popular:hover {background-color: var(--accent);}
.popular:hover .popular__title, .popular:hover .popular__meta {color: #fff;}


/* TEXT BLOCK, TYPOGRAPHY, VIDEO BLOCK
----------------------------------------------- */
.full-text {line-height: 1.6; font-size: 16px; word-wrap: break-word;}
.full-text a {text-decoration: underline; color: #5278b1;}
.full-text img:not(.emoji), .full-text p, .full-text h1, .full-text h2, .full-text h3, .full-text h4, .full-text h5, 
.full-text > ul, .full-text > ol, .full-text table, .page__title {margin-bottom: 20px;}
.full-text > img[style*="left"], .full-text > .highslide img[style*="left"] {margin:0 10px 10px 0;}
.full-text > img[style*="right"], .full-text > .highslide img[style*="right"] {margin:0 0 10px 10px;}
.full-text > ul li, .full-text > ol li {padding-left: 60px; position: relative;}
.full-text > ul li:before {content: ''; width: 8px; height: 8px; border-radius: 50%; 
	border: 3px solid #fac40c; position: absolute; top: 4px; left: 34px;}
.full-text > ol {counter-reset: num;}
.full-text > ol li:before {content: counter(num); counter-increment: num; background-color: #fac40c; color: #000; 
	position: absolute; top: -2px; left: 17px; width: 24px; height: 30px; font-size: 14px; font-weight: 500;
	display: flex; justify-content: flex-end; align-items: center; padding-right: 6px; box-sizing: border-box;}
.full-text > ol li:after {content: ''; border: 10px solid transparent; border-left-color: #fac40c; 
	position: absolute; left: 41px; top: -2px; transform: scale(0.66,1.5); transform-origin: 0 0;}
.full-text > ul li + li, .full-text > ol li + li {margin-top: 10px;}
.full-text table, .video-inside > * {width:100%;}
.full-text table tr td {padding:10px; border:2px solid #fff;}
.full-text table tr:nth-child(2n+1) {background-color:#f2f6f9;} 
.full-text table tr:nth-child(1) {background-color:#cee0ed;}
.full-text table img:not(.emoji) {margin:0; max-width:350px}
.full-text > *:last-child {margin-bottom: 0;}
.video-responsive {padding-top: 56%; position: relative;}
.video-responsive > iframe, .video-responsive > video {position: absolute; left: 0; top: 0; width: 100%; height: 100%;}
.full-text h1, .full-text h2, .full-text h3, .full-text h4, .full-text h5 {font-size: 22px;}


/* COMMENTS
----------------------------------------------- */
.page__comments {margin-top: 10px; background-color: var(--bg-2); border: 1px solid var(--bdc); padding: 10px;}
.add-comments-form.form {padding: 0; background: none; margin-top: 10px; display: none;}
.add-comments-form .form__input, .add-comments-form__input, .add-comments-form .form__textarea-inside textarea, 
.mass_comments_action select {box-shadow: inset 0 0 0 1px #e3e3e3; border-radius: 0;}
.add-comments-form__input {margin-left: 20px;}
.add-comments-form .d-none, .comments_subscribe + br {display: none;}
.mass_comments_action {display: none; align-items: center; max-width: 800px; white-space: nowrap; margin-bottom: 20px;}
.mass_comments_action select {flex: 1 1 0; margin: 0 -8px 0 20px;}
.mass_comments_action .bbcodes {border-radius: 0; padding: 0 10px;}
.page__comments-btn {cursor: pointer; position: relative; height: 30px; line-height: 30px; font-weight: 500;
	padding: 0 10px; font-size: 14px; color: var(--accent); display: inline-block; 
	background-color: rgba(0,0,0,0.03); border: 1px solid var(--bdc);}
.page__comments-btn:hover, .page__comments-btn.is-active {color: #fff; background: var(--accent);}
.show-comms a {color: var(--accent); text-decoration: underline; margin-top: 10px; display: inline-block;}

.comment-item__title {font-weight: 500; font-size: 18px; margin-top: 20px;}
.comment-item {margin-top: 10px;}
.comment-item__img {width: 40px; height: 40px; border-radius: 50%; margin-right: 10px;}
.comment-item__letter {width: 100%; height: 100%; text-transform: uppercase; font-weight: 500; 
	position: absolute; left: 0; top: 0; z-index: 5; color: #fff; font-size: 18px;}
.comment-item__author {font-weight: 400; font-size: 14px;}
.comment-item__date {color: var(--tt-2); margin-top: 4px; font-size: 12px;}
.comment-item__main {margin: 8px 0 0 0;}
.comment-item__rating {white-space: nowrap; font-size: 12px;}
.comment-item__rating a {margin-left: 6px;}
.comment-item__rating a > span:first-child {color: #6ab04c; text-decoration: underline;  margin-right: 2px;}
.comment-item__rating a:last-child > span:first-child {color: #eb4d4b;}


/* LOGIN
----------------------------------------------- */
.login {position: fixed; z-index: 999; left: 50%; top: 50%; transform: translate(-50%,-50%); overflow: hidden;
	background-color: var(--ui-bg); border-radius: 4px; width: 400px; 
	box-shadow: 0 0 0 10px rgba(255,255,255,0.2), 0 15px 45px rgba(0,0,0,1);}
.login__header {padding: 20px 40px; background-color: var(--ui-bg-darker);}
.login__title {font-size: 20px; font-weight: 500; padding: 1px 0; text-transform: capitalize;}
.login__close {cursor: pointer; font-size: 24px; opacity: 0.6; margin-left: 20px;}
.login__title a {border-bottom: 1px dotted var(--tt-2); margin-left: 10px; font-weight: 400; color: var(--tt-2);}
.login__content {padding: 20px 40px;}
.login__row {margin-bottom: 20px; position: relative; display: block; font-size: 14px; color: var(--tt-2);}
.login__caption {font-size: 14px; color: var(--tt); margin-bottom: 10px;}
.login__caption a {text-decoration: underline; margin-left: 6px; color: var(--accent);}
.login__input input {padding-left: 40px;}
.login__row .fal {opacity: 0.5; position: absolute; left: 0; bottom: 0; line-height: 40px; width: 40px; text-align: center;}
.login__row button {width: 100%;}
.login__social {background-color: var(--ui-bg-darker); padding: 20px 40px; text-align: center;}
.login__social-caption {font-size: 11px; text-transform: uppercase; margin-bottom: 10px;}
.login__social-btns a {display:inline-block; margin: 0 3px; vertical-align:top;}
.login__social-btns img {display:block; width:30px; height: 30px; border-radius: 50%;}
.login__avatar {width: 40px; height: 40px; border-radius: 50%; margin-right: 10px;}
.login__menu {padding-left: 35px; padding-right: 35px; margin-bottom: -10px;}
.login__menu li {flex: 1 1 0; min-width: auto; max-width: 100%; margin: 0 5px 10px 5px;}
.login__menu a {display: block; border-radius: 6px; padding: 10px; text-align: center; white-space: nowrap;
	background-color: var(--ui-bg-darker); box-shadow: inset 0 0 10px rgba(0,0,0,0.1); font-size: 13px;}
.login__menu .fal {display: block; height: 30px; font-size: 24px; opacity: 0.3;}


/* ADAPTIVE, MOBILE MENU
----------------------------------------------- */
.overlay {position: fixed; z-index: 998; left: 0; top: 0; width: 100%; height: 100%; 
	opacity: 0.6; background-color: #000; cursor: pointer; display: none;}
.mobile-menu {width: 280px; height: 100%; overflow-x: hidden; overflow-y: auto; background-color: var(--bg);
	padding: 10px 20px; z-index: 999; position: fixed; left: -320px; top: 0; transition: left .4s;}
.mobile-menu.is-active {left: 0;}
.mobile-menu-close {cursor: pointer; display: block; left: 280px; top: -40px; position: fixed; z-index: 999;
	width: 40px; height: 40px; line-height: 40px; text-align: center; font-size: 18px; opacity: 0;
	background-color: #e84e36; color: #fff; transition: top .4s, opacity .4s;}
.mobile-menu-close.is-active {top: 0px; opacity: 1;}
body.mobile-menu-is-opened {overflow: hidden; width: 100%; height: 100%;}
.mobile-menu .header__menu {margin: 0; padding: 0; display: block;}
.mobile-menu .header__menu > li {width: 100%; margin: 0; padding: 0;}
.mobile-menu .header__menu > li > a {height: 40px; padding: 0; border: 0;}
.mobile-menu .header__menu-hidden {width: 100%; height: auto; display: block; position: relative; left: 0; top: 0;
	width: calc(100% + 40px); margin: 5px -20px; padding: 20px; padding-bottom: 5px; opacity: 1; visibility: visible; transform: none;}

@media screen and (max-width: 1220px) {
	body {background-image: none;}
	.wrappers {padding: 0; overflow: hidden;}
	.wrapper-container {max-width:1000px; padding-left: 20px; padding-right: 20px;}
	.header__menu, .sect__sort, .header__fav {display: none;}
	.header__btn-menu {cursor: pointer; display: block; font-size: 30px; margin-left: 20px;}
	.header__login {font-size: 16px; margin-left: 20px;}
	.header__logo {flex: 1 1 0; min-width: 100px; max-width: 100%; margin-right: 0;}

	.page__cols {grid-template-columns: 1fr;}
	.popular__img {width: 130px;}
}

@media screen and (max-width: 950px) {
	.wrapper-container {max-width:768px;}
	.footer__menu li + li {padding: 0; margin: 0; border: 0;}
	.footer__menu a {display: inline-block; margin: 0 10px 20px 10px;}
	#scrolltop {width: 40px; height: 40px; line-height: 40px; font-size: 18px;}
}

@media screen and (max-width: 760px) {
	.wrapper-container {max-width:640px;}
	.header__logo {font-size: 24px; white-space: nowrap;}
	.header__logo .logo__title {overflow: hidden; text-overflow: ellipsis;}
	.header__logo .logo__caption {font-size: 10px; overflow: hidden; text-overflow: ellipsis;}
	.header__search {order: 10; min-width: 100%; margin: 0; margin-top: 20px;}

	.page__col-left > h1 {padding-left: 0; line-height: 1.1;}
	.page__col-left > h1::before {display: none;}
	.page__main {margin-left: -20px; margin-right: -20px;}
	.page__meta, .page__text.full-text, .page__tags {padding-left: 20px; padding-right: 20px;}
	.page__meta-item--date, .page__meta-item--views, .page__meta-item--duration {margin: 20px 0 0 0; order: 10;}
	.page__meta-item--fav {font-size: 0; min-width: 60px; margin-right: 20px;}
	.page__meta-item--fav .fal {font-size: 24px; margin: 0;}
	.page__rating {width: calc(100% - 80px);}
	.page__comments .sect__title {font-size: 16px;}

	.page__text .quote {margin-left: -20px; margin-right: -20px; padding-right: 20px;}
	.full-text h1, .full-text h2, .full-text h3, .full-text h4, .full-text h5 {font-size: 18px;}
	
	.add-comments-form__input {min-width: 100%; margin: 0 0 10px 0;}
	.add-comments-form__btn {width: 100%; order: 10;}
	.add-comments-form .form__row--protect .form__caption {width: 100%; margin: 0 0 10px 0;}
	.mass_comments_action, .comment-item__controls, .comment-item__rating-caption {display: none;}
}

@media screen and (max-width: 590px) {
	.wrapper-container {max-width:480px;}
	.login {max-width: 90%; max-height: 90%; overflow-x: hidden; overflow-y: auto;}
	.login__header, .login__content, .login__social, .pages-bg {padding-left: 20px; padding-right: 20px;}
}

@media screen and (max-width: 470px) {
	.wrapper-container22 {max-width:360px;}
	.sorter:before {content: 'По';}
    .thumb {width: calc(100% + 30px); margin-right: -15px; margin-left: -15px; 
}
