* {
	--normal-color: #000;
	--normal-color-half: rgba(0, 0, 0, 0.5);
	--normal-color-fifth: rgba(0, 0, 0, 0.2);
	--normal-color-tenth: rgba(0, 0, 0, 0.1);
	--normal-background: #FFF;
	--normal-background-half: rgba(255, 255, 255, 0.5);
	--normal-background-tenth: rgba(255, 255, 255, 0.1);
	--accent-color: #2962FF;

	font-family: 'Open Sans', sans-serif;
	color: #000;
	color: var(--normal-color);
}

@keyframes fadeIn {
	from {opacity: 0;}
	to {opacity: 1;}
}

@keyframes fadeScaleIn {
	from {
		opacity: 0;
		transform: scale(0.5);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes slideDownIn {
	from {
		opacity: 0;
		transform: translateY(-50%);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

body {
	height: 100vh;
	width: 100%;
	overflow-x: hidden;
	margin: 0;
	padding: 0;
	background-color: #FFF;
	background-color: var(--normal-background);
	opacity: 0;

	animation-name: fadeIn;
	animation-duration: .5s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
	animation-delay: .1s;
}

header {
	position: relative;
	padding: 0.4em 2em;
	height: 5em;
	z-index: 200;
	background-color: rgba(255, 255, 255, 0.5);
	background-color: var(--normal-background-half);
}

footer {
	background-color: #FFF;
	background-color: var(--normal-background-half);
	clear: both;
	padding: 2em;
	text-align: center;
	bottom: 0;
	left: 0;
	right: 0;
}

footer > * {
	padding: 1em 2em;
	display: block;
}

footer a {
	color: #000;
	color: var(--normal-color);
}

nav>span {
	display: inline-block;
	padding: 0 0.6em;
	font-weight: bold;
	cursor: pointer;
	user-select: none;

	-moz-transition: color .25s;
	-o-transition: color .25s;
	-webkit-transition: color .25s;
	transition: color .25s;
}

nav>span:hover {
	color: #2A8843;
}

main {
	display: block;
}

img {
	max-width: 100%;
	max-height: 100%;
}

.loadingimage {
	opacity: 0;
}

.loadingimage.loaded {
	animation-name: fadeIn;
	animation-duration: .2s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
}

input, .input, textarea {
	outline: none;
	border: none;
}

[contentEditable=true]:empty:before{
  content: attr(placeholder);
  display: block;
	color: rgba(0, 0, 0, 0.5);
	color: var(--normal-color-half);
	font-weight: bold;
}

div.header {
	width: 100%;
	max-height: 50vh;
	height: 48vw;
	opacity: 0;
	transform: translateY(-50%);
}

div.header.loaded {
	animation-name: slideDownIn;
	animation-duration: .3s;
	animation-delay: .2s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
}

.firebaseui-page-provider-sign-in {
	max-width: 100%;
}

.firebaseui-page-provider-sign-in .firebaseui-card-content {
	margin: 0 auto;
}

.firebaseui-page-provider-sign-in .firebaseui-idp-list {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}

.firebaseui-page-provider-sign-in .firebaseui-idp-list > .firebaseui-list-item {
	margin: 1em;
}

.appinfo {
	transform: translateY(-6em);
	margin-bottom: -6em;
}

.appiconinfo {
	text-align: center;
}

.appiconinfo>* {
	display: block;
	margin: auto;
}

img.appicon {
	width: 8em;
	height: 8em;
	margin: 1em auto;
	-moz-filter: drop-shadow(0 0.2em 0.7em rgba(0, 0, 0, 0.35));
	-o-filter: drop-shadow(0 0.2em 0.7em rgba(0, 0, 0, 0.35));
	-webkit-filter: drop-shadow(0 0.2em 0.7em rgba(0, 0, 0, 0.35));
	filter: drop-shadow(0 0.2em 0.7em rgba(0, 0, 0, 0.35));
	opacity: 0;
	transform: scale(0.5);
}

img.appicon.editable {
	border: 2px solid transparent;
	transition: border-color .25s, background-color .25s, filter .25s;
	filter: brightness(1);
	cursor: pointer;
}

img.appicon.editable:hover {
	border: 2px solid #000;
	border: 2px solid var(--normal-color);
	filter: brightness(1.5);
}

img.appicon.loaded {
	animation-name: fadeScaleIn;
	animation-duration: .5s;
	animation-timing-function: cubic-bezier(0.18, 0.89, 0.67, 1.76);
	animation-fill-mode: forwards;
	animation-delay: .2s;
}

.header.editable {
	border: 2px solid transparent;
	filter: brightness(0.5);
	transition: border-color .25s, filter .25s;
	cursor: pointer;
}

.header.editable:hover {
	border: 2px solid #000;
	border: 2px solid var(--normal-color);
	filter: brightness(1.5);
}

.header.editable:hover ~ .appinfo > .appiconinfo > img.appicon.editable {
	filter: brightness(0.5);
}

.appnameinfo > .row {
	padding: 0 !important;
}

img.card {
	height: 400px;
	width: auto;
	margin: 1em;
	border-radius: 0.25em;
	box-shadow: 0 0.1em 0.3em rgba(0, 0, 0, 0.37);
	opacity: 0;
	transform: scale(0.5);

	animation-name: fadeScaleIn;
	animation-duration: .3s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
}

hr {
	display: block;
	height: 1px;
	border: none;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	border-bottom: 1px solid var(--normal-color-tenth);
}

.appnameinfo {
	padding: 2em;
}

.appnameinfo > h1 {
	margin: 0;
	margin-top: 0.5em;
}

.appnameinfo > h3 {
	margin: 0;
}

.appdesc {
	padding: 1em 2em;
	margin-bottom: 2em;
}

button {
	background-color: transparent;
	border-radius: 0.25em;
	padding: 0.4em 0.8em;
	font-size: 0.9em;
	text-transform: uppercase;
	text-align: center;
	cursor: pointer;
	user-select: none;
	outline: none;
	border: none;

	-moz-transition: color .25s, background-color .25s, border .25s, filter .25s;
	-o-transition: color .25s, background-color .25s, border .25s, filter .25s;
	-webkit-transition: color .25s, background-color .25s, border .25s, filter .25s;
	transition: color .25s, background-color .25s, border .25s, filter .25s;
}

button.outline {
	border: 1px solid currentColor;
}

select {
	display: block;
	outline: none;
	padding: 0.4em 0.8em;
	padding-right: 30px;
	margin-bottom: 0.8em;
	min-width: 100%;
	background-color: #FFF;
	background-color: var(--normal-background);
	color: #000;
	color: var(--normal-color);
	border: none;
	border-radius: 0.25em;
	box-shadow: 0 0.1em 0.3em rgba(0, 0, 0, 0.37);

	-webkit-appearance: none;
  	-moz-appearance: none;
  	appearance: none;

	background: linear-gradient(45deg, transparent 50%, #000 50%), linear-gradient(135deg, #000 50%, transparent 50%), #FFF;
	background: linear-gradient(45deg, transparent 50%, var(--normal-color) 50%), linear-gradient(135deg, var(--normal-color) 50%, transparent 50%), var(--normal-background);
  	background-position: calc(100% - 17px) 1em, calc(100% - 12px) 1em;
  	background-size: 5px 5px, 5px 5px;
  	background-repeat: no-repeat;
}

select::-ms-expand {
	display: none;
}

select.disabled {
	background-color: rgba(0, 0, 0, 0.1);
	box-shadow: none;
	color: rgba(0, 0, 0, 0.5);
	pointer-events: none;
}

select option {
	color: #000;
}

a {
	color: #2962FF;
	color: var(--accent-color);
	text-decoration: none;
	text-transform: uppercase;
	font-weight: bold;
	cursor: pointer;
}

a.link {
	margin-right: 2em;
	padding: 0.5em 0;
}

.link.editable {
	padding: 1em 1.2em;
	margin: 0.3em;
	min-width: 200px;
	max-width: calc(100% - 0.6em);
}

.link.editable > * {
	max-width: 100%;
}

p > a {
	text-decoration: underline;
}

a > i.material-icons {
	margin-right: 0.5em;
	color: inherit;
	transform: translateY(0.25em);
}

main > a {
	display: block;
	float: none !important;
	padding: 0.5em 0;
}

small {
	font-size: 0.7em;
}

h1 {
	font-size: 2em;
}

h1.indented {
	margin: 0 1em;
	margin-top: 1.25em;
	margin-bottom: 0.5em;
}

h2 {
	font-size: 1.5em;
}

h2.indented {
	margin: 1em;
}

h3 {
	font-size: 1.17em;
}

h3.indented {
	margin: 0 1.7094em;
}

div.indented {
	padding: 0 2em;
}

a.indented {
	margin: 0 2em;
}

p.indented {
	padding: 1em 2em;
}

.editonclick h1,
.editonclick p {
	border-bottom: 1px solid #2962FF;
	border-bottom: 1px solid var(--accent-color);
	padding-bottom: 0.35em;
	margin-bottom: 1em;
	cursor: pointer;
}

.editonclick {
	border-radius: 0.25em;
}

.editingclicked {
	border-radius: 0.25em;
	background-color: rgba(255, 255, 255, 0.1);
	background-color: var(--normal-color-tenth);
	margin: -1em -2em;
	padding: 1em 2em;
}

.inner-shadow {
	box-shadow: inset 0 0.1em 0.3em rgba(0, 0, 0, 0.37);
	background-color: #F5F5F5;
	margin-top: 2em;
}

.dialog {
	background-color: rgba(0, 0, 0, 0.5);
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 201;
	opacity: 0;

	animation-name: fadeIn;
	animation-duration: .2s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
}

.dialog > div {
	width: 80vw;
	max-height: 80vh;
	padding: 1.5em;
	background-color: #FFF;
	background-color: var(--normal-background);
	border-radius: 0.25em;
	box-shadow: 0 0.1em 0.3em rgba(0, 0, 0, 0.37);
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	overflow-y: auto;
}

.input.long {
	border-bottom: 1px solid #2962FF;
	border-bottom: 1px solid var(--accent-color);
	padding-bottom: 0.35em;
	margin-bottom: 1em;
	white-space: pre-wrap;
}

.rating {
	display: inline-block;
	cursor: inherit;
	user-select: none;
	direction: rtl;
	color: #000;
	color: var(--normal-color);
}

.rating.active {
	font-size: 2em;
	margin-bottom: 0.5em;
	cursor: pointer;
	color: #2962FF;
	color: var(--accent-color);
}

.rating > span,
.rating > span:before {
	-moz-transition: color .25s;
	-o-transition: color .25s;
	-webkit-transition: color .25s;
	transition: color .25s;
}

.rating > span {
	color: rgba(0, 0, 0, 0.2);
	color: var(--normal-color-fifth);
}

.rating > span:before {
	content: "\2605";
  position: absolute;
	color: transparent;
}

.rating.active > span:hover:before,
.rating.active > span:hover ~ span:before,
.rating:not(:hover) > span.selected:before,
.rating:not(:hover) > span.selected ~ span:before,
.rating:not(.active) > span.selected:before,
.rating:not(.active) > span.selected ~ span:before {
	color: inherit;
}

.rating.active > span:hover:before,
.rating.active > span:hover,
.rating.active > span:hover ~ span:before,
.rating.active > span:hover ~ span {
	color: #A3BCFF;
}

.rating:not(:hover) > span.selected:before,
.rating:not(:hover) > span.selected,
.rating:not(:hover) > span.selected ~ span:before,
.rating:not(:hover) > span.selected ~ span,
.rating:not(.active) > span.selected:before,
.rating:not(.active) > span.selected,
.rating:not(.active) > span.selected ~ span:before,
.rating:not(.active) > span.selected ~ span {
	color: inherit;
}

.stat {
	display: table;
}

.stat > * {
	display: inline-block;
	display: table-cell;
	vertical-align: middle;
}

.stat > i {
	padding: 0.5em;
}

.stat > span {
	font-weight: bold;
}

.download {
	position: relative;
	background-color: #FFF;
	background-color: var(--normal-background);
	border-radius: 0.25em;
	box-shadow: 0 0.1em 0.3em rgba(0, 0, 0, 0.37);
	padding: 1em;
	margin: 1em;
}

.download > hr {
	margin-left: -1em;
	margin-right: -1em;
}

.download > .releasecontent {
	font-size: 0.85em;
	word-wrap: break-word;
}

.download > .downloadheader {
	margin-top: -0.3em;
	margin-bottom: 0.7em;
}

.download > .downloadheader > span {
	font-size: 0.8em;
	font-weight: bold;
	color: rgba(0, 0, 0, 0.5);
	color: var(--normal-color-half);
}

.download > .downloadheader > .downloadicon {
	float: right;
	cursor: pointer;
	user-select: none;
}

.download .expand {
	display: block;
	text-align: center;
	cursor: pointer;
	user-select: none;
}

.download > .expand {
	position: absolute;
	bottom: 0.3em;
	left: 0;
	right: 0;
}

.download > .expand > div {
	margin-left: 50%;
	margin-right: -50%;
	transform: translateX(-50%);
}

.downloadinfo > span {
	display: block;
	font-size: 0.85em;
}

.download > .content > .expand {
	padding-top: 0.4em;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
	border-top: 1px solid var(--normal-color-tenth);
}

.download > .content {
	clear: both;
	transform: translateY(50%);
	opacity: 0;
	pointer-events: none;
	margin: -1em;
	padding-bottom: 1em;
	border-bottom-left-radius: 0.25em;
	border-bottom-right-radius: 0.25em;
	box-shadow: 0 -2em 2em -1em #FFF;
	box-shadow: 0 -2em 2em -1em var(--normal-background);

	-moz-transition: height .25s, transform .25s, opacity .25s, background-color .25s;
	-o-transition: height .25s, transform .25s, opacity .25s, background-color .25s;
	-webkit-transition: height .25s, transform .25s, opacity .25s, background-color .25s;
	transition: height .25s, transform .25s, opacity .25s, background-color .25s;
}

.download > .content > *:not(hr) {
	padding-left: 1em;
	padding-right: 1em;
}

.download > .active ~ .expand {
	height: 0;
	opacity: 0;
}

.download > .content.active {
	transform: translateY(0);
	opacity: 1;
	pointer-events: all;
	background-color: #FFF;
	background-color: var(--normal-background);
}

.review {
	position: relative;
}

.review > .reviewinfo {
	display: flex !important;
	align-items: center;
	height: 3em;
	cursor: pointer;
}

.review > .reviewinfo > img {
	position: absolute;
	width: 3em;
	height: 3em;
	border-radius: 1.5em;
	border: 1px solid #000;
	border: 1px solid var(--normal-color);
}

.review > .reviewinfo > div {
	position: absolute;
	right: 0;
	left: 4em;
}

.review > p {
	word-break: break-word;
}

.single > .review {
	width: calc(100% - 4em) !important;
	margin: 2em;
}

.single > .review > .reviewinfo {
	display: block !important;
	text-align: center;
	height: auto;
}

.single > .review > .reviewinfo > img {
	position: inherit;
}

.single > .review > .reviewinfo > div {
	position: inherit;
	right: auto;
	left: auto;
}

.userinfo {
	text-align: center;
	padding: 2em 0;
}

.userinfo > img {
	width: 10em;
	height: 10em;
	border: 1px solid #000;
	border: 1px solid var(--normal-color);
	border-radius: 5em;
}

.userinfo > span {
	display: block;
	margin: 0.5em 0;
}

.userinfo:not(.editable) > span:nth-of-type(1) {
	font-size: 2em;
}

.userinfo.editable > .input:nth-of-type(1) {
	font-size: 2em;
	margin-top: 1em;
}

.userinfo > .overflow {
	justify-content: center;
}

.userinfo > .overflow > a.link {
	margin: 0 1em;
}

.dropdown {
	display: inline-block;
	margin-left: 1em;
}

.dropdown > span {
	display: block;
	color: rgba(0, 0, 0, 0.5);
	color: var(--normal-color-half);
	font-weight: bold;
	font-size: 0.8em;
	margin-bottom: 0.4em;
}

.userimage,
.reviewinfo > img {
	opacity: 0;
	transform: scale(0.5);
}

.userimage.loaded,
.reviewinfo > img.loaded {
	animation-name: fadeScaleIn;
	animation-duration: .3s;
	animation-delay: .2s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
}

.row {
	overflow-y: hidden;
	overflow-x: auto;
	overflow-x: -moz-scrollbars-none;
	-ms-overflow-style: none;
	white-space: nowrap;
}

.row::-webkit-scrollbar {
	display: none;
}

.grid {
	white-space: pre-wrap;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	margin-bottom: 2em;
	padding: 0 1em;
}

.single > .grid {
	padding: 1em !important;
}

.grid > * {
	width: 100%;
	margin: 1em;
}

.overflow {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.category > .overflow {
	margin: 0 -2em;
}

.row > * {
	display: inline-block;
	position: relative;
}

.row > *,
.slick-track > * {
	opacity: 0;

	animation-name: fadeIn;
	animation-duration: .3s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
}

.row > .fadeoverlay {
	display: none;
	animation: none;
	opacity: 1;
	position: absolute;
	pointer-events: none;
	width: calc(50vw - 300px);
	top: 0.5em;
	bottom: 0.5em;
	right: 0;
	z-index: 100;
}

.row > *:nth-child(2) {
	animation-delay: 0.15s;
}
.row > *:nth-child(3) {
	animation-delay: 0.24s;
}
.row > *:nth-child(4) {
	animation-delay: 0.3s;
}
.row > *:nth-child(5) {
	animation-delay: 0.35s;
}
.row > *:nth-child(6) {
	animation-delay: 0.39s;
}
.row > *:nth-child(7) {
	animation-delay: 0.425s;
}
.row > *:nth-child(8) {
	animation-delay: 0.45s;
}
.row > *:nth-child(9) {
	animation-delay: 0.475s;
}
.row > *:nth-child(10) {
	animation-delay: 0.5s;
}
.row > *:nth-child(11) {
	animation-delay: 0.52s;
}
.row > *:nth-child(n+12) {
	animation-delay: 0.54s;
}

.chip {
	height: 2.5em;
	padding: 0 1em;
	line-height: 2.5em;
	border-radius: 1.25em;
	display: inline-block;
	background-color: rgba(0, 0, 0, 0.1);
	background-color: var(--normal-color-tenth);
	font-weight: bold;
	color: rgba(0, 0, 0, 0.5);
	color: var(--normal-color-half);
	margin: 0.5em 0;
	margin-right: 1em;
	cursor: pointer;

	-moz-transition: background-color .25s;
	-o-transition: background-color .25s;
	-webkit-transition: background-color .25s;
	transition: background-color .25s;
}

.largecard, .smallcard, .tinycard {
	background-color: #FFF;
	background-color: var(--normal-background);
	cursor: pointer;

	-moz-transition: box-shadow .25s;
	-o-transition: box-shadow .25s;
	-webkit-transition: box-shadow .25s;
	transition: box-shadow .25s;
}

.smallcard, .tinycard {
	margin: 1em;
}

.largecard {
	width: 100%;
	height: 250px;
	opacity: 0;
	transform: scale(0.5);
	animation-name: none;
}

.largecard.loaded {
	animation-name: fadeScaleIn;
}

.smallcard {
	height: 200px;
	width: 150px;
	min-width: 150px;
	border-radius: 0.25em;
	box-shadow: 0 0.1em 0.3em rgba(0, 0, 0, 0.37);
}

.tinycard {
	height: 70px;
	width: 100%;
	min-width: 200px;
	background-color: transparent;
	margin: 0 1em;
}

.tinycard:not(:last-child) {
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	border-bottom: 1px solid var(--normal-color-tenth);
}

.tinycard>img {
	position: absolute;
	height: calc(70px - 2em);
	top: 0;
	left: 0;
	right: 0;
	padding: 1em;
}

.smallcard>img {
	position: absolute;
	top: 0.5em;
	left: 0.5em;
	right: 0.5em;
	width: calc(100% - 3em);
	padding: 1em;
}

.smallcard > img,
.tinycard > img {
	transform: scale(0.5);
	opacity: 0;
}

.smallcard > img.loaded,
.tinycard > img.loaded {
	animation-name: fadeScaleIn;
	animation-duration: .3s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
}

.info {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 1em;
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	border-bottom-left-radius: 0.25em;
	border-bottom-right-radius: 0.25em;
}

.largecard > .info {
	text-align: center;
}

.smallcard > .info {
	background-color: #FFF;
	background-color: var(--normal-background);
}

.tinycard > .info {
	left: calc(70px - 1em);
}

.category {
	padding: 1px 2em;
	color: black;
}

.row > .rowinfo {
	color: inherit !important;
	max-width: calc(100vw - 6em);
	margin-right: 1em;
}

.category > .rowinfo {
	width: 300px;
}

.row > .rowinfo * {
	color: inherit !important;
	margin: 0;
	margin-top: 0.2em;
	margin-right: 1em;
	white-space: pre-wrap;
}

.row > .rowinfo button {
	margin-top: 1em;
}

.appinfo ~ .row:not(.grid),
.appinfo ~ div>.row,
.appinfo ~ .carousel > .slick-list {
	padding: 0 2em;
}

@media(min-width: 600px) {
	main > a {
		display: inline;
		padding: 0;
	}

	button:hover {
		background-color: rgba(0, 0, 0, 0.1);
		background-color: var(--normal-color-tenth);
	}

	.dropdown > .content > *:hover {
		background-color: rgba(0, 0, 0, 0.1);
		background-color: var(--normal-color-tenth);
	}

	.dialog > div {
		width: 70vw;
	}

	.overflow {
		background-color: transparent;
	}

	.chip:hover {
		background-color: rgba(0, 0, 0, 0.2);
		background-color: var(--normal-color-fifth);
	}

	.largecard {
		width: calc(15% + 200px);
		height: 250px;
		margin: 1em;
		border-radius: 0.25em;
		box-shadow: 0 0.1em 0.3em rgba(0, 0, 0, 0.37);
	}

	.largecard:hover, .smallcard:hover, .tinycard:hover {
		box-shadow: 0 0.4em 1.2em rgba(0, 0, 0, 0.3);
	}

	.tinycard {
		width: 200px;
		border: none;
		border-radius: 0.25em;
		box-shadow: 0 0.1em 0.3em rgba(0, 0, 0, 0.37);
		background-color: #FFF;
		background-color: var(--normal-background);
		margin: 1em;
	}

	.single > .review > p,
	.single > .review > h4 {
		margin-top: 1em;
		margin-left: auto;
		margin-right: auto;
		width: 60%;
	}

	.single > .review > p ~ .input {
		margin-top: 4em;
		margin-left: auto;
		margin-right: auto;
		width: 60%;
	}

	.single > .review > p ~ button {
		margin-top: 1em;
		margin-left: 20%;
		margin-right: 20%;
		float: right;
	}

	.grid > * {
		width: calc(50% - 2em);
	}

	.grid > .download {
		width: calc(50% - 4em);
	}

	.row {
		padding: 0 1em;
	}

	.grid {
		padding: 0;
	}

	.appinfo ~ .grid,
	.userinfo ~ .grid {
		padding: 1em;
	}

	.category {
		padding: 0.5em 2em;
	}
}

@media (min-width: 1000px) {
	.row {
		overflow: hidden;
	}

	.row > .fadeoverlay {
		display: block;
	}

	.dialog > div {
		width: 60vw;
	}

	a.indented {
		margin: 0 4em;
	}

	p.indented {
		margin-left: 2em;
		margin-right: 2em;
	}

	.appinfo {
		display: flex;
		margin-bottom: 1em;
	}

	.grid > * {
		width: calc(33.33% - 2em);
	}

	.grid > .download {
		width: calc(33.33% - 4em);
	}

	.appiconinfo {
		display: inline-block;
		padding-left: 4em;
	}

	img.appicon {
		margin: 1em 0;
	}

	.appnameinfo {
		display: inline-block;
		padding: 0 2em;
		transform: translateY(7em);
		max-width: calc(100% - 4em);
	}

	.appiconinfo ~ .appnameinfo {
		max-width: calc(100% - 16em);
	}

	.appinfo ~ h1.indented {
		margin-left: 2em;
		margin-right: 2em;
	}

	.appinfo ~ h2.indented {
		margin-left: 3em;
		margin-right: 3em;
	}

	.appinfo ~ h3.indented {
		margin-left: 3.4188em;
		margin-right: 3.4188em;
	}

	.appinfo ~ .row:not(.grid),
	.appinfo ~ div>.row,
	.appinfo ~ .carousel > .slick-list {
		padding: 0 4em;
	}

	.appinfo ~ .grid {
		padding: 0 3em;
	}

	.appdesc {
		padding: 1em 4em;
		margin-bottom: 2em;
	}

	.link.editable {
		border-left: 1px solid rgba(0, 0, 0, 0.1);
		border-left: 1px solid var(--normal-color-tenth);
	}

	.link.editable:first-of-type {
		border-left: none;
	}

	.editonclick h1,
	.editonclick p {
		border-bottom: 1px solid rgba(0, 0, 0, 0);
		-moz-transition: border-bottom .25s;
		-o-transition: border-bottom .25s;
		-webkit-transition: border-bottom .25s;
		transition: border-bottom .25s;
		padding-bottom: 0.35em;
		margin-bottom: 1em;
		cursor: pointer;
	}

	.editonclick:hover h1,
	.editonclick:hover p {
		border-bottom: 1px solid #2962FF;
		border-bottom: 1px solid var(--accent-color);
	}

	.editonclick {
		margin: -1em -2em;
		padding: 1em 2em;
		-moz-transition: background-color .25s;
		-o-transition: background-color .25s;
		-webkit-transition: background-color .25s;
		transition: background-color .25s;
	}

	.editonclick:hover {
		background-color: rgba(255, 255, 255, 0.1);
		background-color: var(--normal-color-tenth)
	}
}

@media(min-width: 1024px) {
	div.header {
		-moz-filter: blur(1vw);
		-o-filter: blur(1vw);
		-webkit-filter: blur(1vw);
		filter: blur(1vw);
		margin: 0 -2vw;
		margin-top: calc(-6em - 1vw);
		width: 104vw;
	}

	footer > * {
		padding: 0 2em;
		display: inline;
	}
}

@media (min-width: 1400px) {
	.dialog > div {
		width: 50vw;
	}

	.grid > * {
		width: calc(25% - 2em);
	}

	.grid > .download {
		width: calc(25% - 4em);
	}
}

.loadingimage.slick-cloned {
	opacity: 1;
	transform: scale(1);
}
