:root {
	--vss-color-bg: #222;
	--vss-color-text: #fff;
	--vss-color-accent-1: #e116b0;
	--vss-color-accent-2: #00932c;
	--vss-color-accent-3: #3d3bfa;
	
	--vss-color-red: #ff0000;
	--vss-color-yellow: #ffff00;
	--vss-color-green: #00ff00;
	
}

html {
	height: 100%;
}
body {
	background: var(--vss-color-bg);
	color: white;
	font-family: 'Noto Serif';
	font-size: 1.5em;
	line-height: 1.4em;
	margin: 0;
	padding: 0;
	height: 100%;
	min-height: 100%;
	overflow-x: hidden;
}

a,
a:link,
a:active,
a:visited,
a:hover {
	color: var(--vss-color-text);
}

.vss-wrapper {
	position: relative;
	display: flex;
	width: 100%;
	box-sizing: border-box;
	padding: 2em;
	overflow-x: hidden;
	min-height: 100%;
	padding-left: 100px;
}

.vss-main-container {

	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
	height: 100%;
	margin: auto;
	min-height: 100%;

}

.vss-normal-page {
	overflow: hidden;
}

.vss-main-container .vss-normal-page h1 {
	font-family: 'Baloo';
	font-size: 3em;
	line-height: 1.1em;
}

.vss-wrapper .vss-normal-page p,
.vss-wrapper .vss-normal-page ol,
.vss-wrapper .vss-normal-page ul {
	max-width: 45em;
}


.vss-container {

	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	/* justify-content: space-evenly; */
	/* gap: 0; */
	justify-content: center;
	gap: 50px;
	align-items: flex-start;
	
	margin: 0;
	padding: 0;
	list-style-type: none;
	
}
.vss-splash-div-img {
	width: 20em;
	max-width: 100%;
}
.vss-splash-div-h1 {
	font-family: 'Baloo';
	margin-bottom: 1em;
	line-height: 1em;
}
.vss-splash-div-p {
	max-width: 25em;
}
.vss-container li:nth-child(2) {
}

#div1, #div2, #div3 {
	display: none;
}

#link1 { color: var(--vss-color-accent-1); }
#link2 { color: var(--vss-color-accent-2); }
#link3 { color: var(--vss-color-accent-3); }

.vss-splash-h1 {

	font-family: 'Baloo';

	text-align: center;
	font-weight: normal;
	font-size: 1.5em;
	line-height: 1.5em;
	margin-bottom: 2em;
	padding-top: 1em;
	box-sizing: border-box;
}
.vss-splash-h1 a,
.vss-splash-h1 a:link,
.vss-splash-h1 a:visited,
.vss-splash-h1 a:active,
.vss-splash-h1 a:hover {
	text-underline-offset: 10px;
	text-decoration: underline;
	text-decoration-color: rgba(255,255,255, 0.5);
	text-decoration-style: dotted;
	text-decoration-thickness: 5px;
}
.vss-splash-h1 a:hover {
	cursor: pointer;
}

.vss-splash-h2 {
	margin-top: 1.5em;
	text-align: left;
	font-size: 1em;
	font-weight: normal;
	line-height: 1.4em;
}	

.vss-splash-h2 a,
.vss-splash-h2 a:link,
.vss-splash-h2 a:visited,
.vss-splash-h2 a:active,
.vss-splash-h2 a:hover {
	color: var(--vss-text-color);
}

.vss-splash-h2 b {
	font-family: 'Baloo';
	font-size: 2em;
}

.vss-splash-div-p a,
.vss-splash-div-p a:link,
.vss-splash-div-p a:visited,
.vss-splash-div-p a:active,
.vss-splash-div-p a:hover {
	/*font-family: 'Baloo';*/
	text-decoration: underline;
	color: var(--vss-color-text);
}

.vss-decoration-circle {
	background: white;
	border-radius: 50%;
	opacity: 0.8;
	z-index: -1000;
	position: fixed;
}

.vss-footer {
	font-family: Arial;
	font-size: 0.5em;
	text-align: center;
	width: 100%;
	margin-top: 3em;
	margin-bottom: 0;
	line-height: 1.4em;
}

/* tooltips: https://www.sliderrevolution.com/resources/css-tooltip/ */

.vss-navigation {
	font-family: 'Baloo';
	font-size: 1.5em;
	position: fixed;
	left: 0;
	top: 0;
	padding: 0;
	margin: 0;
	list-style-type: none;
	height: 100%;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 25px;
	z-index: 10000;
}
.vss-navigation li {
	display: block;
	height: 75px;
	width: 75px;
	background: white;
	color: var(--vss-color-bg);
	opacity: 1;
	padding: 0;
	border-radius: 0 25px 25px 0;
	border: 1px solid white;
	transition: width 200ms ease-out 10ms, padding-left 200ms ease-out 10ms;
	line-height: 75px;
	box-sizing: border-box;
	overflow: hidden;
}
.vss-navigation a,
.vss-navigation a:link,
.vss-navigation a:active,
.vss-navigation a:visited,
.vss-navigation a:hover {
	display: flex;
	flex-direction: row;
	color: var(--vss-color-bg);
	text-decoration: none;
	padding: 0;
	margin: 0;
	overflow: hidden;
}
.vss-navigation li:hover {
	cursor: pointer;
	width: 5em;
}
.vss-short-title {
	display: inline-block;
	width: 50px;
	height: 50px;
	opacity: 1;
	transition: width 100ms ease-out 10ms, opacity 100ms ease-out 10ms;
	margin-top: calc( (75px - 50px)/2 );
	margin-left: calc( (70px - 50px)/2 );
}
.vss-long-title {
	display: inline-block;
	margin-left: 10px;
	opacity: 0;
	transition: opacity 100ms ease-out 10ms;
	transition-delay: 100ms;
}
.vss-navigation li:hover a > .vss-long-title { opacity: 1; }
.vss-navigation li:hover a > .vss-short-title { width: 0; opacity: 0; }

.ui-checkboxradio-label.ui-corner-all.ui-button.ui-widget {
	border: 0;
	border-radius: 0 20px 20px 0;
}
.ui-checkboxradio-label.ui-corner-all.ui-button.ui-widget.ui-checkboxradio-checked.ui-state-active {
    background: var(--vss-color-accent-1) !important;
}


fieldset {
	font-family: 'Noto Serif';
	border: none;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
fieldset label {
	font-family: 'Noto Serif';
	text-align: left;
	width: 100%;
	box-sizing: border-box;
	margin-bottom: 0.5em;
}
fieldset .ui-button {
	font-family: 'Noto Serif';
	text-align: left;
	padding: 0.2em 0.5em;
}

.survey {
	font-size: 2em;
	max-width: 40em;
	box-sizing: border-box;
	border: 1px solid black;
	margin: 0 auto;
	margin-top: 5em;
	padding: 1em;
}
.question {
	
	border-left: 5px solid;
	border-color: var(--vss-color-text);
	margin-top: 1em;
	margin-bottom: 1em;
	padding-left: 1em;
	
	max-width: 45em;
	display: none;
	
}
.normal {
	border-left: 0;
	padding-left: 0;
}

.question input, .question select, .vss-button, .vss-textbox {
	font-family: 'Noto Serif';
	font-size: 1em;
	padding: 0.2em 0.5em;
	cursor: pointer;
	border: 0;
	border-radius: 0 20px 20px 0;
}
.question input[type=text], .vss-textbox {
	font-family: 'Noto Serif';
	box-sizing: border-box;
	width: 100%;
	cursor: text;
}
.question p:first-of-type {
	margin-top: 0;
}
.question p:last-of-type {
	margin-bottom: 0;
}

.done {
	border-color: var(--vss-color-accent-2);
	display: block;
}
.error {
	border-color: #ff0000;
	display: block;
}

.question input[type=button], .vss-button {
	color: var(--vss-color-text);
	background: var(--vss-color-accent-3);
}

.vss-school-id {
	
	font-family: 'Baloo';
	font-size: 4em;
	margin: 0;
	padding-top: 0.4em;
	padding-bottom: 0.4em;
	
}

.vss-screen {
	width: 100%;
}

.vss-confirmation {
	border-left: 5px solid;
	border-color: var(--vss-color-green);
	margin-top: 1em;
	margin-bottom: 1em;
	padding-left: 1em;
}

.vss-notification {
	border-left: 5px solid;
	border-color: var(--vss-color-yellow);
	margin-top: 1em;
	margin-bottom: 1em;
	padding-left: 1em;
}
.vss-error {
	border-left: 5px solid;
	border-color: var(--vss-color-red);
	margin-top: 1em;
	margin-bottom: 1em;
	padding-left: 1em;
}

.vss-progress {
	box-sizing: border-box;
	height: 25px;
	width: 100%;
	margin-top: 0;
}
.vss-progress span {
	display: inline-block;
	background: var(--vss-color-green);
	width: 0%;
	height: 100%;
	opacity: 1;
	border-radius: 12.5px;
}

.vss-about {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-evenly;
	align-items: flex-start;
}
.vss-about div {
	display: inline-block;
	max-width: 20em;
}
.vss-about img {
	width: 50%;
}

.vss-textarea {
	width: 100%;
	height: 10em;
	font-family: 'Noto Serif';
	font-size: 1em;
	line-height: 1.4em;
	padding: 0.2em 0.5em;
	border-radius: 0 20px 20px 0;
	resize: none;
}