html {
	scroll-snap-type: y proximity;
	scroll-behavior: smooth;
}

* {
	box-sizing: border-box;
	image-rendering: crisp-edges;
    image-rendering: pixelated;
	list-style-type: none;
	text-decoration: none;
	user-select: none;
	-webkit-user-select: none;   /* Safari, Chrome, Edge */
	-moz-user-select: none;      /* Firefox */
	-ms-user-select: none;       /* Internet Explorer / Edge */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

p {
	font-family: 'MF Font Base';
	color: #4ee243;
	font-size: 8px;
}

@font-face {
	font-family: 'MF Font Base';
	src: url('../../font/MF Font Base.woff2') format('woff2');
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'MFPlayerControl';
	src: url('../../font/MFPlayerControl.woff2') format('woff2');
	font-style: normal;
	font-display: swap;
}

@font-face {	
	font-family: 'MF Terminal';
	src: url('../../font/MF Terminal.woff2') format('woff2');
	font-style: normal;
	font-display: swap;
}

body {
	max-width: 960px;
	margin: 0 auto;
	background-color: #000000;
	transform: scale(2);
	transform-origin: top;
	image-rendering: crisp-edges;
    image-rendering: pixelated;
	overflow-x: hidden;
	scroll-snap-type: y mandatory;
	background-size: 1920px 2158px;
	background-repeat: no-repeat;
    background-position: center top;
	background-image: url("../image/release_background.png");
}

footer {
	position: relative;
	margin: 25px auto;
	width: 521px;
}
	
.top {
	position: relative;
	width: 100%;
	height: 54px;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 0px;
	box-sizing: content-box;
	background-image: url("../image/header_bc.png");
	scroll-snap-align: start;
	scroll-snap-stop: always;
}

/* HEADER */
.icon-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
}

.icon {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.back-button {
	position: relative;
	top: -3px;
	left: -220px;
	width: 124px;
	height: 10px;
}

.header-item {
	position: relative;
	margin-left: 15px;
	left: 225px;
	top: -3px;
	width: 60px;
	height: 10px;
}


/* BUTTON ANIMATION */
.icon.normal {
	opacity: 1;
}
		
.icon.hover {
	opacity: 0;
}

.header-item:hover .icon.normal {
	opacity: 0;
}

.header-item:hover .icon.hover {
	opacity: 1;
}

.back-button:hover .icon.normal {
	opacity: 0;
}

.back-button:hover .icon.hover {
	opacity: 1;
}

/* >>> HEADER <<< */

.title {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin-top: 11px;
	scroll-snap-align: start;
	scroll-snap-stop: always;
	scroll-margin-top: 10px;
}

.columns {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	width: 521px;
	margin: 14px auto 0 auto;
	place-items: center;
	gap: 84px;
}

.column1 {
	display: flex;
	flex-direction: column;
	width: 206px;
	align-self: flex-start;
	justify-content: flex-start;
}

.album-art {
	width: 204px;
	height: 292px;
	border: 1px solid #296420;
	box-shadow: 
		0 0 0 1px #070809;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 5px 5px 0 5px;
	box-sizing: border-box;
	gap: 6px;
}

.cover {
	width: 192px;
	height: 192px;
	object-fit: cover;
	object-position: top center;
	image-rendering: crisp-edges;
	border: 1px solid #41b837;
	flex-shrink: 0;
}

.album-info {
	width: 192px;
	color: #4ee243;
	margin-left: 1px;
}

.album-title {
	text-align: left;
	color: #4ee243;
	margin-bottom: 12px;
	font-family: 'MF Terminal', monospace;
	font-size: 5px;
}

.info-row {
	display: flex;
	justify-content: space-between;
	margin-bottom: 11px;
	font-family: 'MF Font Base', monospace;
	-webkit-text-stroke: 0px transparent;
	font-size: 8px;
}

.label {
	color: #4ee243;
}

.value {
	color: #4ee243;
	margin-right: -1px;
}

.column2 {
	display: flex;
	justify-content: center;
	flex-direction: column;
	width: 231px;
}

.art-animations {
	display: flex;
	justify-content: center;
}

.visualizer-container {
	width: 231px;
	height: 84px;
	border: 1px solid #296420;
	position: relative;
	overflow: hidden;
	background: transparent;
}

#visualizer {
	width: 231px;
	height: 84px;
	image-rendering: crisp-edges;
	image-rendering: pixelated;
}

.visualizer-label {
	position: absolute;
	top: 0px;
	right: 0px;
	width: 40px;
	height: 7px;
	z-index: 10;
}

.music-block {
	width: 231px;
}

.player-container {
	width: 231px;
	height: 40px;
	margin: 10px 0 9px 0;
	overflow: hidden;
	background-image: url("../image/player-container.png");
}

.controls {
	padding: 3px 5px 4px 5px;
	display: flex;
	flex-direction: column;

}

/* >>> VOLUME <<< */

.volume-container {
	position: absolute;
	display: flex;
	align-items: center;
	margin-top: 24px;
}

.volume-bar-container {
	width: 52px;
	height: 6px;
	overflow: hidden;
}

#volumeSlider {
	width: 50px;
	height: 4px;
	border: 1px solid #41b837;
	margin-left: 5px;
	background: transparent;
	outline: none;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

#volumeSlider::-webkit-slider-runnable-track {
	height: 4px;
	background: transparent;
}

#volumeSlider::-moz-range-track {
	height: 4px;
	background: transparent;
}

/* Заполнение цветом слева направо */
#volumeSlider::-webkit-slider-runnable-track {
	background: linear-gradient(to right, 
		#41b837 var(--volume-percent), 
		transparent var(--volume-percent));
}

#volumeSlider::-moz-range-track {
	background: linear-gradient(to right, 
		#41b837 var(--volume-percent), 
		transparent var(--volume-percent));
}

#volumeSlider::-webkit-slider-thumb {
	-webkit-appearance: none;
	width: 5px;
	height: 4px;
	cursor: pointer;
}

#volumeSlider::-moz-range-thumb {
	width: 5px;
	height: 5px;
	cursor: pointer;
}

.progress-container {
	height: 5px;
	border: 1px solid #41b837;
	position: relative;
	cursor: pointer;
}

.progress-bar {
	height: 100%;
	width: 0%;
	background: #41b837;
	transition: width 0.1s linear;
}

.time {
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: 'MF Terminal', monospace;
	-webkit-text-stroke: 0px transparent;
	font-size: 5px;
	margin-top: 5px;
	color: #41b837;
}

.buttons {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin: 1px 0 6px 0;
	font-family: 'MFPlayerControl', monospace;
	-webkit-text-stroke: 0px transparent;
}

.btn {
	height: 9px;
	color: #41b837;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;

}

.btn:hover {
	color: #7ff774;
}

.btn-play {
	width: 9px;
	height: 9px;
}

.playlist {
	width: 231px;
	margin-top: 10px;
}

.playlist-item {
	padding: 4px 0px 0px 5px;
	height: 18px;
	display: flex;
	cursor: pointer;
	font-family: 'MF Font Base', monospace;
	-webkit-text-stroke: 0px transparent;
	font-size: 8px;
	color: #4ee243;
	line-height: 14px;
}

.playlist-item:hover {
	background: #296420;
}

.playlist-item.active {
	background: #296420;
}

.track-number {
	color: #4ee243;
	width: 19px;
}

.description {
	position: relative;
	margin: 0 auto;
	margin-top: 28px; 
	width: 521px;
	border: 1px solid #41b837;
	box-shadow: 
		0 0 0 1px #0c110e,
		0 0 0 2px #070809;
	box-sizing: border-box;
	background-color: #030303;
	overflow: hidden;
	line-height: 14px;
	scroll-snap-align: start;
	scroll-snap-stop: always;
}

.description p {
	margin: 10px 9px 15px 9px;
	text-indent: 37px;
	line-height: 14px;
}

.description p.no-indent {
	text-indent: 0;
}

.description p:last-child {
	margin-bottom: 9px;
}

.download {
	position: relative;
	margin: 0 auto;
	margin-top: 25px;
	width: 160px; 
	height: 19px;
}