/*
 * Copy this file into your theme to customize it.
 * https://www.phpboost.com/wiki/structure-d-un-theme#paragraph-le-repertoire-theme
 *
*/

.button {
	height: auto;
	padding: 0.618em 1.618em;
	margin: 0.309em 0;
	border-width: 1px;
	border-style: solid;
	border-color: transparent;
	background-color: transparent;
	text-align: center;
	display: inline-block;
	transition: all 0.2s steps(3, end);
	width: 100%;
}

@media (min-width: 769px) {
	.button {
		width: auto;
		margin: 0.618em;
	}
}

.button:hover  { transition: all 0.3s ease-in-out; text-decoration: none; }
.button:active { transition: all 0.2s linear; }

.button.image img { vertical-align: sub; }

[disabled],
[readonly] { cursor: not-allowed; }

[disabled] { opacity: 0.8; }

[type="text"],
[type="email"],
[type="url"],
[type="number"],
[type="color"],
[type="tel"],
[type="search"],
[type="password"],
[type="file"],
textarea,
select {
	padding: 0.309em 0.618em;
	border-width: 1px;
	border-style: solid;
	border-color: transparent;
	margin-bottom: 0.1618em;
	width: 100%;
	max-width: 100%;
	filter: none;
}

[type="number"] { padding-right: 0; }

[type="color"] {
	padding: 0;
	height: 32px;
}

textarea {
	display: block;
	overflow: auto;
	resize: vertical;
}

.form-element-textarea textarea { width: 100%; }

.form-field-select select,
.form-field-multi-select select { max-width: 100%; }

.multiple-select-list {
	border-width: 1px;
	border-style: solid;
	border-color: transparent;
}

.multiple-select-list a { cursor: pointer; }

optgroup {
	border-width: 0 0 1px 0;
	border-style: solid;
	border-color: transparent;
	font-weight: bold;
}

option { padding: 0 0.228em; }

@media (min-width: 769px) {
	[type="text"],
	[type="email"],
	[type="url"],
	[type="number"],
	[type="color"],
	[type="tel"],
	[type="search"],
	[type="password"],
	[type="file"],
	select { width: auto; }

	[type="color"] { width: 32px; }
}

/* --- Grouped input -------------------------------------------------------- */
.grouped-inputs {
    display: flex;
	justify-content: center;
	align-items: stretch;
	margin: 0 0 0.309em;
}

.grouped-inputs input,
.grouped-inputs select,
.inputs-with-sup .label-sup {
	flex: 1 1 auto;
	margin: 0;
	width: 1%;
}

.grouped-checkbox { position: relative; }
.grouped-checkbox [type="checkbox"] {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
}

.possible-values {
    display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}

.possible-values .grouped-inputs { width: 90%; }

.grouped-auto select,
.grouped-auto input {
	flex: 0 1 auto;
	width: auto;
}

.grouped-auto { flex-direction: column }

@media (min-width: 769px) {
	.grouped-auto { flex-direction: row }
}

.grouped-right { justify-content: flex-end;   }
.grouped-left  { justify-content: flex-start; }

.grouped-element {
	border-width: 1px 0 1px 1px;
	border-style: solid;
}

.grouped-auto .grouped-element { border-width: 1px; }

a.grouped-element,
.grouped-element:last-child,
.grouped-element:focus:not(select) {
	border-width: 1px;
	border-style: solid;
}

.grouped-element * { border: none; }

.grouped-inputs label,
.grouped-inputs .button,
.grouped-inputs span,
.grouped-inputs a {
	display: flex;
	margin: 0;
	justify-content: flex-start;
	align-items: center;
}

.grouped-inputs .button {
	justify-content: center;
	width: auto;
}

.grouped-inputs .cssmenu-select .button { justify-content: center; }

.grouped-inputs .grouped-element input:not([type="checkbox"]):not([type="radio"]),
.grouped-inputs .grouped-element select { width: 100%; }

.grouped-inputs span { padding: 0.228em 0.618em; }

.grouped-inputs .cssmenu-select span,
.grouped-inputs .cssmenu-select a { justify-content: flex-start; }

.grouped-inputs .cssmenu-select span { padding: 0; }

.grouped-inputs .button i,
.grouped-inputs a i,
.grouped-inputs .button span,
.grouped-inputs a span { align-self: center; }

.grouped-inputs a {
	text-decoration: none;
	padding: 0 0.618em;
}

.grouped-inputs a:hover { text-decoration: none; }

.grouped-area {
	margin: 0;
	border-width: 1px 1px 0;
}

.grouped-inputs .input-hours,
.grouped-inputs .input-minutes { padding-left: 0.618em; }

/* --- inputs with sup labels --- */
.grouped-inputs.large-inputs-group { flex-wrap: wrap; }

.inputs-with-sup > span {
	width: 100%;
	border-width: 1px;
}

.inputs-with-sup .label-sup { position: relative; }

.inputs-with-sup .label-sup span {
	display: none;
	position: absolute;
	top: -1.618em;
	font-size: 0.809em;
	left: 0.309em;
}

@media (min-width: 769px) {
	.grouped-inputs.large-inputs-group {
		flex-direction: row;
		flex-wrap: nowrap;
		min-width: 100%;
	}

	.grouped-inputs.inputs-with-sup { margin: 1.228em 0 0; }

	.inputs-with-sup > span {
		width: auto;
		border-width: 1px 0 1px 1px;
	}

	.inputs-with-sup .label-sup span { display: inline-block; }
}

/* --- Fake select with pictures -------------------------------------------- */
.image-selector {
	padding-left: 3.309em;
	background-position: 0.309em;
	background-repeat: no-repeat;
	background-size: contain;
}
