@import "theming.css";

.grid, .grid .el, .popup .misc, .popup .loading {
	--spacing: calc(var(--padding) / 2);
	--height: calc(var(--padding) * 3.5);
	--mischeight: calc(var(--padding) * 1.5);

	animation-duration: 0.15s;
	animation-iteration-count: 1;
	animation-name: fadein;
	animation-fill-mode: forwards;
	animation-timing-function: ease-in-out;

	opacity: 0.0;
	transition: 0.15s ease-in-out;
}

.grid .el.no-animation,
.popup .misc.no-animation,
.popup .loading.no-animation {
	opacity: 1.0;
	animation-name: none;
}

.grid .el, input.search,
.popup #close, .popup .misc button,
.option .actions select, .option .actions input {
	color: white;
	display: flex;
	align-items: center;
	height: var(--height);
	margin: var(--spacing);
	padding: var(--spacing);
	background: var(--selbg);
	border-radius: var(--spacing);
	width: calc(50% - var(--spacing) * 4);
}

.popup .misc, input.search, .option .actions input {
	--height: var(--mischeight);
}

.popup .misc {
	display: flex;
}

.popup .misc.vertical {
	display: block;
}

.popup .misc.fixed {
	width: 100%;
	position: fixed;
}

input.search,
.option .actions input,
.option .actions select {
	border: none;
	outline: none;
	transition: filter 0.15s ease-in-out;
	width: calc(100% - var(--spacing) * 2);
}

input.search:focus, 
.option .actions input:focus,
.option .actions button:active {
	filter: brightness(1.5);
}

.popup .misc button {
	--height: calc(var(--padding) * 1.5);

	padding: 0px;
	margin-left: 0px;
	padding: 0px !important;
	width: var(--height) !important;
}

.popup .misc button.long {
	width: max-content !important;
	padding-right: var(--spacing) !important;
}

.popup .misc button select {
	color: white;
	border: none;
	opacity: 0.6;
	outline: none;
	background: transparent;
}

.popup .misc button select option {
	color: white;
	background: var(--selbg);
}

.popup .misc button img {
	margin: 0px;
	opacity: 0.6;
	width: var(--height);
	transform: scale(0.5);
	height: var(--height) !important;
}

.popup .misc button:last-child {
	margin-left: 0px !important;
}

.popup#preview #close,
.popup .misc.vertical button {
	margin: var(--spacing) var(--spacing) 0 auto !important;
}

.popup .loading {
	width: 100%;
	color: white;
	display: flex;
	position: absolute;
	text-align: center;
	align-items: center;
	justify-content: center;
	height: calc(100% - var(--mischeight) - var(--height));
}

.popup .message {
	color: white;
	text-align: center;
	margin: var(--padding);
	width: calc(100% - var(--padding));
}

.grid .el .image, .grid .el .image img {
	width: var(--height);
	height: var(--height);
	transition: opacity 0.2s;
	margin-right: var(--spacing);
	border-radius: var(--spacing);
}

.grid input {
	margin: 0;
	width: 100%;
}

#modsdiv .el:has(.switch:not(.on)) .image img {
	opacity: 0.5;
}

.grid .el .image img.blur {
	z-index: -1;
	position: relative;
	filter: blur(10px);
	top: calc(var(--height) * -1 + 5px);
}

.grid .el .text {
	height: inherit;
	overflow: hidden;
	overflow-x: scroll;
	padding: var(--padding) 0px;
}

.grid .el.has-icon .text {
	width: calc(100% - var(--height));
}

.grid .el .title, .grid .el .description {
	height: 1.2em;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.grid .el .title {
	font-size: 1.2em;
	font-weight: 700;
}

.popup .message #loadmore {
	background: rgb(var(--blue2));
}

.grid .el .description {font-size: 0.8em}
.grid .el button {
	margin-top: var(--spacing);
}

.grid .el button.info {
	background: rgb(var(--blue2));
}

.grid .el .switch {
	top: 3px;
	position: relative;
	background: var(--bg);
}

.grid .el .switch:not(.grid .el .switch.on)::after {
	background: var(--selbg);
}
