/**
 * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
 * SPDX-License-Identifier: AGPL-3.0-or-later
 */

.app-version {
	color: var(--color-text-maxcontrast);
}

.app-level span {
	color: var(--color-text-maxcontrast);
	background-color: rgba(0, 0, 0, 0);
	border: 1px solid var(--color-text-maxcontrast);
	border-radius: var(--border-radius);
	padding: 3px 6px
}

.app-level a {
	padding: 10px;
	margin: -6px;
	white-space: nowrap
}

.app-level .official {
	background-position: left center;
	background-position: 5px center;
	padding-left: 25px
}

.app-level .supported {
	border-color: var(--color-success);
	background-position: left center;
	background-position: 5px center;
	padding-left: 25px;
	color: var(--color-success)
}

.app-score {
	position: relative;
	top: 4px;
	opacity: .5
}

.app-settings-content #searchresults {
	display: none
}

#apps-list.store .section {
	border: 0
}

#apps-list.store .app-name {
	display: block;
	margin: 5px 0
}

#apps-list.store .app-name, #apps-list.store .app-image * {
	cursor: pointer
}

#apps-list.store .app-summary {
	opacity: .7
}

#apps-list.store .app-image-icon .icon-settings-dark {
	width: 100%;
	height: 150px;
	background-size: 45px;
	opacity: .5
}

#apps-list.store .app-score-image {
	height: 14px
}

#apps-list.store .actions {
	margin-top: 10px
}

#app-sidebar #app-details-view h2 .icon-settings-dark, #app-sidebar #app-details-view h2 svg {
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-right: 10px;
	opacity: .7
}

#app-sidebar #app-details-view .app-level {
	clear: right;
	width: 100%
}

#app-sidebar #app-details-view .app-level .supported, #app-sidebar #app-details-view .app-level .official {
	vertical-align: top
}

#app-sidebar #app-details-view .app-level .app-score-image {
	float: right
}

#app-sidebar #app-details-view .app-author, #app-sidebar #app-details-view .app-licence {
	color: var(--color-text-maxcontrast)
}

#app-sidebar #app-details-view .app-dependencies {
	margin: 10px 0
}

#app-sidebar #app-details-view .app-description p {
	margin: 10px 0
}

#app-sidebar #app-details-view .close {
	position: absolute;
	top: 0;
	right: 0;
	padding: 14px;
	opacity: .5;
	z-index: 1;
	width: 44px;
	height: 44px
}

#app-sidebar #app-details-view .actions {
	display: flex;
	align-items: center
}

#app-sidebar #app-details-view .actions .app-groups {
	padding: 5px
}

#app-sidebar #app-details-view .appslink {
	text-decoration: underline;
	margin-right: 5px
}

#app-sidebar #app-details-view .app-level, #app-sidebar #app-details-view .actions, #app-sidebar #app-details-view .documentation, #app-sidebar #app-details-view .app-dependencies, #app-sidebar #app-details-view .app-description {
	margin: 20px 0
}

@media only screen and (min-width: 1601px) {
	.store .section {
		width: 25%
	}

	.with-app-sidebar .store .section {
		width: 33%
	}
}

@media only screen and (max-width: 1600px) {
	.store .section {
		width: 25%
	}

	.with-app-sidebar .store .section {
		width: 33%
	}
}

@media only screen and (max-width: 1400px) {
	.store .section {
		width: 33%
	}

	.with-app-sidebar .store .section {
		width: 50%
	}
}

@media only screen and (max-width: 900px) {
	.store .section {
		width: 50%
	}

	.with-app-sidebar .store .section {
		width: 100%
	}
}

@media only screen and (max-width: 1024px) {
	.store .section {
		width: 50%
	}
}

@media only screen and (max-width: 480px) {
	.store .section {
		width: 100%
	}
}

@media only screen and (max-width: 900px) {
	.apps-list.installed .app-version, .apps-list.installed .app-level {
		display: none !important
	}
}

@media only screen and (max-width: 500px) {
	.apps-list.installed .app-groups {
		display: none !important
	}
}

.section {
	margin-bottom: 0
}

.section:not(:last-child) {
	border-bottom: 1px solid var(--color-border)
}

.section h2 {
	margin-bottom: 22px
}

.section h2 .icon-info {
	padding: 6px 20px;
	vertical-align: text-bottom;
	display: inline-block
}

.app-image {
	position: relative;
	height: 150px;
	opacity: 1;
	overflow: hidden
}

.app-description-toggle-show, .app-description-toggle-hide {
	clear: both;
	padding: 7px 0;
	cursor: pointer;
	opacity: .5
}

.app-description-container {
	clear: both;
	position: relative;
	top: 7px
}

.app-description {
	clear: both
}

#app-category-1 {
	margin-bottom: 18px
}

#app-category-925 {
	text-transform: capitalize
}

.app-dependencies {
	color: #ce3702
}

.missing-dependencies {
	list-style: initial;
	list-style-type: initial;
	list-style-position: inside
}

.apps-list {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start
}

.apps-list .section {
	cursor: pointer
}

.apps-list .app-list-move {
	transition: transform 1s
}

.apps-list #app-list-update-all {
	margin-left: 10px
}

.apps-list .toolbar {
	height: 60px;
	padding: 38px;
	padding-left: 70px;
	width: 100%;
	background-color: var(--color-main-background);
	position: sticky;
	top: 0;
	z-index: 1;
	display: flex;
	align-items: center;
}

.apps-list.installed {
	margin-bottom: 100px
}

.apps-list.installed .apps-list-container {
	display: table;
	width: 100%;
	height: auto
}

.apps-list.installed .section {
	display: table-row;
	padding: 0;
	margin: 0
}

.apps-list.installed .section > * {
	display: table-cell;
	height: initial;
	vertical-align: middle;
	float: none;
	border-bottom: 1px solid var(--color-border);
	padding: 6px;
	box-sizing: border-box
}

.apps-list.installed .section.selected {
	background-color: var(--color-background-dark)
}

.apps-list.installed .groups-enable {
	margin-top: 0
}

.apps-list.installed .groups-enable label {
	margin-right: 3px
}

.apps-list.installed .app-image {
	width: 44px;
	height: auto;
	text-align: right
}

.apps-list.installed .app-image-icon svg, .apps-list.installed .app-image-icon .icon-settings-dark {
	margin-top: 5px;
	width: 20px;
	height: 20px;
	opacity: .5;
	background-size: cover;
	display: inline-block
}

.apps-list.installed .actions {
	text-align: right
}

.apps-list.installed .actions .icon-loading-small {
	display: inline-block;
	margin-right: 10px
}

.apps-list:not(.installed) .app-image-icon svg {
	position: absolute;
	bottom: 43px;
	width: 64px;
	height: 64px;
	opacity: .1
}

.apps-list.hidden {
	display: none
}

.apps-list .section {
	position: relative;
	flex: 0 0 auto
}

.apps-list .section h2.app-name {
	display: block;
	margin: 8px 0
}

.apps-list .section:hover {
	background-color: var(--color-background-dark)
}

.apps-list .app-description p {
	margin: 10px 0
}

.apps-list .app-description ul {
	list-style: disc
}

.apps-list .app-description ol {
	list-style: decimal
}

.apps-list .app-description ol ol, .apps-list .app-description ol ul {
	padding-left: 15px
}

.apps-list .app-description > ul, .apps-list .app-description > ol {
	margin-left: 19px
}

.apps-list .app-description ul ol, .apps-list .app-description ul ul {
	padding-left: 15px
}

.apps-list .apps-header {
	position: relative
}

.apps-list .apps-header div {
	display: table-cell;
	height: 70px
}

.apps-list .apps-header h2 {
	padding-left: 6px;
	padding-top: 15px;
	margin-bottom: 12px
}

.apps-list .apps-header h2 .enable {
	position: relative;
	top: -1px;
	margin-left: 12px
}

.apps-list .apps-header h2 + .section {
	margin-top: 50px
}

#apps-list-search .section h2 {
	margin-bottom: 0
}
