/* Global */

:root {
	--header-color: #191633;
	--header-text-color: white;
	--background-color: #F7AE83;
	--button-background-color: #0064A2;
	--button-text-color: white;
}

html, body {
	margin: 0;
	padding: 0;
	background: var(--background-color);
	font-family: 'Open Sans', sans-serif;
	font-size: 14px;
}

input {
	border-width: 1px;
	border-color: var(--button-background-color);
}

button, input[type="button"], input[type="submit"] {
	background-color: var(--button-background-color);
	border: none;
	color: var(--button-text-color);
	padding: 2px 10px;
	text-align: center;
	text-decoration: none;
	display: inline-block;
}

h3 {
	margin-top: 30px;
}

.CodeMirror {
	border: 1px solid var(--button-background-color);
}

.content {
	width: 95%;
	max-width: 800px;

	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
	margin-bottom: 100px;
}

.content.unconstrained {
	max-width: none;
}

* {
	color: #333;
	text-decoration: none;
}

.error-box {
	width: 100%;
	background-color: #ee0505;
	color: #ffffff;
	padding: 10px;
	margin-bottom: 10px;
	border: 1px solid #690012;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
	font-size: 14px;
	font-weight: bold;
}

.success-box {
	width: 100%;
	background-color: #0a7a35;
	color: #ffffff;
	padding: 10px;
	margin-bottom: 10px;
	border: 1px solid #06451f;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
	font-size: 14px;
	font-weight: bold;
}

.header {
	font-size: 20px;
	background-color: var(--header-color);
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
	padding: 8px;
	display: flex;
	justify-content: space-between;

	transition: opacity 0.2s;
}

.header * {
	color: var(--header-text-color);
}

.header .logo {
	height: 20px;
	margin-bottom: -3px;
}

@-webkit-keyframes spinner {
	from {
		-webkit-transform: rotateY(0deg);
	}
	to {
		-webkit-transform: rotateY(-360deg);
	}
}

@keyframes spinner {
	from {
		-moz-transform: rotateY(0deg);
		-ms-transform: rotateY(0deg);
		transform: rotateY(0deg);
	}
	to {
		-moz-transform: rotateY(-360deg);
		-ms-transform: rotateY(-360deg);
		transform: rotateY(-360deg);
	}
}

/* Confirmation Dialog */
.background {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	z-index: 9999;
}

.popup {
	position: fixed;
	top: 20%;
	left: 0;
	margin-left: auto;
	right: 0;
	margin-right: auto;

	width: 400px;
	height: 150px;
	background: white;
	z-index: 99999;

	box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

.popup .logoContainer {
	position: absolute;
	left: 10px;
	top: 30px;
	width: 100px;

	-webkit-perspective: 160px;
	-moz-perspective: 160px;
	-ms-perspective: 160px;
	perspective: 160px;
}

.popup .logoContainer .confirmLogo {
	position: absolute;
	left: 0;
	top: 0;
	width: 100px;

	-webkit-animation-name: spinner;
	-webkit-animation-timing-function: linear;
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-duration: 6s;

	animation-name: spinner;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	animation-duration: 6s;

	-webkit-transform-style: preserve-3d;
	-moz-transform-style: preserve-3d;
	-ms-transform-style: preserve-3d;
	transform-style: preserve-3d;
}

.popup .messageContainer {
	position: absolute;
	left: 120px;
	right: 10px;
	top: 10px;
}

.popup .cancelButton {
	position: absolute;
	right: 10px;
	bottom: 10px;
}

.popup .progressBar {
	position: absolute;
	left: 10px;
	bottom: 40px;
	right: 10px;
	height: 15px;
	border: 1px solid black;
}

.popup .progressBar .progressBarContent {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 0%;
	background-image: linear-gradient(rgb(66, 66, 66), rgb(122, 122, 122), rgb(66, 66, 66));
	transition: width 7.4s;
}


.tabbar {
	text-align: center;
	border-bottom: 1px solid rgb(159, 173, 201);

}

.tabbar * {
	display: inline-block;
	border-bottom: 4px solid transparent;
	color: rgb(88, 97, 116);
	padding-left: 15px;
	padding-right: 15px;
	cursor: pointer;
}

.tabbar *.active {
	color: black;
	border-color: rgb(159, 173, 201);
}

.subheader {
	font-size: 15px;
}

.subheader a {
	padding: 10px;
}

.loginForm {
	width: 100%;
	max-width: 400px;
	margin: 0 auto;
	padding: 20px;
	background: #fff;
	border-radius: 5px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
	margin-top: 100px;
}

.fieldGroup {
	display: flex;
	justify-content: space-evenly;
	margin-bottom: 10px;
}

.loginForm .buttonGroup {
	display: flex;
	justify-content: flex-end;
}

.fieldGroup * {
	width: auto;
}

/* Forms Table */

.formsTable {
	background-color: white;
	width: 100%;
	margin-bottom: 10px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
	border-collapse: collapse;
}

.formsTable thead {
	background-color: rgb(159, 173, 201);
}

.formsTable thead * {
	font-weight: bold;
}

.formsTable td.colorColumn {
	width: 20px;
}

.formsTable td {
	padding: 4px;
	border-bottom: 1px solid rgb(159, 173, 201);
	padding-right: 10px;
}

.formsTableRow {
	cursor: pointer;
}

.processActions {
	text-align: right;
	white-space: nowrap;
}

.processActions form {
	margin: 0;
}

.colorDot {
	width: 20px;
	height: 20px;
	border-radius: 20px;
}

/* Forms Editor */

.formEditor {
	display: flex;
	justify-content: center;
}

.formEditor > * {
	width: 50%;
}

.sectionHeader {
	cursor: pointer;
}

.editorSide form {
	display: flex;
	flex-direction: column;

	border-radius: 5px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
	overflow: hidden;
}

.settings {
	background: #fff;
}

.editorSide form h1 {
	margin: 0;
	padding: 4px;
	padding-left: 5px;
	font-size: 20px;
	background-color: rgb(159, 173, 201);

	display: flex;
	flex-direction: row;
	align-items: center;
}

.sectionHeaderTriangle {
	display: inline-block;
	width: 20px;
	height: 20px;
	background-image: url(/img/closedSection.svg);
	background-repeat: no-repeat;
	background-position: center left;
	margin-right: 5px;
}

.openSection .sectionHeaderTriangle {
	background-image: url(/img/openSection.svg);
}

.editorSide form .settings {
	display: flex;
	flex-direction: column;
	padding: 20px;
}

.fieldGroup {
	display: flex;
	flex-direction: column;
	margin-bottom: 15px;
}

.fieldGroup.horizontal {
	flex-direction: row;
	align-items: center;
}

.fieldGroup.horizontal > label {
	padding-right: 5px;
}

.fieldGroup.horizontal.left {
	justify-content: flex-start;
}

.fieldGroup.horizontal.top {
	align-items: flex-start;
}

.fieldGroup.horizontal.top > label {
	padding-top: 3px;
}

.fieldGroup.horizontal > * {
	display: block;
	white-space: nowrap;
	flex-grow: 2;
	flex-shrink: 2;
	width: 50%;
}

.fieldGroup.horizontal.left > * {
	display: inline;
	flex-grow: unset;
	flex-shrink: unset;
	width: auto;
}

.fieldGroup.horizontal {
	margin-bottom: 5px;
}

.fieldGroup.horizontal > input[type="button"] {
	flex-grow: 1;
}

#translationsSettings {
	padding: 0;
	padding-top: 5px;
}

.languageTabContent {
	padding: 20px;
}

.formDesignationPicture {
	cursor: pointer;
	display: inline-block;

	border-radius: 3px;
	border: 1px solid rgb(75, 75, 75);
	padding: 2px;
	padding-left: 20px;
	padding-right: 10px;
	margin-top: 5px;

	background-image: url(/img/foto_upload.svg);
	background-position: center left;
	background-repeat: no-repeat;
	background-size: 18px;
}

.formDesignationPicture:hover {
	background-color: rgb(235, 235, 235);
}

.formDesignationPicturePreview {
	max-width: 200px;
	max-height: 150px;
}

.validationParent.invalid {
	background-image: url(/img/validationMarker.svg);
	background-repeat: no-repeat;
	background-position: right center;
	background-size: 12px 12px;
}

.sectionHeader.validationParent.invalid {
	background-position: right 10px center;
	background-size: 15px 15px;
}

.validationError:not(:empty) {
	background-image: url(/img/validationMarker.svg);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 15px 15px;

	color: rgb(85, 19, 19);
	font-size: 12px;
	padding-bottom: 10px;
	padding-left: 25px;
	font-style: italic;
}


.previewSide {
	padding: 0;
	padding-left: 50px;
	padding-bottom: 150px;
}

.editorSide form .submitButton {
	background-color: rgb(58, 126, 78);
	padding: 10px;
	border-radius: 5px;
	color: white;
	font-size: 20px;
	border: none;
}

.formPreview {
	margin-top: 10px;
	margin-bottom: 50px;
}

#amountsSettings {
	padding: 0;
}

#amountsSettings > .fieldGroup {
	padding: 20px;
}

#amountsSettings > .frequencyTabContent {
	padding: 20px;
}

/* User Page */

.user {
	background-color: white;
	border-radius: 5px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
	margin-bottom: 10px;
}

.user-info {
	padding: 5px;
	padding-left: 30px;
	display: flex;
	justify-content: space-between;

	background-image: url(/img/closed.svg);
	background-repeat: no-repeat;
	background-position: center left;

	cursor: pointer;
}

.edit-user {
	display: none;
	padding: 5px;
}

.user.open .user-info {
	background-image: url(/img/open.svg);
}

.user.open .edit-user {
	display: block;
}

.editUserbuttons {
	margin-top: 20px;
	display: flex;
}

.editUserbuttons * {
	margin-left: 5px;
}

i {
	font-size: 0.8em;
	color: rgb(88, 97, 116);
}

/* QR Code Page */

.qrCodeError {
	margin-left: 50%;
	margin-bottom: 8px;
}

#qrCode {
	text-align: center;
}

#qrCode img {
	width: 200px;
}

#qrCodeSubmitButton {
	margin-left: 50%;
}

/* 404 Page */

.error {
	width: 50%;
	margin-left: 25%;
	margin-right: 25%;
	margin-top: 20%;

	-webkit-perspective: 300px;
	-moz-perspective: 300px;
	-ms-perspective: 300px;
	perspective: 300px;
}

@-webkit-keyframes errorSpinner {
	from {
		-webkit-transform: rotateY(0deg);
	}
	to {
		-webkit-transform: rotateY(-360deg);
	}
}

/* all other browsers */
@keyframes errorSpinner {
	from {
		-moz-transform: rotateY(0deg);
		-ms-transform: rotateY(0deg);
		transform: rotateY(0deg) rotateX(0deg) rotateZ(0deg);
	}
	to {
		-moz-transform: rotateY(-360deg);
		-ms-transform: rotateY(-360deg);
		transform: rotateY(-720deg) rotateX(1080deg) rotateZ(-1440deg);
	}
}

.error .logo {
	-webkit-animation-name: errorSpinner;
	-webkit-animation-timing-function: linear;
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-duration: 60s;

	animation-name: errorSpinner;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	animation-duration: 60s;

	-webkit-transform-style: preserve-3d;
	-moz-transform-style: preserve-3d;
	-ms-transform-style: preserve-3d;
	transform-style: preserve-3d;
}

.errorText {
	font-size: 20px;
	margin-top: 20px;
	text-align: center;
	padding-left: 20%;
	padding-right: 20%;
	padding-top: 100px;
}
