/******************************************************************************/
/* COMMON
/******************************************************************************/
body {
	opacity: 0;
	font-family: 'Mulish', Helvetica, Arial, sans-serif;
	/* background: url(img/bg-sky.jpg) center / cover no-repeat fixed white; */
	background-color: black;
}
body.show {
    opacity: 1;
    transition-duration: .7s;
    transition-property: opacity;
}
a {
	color: #999;
	text-decoration: none;
}
.container {
    background-color: white;
}
.overlay {
	position: fixed;
	display: none;
	z-index: 5;
	left: 0;
	top: 0;
	background-color: #333;
	color: #fff;
	width: 100%;
	height: 100%;
}
.bg {
    position: fixed;
    top: 0px;
    width: 100%;
    height: 100vw;
    padding-top: 20px;
    background: url(img/tiger0.jpg) left top no-repeat fixed;
}
#confetti {
	/* background: #000; */
	height: 100%;
	left: 0px;
	position: fixed;
	top: 0px;
	width: 100%;
	z-index: -1;
}

/******************************************************************************/
/* HEADER
/******************************************************************************/
header {
	/* position: relative; */
	display: flex;
	/* justify-content: space-between; */
}
header a {
	color: var(--black);
	text-decoration: none;
}
header .logo {
	width: 10%;
}
header .top {
	width: 80%;
}
header .user {
	width: 10%;
}

/* logo */
header .logo img {
	float: left;
	max-width: 100%;
	max-height: 100%;
	border-radius: 50%;
}

/* title & nav */
header .top {
	text-align: center;
}
header .top .menu {
	height: 35px;
}
header .top .menu li a {
	transition: color 0.3s ease;
}
header .top .site-title {
	margin: 0 auto;
	font: normal 2em Verdana;
}
header .top .site-title img {
	max-width: 100%;
	border-radius: 50%;
}
header .top .site-subtitle {
	font: normal 1.2em Verdana;
}
header h1 {
	padding-top: 25px;
	background: url(img/top-shadow.png) no-repeat top;
}

/*************************************/
/* EDITOR
/*************************************/

/* main pre { */
	/* display: block; */
	/* width: 100%; */
	/* padding: 5px 3px; */
	/* font: 0.9em Monaco, "Andale Mono", "Courier New", Courier, monospace; */
	/* line-height: 1.3em; */
	/* color: #2E8B57; */
	/* background-color: white; */
	/* border: 1px solid #eee; */
/* } */

/*************************************/
/* NAVIGATION
/*************************************/
nav ul li:hover {
	color: black;
}
nav ul li a {
	position: relative;
	display: block;
	padding: 10px 0;
	margin: 0 10px;
	font: normal 1.1rem 'Fjalla One', sans-serif;
	/* letter-spacing: 1px; */
	line-height: 1.2;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 0.1s, background-color 0.1s, padding 0.2s ease-in;
	color: #000;
}
nav ul li a:hover,
nav ul li a:focus,
nav ul li a:active {
	color: #999;
	text-decoration: none;
}
nav ul li a:active::before {
	background-color: #000;
}
nav ul li a.active {
	color: #999;
}

.topnav li span {
	display: inline-block;
	width: 20px;
}

/* horizontal nav */
.nav,
.horiznav {
	display: flex;
	justify-content: center;
	padding-left: 0;
}
.horiznav li {
	list-style: none;
	text-wrap: nowrap;
	transition: all 0.5s ease;
}
.horiznav li a::before,
.horiznav li a.active::before {
	content: '';
	display: block;
	position: absolute;
	bottom: 3px;
	left: 0;
	height: 3px;
	width: 100%;
	background-color: #000;
	transform-origin: right top;
	transform: scale(0, 1);
	transition: color 0.1s,transform 0.2s ease-out;
}
.horiznav li a:hover::before,
.horiznav li a:focus::before,
.horiznav li a.active::before {
	transform-origin: left top;
	transform: scale(1, 1);
}
.horiznav li a span {
	display: inline-block;
	width: 20px;
}
.horiznav li a i {
	vertical-align: top;
}
/* horizontal nav with sub-menus */
.horiznav li ul {
	display: none;
	position: absolute;
	top: 40px;
	left: 0;
	background: white;
	z-index: 10;
}
.horiznav .topmenu ul {
	display: none;
	position: absolute;
}
.horiznav li.topmenu {
	position: relative;
}

.horiznav li:hover > ul {
	display: block;
}
.horiznav ul.submenu {
	top: 100%;
	left: 0;
	padding: .5em 0 .5em 0;
	text-align: left;
	border: 1px solid #ccc;
}
.horiznav ul.submenu .submenu {
	top: -.5em;
	left: 100%;
	font-size: 1em
}
.horiznav ul.submenu li {
	padding: .2em .5em;
	/* font-size: .9rem; */
}
.horiznav li.divider {
	margin: .5rem auto .3rem;
	padding: 0;
	border-top: 1px solid #343434;
	cursor: default;
}
.horiznav li.divider:hover {
	background-color: transparent;
}

/*************************************/
/* SEARCH
/*************************************/
.search {
	position: relative;
	display: flex;
	ju/stify-content: space-between;
}
.search-container {
	position: absolute;
	top: 15px;
	right: 0px;
	display: flex;
	align-items: center;
	width: 30px;
	transition: width 0.4s ease;
}
.search-input {
	position: absolute;
	width: 100%;
	padding: 8px 40px 8px 12px;
	border: 1px solid #ccc;
	border-radius: 25px;
	outline: none;
	opacity: 0;
	transition: opacity 0.2s ease;
	box-sizing: border-box;
}
.search-icon {
	position: absolute;
	right: 10px;
	font-size: 18px;
	cursor: pointer;
	transition: color 0.3s ease;
}
.search-icon:hover {
	color: grey;
}
.search-container.active {
	width: 250px;
}
.search-container.active .search-input {
	opacity: 1;
}

/******************************************************************************/
/* MAIN
/******************************************************************************/
main {
	line-height: 1.4;
}
main h1 {
	font-size: 1.75rem;
}
main h2 {
	font-size: 1.5rem;
}
main h3 {
	font-size: 1.2rem;
}

.content {
	margin-top: 20px;
}
/******************************************************************************/
/* STYLES FOR EDITABLE PAGES
/******************************************************************************/
.editable h1 {
	font-size: clamp(40px, 5vw, 70px);
}
.editable h2 {
	font-size: clamp(24px, 2.5vw, 35px);
}
.editable h3 {
	font-size: clamp(18px, 3vw, 24px);
}
.editable blockquote {
    font: italic 1rem Georgia, serif;
    position: relative;
	margin: 5px;
    padding: 0.5em 2em 0.5em 3em;
	line-height: 1.4;
	border-left: 10px solid #ccc;
	/* border-right: 10px solid #ccc; */
}
.editable blockquote::before {
	content: '\201C';
	position: absolute;
	font-size: 6em;
	font-family: Georgia, serif;
	line-height: 1;
	top: 0;
	left: 0;
	color: #ccc;
}
.editable blockquote::after {
	content: '\201D'; 
	position: absolute;
	right: 0;
	bottom: -0.5em;
	float: right;
	font-family: Georgia, serif;
	font-size: 6em;
	line-height: 1;
	color: #ccc;
 }
.editable blockquote footer {
    padding: 0 2em 0 0;
    text-align:right;
}
.editable blockquote cite::before {
	content: "\2013";
}

/******************************************************************************/
/* SHOP
/******************************************************************************/
#shop li.product {
    width: 200px;
}
.img-thumbnail {
	width: 100px;
	height: 120px;
}
.img-thumbnail img {
	width: 100%;
	height: 100%;
}
/* Rating */
#shop .star-rating {
	display: inline-block;
	font-size: 30px;
	color: #ccc;
	cursor: pointer;
}
#shop .star-rating .star {
	margin-right: 5px;
	transition: color 0.2s;
}
/******************************************************************************/
/* AUDIO
/******************************************************************************/
#cat_parent,
#aud_language,
#aud_gender,
#search-rating {
	padding: .25rem .5rem;
	-moz-appearance: none;
	border-radius: 0.375rem;
	transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
#audio ul {
	padding-left: 0;
}
#audio ul li {
	list-style: none;
}
#audio h2 {
	text-align: center;
}
#audio li.category {
	position: relative;
	text-align: center;
}
#audio li.category a {
	display: block;
	width: 200px;
	height: 200px;
}
#audio li.category h3 {
	line-height: 1.2;
	font: normal 1rem 'Fjalla One', sans-serif;
}
#audio li.category img {
	border-radius: 5px;
	box-shadow: 5px 5px 20px 0px rgb(104 104 104 / 75%);
}

#audio #category {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding-left: 0;
}

:root {
  --audio-primary-color: rgb(24, 24, 24);
  --audio-primary-background-color: rgb(221, 221, 221);
  --audio-secondary-color: rgb(75, 75, 75);
  --audio-secondary-background-color: rgb(255, 255, 255);
  --audio-highlight-color: rgb(255, 85, 1);
  --audio-disabled-button-color: rgb(175, 175, 175);
  --audio-border-radius: 1rem;
}

/* Audio player */
#audio .audio-player {
	display: flex;
}
#audio .audio-player .waveform {
	cursor: pointer;
	position: relative;
}
#audio .audio-player .hover {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 10;
	pointer-events: none;
	height: 100%;
	width: 0;
	mix-blend-mode: overlay;
	background: rgba(255, 255, 255, 0.5);
	opacity: 0;
	transition: opacity 0.2s ease;
}
#audio .waveform:hover .hover {
	opacity: 1;
}
#audio .audio-player .time,
#audio .audio-player .duration {
	position: absolute;
	z-index: 11;
	top: 50%;
	margin-top: -1px;
	transform: translateY(-50%);
	font-size: 11px;
	background: rgba(0, 0, 0, 0.75);
	padding: 2px;
	color: #ddd;
}
#audio .audio-player .time {
	left: 0;
}
#audio .audio-player .duration {
	right: 0;
}
/* Audio picture */
#audio .audio-picture {
	margin-right: 10px;
}
#audio .audio-picture img {
	width: 100px;
	height: 100px;
}
/* Audio controls */
#audio .controls {
	display: flex;
	flex-direction: row;
}
#audio .controls .like-share {
	width: 100px;
	display: flex;
	justify-content: space-between;
}
#audio .controls .like-share a.like {
	margin-left: 10px;
}
#audio .controls .like-share a.like:hover {
	color: #ff5e5e;
}
#audio .controls .like-share a.like.liked {
	color: #ff5e5e;
}
#audio .controls .like-share a.share {
	margin-right: 10px;
}
#audio .controls .like-share a.share:hover {
	color: black;
}
#audio .controls .like-share i {
	font-size: 1.5em;
}
/* Play button */
#audio .play-button {
	margin-left: 25px;
	/* Reset default button styles */
	border: none;
	background-color: transparent;
	outline: none;
	cursor: pointer;
}
/* Main player body, which includes title, waveform, volume and timecode */
#audio .player-body {
	width: 100%;
}
/* Audio track title */
#audio .info {
	width: 100%;
	display: flex;
	flex-direction: column;
	margin-bottom: 10px;
	text-align: center;
}
#audio .info .author {
	font-weight: 600;
	color: #084298;
}
#audio .info .title {
	
}
#audio .wave-container {
	height: 120px;
	display: flex;
	align-items: center;
}
/* Main waveform */
#audio .waveform {
	width: 100%;
	min-height: 8rem;
	padding: 0.5rem 0;
}
/* Play / pause button */
#audio .play-button-icon {
	max-width: 50px;
}
#audio .play-button-icon img {
	width: 100%;
}
/* Controls include volume mute/unmute, volume slider and timecode */
#audio .controls {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
/* Timecode */
#audio .timecode {
	text-wrap: nowrap;
	color: var(--audio-secondary-color);
}
/* Volume */
#audio .volume {
	display: flex;
	align-items: center;
}
#audio .volume-icon {
	width: 25px;
	margin-right: 5px;
	cursor: pointer;
}
#audio .volume-slider {
	cursor: pointer;
	width: 100px;
	height: 4px;
	outline: none;
	-webkit-appearance: none;
	/*background: transparent;*/
	background: gray;
}
/* Custom volume slider */
#audio .volume-slider::-webkit-slider-thumb {
	-webkit-appearance: none;
	height: 1.5rem;
	width: 1.5rem;
	border: none;
	border-radius: 50%;
	background: var(--audio-highlight-color);
	margin-top: -0.6rem;
}
#audio .volume-slider::-moz-range-thumb {
	-webkit-appearance: none;
	height: 1.5rem;
	width: 1.5rem;
	border: none;
	border-radius: 50%;
	background: var(--audio-highlight-color);
}
#audio .volume-slider::-ms-thumb {
	-webkit-appearance: none;
	height: 1.5rem;
	width: 1.5rem;
	border: none;
	border-radius: 50%;
	background: var(--audio-highlight-color);
}
#audio .volume-slider::-webkit-slider-runnable-track {
	width: 100%;
	height: 0.25rem;
	background-color: var(--audio-secondary-color);
	border-radius: var(--audio-border-radius);
}
#audio .volume-slider::-ms-track {
	background: transparent;
	border-color: transparent;
	color: transparent;
	width: 100%;
	height: 0.25rem;
	background-color: var(--audio-secondary-color);
	border-radius: var(--audio-border-radius);
}
/* Muted/disabled volume slider */
#audio .volume-slider[disabled] {
	cursor: not-allowed;
}
#audio .volume-slider[disabled]::-webkit-slider-thumb {
	background-color: var(--audio-disabled-button-color);
}
#audio .volume-slider[disabled]::-moz-range-thumb {
	background-color: var(--audio-disabled-button-color);
}
#audio .volume-slider[disabled]::-ms-thumb {
	background-color: var(--audio-disabled-button-color);
}
#audio .volume-slider[disabled]::-webkit-slider-runnable-track {
	background-color: var(--audio-disabled-button-color);
}
#audio .volume-slider[disabled]::-ms-track {
	background-color: var(--audio-disabled-button-color);
}

/* Rating */
#audio .star-rating {
	display: inline-block;
	font-size: 30px;
	color: #ccc;
	cursor: pointer;
}
#audio .star-rating .star {
	margin-right: 5px;
	transition: color 0.2s;
}
#audio .star-rating .star.full {
	color: #ffcc00;
}
#audio .star-rating .star.half {
	color: #ffcc00;
	background: linear-gradient(90deg, #ffcc00 50%, #ccc 50%);
	-webkit-background-clip: text;
	text-fill-color: transparent;
}
#audio .popup {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	justify-content: center;
	align-items: center;
	z-index: 1000;
}
#audio .popup .popup-content {
	background: #fff;
	padding: 20px;
	border-radius: 8px;
	width: 90%;
	max-width: 400px;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
#audio .popup textarea {
	width: 100%;
	height: 150px;
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
	resize: none;
	box-sizing: border-box;
	font: normal 16px courier;
}
#audio .popup .close-btn {
	background: #f44336;
	color: #fff;
	padding: 8px 16px;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	float: right;
	margin-top: 10px;
	transition: background 0.3s ease;
}
#audio .popup .close-btn:hover {
	background: #d32f2f;
}
/******************************************************************************/
/* PROFILE
/******************************************************************************/
.birthdate img,
.cleandate img {
	position: absolute;
	top: 12px;
	right: 10px;
}

/******************************************************************************/
/* FOOTER
/******************************************************************************/
footer .flag {
	position: relative;
	margin: 0 auto;
}
footer .flag.fr {
	left: auto;
}
footer .flag.en {
	right: auto;
}

.construction {
	position: fixed;
	bottom: 0;
	width: 100%;
    padding: 10px;
    text-align: center;
    font: bold 16px Arial;
    background: url(img/construction.png) repeat-x yellow;
    color: white;
	z-index: 100;
}
.construction span {
    padding: 2px;
    background-color: black;
}