:root
{
	--font-size: 18px;

	--ui-animation-base-duration: .25s;

	--height-top-nav: 3rem;

	--height-bottom-nav: 3rem;
	--height-bottom-nav-labeled: 4rem;

	--min-width-bottom-nav-labels: 411px;

	--color-vriesia-brand: #ff5200;
	--color-vriesia-secondary: #101820;
}
html
{
	font-size: var(--font-size);
}
body
{
	font-family: 'Lato', sans-serif;
	margin: 0;
	padding: 0;
/*
	font-size: 18px;
*/
}
#content
{
	transition: opacity .3s ease;
}
body.signup-active #content
{
	opacity: 0.2;
}
body.signup-active #signup
{
	box-shadow: 0px 0 6px 3px rgb(0 0 0 / 21%);
	border: 1px solid #b7b7b7;
}
*
{
	touch-action: manipulation;
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	-webkit-tap-highlight-color: transparent;
/*
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
*/
}
label
{
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.h1,
#content h2.heading
{
	font-size: 2.5rem;
	line-height: 2.75rem;
	font-weight: 300;
}
.h2,
p.larger
{
	font-size: 1.4rem;
	line-height: 1.75rem;
}
p
{
	font-size: 1rem;
	line-height: 1.5rem;
}
.text-center
{
	text-align: center;
}
.nav-button
{
	white-space: nowrap;
	margin-right: 0; /* 1rem; */
	user-select: none;
}
/*
.nav-button + .nav-button
{
	margin-left: 1rem;
}
*/
#signup
{
	border: 1px solid #fff;
}
#signup a
{
	color: #d54400;
}
#signup a.link-retry
{
	color: #767676;
}
#signup
{
	top: 0;
	right: 3rem;
/*
	box-shadow: 0 0 6px 0px #00000026;
	transform: translateX(calc(100% + 3rem));
	transition: transform var(--ui-animation-base-duration) ease;
*/
}
#signup.visible
{
	transform: translateX(0);
}
/*
#signup-button
{
	padding: 1rem;
	background-color: var(--color-vriesia-secondary);
	color: #fff;
	display: inline-block;
	margin-bottom: 1rem;
	margin-top: 1rem;
	background-color: var(--color-vriesia-brand);
	border: 1px solid var(--color-vriesia-brand);
	text-decoration: none;
}
*/
#signup-button
{
	padding: 0 1rem;
	background-color: var(--color-vriesia-secondary);
	color: #fff;
	display: inline-flex;
	/* margin-bottom: 1rem; */
	/* margin-top: 1rem; */
	background-color: var(--color-vriesia-brand);
	border: 1px solid var(--color-vriesia-brand);
	text-decoration: none;
	height: 3rem;
	line-height: 3rem;
	place-items: center;
}
#signup .container
{
	width: 100%;
	margin: 0 auto;
	padding: 3rem 1rem;
	position: sticky;
	top: 0;
}
#signup .container > main
{
	overflow: hidden;		
}
#signup .container .section-viewport
{
	display: grid;
	grid-template-columns: repeat(7, 100%);
	transition: transform var(--ui-animation-base-duration) ease;
}
#signup .container .section-viewport section
{
	max-width: 480px;
	padding: 0;
	width: 100%;
}
#signup .container > header .heading
{
	margin-top: 0;
	margin-bottom: 3rem;
	font-weight: normal;
	display: flex;
	font-size: 2rem;
}
#signup .container header .heading span
{
/*
	color: var(--color-vriesia-brand);
*/
}
#signup .container .section-viewport section header .heading
{
/*
	color: var(--color-vriesia-brand);
*/
	font-size: 1.4rem;
	margin-bottom: 2rem;
/*
	font-weight: normal;
	display: none;
*/
}
#signup .container .section-viewport section header .heading span
{
	color: #000;
}
#signup .container .section-viewport section main .heading
{
	margin-block-end: 0;
}
#signup .container .section-viewport section
{
	margin: 0 auto;
}
#signup .container > header > nav > ul {
    margin-block-start: 0;
    padding-inline-start: 0;
    list-style-type: none;
}
.pane-nav
{
	position: relative;
}
.pane-nav-list
{
	display: flex;
	list-style: none;
	padding-inline-start: 0;
	width: 100%;
	justify-content: space-between;
	position: relative;
	z-index: 1;
	margin-bottom: 0;
/*
	margin-bottom: 2rem;
*/
}
/*
.pane-nav-list .nav-list-item .nav-button
*/
.pane-nav-list .nav-list-item span
{
	border: 1px solid #ddd;
	border-radius: 50%;
	width: 1.5rem;
	height: 1.5rem;
	display: flex;
	place-items: center;
	justify-content: center;
	text-decoration: none;
	background-color: #ddd;
	transition: background-color var(--ui-animation-base-duration) ease, border-color var(--ui-animation-base-duration) ease;
	transition-delay: var(--ui-animation-base-duration);
}
/*
.pane-nav-list .nav-list-item.done .nav-button
*/
.pane-nav-list .nav-list-item.done span
{
/*
	background-color: var(--color-vriesia-brand);
	color: #fff;
*/
	color: #767676;
	border-color: #767676;
}
/*
.pane-nav-list .nav-list-item.done .nav-button,
*/
/*
.pane-nav-list .nav-list-item.active .nav-button
*/
.pane-nav-list .nav-list-item.active span
{
/*
	border-color: var(--color-vriesia-brand);
*/
	border-width: 2px;
}
/*
.pane-nav-list .nav-list-item.active .nav-button,
.pane-nav-list .nav-list-item.done .nav-button
*/
.pane-nav-list .nav-list-item.active span,
.pane-nav-list .nav-list-item.done span 
{
	background-color: #ff5200;
	border-color: #ff5200;
}
.pane-nav .line,
.pane-nav .progress
{
	position: absolute;
	top: 50%;
	left: 0;
	height: 3px;
/*
	z-index: -1;
*/
}
.pane-nav .line
{
	right: 0;
	background-color: #ddd;
	transform: translateY(-1px);
}
.pane-nav .line .progress
{
	right: 20%;
	background-color: #ff5200;
	transition: right var(--ui-animation-base-duration);
	transform: translateY(-2px);
/*
	background-color: var(--color-vriesia-brand);
*/
}

footer nav
{
	display: flex;
	justify-content: space-between;
	margin-top: 2rem;
}
footer nav .nav-button
{
	background-color: transparent;
	border: 0;
	display: inline-block;
	position: relative;
	cursor: pointer;
}
footer nav .nav-button span
{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	font-size: 90%;
	z-index: 1;
	font-size: 18px;
}
footer nav .nav-button svg
{
	vertical-align: top;
}
footer nav .nav-button span
{
	font-size: 18px;
}
footer nav .nav-button.button-prev span
{
	right: 0.8rem;
}
footer nav .nav-button.button-next span
{
	left: 0.8rem;
	font-weight: bold;
	color: #fff;
}
footer nav .nav-button.button-next.label-center span
{
	left: 50%;
	transform: translate(-50%, -50%);
}
footer nav .nav-button.button-next svg
{
/*
	transform: scale(1.2);
*/
}
footer nav .nav-button.button-prev svg
{
	transform: rotate(180deg); /*  scale(1.2); */
}
footer nav .nav-button.button-prev span
{
	color: #767676;
}
footer nav .nav-button.button-prev svg polygon
{
	fill: transparent;
	stroke: #767676;
}
/*
footer nav .section- .nav-button.button-next svg polygon,
footer nav .nav-button.button-next svg rect
{
	fill: var(--color-vriesia-secondary);
	stroke: 1px solid var(--color-vriesia-secondary);
}
*/
footer nav .nav-button.button-next svg polygon,
footer nav .nav-button.button-next svg rect
{
	fill: var(--color-vriesia-brand);
	stroke: 1px solid var(--color-vriesia-brand);
}

footer nav .nav-button.button-prev:hover svg polygon
{
	fill: #f0f0f0;
}

footer nav .nav-button.button-next:hover svg polygon,
footer nav .nav-button.button-next:hover svg rect
{
	fill: #e64900; /* -5% lightness HSL from base color */
}
.input-pair
{
	display: flex;
	justify-content: space-between;
}
.input-pair label + label
{
	margin-left: 1rem;
}
.input-pair label
{
	width: 100%;
}
.input-validation input,
.input-feedback,
.api-validation .input-mask
{
	height: -webkit-fill-available;
	height: -moz-available;
	height: fill-available;
	height: 100%;
}
.input-mask
{
	display: grid;
	grid-template-rows: repeat(2, 100%);
	transition: transform var(--ui-animation-base-duration) ease;
	position: relative;
}
.input-mask > i
{
	position: absolute;
	right: 0;
	top: 0.75rem;
	right: 1rem;
	display: none;
}
.api-validation.validation-result .input-mask
{
	transform: translateY(-100%);
}
.api-validation.validation-result input
{
	pointer-events: none;
}
label
{
	display: block;
	margin-top: 1.5rem;
}
label.control-group
{
	margin: 0;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}
label.label-aside
{
	display: flex;
}
label .input-hint
{
	font-size: smaller;
	margin: 0.5rem 0;
	display: block;
}
input:not([type="radio"]):not([type="checkbox"]),
select[name="country"]
{
	width: 100%;
	box-sizing: border-box;
	padding: 0.5rem;
/*
	margin-top: 0.25rem;
*/
	font-size: 1rem;
	outline: none;
	border-radius: 0;
	border: 1px solid #999;
}
.input-decorated
{
	position: relative;
}
.input-decorated input:not([type="radio"]):not([type="checkbox"])
{
	padding: 0.5rem 0.5rem 0.5rem 1.5rem;
}
.input-decorated .input-symbol
{
	position: absolute;
	left: 0.5rem;
	top: 0;
	color: #767676;
}
input,
select,
textarea,
button
{
	font-family: 'Lato', sans-serif;
}
input[readonly]
{
	background-color: #ddd;
	border: 1px solid #a9a9a9;
	pointer-events: none;
}
input[type="checkbox"],
input[type="radio"]
{
	margin-right: 0.5rem;
}
label .label
{
	display: flex;
	font-weight: bold;
/*
	height: 1.4rem;
	font-size: 1rem;
*/
	margin-bottom: 0.25rem;
	align-items: flex-end;
/*
	justify-content: space-between;
*/
}
.api-validation > div
{
	overflow: hidden;
	height: 2.5rem;
}
.api-validation input
{
/*
	height: -webkit-fill-available;
	height: -moz-available;
	height: fill-available;
*/
}
.api-validation input
{
	height: 100%;
}
#signup .upload .fas
{
	font-size: inherit;
	margin-right: 1rem;
}
/*

	height: calc(2.5rem - 2px);
}
@media only screen and (min-resolution: 1.1dppx), only screen and (-webkit-min-device-pixel-ratio: 1.1)
{
	.api-validation > div
	{
		height: calc(2.5rem - 1px);
	}
}
@media only screen and (min-resolution: 2dppx), only screen and (-webkit-min-device-pixel-ratio: 2)
{
	.api-validation > div
	{
		height: calc(2.5rem);
	}
}
@media only screen and (min-resolution: 2.5dppx), only screen and (-webkit-min-device-pixel-ratio: 2.5)
{
	.api-validation > div
	{
		height: calc(2.5rem - 0.5dpi);
	}
}
*/
.label-validation
{
	margin-left: 1rem;
	font-weight: normal;
	font-size: 0.85rem;
	color: #767676;
}
.label-validation .fas
{
	color: limegreen;
	transform: translateY(-1px);
}
/*
.label-validation
{
	color: #fff;
	text-transform: uppercase;
	background-color: #5aab4d;
	padding: 0.5rem;
	font-size: 11px;
	line-height: 0;
	height: 1rem;
}
*/
/* .api-validation .label, */
.api-validation.heading
{
	display: flex;
/*
	font-weight: normal;
	justify-content: space-between;
*/
	align-items: flex-end;
}
.api-validation.validating .fas
{
	animation: .5s linear infinite alternate pulse;
}
@keyframes pulse
{
	0%
	{
		transform: scale(1) translateY(-1px);
	}
	100%
	{
		transform: scale(0) translateY(-1px);
	}
}
.input-feedback
{
/*
	font-size: 0.8rem;
*/
	margin-block-start: 0;
	display: flex;
	/* max-width: 100%; */
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	align-items: center;
	/* background-color: red; */
	/* padding: 0 0.5rem; */
	justify-content: space-between;
}
.input-feedback span
{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: #767676;
}
.input-feedback a
{
	display: block;
	color: #767676;
	text-decoration: underline;
}
.drop-area
{
	border: 1px dashed #000;
	padding: 2rem;
	text-align: center;
}
.drop-area span
{
	color: #767676;
}
.drop-area label[for="file-select"]
{
	text-decoration: underline;
}
.drop-area > p:first-of-type
{
	margin-top: 0;
}
.drop-area > p:last-of-type
{
	margin-bottom: 0;
}
#permit_upload
{
	display: none;
}
span[class^="echo-"]
{
	font-weight: bold;
}
.layout-signup > div > div:first-of-type
{
/*
	background-image: url(/home/image/video-still-1920x1080.jpg);
	background-size: cover;
*/
/*
	background-blend-mode: overlay;
*/
/*
	display: grid;
	grid-template-columns: auto minmax(calc(360px + 3rem),calc(480px + 3rem)) 3rem;
	grid-gap: 5rem;
*/
}
.layout-signup > div
{
/*
	display: grid;
	grid-template-rows: 47.5vh 42.5vh;
*/
}
.layout-signup > div header p:last-of-type
{
	display: block;
}
.layout-signup header > p:nth-child(1) .ghost-button
{
	display: none;
}
.scheme-dark
{
	background-color: #101820;
	color: #fff;
}
.scheme-white
{
	background-color: #fff;
	color: #000;
}
.scheme-lightgrey
{
	background-color: #e8e8e8;
	color: var(--color-vriesia-secondary);
	
}
.ghost-button
{
	border: 1px solid currentColor;
	height: 3rem;
	line-height: 3rem;
	text-decoration: none;
	padding: 1rem;
	margin: 0;
	display: inline-flex;
	place-items: center;
}
.scheme-lightgrey .ghost-button
{
	color: var(--color-vriesia-secondary);
	border: 1px solid currentColor;
}
.layout-signup > div header p:first-of-type
{
	margin-top: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	place-items: baseline;
}
/*
.layout-signup > div header p:first-of-type a:last-of-type
{
	margin-top: 1rem;
}
*/
.layout-signup > div header .nav-button
{
	margin-top: 1rem;
}
.layout-signup > div header p:last-of-type
{
	margin-bottom: 0;
}
.layout-signup > div .container
{
	padding: 2rem 1rem 3rem 1rem;
	display: grid;
	grid-template-columns: 1fr;
/*
	min-height: 100vh;
*/
}
.layout-signup > div .container > header h1
{
/*
	font-size: 2rem;
*/
	font-weight: 300;
	margin-block-start: 3rem;
}
.layout-signup > div .container > main h2
{
	margin-top: 0;
	margin-bottom: 0;
/*
	font-size: 1.4rem;
*/
	font-weight: 300;
}
.layout-signup > div .container > main h2 + p
{
	margin-top: 0;
}
.layout-signup > div .container > main h2 br
{
	display: none;
}
.layout-signup > div .container > main p
{
/*
	font-size: 0.8rem;
	line-height: 1.2rem;
*/
}
/*
.layout-signup > div .container > main
{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 2rem;
}
*/
.layout-signup > div .container > main a
{
	text-decoration: none;
	padding: 1rem;
}
.layout-signup > div .container > main a:nth-child(1)
{
	border: 1px solid #fff;
	color: #fff;
}
.layout-signup > div .container > main a:nth-child(2)
{
	border: 1px solid #fff;
	background-color: #fff;
	color: #000;
	margin-left: 1.5rem;
}
.button-arrow-right
{
	display: inline-block;
	padding-right: 3rem !important;
	-webkit-clip-path: polygon(0% 0%, 83% 0%, 100% 50%, 83% 100%, 0% 100%);
	clip-path: polygon(0% 0%, 83% 0%, 100% 50%, 83% 100%, 0% 100%);
}
.layout-signup > div section ul
{
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
}
/*
.layout-signup > div .container .heading
{
	font-weight: normal;
}
*/
@media screen and (min-width: 360px)
{
	.nav-button
	{
		margin-right: 1rem;
	}
}
@media screen and (min-width: 480px)
{
	.layout-signup > div .container
	{
		padding: 2rem 3rem 3rem 3rem;
	}
	#signup .container
	{
		padding: 2rem 3rem 3rem 3rem;
	}
}
@media screen and (min-width: 640px)
{
	.layout-signup > div .container > main h2 br
	{
		display: block;
	}
	.layout-signup > div .container > main
	{
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-gap: 2rem;
	} 
}
@media screen and (min-width: 900px)
{
/*
	.layout-signup > div header
	{
		display: flex;
		flex-direction: column;
	}
	.layout-signup > div header h1
	{
		order: 1;
	}
	.layout-signup > div header p:nth-child(2)
	{
		order: 3;
	}
	.layout-signup > div header p:nth-child(3)
	{
		order: 1;
	}
*/
	.layout-signup .scheme-lightgrey .ghost-button
	{
		margin-left: 0;
	}


	.layout-signup > div header p:last-of-type
	{
		display: none;
	}

/*
	.layout-signup > div .container
	{
		grid-template-columns: 1.2fr 2fr;
	}

	.layout-signup
	{
		display: grid;
	}
	.layout-signup > div .container
	{
		grid-template-columns: 0.5fr 1fr;
	}
*/
}
@media screen and (min-width: 960px)
{
	.layout-signup > div header p:first-of-type
	{
		place-items: center;
		flex-direction: row;
	}
}
@media screen and (min-width: 1024px)
{
	.layout-signup
	{
		display: grid;
	}

	.layout-signup > div .container
	{
		grid-template-columns: 1fr 1fr;
	}

	.layout-signup > div .container > main
	{
		grid-template-columns: repeat(3, 1fr);
	}
	.layout-signup > div .container > main h2 br
	{
		display: block;
	}
	.layout-signup header > p:nth-child(1) .ghost-button
	{
		display: inline-flex;
	}
	.layout-signup header > p:nth-child(3) .ghost-button
	{
		display: none;
	}

	#signup
	{
		position: absolute;
		transform: none;
		/*
		box-shadow: 0 0 6px 0px #00000026;
		*/
		width: 440px;
		z-index: 1;
	}
	#signup .container
	{
		max-width: 640px;
		margin: 0 auto;
		border-left: 1px solid #787e86;
	}
	#signup .container .section-viewport section
	{
		margin: 0 auto;
	}
	.layout-signup > div .container > main
	{
		grid-template-columns: 1fr;
	}
	.layout-signup > div .container > main h2 br
	{
		display: none;
	}
	#signup-button
	{
		display: none;
	}

}
@media screen and (min-width: 1160px)
{
	#signup
	{
		width: 480px;
		left: 50%;
		margin-left: 3rem;
	}
}
@media screen and (min-width: 1200px)
{
	.container
	{
		width: 1170px;
		padding-right: 15px;
		padding-left: 15px;
		margin-right: auto;
		margin-left: auto;
	}
	#signup
	{
		width: 480px;
		left: 50%;
		margin-left: 3rem;
	}
}
