/**** Contents ****
/   1. Core
/   2. Fonts & Icons
/   3. Menu
/   4. Header & Footer 
/   5. Main Content
/   6. Background & Cursor
/   7. Gooey Container
/   8. Plugins
/   9. Media Queries
/***********************
/**** 1. Core ****/
*, 
*::after, 
*::before {
    margin: 0;
    padding: 0;
    outline: none;
    box-sizing: border-box;
}

html, body {
    cursor: url(/assets/media/static/site/cursor.png), none !important;
}  

:root {
    font-family: 'Bettencourt';
    font-size: 1.4rem;
}

body {
    --rosalina: 142 234 221;
    --luma: 255 215 0;
    --polari: 0 0 0;
    --baby-luma: 247 225 196;
    --co-star: 243 158 19;
    --comet-tico: 148 80 110;
    --lubba: 132 19 185;
    --lumalee: 138 171 188;
    --colour1: 142 234 221;
    --colour2: 234 162 142;
    --colour3: 234 208 142;
    --colour4: 182 142 234;
    --text-colour: #000;
    --section-bg: 255 255 255;
    --section-author: 0 0 0;
    --section-comments: 183 201 226;
    --green-luma: 0 128 0;
    --red-luma: 255 0 0;
    --blue-luma: 0 0 255;
    --yellow-luma: 255 255 0;
    --input-bg: 255 255 255;
    --cubes-bg: 24 24 24;
    --cubes-side-bg: 8 8 8;
    --panda-base: #000;
    --panda-body: #fff;
    --title-colour: #ead08e;
    --counter-colour: 132 19 185;
    --counter-text: #fff;
    --minis: 162 207 232;
    --transition-time: 0.6s;
    --transition-ease: ease-in-out;
    --transition-delay: 0.3s;
    --rgb-percent-gooey: 10%;
    --rgb-percent-inputs: 20%;
    --rgb-percent-bg-less: 40%;
    --rgb-percent-bg: 60%;
    --rgb-percent-bg-fuller: 80%;
    --rgb-percent-full: 100%;
    --webgl-cursor: none;
    --selection-background: #ead08e;
    --selection-colour: #000;
    --gooey-radius: 42% 58% 70% 30% / 45% 45% 55% 55%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    color: var(--text-colour);
    margin: 0;
    padding: 0;
    overflow: hidden;
    transition: color var(--transition-time) var(--transition-ease), 
                background-color var(--transition-time) var(--transition-ease),
                font-size var(--transition-time) var(--transition-ease);
}

body.dark {
    --colour1: 113 21 34;
    --colour2: 78 21 113;
    --colour3: 21 47 113;
    --colour4: 73 113 21;
    --section-bg: 133 133 133;
    --section-author: 0 0 0;
    --section-comments: 77 102 138;
    --input-bg: 0 0 0;
    --cubes-bg: 255 255 255;
    --cubes-side-bg: 244 244 244;
    --text-colour: #fff;
    --title-colour: #152f71;
    --counter-colour: 185 157 19;
    --counter-text: #000;
    --minis: 93 48 23;
    --webgl-cursor: soft-light;
    --selection-background: #2ca18f;
    --selection-colour: #fff;
    /* --panda-base: #fff;
    --panda-body: #000; */
}

::-moz-selection {
    background-color: var(--selection-background);
    color: var(--selection-colour);
    transition: background-color var(--transition-time) var(--transition-ease);
}

::selection {
    background-color: var(--selection-background);
    color: var(--selection-colour);
    transition: background-color var(--transition-time) var(--transition-ease);
}

a.btn {
	display: block;
	margin: 10px;
	padding: 10px 14px;
    border-radius: 10px;
	color: var(--panda-body);
	background-color: rgb(var(--section-author) / var(--rgb-percent-bg));
	transition: color var(--transition-time) var(--transition-ease),
				background-color var(--transition-time) var(--transition-ease);
}

a.btn.transparent-bg {
    background-color: transparent;
}

a, 
a:visited {
    text-decoration: none;
    color: inherit;
    outline: none;
    cursor: inherit;
}

a:hover,
a:focus {
    color: inherit;
    outline: none;
    cursor: inherit;
}

a.active {
    pointer-events: none;
}

h1 {
    font-size: 12rem;
}

h2 {
    font-size: 6rem;
}

h3 {
    font-size: 4rem;
}

h4 {
    font-size: 2rem;
}

h1, 
h2, 
h3, 
h4 {
    line-height: 100%;
}

input {
    height: 60px;
}

input, 
textarea,
input:focus, 
textarea:focus,
.trumbowyg-box, 
.trumbowyg-editor-box {
	width: 100%;
	margin: 0;
	padding: 10px 20px;
	outline: none;
	border: none;
	resize: none;
	border-radius: 10px;
	color: var(--text-colour);
	font-size: 1rem;
	font-family: 'Bettencourt';
	background-color: rgb(var(--input-bg) / var(--rgb-percent-inputs));
	backdrop-filter: blur(20px);
	cursor: inherit;
	transition: background-color var(--transition-time) var(--transition-ease), 
                color var(--transition-time) var(--transition-ease),
                padding var(--transition-time) var(--transition-ease),
                width var(--transition-time) var(--transition-ease);
}

input.animate-input,
textarea.animate-input {
    width: 100%;
    height: 100%;
    border: 0;
    outline: none;
    color: transparent;
}

input.disable {
	display: none;
}

input.inactive {
    pointer-events: none;
}

input.luma,
textarea.luma {
	background-color: rgb(var(--lumalee) / var(--rgb-percent-bg-less));
}

body.dark input.luma,
body.dark textarea.luma {
	background-color: rgb(55 68 75 / var(--rgb-percent-bg-less));
}

ul {
    list-style: none;
}

/**** 2. Fonts & Icons ****/
@font-face {
    font-family: 'Rosaline';
    font-display: swap;
    src: url(/assets/fonts/rosaline/rosaline.ttf)
}

@font-face {
    font-family: 'Bettencourt';
    font-display: swap;
    src: url(/assets/fonts/bettencourt/regular/bettencourt-regular.woff)
}

@font-face {
    font-family: 'Bettencourt';
    font-display: swap;
    src: url(/assets/fonts/bettencourt/bold/bettencourt-bold.woff);
    font-weight: 700
}

@font-face {
    font-family: 'Bettencourt';
    font-display: swap;
    src: url(/assets/fonts/bettencourt/italic/bettencourt-italic.woff)
}

i {
    display: inline-block;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
}

i.image-icon {
    position: absolute;
    z-index: -2;
}
 
.icon-container i {
	filter: drop-shadow(0 0 1px var(--text-colour))/*  drop-shadow(0 0 1px var(--text-colour)) drop-shadow(0 0 1px var(--text-colour)) drop-shadow(0 0 1px var(--text-colour)) */;
	transition: filter var(--transition-time) var(--transition-ease),
                top var(--transition-time) var(--transition-ease);
}

.icon-container i.send {
    position: absolute;
    top: 0;
    left: 0;
}

.gooey-container a.account i {
	position: absolute;
    top: 0;
}

.gooey-container.logged a.account i.user {
    display: none;
}

.icon-container {
    display: flex;
    position: relative;
    width: 60%;
    height: 60%;
    justify-content: center;
    align-items: center;
    animation: rading 3s linear infinite;
}

.icon-container.wrapper {
    width: 60px;
    height: 60px;
}

.login-form-page .footer .icon-container.wrapper {
    margin: 10px;
}

.icon-container a {
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
}

.icon-container a.logo-container i {
    background-size: contain;
    background-repeat: no-repeat;
}

i.left {
    background-image: url(/assets/fonts/icons/panda/left.png);
}

i.right {
    background-image: url(/assets/fonts/icons/panda/right.png);
}

i.blog {
    background-image: url(/assets/fonts/icons/panda/blog.png);
}

i.like {
    background-image: url(/assets/fonts/icons/panda/thumbs-up.png);
}

i.dislike {
    background-image: url(/assets/fonts/icons/panda/thumbs-down.png);
}

i.reply {
    background-image: url(/assets/fonts/icons/panda/reply.png);
}

i.report {
    background-image: url(/assets/fonts/icons/panda/flag-report.png);
}

i.send {
    background-image: url(/assets/fonts/icons/panda/send.png);
}

i.scrolltop {
    background-image: url(/assets/fonts/icons/panda/scroll-top.png);
}

i.logo {
    margin: -12px 0 0;
    background-image: url(/assets/media/static/site/logo/header-logo.png);
}

i.expand {
    background-image: url(/assets/fonts/icons/panda/expand-menu.png);
}

i.contract {
    margin: 0 0 0 2px;
    background-image: url(/assets/fonts/icons/panda/expand-contract.png);
}

i.menu {
    margin: 4px 0 0 4px;
    background-image: url(/assets/fonts/icons/panda/menu.png);
}

i.switch-mode {
    background-image: url(/assets/fonts/icons/panda/light-dark.png);
}

i.translate {
    background-image: url(/assets/fonts/icons/panda/translate.png);
}

i.share {
    background-image: url(/assets/fonts/icons/panda/share.png);
}

i.chat {
    background-image: url(/assets/fonts/icons/panda/chat.png);
}

i.email {
    background-image: url(/assets/fonts/icons/panda/mail.png);
}

i.user {
    background-image: url(/assets/fonts/icons/panda/user.png);
}

i.currency {
    background-image: url(/assets/fonts/icons/panda/exchange-currency.png);
}

i.bag {
    background-image: url(/assets/fonts/icons/panda/shopping-bag.png);
}

i.heart {
    background-image: url(/assets/fonts/icons/panda/heart.png);
}

i.search {
    background-image: url(/assets/fonts/icons/panda/search.png);
}

i.full-volume {
    background-image: url(/assets/fonts/icons/panda/full-audio.png);
}

i.half-volume {
    background-image: url(/assets/fonts/icons/panda/low-audio.png);
}

i.no-volume {
    background-image: url(/assets/fonts/icons/panda/no-audio.png);
}

i.music {
    background-image: url(/assets/fonts/icons/panda/music-heart.png);
}

i.music-library {
    background-image: url(/assets/fonts/icons/panda/music-library.png);
}

i.prev {
    background-image: url(/assets/fonts/icons/panda/rewind.png);
}

i.play {
    background-image: url(/assets/fonts/icons/panda/play.png);
}

i.pause {
    background-image: url(/assets/fonts/icons/panda/pause.png);
}

i.next {
    background-image: url(/assets/fonts/icons/panda/fast-forward.png);
}

i.heart-music {
    background-image: url(/assets/fonts/icons/panda/heart-music.png);
}

i.loop-all {
    background-image: url(/assets/fonts/icons/panda/repeat.png);
}

i.loop-album {
    background-image: url(/assets/fonts/icons/panda/repeat-album.png);
}

i.loop-one {
    background-image: url(/assets/fonts/icons/panda/repeat-one.png);
}

i.tracks-list {
    background-image: url(/assets/fonts/icons/panda/favourites-list.png);
}

i.youtube {
    background-image: url(/assets/fonts/icons/panda/youtube.png);
}

i.facebook {
    background-image: url(/assets/fonts/icons/panda/facebook.png);
}

i.instagram {
    background-image: url(/assets/fonts/icons/panda/instagram.png);
}

i.close {
    background-image: url(/assets/fonts/icons/panda/close.png);
}

i.reset {
    background-image: url(/assets/fonts/icons/panda/close.png);
}

i.french {
    background-image: url(/assets/fonts/icons/panda/fr.png);
}

i.english {
    background-image: url(/assets/fonts/icons/panda/en.png);
}

i.spanish {
    background-image: url(/assets/fonts/icons/panda/es.png);
}

i.german {
    background-image: url(/assets/fonts/icons/panda/de.png);
}

i.pinterest {
    background-image: url(/assets/fonts/icons/panda/pinterest.png);
}

i.tumblr {
    background-image: url(/assets/fonts/icons/panda/tumblr.png);
}

i.twitter {
    background-image: url(/assets/fonts/icons/panda/twitter.png);
}

i.bin {
    background-image: url(/assets/fonts/icons/panda/bin.png);
}

i.grid {
    background-image: url(/assets/fonts/icons/panda/grid.png);
}

i.upload {
    background-image: url(/assets/fonts/icons/panda/cloud.png);
}

i.save {
    background-image: url(/assets/fonts/icons/panda/save.png);
}

i.add {
    background-image: url(/assets/fonts/icons/panda/close-cross.png);
}

i.edit {
    background-image: url(/assets/fonts/icons/panda/edit.png);
}

i.okay {
    background-image: url(/assets/fonts/icons/panda/hand-ok.png);
}

i.filter {
    background-image: url(/assets/fonts/icons/panda/filter.png);
}

i.music-info {
    background-image: url(/assets/fonts/icons/panda/music-info.png);
}

i.happy {
    background-image: url(/assets/fonts/icons/panda/face-happy.png);
}

i.sad {
    background-image: url(/assets/fonts/icons/panda/face-sad.png);
}

i.neutral {
    background-image: url(/assets/fonts/icons/panda/face-neutral.png);
}

i.excited {
    background-image: url(/assets/fonts/icons/panda/face-excited.png);
}

i.surprised {
    background-image: url(/assets/fonts/icons/panda/face-surprised.png);
}

i.angry {
    background-image: url(/assets/fonts/icons/panda/face-angry.png);
}

i.euro {
    background-image: url(/assets/fonts/icons/panda/euro.png);
}

i.us-dollar {
    background-image: url(/assets/fonts/icons/panda/us-dollar.png);
}

i.logout {
    background-image: url(/assets/fonts/icons/panda/logout.png);
}

i.panel {
    background-image: url(/assets/fonts/icons/panda/logout.png);
}

i.view {
    background-image: url(/assets/fonts/icons/panda/view.png);
}

i.dashboard {
    background-image: url(/assets/fonts/icons/panda/dashboard.png);
}

i.negate {
    background-image: url(/assets/fonts/icons/panda/negate.png);
}

i.friends {
    background-image: url(/assets/fonts/icons/panda/user.png);
}

/*** 3. Menu ****/
.menu-holder {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 20000;
}

.menu-holder.open {
	pointer-events: all;
}

.menu-holder .menu-wrapper {
	display: flex;
	width: 100%;
	height: 100%;
	padding: 120px;
	overflow: hidden;
	justify-content: center;
    transition: padding var(--transition-time) var(--transition-ease);
}

.menu-holder .menu-background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: transparent;
	backdrop-filter: none;
	transition: background-color var(--transition-time) var(--transition-ease), backdrop-filter var(--transition-time) var(--transition-ease);
	z-index: -2;
}

.menu-holder.open .menu-background {
	background-color: rgb(var(--polari) / var(--rgb-percent-bg-fuller));
	backdrop-filter: blur(20px);
}

.menu-holder.close .menu-background {
	background-color: transparent;
	backdrop-filter: none;
	transition-delay: 2.6s;
}

.menu-holder .nav-header,
.menu-holder .nav-footer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 140px;
    z-index: 2;
}

.menu-holder .nav-footer {
    top: auto;
    bottom: 0;
    height: 220px;
}

.menu-holder .nav-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
    background-color: transparent;
	backdrop-filter: none;
    transition: background-color var(--transition-time) var(--transition-ease), backdrop-filter var(--transition-time) var(--transition-ease);
}

.menu-holder.close .nav-background {
	background-color: transparent;
	backdrop-filter: none;
	transition-delay: 2.6s;
}

.menu-holder.open.active .menu-wrapper .scrollbar-track-y {
	right: 4px;
}

.menu-holder .scrollbar-track .scrollbar-thumb.scrollbar-thumb-y {
    left: auto;
    right: 0;
    width: 60%;
    height: 0;
}

.menu-holder .fancy-wipe {
    position: relative;
	margin: 0;
	font-weight: 800;
	font-size: 10vw;
	--duration: 2.5s;
	--easing: cubic-bezier(0.45, 0, 0.55, 1);
	--colors: linear-gradient(
		90deg,
		rgb(var(--luma) / var(--rgb-percent-full)),
		rgb(var(--lubba) / var(--rgb-percent-full)),
		rgb(var(--co-star) / var(--rgb-percent-full)),
		rgb(var(--lumalee) / var(--rgb-percent-full)),
		rgb(var(--red-luma) / var(--rgb-percent-full)),
		rgb(var(--comet-tico) / var(--rgb-percent-full)),
		rgb(var(--green-luma) / var(--rgb-percent-full)),
		rgb(var(--baby-luma) / var(--rgb-percent-full)),
		rgb(var(--blue-luma) / var(--rgb-percent-full))
	);
}

.menu-holder.open a:hover .wipe-in {
    animation-name: wipeOut;
	animation-duration: 1.4s;
	animation-timing-function: var(--easing);
	animation-fill-mode: forwards;
    animation-iteration-count: infinite;
	animation-direction: normal;
}

.menu-holder.open a:hover .blur-in {
	animation-name: wipeIn;
	animation-duration: 1.4s;
	animation-timing-function: var(--easing);
	animation-fill-mode: forwards;
    animation-iteration-count: infinite;
	animation-direction: normal;
}

.menu-holder .text {
	display: block;
	padding: 2rem;
	color: white;
	text-align: center;
	mask: linear-gradient(to right, white, white 45%, black, 55%, black);
	mask-composite: exclude;
	mask-mode: luminance;
	mask-size: 300% 100%;
	mask-position: 100% 0px;
}

.menu-holder .wipe-in, 
.menu-holder .blur-in {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	padding: 2rem;
	text-align: center;
	background-image: var(--colors);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	mask: linear-gradient(to right, black, black 45%, white 50%, black 52.5%, black);
	mask-composite: exclude;
	mask-mode: luminance;
	mask-size: 300% 100%;
	mask-position: 100% 0px;
}

.menu-holder .blur-in {
	filter: blur(10px);
}

.menu-holder.open .text,
.menu-holder.open .wipe-in, 
.menu-holder.open .blur-in {
	animation-name: wipeIn;
	animation-duration: 2s;
	animation-timing-function: var(--easing);
	animation-fill-mode: forwards;
	animation-direction: normal;
	animation-delay: 0.6s;
}

.menu-holder.close .text,
.menu-holder.close .wipe-in, 
.menu-holder.close .blur-in {
	animation-name: wipeOut;
	animation-duration: 2s;
	animation-timing-function: var(--easing);
	animation-fill-mode: forwards;
	animation-direction: normal;
	animation-delay: 0s;
}

@keyframes wipeIn {
	0% {
		mask-position: 100% 0px;
	}
	100% {
		mask-position: 0px 0px;
	}
}

@keyframes wipeOut {
	0% {
		mask-position: 0px 0px;
	}
	100% {
		mask-position: 100% 0px;
	}
}

.mobile-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 40000;
}

.mobile-nav .mobile-menu,
.mobile-nav .mobile-player {
    display: grid;
    position: relative;
    min-height: 80px;
    transform: translateY(-200px);
    padding: 0 20px;
    justify-content: center;
    justify-items: center;
    background-color: rgb(var(--colour3) / var(--rgb-percent-bg-less));
    backdrop-filter: blur(20px);
    transition: background-color var(--transition-time) var(--transition-ease),
                transform var(--transition-time) var(--transition-ease);
}

.mobile-nav .mobile-menu ul,
.mobile-nav .mobile-player ul {
    display: flex;
    align-items: center;
    gap: 20px;
    transition: transform var(--transition-time) var(--transition-ease),
                height var(--transition-time) var(--transition-ease),
                margin var(--transition-time) var(--transition-ease);
}

.mobile-nav .mobile-player ul:not(.full-controls) {
    margin: -20px 0 0;
}

.mobile-nav .mobile-player ul.full-controls {
    width: calc(100% + 10px);
    height: 0;
    overflow: hidden;
    transform: translateY(200px);
}

.mobile-nav .mobile-menu ul li,
.mobile-nav .mobile-player ul li {
    display: inline-flex;
    width: 60px;
    height: 60px;
    align-items: center;
    justify-content: center;
}

.mobile-nav .mobile-player ul:not(.full-controls) li:nth-child(2) .icon-container {
    width: 100%;
    height: 100%;
}

.mobile-nav .mobile-player {
    position: absolute;
    top: auto;
    bottom: 0;
    width: 100%;
    transform: translateY(200px);
}

.mobile-album i {
    filter: none;
}

.mobile-album img {
    width: 100%;
    height: 100%;
    border-radius: var(--gooey-radius);
    overflow: hidden;
    object-fit: cover;
}

.mobile-album.playing img {
    animation: rading 3s linear infinite;
}

.mobile-nav .top-right {
    position: absolute;
    top: 20px;
    right: -200px;
    transition: right var(--transition-time) var(--transition-ease);
}

.mobile-nav .bottom-right {
    position: absolute;
    bottom: 100px; /* 120px; */
    right: -200px;
    width: 60px;
    height: 60px;
    transition: bottom var(--transition-time) var(--transition-ease),
				right var(--transition-time) var(--transition-ease);
}

.mobile-nav .bottom-right .bottom-right-item {
    position: absolute;
    top: 0;
    left: 0;
    width: 60px;
    height: 60px;
    transition: transform var(--transition-time) var(--transition-ease);
}

.mobile-nav .bottom-right .toexpand {
	transform: translateX(200px);
}

.mobile-nav .top-right .gooey-container,
.mobile-nav .bottom-right .gooey-container {
    width: 100px;
    height: 100px;
}

.mobile-nav.close .bottom-right,
.mobile-nav.close .bottom-right .bottom-right-item,
.mobile-nav.close .bottom-left {
    transition-delay: 2.6s;
}

.mobile-nav .nav-header,
.mobile-nav .nav-footer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 140px;
    /* z-index: -2; */
}

.mobile-nav .nav-footer {
    top: auto;
    bottom: 0;
    height: 260px;
}

.mobile-nav .top-left-nav,
.mobile-nav .top-right-nav {
    position: absolute;
    top: -200px;
    left: 20px;
    transition: top var(--transition-time) var(--transition-ease),
                right var(--transition-time) var(--transition-ease);
}

.mobile-nav .top-right-nav {
	left: auto;
	right: 130px;
}

.mobile-nav.close .top-left-nav,
.mobile-nav.close .top-right-nav,
.mobile-nav.close .botttom-nav-items {
    transition-delay: 2.6s;
}

.mobile-nav .botttom-nav-items {
    display: flex;
	position: absolute;
	bottom: -400px;
	left: 0;
    width: 100%;
    flex-direction: column;
	align-items: center;
	gap: 20px;
    transition: bottom var(--transition-time) var(--transition-ease);
}

/**** 4. Header & Footer ****/
header, footer {
    position: fixed;
    width: 100%;
    z-index: 20000;
}

header {
    top: 0;
    left: 0;
}

footer {
    bottom: 0;
    left: 0;
}

.counter {
	display: flex;
	position: absolute;
	justify-content: center;
	align-items: center;
	top: -20px;
	right: -20px;
	width: 40px;
	height: 40px;
	color: var(--counter-text);
	border-radius: 50%;
	background-color: rgb(var(--counter-colour) / var(--rgb-percent-bg-fuller));
	backdrop-filter: blur(20px);
	transition: color var(--transition-time) var(--transition-ease), background-color var(--transition-time) var(--transition-ease);
    pointer-events: none;
	z-index: 2;
}

.account-menu .counter {
    top: -6px;
    right: -6px;
    background-color: transparent;
    backdrop-filter: none;
}

.counter span, 
.counter span {
	font-size: 18px;
	margin: 0 0 0 -4px;
}

header .top-left,
header .top-right {
    position: absolute;
    top: -400px;
    left: -400px;
    transition: top var(--transition-time) var(--transition-ease),
                bottom var(--transition-time) var(--transition-ease),
                left var(--transition-time) var(--transition-ease),
                right var(--transition-time) var(--transition-ease);
}

body.loaded header .top-left {
    top: -200px;
    left: -200px;
}

body.loaded header .top-left.open {
    top: 40px;
    left: 40px;
}

header .top-right {
    left: auto;
    right: -400px;
}

body.loaded header .top-right {
    top: -200px;
    right: -200px;
}

body.loaded header .top-right.open {
    top: 40px;
    right: 40px;
}

footer .bottom-left,
footer .bottom-right {
    position: absolute;
    bottom: -400px;
    left: -400px;
    transition: top var(--transition-time) var(--transition-ease),
                bottom var(--transition-time) var(--transition-ease),
                left var(--transition-time) var(--transition-ease),
                right var(--transition-time) var(--transition-ease);
}

body.loaded footer .bottom-left {
    bottom: -200px;
    left: -200px;
}

body.loaded footer .bottom-left.open {
    bottom: 40px;
    left: 40px;
}

footer .bottom-right {
    left: auto;
    right: -400px;
}

body.loaded footer .bottom-right {
    bottom: -200px;
    right: -200px;
}

body.loaded footer .bottom-right.open {
    bottom: 40px;
    right: 40px;
}

header .top-left .tl-menu,
header .top-left .languages-menu,
header .top-left .socials-menu,
header .top-right .tr-menu,
header .top-right .account-menu,
header .top-right .currencies-menu,
footer .bottom-left .bl-menu,
footer .bottom-right .br-menu {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: top var(--transition-time) var(--transition-ease),
                bottom var(--transition-time) var(--transition-ease),
                left var(--transition-time) var(--transition-ease),
                right var(--transition-time) var(--transition-ease);
    z-index: -2;
}

header .top-left .languages-menu,
header .top-left .socials-menu,
header .top-right .account-menu,
header .top-right .currencies-menu {
    z-index: -4;
}

header .top-left.expanded:not(.expanding) .tl-menu,
footer .bottom-right.expanded:not(.expanding) .br-menu {
    left: 20px;
}

header .top-right.expanded:not(.expanding) .tr-menu {
    top: 20px;
}

footer .bottom-left.expanded:not(.expanding) .bl-menu {
    top: -40px;
}

header .top-left .tl-menu .gooey-container,
header .top-left .languages-menu .gooey-container,
header .top-left .socials-menu .gooey-container,
header .top-right .tr-menu .gooey-container,
header .top-right .account-menu .gooey-container,
header .top-right .currencies-menu .gooey-container,
footer .bottom-left .bl-menu .gooey-container,
footer .bottom-right .br-menu .gooey-container {
    position: absolute;
    bottom: 0;
    left: 0;
    opacity: 0;
    transition-delay: 0.6s;
    z-index: -2;
}

header .top-left.expanding .tl-menu .gooey-container,
header .top-right.expanding .tr-menu .gooey-container,
footer .bottom-left.expanding .bl-menu .gooey-container,
footer .bottom-right.expanding .br-menu .gooey-container {
    opacity: 1;
    transition-delay: 0s;
}

footer .bottom-right .br-menu .progress-fill,
.mobile-nav .progress-fill{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    background-color: rgb(var(--colour1) / var(--rgb-percent-gooey));
    transition: background-color var(--transition-time) var(--transition-ease);
    z-index: -2;
}

footer .bottom-right .br-menu .gooey-before .progress-fill,
.mobile-nav .gooey-before .progress-fill,
footer .bottom-right .br-menu .gooey-after .progress-fill
.mobile-nav .gooey-after .progress-fill {
    background-color: rgb(var(--colour1) / var(--rgb-percent-full));
}

footer .bottom-right .br-menu .gooey-container:nth-of-type(3),
.mobile-nav .bottom-right .gooey-container {
    overflow: hidden;
}

/**** 5. Main Content ****/
.preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    animation: bouncing 2s linear infinite;
    pointer-events: none;
    z-index: 2147483647;
}

body.loading-page .preloader {
	pointer-events: all;
}

.preloader::after {
    content: '';
    position: absolute;
    bottom: -200px;
	right: 20px;
	width: 120px;
	height: 120px;
	background-image: url(/assets/fonts/icons/luma/blue-luma.png);
	background-size: cover;
	transition: bottom var(--transition-time) var(--transition-ease);
	animation: rainbowLuma 2s infinite;
}

body.loading-page .preloader::after {
	bottom: 20px;
}

@keyframes rainbowLuma {
	0%, 100% {
		background-image: url(/assets/fonts/icons/luma/blue-luma.png);
	}
	34% {
		background-image: url(/assets/fonts/icons/luma/black-luma.png);
	}
	50% {
		background-image: url(/assets/fonts/icons/luma/pink-luma.png);
	}
	68% {
		background-image: url(/assets/fonts/icons/luma/green-luma.png);
	}
}

main {
    z-index: 4;
}

.main-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 100vh;
    transition: background-color var(--transition-time) var(--transition-ease), 
                backdrop-filter var(--transition-time) var(--transition-ease);
    z-index: 10;
    overflow: hidden;
}

.rosaline {
	font-family: 'Rosaline';
}

.line-break {
	display: block;
	position: relative;
	height: 20px;
}

.footer-save,
.blog-header {
	display: flex;
    height: 100px;
	justify-content: flex-end;
}

.blog-header {
    margin: 0 0 20px;
    justify-content: flex-start;
    gap: 10px;
}

.footer-save .buttons,
.blog-header .buttons {
	display: grid;
	grid-template-columns: 100px 100px;
	gap: 10px;
	align-items: center;
	justify-items: center;
	justify-content: center;
}

.footer-save .buttons.single,
.blog-header .buttons.single {
	grid-template-columns: 100px;
}

.blog-header .scrollto {
    display: flex;
    align-items: center;
}

.footer-save .buttons .icon-container,
.file-upload .columns .button .icon-container {
	margin: 6px 0 0 0;
}

.title-wrapper {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    font-size: 20vw;
    transform: translate(-50%, -50%);
    white-space: nowrap;
    filter: drop-shadow(0 0 1px var(--panda-base)) drop-shadow(0 0 1px var(--panda-base)) drop-shadow(0 0 1px var(--panda-base)) drop-shadow(0 0 1px var(--panda-base));
    z-index: 10;
}

body.loaded .title-wrapper:not(.hidden) {
	display: inline-block;
}

.title-wrapper .title {
    display: block;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    float: left;
}

.title-wrapper .title span {
    display: inline-block;
    position: relative;
    bottom: 0;
    min-width: 10px;
    min-height: 10px;
    color: rgb(var(--rosalina) / var(--rgb-percent-full));
    transform: scaleY(0);
    transition: min-width var(--transition-time) var(--transition-ease),
                color var(--transition-time) var(--transition-ease);
}

.title-wrapper .title span:nth-of-type(2n) {
	color: rgb(var(--luma) / var(--rgb-percent-full));
}

.title-wrapper .title span:nth-of-type(3n) {
    color: rgb(var(--baby-luma) / var(--rgb-percent-full));
}

.title-wrapper .title span:nth-of-type(4n) {
    color: rgb(var(--lumalee) / var(--rgb-percent-full));
}

.title-wrapper .title span:nth-of-type(5n) {
    color: rgb(var(--lubba) / var(--rgb-percent-full));
}

.title-wrapper .title span:nth-of-type(6n) {
    color: rgb(var(--co-star) / var(--rgb-percent-full));
}

.column-page {
    margin: 140px 200px 160px;
    transition: margin var(--transition-time) var(--transition-ease);
}

.column-page.titled {
    margin: 100vh 200px 160px;
}

.about-page {
	font-size: 2.8rem;
}

section {
    position: relative;
    margin: 40px 0;
    padding: 80px;
    line-height: 2em;
    transition: width var(--transition-time) var(--transition-ease),
                height var(--transition-time) var(--transition-ease);
}

section:not(.comment) {
    transform: translateX(-100vw);
}

.login-page section {
	padding: 0;
}

section.separator {
    margin: 10px 0;
    padding: 40px;
}

section.separator.first {
    margin: 40px 0 10px;
}

section.author {
	color: var(--panda-body)
}

section:not(.comment):nth-of-type(odd) {
    transform: translateX(100vw);
}

section.comment {
	padding: 0;
}

section.save-footer {
	padding: 20px;
}

section.after-effect {
    margin: 40px 0 220px;
}

section.separator.after-effect {
    margin: 10px 0 220px;
}

section .section-background,
.comment-wrapper .comment-wrapper-background,
.after-effect::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 20px;
    background-color: rgb(var(--section-bg) / var(--rgb-percent-bg));
    backdrop-filter: blur(20px);
    transition: background-color var(--transition-time) var(--transition-ease),
                width var(--transition-time) var(--transition-ease),
                height var(--transition-time) var(--transition-ease);
    overflow: hidden;
    z-index: -2;
}

section.author .section-background {
	background-color: rgb(var(--section-author) / var(--rgb-percent-bg));
}

section p {
    display: inline-block;
    position: relative;
    /* overflow: hidden; */
}

section .comment p,
.comment-content p {
    width: 100%;
}

section p span {
    display: inline-block;
    position: relative;
}

.outside-header {
	padding: 20px 20px 0;
    transition: padding var(--transition-time) var(--transition-ease);
	overflow: hidden;
}

.outside-header * {
	margin: 0;
	transform: translateY(120%);
}

.white-shadow {
	filter: drop-shadow(0 0 1px var(--panda-body)) drop-shadow(0 0 1px var(--panda-body)) drop-shadow(0 0 1px var(--panda-body)) drop-shadow(0 0 1px var(--panda-body));
	transition: filter var(--transition-time) var(--transition-ease);
}

.about-page .white-shadow {
	font-size: 6rem;
}

.dark .white-shadow {
	filter: drop-shadow(0 0 1px var(--panda-base)) drop-shadow(0 0 1px var(--panda-base)) drop-shadow(0 0 1px var(--panda-base)) drop-shadow(0 0 1px var(--panda-base));
}

.input-columns {
    display: grid;
    position: relative;
    grid-template-columns: auto;
}

.input-columns.btn {
    display: grid;
    position: relative;
    grid-template-columns: auto 60px;
}

.input-columns.btn.reverse {
    grid-template-columns: 60px auto;
}

.input-columns input {
    border-radius: 10px;
}

.input-columns.reverse input {
    border-radius: 0 10px 10px 0;
}

.input-columns .password-wrapper:not(.no-btn) input,
.input-columns.btn:not(.reverse) .input-wrapper input {
    border-radius: 10px 0 0 10px;
}

.input-columns .btn {
    height: 60px;
    padding: 4px;
	border-radius: 0 10px 10px 0;
	background-color: rgb(var(--lumalee) / var(--rgb-percent-bg-fuller));
	backdrop-filter: blur(20px);
	transition: background-color var(--transition-time) var(--transition-ease);
    animation: none;
}

body.dark .input-columns .btn {
	background-color: rgb(55 68 75 / var(--rgb-percent-bg-fuller));
}

.input-columns.reverse .btn {
    border-radius: 10px 0 0 10px;
}

.input-columns .btn input.disable {
    display: block;
    position: absolute;
	top: 0;
	left: 0;
	margin: 6px 0 0 -10px;
	background-color: transparent;
	backdrop-filter: none;
	opacity: 0;
}

.input-columns .btn i.added,
.icon-container i.added {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    z-index: 2;
}

.input-columns.checkbox {
	grid-template-columns: calc(100% - 100px) 80px;
	gap: 20px;
	align-items: flex-start;
}

.image-edit {
	display: flex;
	position: relative;
    margin: 20px 0 0;
	align-items: center;
	justify-content: center;
	justify-items: center;
	flex-direction: column;
    transition: width var(--transition-time) var(--transition-ease),
                height var(--transition-time) var(--transition-ease);
}

.image-edit .image-preview {
	position: relative;
	width: 400px;
	height: 0px;
	margin: 0;
	transition: width var(--transition-time) var(--transition-ease),
                height var(--transition-time) var(--transition-ease), 
                margin var(--transition-time) var(--transition-ease);
	overflow: hidden;
}

.image-edit .image-preview.page-backimage { 
    width: 100%;
}

.image-edit .image-preview.header-logo {
	width: 100px;
}

.image-edit .image-preview.apple-icon {
	width: 152px;
}

.image-edit .image-preview.icon {
	width: 32px;
}

.image-edit .image-preview.shortcut {
	width: 16px;
}

.image-edit .image-preview img,
.avatar-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    background-color: var(--panda-body);
}

.image-edit .image-preview.mask-icon img,
.image-edit .image-preview.shortcut img {
    display: block;
	object-fit: contain;
}

.parallax-img {
    width: 100%;
    height: auto;
}

.after-effect::after {
    content: '';
    background-color: rgb(var(--section-bg) / var(--rgb-percent-bg));
    backdrop-filter: blur(10px);
    z-index: 2;
}

.image-edit.active .image-preview {
	height: 400px;
}

.image-edit.active .image-preview.page-backimage { 
    height: 600px;
}

.image-edit.active .header-logo {
	height: 60px;
}

.image-edit.active .apple-icon {
	height: 152px;
}

.image-edit.active .icon {
	height: 32px;
}

.image-edit.active .shortcut {
	height: 16px;
}

.image-edit .image-preview.album-cover {
	animation: rading 4s linear infinite;
}

.image-edit .image-preview.profile-avi {
    border-radius: var(--gooey-radius);
}

.dropdown-options {
    opacity: 1;
    transition: opacity var(--transition-time) var(--transition-ease);
    overflow: hidden;
}

.dropdown-options.inactive {
    pointer-events: none;
    opacity: 0.2;
    transition: opacity var(--transition-time) var(--transition-ease);
}

.dropdown-options.hidden {
    height: 0;
}

.dropdown {
    position: relative;
    height: 0;
    margin: 20px 0;
    overflow: hidden;
}

.dropdown.stacked {
    margin: 10px 0;
}

.dropdown li {
    display: flex;
    height: 60px;
    align-items: center;
    color: var(--text-colour);
    background-color: rgb(var(--input-bg) / var(--rgb-percent-inputs));
    backdrop-filter: blur(20px);
    transition: background-color var(--transition-time) var(--transition-ease), 
                color var(--transition-time) var(--transition-ease);
    overflow: hidden;
}

.dropdown li a {
	display: flex;
	width: 100%;
	height: 100%;
	padding: 10px 20px;
	gap: 10px;
}

.dropdown li:hover,
.dropdown li.active {
    background-color: rgb(var(--colour2) / var(--rgb-percent-bg));
}

.dropdown li a .page-name {
    font-size: 0.6rem;
}

.top-nav-dropdown {
    position: absolute;
    top: 100%;
    left: -100vw;
    z-index: 200;
    transition: left var(--transition-time) var(--transition-ease),
                top var(--transition-time) var(--transition-ease);
}

.bottom-nav-dropdown {
    position: absolute;
    bottom: calc(100% - 40px);
    right: -100vw;
    z-index: 200;
    transition: right var(--transition-time) var(--transition-ease),
                bottom var(--transition-time) var(--transition-ease);
}

.nav-dropdown,
.nav-dropdown .nav-dropdown-items,
.nav-dropdown .nav-dropdown-items .nav-dropdown-item {
    position: relative;
}

.nav-dropdown .nav-dropdown-items .nav-dropdown-item {
    display: flex;
    width: 100%;
    height: 60px;
    padding: 20px;
    align-items: center;
    color: var(--panda-body);
    background-color: rgb(var(--input-bg) / var(--rgb-percent-inputs));
    backdrop-filter: blur(20px);
    overflow: hidden;
    transition: background-color var(--transition-time) var(--transition-ease), 
                color var(--transition-time) var(--transition-ease),
                transform var(--transition-time) var(--transition-ease),
                height var(--transition-time) var(--transition-ease) var(--transition-time),
                padding var(--transition-time) var(--transition-ease) var(--transition-time);
}

.mobile-nav:not(.languages-menu) .top-nav-dropdown .nav-dropdown-item[data-expand="languages-menu"],
.mobile-nav:not(.account-menu) .top-nav-dropdown .nav-dropdown-item[data-expand="account-menu"],
.mobile-nav:not(.shop-menu) .top-nav-dropdown .nav-dropdown-item[data-expand="shop-menu"],
.mobile-nav:not(.share-menu) .top-nav-dropdown .nav-dropdown-item[data-expand="share-menu"],
.mobile-nav:not(.messages-menu) .top-nav-dropdown .nav-dropdown-item[data-expand="messages-menu"],
.mobile-nav:not(.mode-menu) .top-nav-dropdown .nav-dropdown-item[data-expand="mode-menu"] {
    height: 0;
    padding: 0;
    height: 0;
    transform: translateX(-100vw);
}

.nav-dropdown .nav-dropdown-items .nav-dropdown-item a {
    width: 100%;
    white-space: pre;
}

.nav-dropdown .nav-dropdown-items .nav-dropdown-item.mobile {
    height: 0;
    padding: 0;
    transform: translateX(100vw);
}

.nav-dropdown .nav-dropdown-items .nav-dropdown-item.close {
    height: 0;
    padding: 0;
}

.top-nav-dropdown .nav-dropdown .nav-dropdown-items .nav-dropdown-item.close {
    transform: translateX(-100vw);
}

.bottom-nav-dropdown .nav-dropdown .nav-dropdown-items .nav-dropdown-item.close {
    transform: translateX(100vw);
}

.nav-dropdown .nav-dropdown-items .nav-dropdown-item:hover {
    background-color: rgb(var(--colour2) / var(--rgb-percent-bg));
}

svg.filter {
	display: none;
}

.toggle {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 24px;
	margin: 10px 0 0 0;
	filter: url(#gooeyness);
}

.bar {
	position: absolute;
	width: 60px;
	height: 12px;
	background-color: rgb(var(--red-luma) / 100%);
	transition: background-color 260ms linear;
}

.knob {
	background-color: rgb(var(--red-luma) / 100%);
	border-radius: 50%;
	height: 40px;
	width: 40px;
	transform: translateX(-20px);
	transform-origin: 50%;
	transition: transform 260ms linear, background-color 250ms linear;
}

.toggle.active .knob {
	animation: Activate 260ms both linear;
}

.toggle.inactive .knob {
	animation: Inactivate 260ms both linear;
}

.toggle.active .bar {
	background-color: rgb(var(--green-luma) / 100%);
}

@keyframes Activate {
	0% { 
		background-color: rgb(var(--red-luma) / 100%); 
		transform: translateX(-20px); 
	}
	50% { 
		transform: translateX(0px) scaleX(1.2) scaleY(.7);
	}
	90% { 
		transform: translateX(10px) scaleX(0.7) scaleY(.94); 
	}
	100% { 
		background-color: rgb(var(--green-luma) / 100%); 
		transform: translateX(20px); 
	}
}

@keyframes Inactivate {
	0% {
		background-color: rgb(var(--red-luma) / 100%);
		transform: translateX(20px);
	}
	50% { 
		transform: translateX(0px) scaleX(1.2) scaleY(.7); 
	}
	90% { 
		transform: translateX(-10px) scaleX(0.7) scaleY(.94); 
	}
	100% { 
		background-color: rgb(var(--red-luma) / 100%); 
		transform: translateX(-20px); 
	}
} 

sup {
	font-size: 0.6rem;
}

p.asterisk {
	margin: 0;
	font-size: 1rem;
}

small.asterisk {
	font-size: 0.8rem;
}

.tradpass-wrapper {
    position: relative;
    overflow: hidden;
}

.tradpass-wrapper.inactive {
    height: 0;
}

.cubes-holder {
	display: flex;
	position: relative;
	flex-direction: column;
	height: auto;
    overflow: hidden;
}

.cubes-holder.inactive {
    height: 0;
}

.cubes-holder .cubes-wrapper {
	display: grid;
	grid-template-columns: auto auto auto auto;
	grid-template-rows: auto;
	justify-items: center;
}

.cubes-holder .cubes-wrapper .cube-select {
	width: 100px;
	height: 100px;
}

.cubes-holder .cubes-wrapper .cube {
    display: block;
	width: 100px;
	height: 100px;
	margin: 40px 0;
	transform: rotateX(-20deg) rotateY(-40deg);
	transform-style: preserve-3d;
	perspective: 1000px;
}

.cubes-holder .cubes-wrapper .cube .face {
	position: absolute;
	width: 100px;
	height: 100px;
	background-color: rgb(var(--cubes-side-bg) / var(--rgb-percent-bg-fuller));
	border: 1px solid var(--panda-base);
	transition: all var(--transition-time) var(--transition-ease);
}

.cubes-holder .cubes-wrapper .cube .face:nth-child(1) { 
    transform: rotateY(0deg) translateZ(50px); 
}

.cubes-holder .cubes-wrapper .cube .face:nth-child(2) { 
    transform: rotateY(90deg) translateZ(50px); 
}

.cubes-holder .cubes-wrapper .cube .face:nth-child(3) { 
    transform: rotateY(180deg) translateZ(50px); 
}

.cubes-holder .cubes-wrapper .cube .face:nth-child(4) { 
    transform: rotateY(-90deg) translateZ(50px); 
}

.cubes-holder .cubes-wrapper .cube .face:nth-child(5) { 
    transform: rotateX(90deg) translateZ(50px); 
}

.cubes-holder .cubes-wrapper .cube .face:nth-child(6) { 
    transform: rotateX(-90deg) translateZ(50px); 
}

.play-song {
	margin: 0 0 0 4px;
    padding: 0px 10px 0px 2px;
    color: var(--panda-base) !important;
    background-color: rgb(var(--rosalina) / var(--rgb-percent-full));
	transition: background-color var(--transition-time) var(--transition-ease);
}

.dark .play-song {
    background-color: rgb(var(--co-star) / var(--rgb-percent-full));
}

.play-song::before {
	content: '';
	position: relative;
	display: inline-block;
	top: 12px;
	width: 40px;
	height: 40px;
	background-image: url(/assets/fonts/icons/panda/play.png);
	background-size: cover;
}

.play-song.playing::before {
	content: '';
	position: relative;
	display: inline-block;
	top: 12px;
	width: 40px;
	height: 40px;
	background-image: url(/assets/fonts/icons/panda/pause.png);
	background-size: cover;
}

.profile-pic-holder {
	position: relative;
	width: 400px;
	height: 400px;
	top: -260px;
	left: 50%;
	transform: translateX(-50%);
}

.profile-pic-holder .profile-pic {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.profile-pic-holder .profile-pic {
	width: 100%;
	height: 100%;
	border-radius: var(--gooey-radius);
	overflow: hidden;
	z-index: 2;
}

.profile-pic-holder .profile-pic img,
.author-details .author-avatar img,
.album-container .view-album img,
.album-cover-wrapper .album-cover img,
.track-favourites .user-cover-wrapper .avatar-cover img {
	width: 100%;
	height: 100%;
	background-color: var(--panda-body);
	object-fit: cover;
}

.about-section {
	margin: -240px 0 20px;
	padding: 20px 0;
}

.about-section,
.socials-links,
.social-actions {
    position: relative;
}

.socials-links,
.social-actions {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 20px 0;
	padding: 20px 0 40px;
}

.about-section::after,
.social-links.center::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 100%;
	height: 1px;
	opacity: 0.2;
	transform: translateX(-50%);
	background-color: var(--panda-body);
}

.socials-links .socials,
.social-actions .actions {
	display: flex;
	position: relative;
	gap: 40px;
	align-items: center;
	justify-content: space-between;
}

.socials-links .socials a,
.social-actions .actions a {
    width: 60px;
    height: 60px;
}

.socials-links .socials.no-links {
	grid-template-columns: auto;
}

.socials-links .socials a,
.social-actions .actions a {
	display: flex;
	justify-content: center;
	align-items: center;
}

.recent-post-wrapper .post-title,
.recent-comment-wrapper .post-title {
    font-size: 1.2rem;
    font-weight: 800;
}

.recent-post-wrapper .read-more {
    font-size: 0.8rem;
}

.panel-columns {
	display: grid;
	border: 1px solid;
	border-radius: 10px;
	overflow: hidden;
}

.panel-columns.four {
	grid-template-columns: auto auto auto auto;
}

.panel-columns p {
	margin: 0;
	padding: 0;
}

.panel-columns .panel-columns-title {
	padding: 20px;
	border-bottom: 1px solid;
	border-right: 1px solid;
	background-color: rgb(var(--lumalee) / var(--rgb-percent-bg-less));
}

.panel-columns .panel-row {
	display: flex;
	padding: 10px 20px;
	border-right: 1px solid;
	background-color: rgb(204 204 204 / var(--rgb-percent-bg));
    align-items: center;
}

.panel-columns .panel-row:nth-of-type(8n+5),
.panel-columns .panel-row:nth-of-type(8n+6),
.panel-columns .panel-row:nth-of-type(8n+7),
.panel-columns .panel-row:nth-of-type(8n+8) {
    background-color: transparent;
}

.panel-columns .panel-row.middle {
	justify-content: center;
	align-items: center;
}

.panel-columns .panel-row.middle.btn {
	padding: 0;
}

.panel-columns .panel-row:nth-of-type(4n),
.panel-columns .panel-columns-title:nth-of-type(3n),
.panel-columns .panel-columns-title:nth-of-type(4n) {
	border-right: 0px;
}

.panel-columns .panel-row .view-report-btn {
	display: flex;
	width: 100px;
	height: 100px;
	align-items: center;
	justify-content: center;
}

.post-reactions .panda-faces {
    display: grid;
    grid-template-columns: auto auto auto;
    grid-template-rows: auto auto auto;
    gap: 10px;
    justify-items: center;
}

.post-reactions .panda-faces .reaction {
    display: flex;
    width: 200px;
    height: 200px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.author-details {
    display: flex;
    margin: 0 0 20px 0;
    flex-direction: row;
    align-items: center;
    gap: 20px;
}

.author-details .author-avatar {
    width: 100px;
	height: 100px;
	border-radius: var(--gooey-radius);
	overflow: hidden;
}

.avatar-container {
    width: 100px;
    height: 100px;
    border-radius: var(--gooey-radius);
    overflow: hidden;
}

.new-comment-container.inline .avatar-container,
.new-comment-container.inline .comment-editor {
    margin: 20px 0 0;
}

.social-links,
.comment-footer {
    display: flex;
    margin: 20px 0;
    flex-direction: row;
    gap: 20px
}

.social-links .social-link,
.comment-footer .footer-action .icon {
    display: flex;
    width: 100px;
    height: 100px;
    align-items: center;
    justify-content: center;
}

.social-links {
    margin: -20px 0;
    padding: 20px 0;
}

.social-actions {
    margin: 40px 0 0;
    padding: 20px 0;
}

.social-links.center {
    justify-content: center;
}

.social-links p {
    margin: 20px 0;
}

.comment-footer .footer-action {
    display: flex;
    align-items: center;
    justify-content: center;
}

.new-comment-container {
    display: grid;
    grid-template-columns: 100px auto;
    gap: 20px;
}

.new-comment-container.inline {
    overflow: hidden;
}

.new-comment-container.inline.inactive {
    height: 0;
}

.new-comment-container .comment-editor {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.report-textarea.inactive {
    display: none;
}

.comment-container {
    display: grid;
    position: relative;
    padding: 0 0 20px;
    gap: 20px;
}

.comment-container:nth-child(odd),
.comment-container.reply:nth-child(odd) {
    grid-template-columns: 200px auto;
    grid-template-areas: 'avatar comment';
}

.comment-container:nth-child(even),
.comment-container.reply:nth-child(even) {
    grid-template-columns: auto 200px;
    grid-template-areas: 'comment avatar';
}

.comment-container:nth-of-type(even) .comment-wrapper .comment-wrapper-background {
    background-color: rgb(var(--section-comments) / var(--rgb-percent-bg));
}

.comment-container .author-details {
    display: grid;
    position: relative;
    margin: 0;
    grid-area: avatar;
    transform: translateX(-100vw);
}

.comment-container:nth-of-type(even) .author-details {
    transform: translateX(100vw);
}

.comment-container .author-details .author-avatar {
    width: 200px;
    height: 200px;
}

.comment-container .author-displayname {
    position: relative;
}

.comment-container.op > .comment-wrapper > .comment-meta > .author-displayname::after,
.original-comment.op .author-displayname::after {
    content: '';
    position: absolute;
    top: 0;
    right: -40px;
    width: 40px;
    height: 40px;
    background-image: url(/assets/fonts/icons/panda/star.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.comment-wrapper {
    position: relative;
    padding: 80px;
	grid-area: comment;
    transform: translateX(100vw);
}

.comment-container:nth-of-type(even) .comment-wrapper {
    transform: translateX(-100vw);
}

.comment-wrapper .comment-meta,
.recent-comment-wrapper .comment-meta {
    display: flex;
    margin: 0 0 20px;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.comment-wrapper .comment-meta .small,
.recent-comment-wrapper .comment-meta .small {
    font-size: 0.6rem;
}

.original-comment {
    position: relative;
    margin: 20px 0;
    padding: 40px;
}

.original-comment::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 16px;
    width: 10px;
    height: calc(100% - 40px);
    transform: translateY(-50%);
    background-color: rgb(var(--section-comments) / var(--rgb-percent-bg-fuller));
    backdrop-filter: blur(20px);
    transition: background-color var(--transition-time) var(--transition-ease);
}

.comment-container:nth-of-type(even) .original-comment::before {
    background-color: rgb(var(--section-bg) / var(--rgb-percent-bg-fuller));
}

.original-comment .comment {
    padding: 20px 0;
}

.comment-count {
    color: rgb(var(--green-luma) / 100%);
    transition: color var(--transition-time) var(--transition-ease);
}

.comment-count.dislike {
    color: rgb(var(--red-luma) / 100%);
}

.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(var(--section-author) / var(--rgb-percent-bg));
    backdrop-filter: blur(20px);
    z-index: 20;
}

.overlay.new-comment {
    display: flex;
    background-color: rgb(var(--section-bg) / var(--rgb-percent-gooey));
    backdrop-filter: blur(2px);
    border-radius: 20px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

/**** 6. Background & Cursor ****/
.background-webgl,
.page-background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
}

.page-background {
    z-index: -4;
}

.background-webgl::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--panda-base);
	opacity: 0;
	transition: opacity var(--transition-time) var(--transition-ease);
	z-index: 4;
}

body.dark .background-webgl::before {
	opacity: 0.4;
}

.magic-cursor {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 2147483647;
}

.magic-cursor canvas,
.background-webgl canvas,
.page-item .background-image .background-page-image {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.slider-controls,
.site-preloader {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}

.page-item,
.site-preloader .colour-holder {
    position: absolute;
    width: calc(25vw - 100px);
    min-width: 100px;
    height: calc(25vw - 100px);
    min-height: 100px;
    opacity: 0;
    transition: width var(--transition-time) var(--transition-ease),
                height var(--transition-time) var(--transition-ease);
    pointer-events: none;
}

.site-preloader {
    position: absolute;
    z-index: 2;
}

.site-preloader .colour-holder {
    opacity: 1;
}

.site-preloader .colour {
    width: 100%;
    height: 100%;
    background-color: #fff;
    transition: background-color var(--transition-time) var(--transition-ease);
}

.page-item.active {
    opacity: 1;
}

.page-item .background-image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
}

.page-item .background-image .background-page-image {
    display: none;
}

/**** 7. Gooey Container ****/
.gooey-container {
    display: inline-flex;
	position: relative;
    width: 140px; 
    height: 140px;
    flex-direction: column;
	align-items: center;
	justify-items: center;
	justify-content: center;
    animation: gooing 3s linear infinite;
    will-change: border-radius;
    border-radius: var(--gooey-radius);
    background-color: rgb(var(--colour3) / var(--rgb-percent-gooey));
    backdrop-filter: blur(20px);
    transition: background-color var(--transition-time) var(--transition-ease), 
                filter var(--transition-time) var(--transition-ease),
                width var(--transition-time) var(--transition-ease),
                height var(--transition-time) var(--transition-ease);
}

.gooey-container.disable {
    filter: brightness(0.6);
    pointer-events: none;
}

.gooey-container .goop {
	display: inline-flex;
	position: relative;
	width: 100%;
	height: 100%;
	flex-direction: column;
	align-items: center;
	justify-items: center;
	justify-content: center;
	animation: bouncing 4s linear infinite;
}

.gooey-container:not(.album, .logo, .menu, .socials-holder, .expand, .contract) {
    width: 100px;
    height: 100px;
}

.gooey-container.number {
    width: 60px;
    height: 60px;
    overflow: hidden;
}

.mobile-nav .gooey-container:not(.album, .menu) {
    width: 60px;
    height: 60px;
}

.mobile-nav .bottom-right .totop .gooey-container {
	top: -40px;
	left: -40px;
    width: 100px;
    height: 100px;
}

.mobile-nav .music-nav-items .gooey-container:not(.album, .menu) {
    top: -10px;
    transition: background-color var(--transition-time) var(--transition-ease), 
                filter var(--transition-time) var(--transition-ease),
                width var(--transition-time) var(--transition-ease),
                height var(--transition-time) var(--transition-ease),
                top var(--transition-time) var(--transition-ease);
}

.gooey-container.album {
    width: 200px;
    height: 200px;
    background-color: transparent;
}

.mobile-nav .gooey-container.album {
    width: 100px;
    height: 100px;
}

.gooey-container.expand,
.gooey-container.contract,
.gooey-container.music-info {
    width: 80px;
    height: 80px;
}

.gooey-container.expand,
.gooey-container.music-info,
.gooey-container.profile-controller {
	position: absolute;
	top: -20px;
	left: -20px;
	opacity: 0;
	background-color: rgb(var(--colour4) / var(--rgb-percent-gooey));
	transition: opacity var(--transition-time) var(--transition-ease), 
                top var(--transition-time) var(--transition-ease), 
                bottom var(--transition-time) var(--transition-ease), 
                left var(--transition-time) var(--transition-ease), 
                right var(--transition-time) var(--transition-ease),
                width var(--transition-time) var(--transition-ease),
                height var(--transition-time) var(--transition-ease),
                background-color var(--transition-time) var(--transition-ease), 
                filter var(--transition-time) var(--transition-ease);
	z-index: 4;
}

.top-right .gooey-container.expand {
    left: auto;
    right: -20px;
}

.bottom-left .gooey-container.expand {
    top: auto;
    bottom: -20px;
    left: -20px;
    right: auto;
}

.bottom-right .gooey-container.expand {
    top: auto;
    bottom: -20px;
    left: auto;
    right: -20px;
}

.mobile-nav .top-left-nav .gooey-container.expand {
    position: relative;
    top: 20px;
    left: 0;
    opacity: 1;
}

.mobile-nav .bottom-right .gooey-container.expand {
    position: relative;
    bottom: 20px;
    left: 0;
    opacity: 1;
}

.expanding .gooey-container {
    width: 100px;
    height: 100px;
}

.expanding .gooey-container.expand,
.expanding .gooey-container.contract,
.expanding .gooey-container.music-info {
    width: 60px;
    height: 60px;
}

header .top-left:hover .gooey-container.expand, 
header .top-right:hover .gooey-container.expand,
header .top-left:hover .gooey-container.contract,
header .top-right:hover .gooey-container.contract,
footer .bottom-left:hover .gooey-container.expand, 
footer .bottom-left:hover .gooey-container.music-info,
footer .bottom-right:hover .gooey-container.expand,
footer .bottom-left:hover .gooey-container.contract, 
footer .bottom-right:hover .gooey-container.contract {
    opacity: 1;
}

.gooey-container.contract {
	position: absolute;
	bottom: -180px;
	right: -180px;
	opacity: 0;
	background-color: rgb(var(--colour2) / var(--rgb-percent-gooey));
	transition: opacity var(--transition-time) var(--transition-ease), 
                top var(--transition-time) var(--transition-ease), 
                bottom var(--transition-time) var(--transition-ease), 
                left var(--transition-time) var(--transition-ease), 
                right var(--transition-time) var(--transition-ease), 
                width var(--transition-time) var(--transition-ease),
                height var(--transition-time) var(--transition-ease),
                background-color var(--transition-time) var(--transition-ease), 
                filter var(--transition-time) var(--transition-ease);
	z-index: 4;
}

.top-right .gooey-container.contract {
    right: auto;
    left: -180px;
}

.bottom-left .gooey-container.contract {
    right: -120px;
    left: auto;
    top: -120px;
}

.bottom-right .gooey-container.contract {
    right: auto;
    left: -180px;
    top: -180px;
}

.gooey-container.contract {
    opacity: 1;
}

.open .gooey-container.contract {
    opacity: 0;
}

body.loaded .top-left.open .gooey-container.contract {
    bottom: -20px;
    right: -20px;
}

body.loaded .top-right.open .gooey-container.contract {
    bottom: -20px;
    left: -20px;
}

body.loaded .bottom-left.open .gooey-container.contract {
    top: -20px;
    bottom: auto;
    right: -20px;
    left: auto;
}

body.loaded .bottom-right.open .gooey-container.contract {
    top: -20px;
    bottom: auto;
    left: -20px;
    right: auto;
}

.gooey-container .gooey-before,
.gooey-container .gooey-after {
    display: block;
    position: absolute;
    top: 0;
    left: 0; 
    width: 100%;
    height: 100%;
    border-radius: var(--gooey-radius);
    will-change: border-radius, transform, opacity;
    animation-delay: 200ms;
    background-color: rgb(var(--colour3) / var(--rgb-percent-gooey));
    backdrop-filter: blur(20px);
    transition: background-color var(--transition-time) var(--transition-ease), 
                filter var(--transition-time) var(--transition-ease),
                width var(--transition-time) var(--transition-ease),
                height var(--transition-time) var(--transition-ease);
    overflow: hidden;
}

.gooey-container.logged,
.gooey-container.logged .gooey-before,
.gooey-container.logged .gooey-after,
.gooey-container.album .gooey-before,
.gooey-container.album .gooey-after {
    background-color: transparent;
}

.gooey-container.music-info,
.gooey-container.music-info .gooey-before,
.gooey-container.music-info .gooey-after {
	background-color: rgb(var(--colour1) / var(--rgb-percent-gooey));
}

.gooey-container.contract .gooey-before,
.gooey-container.contract .gooey-after {
    background-color: rgb(var(--colour2) / var(--rgb-percent-gooey));
}

.gooey-container.expand .gooey-before,
.gooey-container.expand .gooey-after {
    background-color: rgb(var(--colour4) / var(--rgb-percent-gooey));
}

.gooey-container .gooey-before {
    animation: gooing 3s linear infinite;
    animation-duration: 1.5s;
}

.gooey-container .gooey-after {
    animation: gooing 3s linear infinite;
    animation-delay: 400ms;
}

.gooey-container .gooey-container-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    animation: rading 3s linear infinite;
    overflow: hidden;
}

.gooey-container img, 
.gooey-container .gooey-before img,
.gooey-container .gooey-after img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    background-color: var(--panda-body);
    z-index: -2;
}

.gooey-container:not(.logged) img.user-image {
    opacity: 0;
}

.gooey-container img {
    animation: rading 3s linear infinite; 
    will-change: border-radius;
}

.gooey-container.album a.play-pause {
    opacity: 0;
    transition: opacity var(--transition-time) var(--transition-ease);
}

.gooey-container.album:hover a.play-pause {
    opacity: 1;
}

.notice-content .gooey-container {
    position: absolute;
	top: -20px;
	right: -20px;
    width: 60px;
    height: 60px;
    z-index: 20;
}

.notice-content .gooey-container .icon-container {
    width: 60%;
    height: 60%;
}

.profile-controller {
    transition: margin var(--transition-time) var(--transition-ease);
}

.gooey-container.profile-controller {
    position: absolute;
    top: -20px;
    left: -20px;
    width: 80px;
    height: 80px;
    background-color: rgb(var(--colour1) / var(--rgb-percent-gooey));
    z-index: 2;
}

.profile-controller:hover .gooey-container.profile-controller {
    opacity: 1;
}

.gooey-container.profile-controller.add {
    top: 70px;
}

.gooey-container.profile-controller.message {
    left: 70px;
}

.comment-container:nth-child(even) .gooey-container.profile-controller,
.comment-container.reply:nth-child(even) .gooey-container.profile-controller {
    left: auto;
    right: -20px;
}

.comment-container:nth-child(even) .gooey-container.profile-controller.message,
.comment-container.reply:nth-child(even) .gooey-container.profile-controller.message {
    right: 70px;
}

@keyframes gooing {
    0%, 100% {
        border-radius: var(--gooey-radius);
        margin-top: 0;
    }
    34% {
        border-radius: 70% 30% 46% 54% / 30% 29% 71% 70%;
        margin-top: 5px;
    }
    50% {
        transform: translate3d(0,0,0) rotateZ(0.01deg);
        margin-top: 0;
    }
    67% {
        border-radius: 100% 60% 60% 100% / 100% 100% 60% 60%;
        margin-top: -3px;
    }
}

@keyframes rading {
    0%, 100% {
        border-radius: var(--gooey-radius);
    }
    34% {
        border-radius: 70% 30% 46% 54% / 30% 29% 71% 70%;
    }
    50% {}
    67% {
        border-radius: 100% 60% 60% 100% / 100% 100% 60% 60%;
    }
}

@keyframes bouncing {
    0%, 100% {
        transform: translate3d(0,0,0) rotateZ(0.01deg);
    }
    34% {
        transform:  translate3d(0,5px,0) rotateZ(0.01deg);
    }
    50% {
        transform: translate3d(0,0,0) rotateZ(0.01deg);
    }
    67% {
        transform: translate3d(0,-3px,0) rotateZ(0.01deg);
    }
}

/**** 8. Plugins ****/
/** 8a. Scrollbar **/
.scrollbar-track {
    display: block !important;
    position: absolute;
    opacity: 1 !important;
    background: none !important;
    background-color: transparent !important;
    transition: right var(--transition-time) var(--transition-ease),
                bottom var(--transition-time) var(--transition-ease),
                width var(--transition-time) var(--transition-ease),
                height var(--transition-time) var(--transition-ease) !important;
    z-index: 20 !important;
}

.scrollbar-track .scrollbar-thumb {
    cursor: inherit !important;
    border-radius: 4px;
    background: none !important;
    background-color: rgb(var(--colour2) / var(--rgb-percent-bg)) !important;
	backdrop-filter: blur(20px);
    transition: background-color var(--transition-time) var(--transition-ease),
                width var(--transition-time) var(--transition-ease),
                height var(--transition-time) var(--transition-ease),
				backdrop-filter var(--transition-time) var(--transition-ease) !important;
}

.scrollbar-track.scrollbar-track-x {
    bottom: -20px;
    left: 2px;
    height: 14px;
    transform: scale(0.98, 1);
    width: calc(100% - 4px);
}

.scrollbar-track.scrollbar-track-x.active {
    bottom: 0;
}

.scrollbar-track.scrollbar-track-x.active:hover {
    height: 20px;
}

.scrollbar-track .scrollbar-thumb.scrollbar-thumb-x {
    width: 0;
    height: 100%;
    transform: scaleY(0.6);
}

.scrollbar-track.scrollbar-track-y {
    top: 2px;
    right: -20px;
    width: 20px;
    transform: scale(1, 0.98);
    height: calc(100% - 4px);
}

body.loaded .scrollbar-track.scrollbar-track-y.active {
    right: 0;
}

.scrollbar-track.scrollbar-track-y.active:hover {
    width: 20px;
}

.scrollbar-track .scrollbar-thumb.scrollbar-thumb-y {
    width: 100%;
    height: 0;
    transform: scaleX(0.6);
}

::-webkit-scrollbar {
	width: 14px;
	background-color: transparent;
}

::-webkit-scrollbar-thumb {
	width: 100%;
    border-radius: 4px;
	background-color: rgb(var(--colour2) / var(--rgb-percent-bg));
	backdrop-filter: blur(20px);
	cursor: inherit !important;
	transition: color var(--transition-time) var(--transition-ease), height var(--transition-time) var(--transition-ease), background-color var(--transition-time) var(--transition-ease);
}

/** 8b. Password **/
.login-form {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    pointer-events: none;
    z-index: 2000;
}

.login-form.open {
	pointer-events: all;
}

.login-form .login-inner {
    width: 100px;
    height: 100px;
    padding: 60px;
    border-radius: 50%;
    transform: translateY(-100vh);
	transition: padding var(--transition-time) var(--transition-ease);
}

.login-form-page {
    display: flex;
    position: relative;
    width: 100%;
    justify-content: center;
    align-items: center;
	transition: width var(--transition-time) var(--transition-ease),
				height var(--transition-time) var(--transition-ease);
}

.login-form-page .login-inner {
    width: 100%;
    padding: 0 80px;
    transition: padding var(--transition-time) var(--transition-ease);
}

.login-form-page .footer {
    display: flex;
    position: relative;
    justify-content: center;
    align-items: center;
}

.login-form-page .footer a {
    color: var(--panda-base);
    overflow: hidden;
}

.login-form-page .footer a.inactive {
    display: none;
}

body.dark .login-form-page .footer a {
    color: var(--panda-body);
}

.login-inner-background {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: calc(100% - 280px);
    border-radius: 10px;
    background-color: rgb(var(--section-bg) / var(--rgb-percent-bg));
    backdrop-filter: blur(20px);
    transition: background-color var(--transition-time) var(--transition-ease),
                height var(--transition-time) var(--transition-ease);
    z-index: -2;
}

.login-form .login-inner .panda-login {
    position: relative;
    margin: 0;
    transition: height var(--transition-time) var(--transition-ease),
                top var(--transition-time) var(--transition-ease),
                margin var(--transition-time) var(--transition-ease);
}

.login-form-page .panda-login {
    position: relative;
    transition: top var(--transition-time) var(--transition-ease);
}

.login-form-page .panda-login.inactive,
.login-inner-background.inactive {
    display: none;
}

.login-form .login-inner .footer {
    display: flex;
    position: relative;
    justify-content: center;
    align-items: center;
    transform: translateY(40px);
}

.login-form .login-inner .input-columns {
    opacity: 0;
    transform: translateY(40px);
}

.login-password {
    position: relative;
    overflow: hidden;
}

.login-password.inactive {
    height: 0;
}

.input-wrapper,
.password-wrapper {
    position: relative;
	height: 60px;
    overflow: hidden;
}

.input-wrapper.textarea {
    height: auto;
}

.input-wrapper .input-text,
.password-wrapper .password-text,
.password-wrapper .password-dots {
    display: inline-flex;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    padding: 10px 20px;
    line-height: 60px;
    color: var(--text-colour);
    justify-content: flex-start;
    align-items: center;
    pointer-events: none;
	overflow: hidden;
    transition: padding var(--transition-time) var(--transition-ease),
                width var(--transition-time) var(--transition-ease);
}

.input-wrapper .input-text.textarea {
    height: 46px;
}

.input-wrapper .input-text > span,
.password-wrapper .password-text > span,
.password-wrapper .password-dots > span {
    display: inline-block;
    opacity: 0;
    transition: all var(--transition-time) var(--transition-ease);
}

.input-wrapper .input-text.cursor::after,
.password-wrapper .password-text.cursor::after,
.password-wrapper .password-dots.cursor::after {
    content: '';
    display: inline-block;
    width: 1px;
    height: 20px;
    margin: 0 0 0 2px;
    -webkit-text-security: none;
    background-color: var(--text-colour);
    opacity: 0;
    animation: blink var(--transition-time) linear infinite alternate;
    transition: background-color var(--transition-time) var(--transition-ease);
}

.password-wrapper .password-dots {
    letter-spacing: 4px;
    -webkit-text-security: disc;
    font-family: 'text-security-disc';
}

.input-wrapper.show .input-text > span,
.password-wrapper.show .password-text > span {
    animation: bounce var(--transition-time) cubic-bezier(0, 1.26, 0.42, 1.26) forwards;
}

.input-wrapper.show .input-text.cursor > span,
.password-wrapper.show .password-text.cursor > span {
    animation: none;
    opacity: 1;
}

.input-wrapper.show .input-text.cursor > span:last-child,
.password-wrapper.show .password-text.cursor > span:last-child {
    animation: bounce var(--transition-time) cubic-bezier(0, 1.26, 0.42, 1.26) forwards alternate;
    opacity: 0;
}

.password-wrapper.show .password-dots.cursor::after {
    display: none;
}

.input-wrapper:not(.show) .input-text.cursor::after,
.password-wrapper:not(.show) .password-text.cursor::after {
    display: none;
}

.password-wrapper:not(.show) .password-dots > span {
    animation: bounce var(--transition-time) cubic-bezier(0, 1.26, 0.42, 1.26) forwards alternate;
}

.password-wrapper:not(.show) .password-dots.cursor > span {
    animation: none;
    opacity: 1;
}

.password-wrapper:not(.show) .password-dots.cursor > span:last-child {
    animation: bounce var(--transition-time) cubic-bezier(0, 1.26, 0.42, 1.26) forwards alternate;
    opacity: 0;
}

@keyframes bounce {
    0% {
        opacity: 0;
        transform: translateY(12px);
    } 30% {
        transform: translateY(0px);
        animation-timing-function: ease;
    }
    35% {
        transform: translateY(1px);
        animation-timing-function: ease;
    }
    100% {
        opacity: 1;
        transform: translateY(0px);
    }
}

@keyframes blink {
    25% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

/** 8c. Panda **/
.panda-helper {
	display: flex;
	position: relative;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	top: 0;
	left: 50%;
	width: 400px;
	height: 400px;
	margin: 0 0 20px -200px;
	transform: translate3d(0, 0, 0) scale(1) translate(0px, 0px);
	transition: margin var(--transition-time) var(--transition-ease),
                transform var(--transition-time) var(--transition-ease);
}

.panda-helper .center {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	width: 480px;
	height: 480px;
	z-index: 10;
	pointer-events: none;
	transition: height var(--transition-time) var(--transition-ease);
}

.panda-helper .mouth {
	transition: ry 150ms ease;
}

.panda-helper .idle .feature {
	animation: idleFace 4s ease-in-out infinite alternate;
}

.panda-helper .idle .ear {
	animation: idleEars 4s ease-in-out infinite alternate;
}

.panda-helper .idle .eye {
	animation: idleFace 4s ease-in-out infinite alternate;
}

.panda-helper .idle .mouth {
	transform: scaleX(1.4) scaleY(2);
	animation: idleMouth 4s ease-in-out infinite alternate;
	transform-origin: center 80%;
}

@keyframes idleMouth {
	20% {
		transform: scaleX(1.4) scaleY(2);
	}
	90% {
		transform: scaleX(0.8);
	}
	100% {
		transform: scaleX(0.8);
	}
}

@keyframes idleFace {
	20% {
		transform: translateY(0);
	}
	80% {
		transform: translateY(8px);
	}
	100% {
		transform: translateY(8px);
	}
}

@keyframes idleEars {
	20% {
		transform: translateY(0);
	}
	80% {
		transform: translateY(-6px);
	}
	100% {
		transform: translateY(-6px);
	}
}

.panda-helper svg {
    height: 400px;
}

/** 8d. Trumbowyg **/
#trumbowyg-icons,
.trumbowyg-icons {
    height: 0;
    width: 0;
    visibility: hidden;
    overflow: hidden;
}

#trumbowyg-icons svg,
.trumbowyg-icons svg {
    width: 0;
    height: 0;
}

.trumbowyg-box *,
.trumbowyg-box *::before,
.trumbowyg-box *::after,
.trumbowyg-modal *,
.trumbowyg-modal *::before,
.trumbowyg-modal *::after {
    box-sizing: border-box;
}

.trumbowyg-box svg,
.trumbowyg-modal svg {
    width: 17px;
    height: 100%;
    color: var(--text-colour);
    fill: var(--text-colour);
    transition: all var(--transition-time) var(--transition-ease);
}

.trumbowyg-box {
    display: flex;
    flex-direction: column;
}

.trumbowyg-box p {
	display: block;
    margin: 0;
}

.trumbowyg-box.inactive {
    height: 0;
}

.trumbowyg-editor-box {
    display: block;
    flex: 1;
}

.trumbowyg-box,
.trumbowyg-editor-box {
    position: relative;
    width: 100%;
    padding: 0;
    border-radius: 0 0 10px 10px;
    backdrop-filter: none;
    background-color: transparent;
    overflow: hidden;
}

.trumbowyg-box .trumbowyg-editor {
    min-height: 200px;
    margin: 0 auto;
}

.trumbowyg-box.trumbowyg-fullscreen {
	border-radius: 10px;
    background-color: rgb(var(--input-bg) / var(--rgb-percent-bg-less));
    border: none !important;
    transition: background-color var(--transition-time) var(--transition-ease);
}

.trumbowyg-editor-box,
.trumbowyg-textarea {
    position: relative;
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
    border-style: none;
    resize: none;
    outline: none;
    overflow: hidden;
    user-select: text;
}

.trumbowyg-editor-box.trumbowyg-autogrow-on-enter,
.trumbowyg-textarea.trumbowyg-autogrow-on-enter {
    transition: height 300ms var(--transition-ease);
}

.trumbowyg-editor-box {
    padding: 0;
    background-color: rgb(var(--input-bg) / var(--rgb-percent-inputs));
    backdrop-filter: blur(20px);
    cursor: inherit;
    transition: background-color var(--transition-time) var(--transition-ease), 
                color var(--transition-time) var(--transition-ease);
}

.trumbowyg-editor {
    outline: none;
    padding: 20px;
    overflow-wrap: anywhere;
    cursor: inherit;
}

.trumbowyg-editor[contenteditable=true]:empty::before {
    content: attr(placeholder);
    color: #999;
}

.trumbowyg-editor.empty::before {
	content: attr(placeholder);
    color: #999;
    pointer-events: none;
    white-space: break-spaces
}

.trumbowyg-box-blur .trumbowyg-editor *, 
.trumbowyg-box-blur .trumbowyg-editor::before {
    color: transparent !important;
    text-shadow: 0 0 7px #333;
}

@media screen and (min-width: 0 \0 ) {
    .trumbowyg-box-blur .trumbowyg-editor *, 
    .trumbowyg-box-blur .trumbowyg-editor::before {
        color: rgba(200, 200, 200, 0.6) !important;
    }
}

@supports (-ms-accelerator: true) {
    .trumbowyg-box-blur .trumbowyg-editor *, 
    .trumbowyg-box-blur .trumbowyg-editor::before {
        color: rgba(200, 200, 200, 0.6) !important;
    }
}

.trumbowyg-box-blur .trumbowyg-editor img,
.trumbowyg-box-blur .trumbowyg-editor hr {
    opacity: 0.2;
}

.trumbowyg-textarea {
    display: block;
    position: relative;
    border: none;
    font-size: 14px;
    font-family: "Consolas", "Courier", "Courier New", monospace;
    line-height: 18px;
    overflow: auto;
}

.trumbowyg-box.trumbowyg-editor-visible .trumbowyg-textarea {
    width: 25%;
    height: 0px !important;
    min-height: 0 !important;
    padding: 0 !important;
    background: none;
    opacity: 0 !important;
}

.trumbowyg-box.trumbowyg-editor-hidden .trumbowyg-textarea {
    display: block;
    flex: 1;
    margin-bottom: 1px;
}

.trumbowyg-box.trumbowyg-editor-hidden .trumbowyg-editor-box {
    display: none;
}

.trumbowyg-box.trumbowyg-disabled .trumbowyg-textarea {
    opacity: 0.8;
    background: none;
}

.trumbowyg-editor-box[contenteditable=true]:empty:not(:focus)::before {
    content: attr(placeholder);
    color: #999;
    pointer-events: none;
    white-space: break-spaces;
}

.trumbowyg-button-pane {
    display: flex;
    position: relative;
    width: 100%;
    min-height: 36px;
    margin: 0;
    padding: 0;
    border-radius: 10px 10px 0 0;
    background-color: rgb(var(--input-bg) / var(--rgb-percent-inputs));
    backdrop-filter: blur(20px);
    flex-wrap: wrap;
    list-style-type: none;
    line-height: 10px;
    backface-visibility: hidden;
    transition: background-color var(--transition-time) var(--transition-ease);
    overflow: hidden;
    z-index: 12;
}

.trumbowyg-button-pane::before, 
.trumbowyg-button-pane::after {
    content: ' ';
    display: block;
    position: absolute;
    top: 35px;
    left: 0;
    right: 0;
    width: 100%;
    height: 1px;
    background-color: rgb(var(--input-bg) / var(--rgb-percent-full));
    transition: background-color var(--transition-time) var(--transition-ease);
}

.trumbowyg-button-pane::after {
    top: 71px;
}

.trumbowyg-button-pane .trumbowyg-button-group {
    display: flex;
    flex-wrap: wrap;
}

.trumbowyg-button-pane .trumbowyg-button-group .trumbowyg-fullscreen-button svg {
    color: transparent;
}

.trumbowyg-button-pane .trumbowyg-button-group::after {
    content: ' ';
    display: block;
    width: 1px;
    height: 35px;
    margin: 0;
    background-color: rgb(var(--input-bg) / var(--rgb-percent-full));
    vertical-align: top;
    transition: background-color var(--transition-time) var(--transition-ease);
}

.trumbowyg-button-pane .trumbowyg-button-group:last-child::after {
    content: none;
}

.trumbowyg-button-pane button {
    display: block;
    position: relative;
    width: 35px;
    height: 35px;
    margin: 0;
    padding: 0px 6px !important;
    border: none;
    cursor: inherit;
    background: none;
    vertical-align: middle;
    transition: background-color var(--transition-time) var(--transition-ease), 
            opacity var(--transition-time) var(--transition-ease);
    overflow: hidden;
}

.trumbowyg-button-pane button.trumbowyg-textual-button {
    width: auto;
    line-height: 35px;
    user-select: none;
}

.trumbowyg-button-pane.trumbowyg-disable button:not(.trumbowyg-not-disable):not(.trumbowyg-active),
.trumbowyg-button-pane button.trumbowyg-disable, 
.trumbowyg-disabled .trumbowyg-button-pane button:not(.trumbowyg-not-disable):not(.trumbowyg-viewHTML-button) {
    opacity: 0.2;
    cursor: default;
    pointer-events: none;
}

.trumbowyg-button-pane.trumbowyg-disable .trumbowyg-button-group::before, 
.trumbowyg-disabled .trumbowyg-button-pane .trumbowyg-button-group::before {
    background-color: #e3e9eb;
}

.trumbowyg-button-pane button:not(.trumbowyg-disable):hover,
.trumbowyg-button-pane button:not(.trumbowyg-disable):focus,
.trumbowyg-button-pane button.trumbowyg-active {
    background-color: rgb(var(--input-bg) / var(--rgb-percent-full));
    outline: none;
    transition: background-color var(--transition-time) var(--transition-ease);
}

.trumbowyg-button-pane .trumbowyg-open-dropdown::after {
    content: ' ';
    display: block;
    position: absolute;
    top: 27px;
    right: 3px;
    height: 0;
    width: 0;
    border: 3px solid transparent;
    border-top-color: var(--text-colour);
    transition: border-top-color var(--transition-time) var(--transition-ease);
}

.trumbowyg-button-pane .trumbowyg-open-dropdown.trumbowyg-textual-button {
    padding-left: 10px !important;
    padding-right: 18px !important;
}

.trumbowyg-button-pane .trumbowyg-open-dropdown.trumbowyg-textual-button::after {
    top: 17px;
    right: 7px;
}

.trumbowyg-button-pane .trumbowyg-right {
    margin-left: auto;
}

.trumbowyg-dropdown {
    max-width: 300px;
    max-height: 250px;
    margin-left: -1px;
    padding: 5px 0;
    overflow-y: auto;
    overflow-x: hidden;
    white-space: nowrap;
    border-top: none;
    background-color: rgb(var(--input-bg) / var(--rgb-percent-full));
    color: var(--text-colour);
    box-shadow: rgba(0, 0, 0, 0.1) 0 2px 3px;
    transition: background-color var(--transition-time) var(--transition-ease),
                color var(--transition-time) var(--transition-ease);
    z-index: 14;
}

.trumbowyg-dropdown button {
    display: block;
    width: 100%;
    height: 35px;
    padding: 0 20px 0 10px;
    line-height: 35px;
    text-decoration: none;
    background-color: rgb(var(--input-bg) / var(--rgb-percent-full));
    color: var(--text-colour);
    border: none;
    cursor: inherit;
    text-align: left;
    font-size: 15px;
    transition: all 150ms var(--transition-ease),
                background-color var(--transition-time) var(--transition-ease),
                color var(--transition-time) var(--transition-ease);
}

.trumbowyg-dropdown button:hover, 
.trumbowyg-dropdown button:focus {
    background-color: rgb(var(--input-bg) / var(--rgb-percent-full));
}

.trumbowyg-dropdown button svg {
    float: left;
    margin-right: 14px;
}

.trumbowyg-modal {
    position: absolute;
    top: 0;
    left: 50%;
    width: 100%;
    max-width: 520px;
    height: 350px;
    backface-visibility: hidden;
    transform: translateX(-50%);
    overflow: hidden;
    z-index: 16;
}

.trumbowyg-modal-box {
    position: absolute;
    top: 0;
    left: 50%;
    width: calc(100% - 20px);
    max-width: 500px;
    padding-bottom: 45px;
    background-color: rgb(var(--input-bg) / var(--rgb-percent-full));
    text-align: center;
    font-size: 14px;
    transform: translateX(-50%);
    box-shadow: rgba(0, 0, 0, 0.2) 0 2px 3px;
    backface-visibility: hidden;
    transition: background-color var(--transition-time) var(--transition-ease);
    z-index: 2;
}

.trumbowyg-modal-box .trumbowyg-modal-title {
    display: block;
    font-size: 24px;
    font-weight: bold;
    margin: 0 0 20px;
    padding: 15px 0 13px;
    border-bottom: 1px solid #d7e0e2;
}

.trumbowyg-modal-box .trumbowyg-progress {
    position: absolute;
    top: 58px;
    width: 100%;
    height: 3px;
}

.trumbowyg-modal-box .trumbowyg-progress .trumbowyg-progress-bar {
    width: 0;
    height: 100%;
    background-color: rgb(var(--green-luma) / var(--rgb-percent-full));
    transition: width 150ms linear;
}

.trumbowyg-modal-box .trumbowyg-input-row {
    position: relative;
    margin: 15px 12px;
    border: 1px solid #dedede;
    overflow: hidden;
}

.trumbowyg-modal-box .trumbowyg-input-infos {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 150px;
    padding: 0 7px;
    background-color: rgb(var(--input-bg) / var(--rgb-percent-full));
    border-right: 1px solid #dedede;
    text-align: left;
    transition: all 150ms var(--transition-ease),
                background-color var(--transition-time) var(--transition-ease);
}

.trumbowyg-modal-box .trumbowyg-input-infos label {
    height: 27px;
    color: var(--text-colour);
    line-height: 27px;
    transition: color var(--transition-time) var(--transition-ease);
    overflow: hidden;
}

.trumbowyg-modal-box .trumbowyg-input-infos label, 
.trumbowyg-modal-box .trumbowyg-input-infos label span {
    display: block;
    height: 27px;
    line-height: 27px;
    transition: all 150ms var(--transition-ease);
}

.trumbowyg-modal-box .trumbowyg-input-infos .trumbowyg-msg-error {
    color: #e74c3c;
}

.trumbowyg-modal-box .trumbowyg-input-html {
    padding: 1px 1px 1px 152px;
}

.trumbowyg-modal-box .trumbowyg-input-html, 
.trumbowyg-modal-box .trumbowyg-input-html input, 
.trumbowyg-modal-box .trumbowyg-input-html textarea, 
.trumbowyg-modal-box .trumbowyg-input-html select {
    font-size: 14px;
}

.trumbowyg-modal-box .trumbowyg-input-html input, 
.trumbowyg-modal-box .trumbowyg-input-html textarea, 
.trumbowyg-modal-box .trumbowyg-input-html select {
    width: 100%;
    height: 27px;
    padding: 0 7px;
    line-height: 27px;
    border: 0;
    transition: all 150ms var(--transition-ease);
}

.trumbowyg-modal-box .trumbowyg-input-html input:hover, 
.trumbowyg-modal-box .trumbowyg-input-html input:focus, 
.trumbowyg-modal-box .trumbowyg-input-html textarea:hover, 
.trumbowyg-modal-box .trumbowyg-input-html textarea:focus, 
.trumbowyg-modal-box .trumbowyg-input-html select:hover, 
.trumbowyg-modal-box .trumbowyg-input-html select:focus {
    outline: 1px solid #95a5a6;
}

.trumbowyg-modal-box .trumbowyg-input-html input:focus, 
.trumbowyg-modal-box .trumbowyg-input-html textarea:focus, 
.trumbowyg-modal-box .trumbowyg-input-html select:focus {
    background: #fbfcfc;
}

.trumbowyg-modal-box .trumbowyg-input-html input[type=checkbox] {
    width: 16px;
    height: 16px;
    padding: 0;
}

.trumbowyg-modal-box .trumbowyg-input-html-with-checkbox {
    text-align: left;
    padding: 3px 1px 1px 3px;
}

.trumbowyg-modal-box .trumbowyg-input-error input, 
.trumbowyg-modal-box .trumbowyg-input-error select, 
.trumbowyg-modal-box .trumbowyg-input-error textarea {
    outline: 1px solid #e74c3c;
}

.trumbowyg-modal-box .trumbowyg-input-error .trumbowyg-input-infos label span:first-child {
    margin-top: -27px;
}

.trumbowyg-modal-box .error {
    display: block;
    margin-top: 25px;
    color: rgb(var(--red-luma) / var(--rgb-percent-full));
}

.trumbowyg-modal-box .trumbowyg-modal-button {
    display: block;
    position: absolute;
    bottom: 10px;
    right: 0;
    width: 100px;
    height: 35px;
    margin: 0 10px;
    text-decoration: none;
    color: #fff;
    line-height: 33px;
    background-color: #333;
    border: none;
    cursor: inherit;
    font-family: 'Bettencourt';
    font-size: 16px;
    transition: all 150ms var(--transition-ease);
}

.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-submit {
    right: 110px;
    background-color: rgb(var(--green-luma) / var(--rgb-percent-full));
}

.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-submit:hover, 
.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-submit:focus {
    background-color: #40d47e;
    outline: none;
}

.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-submit:active {
    background: #25a25a;
}

.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-reset {
    color: #555;
    background-color: #e6e6e6;
}

.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-reset:hover, 
.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-reset:focus {
    background-color: #fbfbfb;
    outline: none;
}

.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-reset:active {
    background-color: #d5d5d5;
}

.trumbowyg-overlay {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    background-color: rgb(var(--input-bg) / var(--rgb-percent-bg-fuller));
    transition: background-color var(--transition-time) var(--transition-ease);
    z-index: 10;
}

body.trumbowyg-body-fullscreen {
    overflow: hidden;
}

.trumbowyg-fullscreen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    z-index: 200000;
}

.trumbowyg-fullscreen.trumbowyg-box,
.trumbowyg-fullscreen .trumbowyg-editor-box {
    border: none;
}

.trumbowyg-fullscreen .trumbowyg-editor-box,
.trumbowyg-fullscreen .trumbowyg-textarea {
    height: auto !important;
    overflow: auto;
}

.trumbowyg-fullscreen .trumbowyg-overlay {
    height: 100% !important;
}

.trumbowyg-fullscreen .trumbowyg-button-group .trumbowyg-fullscreen-button svg {
    color: #222;
    fill: transparent;
}

.trumbowyg-editor {
/*
* For resetCss option
*/
}

.trumbowyg-editor object,
.trumbowyg-editor embed,
.trumbowyg-editor video,
.trumbowyg-editor img {
    max-width: 100%;
}

.trumbowyg-editor video,
.trumbowyg-editor img {
    height: auto;
}

.trumbowyg-editor img {
    cursor: move;
}

.trumbowyg-editor canvas:focus {
    outline: none;
}

.trumbowyg-editor.trumbowyg-reset-css {
    background-color: #fefefe !important;
    font-family: "Trebuchet MS", Helvetica, Verdana, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.45em !important;
    color: #333 !important;
    font-weight: normal !important;
}

.trumbowyg-editor.trumbowyg-reset-css a {
    color: #15c !important;
    text-decoration: underline !important;
}

.trumbowyg-editor.trumbowyg-reset-css div,
.trumbowyg-editor.trumbowyg-reset-css p,
.trumbowyg-editor.trumbowyg-reset-css ul,
.trumbowyg-editor.trumbowyg-reset-css ol,
.trumbowyg-editor.trumbowyg-reset-css blockquote {
    margin: 0 !important;
    margin-bottom: 15px !important;
    box-shadow: none !important;
    background: none !important;
    line-height: 1.4em !important;
    font-family: "Trebuchet MS", Helvetica, Verdana, sans-serif !important;
    font-size: 14px !important;
    border: none !important;
}

.trumbowyg-editor.trumbowyg-reset-css iframe,
.trumbowyg-editor.trumbowyg-reset-css object,
.trumbowyg-editor.trumbowyg-reset-css hr {
    margin-bottom: 15px !important;
}

.trumbowyg-editor.trumbowyg-reset-css blockquote {
    margin-left: 32px !important;
    font-style: italic !important;
    color: #555 !important;
}

.trumbowyg-editor.trumbowyg-reset-css ul {
    list-style: disc !important;
}

.trumbowyg-editor.trumbowyg-reset-css ol {
    list-style: decimal !important;
}

.trumbowyg-editor.trumbowyg-reset-css ul,
.trumbowyg-editor.trumbowyg-reset-css ol {
    padding-left: 20px !important;
}

.trumbowyg-editor.trumbowyg-reset-css ul ul,
.trumbowyg-editor.trumbowyg-reset-css ol ol,
.trumbowyg-editor.trumbowyg-reset-css ul ol,
.trumbowyg-editor.trumbowyg-reset-css ol ul {
    margin: 2px !important;
    padding: 0 !important;
    padding-left: 24px !important;
    border: none !important;
}

.trumbowyg-editor.trumbowyg-reset-css hr {
    display: block !important;
    height: 1px !important;
    border: none !important;
    border-top: 1px solid #CCC !important;
}

.trumbowyg-editor.trumbowyg-reset-css h1,
.trumbowyg-editor.trumbowyg-reset-css h2,
.trumbowyg-editor.trumbowyg-reset-css h3,
.trumbowyg-editor.trumbowyg-reset-css h4 {
    margin: 0 !important;
    padding: 0 !important;
    color: #111 !important;
    background: none !important;
    font-weight: bold !important;
}

.trumbowyg-editor.trumbowyg-reset-css h1 {
    font-size: 32px !important;
    line-height: 38px !important;
    margin-bottom: 20px !important;
}

.trumbowyg-editor.trumbowyg-reset-css h2 {
    font-size: 26px !important;
    line-height: 34px !important;
    margin-bottom: 15px !important;
}

.trumbowyg-editor.trumbowyg-reset-css h3 {
    font-size: 22px !important;
    line-height: 28px !important;
    margin-bottom: 7px !important;
}

.trumbowyg-editor.trumbowyg-reset-css h4 {
    font-size: 16px !important;
    line-height: 22px !important;
    margin-bottom: 7px !important;
}

.trumbowyg-giphy-button svg {
    transform: scale(1.22);
}

.trumbowyg-giphy-search {
    display: block;
    width: 80%;
    margin: 5%;
    padding-left: 10px;
    padding-right: 150px;
}

.trumbowyg-giphy-close {
    position: absolute;
    top: calc(5% + 8px);
    right: calc(5% - 2px);
    width: 30px;
    height: 30px;
    background: none;
    cursor: inherit;
    border: 1px solid transparent;
}

.trumbowyg-giphy-close:focus {
    border-color: rgba(0, 0, 0, 0.3);
}

.trumbowyg-powered-by-giphy {
    display: none;
    position: absolute;
    top: calc(5% + 12px);
    right: calc(15% + 10px);
    opacity: 0;
    user-select: none;
    pointer-events: none;
}

.trumbowyg-powered-by-giphy span {
    text-transform: uppercase;
    font-weight: bold;
    font-size: 10px;
    opacity: 0.6;
}

.trumbowyg-powered-by-giphy svg {
    width: 66px;
    height: 15px;
    margin-left: 6px;
    vertical-align: bottom;
    opacity: 0.45;
}

.trumbowyg-giphy-modal-scroll {
    height: 240px;
    overflow: hidden;
}

.trumbowyg-giphy-modal-scroll .scrollbar-track.scrollbar-track-y {
    right: 4px;
    width: 14px;
}

.trumbowyg-giphy-modal {
    height: 100%;
}

.trumbowyg-giphy-modal .scroll-content {
    padding: 0 5%;
    columns: 3;
    column-gap: 10px;
}

.trumbowyg-giphy-modal .trumbowyg-giphy-no-result {
    width: 250%;
    margin: 13% 0 0 29%;
}

.trumbowyg-giphy-modal .trumbowyg-giphy-offline {
    width: 305%;
    height: 600px;
    margin-top: 95px;
    font-size: 18px;
    text-align: center;
}

.trumbowyg-giphy-modal .img-container {
    width: 100%;
    margin-bottom: 10px;
    background-color: #ecf0f1;
}

.trumbowyg-giphy-modal .img-container img {
    width: 100%;
    cursor: inherit;
    opacity: 0;
    transition: opacity 150ms var(--transition-ease);
}

.trumbowyg-giphy-modal .img-container img:hover, 
.trumbowyg-giphy-modal .img-container img:focus {
    border: #2ecc71 solid 3px;
}

.trumbowyg-giphy-modal .img-container img.tbw-loaded {
    opacity: 1;
}

.trumbowyg-dropdown-foreColor:not(.trumbowyg-dropdown--color-list),
.trumbowyg-dropdown-backColor:not(.trumbowyg-dropdown--color-list) {
    max-width: 276px;
    padding: 7px 5px;
    overflow: initial;
}

.trumbowyg-dropdown-foreColor:not(.trumbowyg-dropdown--color-list) button,
.trumbowyg-dropdown-backColor:not(.trumbowyg-dropdown--color-list) button {
    display: block;
    position: relative;
    width: 20px;
    height: 20px;
    margin: 2px;
    padding: 0;
    float: left;
    text-indent: -9999px;
    border: 1px solid #333;
}

.trumbowyg-dropdown-foreColor:not(.trumbowyg-dropdown--color-list) button:hover::after, 
.trumbowyg-dropdown-foreColor:not(.trumbowyg-dropdown--color-list) button:focus::after,
.trumbowyg-dropdown-backColor:not(.trumbowyg-dropdown--color-list) button:hover::after,
.trumbowyg-dropdown-backColor:not(.trumbowyg-dropdown--color-list) button:focus::after {
    content: ' ';
    display: block;
    position: absolute;
    top: -5px;
    left: -5px;
    width: 27px;
    height: 27px;
    background: inherit;
    border: 1px solid #fff;
    box-shadow: #000 0 0 2px;
    z-index: 10;
}

.trumbowyg-dropdown-backColor.trumbowyg-dropdown--color-list button:not(.trumbowyg-backColorRemove-dropdown-button) {
    position: relative;
    color: #fff !important;
}

.trumbowyg-dropdown-backColor.trumbowyg-dropdown--color-list button:not(.trumbowyg-backColorRemove-dropdown-button):hover::after, 
.trumbowyg-dropdown-backColor.trumbowyg-dropdown--color-list button:not(.trumbowyg-backColorRemove-dropdown-button):focus::after {
    content: ' ';
    display: block;
    position: absolute;
    top: 13px;
    left: 0;
    width: 0;
    height: 0;
    border: 5px solid transparent;
    border-left-color: #fff;
}

/** 8e. Iro Color **/
.hex-picker {
	position: fixed;
	top: 50%;
	left: 50%;
	width: 400px;
	transform: translate(-50%, -50%) scale(1);
	transition: all var(--transition-time) var(--transition-ease);
	z-index: 400;
}

.hex-picker.inactive {
	transform: translate(-50%, -50%) scale(0);
}

.cubes-holder .hex-picker.inactive {
	transform: translateX(-50%) scale(0);
}

.hex-picker .hexplorer {
	display: flex;
	justify-content: center;
	flex-direction: column;
	align-items: center;
}

/** 8f. Audio Player **/
.header-footer-music {
    display: flex;
    padding: 0 0 40px;
    justify-content: center;
    transform: translateX(-100vw);
}

.header-footer-music.footer {
    padding: 40px 0 0;
    transform: translateX(100vw);
}

.pagination {
    display: flex;
    align-items: center;
    gap: 20px;
}

.pagination-input {
    position: relative;
    width: 70px;
    z-index: 10;
    transition: width var(--transition-time) var(--transition-ease);
}

.pagination-input.expanded {
    width: 110px;
}

.pagination-input .input-wrapper {
    border-radius: 10px;
}

.header-footer-music .search-music {
    width: 50%;
    min-width: 240px;
    transition: width var(--transition-time) var(--transition-ease),
                min-width var(--transition-time) var(--transition-ease);
}

.input-wrapper.expanded input,
.input-wrapper.expanded:not(.ignore) .input-text {
    padding: 10px 60px 10px 20px;
}

.input-wrapper.expanded:not(.ignore) .input-text {
    width: calc(100% - 60px);
}

.inline-input-container {
    display: flex;
    position: absolute;
    top: 0;
    right: -50px;
    height: 50px;
    margin: 5px;
    justify-content: center;
    align-items: center;
    transition: right var(--transition-time) var(--transition-ease);
    z-index: 2;
}

.input-wrapper.expanded .inline-input-container {
    right: 0;
}

.inline-input-container .icon-container {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    animation: none;
    background-color: rgb(var(--section-comments) / var(--rgb-percent-bg));
}

.inline-input-container .icon-container a {
    width: 80%;
    height: 80%;
}

.music-page {
    min-height: calc(100vh - 280px);
}

.albums-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: min-content;
    justify-items: center;
    align-items: center;
    transition: all var(--transition-time) var(--transition-ease);
}

.albums-container .album-container {
    display: flex;
    position: relative;
    width: calc((100vw / 4) - 100px);
    min-width: 200px;
    height: calc((100vw / 4) - 100px);
    min-height: 200px;
    align-items: center;
    justify-content: center;
}

.albums-container .album-container:not(.tr, .trc, .tlc, .tl, .mtr, .mtrc, .mtlc, .mtl, .mbr, .mbrc, .mblc, .mbl, .br, .brc, .blc, .bl),
.albums-container.inactive .album-container,
.header-footer-music.inactive {
    display: none;
}

.albums-container .album-container.tr {
    grid-column: 1;
    grid-row: 1;
}

.albums-container .album-container.trc {
    grid-column: 2;
    grid-row: 1;
}

.albums-container .album-container.tlc {
    grid-column: 3;
    grid-row: 1;
}

.albums-container .album-container.tl {
    grid-column: 4;
    grid-row: 1;
}

.albums-container .album-container.mtr {
    grid-column: 1;
    grid-row: 2;
}

.albums-container .album-container.mtrc {
    grid-column: 2;
    grid-row: 2;
}

.albums-container .album-container.mtlc {
    grid-column: 3;
    grid-row: 2;
}

.albums-container .album-container.mtl {
    grid-column: 4;
    grid-row: 2;
}

.albums-container .album-container.mbr {
    grid-column: 1;
    grid-row: 3;
}

.albums-container .album-container.mbrc {
    grid-column: 2;
    grid-row: 3;
}

.albums-container .album-container.mblc {
    grid-column: 3;
    grid-row: 3;
}

.albums-container .album-container.mbl {
    grid-column: 4;
    grid-row: 3;
}

.albums-container .album-container.br {
    grid-column: 1;
    grid-row: 4;
}

.albums-container .album-container.brc {
    grid-column: 2;
    grid-row: 4;
}

.albums-container .album-container.blc {
    grid-column: 3;
    grid-row: 4;
}

.albums-container .album-container.bl {
    grid-column: 4;
    grid-row: 4;
}

.album-container .view-album {
    display: block;
    position: relative;
    width: 80%;
    height: 80%;
    transform: scaleX(0.4) scaleY(1.6);
    opacity: 0;
    pointer-events: none;
}

body.loaded .album-container .view-album {
    pointer-events: all;
}

.album-container .view-album img,
.track-favourites .user-cover-wrapper .avatar-cover img {
    border-radius: var(--gooey-radius);
}

.album-container .view-album.playing img {
    animation: rading 3s linear infinite;
}

.album-wrapper,
.album-wrapper-background {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    min-height: calc(100vh - 280px);
    z-index: 4;
}

.album-wrapper-background {
    position: absolute;
    width: 100vw;
    margin: -140px -200px -160px;
    z-index: -2;
}

.album-wrapper-background .colour {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: transparent;
	backdrop-filter: blur(20px);
    transform: translateX(-100vw);
	transition: background-color var(--transition-time) var(--transition-ease);
}

.album-cover-wrapper {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
}

.album-cover-wrapper .album-cover {
    position: relative;
    min-width: 200px;
    width: calc(50vw - 200px);
    max-width: 400px;
    min-height: 200px;
    height: calc(50vw - 200px);
    max-height: 400px;
    border-radius: var(--gooey-radius);
    transform: scaleX(0.4) scaleY(1.6);
    opacity: 0;
    transition: width var(--transition-time) var(--transition-ease),
                height var(--transition-time) var(--transition-ease);
    overflow: hidden;
} 

.album-cover-wrapper.playing .album-cover {
    animation: rading 3s linear infinite;
}

.album-cover-grid,
.album-cover-play,
.album-cover-loop {
    position: absolute;
    top: -20px;
    left: 50%;
    margin: 0 0 0 -100px;
    transform: translateX(-50%);
    transition: margin var(--transition-time) var(--transition-ease);
	z-index: 2;
}

.album-cover-play {
	top: auto;
	bottom: 0;
	margin: 0 0 0 120px;
}

.avatar-cover-play,
.avatar-cover-loop {
    position: absolute;
    top: 0;
    left: 50%;
    margin: 0 0 0 -50px;
    transform: translateX(-50%);
    transition: margin var(--transition-time) var(--transition-ease);
	z-index: 2;
}

.album-cover-grid .gooey-container,
.album-cover-play .gooey-container,
.album-cover-loop .gooey-container,
.avatar-cover-play .gooey-container,
.avatar-cover-loop .gooey-container,
.track-favourites .user-cover-wrapper .avatar-cover {
    transform: scaleX(0.4) scaleY(1.6);
    opacity: 0;
}

.avatar-cover-play {
    top: auto;
    bottom: 0;
    margin: 0 0 0 50px;
}

.album-cover-loop {
	top: auto;
	bottom: 0;
	margin: 0 0 0 -150px;
}

.album-tracklist {
    margin: 40px 0;
}

.track-wrapper {
    display: block;
    position: relative;
    margin: 10px 0;
    padding: 0 20px;
    transform: translateX(100vw);
    transition: padding var(--transition-time) var(--transition-ease);
    overflow: hidden;
}

.track-wrapper.favourite {
    margin: 0;
    transform: scaleY(0);
}

.favourites-list .track-wrapper {
    padding: 20px/*  100px */;
}

.track-info {
    display: flex;
    position: relative;
    color: #f5f5dc;
    align-items: center;
    transition: color var(--transition-time) var(--transition-ease);
    z-index: 2;
}

.playing .track-info {
    color: var(--panda-base) !important;
}

.track-no {
    display: flex;
    width: 200px;
    font-size: 4rem;
    font-style: italic;
    align-items: center;
    justify-content: center;
    transition: margin 0.4s var(--transition-ease),
                width 0.4s var(--transition-ease);
}

.favourite .track-no .number {
    opacity: 0.4;
}

.favourite:hover .track-no .number {
    opacity: 1;
}

.playing .track-no {
    width: 0;
    overflow: hidden;
}

.track-no .number {
    transition: opacity var(--transition-time) var(--transition-ease);
}

.playing .track-no .number {
    opacity: 0;
}

.track-title {
    display: flex;
    font-size: 1.4rem;
    flex-direction: column;
    gap: 10px;
}

.track-title .album,
.track-title .artist {
    font-size: 0.8rem;
    font-style: italic;
}

.equaliser {
    display: flex;
    width: 0;
    height: 20px;
    margin: 0 20px;
    opacity: 0;
    justify-content: space-between;
    align-items: flex-end;
    transition: opacity 0.4s var(--transition-ease),
                width 0.4s var(--transition-ease);
}

.playing .equaliser {
    opacity: 1;
    width: 24px;
}

.equaliser .bar {
    position: relative;
	width: 4px;
	background-color: rgb(var(--red-luma) / var(--rgb-percent-bg));
	backdrop-filter: blur(20px);
}

.equaliser .bar:nth-child(1) {
	background-color: rgb(var(--red-luma) / var(--rgb-percent-bg));
	animation: equaliser 0.8s ease-in-out infinite 0s;
}

.equaliser .bar:nth-child(2) {
	background-color: rgb(var(--green-luma) / var(--rgb-percent-bg));
	animation: equaliser 0.8s ease-in-out infinite 0.2s;
}

.equaliser .bar:nth-child(3) {
	background-color: rgb(var(--blue-luma) / var(--rgb-percent-bg));
	animation: equaliser 0.8s ease-in-out infinite 0.4s;
}

.equaliser .bar:nth-child(4) {
	background-color: rgb(var(--yellow-luma) / var(--rgb-percent-bg));
	animation: equaliser 0.8s ease-in-out infinite 0.6s;
}

@keyframes equaliser {
	0% { 
        height: 3px; 
    }
	50% { 
        height: 20px; 
    }
	100% { 
        height: 3px; 
    }
}

.track-background,
.track-background .colour,
.track-background .hover {
	position: absolute;
	top: 0;
	left: 10px;
	width: 100%;
	height: 100%;
	margin: 0 0 0 -10px;
	border-radius: 10px;
	background-color: transparent;
	transition: background-color 0.4s var(--transition-ease);
	backdrop-filter: blur(20px);
	overflow: hidden;
}

.track-wrapper.favourite .track-background {
    border-radius: 0;
}

.track-background .colour {
    opacity: 0;
    background: linear-gradient(90deg, rgb(255, 215, 0), rgb(138, 171, 188), rgb(243, 158, 19), rgb(148, 80, 110));
	background-size: 400% 100%;
	animation: gradientAnimation 8s ease-in-out infinite;
    transition: opacity 0.4s var(--transition-ease);
}

.playing .track-background .colour {
	opacity: 1;
}

.track-background .hover {
    top: 50%;
    height: 0;
    border-radius: 0;
    transform: translateY(-50%);
    transition: background-color 0.4s var(--transition-ease),
                height 0.4s var(--transition-ease);
    z-index: -2;
}

.track-wrapper:not(.playing):hover > .track-background .hover {
    height: 100%;
}

.track-favourites {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 18000;
}

.track-favourites .favourites-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 240px 0 260px;
    transition: padding var(--transition-time) var(--transition-ease);
}

.track-favourites .favourites-content .scrollbar-track.scrollbar-track-y {
    width: 12px;
}

.track-favourites:not(.animating).open .favourites-content .scrollbar-track.scrollbar-track-y {
    right: 4px;
}

.track-favourites:not(.open) {
    pointer-events: none;
}

.track-favourites .user-favourites {
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 240px;
    align-items: center;
    z-index: 2;
}

.track-favourites .user-favourites .user-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(20px);
    transform: translateY(-240px);
    transition: background-color var(--transition-time) var(--transition-ease);
    z-index: -2;
}

.track-favourites .user-cover-wrapper {
    display: flex;
    position: relative;
    width: 100%;
    height: 200px;
    justify-content: center;
    align-items: center;
}

.track-favourites .user-cover-wrapper .avatar-cover {
    width: 200px;
    height: 200px;
}

.track-favourites .track-wrapper .remove-favourite {
    position: absolute;
    top: 50%;
    right: -120px;
    width: 40px;
    height: 40px;
    margin: 20px;
    transform: translateY(calc(-50% - 20px));
    transition: right var(--transition-time) var(--transition-ease);
    z-index: 2;
}

.track-favourites .track-wrapper:hover .remove-favourite {
    right: 20px;
}

.wave-container {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 400vw;
	height: 100%;
	overflow: hidden;
	opacity: 0;
	transform: translate3d(0, 0, 0);
	transition: opacity var(--transition-time) var(--transition-ease);
	z-index: 2;
}

.track-wrapper.playing .wave-container {
    opacity: 1;
}

.wave-container .wave {
	position: absolute;
	top: 60%;
	left: -28%;
	background: linear-gradient(45deg, rgb(255, 215, 0), rgb(138, 171, 188), rgb(243, 158, 19), rgb(148, 80, 110));
	width: 100%;
	height: 400vw;
	transform-origin: 50% 48%;
	border-radius: 49%;
	animation: drift 8000ms infinite linear;
	will-change: transform;
}

.wave-container .wave:nth-child(2) {
	animation: drift 9000ms infinite linear;
	left: -32%;
}

.wave-container .wave:nth-child(3) {
	animation: drift 4000ms infinite linear;
	left: -36%;
	z-index: -2;
}

.wave-container .wave:nth-child(4) {
	animation: drift 6000ms infinite linear;
	left: -42%;
	z-index: -4;
}

@keyframes gradientAnimation {
	0% {
		background-position: 100% 0;
	}
	50% {
		background-position: 0 0;
	}
	100% {
		background-position: 100% 0;
	}
}

@keyframes drift {
	from {
		transform: rotate(0deg);
	}
	from {
		transform: rotate(360deg);
	}
}

.audio-progress-container {
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 100%;
    height: 10px;
    transition: bottom var(--transition-time) var(--transition-ease);
}

.audio-progress-container.active {
    bottom: 0;
}

.audio-progress-container .audio-progress,
.audio-progress-container .audio-progress-bar,
.audio-progress-container .audio-preload {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	background-color: transparent;
	backdrop-filter: blur(20px);
	transition: background-color var(--transition-time) var(--transition-ease);
}

.audio-progress-container .audio-progress-bar,
.audio-progress-container .audio-preload {
    width: 0;
    background-color: rgb(var(--section-author) / var(--rgb-percent-inputs));
}

.audio-progress-container .audio-progress-bar {
    background-color: rgb(var(--section-author) / var(--rgb-percent-bg-less));
}

.volume-holder {
	display: flex;
	position: absolute;
	justify-content: center;
	bottom: 120px;
	left: 50%;
	width: 20px;
	height: 0;
	border-radius: 20px;
	overflow: hidden;
	transform: translateX(-50%);
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
	backdrop-filter: blur(20px);
	transition: height var(--transition-time) var(--transition-ease), 
                clip-path var(--transition-time) var(--transition-ease);
}

.bottom-left.open.expanding.expanded .volume-holder {
	height: 100px;
	overflow: visible;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
  
.volume-holder .volume-wrapper {
	position: absolute;
	bottom: 0;
	width: 50%;
	height: 100px;
	background-color: rgb(var(--colour2) / var(--rgb-percent-bg));
	transition: background-color var(--transition-time) var(--transition-ease);
}

.volume-holder .volume-val {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 50%;
	background-color: rgb(var(--colour1) / var(--rgb-percent-bg));
	backdrop-filter: blur(20px);
	transition: background-color var(--transition-time) var(--transition-ease), 
                height var(--transition-time) var(--transition-ease);
}

.loop-album i.negate {
    width: 120%;
    height: 120%;
    margin: -6px;
}

.loop-track .looped-album {
    opacity: 0;
    transform: translateY(-20px);
}

.loop-track i.loop-album {
    display: none;
}

/** 8g. Shop **/
.side-panel {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    width: 50%;
    min-width: 280px;
    max-width: 600px;
    height: 100%;
    transform: translateX(100vw);
    transition: width var(--transition-time) var(--transition-ease),
                min-width var(--transition-time) var(--transition-ease),
                max-width var(--transition-time) var(--transition-ease);
    z-index: 44000;
}

.side-panel.shop-favourites {
    transform: translateY(-100vh);
}

.side-panel .side-panel-header,
.side-panel .side-panel-footer {
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100px;
    padding: 20px;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    color: var(--text-colour);
	transition: color var(--transition-time) var(--transition-ease);
    z-index: 2;
}

.side-panel .side-panel-header::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 80%;
	height: 1px;
	transform: translateX(-50%);
	background-color: var(--text-colour);
	transition: background-color var(--transition-time) var(--transition-ease);
}

.side-panel .side-panel-footer::before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	width: 80%;
	height: 1px;
	transform: translateX(-50%);
	background-color: var(--text-colour);
	transition: background-color var(--transition-time) var(--transition-ease);
}

.side-panel .side-panel-header h4 {
    max-width: calc(100% - 60px);
}

.side-panel .side-panel-footer {
    top: auto;
    bottom: 0;
    height: 140px;
    flex-direction: column;
    align-items: normal;
    justify-content: center;
}

.side-panel .side-panel-footer .trolley-total {
	display: flex;
	justify-content: flex-end;
	gap: 40px;
	align-items: center;
}

.side-panel .side-panel-footer .trolley-total small {
	font-style: italic;
	font-weight: 800;
}

.side-panel .side-panel-footer .pay-btn .btn {
	color: var(--panda-body);
	text-align: center;
	background-color: rgb(var(--green-luma) / var(--rgb-percent-bg-fuller));
	transition: all var(--transition-time) var(--transition-ease);
}

.side-panel .side-panel-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 100px 0 140px;
}

.side-panel.shop-favourites .side-panel-content {
    padding: 100px 0 0;
}

.side-panel .side-panel-content .panel-item {
    display: grid;
	grid-template-columns: 60px auto;
	gap: 20px;
	padding: 40px 20px;
    color: var(--text-colour);
    backdrop-filter: blur(20px);
	transition: background-color var(--transition-time) var(--transition-ease), 
                color var(--transition-time) var(--transition-ease);
}

.side-panel .side-panel-content .panel-item:nth-child(odd) {
    background-color: rgb(var(--baby-luma) / var(--rgb-percent-bg));
}

body.dark .side-panel .side-panel-content .panel-item:nth-child(odd) {
    background-color: rgb(var(--lumalee) / var(--rgb-percent-bg-less));
}

.side-panel .side-panel-content .panel-item .panel-item-img {
	width: 60px;
	height: 60px;
	object-fit: cover;
}

.side-panel .side-panel-content .panel-item .panel-item-description {
	padding: 10px 0 0 0;
}

.side-panel .side-panel-content .panel-item .panel-item-description .panel-item-meta {
	display: flex;
	margin: 0 10px 0;
	padding: 10px 0 0 0;
	flex-direction: column;
    transition: margin var(--transition-time) var(--transition-ease);
}

.side-panel .side-panel-content .panel-item .panel-item-description .panel-item-meta .panel-item-actions {
	display: flex;
	justify-content: end;
	gap: 20px;
}

.side-panel .side-panel-content input {
    width: 70px;
    background-color: rgb(var(--baby-luma) / var(--rgb-percent-bg-fuller));
    text-align: center;
}

body.dark .side-panel-content input {
	background-color: rgb(var(--baby-luma) / var(--rgb-percent-bg-less));
}

body.dark .side-panel-content .input-text {
	color: var(--panda-base);
}

body.dark .side-panel-content  .input-text.cursor::after {
	background-color: var(--panda-base);
}

.side-panel .side-panel-content .panel-item:nth-child(odd) input {
    background-color: rgb(var(--input-bg) / var(--rgb-percent-bg-fuller));
}

body.dark .side-panel-content .panel-item:nth-child(odd) input {
	background-color: rgb(var(--lumalee) / var(--rgb-percent-bg-less));
}

body.dark .side-panel-content .panel-item:nth-child(odd) .input-text {
	color: var(--panda-body);
}

body.dark .side-panel-content .panel-item:nth-child(odd)  .input-text.cursor::after {
	background-color: var(--panda-body);
}

.side-panel .side-panel-content .panel-item .panel-item-description .panel-item-meta .panel-item-meta-info {
	display: flex;
	padding: 10px 0 0 0;
	justify-content: space-between;
	align-items: center;
}

.side-panel .side-panel-content .panel-item .panel-item-description .panel-item-meta .panel-item-meta-info small {
	color: var(--text-colour);
	transition: color var(--transition-time) var(--transition-ease);
}

.side-panel .side-panel-content .panel-item .panel-item-description .panel-item-meta .panel-item-meta-info small.panel-item-no {
	font-size: 12px;
	font-style: italic;
	font-weight: 800;
}

.side-panel .panel-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(var(--section-bg) / var(--rgb-percent-bg-fuller));
    backdrop-filter: blur(20px);
    z-index: -2;
    transition: background-color var(--transition-time) var(--transition-ease);
}

.side-panel .side-panel-header .panel-background,
.side-panel .side-panel-footer .panel-background {
    background-color: rgb(var(--section-bg) / var(--rgb-percent-bg-less));
}

.side-panel .panel-btn {
    display: flex;
    width: 60px;
    min-width: 60px;
    height: 60px;
    min-height: 60px;
    justify-content: center;
    align-items: center;
}

.side-panel .panel-btn i.added {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}

.side-panel .scrollbar-track.scrollbar-track-y {
    z-index: 200;
}

body.loaded .side-panel .scrollbar-track.scrollbar-track-y.active {
    right: -4px;
}

.side-panel .scrollbar-track.scrollbar-track-y .scrollbar-thumb-y {
    width: 60%;
}

.side-panel .empty-panel-list {
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100vh - 240px);
    text-align: center;
    justify-content: center;
    align-items: center;
}

.side-panel.shop-favourites .empty-panel-list {
    height: calc(100vh - 100px);
}

/** 8h. Notifications **/
.notifications {
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 800000;
}

.notifications .notifications-list {
    display: flex;
    position: relative;
    width: 320px;
    max-height: 100vh;
    justify-content: center;
    overflow: visible !important;
}

.notifications .notifications-list.animating {
    overflow: visible !important;
}

.notifications .notifications-list .scroll-content {
	padding: 40px 0;
    transition: padding var(--transition-ease) var(--transition-time);
}

.notifications .notifications-list .scroll-content.empty {
    padding: 0;
}

.notifications .notifications-list .notice {
	position: relative;
	margin: 0 20px 20px 0;
	padding: 0 0 180px;
	transition: padding var(--transition-time) var(--transition-ease);
}

.notifications .notifications-list .notice.success {
    padding: 0 0 200px;
}

.notifications .notifications-list .notice.cookie {
    padding: 0 0 220px;
}

.notifications .notifications-list .notice:first-of-type {
	margin: 20px 20px 20px 0;
}

.notifications .notifications-list .notice .notice-content {
    position: relative;
    width: 260px;
    min-height: 80px;
    transition: width var(--transition-time) var(--transition-ease);
}

.notifications .notifications-list .notice .notice-content .note {
    color: var(--panda-base);
	padding: 40px 20px;
    text-align: center;
    overflow-wrap: break-word;
	animation: bouncing 4s linear infinite;
}

.notifications .notifications-list .notice .notice-content .note a.btn:hover,
.notifications .notifications-list .notice .notice-content .note a.btn:visited,
.notifications .notifications-list .notice .notice-content .note a.btn:focus {
	color: rgb(var(--lumalee) / var(--rgb-percent-bg-less));
}

.notifications .notifications-list .notice.cookie .notice-content .note a.btn:hover {
	color: rgb(var(--co-star) / var(--rgb-percent-bg-less));
}

.notifications .notifications-list .notice.success .notice-content .note a.btn:hover {
	color: rgb(var(--green-luma) / var(--rgb-percent-bg-less));
}

.notifications .notifications-list .notice.warning .notice-content .note a.btn:hover {
	color: rgb(var(--yellow-luma) / var(--rgb-percent-bg-less));
}

.notifications .notifications-list .notice.failure .notice-content .note a.btn:hover {
	color: rgb(var(--red-luma) / var(--rgb-percent-bg-less));
}

.notifications .notifications-list .notice .notice-line {
    position: absolute;
    bottom: -20px;
    left: 70px;
    width: 40px;
    height: 10px;
}

.notifications .notifications-list .notice .notice-line .notice-line-foreground {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    overflow: hidden;
    background-color: rgb(255 255 255 / var(--rgb-percent-bg-less));
    backdrop-filter: blur(20px);
    transition: background-color var(--transition-time) var(--transition-ease);
	animation: bouncing 4s linear infinite;
	animation-delay: 400ms;
    z-index: 4;
}

.notifications .notifications-list .notice .notice-line .notice-line-background {
    position: absolute;
    top: 6px;
    left: 6px;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    overflow: hidden;
    background-color: rgb(var(--lumalee) / var(--rgb-percent-bg-less));
    backdrop-filter: blur(20px);
    transition: background-color var(--transition-time) var(--transition-ease);
    animation: bouncing 4s linear infinite;
    animation-delay: 400ms;
    z-index: 2;
}

.notifications .notifications-list .notice .notice-bubble {
    position: absolute;
    bottom: -40px;
    left: 100px;
    width: 10px;
    height: 10px;
}

.notifications .notifications-list .notice .notice-bubble .notice-bubble-foreground {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    overflow: hidden;
    background-color: rgb(255 255 255 / var(--rgb-percent-bg-less));
    backdrop-filter: blur(20px);
    transition: background-color var(--transition-time) var(--transition-ease);
	animation: bouncing 4s linear infinite;
	animation-delay: 400ms;
    z-index: 4;
}

.notifications .notifications-list .notice .notice-bubble .notice-bubble-background {
    position: absolute;
    top: 4px;
    left: 4px;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    overflow: hidden;
    background-color: rgb(var(--lumalee) / var(--rgb-percent-bg-less));
    backdrop-filter: blur(20px);
    transition: background-color var(--transition-time) var(--transition-ease);
    animation: bouncing 4s linear infinite;
    animation-delay: 400ms;
    z-index: 2;
}

.notifications .notifications-list .notice .notice-content .notice-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    z-index: -2;
}

.notifications .notifications-list .notice .notice-content .notice-background .notice-foreground {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    overflow: hidden;
    background-color: rgb(255 255 255 / var(--rgb-percent-bg-less));
    backdrop-filter: blur(20px);
    transition: background-color var(--transition-time) var(--transition-ease);
	animation: bouncing 4s linear infinite;
	animation-delay: 400ms;
    z-index: 4;
}

.notifications .notifications-list .notice .notice-content .notice-background .notice-background {
    position: absolute;
    top: 10px;
    left: 10px;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    overflow: hidden;
    background-color: rgb(var(--lumalee) / var(--rgb-percent-bg-less));
    backdrop-filter: blur(20px);
    transition: background-color var(--transition-time) var(--transition-ease);
	animation: bouncing 4s linear infinite;
	animation-delay: 400ms;
    z-index: 2;
}

.notifications .notifications-list .notice.cookie .notice-content .notice-background .notice-background, 
.notifications .notifications-list .notice.cookie .notice-line .notice-line-background,
.notifications .notifications-list .notice.cookie .notice-bubble .notice-bubble-background {
    background-color: rgb(var(--co-star) / var(--rgb-percent-bg-less));
}

.notifications .notifications-list .notice.success .notice-content .notice-background .notice-background, 
.notifications .notifications-list .notice.success .notice-line .notice-line-background,
.notifications .notifications-list .notice.success .notice-bubble .notice-bubble-background {
    background-color: rgb(var(--green-luma) / var(--rgb-percent-bg-less));
}

.notifications .notifications-list .notice.warning .notice-content .notice-background .notice-background, 
.notifications .notifications-list .notice.warning .notice-line .notice-line-background,
.notifications .notifications-list .notice.warning .notice-bubble .notice-bubble-background {
    background-color: rgb(var(--yellow-luma) / var(--rgb-percent-bg-less));
}

.notifications .notifications-list .notice.failure .notice-content .notice-background .notice-background, 
.notifications .notifications-list .notice.failure .notice-line .notice-line-background,
.notifications .notifications-list .notice.failure .notice-bubble .notice-bubble-background {
    background-color: rgb(var(--red-luma) / var(--rgb-percent-bg-less));
}

.notifications .notifications-list .notice::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 200px;
    height: 200px;
    background-image: url(/assets/fonts/icons/panda/neutral.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
	animation: bouncing 4s linear infinite;
}

.notifications .notifications-list .notice.cookie::after {
    background-image: url(/assets/fonts/icons/panda/cookie.png);
}

.notifications .notifications-list .notice.success::after {
    background-image: url(/assets/fonts/icons/panda/success.png);
}

.notifications .notifications-list .notice.warning::after {
    background-image: url(/assets/fonts/icons/panda/warning.png);
}

.notifications .notifications-list .notice.failure::after {
    background-image: url(/assets/fonts/icons/panda/failure.png);
}

.notifications .notifications-list .scrollbar-track.scrollbar-track-y {
    right: 4px;
    width: 14px;
}

.notifications .notifications-list .scrollbar-track.scrollbar-track-y .scrollbar-thumb {
    background-color: transparent !important;
	backdrop-filter: none !important;
}

.notifications:not(.scroller) .notifications-list.animating .scrollbar-track {
    display: none !important;
}

.notifications.scroller .notifications-list .scrollbar-track.scrollbar-track-y .scrollbar-thumb {
    background-color: rgb(var(--colour2) / var(--rgb-percent-bg)) !important;
    backdrop-filter: blur(20px) !important;
}

.notification-textarea {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

/** 8i. Search **/
.search-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 44000;
}

.search-wrapper.open input,
.search-wrapper.open a {
    pointer-events: all;
}

.search-wrapper .wrapper-btn {
    display: flex;
    position: absolute;
    top: 10px;
    right: 10px;
    width: 80px;
    height: 80px;
    transform: translateY(-120px);
    align-items: center;
    justify-content: center;
    z-index: 2;
}

.search-wrapper .search-header {
    position: relative;
    width: 100%;
    height: 100px;
    margin: auto;
    padding: 20px 100px 20px 20px;
    transform: translateY(-120px);
}

.search-wrapper .search-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(var(--colour1) / var(--rgb-percent-bg));
    backdrop-filter: blur(20px);
    transition: background-color var(--transition-time) var(--transition-ease);
    z-index: -2;
}

/**** 9. Media Queries ****/
@media screen and (max-width: 1501px) {
    .comment-container {
        display: flex;
        flex-direction: column;
    }
    
    .comment-container .author-details {
        justify-content: center;
    }

	.profile-controller {
        margin: -20px -40px 0;
    }
	
    .comment-container:nth-child(even) .profile-controller,
    .comment-container.reply:nth-child(even) .profile-controller {
        margin: 20px -40px 0;
    }

    .gooey-container.profile-controller {
        top: -20px;
        right: auto !important;
        left: 50% !important;
        margin: 0 -40px 0;
        opacity: 1;
    }

    .gooey-container.profile-controller.add,
    .gooey-container.profile-controller.message {
        top: 20px;
    }

    .gooey-container.profile-controller.add {
        margin: 0 0 0 -120px;
    }

    .gooey-container.profile-controller.message {
        margin: 0 40px 0;
    }

    .comment-container:nth-child(even) .gooey-container.profile-controller.add,
    .comment-container.reply:nth-child(even) .gooey-container.profile-controller.add {
        margin: 0 40px 0;
    }

    .comment-container:nth-child(even) .gooey-container.profile-controller.message,
    .comment-container.reply:nth-child(even) .gooey-container.profile-controller.message {
        margin: 0 0 0 -120px;
    }
}

@media screen and (max-width: 1201px) {
    .post-reactions .panda-faces {
		grid-template-columns: auto auto;
		grid-template-rows: auto auto auto;
		gap: 10px;
	}

    .cubes-holder .cubes-wrapper {
		grid-template-columns: auto auto;
		grid-template-rows: auto auto;
	}

    .albums-container {
        grid-template-columns: repeat(2, 1fr);
    }

    .albums-container .album-container {
        width: calc((100vw / 2) - 200px);
        height: calc((100vw / 2) - 200px);
    }

    .albums-container .album-container.tr {
        grid-column: 1;
        grid-row: 1;
    }

    .albums-container .album-container.trc {
        grid-column: 2;
        grid-row: 1;
    }

    .albums-container .album-container.tlc {
        grid-column: 1;
        grid-row: 2;
    }

    .albums-container .album-container.tl {
        grid-column: 2;
        grid-row: 2;
    }

    .albums-container .album-container.mtr {
        grid-column: 1;
        grid-row: 3;
    }

    .albums-container .album-container.mtrc {
        grid-column: 2;
        grid-row: 3;
    }

    .albums-container .album-container.mtlc {
        grid-column: 1;
        grid-row: 4;
    }

    .albums-container .album-container.mtl {
        grid-column: 2;
        grid-row: 4;
    }

    .albums-container .album-container.mbr {
        grid-column: 1;
        grid-row: 5;
    }

    .albums-container .album-container.mbrc {
        grid-column: 2;
        grid-row: 5;
    }

    .albums-container .album-container.mblc {
        grid-column: 1;
        grid-row: 6;
    }

    .albums-container .album-container.mbl {
        grid-column: 2;
        grid-row: 6;
    }

    .albums-container .album-container.br {
        grid-column: 1;
        grid-row: 7;
    }

    .albums-container .album-container.brc {
        grid-column: 2;
        grid-row: 7;
    }

    .albums-container .album-container.blc {
        grid-column: 1;
        grid-row: 8;
    }

    .albums-container .album-container.bl {
        grid-column: 2;
        grid-row: 8;
    }
}

@media screen and (max-width: 1021px), (max-height: 701px) {
    footer,
    .track-favourites {
        z-index: 200000;
    }

    .track-favourites {
        pointer-events: none;
    }

    .track-favourites.open a:not(.inactive, .disabled),
    .track-favourites.open .play-track {
        pointer-events: all;
    }

    body.loaded .mobile-nav .mobile-menu,
    body.loaded .mobile-nav .mobile-player,
    body.loaded .mobile-nav .mobile-player.open {
        transform: none;
    }

    body.loaded .mobile-nav.open .mobile-player ul {
        margin: 0;
        height: 80px;
        transform: none;
    }

    body.loaded .mobile-nav.open .mobile-player ul.full-controls {
        margin: 6px 0 0;
    }

    body.loaded header .top-left,
    body.loaded header .top-left.open {
        top: -400px;
        left: -400px;
    }

    body.loaded header .top-right,
    body.loaded header .top-right.open {
        top: -400px;
        right: -400px;
    }

    body.loaded footer .bottom-left,
    body.loaded footer .bottom-left.open {
        bottom: -400px;
        left: -400px;
    }

    body.loaded footer .bottom-right,
    body.loaded footer .bottom-right.open {
        bottom: -400px;
        right: -400px;
    }

    body.loaded .top-left .gooey-container.contract {
        bottom: -20px;
        right: -20px;
    }
    
    body.loaded .top-right .gooey-container.contract {
        bottom: -20px;
        left: -20px;
    }
    
    body.loaded .bottom-left .gooey-container.contract {
        top: -20px;
        bottom: auto;
        right: -20px;
        left: auto;
    }
    
    body.loaded .bottom-right .gooey-container.contract {
        top: -20px;
        bottom: auto;
        left: -20px;
        right: auto;
    }

    header .top-left .languages-menu,
    header .top-left .socials-menu {
        left: -100vw !important;
    }

    header .top-right .account-menu,
    header .top-right .currencies-menu {
        top: -100vh !important;
    }

    .column-page {
		margin: 140px 20px 160px;
	}

	.column-page.titled {
		margin: 100vh 20px 160px;
	}

    .scrollbar-track.scrollbar-track-x {
        height: 10px;
    }

    .scrollbar-track.scrollbar-track-y {
        width: 10px;
    }

    .side-panel .side-panel-content .panel-item .panel-item-description .panel-item-meta {
		margin: 0;
	}

    .side-panel .scrollbar-track.scrollbar-track-y .scrollbar-thumb-y {
	    margin: 0 0 0 -2px;
	}

    body.loaded .mobile-nav a {
        pointer-events: all;
    }

    body.loaded .mobile-nav .top-right {
        bottom: 20px;
        right: 20px;
    }

    body.loaded .mobile-nav .bottom-right {
        right: 20px;
    }

    .mobile-nav.open .top-left-nav,
    .mobile-nav.open .top-right-nav {
        top: 20px;
    }

    .mobile-nav.open .bottom-right .totop {
        transform: translateX(200px);
    }

    .mobile-nav.open .bottom-right .toexpand {
        transform: none;
    }

    .mobile-nav.open .botttom-nav-items {
        bottom: 20px;
    }

    .mobile-nav.open .top-nav-dropdown.open {
        left: 20px;
    }

    .mobile-nav.open .bottom-nav-dropdown.open {
        right: 20px;
    }

    .menu-holder.open .nav-background {
        background-color: rgb(var(--polari) / 0%);
        backdrop-filter: blur(20px);
    }

    .nav-dropdown {
        min-width: 200px;
        max-width: calc(100vw - 40px);
    }

    .login-form .login-inner {
        padding: 20px;
    }

    .login-form .login-inner .panda-login {
	    margin: -80px 0 0 0;
	}

    .login-form-page .login-inner {
        padding: 0 40px;
    }

    .login-form-page .panda-login {
		top: -100px;
	}

	.login-form-page .login-inner-background {
		top: 240px;
        height: calc(100% - 340px);
    }

    .login-inner-background {
        height: calc(100% - 240px);
    }

    .panda-helper {
        transform: translate3d(0, 0, 0) scale(0.6) translate(0px, 0px);
    }

    .notifications .notifications-list .notice .notice-content {
        width: 280px;
    }

    .notifications .notifications-list .scrollbar-track.scrollbar-track-y {
        right: 2px;
        width: 6px;
    }

    .album-wrapper-background {
        margin: -140px -20px -160px;
    }

    .track-favourites .favourites-content {
        padding: 240px 0 10px;
    }

    .track-favourites .favourites-content .scrollbar-track.scrollbar-track-y {
        width: 6px;
    }

    .track-favourites.open .favourites-content .scrollbar-track.scrollbar-track-y {
        right: 2px;
    }
    
    .audio-progress-container.active {
        bottom: 80px;
    }
}

@media screen and (max-width: 991px) {
    .post-reactions .panda-faces {
		grid-template-columns: auto;
		grid-template-rows: auto auto auto auto auto auto;
		gap: 10px;
	}

    .side-panel {
        width: 100%;
        max-width: 100%;
    }

    .albums-container {
        grid-template-columns: 1fr;
    }

    .albums-container .album-container {
        width: calc(100vw - 100px);
        height: calc(100vw - 100px);
    }

    .albums-container .album-container.tr {
        grid-column: 1;
        grid-row: 1;
    }

    .albums-container .album-container.trc {
        grid-column: 1;
        grid-row: 2;
    }

    .albums-container .album-container.tlc {
        grid-column: 1;
        grid-row: 3;
    }

    .albums-container .album-container.tl {
        grid-column: 1;
        grid-row: 4;
    }

    .albums-container .album-container.mtr {
        grid-column: 1;
        grid-row: 5;
    }

    .albums-container .album-container.mtrc {
        grid-column: 1;
        grid-row: 6;
    }

    .albums-container .album-container.mtlc {
        grid-column: 1;
        grid-row: 7;
    }

    .albums-container .album-container.mtl {
        grid-column: 1;
        grid-row: 8;
    }

    .albums-container .album-container.mbr {
        grid-column: 1;
        grid-row: 9;
    }

    .albums-container .album-container.mbrc {
        grid-column: 1;
        grid-row: 10;
    }

    .albums-container .album-container.mblc {
        grid-column: 1;
        grid-row: 11;
    }

    .albums-container .album-container.mbl {
        grid-column: 1;
        grid-row: 12;
    }

    .albums-container .album-container.br {
        grid-column: 1;
        grid-row: 13;
    }

    .albums-container .album-container.brc {
        grid-column: 1;
        grid-row: 14;
    }

    .albums-container .album-container.blc {
        grid-column: 1;
        grid-row: 15;
    }

    .albums-container .album-container.bl {
        grid-column: 1;
        grid-row: 16;
    }

    .album-cover-grid {
        margin: 0 0 0 -50px;
    }

    .album-cover-play {
        margin: 0 0 0 50px;
    }

    .album-cover-loop {
        margin: 0 0 0 -100px;
    }

    .gooey-container.number {
        width: 0;
        height: 0;
    }

    .track-favourites .track-wrapper .remove-favourite {
        right: 20px;
    }
}

@media screen and (max-width: 501px) {
	.socials-links .socials,
    .social-actions .actions {
        flex-direction: column;
    }

    .mobile-nav .music-nav-items .gooey-container:not(.album, .menu) {
        top: 400px;
    }

    .nav-dropdown .nav-dropdown-items .nav-dropdown-item.mobile {
        height: 60px;
        padding: 20px;
        transform: none;
        transition: background-color var(--transition-time) var(--transition-ease), 
                color var(--transition-time) var(--transition-ease),
                transform var(--transition-time) var(--transition-ease) var(--transition-time),
                height var(--transition-time) var(--transition-ease),
                padding var(--transition-time) var(--transition-ease);
    }

    .nav-dropdown .nav-dropdown-items .nav-dropdown-item.close {
        height: 60px;
        padding: 20px;
        transition: background-color var(--transition-time) var(--transition-ease), 
                color var(--transition-time) var(--transition-ease),
                transform var(--transition-time) var(--transition-ease) var(--transition-time),
                height var(--transition-time) var(--transition-ease),
                padding var(--transition-time) var(--transition-ease);
    }
    
    .top-nav-dropdown .nav-dropdown .nav-dropdown-items .nav-dropdown-item.close,
    .bottom-nav-dropdown .nav-dropdown .nav-dropdown-items .nav-dropdown-item.close {
        transform: none;
    }
}

@media screen and (max-height: 501px) {
    .top-nav-dropdown {
        top: 20px;
    }

    .bottom-nav-dropdown {
        bottom: 20px;
    }

    .top-nav-dropdown .nav-dropdown .nav-dropdown-items .nav-dropdown-item.close,
    .bottom-nav-dropdown .nav-dropdown .nav-dropdown-items .nav-dropdown-item.close {
        height: 60px;
        padding: 20px;
        transform: none;
    }
}

@media screen and (max-width: 321px) {
    .mobile-nav .mobile-menu ul,
    .mobile-nav .mobile-player ul.full-controls {
        display: grid;
        grid-template-columns: auto auto;
        justify-items: center;
        align-items: center;
        justify-content: center;
        align-content: center;
    }

    body.loaded .mobile-nav.open .mobile-player ul {
        width: 100%;
    }

    body.loaded .mobile-nav.open .mobile-player ul.full-controls {
        height: 160px;
        margin: 10px 0;
    }

    .menu-holder .menu-wrapper {
        padding: 200px 120px;
    }
}