/* BASIC LAYOUT
----------------------------------------------- */
.wrapper {min-width: 320px; position: relative; padding-top: 50px; padding-bottom: 70px;}
.wrapper__container {max-width: var(--max-width); margin: 0 auto; position: relative; z-index: 20;}
.wrapper__main {display: grid; grid-template-columns: 280px minmax(0,1fr); background-color: var(--bg-darker); min-height: 80vh; 
	grid-template-areas: "header header" "sidebar content"; box-shadow: 0 20px 30px rgba(0,0,0,0.1); border-radius: var(--bdrs);}
.header {background-color: var(--bg); grid-area: header; border-radius: var(--bdrs) var(--bdrs) 0 0; box-shadow: 0 5px 5px rgba(0,0,0,0.03);
	border-bottom: 1px solid var(--bdc); padding: 0 40px; position: relative; z-index: 100; height: 70px;}
.content {min-height: 80vh; grid-area: content; padding: 40px; overflow: hidden;}
.sidebar {grid-area: sidebar; border-right: 1px solid var(--bdc); padding: 40px; position: relative; z-index: 90;
	background-color: var(--bg); box-shadow: 5px 0 5px rgba(0,0,0,0.03); border-radius: 0 0 0 var(--bdrs);}
.footer {grid-area: footer; padding: 40px; padding-top: 40px; border-radius: var(--bdrs);}
.footer__two {margin-top: 10px; gap: 20px 40px; font-size: 14px; color: var(--tt-fade);}
.wrapper::before, .wrapper::after {content: ''; width: 50vw; height: 300px; border-radius: 20px; background: var(--bg-gradient); 
	position: absolute; top: -100px; right: -10vw; transform: rotate(10deg); 
	box-shadow: 0 0 0 40px rgb(11 126 192), 0 0 0 80px rgb(19 91 133);}
.wrapper::after {right: auto; left: -10vw; transform: rotate(-10deg); top: 60vh;}
.scrolltop {position: fixed; width: 50px; height: 50px; right: -60px; bottom: 90px;
	z-index: 980; border-radius: 20%; font-size: 20px; opacity: 0; transition: right 0.2s, opacity 0.2s;}
.scrolltop.is-active {right: 10px; opacity: 1;}


/* HEADER
----------------------------------------------- */
.logo {display: inline-flex; flex-direction: column; justify-content: center; height: 40px;
	padding-left: 43px; font-weight: 700; font-size: 24px; min-width: 240px; position: relative;
	background: url(../images/logo.svg) 0 center / 30px no-repeat; background: none;}
.logo svg {width: 30px; height: 30px; position: absolute; left: 0; top: 50%; transform: translateY(-50%); }
.logo svg path {fill: var(--accent-secondary) !important;}
.search-block {position: relative; width: 320px; margin: 0 40px;}
.search-block__input, .search-block__input:focus {border-radius: 0px; padding: 0 0 0 50px; 
	border: 0; box-shadow: none; background-color: transparent; color: var(--tt);}
.search-block__input:not(:focus)::placeholder {color: var(--tt-fade); opacity: 1; font-size: 14px;}
.search-block__btn {position: absolute; left: 0; top: 0; width: auto; 
	border-radius: 0px; font-size: 18px; color: var(--tt-fade);}


/* SECTION
----------------------------------------------- */
.sect {margin-bottom: 40px;}
.sect__header {margin-bottom: 40px; gap: 20px; line-height: 1;}
.sect__title {font-size: 24px; font-weight: 700;}
.sect__subtitle {font-size: 18px;}
.sect__link {color: var(--accent-secondary); gap: 10px; font-size: 13px; text-transform: uppercase; font-weight: 700;}
.sect__content--tracks {margin-left: -40px; margin-right: -40px;
	border: 1px solid var(--bdc); border-left: 0; border-right: 0; 
	display: grid; gap: 0; grid-template-columns: repeat(auto-fill,minmax(400px,1fr));}
.sect__content--collections {grid-template-columns: repeat(auto-fill,minmax(400px,1fr));}

.speedbar {color: var(--tt-dark-fade); --tt: var(--tt-dark); font-size: 14px; margin-bottom: -20px;}
.speedbar::before {margin-right: 6px;}
.site-desc {display: grid; gap: 15px; line-height: 1.6; font-size: 14px; padding: 40px 0;}
.site-desc h1, .site-desc h2, .site-desc h3 {font-size: 18px; color: var(--tt); line-height: 1.3;}
.site-desc a {text-decoration: underline; color: var(--accent-secondary);}


/* TRACK ITEM
----------------------------------------------- */
.trc {gap: 20px; position: relative;}
.trc + .trc {margin-top: 20px;}
.sect__content--tracks .trc {padding: 20px 40px; margin: -1px 0 0 -1px; 
	border-top: 1px solid var(--bdc); border-left: 1px solid var(--bdc); padding-left: 80px;}
.trc__count {position: absolute; left: 40px; top: 50%; transform: translateY(-50%); 
	font-size: 14px; font-weight: 700; color: var(--tt-fade);}
.trc__img {width: 40px; height: 40px; border-radius: 20%;}
.trc__title {font-weight: 700;}
.trc__subtitle {font-size: 14px; color: var(--tt-fade); margin-top: 2px;}
.trc__fav a {font-size: 18px; color: var(--tt-fade);}
.trc__play {padding: 0; width: 40px; height: 40px; font-size: 12px; border-radius: 10px; padding-left: 1px;
	color: var(--tt-fade); border: 1px solid var(--bdc); background-color: transparent;}
.trc__desc::before {left: -60px;}
.sect__content--tracks .trc__desc::before {left: -100px;}
.trc__to-playlist {color: var(--tt-fade); min-width: 30px; height: 30px; border-radius: 50%; margin: 0 -20px 0 -10px;}
.ctrl {position: fixed; left: 50%; top: 50%; z-index: 999; transform: translate(-50%,-50%); width: max-content;}
.ctrl li {cursor: pointer; margin-bottom: 20px; border-radius: 10px; 
	padding: 20px 40px; background-color: var(--bg); box-shadow: var(--bsh);}

.js-trc--is-current .trc__play:not(:hover) {border-color: var(--accent-primary); color: var(--accent-primary);}
.js-trc--is-playing .trc__play::before {content:"\f04c"; margin-left: -1px;}
.trc.js-trc--is-playing {z-index: 5; box-shadow: var(--bsh); background-color: var(--bg);}


/* ARTIST ITEM
----------------------------------------------- */
.artist {display: block; overflow: hidden; border: 1px solid var(--bdc); background-color: var(--bg); box-shadow: var(--bsh); border-radius: 10px;}
.artist__img {padding-top: 100%;}
.artist__desc {padding: 20px 15px;}
.artist__title {font-weight: 700; font-size: 14px;}
.artist__subtitle {font-size: 13px; color: var(--tt-fade); margin-top: 2px;}
.artist__img::after {content:"\f04b"; font-family:'Font Awesome 5 Pro'; font-weight: 900; display: grid;
	width: 40px; height: 40px; border-radius: 50%; padding-left: 3px; box-sizing: border-box; place-items: center;
	background-color: var(--green); color: #fff; position: absolute; right: 20px; bottom: -20px; font-size: 10px;}
.artist:nth-child(n) .artist__img::after {background-color: var(--yellow);}
.artist:nth-child(2n) .artist__img::after {background-color: var(--green);}
.artist:nth-child(3n) .artist__img::after {background-color: var(--red);}
.artist:nth-child(4n) .artist__img::after {background-color: var(--blue);}
.artist:nth-child(5n) .artist__img::after {background-color: var(--grey);}
.artist:nth-child(6n) .artist__img::after {background-color: var(--violet);}


/* COLLECTION ITEM
----------------------------------------------- */
.sect__content--coll {padding: 0 160px; position: relative;}
.coll {overflow: hidden; box-shadow: var(--bsh);}
.coll__img {height: 260px; overflow: hidden;}
.coll__img::before {content: ''; background: var(--bg-gradient); position: absolute; inset: 0; z-index: 1; 
	mix-blend-mode: color;}
.coll__desc {position: absolute; left: 0; top: 0; height: 100%; width: 100%; padding: 30px 40px; padding-right: 40%;
	gap: 20px; z-index: 5; color: #fff; background: linear-gradient(to right, var(--accent-secondary), transparent);;}
.coll__title {font-weight: 700; font-size: 24px; line-height: 1.2; color: #fff;}
.coll__text {-webkit-line-clamp: 3;}
.coll__category {font-size: 13px; text-transform: uppercase; font-weight: 700; padding-top: 6px;}
@media screen and (min-width: 760px) {
	.sect__content--coll {padding: 0; height: 260px;}
	.sect__content--coll .coll {position: absolute; top: 0; left: 50%; width: 68%; margin-left: -34%; 
		transition: transform 0.3s ease-out, z-index 0.3s linear;}
	.sect__content--coll .coll.a2 {transform: translateX(33%) scale(0.8,0.8); z-index: -2;}
	.sect__content--coll .coll.a3 {transform: translateX(-33%) scale(0.8,0.8); z-index: -1;}
	.sect__content--coll .coll.a2 .coll__img::before, 
	.sect__content--coll .coll.a3 .coll__img::before {background: rgba(0,0,0,0.1); 
		backdrop-filter: blur(8px) grayscale(0.6); mix-blend-mode: unset;}
	.sect__content--coll .coll.a2 .coll__desc, .sect__content--coll .coll.a3 .coll__desc {display: none;}
}


/* SIDEBAR
----------------------------------------------- */
.sb-sticky {position: sticky; left: 0; top: 30px;}
.sb {display: grid; gap: 40px; margin-bottom: 40px;}
.side-menu {margin-bottom: 30px;}
.sb:last-child {margin-bottom: 0;}
.sb__title {margin-bottom: -8px !important;}
.side-menu__caption, .sb__title {font-weight: 700; font-size: 13px; text-transform: uppercase; margin-bottom: 18px;}
.side-menu__list a {height: 40px; line-height: 40px; display: block; padding-left: 30px; white-space: nowrap;}
.side-menu__list li {position: relative;}
.side-menu__list li::before {pointer-events: none; font-size: 18px; color: var(--accent-primary);
	position: absolute; left: 0; top: 0; height: 40px; width: 18px; display: grid; place-items: center;}
	
.side-menu__btn {width: 100%;}
.side__menu-submenu {position: absolute; left: 100%; top: 0; z-index: 1000;
	background-color: var(--bg); box-shadow: var(--bsh); width: 500px; padding: 30px 35px; 
	display: grid; gap: 5px 20px; grid-template-columns: repeat(auto-fill,minmax(150px,1fr)); display: none;}
.side__menu-submenu a {display: block; padding: 5px 10px;}
.side-genres:hover .side__menu-submenu {display: grid;}

.side-menu--btns + .side-menu--btns {margin-top: -20px;}
.side-menu__design button {width: 30px; height: 30px; border-radius: 15px; padding: 0; 
	background-color: var(--bg); border: 2px solid var(--bdc); color: var(--tt); font-weight: 400; font-size: 14px;}
.side-menu__design--cols button {width: 100%; text-transform: none;}
.side-menu--btns .side-menu__caption {margin-bottom: 10px;}
.side-menu--btns:nth-child(3) {border-bottom: 1px solid var(--bdc); padding-bottom: 36px;}
.side-menu__design li button.is-active {box-shadow: 0 0 0 1px var(--accent-primary); 
	border-color: var(--bg); color: var(--tt);}
.side-menu__design--btns li:nth-child(1) button {background-color: var(--green);}
.side-menu__design--btns li:nth-child(2) button {background-color: var(--red);}
.side-menu__design--btns li:nth-child(3) button {background-color: var(--blue);}
.side-menu__design--btns li:nth-child(4) button {background-color: var(--violet);}
.side-menu__design--btns li:nth-child(5) button {background-color: var(--yellow);}


/* FOOTER, PAGINATION
----------------------------------------------- */
.footer__soc {gap: 10px;}
.footer__soc-item {display: grid; place-items: center; height: 30px; width: 30px; border-radius: 50%; background-color: #2daae1;}
.vk {background-color: #1877f2;}
.yt {background-color: #df1111;}
.footer__soc img {width: 15px; height: 15px; filter: invert(1);}
.footer__text {line-height: 1.5; text-wrap: balance;}
.footer__menu {gap: 10px 40px;}

.pagination {gap: 20px; padding: 20px;}
.pagination a, .pagination span {display: grid; place-items: center; 
	height: 36px; min-width: 36px; padding: 0 10px; border-radius: 10px; border: 1px solid var(--bdc);}
.pagination__pages {gap: 10px 10px; font-size: 14px;}
.pagination__pages span:not(.nav_ext) {background-color: var(--accent-primary); color: #fff; border-color: var(--accent-primary);}


/* INNER PAGE
----------------------------------------------- */
.page__cols {display: grid; grid-template-columns: minmax(0,1fr) 420px; 
	border-bottom: 1px solid var(--bdc); margin: -40px; margin-bottom: 40px;}
.page__cols-main, .page__cols-side {padding: 40px;}
.page__cols-side {border-left: 1px solid var(--bdc); padding-bottom: 0;}

.page__img {width: 160px; height: 160px; margin-right: 20px;}
.page__img > a, .page__poster > a {position: absolute; left: 0; top: 0; background-color: #000; color: #fff; padding: 5px 10px;}
.page__header-right h1 {font-size: 18px;}
.page__header-right h1 span {display: block; color: var(--tt-fade); font-size: 14px; font-weight: 400; margin-top: 5px;}
.page__tech {margin: 15px 0 20px; gap: 5px 15px; font-size: 12px;}
.page__tech li > span:first-child {color: var(--tt-fade);}
.page__ctrl {gap: 10px;}
.page__ctrl.js-trc--is-playing .page__play::before {content:"\f04c"; margin-left: -1px;}
.page__dl {border: 2px solid var(--accent-primary); color: var(--accent-primary); background-color: transparent;}
.page__fav {min-width: auto;}

.page__caption {line-height: 1.4; display: block; position: relative; padding: 15px 40px;
	padding-left: 95px; font-size: 13px; isolation: isolate; margin: 0 -40px; margin-bottom: 40px;}
.page__caption::before {position: absolute; left: 40px; top: 20px; font-size: 34px; color: var(--accent-primary);}
.page__caption::after {content: ''; position: absolute; inset: 0; background: var(--accent-primary); opacity: 0.1;}

.page__clip {position: absolute; left: 0; top: 0; width: 100%; height: 100%; 
	padding-top: 0; background-color: #000; border-radius: 20px;}
.page__clip::before {position: relative; z-index: 5; font-size: 40px; border: 2px solid var(--red); 
	padding-left: 5px; box-sizing: border-box; color: var(--red); width: 100px; height: 100px; border-radius: 50%;}
.page__text {color: var(--tt-fade); max-height: 230px; overflow-y: auto; overflow-x: hidden; margin-top: -10px;}
.scroller__content {scrollbar-width: thin; scrollbar-color: var(--accent-primary) rgba(0,0,0,0.1);}
.scroller__content::-webkit-scrollbar {width: 12px; height: 8px;}
.scroller__content::-webkit-scrollbar-thumb {border-radius: 0; background-color:var(--accent-primary); border: 0;}
.scroller__content::-webkit-scrollbar-track {background-color: rgba(0,0,0,0.1);}

.page--artist .page__tech {margin-bottom: 0;}
.page--artist .page__cols-main {padding-bottom: 0;}
.page--artist .page__caption {margin-bottom: 0;}
.page__poster {margin: -40px; height: 240px; margin-bottom: 0;}
.page__header-desc {position: absolute; left: 0; right: 0; bottom: 0; padding: 40px; color: #fff; z-index: 10;}
.page--collection .page__header {margin-bottom: 0; --tt-fade: #ccc;}


/* TEXT BLOCK, TYPOGRAPHY, VIDEO BLOCK
----------------------------------------------- */
.page__title {margin-bottom: 30px; font-size: 24px;}
.full-text {line-height: 1.5; font-size: 15px; word-wrap: break-word;}
.full-text a {text-decoration: underline; color: var(--blue);}
.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 {margin-bottom: 25px;}
.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 #fcc506; position: absolute; top: 6px; left: 34px;}
.full-text > ol {counter-reset: num;}
.full-text > ol li:before {content: counter(num); counter-increment: num; background-color: #fcc506; color: #000; 
	position: absolute; top: -3px; left: 17px; width: 24px; height: 30px; font-size: 14px; font-weight: 700;
	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: #fcc506; 
	position: absolute; left: 41px; top: -3px; 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: 60%; 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: 21px; margin-bottom: 20px;}
.full-text iframe {width: 100%; height: 400px; margin-bottom: 20px;}


/* COMMENTS
----------------------------------------------- */
.page__comments {margin-top: 0px;}
.page__comments-title {font-size: 24px; margin-bottom: 20px;}
.page__comments-info {color: var(--tt-fade); display: block; margin: -15px 0 20px; font-size: 14px; padding-left: 23px; position: relative;}
.page__comments-info::before {color: var(--ui-red); position: absolute; left: 0; top: 2px;}
.ac-form {margin-bottom: 30px; position: relative;}
.ac-form__header, .ac-form__editor, .ac-form .message-info {gap: 10px; margin-bottom: 10px;}
.ac-form__btn {padding: 0 60px;}
.ac-form__bottom {gap: 25px;}
.confidential-check {font-size: 14px;}
.ac-form__header > span {margin-left: 15px;}
.ac-form .comments_subscribe {margin-top: 0px;}

.ac-toggle.ac-form {cursor: pointer;}
.ac-form__header input, .ac-toggle .ac-form__editor textarea {border-radius: 0; box-shadow: none;}
.ac-toggle, .ac-toggle .ac-form__editor {position: relative;}
.ac-toggle .ac-form__bottom button {position: absolute; bottom: 20px; right: 10px; z-index: 10; pointer-events: none;}
.ac-form .bb-btn {display: none;}
.ac-form .bb-pane {background: none; box-shadow: none; border: 0; position: absolute; left: 0; bottom: 0; right: 0;}
.ac-form #b_emo, .ac-form #b_leech, .ac-form #b_quote, .ac-form #b_spoiler, 
.ac-form #b_b, .ac-form #b_u, .ac-form #b_s, .ac-form #b_color, .ac-form #b_hide {display: grid;}
.ac-toggle .bb-btn {pointer-events: none;}
.ac-toggle .ac-form__editor .bb-editor textarea {height: 140px; resize: none;}
.ac-form__editor .bb-editor textarea {height: 140px; line-height: 1.4; padding-bottom: 40px;}
.comments_subscribe + br, .ac-form .bb-editor + br {display: none;}
.ac-toggle .has-checkbox {display: none;}

.mass_comments_action {display: flex; align-items: center; flex-wrap: wrap; gap: 10px;}
.mass_comments_action select {flex: 1 1 0; margin: 0 -28px 0 0; border-radius: 0; box-shadow: none; min-width: 50%;}
.mass_comments_action .bbcodes {border-radius: 0; padding: 0 10px;}

.comm__title {font-size: 18px; margin-bottom: 20px;}

.comm {margin-bottom: 20px; padding-bottom: 15px; border-bottom: 1px solid var(--bdc);}
.comm__img {width: 40px; height: 40px; border-radius: 50%; margin-right: 15px;}
.comm__img::before {content: ''; width: 8px; height: 8px; border-radius: 50%; background-color: var(--ui-red); 
	position: absolute; right: -1px; top: -1px; z-index: 5; border: 2px solid var(--bg);}
.comm--online .comm__img::before {background-color: var(--ui-green);}
.comm__letter {width: 100%; height: 100%; text-transform: uppercase; border-radius: inherit;
	position: absolute; left: 0; top: 0; color: #fff; font-size: 18px; font-weight: var(--ui-fw-bolder);}
.comm__author, .comm__author a {color: var(--tt-colored); font-weight: 700; font-size: 14px;}
.comm__date {color: var(--tt-fade); font-size: 13px; margin-top: 2px;}
.comm__main {margin: 10px 0 6px 0;}
.comm__action {gap: 20px; font-size: 13px;}
.comm__action li, .comm__action li a {color: var(--tt-fade); cursor: pointer; gap: 8px; display: flex; align-items: center;}
.comm__ctrl, .comm__ctrl a {font-size: 15px; gap: 10px 15px; color: var(--tt-fade);}
.comm__ctrl li.has-checkbox {transform: scale(0.8,0.8); margin: 0 -10px 0 -5px;}
.comm__ctrl li.has-checkbox input {border-color: var(--tt-fade);}
.comm__rating {gap: 10px; font-size: 14px;}
.comm__rating::before {content: attr(data-text); display: inline;}
.comm__rating > * {display: flex; gap: 5px;}
.comm__rating > * > span:first-child {text-decoration: underline; color: var(--ui-green);}
.comm__rating > * + * > span:first-child {color: var(--ui-red);}


/* LOGIN
----------------------------------------------- */
.login {position: fixed; z-index: 999; left: 50%; top: 50%; transform: translate(-50%,-50%);
	background-color: var(--ui-bg); width: 440px; border: 10px solid var(--ui-bg-darker); 
	box-shadow: 0 15px 45px rgba(0,0,0,1); overflow-y: auto;
	 max-width: calc(100vw - 40px); max-height: calc(100vh - 40px);}
.login__header {padding: 20px 50px 25px 50px; border-bottom: 1px solid var(--ui-bdc); position: relative;}
.login__title {font-size: 24px; font-weight: var(--ui-fw-bolder);}
.login__caption {font-size: 13px; color: var(--ui-tt-fade); margin-top: 3px;}
.login__close {font-size: 23px; position: absolute; right: 10px; top: 10px; padding: 0; width: 40px; height: 40px;}
.login__content {display: grid; gap: 20px; padding: 25px 50px; padding-bottom: 50px; position: relative;}
.login__row, .login__row.fal, .login__row.fas {position: relative; display: grid; gap: 10px; justify-content: stretch;}
.login__row-caption a, .login__caption a {margin-left: 10px;}
.login__row::before {position: absolute; left: 2px; bottom: 0; width: 40px; height: 50px; 
	display: grid; place-items: center; opacity: 0.4; font-size: 18px;}
.login__input input {padding-left: 40px; border-radius: var(--ui-bdrs); height: 50px; line-height: 48px;}
.login__row button {width: 100%; height: 40px; border-radius: var(--ui-bdrs);}
.login__social {padding-top: 10px; text-align: center; gap: 10px; margin-bottom: -20px;}
.login__social-caption {font-size: 13px; color: var(--ui-tt-fade); width: 100%;}
.login__social a {padding: 0 10px; border-radius: 20px; position: relative; width: 40px; height: 40px; 
	overflow: hidden; color: #fff; display: flex; align-items: center; justify-content: center;}
.login__social a::before {content: ''; width: 40px; background: rgba(0,0,0,0); position: absolute; left: 0; top: 0; height: 100%;}
.login__social a img {position: absolute; left: 10px; top: 50%; height: 20px; width: 20px; z-index: 1; 
	display: block; filter: invert(1); transform: translateY(-50%);}
.login__social-vk {background-color: #587ba1;}
.login__social-ok {background-color: #ff9800;}
.login__social-fb {background-color: #3b5998;}
.login__social-ml {background-color: #2196f3;}
.login__social-gg {background-color: #f44336;}
.login__social-ya {background-color: #fc3f1d;}

.header__favlink {height: 70px; border-left: 1px solid var(--bdc); font-size: 28px; 
	padding: 0 20px; position: relative; display: grid; place-items: center; color: var(--tt-fade);}
.header__favlink.nl {border-right: 1px solid var(--bdc); margin-right: 40px;}
.header__favlink span {background-color: var(--red); color: #fff; width: 20px; height: 20px; border-radius: 50%;
	font-size: 10px; position: absolute; left: 50%; top: 10px; margin-left: 5px; display: grid; place-items: center;}
.header__login, .header__login.is-active {height: 70px; border-left: 1px solid var(--bdc);
	gap: 20px; width: 230px; position: relative; margin-right: -40px; display: flex; align-items: center;
	padding: 0 40px 0 20px; cursor: pointer; isolation: isolate;}
.header__login:not(:hover)::before {color: var(--tt);}
.header__login-login {font-weight: 700; margin-right: -10px;}
.header__login-img {width: 40px; height: 40px; border-radius: 50%; cursor: pointer;}
.header__login-panel {position: absolute; right: 0; top: 100%; width: 230px;
	background-color: var(--bg); z-index: -1; border: 1px solid var(--bdc); padding: 10px 0;
	box-shadow: var(--bsh); color: var(--tt); font-size: 15px; font-weight: 400;}
.header__login-header {padding: 20px; color: var(--tt); font-weight: 700; gap: 20px; border-bottom: 1px solid var(--bdc);
	margin-bottom: 10px; display: none;}
.header__login-avatar {width: 40px; height: 40px; border-radius: 50%;}
.header__login-group span {font-size: 12px; font-weight: 400; margin-top: 2px; 
	display: block; color: var(--tt-fade) !important;}
.header__login-menu a {display: flex; align-items: center; min-height: 30px; padding: 0 20px 0 0;}
.header__login-menu a::before {width: 40px; text-align: center; color: var(--accent-primary);}
.header__login-menu-border {border-top: 1px solid var(--bdc); margin-top: 10px; padding-top: 10px;}
.header__login-menu a span {font-size: 12px; margin-left: auto;}


/* 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;
	z-index: 999; position: fixed; left: -360px; top: 0; transition: left 0.4s; background-color: var(--bg);}
.mobile-menu.is-active {left: 0;}
body.mobile-menu-is-opened {overflow: hidden; width: 100%; height: 100%;}
.mobile-menu__header {padding: 0px 20px; gap: 10px; background: var(--bg-darker);}
.mobile-menu__btn-close {font-size: 24px; width: 40px; height: 40px; margin-right: 0px;}
.mobile-menu__content {padding: 40px 20px;}
.mobile-menu__content .side-menu__btn {display: none;}
.mobile-menu__content .side__menu-submenu {display: grid; box-shadow: none; gap: 0 10px;
	position: static; width: calc(100% + 40px); margin: 0 -20px; padding: 15px 20px;
	grid-template-columns: repeat(2,minmax(0,1fr)); background-color: var(--bg-darker);}
.mobile-menu__content .side__menu-submenu a {padding: 5px 0; font-size: 14px;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}

@media screen and (max-width: 1220px) {
	:root {--indent-negative: -20px; --indent: 20px;}
	body {background-image: none;}
	.wrapper {padding-top: 0; background-image: none; overflow: hidden;}
	.wrapper__container {max-width:1000px;}
	.wrapper__main, .sidebar, .header {border-radius: 0;}
	.wrapper__main {display: block;}
	.header .header__menu, .sidebar {display: none;}
	.logo {min-width: 100px;}
	.header__btn-login {background-color: rgba(0,0,0,0.06); color: var(--tt-fade);
		padding: 0 15px; font-weight: 400; height: 30px; border-radius: 15px; text-transform: none;}
	.header__favlink.nl {margin-right: 20px;}
	.header__btn-menu {display: flex; margin-left: 20px; padding: 0; width: 40px; 
		border-radius: 20%; font-size: 18px; position: relative; z-index: 10;}
	.wrapper::after, .wrapper::before {display: none;}

	.page__cols {display: block;}
	.page__cols-side {padding-top: 0;}
	.page--artist .page__caption {margin-bottom: 40px;}
	.page--artist .page__cols-side {padding-bottom: 20px;}
}

@media screen and (max-width: 950px) {
	.wrapper__container {max-width:768px;}
	.pagination {gap: 10px;}
	.pagination__btn-loader a, .pagination__btn-loader span {width: 100%;}
	.pagination > a, .pagination > span {flex-grow: 1; order: 10;}
	.pagination__pages {width: 100%;}
	.pagination__pages a, .pagination__pages span {flex-grow: 1;}
	.header__login-login, .header__login::before {display: none !important;}
	.header__login {width: auto !important;}
	.header__login-header {display: flex; margin-top: -10px;}
	
	.sect__content--tracks .trc {border-left: 0; margin-left: 0;}
	.coll__desc {padding: 20px 30px;}
	.sect__content--coll {padding: 0 80px;}
	.footer__one, .footer__two {gap: 20px;} 
	.footer__two {margin-top: 30px;}
	.footer__menu {min-width: 100%; justify-content: flex-start; gap: 20px;}
	.footer__text {min-width: 100%; order: -1;}
	.footer__text br {display: none;}

	.page__header {margin-bottom: 20px; margin-top: -20px;}
}

@media screen and (max-width: 760px) {
	.wrapper__container {max-width:640px;}
	.login__header, .login__content {padding: 20px;}
	.login__social {margin-bottom: 0;}
	.login__row::before {height: 40px;}
	.login__input input {height: 40px; line-height: 40px; box-shadow: none; border: 0; background-color: var(--bg-darker);}
	.login__social a {border-radius: var(--bdrs); height: 30px; flex: 1 0 30%;}
	.login__social a img {left: 50%; margin-left: -10px;}
	
	.header__favlink {display: none;}
	.header, .footer, .content {padding-left: 20px; padding-right: 20px;}
	.sect__content--tracks {margin: 0 -20px;}
	.sect__content--coll {padding: 0; display: flex; gap: 20px; overflow-y: hidden; overflow-x: auto; margin-right: -20px;}
	.sect__content--coll .coll {box-shadow: none; width: 300px; flex-shrink: 0;}
	.coll__title {font-size: 18px;}
	.coll__category {padding-top: 0;}
	.coll__img {height: 200px;}
	.coll__desc {gap: 15px; padding: 20px;}
	.coll__text {font-size: 13px;}
	.sect__content--tracks .trc {padding: 20px 20px; padding-left: 60px;}
	.trc__count {left: 20px;}
	.trc__to-playlist, .trc__img {margin-right: -10px;}

	.page__caption {padding-left: 20px; padding-right: 20px; margin-left: -20px; margin-right: -20px;}
	.page__caption::before {left: 20px; display: none !important;}
	.page__poster {margin-left: -20px; margin-right: -20px;}
	.page__header-desc {padding: 20px;}

	.page__title {font-size: 24px;}
	.full-text h1, .full-text h2, .full-text h3, .full-text h4, .full-text h5 {font-size: 20px;}
	.page__intro, .page__text .quote {margin-left: var(--indent-negative); margin-right: var(--indent-negative); padding-right: var(--indent);}
	.full-text h1, .full-text h2, .full-text h3, .full-text h4, .full-text h5 {font-size: 18px;}
	
	.ac-form__bottom {gap: 10px;}
	.ac-form__bottom button {padding: 0 20px;}
	.ac-form__header input + input {min-width: 100%; order: 10;}
	.ac-form__header > span, .comm__rating::before {display: none;}
	.ac-form #b_color {display: none;}
	.ac-form__bottom button {position: static !important; width: 100% !important;}
}

@media screen and (max-width: 590px) {
	.wrapper__container {max-width:480px;}
	.header {height: auto;}
	.search-block {min-width: calc(100% + 40px); border-top: 1px solid var(--bdc); order: 10; margin: 0 -20px;}
	.search-block__btn {left: auto; right: 5px;}
	.search-block input {padding-left: 20px !important;}
	.header__logo {flex-grow: 1; height: 70px;}
	.header__btn-login {margin-left: 10px; margin-right: -10px;}

	.page__header {display: block; position: relative;}
	.page__img {margin: 0; position: absolute; top: 0; left: 0; width: 80px; height: 80px;}
	.page__header-right h1 {padding-left: 100px; min-height: 80px; 
		display: flex; flex-direction: column; justify-content: center;}
	.page--collection .page__header-right h1 {display: block; padding-left: 0; min-height: auto;}
	.page__poster {height: 200px;}
}

@media screen and (max-width: 470px) {
	.wrapper__container123 {max-width:360px;}
	.sect__content--coll .coll {width: calc(100vw - 60px);}
	.d-grid-items {grid-template-columns: repeat(2,minmax(100px,1fr));}
	.sect__content--tracks, .sect__content--collections {display: block;}
	.sect__content--collections .coll + .coll {margin-top: 20px;}
	.sect__content--artists .artist:nth-child(5n) {grid-column: 1 / -1;}
	.sect__title {min-width: 100%;}
	.trc__count {display: none;}
	.sect__content--tracks .trc {padding-left: 20px;}
	
	.page__scr ul li {flex: 0 0 220px; width: 220px;}
	.page__message {margin-left: var(--indent-negative); margin-right: var(--indent-negative); padding-left: 18px;}
	
	.ac-form__bottom .comments_subscribe {font-size: 13px;}
	.full-text iframe {width: calc(100% + 40px); max-width: calc(100% + 40px); height: 260px; margin-left: -20px; margin-right: -20px;}
}


/* PLAYER 
----------------------------------------------- */
.player {position: fixed; z-index: 990; left: 0; bottom: 0; background-color: var(--bg); 
	box-shadow: 0 -5px 5px rgba(0,0,0,0.03); width: 100%; border-top: 1px solid var(--bdc);}
.player__main {gap: 10px 40px; padding: 15px 40px; position: static;}
.player__left, .player__right {gap: 40px;}
.player__img {width: 40px; height: 40px; margin-right: 20px;}
.player__title {font-weight: 700;}
.player__subtitle {font-size: 14px; color: var(--tt-fade);}
.player__btns {gap: 40px;}
.player__btn-repeat, .player__btn-prev, .player__btn-next, .player__btn-playlist, .player__dl {color: var(--tt-fade); 
	background: none; font-size: 14px; width: 30px; height: 30px; border-radius: 20%; padding: 0;}
.player__btn-play {border-radius: 10px; font-size: 10px; padding: 0; width: 40px; height: 40px;}
.player__volume {gap: 20px; font-size: 16px;}
.player__volume .player__range {width: 100px;}
.player__volume-value {font-size: 12px; width: 21px;}
.player__time {font-size: 12px; gap: 5px;}
.player__time-current:after {content: '/'; display: inline; margin-left: 5px;}
.player audio {display: none;}
.player__bar {position: absolute; left: 0; right: 0; bottom: 100%; margin-bottom: -8px;}
.player__bar::before {content: ''; background-color: #000; height: 1px; width: var(--loaded-progress,0%); 
	position: absolute; left: 0; bottom: 7px; opacity: 0.2; pointer-events: none; z-index: -1;}

.player__range input[type="range"] {-webkit-appearance: none; appearance: none; justify-content: center;
	background: none; height: 20px; padding: 0; width: 100%; cursor: pointer; display: flex; flex-direction: column;}
.player__range input[type="range"]::-webkit-slider-thumb {-webkit-appearance: none; appearance: none; cursor: pointer;
	width: 20px; height: 20px; margin-top: -8px; border-radius: 50%; box-sizing: border-box;
	background-color: var(--bg); border: 2px solid var(--accent-primary);}
.player__range input[type="range"]::-webkit-slider-runnable-track {width: 100%; height: 4px; cursor: pointer;
	background: linear-gradient(to right, var(--accent-primary) 0%, var(--accent-primary) var(--range-progress), 
	var(--bdc) var(--range-progress), var(--bdc) 100%); border-radius: 2px;}
.player__range input[type="range"]::-moz-range-thumb {-webkit-appearance: none; appearance: none; cursor: pointer;
	width: 20px; height: 20px; margin-top: -8px; border-radius: 50%; box-sizing: border-box;
	background-color: var(--bg); border: 2px solid var(--accent-primary);}
.player__range input[type="range"]::-moz-range-track {width: 100%; height: 4px; cursor: pointer;
	background: linear-gradient(to right, var(--accent-primary) 0%, var(--accent-primary) var(--range-progress), 
	var(--bdc) var(--range-progress), var(--bdc) 100%); border-radius: 2px;}

.player__equalizer {width: 28px; gap: 2px; height: 80px; margin: -20px 0;}
.player__equalizer li {background: var(--accent-primary); height: 10%; border-radius: 3px; flex-grow: 1;}
.player--is-playing .player__equalizer li {animation: equalizer .5s forwards ease-in-out infinite; animation-direction: alternate;}
.player__equalizer li:nth-child(1) {animation-duration: 2s;}
.player__equalizer li:nth-child(2) {animation-duration: 1.6s;}
.player__equalizer li:nth-child(3) {animation-duration: 1.9s;}
.player__equalizer li:nth-child(4) {animation-duration: 1.5s;}
.player__equalizer li:nth-child(5) {animation-duration: 1.7s;}
@keyframes equalizer {0% {height: 5%;} 12% {height: 10%;} 24% {height: 40%;} 36% {height: 15%;} 48% {height: 25%;} 
60% {height: 30%;} 72% {height: 20%;} 84% {height: 35%;} 100% {height: 5%;} }
	
.player--is-muted .player__volume::before {content:"\f6a9";}
.player--is-playing .player__btn-play::before {content:"\f04c";}
.player--is-repeated .player__btn-repeat:not(:hover), .player--is-shuffled .player__btn-repeat:not(:hover) 
{color: var(--accent-primary);}
.player--is-repeated .player__btn-repeat::before {content:"\f363";}
.player--is-shuffled .player__btn-repeat::before {content:"\f074";}

.player__playlist {width: 100%; position: absolute; right: 0; bottom: 100%; display: none;
	box-shadow: var(--bsh); padding: 20px; background-color: var(--bg); z-index: -1;}
.player__playlist.is-active {display: block;}
.player__btn-playlist.is-active {background-color: var(--accent-primary); color: #fff;}
.player__playlist-title {max-width: 500px; margin: 0 auto; font-size: 18px; margin-bottom: 20px; font-weight: 700; cursor: pointer;}
.player__playlist-list {overflow-x: hidden; overflow-y: auto; max-width: 500px; margin: 0 auto;
	height: calc(100vh - 150px); height: calc(100dvh - 150px);}
.player__playlist-item {padding: 10px 20px; border-bottom: 1px solid var(--bdc); cursor: pointer; gap: 20px;}
.player__playlist-item-img {width: 40px; height: 40px;}
.player__playlist-item-title {font-weight: 700; font-size: 14px;}
.player__playlist-item-subtitle {font-size: 13px; color: var(--tt-fade); margin-top: 3px;}
.player__playlist-item-duration {font-size: 12px;}
.player__playlist-item-dl {font-size: 18px; display: block; margin-left: 10px;}
.player__playlist-item:last-child {margin-bottom: 0; border-bottom: 0;}
.player__playlist-item.is-playing {background-color: var(--bg-darker); cursor: default;}
.player__playlist-item.is-playing .player__playlist-item-desc {pointer-events: none;}
.player__playlist-item:hover {background-color: var(--bg-darker);}

.player--not-loaded button:not(.player__btn-play), .player--not-loaded .player__dl, 
.player--not-loaded .player__bar {pointer-events: none;}
	
@media screen and (max-width: 1220px) {
	.player__main {gap: 10px 10px; padding: 15px 20px;}
	.player__btns {gap: 10px;}
	.player__volume, .player__equalizer {display: none;}
}
@media screen and (max-width: 760px) {
	.player__info {position: absolute; left: 0; right: 0; bottom: 100%; box-shadow: 0 -5px 5px rgba(0,0,0,0.03);
		background-color: var(--bg); padding: 10px 60px 10px 20px; gap: 10px; margin-bottom: 4px;}
	.player__img {margin-right: 0;}
	.player__dl {position: absolute; right: 10px; bottom: 100%; margin-bottom: 20px;}
	.player__left > * {display: none;}
	.player__time-current {position: absolute; left: 20px; top: 50%; transform: translateY(-50%);}
	.player__time-duration {position: absolute; right: 20px; top: 50%; transform: translateY(-50%);}
	.player__time-current:after {display: none;}
	.player__left, .player__right {min-width: 0;}
}

.toasts {position: fixed; right: 10px; top: 20px; z-index: 990; display: grid; gap: 20px;}
.toast {background-color: #fff; color: #000; border-radius: 6px; overflow: hidden;
	position: relative; width: 400px; display: flex; align-items: center; gap: 20px; 
	padding: 16px 20px; box-shadow: 0 5px 20px rgba(0,0,0,0.2); --accent: #00a2ff; 
	animation: showToast 0.5s ease forwards; max-width: calc(100vw - 40px);}
.toast__icon {font-size: 28px; color: var(--accent);}
.toast__title {font-weight: 700;}
.toast__text {font-size: 14px;}
.toast__close {font-size: 18px; margin: 0 -10px; display: grid; place-items: center; 
	cursor: pointer; opacity: 0.6; width: 40px; height: 40px;}
.toast::after {content: ''; width: 100%; height: 3px; background-color: var(--accent); 
	position: absolute; left: 0; bottom: 0; animation: progressToast var(--toast-timer) linear forwards}
.toast--success {--accent: #41b92f;}
.toast--warning {--accent: #f4bd00;}
.toast--error {--accent: #dd3954;}
.toast--is-hiding {animation: hideToast 0.5s ease forwards;}
@keyframes progressToast {
	100% {width: 0}
}
@keyframes showToast {
	0% {transform: translateX(calc(100% + 20px));}
	40% {transform: translateX(-5%);}
	80% {transform: translateX(0%);}
	100% {transform: translateX(-10px);}
}
@keyframes hideToast {
	0% {transform: translateX(-10px);}
	40% {transform: translateX(0%);}
	80% {transform: translateX(-5%);}
	100% {transform: translateX(calc(100% + 20px));}
}