/* CSS reboot */
*, *::before, *::after {
	box-sizing: border-box;
}

:root {
	--info: #c9e8fd;
	--warning: #c2780a;
	--danger: #dc3545;
	--text: #212529;
	--success: #198754;
	--radius: .5rem;
	--gradient: linear-gradient(to top, transparent 0, #8882 100%);
}

body {
	margin: 0;
	font-family: "Open Sans", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
	color: var(--text);
}

p {
	margin-top: 0;
	margin-bottom: 0.7rem;
}

[data-href],
a {
	cursor: pointer;
	color: var(--secondary);
	text-decoration: none;
}

[data-href]:hover,
a:hover {
	text-decoration: underline;
	color: inherit;
}

label {
	display: inline-block;
	margin-bottom: 0;
}

pre {
	margin-bottom: 0.35rem;
}

address {
	font-weight: normal;
	font-style: normal;
	line-height: 1.2;
}

img, svg {
	vertical-align: middle;
}

ol, ul {
	margin-top: 0;
	margin-bottom: 1rem;
	padding-left: 2rem;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
	margin: 0 0 1rem 0;
	line-height: 1.2;
}

h5, h6 {
	font-weight: normal;
	margin-bottom: 0.5rem;
}

hr {
	border-top: 1px solid var(--border);
}

table {
	width: 100%;
	margin-bottom: 1rem;
	border-collapse: collapse;
}

table th {
	padding: 0.75rem 0.5rem;
	text-align: left;
	vertical-align: bottom;
}

table td {
	padding: 0.5rem 0.5rem;
	vertical-align: middle;
}

table.td-padding-sm td {
	padding-top: 0.375rem;
	padding-bottom: 0.375rem;
}

@media (min-width: 1400px) {

	table td {
		padding: 0.5rem 0.75rem;
	}

	table th {
		padding: 0.75rem 0.75rem;
	}

}

table tr {
	transition: background-color 0.25s;
}

table.tbody-hover tbody:hover tr {
	background-color: rgba(0, 0, 0, 0.03) !important;
}

table.tbody-even tbody:nth-of-type(odd) tr {
	background-color: var(--background-odd);
}

table.tbody-even tbody:nth-of-type(even) tr {
	background-color: var(--background-even);
}

table.tr-hover tbody tr:hover {
	background-color: rgba(0, 0, 0, 0.03) !important;
}

table.tr-even tbody tr:nth-of-type(even) {
	background-color: var(--background-even);
}

table.tr-even tbody tr:nth-of-type(odd):not(tr.tr-title) {
    background-color: var(--background-odd);
}

table.tr-bordered tr {
	border-bottom: 1px solid #0002;
}

tr.tr-title {
	background-color: transparent !important;
	text-transform: uppercase;
	font-weight: bold;
}

div.div-even > *:nth-of-type(even) {
    background-color: white;
}

div.div-even > *:nth-of-type(odd) {
    background-color: var(--background-odd);
}

@media (min-width: 768px) {

	td.highlight,
	th.highlight {
		background: linear-gradient(to right, transparent 0, transparent 0.75rem, #8881 0.75rem, #8881 calc(100% - 0.75rem), transparent calc(100% - 0.75rem), transparent 100%);
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}

	td.highlight-stick-right,
	th.highlight-stick-right {
		background: linear-gradient(to right, transparent 0, transparent 0.75rem, #8881 0.75rem, #8881 100%);
		padding-left: 1.5rem;
		padding-right: 0.75rem;
	}

	td.highlight-stick-left,
	th.highlight-stick-left {
		background: linear-gradient(to right, #8881 0, #8881 calc(100% - 0.75rem), transparent calc(100% - 0.75rem), transparent 100%);
		padding-left: 0.75rem;
		padding-right: 1.5rem;
	}

	td.highlight-stick-both,
	th.highlight-stick-both {
		background: #8881;
		padding-left: 0.75rem;
		padding-right: 0.75rem;
	}

}

@media (max-width: 767px) {

	td.highlight,
	th.highlight {
		background: linear-gradient(to right, transparent 0, transparent 0.5rem, rgba(127, 127, 127, 0.05) 0.5rem, rgba(127, 127, 127, 0.05) calc(100% - 0.5rem), transparent calc(100% - 0.5rem), transparent 100%);
		padding-left: 1rem;
		padding-right: 1rem;
	}

	td.highlight-stick-right,
	th.highlight-stick-right {
		background: linear-gradient(to right, transparent 0, transparent 0.5rem, rgba(127, 127, 127, 0.05) 0.5rem, rgba(127, 127, 127, 0.05) 100%);
		padding-left: 1rem;
		padding-right: 0.5rem;
	}

	td.highlight-stick-left,
	th.highlight-stick-left {
		background: linear-gradient(to right, rgba(127, 127, 127, 0.05) 0, rgba(127, 127, 127, 0.05) calc(100% - 0.5rem), transparent calc(100% - 0.5rem), transparent 100%);
		padding-left: 0.5rem;
		padding-right: 1rem;
	}

	td.highlight-stick-both,
	th.highlight-stick-both {
		background: rgba(127, 127, 127, 0.05);
		padding-left: 0.5rem;
		padding-right: 0.5rem;
	}

}

@media (max-width: 1399px) {

	.stick-xl {
		width: calc(100% + 2 * var(--container-xl-padding));
		transform: translate3d(calc(-1 * var(--container-xl-padding)), 0, 0);
		border-radius: 0 !important;
	}

}

@media (max-width: 1199px) {

	.stick-lg {
		width: calc(100% + 2 * var(--container-lg-padding));
		transform: translate3d(calc(-1 * var(--container-lg-padding)), 0, 0);
		border-radius: 0 !important;
	}

}

@media (max-width: 991px) {

	.stick-lg,
	.stick-md {
		width: calc(100% + 2 * var(--container-md-padding));
		transform: translate3d(calc(-1 * var(--container-md-padding)), 0, 0);
		border-radius: 0 !important;
	}

}

@media (max-width: 767px) {

	.stick-lg,
	.stick-md,
	.stick-sm {
		width: calc(100% + 2 * var(--container-sm-padding));
		transform: translate3d(calc(-1 * var(--container-sm-padding)), 0, 0);
		border-radius: 0 !important;
	}

}

@media (max-width: 575px) {

	.stick-lg,
	.stick-md,
	.stick-xs,
	.stick-sm {
		width: calc(100% + 2 * var(--container-xs-padding));
		transform: translate3d(calc(-1 * var(--container-xs-padding)), 0, 0);
		border-radius: 0 !important;
	}

}

ul.list-inline {
	margin-bottom: 0px;
}

/* Forms */
input, button, select, optgroup, textarea {
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}

button, select {
	text-transform: none;
}

button {
	cursor: pointer;
}

.opacity-100 {
	opacity: 1;
}

.opacity-75 {
	opacity: .75;
}

.opacity-50 {
	opacity: .5;
}

.opacity-25 {
	opacity: .25;
}

.fs-2 {
	font-size: 2rem;
}

.fs-3 {
	font-size: 3rem;
}

.mt-0 {
	margin-top: 0 !important;
}

.mt-1 {
	margin-top: 1rem !important;
}

.mt-2 {
	margin-top: 2rem !important;
}

.mt-3 {
	margin-top: 3rem !important;
}

.mt-4 {
	margin-top: 4rem !important;
}

.mb-0 {
	margin-bottom: 0 !important;
}

.mb-1 {
	margin-bottom: 1rem !important;
}

.mb-2 {
	margin-bottom: 2rem !important;
}

.mb-3 {
	margin-bottom: 3rem !important;
}

.mb-4 {
	margin-bottom: 4rem !important;
}

.ml-0 {
	margin-left: 0 !important;
}

.ml-1 {
	margin-left: 1rem !important;
}

.ml-2 {
	margin-left: 2rem !important;
}

.ml-3 {
	margin-left: 3rem !important;
}

.ml-4 {
	margin-left: 4rem !important;
}

.mr-0 {
	margin-right: 0 !important;
}

.mr-1 {
	margin-right: 1rem !important;
}

.mr-2 {
	margin-right: 2rem !important;
}

.mr-3 {
	margin-right: 3rem !important;
}

.mr-4 {
	margin-right: 4rem !important;
}

.font-xl {
	font-size: 1.2rem;
}

.font-lg {
	font-size: 1.1rem;
}

.font-md {
	font-size: 1rem;
}

.font-sm {
	font-size: 0.9rem;
}

.font-xs {
	font-size: 0.8rem;
}

input[type=checkbox], input[type=radio] {
	box-sizing: border-box;
	padding: 0;
	vertical-align: middle;
}

.form-calculation {
	padding: 0.375rem 0.75rem;
	font-size: 1rem;
	font-weight: normal;
	line-height: 1.5;
	color: var(--text);
	background-color: var(--background);
	background-clip: padding-box;
	border: 1px solid #0002;
	appearance: none;
	vertical-align: middle;
	transition: border-color 0.25s, box-shadow 0.25s;
}

.form-control,
.form-control-block {
	display: block;
	width: 100%;
	padding: 0.375rem 0.75rem;
	font-size: 1rem;
	font-weight: normal;
	line-height: 1.5;
	color: var(--text);
	background-color: #fff;
	background-clip: padding-box;
	border: 1px solid #0002;
	appearance: none;
	vertical-align: middle;
	border-radius: var(--radius);
	transition: border-color 0.25s, box-shadow 0.25s;
}

.form-control-xl {
	line-height: 2.5;
}

.form-control-lg {
	line-height: 2;
}

.form-control-block {
	padding: 1rem;
}

.form-control:focus {
	color: var(--text);
	background-color: #fff;
	border-color: #0005;
	outline: 0;
	box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1);
}

.form-control.disabled,
.form-control[disabled],
.form-control:disabled {
	pointer-events: none;
	background-color: #CCC2;
}

.form-control.disabled:not(select),
.form-control[disabled]:not(select),
.form-control:disabled:not(select) {
	color: #000B;
}

select.form-control {
	padding-right: 1.75rem;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right 0.75rem center;
	background-size: 16px 12px;
}

textarea.form-control {
	height: 10em;
}

.form-control[type="color"] {
	padding: 0.25rem;
}

div.input-group {
	/*position: relative; inutile ?*/
	display: inline-flex;
	flex-wrap: wrap;
	align-items: stretch;
	width: 100%;
}

div.input-group-lg .form-control {
	line-height: 2;
}

div.form-control-field div.input-group {
	width: 100%;
}

div.form-control-field h3 {
	margin-bottom: .5rem;
}

div.input-group > * {
	border-radius: 0;
}

div.input-group > *:first-child {
	border-top-left-radius: var(--radius) !important;
	border-bottom-left-radius: var(--radius) !important;
}

div.input-group > *:last-child {
	border-top-right-radius: var(--radius) !important;
	border-bottom-right-radius: var(--radius) !important;
}

div.input-group > *:not(:first-child) {
	margin-left: -1px;
}

div.input-group > .form-control {
	flex: 1;
	min-width: 0;
}

div.input-group > .btn:hover {
	z-index: 1;
}

div.input-group > .form-control:focus {
	z-index: 2;
}

div.input-group > .input-group-element,
div.input-group > .input-group-addon,
div.input-group > .field-checkbox {
	display: flex;
	align-items: center;
	padding: 0.375rem 0.75rem;
	font-size: 1rem;
	font-weight: normal;
	line-height: 1.5;
}

div.input-group > .input-group-addon,
div.input-group > .field-checkbox {
	color: var(--text);
	text-align: center;
	white-space: nowrap;
	background-color: var(--background);
	border: 1px solid #0002;
}

@media (max-width: 575px) {

	div.input-group > .input-group-addon,
	div.input-group > .field-checkbox {
		padding: 0.375rem 0.5rem;
		font-size: 0.9rem;
	}

}

/* Text */
.text-sm {
	font-size: 0.9rem;
}

/* Icon */

.asset-icon {
	display: inline-block;
	width: calc(1em + 1px);
	margin-top: -0.125rem;
	height: 1em;
	pointer-events: none;
}

.asset-icon-rotate-90 {
	transform: rotate(90deg);
}

.asset-icon-rotate--90 {
	transform: rotate(-90deg);
}

.asset-icon-flip-h {
	transform: scaleX(-1);
}

.asset-icon-flip-v {
	transform: scaleY(-1);
}

/* Containers */
:root {

	--container-xs-padding: 0.75rem;
	--container-sm-padding: 1rem;
	--container-md-padding: 1.5rem;
	--container-lg-padding: 2rem;
	--container-xl-padding: 2rem;

}

@media (max-width: 575px) {

	:root {
		--container-padding: var(--container-xs-padding);
	}

}

@media (min-width: 576px) and (max-width: 767px) {

	:root {
		--container-padding: var(--container-sm-padding);
	}

}

@media (min-width: 768px) and (max-width: 991px) {

	:root {
		--container-padding: var(--container-md-padding);
	}

}

@media (min-width: 992px) and (max-width: 1199px) {

	:root {
		--container-padding: var(--container-lg-padding);
	}

}

@media (min-width: 1200px) {

	:root {
		--container-padding: var(--container-xl-padding);
	}

}

@media (max-width: 575px) {

	:root {
		--responsive-padding: var(--container-xs-padding);
	}

}

@media (min-width: 576px) {

	:root {
		--responsive-padding: 1rem;
	}

}

.container {
	width: 100%;
	max-width: 1600px;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--container-padding);
	padding-right: var(--container-padding);
}

@media (max-width: 449px) {

	.hide-xxs-down {
		display: none !important;
	}

}

@media (max-width: 575px) {

	.hide-xs-down {
		display: none !important;
	}

}

@media (min-width: 450px) {

	.hide-xs-up {
		display: none !important;
	}

}

@media (min-width: 576px) {

	.hide-sm-up {
		display: none !important;
	}

}

@media (max-width: 767px) {

	.hide-sm-down {
		display: none !important;
	}

}

@media (min-width: 768px) {

	.hide-md-up {
		display: none !important;
	}

}

@media (max-width: 991px) {

	.hide-md-down {
		display: none !important;
	}

}

@media (min-width: 992px) {

	.hide-lg-up {
		display: none !important;
	}

}

@media (max-width: 1199px) {

	.hide-lg-down {
		display: none !important;
	}

}

@media (max-width: 1599px) {

	.hide-xl-down {
		display: none !important;
	}

}

@media (max-width: 1199px), (max-height: 599px) {

	.hide-lateral-down {
		display: none !important;
	}

}

@media (min-width: 1200px) {

	.hide-xl-up {
		display: none !important;
	}

}
@media (min-width: 1600px) {

	.hide-xxl-up {
		display: none !important;
	}

}

@media (min-width: 1200px) and (min-height: 600px) {

	.hide-lateral-up {
		display: none !important;
	}

}

.hide {
	display: none !important;
}

.not-visible {
	visibility: hidden;
}

body[data-touch="yes"] .hide-touch {
	display: none !important;
}

body[data-touch="no"] .hide-notouch {
	display: none !important;
}

/* Utilities */
.util-quick {
	display: inline-block;
	border-bottom: 2px dotted transparent;
	margin-bottom: -2px;
}

a.util-quick {
	color: inherit;
}

.util-quick:hover {
	text-decoration: none;
	border-color: var(--primary);
	cursor: pointer;
}

.util-quick-dropdown {
	padding: 1rem;
	background-color: var(--primary);
	color: white;
}

.util-quick-form {
	display: grid;
	grid-template-columns: 1fr;
	grid-row-gap: 0.5rem;
	justify-items: stretch;
}

.util-quick-form h4 {
	margin-bottom: 0;
}

table th,
.util-grid-header {
	font-size: 0.85rem;
	text-transform: uppercase;
	align-self: end;
	padding-top: 0.75rem;
	padding-bottom: 0.5rem;
	font-weight: normal;
	line-height: 1.3;
}

.td-min-content {
	width: 1%;
	white-space: nowrap;
}

tr:not(:last-child):has(> .td-border) .td-border {
	border-bottom: 1px dashed var(--border);
}

.td-checkbox {
	background-color: #0001;
	text-align: center;
	padding: 0;
	width: 3rem;
}

.td-checkbox > label {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}

thead .td-checkbox {
	background-color: transparent;
}

thead .td-checkbox > label {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

tbody .td-checkbox > label {
	min-height: 2.75rem;
}

.util-grid-icon {
	font-size: 1.1rem;
}

.util-info,
.util-success,
.util-warning,
.util-danger {
	margin-bottom: 1.5rem;
	padding: 0.5rem 1rem 0.5rem;
	line-height: 1.6;
}

@media print {

	.util-info,
	.util-success,
	.util-warning,
	.util-danger {
		display: none;
	}

}

.util-info p:last-child,
.util-success p:last-child,
.util-warning p:last-child,
.util-danger p:last-child {
	margin-bottom: 0;
}

.util-info {
	border: 1px solid var(--secondary);
	border-radius: var(--radius);
	color: var(--secondary);
}

.util-info a:not(.btn) {
	text-decoration: underline;
}

.util-warning {
	border: 1px solid var(--warning);
	border-radius: var(--radius);
	color: var(--warning);
}

.util-warning a:not(.btn) {
	color: var(--warning);
	text-decoration: underline;
}

.util-success {
	border: 1px solid var(--success);
	border-radius: var(--radius);
	color: var(--success);
}

.util-success a:not(.btn) {
	color: var(--success);
	text-decoration: underline;
}

.util-danger {
	border: 1px solid var(--danger);
	border-radius: var(--radius);
	color: var(--danger);
}

.util-danger a:not(.btn) {
	color: var(--danger);
	text-decoration: underline;
}

@media (max-width: 449px) {

	.util-overflow-xs {
		overflow-x: auto;
	}

	.util-overflow-xs > * {
		min-width: calc(449px - 2 * var(--container-xs-padding));
	}

}

@media (max-width: 575px) {

	.util-overflow-sm {
		overflow-x: auto;
	}

	.util-overflow-sm > * {
		min-width: calc(575px - 2 * var(--container-sm-padding));
	}

}

@media (max-width: 767px) {

	.util-overflow-md {
		overflow-x: auto;
	}

	.util-overflow-md > * {
		min-width: calc(767px - 2 * var(--container-md-padding));
	}

}

@media (max-width: 991px) {

	.util-overflow-lg {
		overflow-x: auto;
	}

	.util-overflow-lg > * {
		min-width: calc(991px - 2 * var(--container-md-padding));
	}

}

.util-overflow {
	overflow-x: auto;
}

.util-overflow > * {
}

.util-checkbox {
	display: flex;
	align-items: center;
	justify-content: center;
}

.util-title,
.util-action {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.25rem;
}

.util-title {
	margin-bottom: 1rem;
}

.util-action > *,
.util-title > * {
	margin-bottom: 0;
}

.util-action > * {
	margin-bottom: 0;
}

.util-action h1 {
	user-select: none;
}

a.util-action-navigation > svg {
	font-size: 1.3rem;
	vertical-align: baseline;
}

a.util-action-navigation:hover > svg:nth-of-type(1),
a.util-action-navigation[data-dropdown-display] > svg:nth-of-type(1) {
	display: none;
}

a.util-action-navigation:not(:hover):not([data-dropdown-display]) > svg:nth-of-type(2) {
	display: none;
}

div.util-subtitle {
	margin-top: 0.5rem;
	font-size: 1.15rem;
}

@media (max-width: 575px) {

	div.util-subtitle {
		font-size: 1rem;
	}

}

.util-helper {
	font-size: 0.9rem;
	color: var(--secondary);
}

.util-annotation {
	font-size: 90%;
	line-height: 1.2;
	color: var(--muted);
}

.util-badge {
	font-size: 90%;
	line-height: 1.2;
	display: inline-block;
	padding: calc(0.375rem / 2) 0.375rem;
	border-radius: calc(var(--radius) / 2);
	color: white;
}

.util-empty {
	color: var(--muted);
	margin-bottom: 1rem;
}

.util-block,
.util-block-help,
.util-card {
	border-radius: var(--radius);
	margin-bottom: 1rem;
	padding: 1rem;
}

.util-block p:last-child,
.util-block p:last-child,
.util-block-help p:last-child,
.util-card p:last-child {
	margin-bottom: 0;
}

table.util-block tbody:last-child tr:last-child td:first-child,
table.util-block tbody:last-child tr:last-child td:first-child {
	border-bottom-left-radius: var(--radius);
}

table.util-block tbody:last-child tr:last-child td:last-child {
	border-bottom-right-radius: var(--radius);
}

.util-block {
	background: white;
}

.util-block-separator {
	margin: 0.5rem -1rem;
	border-bottom: 1px solid var(--border);
}

.util-block-optional {
	padding: 1rem;
	border: 3px dashed var(--border);
	margin-bottom: 1rem;
	border-radius: var(--radius);
}

.util-block-help {
	padding: 1.25rem 1rem  1rem;
	background-color: var(--info);
	line-height: 1.5;
	position: relative;
	min-height: 4rem;
}

.util-block-help {
	padding-left: 4.5rem;
}

.util-block-help h4 {
	font-weight: bold;
	height: 2.5rem;
	margin-bottom: 0.5rem;
	display: flex;
	align-items: center;
}

.util-block-help h4:first-child {
	margin-top: -0.5rem;
}

.util-block-help a:not(.btn) {
	text-decoration: underline;
	color: var(--text);
}

.util-block-help:before {
	position: absolute;
	content: 'i';
	font-style: italic;
	float: left;
	color: white;
	top: .75rem;
	left: 1rem;
	width: 2.5rem;
	height: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2rem;
	line-height: 1;
	border-radius: 50%;
	font-family: Serif;
}

.util-block-help:before {
	background-color: var(--secondary);
	content: 'i';
}

.util-block-dark {
	color: white;
}

.util-block-search {
	background: var(--info);
	padding: var(--container-sm-padding);
	border-radius: var(--radius);
	margin-bottom: 1rem;
	position: relative;
}

.util-block-gradient {
	background: var(--gradient);
	padding: var(--container-sm-padding);
	border-top-left-radius: var(--radius);
	border-top-right-radius: var(--radius);
	margin-bottom: 1rem;
}

@media (max-width: 575px) {

	.util-block-gradient,
	.util-block-search {
		padding: var(--container-xs-padding);
	}

}

.util-block-title {
	font-size: 0.9rem;
	text-transform: uppercase;
	color: var(--muted);
	letter-spacing: 1px;
	margin-bottom: 0.5rem;
}

.util-card {
	background: white;
}

.util-card-header {
	padding: 1rem;
	background: var(--background-light);
	border-bottom: 1px solid var(--border);
	border-top-left-radius: .5rem;
	border-top-right-radius: .5rem;
}

.util-card-body {
	padding: 1rem;
}

.util-card-footer {
	padding: 1rem;
	background: var(--background-light);
	border-top: 1px solid var(--border);
	border-bottom-left-radius: .5rem;
	border-bottom-right-radius: .5rem;
}

.util-box-danger,
.util-box-warning,
.util-box-success {
	z-index:2000;
	padding: 1rem;
	border-radius: var(--radius);
	margin-bottom: 1rem;
}

a.util-box-close {
	color: white;
	position: absolute;
	top: 0;
	right: 0;
	padding: 1rem;
}

.util-box-danger {
	background-color: var(--danger);
	color: white;
}

.util-box-success {
	background-color: var(--success);
	color: white;
}

.util-box-warning {
	background-color: var(--warning);
	color: white;
}

.util-box-sticked {
	margin-bottom: 0;
	left: 1rem;
	bottom: 1rem;
	right: 1rem;
	position: fixed;
	box-shadow: 0px -5px 5px rgba(0, 0, 0, 0.1);
	font-size: 1.1rem;
	transition: all 0.25s;
}

.util-box-remove {
	opacity: 0;
}

ul.util-summarize {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style-type: none;
}

ul.util-summarize-overflow {
	overflow-x: auto;
	flex-wrap: nowrap;
}

ul.util-summarize-last {
	align-self: end;
}

ul.util-summarize:not(:last-child) {
	margin-bottom: 1rem;
}

ul.util-summarize li {
	font-size: 1.5rem;
	font-weight: lighter;
	line-height: 1.2;
	padding: 1rem;
	text-align: center;
	border-radius: var(--radius);
}

ul.util-summarize li.selected {
	background-color: var(--background);
}

ul.util-summarize li > a:not(.btn) {
	display: block;
	margin: -1rem;
	padding: 1rem;
	border-radius: var(--radius);
	background: linear-gradient(to top, transparent 0%, var(--background) 100%);
	border: 0px solid var(--secondary);
}

ul.util-summarize li.selected > a:not(.btn),
ul.util-summarize li > a:hover {
	text-decoration: none;
	background: var(--secondary);
	color: white;
}

ul.util-summarize li h5 {
	padding-bottom: 0.5rem;
	margin-bottom: 0.5rem;
	font-weight: normal;
	font-size: 1.1rem;
	border-bottom: 1px solid var(--secondary);
	color: var(--muted);
}

ul.util-summarize li.selected > a h5,
ul.util-summarize li > a:not(.btn):hover h5 {
	color: white;
	border-bottom: 1px solid #fff8;
}

ul.util-summarize li > div:not(:last-child) {
	margin-bottom: 0.25rem;
}

ul.util-summarize li .util-summarize-muted {
	font-size: 0.9rem;
	color: var(--muted);
	margin-top: 0.5rem;
}

ul.util-summarize li.selected .util-summarize-muted,
ul.util-summarize li > a:not(.btn):hover .util-summarize-muted {
	color: #fffd;
}

@media (max-width: 575px) {

	ul.util-summarize li {
		font-size: 1.4rem;
		padding: 0.5rem;
	}

	ul.util-summarize li h5 {
		font-size: 1rem;
	}

	ul.util-summarize li > a:not(.btn) {
		padding: 0.75rem;
		margin: -0.5rem;
	}

}

dl.util-presentation {
	display: grid;
	margin: 0;
	padding: 0;
	grid-column-gap: 1rem;
	grid-row-gap: 0.25rem;
	grid-auto-rows: min-content;
	align-items: baseline;
}

dl.util-presentation-max-content {
	display: grid;
	margin: 0;
	padding: 0;
	grid-column-gap: 1rem;
	grid-row-gap: 0.125rem;
	grid-auto-rows: min-content;
	align-items: baseline;
}

@media (max-width: 575px) {

	dl.util-presentation {
		grid-template-columns: auto 1fr;
	}

}

@media (min-width: 576px) {

	dl.util-presentation-1 {
		grid-template-columns: auto 1fr;
	}

	dl.util-presentation-2,
	dl.util-presentation-3 {
		grid-template-columns: auto 1fr auto 1fr;
	}

	dl.util-presentation-max-content.util-presentation-2,
	dl.util-presentation-max-content.util-presentation-3 {
		grid-template-columns: auto minmax(max-content, 1fr) auto minmax(max-content, 1fr);
	}

	dl.util-presentation-2 dd.util-presentation-fill,
	dl.util-presentation-3 dd.util-presentation-fill {
		grid-column: span 3;
	}

}

@media (min-width: 992px) {

	dl.util-presentation-3 {
		grid-template-columns: auto 1fr auto 1fr auto 1fr;
	}

	dl.util-presentation-3 dd.util-presentation-fill {
		grid-column: span 5;
	}

}

dl.util-presentation dt {
	color: var(--muted);
	padding: 0;
	margin: 0;
}

dl.util-presentation dd {
	font-weight: bold;
	padding: 0;
	margin: 0;
}
dl.util-presentation dd a:not(.btn) {
	color: inherit;
}

dl.util-presentation dt:not(:empty) + dd:empty:before {
	content: '/';
	font-weight: normal;
	color: var(--muted);
}


.pagination-wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 1rem;
	gap: 1rem;
}

ul.pagination {
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
	grid-auto-flow: column;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
}

div.util-alert {
	position: fixed;
	bottom: 40px;
	z-index: 100;
}

td.util-manage-vignette {
	width: 3rem;
}

/* Flex */
.flex-align-center {
	display: flex;
	align-items: center;
	grid-column-gap: 1rem;
}

/* Text */
.text-start {
	text-align: left;
}
.text-end {
	text-align: right;
}
.text-center {
	text-align: center;
}

/* Colors */
.color-text {
	color: var(--text) !important;
}
.color-primary {
	color: var(--primary) !important;
}
.color-secondary {
	color: var(--secondary) !important;
}
.color-info {
	color: var(--info) !important;
}
.color-success {
	color: var(--success) !important;
}
.color-success a {
	color: var(--success) !important;
	text-decoration: underline;
}
.color-danger {
	color: var(--danger) !important;
}
.color-danger a {
	color: var(--danger) !important;
	text-decoration: underline;
}
.color-warning {
	color: var(--warning) !important;
}
.color-warning a {
	color: var(--warning) !important;
	text-decoration: underline;
}
.color-muted {
	color: var(--muted) !important;
}
.color-white {
	color: white !important;
}

/* Background */
.bg-primary {
	background-color: var(--primary) !important;
}
.bg-secondary {
	background-color: var(--secondary) !important;
}
.bg-info {
	background-color: var(--info) !important;
}
.bg-success {
	background-color: var(--success) !important;
}
.bg-danger {
	background-color: var(--danger) !important;
}
.bg-warning {
	background-color: var(--warning) !important;
}
.bg-muted {
	background-color: var(--muted) !important;
}
.bg-background {
	background-color: var(--background) !important;
}
.bg-background-light {
	background-color: var(--background-light) !important;
}
.bg-white {
	background-color: white !important;
}

/* Annotation */

.annotation {
	font-size: 0.9rem;
	font-weight: bold;
	border-bottom-width: 2px;
	border-bottom-style: solid;
}

.annotation-lg {
	font-size: 1rem;
}

/* Button */

.btn {
	display: inline-block;
	font-weight: normal;
	line-height: 1;
	color: var(--text);
	text-align: center;
	vertical-align: middle;
	user-select: none;
	background-color: transparent;
	border: 1px solid transparent;
	padding: 0.625rem 0.75rem;
	white-space: nowrap;
	font-size: 1rem;
	transition: color 0.25s, background-color 0.25s, border-color 0.25s, box-shadow 0.25s;
}

.btn-group {
	display: inline-block;
}

.btn-group .btn:not(:last-child) {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.btn-group .btn:not(:first-child) {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

.btn-group .btn:not(:first-child) {
	margin-left: -1px;
}

@media print {

	.btn-group,
	.btn {
		display: none;
	}

}

.btn:not(.btn-rectangle) {
	border-radius: var(--radius);
}

.btn:not(.btn-readonly) {
	cursor: pointer;
}

.btn.btn-readonly {
	cursor: default;
}

.btn.disabled {
	pointer-events: none;
	opacity: 0.33;
}

.input-group .btn,
.input-group .btn.btn-sm,
.input-group .btn.btn-xs {
	border-radius: 0;
}

@media (max-width: 575px) {

	.btn.btn-panel {
		height: 3rem;
		width: 3rem;
		border-radius: 1.5rem;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 1.3rem;
	}

}

.btn.btn-xs {
	padding: 0.25rem 0.375rem;
	font-size: 0.8rem;
	border-radius: calc(var(--radius) / 2);
}

.btn.btn-sm {
	padding: 0.5rem 0.625rem;
	font-size: 0.9rem;
	border-radius: var(--radius);
}

.btn.btn-lg {
	padding: 0.875rem 1rem;
	font-size: 1.1rem;
}

.btn.btn-xl {
	padding: 1.25rem 1.5rem;
	font-size: 1.1rem;
}

.btn.btn-selected {
	font-weight: bold;
	background-color: var(--background-light);
	position: relative;
	z-index: 100;
}

.btn.dropdown-toggle:after {
	font-size: inherit;
}

a.btn {
	text-decoration: none;
}

label.btn input {
	display: none;
}

label.btn input:checked + * {
	font-weight: bold;
}

.btn-form {
	color: var(--text);
	background-color: white;
	border: 1px solid var(--border);
}

.btn-exit {
	font-size: 3rem;
	font-weight: lighter;
	line-height: 1;
	opacity: 1;
}

.btn-primary,
.btn-outline-primary:not(.btn-readonly):hover {
	color: white;
	background-color: var(--primary);
	border-color: var(--primary);
}

.btn-primary:not(.btn-readonly):hover {
	color: white;
	box-shadow: inset 0px 0px 0 100px rgba(0, 0, 0, .1);
}

.btn-outline-primary {
	color: var(--primary);
	border-color: var(--primary);
}

.btn-color-primary {
	background: rgba(255, 255, 255, 0.8);
	color: var(--primary);
}

.btn-color-primary:not(.btn-readonly):hover {
	background: var(--primary);
	color: white;
}

.btn-secondary,
.btn-outline-secondary:not(.btn-readonly):hover {
	color: white;
	background-color: var(--secondary);
	border-color: var(--secondary);
}

.btn-secondary:not(.btn-readonly):hover {
	color: white;
	box-shadow: inset 0px 0px 0 100px rgba(0, 0, 0, .1);
}

.btn-outline-secondary {
	color: var(--secondary);
	border-color: var(--secondary);
}

.btn-secondary-dark,
.btn-outline-secondary-dark:not(.btn-readonly):hover {
	color: white;
	background-color: var(--secondary-dark);
	border-color: var(--secondary-dark);
}

.btn-secondary-dark:not(.btn-readonly):hover {
	color: white;
	box-shadow: inset 0px 0px 0 100px rgba(0, 0, 0, .1);
}

.btn-outline-secondary-dark {
	color: var(--secondary-dark);
	border-color: var(--secondary-dark);
}

.btn-info,
.btn-outline-info:not(.btn-readonly):hover {
	background-color: var(--info);
	border-color: var(--info);
}

.btn-info:not(.btn-readonly):hover {
	box-shadow: inset 0px 0px 0 100px rgba(0, 0, 0, .1);
}

.btn-outline-info {
	color: var(--info);
	border-color: var(--info);
}

.btn-outline-border:not(.btn-readonly):hover {
	background-color: var(--background);
}

.btn-outline-border {
	color: var(--text);
	border-color: var(--border);
}

.btn-order,
.btn-outline-order:not(.btn-readonly):hover {
	color: white;
	background-color: var(--order);
	border-color: var(--order);
}

.btn-order:not(.btn-readonly):hover {
	color: white;
	box-shadow: inset 0px 0px 0 100px rgba(0, 0, 0, .1);
}

.btn-outline-order {
	color: var(--order);
	border-color: var(--order);
}

.btn-success,
.btn-outline-success:not(.btn-readonly):hover {
	color: white;
	background-color: var(--success);
	border-color: var(--success);
}

.btn-success:not(.btn-readonly):hover {
	color: white;
	box-shadow: inset 0px 0px 0 100px rgba(0, 0, 0, .1);
}

.btn-outline-success {
	color: var(--success);
	border-color: var(--success);
}

.btn-danger,
.btn-outline-danger:not(.btn-readonly):hover {
	color: white;
	background-color: var(--danger);
	border-color: var(--danger);
}

.btn-danger:not(.btn-readonly):hover {
	color: white;
	box-shadow: inset 0px 0px 0 100px rgba(0, 0, 0, .1);
}

.btn-outline-danger {
	color: var(--danger);
	border-color: var(--danger);
}

.btn-warning,
.btn-outline-warning:not(.btn-readonly):hover {
	color: white;
	background-color: var(--warning);
	border-color: var(--warning);
}

.btn-warning:not(.btn-readonly):hover {
	color: white;
	box-shadow: inset 0px 0px 0 100px rgba(0, 0, 0, .1);
}

.btn-outline-warning {
	color: var(--warning);
	border-color: var(--warning);
}

.btn-transparent {
	background: #0003;
	color: white;
}

.btn-transparent:not(.btn-readonly):hover {
	background: #0005;
	color: white;
}

.btn-outline-transparent {
	border: 1px solid white;
	background: #0003;
	color: white;
}

.btn-outline-transparent:not(.btn-outline-readonly):hover {
	background: #0005;
	color: white;
}

.btn-outline-muted {
	color: var(--muted);
	border-color: var(--muted);
}

.btn-muted,
.btn-outline-muted:hover {
	background: var(--muted);
	color: white;
}

.btn-muted:not(.btn-readonly):hover {
	color: white;
}

.btn-border {
	border-color: var(--border);
	color: var(--text);
}

.btn-border:not(.btn-readonly):hover {
	box-shadow: inset 0px 0px 0 100px var(--background);
}

/* Waiter */
@keyframes waiterRotate {
	 0% { transform: rotate(0deg); }
	 100% { transform: rotate(360deg); }
}

.waiter {
	position: fixed;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	background-color: #fffc;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 4rem;
	color: var(--secondary);
}

.waiter .asset-icon {
	animation: waiterRotate 2s linear infinite;
}

/* Panel */
@media screen {

	body.panel-open {
		overflow: hidden;
		padding-right: 15px;
		width: 100vw;
	}

	.panel {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

}

@media print {

	body.panel-open {
		width: 100vw;
	}

	body.panel-open nav,
	body.panel-open header,
	body.panel-open main,
	body.panel-open footer {
		display: none;
	}

	.panel {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
	}

}

.panel {
	display: none;
	background-color: white;
}

body[data-touch="no"] .panel {
	transition: opacity 0.25s;
}

body[data-touch="no"] .panel.closing {
	opacity: 0;
}

body[data-touch="yes"] .panel {
	transition: left 0.33s;
}

body[data-touch="yes"] .panel.closing {
	left: -100%;
	overflow: hidden;
}

.panel.open {
	display: block;
}

@media screen {

	.panel.open {
		overflow-y: scroll;
	}

}

.panel.open.closing-last {
	overflow-y: hidden;
}

.panel-dialog {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	min-height: 100vh;
	outline: 0;
	pointer-events: none;
}

.panel-dialog.container {
	max-width: 1400px;
}

.panel-dialog > * {
	pointer-events: auto;
}

.panel-back-wrapper {
	display: grid;
	grid-template-columns: min-content 1fr;
	grid-column-gap: 1rem;
	align-items: center;
}

a.panel-back {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 2.3rem;
	background-color: var(--secondary);
	color: white;
	border-radius: 50%;
	width: 3rem;
	height: 3rem;
	line-height: 1;
	transition: background-color 0.5s;
}

a.panel-back:hover {
	color: white;
	background-color: var(--primary);
}

.panel-title {
	margin: 0;
	font-size: 1.75rem;
}

@media (max-width: 575px) {

	.panel-title {
		font-size: 1.5rem;
	}
}

@media (min-width: 576px) {

	.panel-title {
		padding-right: 1rem;
	}
}


.panel-subtitle {
	margin: 0;
	font-size: 1.25rem;
	color: var(--muted);
}


.panel-title + .panel-subtitle {
	margin-top: 0.5rem;
}

.panel-body {
	position: relative;
	z-index: 1;
	flex: 1;
}

@media (max-width: 575px) {

	.panel-body {
		padding: var(--container-xs-padding) 0;
	}

}

@media (min-width: 576px) {

	.panel-body {
		padding: 1rem 0;
	}

}

.panel-footer:not(:empty) {
	position: sticky;
	bottom: 0;
	z-index: 1;
	background-color: white;
	border-top: 1px solid var(--border);
}

@media (max-width: 575px) {

	.panel-footer:not(:empty) {
		margin-left: calc(-1 * var(--container-xs-padding));
		margin-right: calc(-1 * var(--container-xs-padding));
		padding: var(--container-xs-padding);
	}

}

.panel-footer:empty {
	height: 4rem;
}

@media (min-width: 576px) {

	.panel-footer {
		padding: 1rem 0;
	}

}

.panel-header {
	position: sticky;
	top: 0;
	display: grid;
	align-items: center;
	justify-content: space-between;
	z-index: 2;
	background-color: white;
	border-bottom: 1px solid var(--border);
	border-top-left-radius: 0.25rem;
	border-top-right-radius: 0.25rem;
}

@media (max-width: 575px) {

	.panel-header {
		margin-left: calc(-1 * var(--container-xs-padding));
		margin-right: calc(-1 * var(--container-xs-padding));
		padding: var(--container-xs-padding);
	}

}

body[data-touch="yes"] .panel-header {
	grid-template: "mobile content" auto / auto 1fr;
}

body[data-touch="no"] .panel-header {
	grid-template: "content desktop" auto / 1fr auto;
}

@media (min-width: 576px) {

	.panel-header {
		padding: 1rem 0;
	}

}

.panel-header:empty {
	display: none;
}

.panel-header-subtitle {
	font-size: 1.2rem;
	margin-top: 0.25rem;
}

.panel-header-content {
	grid-area: content;
}

.panel-backdrop {
	position: fixed;
	display: none;
	top: 0;
	left: 0;
	width: calc(100% - 15px);
	height: 100%;
}

.panel-close {
	font-weight: lighter;
	line-height: 1;
	padding: 1rem;
	font-size: 2.5rem;
	grid-area: close;
	margin: -1rem 0 -1rem -1rem;
}

.panel-close-desktop,
.panel-close-mobile {
	font-weight: lighter;
	line-height: 1;
	padding: 1rem;
	user-select: none;
}

.panel-close-desktop {
	font-size: 3rem;
}

.panel-close-mobile {
	font-size: 2.5rem;
}

.panel-close-desktop {
	grid-area: desktop;
	margin: -1rem -1rem -1rem 0;
}

.panel-close-mobile {
	grid-area: mobile;
	margin: -1rem 0 -1rem -1rem;
}

body[data-touch="no"] .panel-close-mobile {
	display: none;
}

body[data-touch="yes"] .panel-close-desktop {
	display: none;
}

/* Tabs */
.nav {
	display: flex;
	flex-wrap: wrap;
	column-gap: 0.5rem;
	padding-left: 0;
	margin-bottom: 0;
	list-style: none;
}

.nav.nav-background {
	background-color: #fafafa;
	border: 1px solid #eee;
	border-radius: 3px;
	margin-top: 1rem;
	padding: 0.75rem;
}

.nav-link {
	display: block;
	padding: 0.5rem 1rem;
	transition: color 0.25s;
	border-radius: var(--radius);
}

.nav-link.active,
.nav-link:hover {
	color: #fff;
	background-color: var(--secondary);
	text-decoration: none;
}

.emoji {
	height: 1.52em;
	width: 1.52em;
	margin: 0 .05em 0 .1em;
	vertical-align: -0.5em;
}

/* Dropdowns */
body.dropdown-fullscreen-open {
	overflow: hidden;
}

body.dropdown-fullscreen-open[data-touch="no"] {
	padding-right: 15px;
	width: 100vw;
}

.dropdown-placeholder {
	display: none;
}

.dropdown-list {
	display: none;
	grid-template-columns: 1fr;
}

.dropdown-list:not(.dropdown-list-unstyled) {
	border: 1px solid #fff;
	border-radius: var(--radius);
}

.dropdown-list:not(.dropdown-list-unstyled):not(.dropdown-list-minimalist) {
	background-color: var(--primary);
	padding: 0.5rem 0;
}

.dropdown-list:not(.dropdown-list-unstyled):not(.dropdown-list-minimalist).dropdown-list-bottom {
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.25) 0, transparent 100%);
}

.dropdown-list:not(.dropdown-list-unstyled):not(.dropdown-list-minimalist).dropdown-list-top {
	background: linear-gradient(to top, rgba(0, 0, 0, 0.25) 0, transparent 100%);
}

.dropdown-list.fullscreen-closing {
	opacity: 0;
}

.dropdown-list.dropdown-list-open {
	display: grid;
	max-height: calc(100vh - 3rem);
	overflow-y: auto;
}

.dropdown-list.dropdown-list-2 {
	grid-template-columns: 1fr 1fr;
}

.dropdown-list.dropdown-list-3 {
	grid-template-columns: 1fr 1fr 1fr;
}

body[data-touch="no"] .dropdown-list.dropdown-list-open:not(.dropdown-list-unstyled) {
   box-shadow: 0 0 1rem rgb(0 0 0 / 20%);
}

body[data-touch="yes"] .dropdown-list.dropdown-list-open {
	font-size: 1.1rem;
	max-width: calc(100vw - 1.5rem);
}

body[data-touch="yes"] .dropdown-list:not(.dropdown-list-minimalist).dropdown-list-open {
	min-width: 50%;
}

.dropdown-toggle:after {
	display: inline-block;
	content: "";
	margin-left: 0.5em;
	vertical-align: middle;
}

.h-menu,
.h-back {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: var(--primary);
	color: white;
	border-radius: 50%;
	font-size: 0.66em;
	width: 1.5em;
	height: 1.5em;
	line-height: 1;
	margin-right: .5em;
	transition: background-color 0.5s;
}

@media print {

	.h-menu,
	.h-back {
		display: none;
	}

}

a.h-back {
	text-decoration: none;
}

@media (max-width: 767px) {

	.h-back {
		display: none;
	}

}

.h-menu:hover,
.h-back:hover {
	color: white;
	background-color: var(--primary);
}

.h-menu svg {
	margin-bottom: -0.25rem;
}

h1 .dropdown-toggle:after {
	font-size: 1.25rem;
}

h2 .dropdown-toggle:after {
	font-size: 1.15rem;
}

h3 .dropdown-toggle:after {
	font-size: 1.05rem;
}

h4 .dropdown-toggle:after,
h5 .dropdown-toggle:after,
h6 .dropdown-toggle:after {
	font-size: 1rem;
}

.dropdown-toggle[data-dropdown^="bottom"]:after {
	border-top: 0.4em solid;
	border-right: 0.32em solid transparent;
	border-bottom: 0;
	border-left: 0.32em solid transparent !important;
}

.dropdown-toggle[data-dropdown^="top"]:after {
	border-bottom: 0.4em solid;
	border-right: 0.32em solid transparent;
	border-top: 0;
	border-left: 0.32em solid transparent !important;
}

.dropdown-item {
	display: block;
	cursor: pointer;
	width: 100%;
	padding: 0.625rem 1rem;
	color: white;
	line-height: 1.2;
	background-color: transparent;
	border: 0;
	text-align: left;
	font-weight: normal;
}

body[data-touch="yes"] .dropdown-item {
	padding: 0.75rem 1rem;
}

.dropdown-item.selected,
.dropdown-item:hover {
	color: white;
	text-decoration: none;
	background-color: #fff2;
}

.dropdown-item-status {
	font-size: 1.2rem;
	margin-left: 1.5rem;
	line-height: 1;
}

.dropdown-title {
	color: white;
	font-weight: bold;
	padding: 0.25rem 1rem 0.5rem 1rem;
	white-space: nowrap;
	border-bottom: 1px solid white;
}

.dropdown-list-2 .dropdown-title,
.dropdown-list-2 .dropdown-divider,
.dropdown-list-2 .dropdown-subtitle,
.dropdown-list-2 .dropdown-item-full {
	grid-column: span 2;
}

.dropdown-list-3 .dropdown-title,
.dropdown-list-3 .dropdown-divider,
.dropdown-list-3 .dropdown-subtitle,
.dropdown-list-3 .dropdown-item-full {
	grid-column: span 3;
}

.dropdown-title:not(:first-child) {
	padding-top: 0.5rem;
}

.dropdown-subtitle {
	display: flex;
	align-items: center;
	color: #fff;
	font-weight: bold;
	font-size: .9rem;
	padding: 0.75rem 1rem;
	white-space: nowrap;
	line-height: 1.2;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

.dropdown-title + .dropdown-subtitle,
.dropdown-title + .dropdown-item {
	margin-top: 0.5rem;
}

.dropdown-divider {
	height: 0;
	margin: 0.5rem 0;
	border-top: 1px solid white;
}

.dropdown-backdrop {
	position: fixed;
	top: -100px;
	left: -100px;
	width: calc(100vw + 200px);
	height: calc(100vh + 200px);
	background-color: rgba(0, 0, 0, 0.5);
	transition: opacity 0.25s;
}

.dropdown-backdrop.fullscreen-closing {
	opacity: 0;
}

/* Tabs */
div.tabs-v {
	display: grid;
	grid-template: "tabs panel" 1fr / max-content 1fr;
	grid-column-gap: 1rem;
}

div.tabs-h .tab-panel:not(.selected),
div.tabs-v .tab-panel:not(.selected) {
	display: none;
}

div.tabs-item-wrapper {
	display: grid;
	grid-template:
		"tabs label" 1fr / 1fr max-content;
}

@media (max-width: 575px) {

	div.tabs-item-wrapper {
		grid-template:
			"label" auto
			"tabs" auto / 1fr;
		grid-row-gap: 1rem;
	}


}

.tabs-item-label {
	text-align: right;
	align-self: center;
	color: var(--muted);
	line-height: 1;
	padding-right: 0.5rem;
	grid-area: label;
}

div.tabs-item {
	grid-area: tabs;
}

@media print {

	div.tabs-item {
		display: none !important;
	}

}

div.tabs-panel {
	grid-area: panel;
}

div.tabs-item + div.tabs-panel.util-block {
	margin-top: -1.5rem;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

:not(div.tabs-v) > div.tabs-item {
	display: flex;
	column-gap: 0.5rem;
	align-items: stretch;
	margin-bottom: 1.5rem;
	border-bottom: 1px solid var(--secondary);
   overflow-x: auto;
}

div.tabs-v > div.tabs-item {
	border-right: 1px solid var(--secondary);
	display: grid;
	grid-template-columns: 1fr;
	grid-row-gap: 0.5rem;
}

.tab-item {
	display: flex;
	align-items: center;
	line-height: 1;
	padding: 1rem 1rem;
	border-bottom: 0.25rem solid transparent;
	color: var(--text);
	font-weight: bold;
	cursor: pointer;
	white-space: nowrap;
}

:not(div.tabs-v) > div.tabs-item .tab-item {
	border-top-left-radius: var(--radius);
	border-top-right-radius: var(--radius);
	justify-content: center;
}

div.tabs-v > div.tabs-item .tab-item {
	border-bottom-left-radius: var(--radius);
	border-top-left-radius: var(--radius);
	padding-right: 2rem;
}

label.tab-item input {
	display: none;
}

.tab-item-count {
	margin-left: 0.5rem;
	font-size: 0.9rem;
	background-color: #000B;
	border-radius: calc(var(--radius) / 2);
	padding: 0.2rem 0.4rem;
	color: white;
	line-height: 1;
}

.tab-item-count:empty {
	display: none;
}

a.tab-item {
	color: var(--text);
	text-decoration: none;
}

.tab-item:hover,
.tab-item.selected {
	color: white;
	background-color: var(--secondary);
}

a.tab-item:hover,
a.tab-item.selected {
	color: white;
}

.tab-item:first-child {
	margin-left: 0;
}

.tab-item:last-child {
	margin-right: 0;
}

@media (max-width: 575px) {

	.tab-item {
		padding: 1rem 0.75rem;
	}

}

@media (max-width: 449px) {

	.tab-item {
      padding: 1rem 0.5rem;
	}

	:not(div.tabs-v) .tab-item {
		margin: 0 0.25rem;
	}

}

/* User settings  */

div.util-buttons {
	display: grid;
	grid-gap: 1rem;
	grid-template-columns: 1fr 1fr 1fr;
}

div.util-buttons:not(:last-child) {
	margin-bottom: 2rem;
}

@media (max-width: 575px) {

	div.util-buttons {
		grid-template-columns: 1fr;
	}

}

@media (min-width: 575px) and (max-width: 991px) {

	div.util-buttons {
		grid-template-columns: 1fr 1fr;
	}

}

div.util-buttons > .util-button {
	padding: 1rem;
	border-radius: var(--radius);
	display: grid;
	grid-template-columns: 1fr auto;
	grid-column-gap: 1rem;
	grid-template-rows: 1fr auto;
	color: white;
	transition: color 0.25s, background-color 0.25s, border-color 0.25s, box-shadow 0.25s;
	text-decoration: none;
}
div.util-buttons > .util-button.disabled {
	opacity: 0.3;
}

div.util-buttons > .util-button > svg {
	font-size: 5rem;
	color: #FFF3;
	transition: color 0.5s;
}

div.util-buttons > .util-button:hover > svg {
	color: #FFF8;
}

div.util-buttons > .util-button div.util-button-text {
	word-wrap: break-word;
	line-height: 1.4;
	font-size: 0.9rem;
	color: #FFFA;
	grid-column: span 2;
	grid-column-start: 1;
}

div.util-buttons > .util-button h4 {
	margin-bottom: 0.5rem;
	line-height: 1.3;
}

@media print {

	nav,
	header,
	footer,
	.btn,
	.dropdown-list-open {
		display: none !important;
	}

	.util-print-hide {
		display: none !important;
	}

	.util-print-block {
		display: block !important;
	}

	.util-print-break-after {
		page-break-after: always;
	}

	.util-print-break-inside-avoid {
		page-break-inside: avoid;
	}

}

@font-face {
	font-family: 'Open Sans';
	src: url(/asset/framework/util/fonts/OpenSans-Light.woff) format('woff');
	font-weight: 200;
	font-style: normal;
}

@font-face {
	font-family: 'Open Sans';
	src: url(/asset/framework/util/fonts/OpenSans-Regular.woff) format('woff');
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: 'Open Sans';
	src: url(/asset/framework/util/fonts/OpenSans-Bold.woff) format('woff');
	font-weight: 700;
	font-style: normal;
}

.font-open-sans {
	font-family: 'Open Sans', sans-serif;
}
:root {
	--demo: #722364;
	--soil: #48372f;
	--harvest: #2e71b5;
	--order: #7e1661;
	--todo: slategray;
	--done: teal;
	--muted: #707079;
	--selling: #722583;
	--basket: #b17e2f;
	--background-body: #e4e4e8;
	--background: #ededf1;
	--background-light: #f5f5f7;
	--background-odd: #fafafc;
	--background-even: #ededf1;
	--primary: #373737;
	--secondary: #4a4a70;
	--secondary-dark: #3a3a55;
	--training: #fdf7c9;
	--shop: #006d6b;
	--border: #ddd;
	--dark: #212529;
	--pro: #008874;
	--private: #527a00;
}

::selection {
  color: var(--primary);
  background: #e5e5f3;
}

@media (min-width: 1200px) and (min-height: 600px) {

	:root {
		--mainNav: 3.5rem;
		--mainSticky: 0rem;
	}

}

@media (max-width: 1199px), (max-height: 599px) {

	@media (max-width: 767px) {

		:root {
			--farmNav: 5rem;
			--mainNav: 3rem;
			--farmSubNav: 2.75rem;
		}

	}

	@media (min-width: 768px) {

		:root {
			--farmNav: 4rem;
			--mainNav: 3rem;
			--farmSubNav: 2.5rem;
		}

	}

	:root {
		--mainSticky: calc(var(--farmNav) + var(--farmSubNav));
	}

}

:root {
	--nav: calc(var(--mainNav) + var(--farmNav) + var(--farmSubNav));
}

.color-selling {
	color: var(--selling);
}

.color-todo {
	color: var(--todo);
}

.color-pro {
	color: var(--pro);
}

.color-private {
	color: var(--private);
}

.bg-harvest {
	background-color: var(--harvest) !important;
}
.bg-demo {
	background-color: var(--demo) !important;
}
.bg-todo {
	background-color: var(--todo) !important;
}
.bg-done {
	background-color: var(--done) !important;
}
.bg-order {
	background-color: var(--order) !important;
}
.bg-selling {
	background-color: var(--selling) !important;
}

.bg-pro {
	background-color: var(--pro);
}

.bg-private {
	background-color: var(--private);
}

.bg-shop {
	background-color: var(--shop) !important;
}

html {
	font-size: 13px;
}

@media (min-width: 1600px) and (min-height: 992px) {

	html {
		font-size: 16px;
	}

}

@media (min-width: 1400px) and (max-width: 1599px) and (min-height: 992px) {

	html {
		font-size: 15px;
	}

}

@media (min-width: 1400px) and (max-height: 992px) {

	html {
		font-size: 14px;
	}

}

@media (min-width: 1300px) and (max-width: 1399px) {

	html {
		font-size: 14px;
	}

}

@media (min-width: 1200px) and (max-width: 1299px) {

	html {
		font-size: 13px;
	}

}

@media (max-width: 449px) {

	html {
		font-size: 12px;
	}

}

@media print {

	html {
		font-size: 12px !important;
	}

}


h1 {
	font-weight: lighter;
	font-size: 2.5rem;
}

@media (max-width: 575px) {

   h1 {
      font-size: 2rem;
	}

}

h1 a {
	color: inherit;
	transition: color 0.5s;
}

h1 a:hover {
	text-decoration: none;
	color: var(--primary);
}

h2 {
	font-weight: lighter;
	font-size: 2rem;
}

@media (max-width: 575px) {

	h2 {
		font-size: 1.75rem;
	}

}

h3 {
	font-weight: bold;
	font-size: 1.3rem;
}

h4 {
	font-size: 1.25rem;
}

h5 {
	font-weight: bold;
	font-size: 1rem;
}

body {
	display: flex;
	flex-direction: column;
	background: linear-gradient(90deg, var(--background-body) 0, #e8e8ea 100%);
}

@media print {

	body {
		background: transparent;
	}

}

@media (max-width: 1199px), (max-height: 599px) {

	body {
		min-height: 150vh;
	}

}

@media (min-height: 768px) and (min-width: 768px) {

	body {
		min-height: 100vh;
	}

}

header, main, footer, nav {
	width: 100%;
}
.color-harvest {
	color: var(--harvest) !important;
}
.color-order {
	color: var(--order) !important;
}

body[data-template~="panel"] header,
body[data-template~="panel"] main,
body[data-template~="panel"] footer,
body[data-template~="panel"] nav {
	display: none;
}

/* Header */
body[data-template~="default"] header {
	padding: 1.5rem 0;
}

@media (min-height: 768px) and (min-width: 768px) {

	body[data-template~="farm"] header {
		top: var(--mainNav);
	}

	body > nav {
		position: sticky;
		top: 0;
	}

}


@media (max-width: 1199px), (max-height: 599px) {

	body[data-template~="farm"] header {
		top: 0;
	}

}

body[data-template~="farm"] main > div.container:not(:first-child) {
	margin-top: 0;
}

header h1:only-child {
	margin: 0;
}

body {
	overflow-y: scroll;
}

body > nav {
	z-index: 501;
	font-weight: normal;
	color: white;
	background-color: var(--primary);
	box-shadow: 0 0 1rem #0003;
}

body[data-demo] > nav {
	background-color: var(--demo);
}

body > nav a {
	color: white;
}

body > nav a.nav-logo {
	display: inline-block;
	width: 1.75rem;
	min-width: 1.75rem;
	height: 1.75rem;
	position: relative;
	align-self: center;
	margin-right: 1rem;
}

body > nav a.nav-logo div.logo-wrapper {
	transition: all 0.5s;
	transition-delay: 0s;
}

body > nav a.nav-logo div.logo-wrapper div.logo-top-left-circle,
body > nav a.nav-logo div.logo-wrapper div.logo-bottom-right-circle {
	transition: all 0.5s;
	transition-delay: 0s;
}

body > nav a.nav-logo:hover div.logo-wrapper {
	transition-delay: 0.5s;
	transform: rotate(-360deg);
	letter-spacing: 30px;
	color: transparent;
	opacity: 0;

}

body > nav a.nav-logo:hover div.logo-wrapper div.logo-top-left-circle {
	transition-delay: 0.5s;
	top: -100%;
	left: -100%;
}


body > nav a.nav-logo:hover div.logo-wrapper div.logo-bottom-right-circle {
	transition-delay: 0.5s;
	top: 100%;
	left: 100%;
}

body > nav a.nav-logo div.nav-logo-home {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	opacity: 0;
	transition: all 0.5s;
	transition-delay: 0s;
	display: flex;
	align-items: center;
	justify-content: center;
}

body > nav a.nav-logo:hover div.nav-logo-home {
	opacity: 1;
	transition-delay: 0.5s;
}

body > nav a.nav-logo svg {
	font-size: 2rem;
}

div.nav-wrapper {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	height: var(--mainNav);
	min-height: var(--mainNav);
	column-gap: 0.5rem;
}

body > nav ul > li > form > button {
	color: black;
}

body > nav a.nav-news {
	display: flex;
	justify-content: center;
	flex-direction: column;
	margin: 0;
	padding: 0 .5rem;
	background-color: #fff4;
	line-height: 1.3;
}

@media (min-width: 576px) {

	body > nav a.nav-news {
		padding: 0 1rem;
	}

}

body > nav .nav-news-title {
	font-size: 0.9rem;
	letter-spacing: 0.2px;
}

body > nav .nav-news-name {
	color: #fffa;
	font-size: 0.8rem;
	letter-spacing: -0.1px;
	text-align: right;
}

body > nav ul.nav-actions {
	display: flex;
	justify-content: flex-end;
	list-style-type: none;
	margin: 0;
	padding: 0;
}

body > nav ul.nav-actions li {
	display: flex;
	align-items: center;
	padding: 0;
}

@media (max-width: 575px) {

	body > nav ul.nav-actions li.nav-action-optional {
		display: none;
	}

}

body > nav .nav-item {
	display: flex;
	align-items: center;
	height: 100%;
	padding: 0 1rem;
	transition: background-color 0.5s;
}

@media (max-width: 575px) {

	body > nav .nav-item {
		padding: 0 0.5rem;
	}

}

body > nav ul.nav-actions a.nav-item:hover {
	background-color: #ffffff20;
}

body > nav ul.nav-actions li > a.nav-icon {
	font-weight: bold;
}

@media (max-width: 575px) {

	body > nav ul.nav-actions li > a.nav-icon {
		font-size: 0.9rem;
	}

}


@media (min-width: 576px) and (max-width: 767px) {

	body > nav ul.nav-actions li > a.nav-icon {
		font-size: 0.9rem;
	}

}

.nav-deleted {
	background-color: var(--danger);
	line-height: 1.2;
}

.nav-deleted,
.nav-deleted a,
.nav-deleted a:hover {
	font-weight: bold;
}

@media (max-width: 767px) {

	.nav-deleted {
		display: none;
	}

}

body > nav a:active:not(.dropdown-item),
body > nav a:hover:not(.dropdown-item) {
	text-decoration: none;
}

.nav-title {
	display: flex;
	align-items: center;
	line-height: 1.2;
}

body > nav .nav-user {
	line-height: 1.2;
}

body > nav .nav-user > *:not(:first-child) {
	margin-left: .5rem;
}


/* Logo */
div.logo-wrapper {
	position: relative;
}

div.logo-middle-circle {
	position: absolute;
	left: 28%;
	top: 28%;
	background-color: white;
	border-radius: 50%;
	width: 44%;
	height: 44%;
	box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.3);
}

div.logo-top-left-circle {
	position: absolute;
	left: 0;
	top: 0;
	width: 50%;
	height: 50%;
	border-top-left-radius: 100%;
	background-color: white;
	opacity: 0.25;
}

div.logo-bottom-right-circle {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 50%;
	height: 50%;
	border-bottom-right-radius: 100%;
	background-color: white;
	opacity: 0.25;
}

/* Main */
main {
	flex-grow: 1;
}

main > div.container {
	margin-top: 1.5rem;
}

/* Footer */
footer:empty {
	display: none;
}

footer:not(:empty) {
	padding: 4rem 0 1rem;
}

footer a {
	color: var(--muted);
}

div.footer-content {
	font-size: 0.9rem;
	padding: 2rem 0;
}

div.footer-content-text {
	border-top: 1px solid var(--border);
	padding: 1rem 2rem 0;
	color: var(--secondary);
	text-align: center;
}

div.footer-content-legal {
	padding: 1rem 2rem;
	display: flex;
	column-gap: 3rem;
	justify-content: center;
}

@media (max-width: 575px) {

	div.footer-content-legal {
		padding: 1rem;
		column-gap: 1rem;
	}

}

.text-secondary a {
	color: inherit;
	text-decoration: underline;
}

.util-unit {
	white-space: nowrap;
}

.plant-start {
	font-weight: bold;
	display: inline-block;
	white-space: nowrap;
	font-size: 0.9em;
	margin-left: 0.25em;
	background-color: #8881;
	border-radius: 0.5em;
	line-height: 1;
}

.plant-start-background {
	padding: 0.25em 0.375em;
}

.plant-start-border {
	border: 1px solid #8888;
	padding: 0.25em;
}

div.soil-icon {
	display: inline-block;
	vertical-align: middle;
	background-image: url(/asset/ouvretaferme/production/image/soil.jpg);
	background-size: cover;
	border-radius: 50%;
}

div.util-vignette {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 1.5rem;
	align-items: center;
}

div.util-vignette > *:first-child {
	align-self: start;
}

@media (max-width: 575px) {

	div.util-vignette {
		gap: 1rem;
	}

}

div.logout-external {
	position: fixed;
	bottom: 10px;
	right: 10px;
	max-width: 300px;
	z-index: 100000;
	font-size: 0.875rem;
	padding: 1rem;
	border-radius: var(--radius);
	color: white;
	background-color: var(--warning);
}

div.logout-external a {
	color: white;
	text-decoration: underline;
}

code {
	background: rgba(0, 0, 0, 0.05);
	border-radius: var(--radius);
	padding: 1rem;
	display: block;
}


address {
	margin: 0.5rem 0 0.5rem 1rem;
	border-left: 2px solid var(--border);
	padding-left: 1rem;
}


.btn-selling,
.btn-outline-selling:not(.btn-readonly):hover {
	color: white;
	background-color: var(--selling);
	border-color: var(--selling);
}

.btn-selling:not(.btn-readonly):hover {
	color: white;
	box-shadow: inset 0px 0px 0 100px rgba(0, 0, 0, .1);
}

.btn-outline-selling {
	color: var(--selling);
	border-color: var(--selling);
}

.btn-done,
.btn-outline-done:not(.btn-readonly):hover {
	color: white;
	background-color: var(--done);
	border-color: var(--done);
}

.btn-done:not(.btn-readonly):hover {
	color: white;
	box-shadow: inset 0px 0px 0 100px rgba(0, 0, 0, .1);
}

.btn-outline-done {
	color: var(--done);
	border-color: var(--done);
}

.btn-todo,
.btn-outline-todo:not(.btn-readonly):hover {
	color: white;
	background-color: var(--todo);
	border-color: var(--todo);
}

.btn-todo:not(.btn-readonly):hover {
	color: white;
	box-shadow: inset 0px 0px 0 100px rgba(0, 0, 0, .1);
}

.btn-outline-todo {
	color: var(--todo);
	border-color: var(--todo);
}

.btn-harvest {
	background: var(--harvest);
	color: white;
}

.btn-harvest:hover {
	color: white;
	box-shadow: inset 0px 0px 0 100px rgba(0, 0, 0, .1);
}

.btn-outline-private {
	color: var(--private);
	border-color: var(--private);
}

.btn-outline-private:hover {
	background: var(--private);
	color: white;
}

.btn-outline-pro {
	color: var(--pro);
	border-color: var(--pro);
}

.btn-outline-pro:hover {
	background: var(--pro);
	color: white;
}
body[data-template~="shop"] {
	background: var(--background);
}

@media (min-width: 1400px) {

	html:has(> body[data-template~="shop"]) {
		font-size: 16px;
	}

}

@media (min-width: 992px) and (max-width: 1399px) {

	html:has(> body[data-template~="shop"]) {
		font-size: 15px;
	}

}

@media (min-width: 450px) and (max-width: 991px) {

	html:has(> body[data-template~="shop"]) {
		font-size: 14px;
	}

}

@media (max-width: 449px) {

	html:has(> body[data-template~="shop"]) {
		font-size: 13px;
	}

}

body[data-template~="shop"] .container {
	max-width: 1400px;
}

body[data-template~="shop-embedded"] {
	display: block;
	overflow-y: hidden;
}

body[data-template~="shop-embedded"] > nav,
body[data-template~="shop-embedded"] > header,
body[data-template~="shop-embedded"] > footer {
	display: none;
}

.shop-title {
	display: flex;
	align-items: center;
	column-gap: 1rem;
}

.shop-header {
	display: grid;
	grid-gap: 1rem 2rem;
}

.shop-header-with-logo {
	grid-template-columns: auto 1fr;
}

@media (max-width: 575px) {

	.shop-header-with-logo {
		grid-template-columns: 1fr;
		align-items: center;
	}

}

.shop-header-image:not(:empty) {
	width: 8rem;
}

@media (max-width: 575px) {

	.shop-header-image {
		justify-self: center;
	}

}

@media (max-width: 575px) {

	.shop-header-content {
		text-align: center;
	}

}

@media (min-width: 576px) {

	.shop-header-content {
		align-self: center;
	}

}

.shop-header-content h1 {
	margin-bottom: 0.5rem;
	font-size: 3rem;
}

@media (max-width: 449px) {

	.shop-header-content h1 {
		font-size: 2.5rem;
	}

}

.shop-header-date {
	grid-area: date;
	display: grid;
	grid-column-gap: 1rem;
	grid-template-columns: 1fr 1fr;
	max-width: 45rem;
}

@media (max-width: 575px) {

	.shop-header-date {
		grid-column-gap: var(--container-xs-padding);
	}

}


.shop-header-flow {
	margin-bottom: 2rem;
}

.shop-header-date-days {
	display: flex;
	column-gap: 1rem;
}

.shop-header-date-days a {
	text-decoration: none;
	border-radius: var(--radius);
	padding: 1rem;
	text-align: center;
	color: var(--secondary);
}

.shop-header-date-days a .shop-header-date-day-name {
	text-transform: uppercase;
	font-size: 0.9rem;
}

.shop-header-date-days a .shop-header-date-day-value {
	font-size: 1.4rem;
	letter-spacing: -0.1px;
}

.shop-header-date-days a:hover,
.shop-header-date-days a.selected {
	background-color: var(--secondary);
	color: white;
}

.shop-header-block {
	display: grid;
	grid-template-columns: 1fr;
	align-content: center;
	padding: 1rem;
	margin: 0;
	border-radius: var(--radius);
	border: 2px solid var(--border);
}

.shop-header-date-day,
.shop-header-date-content {
	line-height: 1.2;
	font-size: 1.1rem;
	font-weight: lighter;
}

.shop-header-block h4 {
	font-size: 1.2rem;
	font-weight: bold;
	margin: 0 0 1rem;
}

@media (max-width: 449px) {

	.shop-header-block h4 {
		font-size: 1.2rem;
	}

}

.shop-header-period {
	line-height: 1.4;
	font-size: 0.9rem;
}

.shop-header-period > div {
	padding: 0 0.5rem;
}

.shop-header-description {
	color: var(--primary);
	text-align: left;
	margin-bottom: 1rem;
}

.shop-header-description-full-link {
	text-align: center;
}

@media (max-width: 575px) {

	.shop-header-description {
		background: transparent;
		margin-top: 1rem;
	}

	.shop-header-description .reador > p:first-child {
		text-align: center;
	}

	.shop-header-description:not(.shop-header-description-full) .reador > *:not(:first-child) {
		display: none;
	}

	.shop-header-description.shop-header-description-full .shop-header-description-full-link {
		display: none;
	}

}

@media (min-width: 575px) {

	.shop-header-description-full-link {
		display: none;
	}

}

span.shop-closed {
	color: var(--danger);
}

div.shop-identification {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 1rem;
	margin-top: 1rem;
}

@media (max-width: 767px) {

	div.shop-identification {
		grid-template-columns: 1fr;
	}

}

div.shop-identification > * {
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 1rem;
}

div.shop-widget-wrapper {
	display: grid;
	grid-gap: 1rem;
	grid-template-columns: 1fr 1fr;
	margin-bottom: 2rem;
}

@media (max-width: 767px) {

	div.shop-widget-wrapper {
		grid-template-columns: 1fr;
	}

}

div.shop-widget {
	padding: 1rem;
	background-color: white;
	box-shadow: 1px 1px 1px #e3e3e3;
}

@media (max-width: 575px) {

	div.shop-widget:not(:last-child) {
		border-bottom: 1px solid var(--border);
	}

}

div.shop-widget-farm {
	margin-bottom: 1rem;
}

div.shop-widget-farm ,
div.shop-widget-farm a {
	font-weight: normal;
	font-size: 1.2rem;
	color: var(--text);
}

div.shop-widget-farm .farm-vignette-view {
	margin-right: 0.5rem;
}

div.shop-widget > h4 a {
	text-transform: uppercase;
	letter-spacing: 0.6px;
}

@media (min-width: 576px) {

	div.shop-widget {
		border-radius: var(--radius);
	}

}

div.shop-widget .shop-header-date {
	max-width: 100%;
}

div.shop-widget-order {
	margin-top: 1rem;
}

.shop-list {
	display: grid;
	grid-gap: 1rem;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto auto;
}

@media (max-width: 767px) {

	.shop-list {
		grid-template-columns: 1fr;
	}

}

.shop-list-item {
	margin-bottom: 0;
	display: grid;
	grid-template-rows: auto auto;
	grid-gap: 1rem;
	color: var(--text);
}

@supports (grid-template-rows: subgrid) {

	.shop-list-item {
		grid-template-rows: subgrid;
		grid-row: span 2;
	}

}

.shop-list-item-header {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	column-gap: 1rem;
	grid-column: span 2;
}

.shop-list-item-shared {
	border-radius: var(--radius);
	color: white;
	background-color: var(--secondary);
	font-size: 1rem;
	font-weight: normal;
	padding: 0.25rem 0.75rem;
	vertical-align: middle;
}

.shop-list-item-content {
	grid-column: span 2;
	border-top: 1px solid var(--border);
	padding-top: 1rem;
	margin-left: -1rem;
	margin-right: -1rem;
	padding-left: 1rem;
	padding-right: 1rem;
}

.shop-list-item-content h4 {
	font-weight: normal;
}

.shop-list-item-content dd span {
	color: white !important;
}

.shop-list-item:hover {
	text-decoration: none;
}

.shop-list-item h2 {
	align-self: center;
	color: var(--secondary);
	margin-bottom: 0;
	font-size: 1.6rem;
}

a.shop-share-range-department {
	color: var(--text);
}
/* Vignette */
.media-circle-view {
	position: relative;
	border-radius: 50%;
	width: 100%;
	min-width: 100%;
	height: 100%;
	text-decoration: none;
	display: inline-block;
	vertical-align: middle;
	background-size: cover;
	background-position: center center;
	vertical-align: middle;
}

.media-vignette-default {
	text-align: center;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-variant: small-caps;
	font-weight: bold;
	color: black;
	background-color: var(--background);
	line-height: 1;
	border: 1px solid var(--border);
	text-decoration: none !important;
}

/* Logo */
.media-rectangle-view {
	position: relative;
	width: 100%;
	min-width: 100%;
	height: 100%;
	text-decoration: none;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	vertical-align: middle;
}

body[data-touch="no"] .media-upload-capture {
	display: none;
}

.media-image-upload {
	width: 100%;
	height: 100%;
	font-size: 2rem;
	border-radius: inherit;
	color: white;
	position: relative;
}

.media-image-content {
	position: relative;
	width: 100%;
	height: 100%;
}

.media-image-action {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: inherit;
}

.media-image-action > a {
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
	width: 100%;
	height: 100%;
	position: relative;
	background-color: rgba(0, 0, 0, 0.25);
	border-radius: inherit;
	transition: all 0.5s;
	color: white;
}

.media-image-action:hover > a {
	background-color: rgba(0, 0, 0, 0.5);
}

.media-image-upload:not(.media-image-upload-empty) .media-image-action:not(:hover) > a {
	opacity: 0;
}

.message-info {
	color: #bbb;
}

div.progress-container {
	width: 200px;
	height: 2rem;
	position: relative;
}

div.progress-container + div.progress-container {
	margin-top: 1rem;
}

div.progress-container div.progress {
	position: absolute;
	left: 0;
	bottom: 0;
	right: 0;
	top: 0;
	border-radius: var(--radius);
	background-color: rgba(0, 0, 0, 0.1);
}

div.progress-container div.progress-bar {
	height: 100%;
	width: 0;
	background: var(--secondary);
	transition: width 0.5s;
	border-radius: var(--radius);
}

div.progress-container div.progress-state {
	color: white;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	position: absolute;
	left: 0;
	bottom: 0;
	right: 0;
	top: 0;
	font-weight: bold;
}

#progress-media {
	position: fixed;
	background-color: rgba(0, 0, 0, 0.5);
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	z-index: 10000;
}

/* Image resizing */
div.resize-preview {
	overflow: hidden;
	position: relative;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
}

div.resize-window {
	position: absolute;
	border: 2px solid white;
	box-shadow: 0 0 0 1000px rgba(240, 240, 240, 0.66);
	z-index: 5;
	pointer-events: none;
}

div.resize-window-circle {
	border-radius: 50%;
}

div.resize-drag-container {
	z-index: 10;
	position: absolute;
	pointer-events: none;
}

div.resize-zoom {
	max-width: 500px;
	display: none;
	margin: 1rem auto 0.5rem auto;
	align-items: center;
}

div.resize-zoom > div {
	margin: 0 0.6rem;
}

div.resize-zoom > div.resize-icon {
	color: var(--muted);
	font-size: 1.2rem;
}

div.resize-zoom > div.resize-slider {
	flex-grow: 1;
}

div.resize-warning {
	color: var(--warning);
	font-size: 0.95rem;
	text-align: center;
	margin-top: 1rem;
}

canvas.resize-canvas {
	position: absolute;
	display: none;
}

#upload-progress {
	position: fixed;
	padding: 0.5rem 1rem;
	top: 1rem;
	left: 1rem;
	background: #008bc0;
	color: white;
	font-weight: bold;
	z-index: 10000;
}

#upload-progress[data-n="1"] {
	display: none;
}

#upload-progress a {
	text-decoration: underline;
	color: inherit;
}
div.editor {
	width: 100%;
	min-height: 12rem;
	height: initial;
	cursor: text;
	outline: 0;
	padding: 8px;
	z-index: 10;
	position: relative;
}

div.editor:after {
	clear: both;
	content: ' ';
	display: block;
}


div.editor:focus {
	border-color: transparent;
}

div.editor.editor-highlight {
	margin-top: 40px;
	padding: 10px;
	background-color: white;
}

body.template-editor-first div.editor:focus,
div.editor.editor-bordered:focus {
	border-color: var(--muted);
}

div.editor:not(:focus):empty:before {
	content: attr(data-placeholder-empty);
	font-style: italic;
	font-weight: lighter;
	color: var(--muted);
	display: block; /* For Firefox */
}

div.reador {
	position: relative;
}

div.readitor.spaced li,
div.readitor.spaced p {
	line-height: 2;
}

div.reador p {
	position: relative;
}

div.reador.spaced p:not(:last-child) {
	margin-bottom: 1rem;
}

div.reador p:last-child {
	margin-bottom: 0;
}

div.editor p {
	margin-bottom: 1rem;
}

div.readitor p {
	overflow-wrap: break-word;
}

div.readitor [data-align="left"] {
	text-align: left;
}

div.readitor [data-align="center"] {
	text-align: center;
}

div.readitor [data-align="right"] {
	text-align: right;
}

div.readitor [data-align="justify"] {
	text-align: justify;
}

div.readitor b {
	font-weight: bold;
}

div.readitor ol:last-child,
div.readitor ul:last-child {
	margin-bottom: 0;
}

div.editor p.selected {
	background-color: #fafafa;
}

div.editor p a {
	pointer-events: none;
}

div.reador h2,
div.editor p[data-header="0"] {
	font-size: 1.6rem;
	line-height: 1.5;
	margin-bottom: 1.2rem;
}

div.reador h3,
div.editor p[data-header="1"] {
	font-size: 1.4rem;
	line-height: 1.5;
	margin-bottom: 0.8rem;
}

div.reador h4,
div.editor p[data-header="2"] {
	font-size: 1.2rem;
	line-height: 1.5;
	margin-bottom: 0.8rem;
	font-weight: bold;
}

@media (max-width: 767px) {

	div.reador h2,
	div.editor p[data-header="0"] {
		font-size: 1.5rem;
	}

	div.reador h3,
	div.editor p[data-header="1"] {
		font-size: 1.3rem;
	}

	div.reador h4,
	div.editor p[data-header="2"] {
		font-size: 1.15rem;
	}

}

@media (max-width: 575px) {

	div.reador h2,
	div.editor p[data-header="0"] {
		font-size: 1.4rem;
	}

	div.reador h3,
	div.editor p[data-header="1"] {
		font-size: 1.2rem;
	}

	div.reador h4,
	div.editor p[data-header="2"] {
		font-size: 1.1rem;
	}

}

div.reador h3 a,
div.editor p[data-header="1"] a {
	color: inherit;
}

div.editor p button {
	cursor: pointer;
}

div.editor-buttons {
	margin-bottom: 2px;
}
div.editor-buttons>div.input-group {
	margin-right: 2px;
}

div.editor-box-figure {
	position: absolute;
	z-index: 750;
	width: 100%;
	left: 0px;
	top: -35px;
	display: flex;
	justify-content: center;
	font-family: "Open Sans";
}

div.editor-box-figure button,
.editor-action {
	padding: 0.5rem;
	color: white;
	border: 0;
	background-color: transparent;
	text-align: left;
	appearance: none;
}

div.editor-box-figure button i,
.editor-action i {
	color: white;
}

div.editor-box-figure button span,
.editor-action span {
	font-weight: bold;
	font-size: 0.875rem;
	padding-left: 0.5rem;
	display: inline-flex;
	flex-direction: column;
}

div.editor-box-figure a.editor-action.editor-action-intro {
	color: white !important;
	text-decoration: none;
	text-transform: uppercase;
}

div.editor-box-figure a.editor-action.editor-action-intro i {
	font-size: 1.5rem;
}

figure[data-size="left"] div.editor-box-figure span.editor-box-figure-label,
figure[data-size="right"] div.editor-box-figure span.editor-box-figure-label {
	display: none;
}

div.editor-box-figure div.editor-box-figure-container {
	border-top-left-radius: 0.25rem;
	border-top-right-radius: 0.25rem;
	background-color: black;
	margin: 0 0.5rem;
	padding: 0rem 0.75rem;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
}

div.editor-box-figure [data-action="figure-move"] {
	color: white !important;
	cursor: move;
}

.editor-action-plus {
	position: relative;
}

.editor-action-plus svg:not(.asset-icon-plus-circle) {
	opacity: 1;
	transition: all 0.5s;
}

.editor-action-plus:hover svg:not(.asset-icon-plus-circle) {
	opacity: 0;
	transition-delay: 0.5s;
}

.editor-action-plus svg.asset-icon-plus-circle {
	position: absolute;
	top: 6px;
	left: -5px;
	border-radius: 50%;
	background-color: black;
	transition: all 0.5s;
	font-size: 0.9rem;
}

.editor-action-plus:hover svg.asset-icon-plus-circle {
	top: 11px;
	left: 4px;
	font-size: 1rem;
	transition-delay: 0.5s;
}

div.editor-box-figure div.dropdown-list {
	background-color: #212121;
}

div.editor-box-figure div.dropdown-list > .editor-action {
	display: block;
	width: 100%;
	color: white;
	padding: 0.3rem;
}

div.editor-box-figure div.dropdown-list > .editor-action[disabled] {
	color: var(--muted) !important;
}

div.editor-box-figure div.dropdown-list > .editor-action span {
	white-space: nowrap;
	font-weight: normal;
	padding-right: 0.5rem;
}

div.editor-box-selection {
	position: absolute;
	z-index: 9999;
	font-size: 1.1rem;
	display: none;
	border-radius: 10px;
	padding: 0rem 0.3rem;
	width: auto;
	background-color: black;
}

body[data-touch="yes"] div.editor-box-selection {
	position: fixed;
	right: 0;
	left: 0;
	bottom: 0;
	border-radius: 0;
	justify-content: center;
}

div.editor-box-selection > div.editor-box-selection-icons {
	display: flex;
	align-items: center;
}

div.editor-box-selection button,
div.editor-box-selection a {
	color: white !important;
	padding: 0.35rem 0.35rem;
	border: 0;
	background-color: transparent;
	text-align: left;
}

div.editor-box-figure button:hover,
div.editor-box-selection button:not(.selected):not(.disabled):hover {
	color: #ddd !important;
}

div.editor-box-figure .selected,
div.editor-box-selection .selected {
	color: #afa !important;
}

div.editor-box-selection button.disabled,
div.editor-box-figure button.disabled * {
	color: var(--muted) !important;
}


div.editor-box-selection *.hidden {
	display: none;
}

div.editor-box-selection .separator,
div.editor-box-figure .separator {
	border-left: 1px solid #555;
	width: 1px;
}

div.editor-box-selection .separator {
	margin: 0 0.5rem;
}

div.editor-box-figure .separator {
	margin: 0 0.75rem;
}

@media (max-width: 575px) {

	div.editor-box-figure .separator {
		margin: 0 0.5rem;
	}


}

div.editor-box-figcaption {
	position: absolute;
	bottom: 0;
	right: 0.625rem;
	background-color: #fafafa;
	color: var(--muted);
	padding: 0.125rem 0.5rem;
	border-radius: var(--radius);
	font-size: 0.85rem;
	display: none;
}

div.editor-box-selection span.editor-header {
	font-size: 1.25rem;
	line-height: 1;
}

div.editor-box-selection-link {
	display: none;
}

div.editor-box-selection-link form {
	display: flex;
	align-items: center;
}

div.editor-box-selection-link input {
	max-width: 12rem;
	flex: 1;
	border: 0;
	background-color: transparent;
	color: white;
	padding: 0.2rem;
}

div.editor-box-selection-link a,
div.editor-box-selection-link button {
	text-decoration: none;
	border-left: 1px solid var(--muted);
	padding: 0.5rem;
	font-size: 0.9rem;
}

div.editor-box-selection-link a[data-action="link-close"] {
	color: var(--muted) !important;
}

div.editor-box-selection-link ::-webkit-input-placeholder {
   color: var(--background-light);
	font-style: italic;
}

div.editor-box-selection-link ::-moz-placeholder {
   color: var(--background-light);
	font-style: italic;
}

div.editor-box-selection-link :-ms-input-placeholder {
   color: var(--background-light);
	font-style: italic;
}

input.editor-box-selection-color {
	width: 4rem;
	height: 1.5rem;
	border-radius: var(--radius);
	background-color: white;
	padding: 0;
	margin: 0.25rem 0;
}

div.editor-box-line {
	display: none;
	position: absolute;
	z-index: 9999;
	font-size: 0.9rem;
	pointer-events: none;
}

div.editor-box-line .editor-action {
	pointer-events: auto;
}

div.editor-box-line div.editor-box-line-open {
	display: flex;
}

div.editor-box-line:not(.selected) div.editor-box-line-open {
	align-items: center;
}

div.editor-box-line div.editor-box-line-open button {
	z-index: 20;
}

div.editor-box-line.selected div.editor-box-line-open button {
	transform: rotate(45deg);
}

div.editor-box-line div.editor-box-line-helper {
	z-index: 5;
	color: #bbb;
	font-style: italic;
}

div.editor-box-line div.editor-box-line-helper i {
	border-radius: 50%;
	border: 1px solid #eee;
	display: inline-flex;
	width: 1.375rem;
	min-width: 1.375rem;
	height: 1.375rem;
	justify-content: center;
	align-items: center;
	font-size: 0.85rem;
	margin: 0 0.375rem;
}

div.editor-box-line.selected div.editor-box-line-helper {
	display: none;
}

div.editor-box-line div.editor-box-line-content {
	display: none;
	z-index: 20;
}

div.editor-box-line.selected div.editor-box-line-content {
	display: flex;
}

@media (max-width: 991px) {

	div.editor-box-line {
		left: 0.625rem;
		right: 0.625rem;
		flex-direction: row-reverse;
	}

	div.editor-box-line div.editor-box-line-open {
		flex-direction: row-reverse;
	}

	div.editor-box-line div.editor-box-line-open a {
		margin-right: 0px;

	}

	div.editor-box-line div.editor-box-line-helper {
		flex: 1;
		text-align: left;
		margin-right: 8px;
		font-size: 0.9rem;
	}

}

div.location-validation {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	margin-top: 2rem;
	align-items: center;
}

div.location-delete {
	display: none;
	align-items: center;
}
div.location-delete a {
	margin-left: 0.5rem;
}

div.editor-box-line button.editor-action {
	color: #515151;
	border: 1px solid #515151;
	background-color: white;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	cursor: pointer;
	line-height: 1;
	font-size: 1.125rem;
	width: 32px;
	min-width: 32px;
	height: 32px;
	margin-right: 8px;
	transition: all 0.5s;
	flex-wrap: wrap;
}

div.editor-box-line button.editor-action:focus {
	outline: 0;
}

div.editor-box-line button.editor-action:hover {
	background-color: #eee;
	text-decoration: none;
}

div.editor-box-line-content a.editor-action {
	box-shadow: 0 0 5px #e3e3e3;
}

div.editor-box-media {
	position: absolute;
	z-index: 500;
}

figure[data-interactive="true"] div.editor-box-media {
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

figure[data-interactive="false"] div.editor-box-media {
	top: 0;
	right: 0;
}

div.editor-box-media div.editor-box-media-content {
	text-align: center;
}

div.editor-box-media a.editor-box-media-action {
	border-radius: 50%;
	min-width: 32px;
	width: 32px;
	height: 32px;
	margin: 0.25rem;
	background-color: rgba(0, 0, 0, 0.5);
	border: 2px solid rgba(255, 255, 255, 0.75);
	color: white !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background-color 0.5s;
	text-decoration: none;
	pointer-events: auto;
}

div.editor-box-media a.editor-box-media-action:last-child {
	margin-right: 8px;
}

div.editor-box-media > [data-action="media-move"] {
	cursor: move;
}

div.editor-box-media a.editor-box-media-action:not(.editor-box-media-action-disabled):hover {
	background-color: rgba(0, 0, 0, 0.75);
}

div.editor-box-media a.editor-box-media-action.editor-box-media-action-disabled {
	cursor: default;
	border-color: rgba(255, 255, 255, 0.33);
	color: rgba(255, 255, 255, 0.33) !important;
}

#editor-media-configure {
	margin-bottom: 1rem;
}

#media-rotate-list {
	display: none;
	margin: 0.75rem 0;
	background-color: #fafafa;
	text-align: center;
}

#media-rotate-list.processing {
	opacity: 0.25;
}

#media-rotate-list > p {
	margin: 0.5rem;
	font-size: 0.9rem;
}

#media-rotate-list > a {
	position: relative;
	padding: 25px;
	display: inline-block;
}

#media-rotate-list > a:hover {
	background-color: #ddd;
}

#media-rotate-list > a > img {
	max-width: 100px;
}

#media-rotate-list > a > img.angle-90 {
	transform: rotate(90deg);
}

#media-rotate-list > a > img.angle-180 {
	transform: rotate(180deg);
}

#media-rotate-list > a > img.angle-270 {
	transform: rotate(270deg);
}

/* Figures */

div.readitor figure {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	position: relative;
	clear: both;
}

div.reador figure {
	padding: 0;
	margin: 2rem 0;
}

div.readitor figure[data-size="right"] div.editor-media[data-type="video"],
div.readitor figure[data-size="left"] div.editor-media[data-type="video"] {
	z-index: 1;
}

div.editor figure {
	padding: 8px 0.625rem 12px 0.625rem;
	margin: 22px -0.625rem 18px -0.625rem;
	border-top: 2px solid transparent;
}

div.readitor figure:first-child {
	margin-top: 0;
}

body.template-editor-first div.editor figure {
	padding: 6px 0 12px 0;
	margin: 24px 0 18px 0;
}

div.readitor figure[data-size="left"] {
	min-width: 0px;
	float: left;
}

div.reador figure[data-size="left"] {
	margin: 0.5rem 2rem 1rem 0px;
}

div.editor figure[data-size="left"] {
	padding: 10px;
	margin: -5px 2rem 1rem -10px;
}

div.readitor figure[data-size="right"] {
	min-width: 0px;
	float: right;
}

div.reador figure[data-size="right"] {
	margin: 0.5rem 0px 1rem 2rem;
}

div.editor figure[data-size="right"] {
	padding: 10px;
	margin: -5px -10px 1rem 2rem;
}

@media (max-width: 575px) {

	div.readitor figure[data-size="left"] {
		margin-left: 0rem;
		margin-right: 0.75rem;
	}

	div.readitor figure[data-size="right"] {
		margin-right: 0rem;
		margin-left: 0.75rem;
	}

}

div.editor figure.selected {
	border-top: 2px solid black;
}

div.editor figure:hover {
	background-color: rgba(127, 127, 127, 0.05);
}

div.editor figure[data-interactive="true"]:not(.selected):hover {
	cursor: pointer;
}

div.editor-media.editor-media-placeholder {
	background-color: #bbeebb;
}

div.readitor figure[data-interactive="true"] > div.editor-media {
	box-sizing: border-box;
	width: 100px;
	height: 100px;
	position: relative;
}

div.readitor figure[data-interactive="true"] > div.editor-media:not([data-type="quote"]):not([data-type="grid"]) {
	user-select: none;
}

div.readitor figure[data-interactive="false"] > div.editor-media {
	width: 100%;
	position: relative;
}

div.readitor figure[data-interactive="false"] > div.editor-media[data-type="image"] {
	overflow: hidden;
}

div.editor figure [data-action="media-move"]:hover {
	cursor: move;
}

div.editor div.editor-media.editor-media-placeholder-last {
	background-color: #faeeee;
}

div.readitor div.editor-video {
	margin-left: 0px;
	margin-top: 0px;
	width: 100%;
	height: 100%;
}

div.readitor div.editor-video .nav-left,
div.readitor div.editor-video .nav-right,
div.readitor .editor-image .nav-left,
div.readitor .editor-image .nav-right {
	position: fixed;
	top: calc(50% - 75px);
	height: 150px;
	display: flex;
	align-items: center;
	color: var(--muted);
	font-size: 3.5rem;
	transition: color 0.5s;
	cursor: pointer;
	padding: 1.5rem;
}

div.readitor div.editor-video .nav-left,
div.readitor .editor-image .nav-left {
    left: 0rem;
}


div.readitor div.editor-video .nav-right,
div.readitor .editor-image .nav-right {
    right: 0rem;
}

div.readitor figure > div.editor-media > .editor-image {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;

}

div.readitor figure > div.editor-media > .editor-image img {
	image-orientation: from-image;

}

div.readitor figure[data-size="left"] > div.editor-media > .editor-image:not(.editor-image-zoomed),
div.readitor figure[data-size="right"] > div.editor-media > .editor-image:not(.editor-image-zoomed) {
	z-index: 1;

}

div.readitor figure > div.editor-media > .editor-image > div.editor-image-title {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 0.5rem 0.5rem;
	color: white;
	line-height: 1.2;
	font-size: 0.875rem;
	pointer-events: none;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	transition: background 0.5s;
	z-index: 1;
	overflow: hidden;
}

div.readitor figure > div.editor-media > .editor-image.editor-image-zoomed > div.editor-image-title {
	display: none;
}

div.readitor figure > div.editor-media > .editor-image > div.editor-image-title > i {
	margin-left: 1rem;
	border-radius: 50%;
	font-size: 0.85rem;
	width: 1.33rem;
	min-width: 1.33rem;
	height: 1.33rem;
	min-height: 1.33rem;
	line-height: 1;
	padding-top: 2px;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: background-color 0.5s;
	color: white;
	background-color: rgba(0, 0, 0, 0.25);
}

@media (max-width: 575px) {

	div.readitor figure > div.editor-media > .editor-image > div.editor-image-title > i {
		width: 1.1rem;
		min-width: 1.1rem;
		height: 1.1rem;
		min-height: 1.1rem;
		font-size: 0.85rem;
	}

}


div.readitor figure > div.editor-media > .editor-image > div.editor-image-title > span {
	align-self: center;
	opacity: 0;
	transition: opacity 0.5s;
}

@media (min-width: 576px) {

	body[data-touch="no"] div.readitor figure > div.editor-media:hover > .editor-image > div.editor-image-title {
		background: rgba(0, 0, 0, 0.5);
	}

	body[data-touch="no"] div.readitor figure > div.editor-media:hover > .editor-image > div.editor-image-title > i {
		background-color: transparent;
	}

	body[data-touch="no"] div.readitor figure > div.editor-media:hover > .editor-image > div.editor-image-title > span {
		opacity: 1;
	}

}

div.readitor figure > div.editor-media > .editor-image > img {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
}

div.reador figure > div.editor-media > .editor-image:not([href]):hover {
	cursor: zoom-in;
}

div.reador figure > div.editor-media > .editor-image.editor-image-zoomed:hover {
	cursor: zoom-out;
}

div.editor figure > div.editor-media > div.progress-container {
	padding: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	transition: background-image 0.5s;
}

#editor-image-backdrop {
	position: fixed;
	top: 0px;
	left: 0px;
	right: 0px;
	bottom: 0px;
	background-color: #fff;
	z-index: 1001;
}

a#editor-image-backdrop-close {
	display: block;
	position: fixed;
	right: 0;
	top: 0;
	color: white;
	font-size: 1.5rem;
	padding: 1.5rem;
	z-index: 2001;
}

body[data-touch="no"] a#editor-image-backdrop-close {
	display: none;
}

.editor-image-zoomed {
	z-index: 1002;
	touch-action:none !important;
}

.editor-image-zoomed > * {
	position: relative;
	z-index: 1003;
}

div.readitor figure > div.editor-media iframe {
	width: 100%;
	height: 100%;
}

div.readitor figure > figcaption {
	width: 100%;
	text-align: center;
	font-size: 0.9rem;
	font-style: italic;
	outline: none;
	align-items: center;
	justify-content: center;
	padding: 0.5rem 1rem;
	z-index: 20;
}

@media (min-width: 350px) and (max-width: 767px) {

	div.readitor figure > figcaption {
		font-size: 0.85rem;
		line-height: 1.4;
	}

}

@media (max-width: 349px) {

	div.readitor figure > figcaption {
		font-size: 0.9rem;
		line-height: 1.3;
	}

}

div.editor figure > figcaption {
	display: none;
	margin-bottom: 0px;
	color: #666;
}

div.editor figure > figcaption.figure-moving {
	display: none !important;
}

div.editor figure > figcaption > div {
	width: 100%;
}

div.reador figure > figcaption {
	display: block;
	color: var(--muted);
}

div.editor figure > figcaption:empty:not(:focus):before {
	content: attr(placeholder);
}

.editor-file-line,
.editor-file-figure {
	display: none;
}

/* Default style for figures */

div.readitor figure > div.editor-media {
	padding: 0px 5px 5px 0px;
}

@media (max-width: 991px) {

	div.readitor figure > div.editor-media {
		padding: 0px 3px 3px 0px;
	}

}

div.readitor figure > div.editor-media.gallery-right {
	padding-right: 0px;
}

/* Other styles (hr, quotes...) */
div.readitor div.editor-reference {
	border: 1px solid #ccc;
	background-color: #efefef;
	font-size: 1.125rem;
	padding: 0.5rem 1rem;
	border-radius: var(--radius);
}

div.readitor div.editor-hr {
	height: 1rem;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.5rem;
	color: var(--muted);
	font-weight: bold;
}

div.readitor div.editor-grid {
	display: grid;
	grid-gap: 1rem;
}

div.readitor div.editor-grid[data-columns="2"] {
	grid-template-columns: 1fr 1fr;
}

@media (min-width: 992px) {

	div.readitor div.editor-grid[data-columns="2"] {
		grid-gap: 2rem;
	}

}

div.readitor div.editor-grid[data-columns="3"] {
	grid-template-columns: 1fr 1fr 1fr;
}

@media (min-width: 992px) {

	div.readitor div.editor-grid[data-columns="3"] {
		grid-gap: 1.5rem;
	}

}

div.readitor div.editor-grid[data-columns="4"] {
	grid-template-columns: 1fr 1fr 1fr 1fr;
}

@media (max-width: 991px) {

	div.readitor div.editor-grid[data-columns="4"] {
		grid-template-columns: 1fr 1fr;
	}

}

@media (max-width: 767px) {

	div.readitor div.editor-grid[data-columns="3"] {
		grid-template-columns: 1fr;
	}

	div.reador div.editor-grid[data-columns="3"] > *:empty {
		display: none;
	}

}

@media (max-width: 575px) {

	div.readitor div.editor-grid[data-columns="2"],
	div.readitor div.editor-grid[data-columns="4"] {
		grid-template-columns: 1fr;
	}

	div.reador div.editor-grid[data-columns="2"] > *:empty,
	div.reador div.editor-grid[data-columns="4"] > *:empty {
		display: none;
	}

}

div.editor div.editor-grid > * {
	border: 2px dashed var(--border);
}

div.readitor div.editor-quote {
	display: flex;
	align-items: center;
}

div.readitor div.editor-quote > div.editor-quote-image {
	width: 60px;
	min-width: 60px;
	height: 70px;
	min-height: 70px;
	margin: 5px 5px;
	align-self: flex-start;
	display: flex;
	color: var(--muted);
	align-items: center;
	justify-content: center;
	line-height: 1;
	font-size: 45px;
}

div.editor div.editor-quote {
	min-height: 90px;
}

div.editor div.editor-quote > div.editor-quote-image {
	position: relative;
}

div.editor figure:hover div.editor-quote > div.editor-quote-image:hover {
	cursor: pointer;
}

div.editor figure:hover div.editor-quote > div.editor-quote-image:after {
	content: attr(placeholder);
	font-size: 0.85rem;
	font-weight: lighter;
	line-height: 1.2;
	color: var(--muted);
	height: 20px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	bottom: -12px;
	left: 0;
	right: 0;
	border-radius: var(--radius);
}

div.readitor div.editor-quote > blockquote {
	width: 100%;
	padding: 10px;
	margin: 0;
}

div.editor div.editor-quote > blockquote {
	border: 2px dashed var(--border);
}

div.readitor div.editor-quote > blockquote > * {
	margin-bottom: 0;
}

div.reador div.reador-cut-link {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	right: 1rem;
	bottom: 1rem;
	width: 150px;
	height: 150px;
	z-index: 100;
}

div.reador div.reador-cut-link a {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	border-radius: 50%;
	background-color: rgba(0, 0, 0, 0.5);
	transition: background-color 0.5s;
	color: white !important;
	font-size: 1.25rem;
	border-width: 2px;
	border-style: solid;
	width: 80%;
	height: 80%;
	line-height: 1.2
}

div.reador div.reador-cut-link a > span.reador-cut-link-number {
	font-size: 2rem;
	line-height: 1;
}

div.reador div.reador-cut-link a:hover {
	text-decoration: none;
	background-color: rgba(0, 0, 0, 0.75);
}

/* Editor help */
table.editor-shortcuts tr td:first-child {
	padding-right: 1rem;
	white-space: nowrap
}

table.editor-features {
	font-size: 0.875rem;
	color: var(--muted);
}

table.editor-features tr td:last-child {
	padding-left: 1rem;
}

table.editor-features tr td {
	padding-bottom: 1rem;
}

table.editor-features img {
	border: 2px solid #040;
}

.editor-smileys {
	display: flex;
	flex-wrap: wrap;
}

.editor-smileys > * {
	width: 16.6667%;
}

.date-product-choice tr > *:first-child {
	width: 1%;
}

/* Create */
#shop-date-create:not(.form-error) .util-danger {
	display: none;
}
#shop-date-create.form-error .util-danger {
	display: block;
}
div.shop-write-fqn {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-column-gap: 1rem;
	align-items: baseline;
}

@media (max-width: 991px) {

	div.shop-write-fqn {
		grid-template-columns: 1fr;
	}

}

div.shop-write-fqn .input-group-addon {
	font-size: 0.8rem;
}

div.shop-write-fqn label {
	text-align: right;
	white-space: nowrap;
}

.date-products {
	display: grid;
	align-items: center;
	grid-column-gap: 1rem;
	grid-template-columns: auto auto 1fr max-content;
	padding: 0;
	border-bottom: 1px dashed #ddd;
}

.date-products-fields {
	display: grid;
	align-items: center;
	grid-column-gap: 1rem;
}

.date-products-fields h4 {
	font-size: 1.1rem;
	margin-bottom: 0.5rem;
}

.date-products:not(.selected):not(.util-grid-header) .date-products-fields {
	opacity: 0.25;
	pointer-events: none;
}

@media (min-width: 767px) {

	.date-products-fields h4 {
		display: none;
	}

}

.date-products-info {
	height: 100%;
	display: flex;
	justify-content: center;
	flex-direction: column;
}

@media (min-width: 768px) {

	.date-products .date-products-fields {
		grid-template-columns: 8rem 12rem 10rem;
	}

	.date-products.date-products-with-stock .date-products-fields {
		grid-template-columns: 8rem 10rem 10rem 5rem;
	}

}

@media (max-width: 767px) {

	.date-products {
		grid-template-columns: auto auto 1fr;
	}

	.date-products.util-grid-header {
		display: none;
	}

	.date-products .date-products-info {
		padding-right: 0.5rem;
	}

	.date-products .date-products-fields {
		grid-column: span 3;
		grid-template-columns: 1fr;
		grid-row-gap: 0.5rem;
		padding: 1rem;
	}

	.date-products .date-products-fields > * {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.date-products:not(.selected) .date-products-fields {
		display: none;
	}

}

.date-products > label {
	cursor: pointer;
}

.date-products:not(.util-grid-header):nth-child(odd) {
	background-color: var(--background-odd);
}

.date-products > * {
	padding-top: 0.25rem;
	padding-bottom: 0.25rem;
}

.date-points-title {
	padding: 0.5rem 0;
	font-weight: lighter;
}

.date-points-title:not(:first-child) {
	padding-top: 0.75rem;
}

.date-points-item {
	display: grid;
	align-items: center;
	grid-column-gap: 1rem;
	grid-template-columns: auto 1fr;
	padding: 0;
	border-bottom: 1px dashed #ddd;
}

.date-points-item:not(.util-grid-header):hover {
	background-color: #f5f5f5;
}

.date-points-item > * {
	padding-top: 0.25rem;
	padding-bottom: 0.25rem;
}

.date-points-label:hover {
	cursor: pointer;
}

.shop-select {
	background-color: #0001;
	padding: 0 0.75rem;
	margin: 0;
	min-height: 3rem;
	height: 100%;
	display: flex;
	align-items: center;
}

.date-products.selected .shop-select {
	background-color: var(--secondary);
}

.shop-select-hide > * {
	visibility: hidden;
}

.date-products.selected label {
	font-weight: bold;
}

/* Customization */
#shop-preview {
	width: 100%;
	min-height: 750px;
	border: 1px solid var(--border);
}
.shop-preview-title {
	margin-top: 3rem;
}

/* List of farms */
.shop-farm-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 1rem;
	margin-bottom: 2rem;
}

@media (max-width: 1199px) {

	.shop-farm-grid {
		grid-template-columns: 1fr 1fr;
	}

}

@media (max-width: 767px) {

	.shop-farm-grid {
		grid-template-columns: 1fr;
	}

}

.shop-farm-item {
	display: grid;
	grid-template: "vignette content" 1fr / 3rem 1fr;
	grid-column-gap: 1rem;
	align-items: center;
}

a.shop-farm-item {
	text-decoration: none;
	color: var(--secondary);
	background: white;
	border-radius: var(--radius);
}

@media (max-width: 767px) {

	.shop-farm-item {
		grid-column-gap: 1rem;
	}

}

div.shop-farm-item-vignette {
	grid-area: vignette;
}

div.shop-farm-item-content {
	grid-area: content;
	transition: color .5s;
}

div.shop-farm-item-content h4 {
	margin-bottom: 0;
	font-weight: lighter;
}
.shop-product-wrapper {
	margin-top: 2rem;
}

body:not([data-template~="shop-embedded"]) {

	.shop-product-wrapper {
		margin-bottom: 10rem;
	}

}

.shop-title-group {
	color: var(--secondary);
	font-weight: normal;
}

.shop-title-group-label {
	font-size: 90%;
	color: var(--muted);
}

.shop-product-group {
	display: grid;
	margin-bottom: 3rem;
}

.shop-product-pro .shop-product-group {
	grid-template-columns: 1fr;
	grid-gap: 0.5rem;
}

.shop-product-private .shop-product-group {
	grid-template-columns: repeat(5, 1fr);
	grid-gap: 1.25rem;
}

@media (max-width: 1199px) {

	.shop-product-private .shop-product-group {
		grid-template-columns: repeat(4, 1fr);
	}

}

@media (max-width: 991px) {

	.shop-product-private .shop-product-group {
		grid-template-columns: repeat(3, 1fr);
	}

}

@media (max-width: 767px) {

	.shop-product-private .shop-product-group {
		grid-gap: .75rem;
	}

}

@media (max-width: 575px) {

	.shop-product-private .shop-product-group {
		grid-gap: 1rem;
		grid-template-columns: repeat(2, 1fr);
	}

}

@media (max-width: 399px) {

	.shop-product-private .shop-product-group {
		grid-gap: .5rem;
	}

}

@media (max-width: 359px) {

	.shop-product-private .shop-product-group {
		grid-template-columns: 1fr;
	}

}

.shop-product {
	position: relative;
	display: grid;
	background-color: white;
	padding-bottom: .5rem;
	box-shadow: 1px 1px 1px var(--border);
	border-radius: var(--radius);
}

.shop-product-private .shop-product {
	grid-template:
		"image" 14rem
		"content" auto
		"buy" 1fr / 1fr;
}

.shop-product-private .shop-product.shop-product-composition {
	grid-template:
		"image" 14rem
		"content" auto
		"ingredients" auto
		"buy" 1fr / 1fr;
}

.shop-product-pro .shop-product {
	grid-template:
		 "image content buy" auto / 4rem 1fr 22rem;
	grid-gap: 0.75rem;
	padding: 0.5rem;
}

.shop-product-pro .shop-product.shop-product-composition {
	grid-template:
		 "image content buy" auto
		 "image ingredients buy" auto / 4rem 1fr 22rem;
}

@media (max-width: 767px) {

	.shop-product-pro .shop-product {
		grid-template:
			 "image content" auto
			 "image buy" auto / 4rem 1fr;
	}

	.shop-product-pro .shop-product.shop-product-composition {
		grid-template:
			 "image content" auto
			 "image ingredients" auto
			 "image buy" auto / 4rem 1fr;
	}


}

.shop-product-private .shop-product-composition {
	grid-row: span 2;
}

.shop-product > * {
	padding: 0 0.5rem;
}

.shop-product-image {
	grid-area: image;
	height: 100%;
	background-position: center center;
	background-size: cover;
	position: relative;
	text-align: center;
}

.shop-product-private .shop-product-image {
	border-top-left-radius: var(--radius);
	border-top-right-radius: var(--radius);
	padding-top: 1rem;
}

.shop-product-pro .shop-product-image {
	width: 4rem;
	height: 4rem;
	border-radius: 50%;
	padding: 0;
}

.shop-product-private .shop-header-image-quality {
	color: white;
	position: absolute;
	top: 0.5rem;
	left: 0.5rem;
}

.shop-product-pro .shop-header-image-quality {
	display: inline-block;
	margin-left: 0.5rem;
}

.shop-product-private .shop-product-image-placeholder {
	font-size: 6rem;
	opacity: .2;
	margin-top: 2rem;
}

.shop-product-pro .shop-product-image-placeholder {
	display: none;
}

.shop-header-image-quality .media-rectangle-view {
	background-position: center bottom;
}

.shop-product-content {
	grid-area: content;
	display: flex;
	flex-direction: column;
}

.shop-product-pro .shop-product-content {
	justify-content: center;
}

/* Uniquement dans la boutique */
#shop-basket-summary-list  .shop-product-number,
.shop-product-pro .shop-product-number {
	max-width: 22rem;
}

.shop-product-number .btn {
	border: 1px solid var(--primary);
}

.shop-product-private .shop-product-number .btn {
	border-width: 2px;
}

input.shop-product-number-display {
	text-align: center;
}

.shop-product-private .shop-product-title {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 0.25rem;
}

.shop-product-private .shop-product-title {
	margin-bottom: 0.5rem;
}

.shop-product-pro .shop-product-title {
	display: grid;
	grid-gap: 0.25rem 1rem;
	align-items: center;
}

@media (min-width: 992px) {

	.shop-product-pro .shop-product-title {
		grid-template:
		"infos price" auto / 1fr 10rem;
	}

	.shop-product-pro .shop-product-buy-infos {
		justify-self: end;
	}


}

@media (min-width: 576px) and (max-width: 991px) {

	.shop-product-pro .shop-product-title {
		grid-template:
			"price infos" auto / 1fr 10rem;
	}

}

@media (max-width: 575px) {

	.shop-product-pro .shop-product-title {
		grid-template:
			"price" auto
			"infos" auto / 1fr;
	}

}

.shop-product-pro .shop-product-title:not(:last-child) {
	margin-bottom: 0.5rem;
}

.shop-product-private .shop-product-header {
	margin-top: 0.5rem;
}

.shop-product-pro .shop-product-header {
	display: flex;
}

@media (min-width: 992px) {

	.shop-product-pro .shop-product-header {
		align-items: center;
		justify-content: space-between;
	}

}

@media (max-width: 991px) {

	.shop-product-pro .shop-product-header {
		flex-direction: column;
	}

}

@media (max-width: 991px) {

	.shop-product-pro .shop-product-title {
		margin: 0.25rem 0 0.5rem;
	}

}

.shop-product-private .shop-product-name h4 {
	margin-bottom: 0.25rem;
}

.shop-product-pro .shop-product-name h4 {
	margin-bottom: 0rem;
}

.shop-product-size {
	text-decoration: underline;
	display: inline;
	margin-left: 0.5rem;
}

.shop-product-size,
.shop-product-origin,
.shop-product-description {
	line-height: 1.3;
	color: var(--muted);
}

.shop-product-private .shop-product-size,
.shop-product-private .shop-product-origin,
.shop-product-private .shop-product-description,
.shop-product-private .shop-product-farm {
	font-size: 0.8rem;
}

.shop-product-pro .shop-product-size,
.shop-product-pro .shop-product-origin,
.shop-product-pro .shop-product-description,
.shop-product-pro .shop-product-farm {
	font-size: 0.9rem;
}

.shop-product-origin {
	margin-bottom: 0.25rem;
}

.shop-product-description {
	max-height: 4rem;
	overflow-y: auto;
	margin-bottom: 0.5rem;
}

.shop-product-farm {
	margin-bottom: 0.5rem;
	color: var(--muted);
}

.shop-product-buy {
	grid-area: buy;
	display: grid;
}

.shop-product-private .shop-product-buy {
	padding-top: 0.5rem;
	align-content: end;
}

.shop-product-pro .shop-product-buy {
	align-items: center;
}

@media (max-width: 767px) {

	.shop-product-pro .shop-product-buy {
		margin-top: 0.5rem;
	}

}

.shop-product-buy:empty {
	display: none;
}

@media (max-width: 449px) {

	.shop-product-buy {
		grid-template-columns: 1fr;
	}

}


.shop-product-buy small {
	line-height: 1;
}

.shop-product-buy-infos {
	grid-area: infos;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 0.5rem;
}

.shop-product-buy-price {
	grid-area: price;
	white-space: nowrap;
}

@media (min-width: 992px) {

	.shop-product-pro .shop-product-buy-price {
		text-align: right;
	}

}

.shop-product-buy-packaging,
.shop-product-buy-info {
	font-size: 0.9rem;
	padding: 0.25rem 0.5rem;
	line-height: 1;
	border-radius: var(--radius);
	white-space: nowrap;
}

.shop-product-buy-packaging {
	border: 2px solid #bbb3;
}

.shop-product-buy-info {
	background-color: #bbb3;
}

@media (max-width: 399px) {

	.shop-product-buy-packaging,
	.shop-product-buy-info {
		font-size: .8rem;
	}

}

.shop-product-ingredients {
	grid-area: ingredients;
}

.shop-product-ingredients-list {
	display: grid;
	grid-template-columns: min-content 1fr;
	align-items: center;
	grid-gap: 0.5rem;
	line-height: 1.4;
}

@media (max-width: 575px) {

	.shop-product-ingredients-list {
		font-size: .9rem;
	}

}

.shop-product-ingredients-list.shop-product-ingredients-list-6 {
	grid-gap: 0.375rem 0.5rem;
}

.shop-product-ingredients-list.shop-product-ingredients-list-10 {
	grid-gap: 0.25rem 0.5rem;
}

.shop-product-number {
	display: grid;
	align-items: center;
	grid-column-gap: 1rem;
	grid-template-columns: max-content 1fr max-content;
}

.shop-product-number .btn {
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 0.83333;
	align-items: center;
	display: flex;
	justify-content: center;
	width: 4rem;
}

@media (max-width: 449px) {

	.shop-product-number {
		justify-content: initial;
		column-gap: 0.5rem;
	}

	.shop-product-number .btn {
		width: 3rem;
	}

}

@media (max-width: 359px) {

	.shop-product-private .shop-product-number .btn {
		width: 5rem;
	}

}

.shop-product-number .input-group * {
	border-color: var(--primary) !important;
}

.shop-product-number-value {
	padding: 0.125rem 0.375rem;
	text-align: center;
	line-height: 1;
	letter-spacing: 0;
}

.shop-product[data-has="1"] .shop-product-number-value {
	font-size: 1.2rem;
	font-weight: bold;
}

@media (max-width: 399px) {

	.shop-product[data-has="1"] .shop-product-number-value {
		font-size: 1rem;
	}

}

.shop-product[data-has="0"] .shop-product-number-decrease,
.shop-product-number[data-inconsistency="1"] .shop-product-number-decrease,
.shop-product-number[data-inconsistency="1"] .shop-product-number-increase {
	opacity: 0.25;
	border-width: 1px;
	pointer-events: none;
}

.shop-product-private .shop-product[data-has="0"] .shop-product-number-value,
.shop-product-private .shop-product-number[data-inconsistency="1"] .shop-product-number-value {
	opacity: 0.5;
}

.shop-product-ordered {
	padding: 1rem;
	font-size: 1.2rem;
	background-color: white;
	box-shadow: 0 0 2rem rgba(0, 0, 0, 0.2);
	display: grid;
	grid-column-gap: 1rem;
	grid-template-columns: auto 1fr auto;
	align-items: center;
}

body[data-template~="shop-embedded"] {

	.shop-product-ordered {
		border-radius: var(--radius);
	}

}

body:not([data-template~="shop-embedded"]) {

	.shop-product-ordered {
		z-index: 1101;
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
	}

}

.shop-product-ordered-item {
	display: flex;
	align-items: center;
}

.shop-product-ordered-approximate {
	line-height: 1.4;
}

@media (min-width: 576px) {

	.shop-product-around {
		display: inline-block;
		margin-right: 0.375rem;
	}

}

@media (max-width: 575px) {

	.shop-product-around {
		font-size: 0.9rem;
	}

}

.shop-product-ordered-icon {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 2.5rem;
	height: 2.5rem;
	background-color: var(--secondary);
	color: white;
	border-radius: 50%;
	margin-right: 0.5rem;

}

@media (max-width: 449px) {

	.shop-product-ordered-icon {
		width: 2rem;
		height: 2rem;
		font-size: .9rem;
	}

}

.shop-product-manage-details {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-column-gap: 1rem;
	padding-top: 0;
}

.shop-product-manage-catalog {
	font-size: 1.7rem;
	line-height: 1;
	margin: 0 .75rem 0 .5rem;
	vertical-align: baseline;
}

.shop-product-available {
	white-space: nowrap;
}

.shop-product-limits {
	border-top: 1px dotted var(--border);
	padding: 0.125rem 0;
	font-size: 0.9rem;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	color: var(--muted);
}

.shop-product-limits > span:not(:last-child) {
	margin-right: 1rem;
}

.shop-product-sold {
	font-size: 1.2rem;
	font-weight: bold;
}

.shop-product-not-exist,
.shop-product-not-exist a {
	color: var(--muted);
	text-decoration: line-through;
}

#product-department-list {
	display: flex;
	row-gap: 1rem;
	margin-bottom: 2rem;
	position: sticky;
	z-index: 1100;
	transition: all 0.25s;
	overflow-x: auto;
	background-color: var(--secondary);
	border-radius: var(--radius);
}

#product-department-list.product-department-list-sticky {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	box-shadow: 1px 1px 1px var(--border);
}

a.shop-department-item {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: white;
	text-decoration: none;
	line-height: 1.2;
}

a.shop-department-item:hover,
a.shop-department-item.selected {
	background-color: #fff2;
}

a.shop-department-item svg:not(.asset-icon) {
	stroke: white;
}

a.shop-department-item:not(:last-child) {
	border-right: 1px solid #fff5;
}

a.shop-department-item .department-vignette {
	margin-bottom: 0.5rem;
}

@media (min-height: 768px) and (min-width: 768px) {

	#product-department-list {
		padding: 0;
		top: calc(var(--mainNav));
	}

	a.shop-department-item {
		padding: 0.75rem 1rem;
	}

	.product-department-list-sticky a.shop-department-item .department-vignette {
		width: 2.25rem !important;
		height: 2.25rem !important;
		min-width: 2.25rem !important;
	}

}

@media (max-height: 767px), (max-width: 767px) {

	a.shop-department-item {
		padding: 0.5rem 0.5rem;
	}

	#product-department-list {
		padding: 0;
		top: 0;
	}

	.product-department-list-sticky {
		font-size: 0.9rem;
	}

	a.shop-department-item .department-vignette {
		width: 1.75rem !important;
		height: 1.75rem !important;
		min-width: 1.75rem !important;
	}

}

@media (max-width: 575px) {

	#product-department-list {
		font-size: 0.85rem;
		letter-spacing: -0.1px;
	}

}
input[type="number"] {
   width: 5rem;
}

input[type="file"] {
	display: none;
}

input[type="range"] {
	-webkit-appearance: none;
	width: 100%;
	height: 0.75rem;
	margin-top: 0.375rem;
	margin-bottom: 0.375rem;
	padding: 0;
	border: 1px solid var(--primary);
	border-radius: 5px;
	background: white;
	outline: none;
	opacity: 0.8;
	transition: opacity .5s;
}

input[type="range"]:hover {
	opacity: 1;
}

input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	background: var(--primary);
	cursor: pointer;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 50%;
}

input[type="range"]::-moz-range-thumb {
	background: var(--primary);
	cursor: pointer;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 50%;
}

input[type="checkbox"] {
	width: 1.1rem;
	height: 1.1rem;
}

.form-warning [type="submit"] {
	box-shadow: 0 0 15px var(--warning);
}

[data-wrapper].form-warning-wrapper > label.form-control-label {
	color: var(--warning) !important;
	font-weight: bold;
}

[data-wrapper].form-warning-wrapper input {
	color: var(--warning);
}

[data-wrapper].form-warning-wrapper [data-wrapper].form-warning-wrapper input {
	color: var(--warning);
}

.form-columns [data-wrapper].form-warning-wrapper > label.form-control-label {
	padding-right: 0.25rem;
	border-right: 2px solid var(--warning);
}

.form-warning-message {
	font-size: 0.875rem;
	color: var(--warning) !important;
	font-weight: normal !important;
	border-radius: var(--radius);
	margin: 0.25rem 0.25rem 0 0;
	line-height: 1.3;
}

.form-warning-field div.input-group label.btn,
.form-warning-field div.btn,
.form-warning-field .input-group label,
.form-warning-field input,
.form-warning-field textarea,
.form-warning-field .form-warning-field-component,
.form-warning-field,
.form-warning-field select {
	border-color: var(--warning) !important;
}
.form-warning-field input[type="radio"] {
	outline: 1px solid var(--warning) !important;
}
.form-warning-field input[type="text"],
.form-warning-field input[type="time"],
.form-warning-field input[type="date"],
.form-warning-field input[type="email"],
.form-warning-field input[type="url"] {
	background: linear-gradient(to right, rgba(194, 120, 10, 0.2) 0, transparent 3rem);
	background-color: white;
}

.form-error-field .input-group-addon {
	color: var(--warning);
}

.form-error [type="submit"] {
	box-shadow: 0 0 15px var(--danger);
}

[data-wrapper].form-error-wrapper > label.form-control-label {
	color: var(--danger) !important;
	font-weight: bold;
}

[data-wrapper].form-error-wrapper input {
	color: var(--danger);
}

[data-wrapper].form-warning-wrapper [data-wrapper]  input,
[data-wrapper].form-error-wrapper [data-wrapper]  input {
	color: inherit;
}

[data-wrapper].form-error-wrapper [data-wrapper].form-error-wrapper input {
	color: var(--danger);
}

.form-columns [data-wrapper].form-error-wrapper > label.form-control-label {
	padding-right: 0.25rem;
	border-right: 2px solid var(--danger);
}

.form-error-message {
	font-size: 0.875rem;
	color: var(--danger) !important;
	font-weight: normal !important;
	border-radius: var(--radius);
	margin: 0.25rem 0.25rem 0 0;
	line-height: 1.3;
}

.form-error-field div.input-group label.btn,
.form-error-field div.btn,
.form-error-field .input-group label,
.form-error-field input,
.form-error-field textarea,
.form-error-field .form-error-field-component,
.form-error-field,
.form-error-field select {
	border-color: var(--danger) !important;
}
.form-error-field input[type="radio"] {
	outline: 1px solid var(--danger) !important;
}
.form-error-field input[type="text"],
.form-error-field input[type="time"],
.form-error-field input[type="date"],
.form-error-field input[type="email"],
.form-error-field input[type="url"] {
	background: linear-gradient(to right, rgba(217, 83, 111, 0.2) 0, transparent 3rem);
	background-color: white;
}
.form-error-field .input-group-addon {
	color: rgb(217, 83, 111);
}

.form-character-count-wrapper {
	display: flex;
}

.form-character-count-wrapper.for-textarea {
	flex-direction: column;
}

.form-character-count {
	color: var(--muted);
	display: none;
	align-items: center;
	font-size: 0.9rem;
}

.form-character-count-wrapper.for-input input {
	padding-right: 3rem;
}

.for-input .form-character-count {
	margin-left: -2.5rem;
	width: 2.5rem;
	justify-content: center;
	border-left: 1px solid;
}

.for-textarea .form-character-count {
	justify-content: flex-end;
	padding-top: 0.25rem;
}

.form-character-count.error,
.form-character-count.error.focus {
	border-color: var(--danger);
}

.form-character-count.error {
	color: var(--danger);
}

.form-info {
	font-size: .9rem;
	font-weight: normal;
	color: var(--muted);
	margin-top: .25rem;
}

.form-control + .form-info,
.form-info-ancestor + .form-info,
.editor + .form-info,
.editor + script + .form-info,
.input-group + .form-info {
	margin-top: 0;
	padding: 0.25rem 0.5rem;
	border-left: 2px solid var(--border);
	margin-left: 1rem;
}

.form-info svg {
	margin: 0 0.5rem;
}

.form-info > :last-child {
	margin-bottom: 0;
}

input.form-color {
	max-width: 6rem;
}

div.form-range {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-column-gap: .5rem;
	align-items: center;
	width: 100%;
}

div.form-postcode-city {
	display: grid;
	grid-template-columns: 10rem 1fr;
	column-gap: 1rem;
}

.form-dropdown-toggle:hover {
	text-decoration: none;
}

.form-dropdown-title {
	display: flex;
	column-gap: 0.5rem;
	justify-content: space-between;
	align-items: center;
}

.form-dropdown-list {
	background: white !important;
	border: 1px solid #0002;
	border-radius: var(--radius);
}

.form-dropdown-list input {
	display: none;
}

.form-dropdown-list .dropdown-item {
	color: var(--text);
}

.form-dropdown-list .dropdown-item.selected {
	background-color: var(--background) !important;
}

.form-dropdown-list .dropdown-item:hover {
	background-color: var(--secondary) !important;
	color: white;
	cursor: pointer;
}

.form-dropdown-list .dropdown-item.disabled {
	pointer-events: none;
	opacity: 0.5;
}

.form-dropdown-placeholder {
	color: var(--border);
}

div.form-asterisk {
	display: inline-block;
	font-size: 0.8em;
	transform: translate(0, -0.5em);
	margin-left: 0.25rem;
}

div.form-asterisk svg {
	color: var(--secondary);
}

div.form-asterisk-info {
	margin-bottom: 1rem;
	font-size: 0.9rem;
	color: var(--muted);
	width: max-content;
	background-color: #0000000a;
	border-radius: var(--radius);
	padding: 0.25rem 0.75rem;
}

/* Form group */
div.form-group {
	padding: 0.5rem 0;
}

.form-columns div.form-group:not(.form-group-nested) {
	display: grid;
	grid-column-gap: 1rem;
}

div.form-group-highlight {
	background-color: var(--background);
	padding: 1rem;
	border-radius: var(--radius);
}

div.form-group-highlight.bg-primary,
div.form-group-highlight.bg-secondary {
	color: white;
}

div.form-group-highlight .form-control-label {
	font-weight: bold;
}

.form-columns div.form-group.form-group-highlight {
	align-items: center;
}

.form-columns-25 div.form-group {
	grid-template-columns: 1fr 3fr;
}

.form-columns-33 div.form-group {
	grid-template-columns: 1fr 2fr;
}

.form-columns-40 div.form-group {
	grid-template-columns: 2fr 3fr;
}

.form-columns-50 div.form-group {
	grid-template-columns: 1fr 1fr;
}

div.form-group.form-group-nested > .form-control-label {
	margin-bottom: 0.125rem;
	color: var(--muted);
	font-size: 0.9rem;
}

@media (max-width: 991px) {

	.form-columns-md div.form-group:not(.form-group-nested) {
		grid-template-columns: 1fr !important;
	}

	.form-columns-md div.form-group:not(.form-group-nested) > .form-control-label {
		margin: 0.5rem 0;
		font-weight: bold;
	}

}

@media (max-width: 767px) {

	.form-columns-sm div.form-group:not(.form-group-nested) {
		grid-template-columns: 1fr !important;
	}

	.form-columns-sm div.form-group:not(.form-group-nested) > .form-control-label {
		margin: 0.5rem 0;
		font-weight: bold;
	}

}

@media (max-width: 575px) {

	.form-columns-xs div.form-group:not(.form-group-nested) {
		grid-template-columns: 1fr !important;
	}

	.form-columns-xs div.form-group:not(.form-group-nested) > .form-control-label {
		margin: 0.5rem 0;
		font-weight: bold;
	}

}

.form-buttons {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-column-gap: .5rem;
	align-items: center;
}

.field-followup {
	margin-top: 0.25rem;
	text-align: right;
}

/* Radio group */
.field-radio-group {
	display: grid;
	border: 1px solid #0002;
	border-radius: var(--radius);
	background-color: white;
	line-height: 1.4;
	padding: 0.5rem;
}

.field-radio-group-2 {
	grid-template-columns: repeat(2, 1fr);
}

.field-radio-group-3 {
	grid-template-columns: repeat(3, 1fr);
}

.field-radio-group-4 {
	grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 575px) {

	.field-radio-group-3,
	.field-radio-group-4 {
		grid-template-columns: repeat(2, 1fr);
	}

}

.field-radio-group > label {
	padding: 0.5rem;
	cursor: pointer;
	transition: background-color 0.5s;
}

.field-radio-group.field-radio-group-1 > label:not(:last-child) {
	border-bottom: 1px dashed var(--border);
}

.field-radio-group > label:hover {
	background-color: #ccc2;
}

.field-radio-group > label {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-column-gap: 0.5rem;
	align-items: center;
}

.field-radio-group > label > input[type="radio"]:checked:not(:disabled) + span {
	font-weight: bold;
}

.field-radio-group > label > input:disabled,
.field-radio-group > label > input:disabled + span {
	opacity: 0.5;
}

.field-radio-group-action {
	padding: 0.25rem 0.5rem;
	font-size: 0.9rem;
	text-align: right;
}

.field-radio-select {
	color: var(--primary);
}

.field-radio-separator {
	color: var(--muted);
	font-style: italic;
}

/* Switch */
.field-switch {
	border-radius: var(--radius);
	transition: all 0.5s;
	display: inline-block;
	font-size: 0.9rem;
}

.field-switch.field-switch-sm {
	font-size: 0.8rem;
}

.field-switch:not(.disabled) {
	height: 1.8rem;
	width: 3.6rem;
	min-width: max-content;
	border: 1px solid white;
	position: relative;
	cursor: pointer;
	overflow: hidden;
}

.field-switch.field-switch-sm:not(.disabled) {
	height: 1.5rem;
	width: 2.4rem;
}

.field-switch.disabled {
	pointer-events: none;
}

.field-switch:hover {
	box-shadow: 0 0 0.5rem var(--border);
	text-decoration: none !important;
}

.field-switch input {
	display: none;
}

.field-switch-on:not(.disabled) {
	background-color: var(--success);
}

.field-switch-off:not(.disabled) {
	background-color: var(--muted);
}

.field-switch:not(.disabled) .field-switch-text {
	padding: 0 0.5rem;
}

.field-switch-on:not(.disabled) .field-switch-text {
	margin-right: 1.3rem;
}

.field-switch-on.field-switch-sm:not(.disabled) .field-switch-text {
	margin-right: 0.9rem;
}

.field-switch-off:not(.disabled) .field-switch-text {
	margin-left: 1.3rem;
}

.field-switch-off.field-switch-sm:not(.disabled) .field-switch-text {
	margin-left: 0.9rem;
}

.field-switch.disabled .field-switch-text {
	margin-left: 1rem;
}

.field-switch-off:not(.disabled) .field-switch-text {
	transform: translate(0, calc(-1.8rem + 2px));
}

.field-switch-off.field-switch-sm:not(.disabled) .field-switch-text {
	transform: translate(0, calc(-1.5rem + 2px));
}

.field-switch:not(.disabled) .field-switch-text > div {
	height: calc(1.8rem - 2px);
	display: flex;
	align-items: center;
	line-height: 1;
	color: white;
}

.field-switch.field-switch-sm:not(.disabled) .field-switch-text > div {
	height: calc(1.5rem - 2px);
}

.field-switch-on.disabled .field-switch-text > div {
	color: var(--success);
}

.field-switch-off.disabled .field-switch-text > div {
	color: var(--muted);
}

.field-switch-text > div:last-child {
	padding-right: 0.3rem;
}

.field-switch-circle {
	height: calc(1.2rem - 2px);
	width: calc(1.2rem - 2px);
	border-radius: 50%;
	background-color: white;
	position: absolute;
	transition: left 0.25s;
	margin: 0.3rem 0;
}

.field-switch-sm .field-switch-circle {
	height: calc(0.9rem - 2px);
	width: calc(0.9rem - 2px);
}

.field-switch-on.disabled .field-switch-circle {
	background-color: var(--success);
}

.field-switch-off.disabled .field-switch-circle {
	background-color: var(--muted);
}

.field-switch-on:not(.disabled) .field-switch-circle {
	left: calc(100% - 1.3rem + 2px - 0.3rem);
}

.field-switch-on.field-switch-sm:not(.disabled) .field-switch-circle {
	left: calc(100% - 0.8rem + 2px - 0.3rem);
}

.field-switch-off:not(.disabled) .field-switch-circle {
	left: 0.4rem;
}

/* Weeks */
div.input-group > .input-group-addon.field-week-preview {
	border-left: 0;
	background-color: white;
	text-align: right;
	min-width: 75px;
	font-size: 0.9rem;
	user-select: none;
}

div.input-group > .input-group-addon.field-week-preview:empty {
	display: none;
}

div.input-group > input:disabled + .input-group-addon.field-week-preview {
	color: var(--muted);
	background-color: var(--background-light);
}

.field-week-selector {
	width: calc(100vw - 2rem);
	max-width: 300px;
	background: linear-gradient(to bottom, var(--background) 0%, #fff 50%, #fff 100%);
	border-radius: var(--radius);
	padding: 1rem;
	user-select: none;
}

.field-week-selector-title h4 {
	text-align: center;
	margin-bottom: 0;
}

.field-week-selector-year {
	display: flex;
	justify-content: space-around;
	align-items: center;
	text-align: center;
	margin-bottom: 1rem;
}

.field-week-selector-year a.field-week-selector-navigation {
	font-size: 1.2rem;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	line-height: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	transition: font-size 0.25s;
}

.field-week-selector-year a.field-week-selector-navigation:hover {
	font-size: 1.7rem;
}

.field-week-selector-year h4 {
	text-align: center;
	font-weight: bold;
	margin: 0;
}

.field-week-selector-weeks {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-column-gap: 0.25rem;
	grid-row-gap: 0.25rem;
	align-items: center;
	overflow: hidden;
}

.field-week-selector-ticks {
	display: grid;
	grid-template-columns: repeat(38, 1fr);
	position: relative;
	text-align: center;
}

.field-week-selector-ticks > .field-week-selector-label {
	line-height: 1;
	padding-bottom: 1rem;
	font-size: 0.9rem;
}

.field-week-selector-ticks > .field-week-selector-tick {
	justify-content: center;
	border-right: 1px solid #0002;
	position: absolute;
	top: 1.5rem;
	height: 1000px;
}

.field-week-selector-month {
	font-weight: bold;
	line-height: 1.2;
	text-transform: capitalize;
	text-align: center;
	border-radius: var(--radius);
}

a.field-week-selector-month {
	background-color: rgba(0, 0, 0, 0.05);
	color: var(--text);
	text-decoration: none;
	padding: 0.5rem 0.75rem;
}

a.field-week-selector-month:hover {
	background-color: var(--primary);
	color: white;
}

.field-week-selector-bubbles {
	display: grid;
	grid-template-columns: repeat(38, 1fr);
	position: relative;
}

.field-week-selector-bubble {
	text-align: center;
	margin: 0 1px;
}

.field-week-selector-bubble.btn.btn-sm {
	padding-left: 0;
	padding-right: 0;
}

.field-week-selector-bubble-current {
	background-color: white;
	font-weight: bold;
}

/* Month */
.field-month-native {
	display: block;
}

.field-month-fallback {
	display: flex;
}

/* Color field */
.field-color {
	display: inline-grid;
	grid-template-columns: auto auto;
	grid-column-gap: 1rem;
	align-items: center;
}
.field-color input[type="color"] {
	width: 5rem;
	height: 3rem;
}
.field-color label {
	color: var(--muted);
	transition: color 0.5s;
}
.field-color label:hover {
	color: inherit;
}

/* Backend */
#form-search {
}

#form-search > div:first-of-type {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
	margin-bottom: 0.5rem;
}

#form-search > div:first-of-type > select,
#form-search > div:first-of-type > input	,
#form-search > div:first-of-type > .input-group {
	width: auto;
}

#form-search > div:first-of-type > span {
	white-space: nowrap;
}

#form-search > div:last-of-type {
	display: flex;
	column-gap: 0.5rem;
}

#form-search > div:last-child > .form-search-end {
	flex: 1;
	display: flex;
	justify-content: flex-end;
	flex-wrap: nowrap;
	text-align: right;
	font-weight: lighter;
	line-height: 1.2;
	margin-right: 0;
}

/* Autocomplete features */
body.autocomplete-fullscreen-open {
	overflow: hidden;
	width: 100vw;
}

body.autocomplete-fullscreen-open[data-touch="no"] {
	padding-right: 15px;
}


.autocomplete-placeholder {
	display: none;
}

body[data-touch="yes"] .autocomplete-wrapper {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: white;
}

body[data-touch="no"] .autocomplete-dropdown {
	position: absolute;
}

body[data-touch="no"] .autocomplete-dropdown:empty {
	display: none;
}

ul.autocomplete-list {
	position: absolute;
	overflow-y: auto;
	list-style: none;
	padding: 0;
	margin: 0;
	max-height: 300px;
	background-color: black;
}


body[data-touch="yes"] ul.autocomplete-list {
	max-height: 80vh;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.33);
	border-bottom-left-radius: 0.25rem;
	border-bottom-right-radius: 0.25rem;
}

ul.autocomplete-list li {
	padding: 0.375rem 0.75rem;
	text-decoration: none;
	cursor: pointer;
	color: white;
	display: flex;
	align-items: center;
	line-height: 1.2;
}

ul.autocomplete-list li:not(:last-child) {
	border-bottom: 1px solid #333;
}

body[data-touch="yes"] ul.autocomplete-list li:last-child {
	padding-bottom: 60vh;
}

ul.autocomplete-list li a {
	color: white;
}

ul.autocomplete-list li.autocomplete-not-selectable {
	background-color: #444;
	cursor: auto;
}
ul.autocomplete-list li:not(.autocomplete-not-selectable).selected,
ul.autocomplete-list li:not(.autocomplete-not-selectable):hover {
	background-color: #555;
}

ul.autocomplete-list li.autocomplete-link {
	background-color: #444;
	cursor: pointer;
}

ul.autocomplete-list li.autocomplete-link svg {
	font-size: 1.5rem;
	margin: 0.5rem;
}

ul.autocomplete-list li > *:not(:first-child) {
	margin-left: 0.5rem;
}

ul.autocomplete-list li.autocomplete-list-empty {
	padding-top: 1rem;
	padding-bottom: 1rem;
	font-style: italic;
	color: #bbb !important;
}

ul.autocomplete-list .color-muted {
	color: #bbb !important;
}

.autocomplete-dropdown div.autocomplete-place > div:first-child {
	margin-bottom: 0.25rem;
}

.autocomplete-dropdown div.autocomplete-place > div:last-child {
	font-size: 0.85rem;
	color: #ddd;
}

/* Form field */
body[data-touch="yes"] input.autocomplete-open {
	font-size: 1.2rem;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	width: 80vw;
	margin: 2rem auto 0;
}

a.autocomplete-empty {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	background-color: rgba(0, 0, 0, 0.5);
	color: white;
}

input[data-autocomplete-items] {
	border-right: 0;
}

input[data-autocomplete-items]:placeholder-shown + a.autocomplete-empty:not(:focus) {
	background-color: white;
	border-top: 1px solid #0002;
	border-right: 1px solid #0002;
	border-bottom: 1px solid #0002;
	pointer-events: none;
}

/* Results */
.autocomplete-items:empty {
	display: none;
}

.autocomplete-items-multiple:not(:empty) {
	display: flex;
	flex-wrap: wrap;
	margin: 0.5rem -0.5rem;
}

.autocomplete-items-multiple .autocomplete-item {
	display: flex;
	align-items: center;
	margin: 0.5rem;
	padding: 0.5rem 0.75rem;
	border-radius: var(--radius);
	background-color: #eee;
	font-weight: bold;

}

.autocomplete-items-multiple .autocomplete-item > *:not(:last-child) {
	margin-right: 0.5rem;
}

/* Plant as items */
div.plant-item-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-column-gap: 0.75rem;
	grid-row-gap: 0.75rem;
	margin-bottom: 2rem;
}

@media (min-width: 576px) and (max-width: 991px) {

	div.plant-item-grid {
		grid-template-columns: repeat(2, 1fr);
	}

}

@media (max-width: 575px) {

	div.plant-item-grid {
		grid-template-columns: 1fr;
	}

}

div.plant-item-grid > * {
}


a.plant-item {
	display: flex;
	color: inherit;
	align-items: center;
}

a.plant-item:hover {
	text-decoration: none;
}

div.plant-item-name {
	line-height: 1;
	margin-bottom: 0.25rem;
}

a.plant-item:hover div.plant-item-name {
	text-decoration: underline;
}

div.plant-item-image {
	width: 60px;
	min-width: 60px;
	height: 60px;
	margin-right: 0.75rem;
	border-radius: 50%;
	background-size: cover;
	background-position: center center;
}

#plant-flow {
	grid-area: flow;
	padding: 1rem;
}

#plant-calendar {
	grid-area: calendar;
}

div.plant-section {
	margin-bottom: 2rem;
}

div.plant-block {
	position: relative;
}

div.plant-block:empty {
	display: none;
}

div.plant-block a.data-block-update {
	opacity: 0;
	position: absolute;
	right: 0rem;
	top: 0rem;
	border-radius: 50%;
	background-color: var(--secondary);
	margin: 1rem;
	padding: 0.75rem;
	color: white;
	transition: opacity 0.5s;
	line-height: 1;
	z-index: 1000;
}

div.plant-block:hover a {
	opacity: 1;
}

div.plant-block-submit {
	margin-top: 1rem;
	display: flex;
	justify-content: space-between;
}

#plant-manage .plant-manage-locked {
	font-size: 0.8rem;
	color: var(--muted);
}

.plant-vignette {
	display: inline-block;
	vertical-align: middle;
}

.plant-vignette img {
	width: 100%;
	height: 100%;
}


