/*!
 * Wannamingo application
 *
 * @author sizeof(cat) <sizeofcat AT riseup.net>
 * @copyright 2020 - 2025 sizeof(cat)
 * @version 2.0.0
 * @license GPLv3
 * 
 *           o8o                                  .o88o.   .o                         .   o.   
 *           `"'                                  888 `"  .8'                       .o8   `8.  
 *  .oooo.o oooo    oooooooo  .ooooo.   .ooooo.  o888oo  .8'   .ooooo.   .oooo.   .o888oo  `8. 
 * d88(  "8 `888   d'""7d8P  d88' `88b d88' `88b  888    88   d88' `"Y8 `P  )88b    888     88 
 * `"Y88b.   888     .d8P'   888ooo888 888   888  888    88   888        .oP"888    888     88 
 * o.  )88b  888   .d8P'  .P 888    .o 888   888  888    `8.  888   .o8 d8(  888    888 .  .8' 
 * 8""888P' o888o d8888888P  `Y8bod8P' `Y8bod8P' o888o    `8. `Y8bod8P' `Y888""8o   "888" .8'  
 *                                                         `"                             "'   
 */

@font-face {
	font-family: "Indie Flower";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(../../media/fonts/indie-flower.woff2) format("woff2");
}

html {
	background-color: #000;
}

body {
	margin: 0;
	padding: 0;
	width: 100%;
	overflow: hidden;
}

ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
}

a:link {
	color: #222;
	text-decoration: none;
}

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

html {
	visibility: hidden;
}

nav {
	background-color: #111;
}

.tab {
	background-color: #1a1a1a;
}

.tab-footer {
	background-color: #111;
}

#initial-image,
.settings {
	display: none;
}

#app-video {
	visibility: hidden;
	position: fixed;
	z-index: -10;
	left: 0;
	top:0;
}

#app-canvas {
	position: fixed;
	max-width: 100%;
	top: 50%;
	left: 50%;
	overflow: hidden;
}

header,
footer {
	position: fixed;
	width: 100%;
	z-index: 2;
}

nav {
	position: inherit;
	top: 0;
	width: 100%;
}

.title {
	font-family: "Indie Flower";
	font-size: 28px;
	color: #eee;
	font-weight: bold;
	text-align: center;
	margin: 0 0 0 10px;
	float: left;
	line-height: 50px;
}

.tab {
	position: inherit;
	display: table;
	width: 100%;
}

.tab-header {
	top: 0;
	height: 50px;
}

header > nav {
	clear: both;
}

.tab-footer {
	bottom: 0;
	height: 40px;
}

.tab-footer a {
	display: table-cell;
	text-align: center;
	font-size: 25px;
	padding: 0;
	width: 25%;
}

.tab-footer img {
	vertical-align: middle;
}

.active {
	background-color: #222;
}

.nav {
	padding: 4px;
	margin: 6px 0;
}

.nav img {
	opacity: 0.5;
	width: 32px;
	transition: all .3s ease;
	vertical-align: middle;
}

.nav img:hover {
	opacity: 1;
}

.nav .size:hover {
	width: 55px;
}

.show-help {
	width: 10% !important;
}

.settings {
	position: fixed;
	text-align: center;
	bottom: 40px;
	left: 0;
	right: 0;
	height: 60px;
	background-color: #1a1a1a;
	white-space: nowrap;
	overflow: hidden;
}

.settings img {
	margin-left: 3px;
	margin-top: 5px;
	opacity: 0.75;
	transition: all .3s ease;
}

.circular {
	width: 50px;
	height: 50px;
	border-radius: 150px;
}

.square {
	width: 50px;
	height: 50px;
}

.settings img:hover {
	opacity: 1;
}

.settings li {
	display: inline-block;
	margin: 0 10px 0 0;
	width: 50px;
	height: 50px;
	cursor: pointer;
}

.settings li canvas {
	margin-top: 5px;
}

.settings [type="range"] {
	margin-top: 20px;
	width: 80%;
}

#rgb [type="range"] {
	width: 25%;
}

#filters {
	display: block;
}

.back {
	height: 60px;
	float: left;
	border-right: 1px solid #333;
}

img.logo {
	float: left;
	opacity: 1;
	cursor: default !important;
	width: 50px;
	margin: 0;
	padding: 0;
}

.back-icon {
	width: 35px;
	color: #929292;
	margin-top: 10.5px !important;
	opacity: .5;
	transition: all .3s ease;
}

.back:hover .back-icon {
	opacity: 1;
}

#back {
	display: none;
	position: fixed;
	bottom: 40px;
	left: 0;
	margin-top: 6px;
	background-color: #222;
}

#back .back-icon {
	margin-top: 12px !important;
}

.list-item,
.nav img,
.settings img,
.tab-footer a,
.back,
.btn {
	cursor: pointer;
}

.btn {
	width: 120px;
	height: 30px;
	font-family: Helvetica;
	font-size: 14px;
	color: #eee;
	background: rgb(198,91,91);
	background: linear-gradient(0deg, rgba(198,91,91,1) 0%, rgba(198,91,91,0.5) 100%);
	border: 1px solid #C65B5B;
	border-radius: 4px;
	margin-top: 12px;
	margin-left: -40px;
}

.btn:active {
	margin-top: 14px;
}

input[type="range"] {
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	-ms-appearance: none !important;
	appearance: none !important;
	width: 100%;
	height: 15px;
	background-color: #C75C5C;
	border: 1px solid #C75C5C;
	border-radius: 10px;
	-ms-border-radius: 10px;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	margin: auto;
	margin-top: 22px;
	transition: all .3s ease;
}

input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none !important;
	appearance: none !important;
	width: 20px;
	height: 20px;
	background-color: #a23726;
	box-shadow: 0 0 3px #a23726;
	-webkit-box-shadow: 0 0 3px #a23726;
	border-radius: 30px;
	-webkit-border-radius: 30px;
	transition: all .5s ease;
}

input[type="range"]::-moz-range-thumb {
	-moz-appearance: none !important;
	appearance: none !important;
	width: 20px;
	height: 20px;
	background-color: #a23726;
	box-shadow: 0 0 3px #a23726;
	-moz-box-shadow: 0 0 3px #a23726;
	border-radius: 30px;
	-moz-border-radius: 30px;
	transition: all .5s ease;
}

input[type="range"], 
input[type="range"]:focus, 
input[type="range"]:active, 
input[type="range"]::-moz-focus-inner, 
input[type="range"]:-moz-focusring {
	border: 0;
	outline: none;
}

.camera-btn,
.camera-take-btn {
	float: right;
	background-color: #D44A55;
}

.save-btn {
	display: none;
	float: right;
	background-color: #77B3D4;
}

.gallery-btn {
	float: right;
	background-color: #111;
}
.undo-btn,
.restore-btn {
	float: right;
}

.camera-take-btn-cancel,
.camera-take-btn {
	float: right;
	display: none;
}

.export-btn {
	float: right;
}

.do-upload {
	display: none;
}

input[type="range"]::-webkit-slider-thumb:hover {
	background-color: #aaa;
}

input[type="range"]::-moz-range-thumb:hover {
	background-color: #aaa;
}

.loading {
	background: 0;
	position: fixed;
	left: 50%;
	top: 50%;
	width: 200px;
	height: 200px;
	margin-left: -100px;
	margin-top: -100px;
	-webkit-transform: scale(0.6);
	-moz-transform: scale(0.6);
	transform: scale(0.6);
}

.loading div {
	position: absolute;
	top: 50%;
	left: 50%;
	margin: 0;
	width: 0;
	height: 0;
	opacity: 0;
	border-radius: 50%;
	border-width: 8px;
	border-style: solid;
	animation: anim-ripple 2s ease-out infinite;
}

.loading div:nth-of-type(1) {
	border-color: #C75C5C;
}

.loading div:nth-of-type(2) {
	border-color: #77B3D4;
	animation-delay: 0.5s;
}

.loading div:nth-of-type(3) {
	border-color: #F5CF87;
	animation-delay: 1s;
}

.loading span {
	width: 48px;
	height: 48px;
	position: absolute;
	top: 42%;
	left: 42%;
	margin: 0;
	background: transparent url(../../media/images/icons/icon48x48.png) no-repeat;
}

@-webkit-keyframes anim-ripple {
	0% {
		width: 0;
		height: 0;
		opacity: 0;
		margin: 0;
	}
	33% {
		width: 44%;
		height: 44%;
		margin: -22% 0 0 -22%;
		opacity: 1;
	}
	100% {
		width: 88%;
		height: 88%;
		margin: -44% 0 0 -44%;
		opacity: 0;
	}
}

@-webkit-keyframes anim-ripple {
	0% {
		width: 0;
		height: 0;
		opacity: 0;
		margin: 0;
	}
	33% {
		width: 44%;
		height: 44%;
		margin: -22% 0 0 -22%;
		opacity: 1;
	}
	100% {
		width: 88%;
		height: 88%;
		margin: -44% 0 0 -44%;
		opacity: 0;
	}
}

@-moz-keyframes anim-ripple {
	0% {
		width: 0;
		height: 0;
		opacity: 0;
		margin: 0;
	}
	33% {
		width: 44%;
		height: 44%;
		margin: -22% 0 0 -22%;
		opacity: 1;
	}
	100% {
		width: 88%;
		height: 88%;
		margin: -44% 0 0 -44%;
		opacity: 0;
	}
}

@-ms-keyframes anim-ripple {
	0% {
		width: 0;
		height: 0;
		opacity: 0;
		margin: 0;
	}
	33% {
		width: 44%;
		height: 44%;
		margin: -22% 0 0 -22%;
		opacity: 1;
	}
	100% {
		width: 88%;
		height: 88%;
		margin: -44% 0 0 -44%;
		opacity: 0;
	}
}

@-moz-keyframes anim-ripple {
	0% {
		width: 0;
		height: 0;
		opacity: 0;
		margin: 0;
	}
	33% {
		width: 44%;
		height: 44%;
		margin: -22% 0 0 -22%;
		opacity: 1;
	}
	100% {
		width: 88%;
		height: 88%;
		margin: -44% 0 0 -44%;
		opacity: 0;
	}
}

@-webkit-keyframes anim-ripple {
	0% {
		width: 0;
		height: 0;
		opacity: 0;
		margin: 0;
	}
	33% {
		width: 44%;
		height: 44%;
		margin: -22% 0 0 -22%;
		opacity: 1;
	}
	100% {
		width: 88%;
		height: 88%;
		margin: -44% 0 0 -44%;
		opacity: 0;
	}
}

@keyframes anim-ripple {
	0% {
		width: 0;
		height: 0;
		opacity: 0;
		margin: 0;
	}
	33% {
		width: 44%;
		height: 44%;
		margin: -22% 0 0 -22%;
		opacity: 1;
	}
	100% {
		width: 88%;
		height: 88%;
		margin: -44% 0 0 -44%;
		opacity: 0;
	}
}

@-webkit-keyframes spin {
	0% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
	100% {
		-webkit-transform: rotate(359deg);
		transform: rotate(359deg);
	}
}

@keyframes spin {
	0% {
		-webkit-transform: rotate(0);
		-ms-transform: rotate(0);
		transform: rotate(0);
	}
	100% {
		-webkit-transform: rotate(359deg);
		-ms-transform: rotate(359deg);
		transform: rotate(359deg);
	}
}

@-webkit-keyframes pulse {
	0% {
		-webkit-transform: scale(1.1);
		transform: scale(1.1)
	}
	50% {
		-webkit-transform: scale(0.8);
		transform: scale(0.8)
	}
	100% {
		-webkit-transform: scale(1.1);
		transform: scale(1.1)
	}
}

@keyframes pulse {
	0% {
		-webkit-transform: scale(1.1);
		-ms-transform: scale(1.1);
		transform: scale(1.1)
	}
	50% {
		-webkit-transform: scale(0.8);
		-ms-transform: scale(0.8);
		transform: scale(0.8)
	}
	100% {
		-webkit-transform: scale(1.1);
		-ms-transform: scale(1.1);
		transform: scale(1.1)
	}
}

@-webkit-keyframes burst {
	0% {
		opacity: 0.6;
	}
	50%{
		-webkit-transform: scale(1.8);
		transform: scale(1.8);
		opacity: 0;
	}
	100% {
		opacity: 0;
	}
}

@keyframes burst {
	0% {
		opacity: 0.6;
	}
	50% {
		-webkit-transform: scale(1.8);
		-ms-transform: scale(1.8);
		transform: scale(1.8);
		opacity: 0;
	}
	100% {
		opacity: 0;
	}
}

.anim-burst:hover {
	-webkit-animation: burst 2s infinite linear;
	-moz-animation: burst 2s infinite linear;
	animation: burst 2s infinite linear;
}

.anim-pulse:hover {
	-webkit-animation: pulse 2s linear infinite;
	-moz-animation: pulse 2s linear infinite;
	animation: pulse 2s linear infinite;
}

.anim-spin:hover {
	-webkit-animation: spin 1.5s linear infinite;
	-moz-animation: spin 1.5s linear infinite;
	animation: spin 1.5s linear infinite;
}

.anim-spin.animated {
	-webkit-animation: spin 1.5s linear infinite;
	-moz-animation: spin 1.5s linear infinite;
	animation: spin 1.5s linear infinite;
}

.ps__scrollbar-x-rail,
.ps__scrollbar-y-rail {
	display: none !important;
}
