
body {
	background-attachment: fixed;
	background-image: url('/static/image/background3.jpg');
	color: #eee;
	font-family: "Roboto", sans-serif;
	margin: 0;
	overflow-y: scroll;
	overflow-x: hidden;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

a, a:visited {
	color: #eee;
	text-decoration: none;
}

h1, h2, h3 {
	margin: 0;
}

h2 > img {
	height: 24px;
	margin-right: 4px;
	vertical-align: bottom;
	margin-bottom: 3px;
}

h3 > img {
	height: 24px;
	margin-right: 4px;
	vertical-align: bottom;
	/*margin-bottom: 3px;*/
}

input {
	border: none;
	border-radius: 2px;
	padding: 3px 6px;
	font-size: 16px;
	font-family: "Roboto", sans-serif;
	min-width: 0;
}

.green, a.green {
	color: #ffba00;
}
.red, a.red {
	color: red;
}

.panel {
	background: rgba(0,0,0,0.8);
	padding: 15px;
	margin-bottom: 10px;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
}

.container {
    max-width: 1250px;
    margin: 0 auto;
}

.responsive-table {
	overflow-x: auto;
}

.button {
	color: #ffba00;
	padding: 5px 10px;
	display: inline-block;
	border-radius: 2px;
	border: 0;
	border: 2px solid #ffba00;
	cursor: pointer;
	position: relative;
	user-select: none;
	background: none;
}

.button:not(.disabled):active {
	filter: brightness(1.2);
	/* background: #111; */
}

.button > img {
	width: 18px;
	vertical-align: top;
	margin-right: 5px;
}

.button.disabled {
	filter: grayscale(1);
	cursor: default;
}

.button.red {
	color: red;
	border-color: red;
}

#main {
	position: relative;
	display: flex;
    flex-direction: row-reverse;
	min-height: calc(100vh - 350px);
}

#main .bar {
	padding: 10px 10px;
	height: 28px;
	background:
	linear-gradient(27deg, #151515 5px, transparent 5px) 0 5px,
	linear-gradient(207deg, #151515 5px, transparent 5px) 10px 0px,
	linear-gradient(27deg, #222 5px, transparent 5px) 0px 10px,
	linear-gradient(207deg, #222 5px, transparent 5px) 10px 5px,
	linear-gradient(90deg, #1b1b1b 10px, transparent 10px),
	linear-gradient(#1d1d1d 25%, #1a1a1a 25%, #1a1a1a 50%, transparent 50%, transparent 75%, #242424 75%, #242424);
	background-color: #131313;
	background-size: 20px 20px;
	position: relative;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}

#main .bar .right {
	position: absolute;
	top: 0;
	right: 0;
}

#main .bar .right .button {
	margin-top: 5px;
	margin-right: 10px;
}

.column1 {
	flex: 0 0 400px;
}
.column2 {
	flex: 1;
	margin-right: 10px;
}
.full {
	flex: 1;
}
.flex {
	display: flex;
	align-items: center;
	gap: 10px;
}
.flex > * {
	flex: 1;
}

#top {
	/* position: fixed; */
	/* top: 0; */
	z-index: 100;
	width: 1250px;
}

.clickable {
	cursor: pointer;
}
.clickable:hover {
	background: rgba(248, 153, 46, 0.6);
}

/*
 * Header
 */
#header {
	text-align: center;
	height: 150px;
	position: relative;
	width: 100%;
}

#header .header-right {
	position: absolute;
	right: 0px;
	top: 0px;
	height: 160px;
	padding-top: 30px;
	padding-right: 10px;
	vertical-align: bottom;
	text-align: right;
}

#header .header-right span.button.stream {
	color: white;
	border-color: white;
	margin-top: 5px;
	display: inline-flex;
    align-items: center;
	width: fit-content;
}
#header .header-right span.button.stream svg {
	width: 18px;
    height: 18px;
    margin-right: 5px;
}
#header .header-right span.button.stream svg g {
	fill: white;
}

#header .header-left {
	position: absolute;
	left: 0px;
	top: 0px;
	height: 160px;
	padding-top: 20px;
	padding-right: 10px;
	vertical-align: bottom;
	text-align: center;
	font-size: 18px;
	padding-left: 15px;
}

#header .header-left img {
	height: 40px;
	margin: 5px 0;
	vertical-align: bottom;
}

#logo {
	margin-left: -100px;
	height: 130px;
	margin-top: 10px;
	margin-bottom: 10px;
}

/*
 * Menu
 */
#menu {
	text-align: left;
	margin: 10px 0;
	display: flex;
	position: sticky;
	top: 0px;
	z-index: 100;
}
#menu > *:not(.home-button) {
	flex: 1;
}
#menu .element {
	height: 40px;
	text-align: center;
	background: #262626;
	line-height: 40px;
	padding: 0 11px;
	position: relative;
}
#menu > :first-child .element {
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
}
#menu > :last-child.element {
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
}
#menu > :not(:first-child) {
	border-left: 1px solid #aaa;
}
#menu .element:not(.disabled) {
	cursor: pointer;
}
#menu .element:not(.disabled):hover {
	background: #555;
}
#menu .element img {
	width: 30px;
	height: 30px;
	margin: 5px;
}
#menu .element .bar {
	height: 4px;
	display: inline-block;
	background: white;
	position: absolute;
	bottom: 0;
	right: 15px;
	left: 15px;
	border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}

#menu .element input {
	width: 190px;
	height: 23px;
}

#menu .element img {
	width: 22px;
	height: 22px;
	vertical-align: middle;
}
#menu #global-search.element {
	flex: 0 0 250px;
}

#main {
	/* margin-top: 210px; */
}

/*
 * Home
 */
.home .categories {
	padding: 5px;
}

.home .categories .category {
	display: inline-block;
	margin: 10px;
	text-align: center;
}

.home .categories .category .name {
	font-size: 20px;
}

.home .categories .category img {
	width: 316px;
	border-radius: 2px;
}

.home #news {
	padding: 10px 0px;
	text-align: center;
}

.gift-message {
	font-size: 19px;
	height: 20px;
}
.gift-icon {
	height: 28px;
	margin-right: 8px;
	vertical-align: top;
	margin-top: -5px;
}

.chapo {
	padding: 20px;
	max-width: 550px;
	margin: 0 auto;
	font-size: 20px;
	text-align: center;
}

.chapo .large {
	font-size: 23px;
}

.comments, .tutoriel {
	padding: 12.5px;
}

#news-title {
	display: inline-block;
	padding: 12px;
	margin-top: -10px;
	margin-left: -10px;
}

/*
 * Gallery
 */
#search {
	float: right;
	margin-top: -28px;
}

#search img {
	vertical-align: middle;
	margin-right: 6px;
}

#search input {
	background: black;
	color: #eee;
	border: 1px solid #444;
	width: 250px;
}

#products {
	text-align: center;
}

.gallery > .description {
	padding: 20px;
	font-size: 18px;
}

.gallery > .description ul {
	text-align: left;
}

.gallery .product {
	width: 180px;
	margin: 10px;
	display: inline-block;
	text-align: center;
	vertical-align: top;
    perspective: 1000px;
}

.gallery .product .image {
	margin: 0 auto;
	margin: 5px;
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	vertical-align: top;
    background-size: 0, cover;
    transform-style: preserve-3d;
    transform: perspective(450px) rotateY(20deg);
    transform-origin: center;
}
.gallery .product .image:before {
    content: '';
    position: absolute;
    left: 0px;
    top: 2px;
	height: calc(100% - 4px);
    width: 22px;
    background-image: linear-gradient(#eee, #777);
    background-size: cover, cover;
    background-position: bottom;
    transform: rotateY(90deg);
    transform-origin: center;
}
.gallery .product .image img {
	width: 145px;
	height: 145px;
	vertical-align: bottom;
}

.gallery .product .category {
	background: #171717;
	font-size: 14px;
	color: #ccc;
	padding: 2px 0;
	width: 145px;
	margin: 0 auto;
	text-align: center;
}

.gallery .product .color {
	height: 3px;
	width: 145px;
	margin: 0 auto;
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
}

.gallery .product .title {
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	min-height: 20px;
	padding: 5px;
}

.gallery .product .description {
	font-size: 14px;
	min-height: 20px;
}

.gallery .product .price {
	text-align: center;
	color: #ffba00;
	font-weight: bold;
	font-size: 18px;
	margin: 8px 0;
}

.gallery .product .quantity {
	margin-bottom: 12px;
	gap: 5px;
}
.gallery .product .quantity button {
	font-size: 18px;
	padding: 1px;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

body.fixed #column {
	position: fixed;
	top: 250px;
}

#column {
	width: 400px;
	position: sticky;
	top: 50px;
}

#column iframe {
	margin-left: -15px;
}

#column .category-description {
	font-size: 20px;
	padding-bottom: 15px;
	text-align: center;
}

.color-bar {
	height: 3px;
	margin-bottom: -15px;
	margin-left: -15px;
	margin-right: -15px;
}

.category-image {
	margin-top: -15px;
	margin-left: -15px;
	margin-right: -15px;
	width: 400px;
}

.category-video {
	margin-top: -15px;
}

/*
 * Connexion
 */
.form input[type='text'], .form input[type='password'], .form input[type='email'] {
	margin: 5px 0;
	width: 100%;
	max-width: 300px;
}

/*
 * Cart
 */
.method {
	display: inline-block;
	padding: 10px;
	margin: 10px;
	text-align: center;
}
#cart .total {
	font-size: 20px;
}
#cart .code {
	padding: 8px;
	margin: 6px;
}
#cart .valid-code {
	color: #00f300;
}
#cart .invalid-code {
	color: red;
}

/*
 * Account
 */
#account .products {
	padding: 0;
}

#account .product:nth-child(odd) {
	background: rgba(120, 120, 120, 0.2);
}

#account .products th {
	padding: 6px 10px;
	background: #333;
}
#account .product td:nth-child(n+2) {
	padding: 0 6px;
}

#account .product img {
	width: 50px;
	height: 50px;
}
#account .product .artist {
	width: 160px;
}
#account .product .title {
	width: 160px;
}
#account .product .description {
	font-size: 13px;
	width: 250px;
}
#account .product .category {
	font-size: 14px;
	width: 150px;
}
#account .product .download {
	text-align: center;
}
#account .product .downloaded {
	text-align: center;
}
#account .product .report {
	text-align: center;
}
#account .product .report img {
	width: 15px;
	height: 15px;
	padding: 10px;
}

/*
 * Report
 */
#report .image {
	width: 200px;
	height: 200px;
}
#report form {
	text-align: left;
	display: inline-block;
	width: 500px;
}
#report textarea {
	width: 100%;
	min-height: 100px;
	margin-top: 4px;
}

/*
 * Contact
 */
#contact {
	font-size: 16px;
}

#contact .title {
	font-size: 22px;
	font-weight: bold;
}

#contact ul {
	list-style-position: inside;
	text-align: left;
	display: inline-block;
	padding-left: 8px;
}

#contact input, #contact select, #contact textarea {
	margin: 6px 0;
}

#contact select {
	font-size: 18px;
}

#contact input[type='text'], #contact input[type='email'], #contact select, #contact textarea {
	width: 100%;
	max-width: 400px;
}

#contact textarea {
	min-height: 120px;
	font-size: 16px;
	padding: 4px;
}

/*
 * Forgot password
 */
#forgot-password input[type='text'], #forgot-password input[type='password'], #forgot-password input[type='email'] {
	width: 100%;
	max-width: 400px;
}

#forgot-password h4 {
	margin-bottom: 4px;
}

/*
 * Tutoriel
 */
.tutoriel {
	margin-right: 100px;
}

#tutoriel .column {
	width: 480px;
	display: inline-block;
	text-align: left;
	margin: 0 20px;
	margin-bottom: 30px;
}

#tutoriel iframe {
	display: inline-block;
}

/*
 * Section
 */
#section .categories {
	text-align: center;
}
#section .category {
	display: inline-block;
	margin: 10px;
	font-size: 20px;
}
#section .category img {
	width: 300px;
}
#section .description {
	padding: 30px;
	font-size: 18px;
}

/*
 * Karaoke
 */
#karaoke .bar {
	display: flex;
}
#karaoke .search {
	padding-left: 20px;
	display: flex;
	align-items: center;
	flex: 2;
}
#karaoke .search img {
	margin-right: 6px;
}
#karaoke .search input {
	width: 100%;
}
#karaoke .panel {
	padding: 0;
}
#karaoke .menu {
	display: flex;
	padding: 10px 0;
}
#karaoke .language-menu {
	padding: 5px 0;
}
#karaoke .menu .section {
	flex: 1;
	text-align: center;
	padding: 10px;
	border-radius: 2px;
	cursor: pointer;
	user-select: none;
}
#karaoke .section.selected {
	background: rgba(255,255,255,0.8);
	color: black;
}
#karaoke .section:not(.selected):hover {
	background: rgba(255,255,255,0.2);
	color: white;
}
#karaoke .menu img {
	vertical-align: middle;
	margin-right: 4px;
	margin-bottom: 2px;
}
#karaoke .header {
	display: flex;
	align-items: center;
	background:
	linear-gradient(27deg, #151515 5px, transparent 5px) 0 5px,
	linear-gradient(207deg, #151515 5px, transparent 5px) 10px 0px,
	linear-gradient(27deg, #222 5px, transparent 5px) 0px 10px,
	linear-gradient(207deg, #222 5px, transparent 5px) 10px 5px,
	linear-gradient(90deg, #1b1b1b 10px, transparent 10px),
	linear-gradient(#1d1d1d 25%, #1a1a1a 25%, #1a1a1a 50%, transparent 50%, transparent 75%, #242424 75%, #242424);
	background-color: #131313;
	background-size: 20px 20px;
}
#karaoke .header > * {
	padding: 8px;
	flex: 1;
}
#karaoke .song {
	display: flex;
	align-items: center;
	height: 36px;
}
#karaoke .song > * {
	flex: 1;
	padding: 0 10px;
}
#karaoke .song:nth-child(odd) {
	background: rgba(120, 120, 120, 0.2);
}
#karaoke .half {
	flex: 0.5
}
#karaoke .flag {
	margin: 0 5px;
}
#karaoke .paginator {
	display: flex;
	align-items: center;
	padding: 5px;
	flex: 0 0 300px;
}
#karaoke .paginator > * {
	margin: 0 5px;
}
#karaoke .space {
	flex: 1 1 auto;
}
#karaoke .categories.panel {
	margin-bottom: 0px;
}

/*
 * Footer
 */
#footer {
	text-align: center;
	padding: 20px;
	/*padding-right: 400px;*/
}

/*
 * Admin
 */
#admin [contenteditable=true]:empty:not(:focus):before {
	content:attr(data-ph);
	color:grey;
	font-style:italic;
}

#admin .commands {
	padding: 0;
}
#admin .command:nth-child(odd) {
	background: rgba(120, 120, 120, 0.2);
}
#admin .commands th {
	padding: 6px 10px;
	background: #333;
}
#admin .command td {
	text-align: center;
	height: 30px;
}
#admin .command td:nth-child(n+2) {
	padding: 0 6px;
}
#admin .commands .actions {
	white-space: nowrap;
}

#admin .products {
	padding: 0;
}

#admin .product:nth-child(odd) {
	background: rgba(120, 120, 120, 0.2);
}

#admin .products th {
	padding: 6px 10px;
	background: #333;
}
#admin .product td:nth-child(n+2) {
	padding: 0 6px;
}

#admin .product img {
	width: 50px;
	height: 50px;
	cursor: pointer;
}
#admin .product .reference {
	text-align: center;
	font-size: 13px;
	width: 50px;
    max-width: 50px;
}
#admin .product .artist {
	width: 140px;
}
#admin .product .title {
	width: 140px;
}
#admin .product .description {
	font-size: 13px;
	width: 250px;
}
#admin .product .file {
	font-size: 12px;
}
#admin .product .category {
	font-size: 14px;
	width: 100px;
}
#admin .product .price {
	text-align: center;
}

#admin .customers {
	padding: 0;
}

#admin .customer:nth-child(odd) {
	background: rgba(120, 120, 120, 0.2);
}

#admin .customers th {
	padding: 6px 10px;
	background: #333;
}
#admin .customer td {
	text-align: center;
	height: 30px;
}
#admin .customer td:nth-child(n+2) {
	padding: 0 6px;
}

#admin .products {
	padding: 0;
}

#admin .categories {
	padding: 0;
}
#admin .categories th {
	padding: 6px 10px;
	background: #333;
}
#admin .category:nth-child(odd) {
	background: rgba(120, 120, 120, 0.2);
}

#admin .category th {
	padding: 6px 10px;
	background: #333;
}
#admin .category td {
	/* text-align: center; */
	height: 30px;
}
#admin .category td:nth-child(n+2) {
	padding: 0 6px;
}


#admin .sections {
	padding: 0;
}
#admin .sections th {
	padding: 6px 10px;
	background: #333;
}
#admin .section:nth-child(odd) {
	background: rgba(120, 120, 120, 0.2);
}

#admin .section th {
	padding: 6px 10px;
	background: #333;
}
#admin .section td {
	text-align: center;
	height: 30px;
}
#admin .section td:nth-child(n+2) {
	padding: 0 6px;
}

#admin .reportings {
	padding: 0;
}

#admin .reporting:nth-child(odd) {
	background: rgba(120, 120, 120, 0.2);
}

#admin .reportings th {
	padding: 6px 10px;
	background: #333;
}
#admin .reporting td:nth-child(n+2) {
	padding: 0 6px;
}
#admin .reporting td {
	padding: 5px;
}
#admin .reporting .problems {
	font-size: 14px;
}
#admin .reporting .problems div {
	padding: 2px;
}
#admin .paginator {
	display: flex;
	align-items: center;
	padding-bottom: 5px;
	flex: 0 0 300px;
}
#admin .paginator > * {
	margin: 0 5px;
}
#admin .space {
	flex: 1 1 auto;
}
#admin .karaoke:nth-child(odd) {
	background: rgba(120, 120, 120, 0.2);
}
#admin .menu {
	display: flex;
}
#admin .menu .section {
	flex: 1;
	text-align: center;
	padding: 10px;
	border-radius: 2px;
	cursor: pointer;
	user-select: none;
	background: none;
}
#admin .section.selected {
	background: rgba(255,255,255,0.8);
	color: black;
}
#admin .section:not(.selected):hover {
	background: rgba(255,255,255,0.2);
	color: white;
}
#admin .menu img {
	vertical-align: middle;
	margin-right: 4px;
	margin-bottom: 2px;
}
#admin .promo-codes {
	text-align: left;
}
#admin .promo-codes .delete {
	width: 120px;
}
#admin .promo-code:nth-child(odd) {
	background: rgba(120, 120, 120, 0.2);
}

/*
 * Events
 */
#admin .events {
	padding: 0;
}
#admin .event:nth-child(odd) {
	background: rgba(120, 120, 120, 0.2);
}

@media screen and (max-width: 1200px) {
	#header {
		text-align: center;
		height: auto;
	}
	#logo {
		margin-left: 0;
		height: auto;
		width: auto;
		max-height: 100px;
		margin-top: 0;
	}
	#top {
		position: relative;
		width: 100%;
	}
	#main {
		margin-top: 0;
		flex-direction: column;
	}
	#header .header-left {
		display: none;
	}
	#header .header-right {
		position: relative;
		height: auto;
		padding-top: 10px;
	}
	#footer {
		padding-right: 20px;
	}
	.column1 {
		width: auto;
		position: relative;
		left: 0px;
	}
	.column2 {
		width: 100%;
	}
	#column {
		position: relative;
		width: auto;
		margin-left: 0;
	}
	.gift-message {
		height: auto;
	}
	#global-search {
		width: 100%;
	}
	#menu #global-search input {
		width: calc(100% - 60px);
	}
	.panel.gallery {
		padding: 10px;
	}
	.gallery .product {
		margin: 10px;
		width: 130px;
	}
	.gallery .product .category {
		width: 120px;
	}
	.gallery .product .color {
		width: 120px;
	}
	.gallery .product .image img {
		width: 120px;
		height: 120px;
	}
	#search {
		float: none;
		margin-top: 6px;
	}
}
