:root {
	font-family: 'Roboto', 'Arial', sans-serif;

	--primary-text-color: #484644;
	--primary-error-color: #d66666;
	--secondary-text-color: #3876fb;

	--form-header-text-size: 2.0vw;
	--form-header-text-size-xl: 1.5vw;
	--form-label-text-size: 2.2vw;
	--form-input-text-size: var(--form-label-text-size);
	--form-input-suffix-size: 1.5vw;

	--input-bg-color: #fafafa;
	--hover-bg-color: #cacaca;
}

html {
	height: 100vh;
}
body {
	font-family: 'Roboto', 'Arial', sans-serif;
	height: 100%;
	margin: 0%;
}

.header {
	height: 20vw;
	max-height: 130px;
}
.content {
	height: 80vh;
}

.logo {
	margin: 3vw auto;
	width: 30vw;
	overflow: visible;
	white-space: nowrap;
	position: relative;
}
.logo > img {
	height: 15vw;
}
.logo > span {
	position: absolute;
	left: 15vw;
	top: 5vw;
	font-size: 2.5vw;
	line-height: 2.5vw;
	font-weight: bold;
}
.logo > span:last-child {
	top: 8.5vw;
}

.form-header {
	height: fit-content;
	text-align: center;
	color: var(--primary-text-color);
	font-size: var(--form-header-text-size);
	font-weight: bold;
}
.form-content {
	height: fit-content;
	margin-bottom: 30px;
}
.form-label {
	font-weight: bold;
	font-size: var(--form-label-text-size);
	color: var(--primary-text-color);
	white-space: nowrap;
	padding-top: 15px;
	padding-bottom: 0px;
	margin-top: 3vh;
}
.form-label > label {
	float: left;
}

.control {
	font-size: 20px;
	color: var(--primary-text-color);
	margin: 15px 0;
	background-color: var(--input-bg-color);
}
.control.prev {
	float: left;
}
.control.next {
	float: right;
}
.control.submit {
	float: right;
}
.control:hover {
	background-color: var(--hover-bg-color);
}

.redirection-message {
	text-align: center;
	font-size: 1.5em;
}

.disclaimer {
	text-align: center;
	color: var(--secondary-text-color);
	padding: 20px 0;
}

.center-content {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px;
}

/* Webcomponents style */
paper-input-container input {
	font-size: var(--form-input-text-size) !important;
	font-weight: bold !important;
	padding: 0 16px !important;
}
paper-input-container [suffix] {
	font-size: var(--form-input-suffix-size) !important;
	width: 48px;
	height: 48px;
}

paper-progress {
	width: 100% !important;
	height: fit-content;
}

paper-item {
	font-size: 3vw !important;
	font-weight: normal !important;
	cursor: pointer;
}

#loading {
	margin: 0 auto;
	text-align: center;
	font-size: 24px;
	font-style: italic;
	font-weight: bold;
	color: var(--primary-text-color);
}

.legal {
	margin: 0 auto;
	text-align: center;
	font-size: 10px;
	font-style: italic;
	font-weight: 300;
	color: var(--primary-text-color);
}
.legal p {
	margin: 5px 0;
}
.legal a {
	color: var(--primary-text-color);
}

paper-input-error {
	font-size: 2.2vw!important;
	line-height: 4vw!important;
}

@media (max-width: 576px) {
	.form-header {
		font-size: calc(var(--form-header-text-size) + 1vw);
	}
	.form-label {
		font-size: calc(var(--form-label-text-size) + 1vw);
	}

	/* Webcomponents style */
	paper-input-container input {
		font-size: calc(var(--form-input-text-size) + 1vw) !important;
	}
	paper-input-container [suffix] {
		font-size: 4vw !important;
	}
}

@media (min-width: 576px) {

	.control {
		font-size: 32px;
	}

	.logo {
		margin: 15px auto 15px 0;
	}
	.logo > img {
		height: 100px;
	}
	.logo > span {
		top: 25px;
		left: 100px;
		line-height: 25px;
		font-size: 20px;
	}
	.logo > span:last-child {
		top: 50px;
	}

}

@media (min-width: 768px) {

	.form-label {
		padding-top: 0px;
		padding-bottom: 10px;
	}

	.legal {
		width: 75%;
		font-size: 14px;
	}

	paper-item {
		font-size: 32px !important;
	}

	paper-input-error {
		font-size: 24px!important;
		line-height: 32px!important;
	}
}

@media (min-width: 992px) {

	.form-header {
		font-size: var(--form-header-text-size-xl);
	}
}

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