@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap');

/*
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap" rel="stylesheet">
*/



html {
	font-size: 16px;
}

body {
	min-height: 100vh;
	font-family: 'Poppins', helvetica, sans-serif;
	margin: 0;
	background: #404040;
	color: #ffffff;
}


a {
	color: #ffffff;
}


h1 {
	font-size: 1.5em;
	margin: 0;
	color: #abceff;
}

h2 {
	font-size: 1em;
	margin: 0;
	color: #9298a0;
}


fieldset {
	display: block;
	max-width: 650px;
	margin: 1em auto;
	padding: 0 1em;
	border: 0;
	text-align: center;
}


fieldset input, fieldset select {
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-top: 0.2em;
}


input, select {
	font-family: 'Poppins', helvetica, sans-serif;
	font-size: 1rem;
	padding: 0.3em 0.4em;
	box-sizing: border-box;
}

select {
/*
	width: 100%;
*/
}

label {
	display: block;
	margin: 0.5em 0;
	font-size: 0.75em;
	text-transform: uppercase;
}

fieldset label {
	margin: 1em 0;
}

/*
fieldset select, fieldset input {
	width: 50%;
	box-sizing: border-box;
}
*/

label.button {
	display: inline-block;
}

::placeholder {
	color: #c0c0c0;
}

#showDetails {
	background-image: url('images/info-icon.png');
	background-size: 20px 20px;
	background-repeat: no-repeat;
	background-position: center left;
	padding: 25px;
	font-size: 0.8em;
	cursor: pointer;
}


.image_options input[type=text] {
	margin: 0.4em;
	width: 16em;
}

.image_options .note {
	font-size: 0.75em;
	color: #ffa96c;
	margin-top: 0;
	margin-left: 1em;
}

input[type=submit], .button, button {
	padding: 1em;
	background: #1b3962;
	color: #ffffff;
	border: solid 1px rgb(255 255 255 / 36%);
	border-radius: 0.5em;
	margin: 1em auto;
}

input[type=file] {
	display: none;
}

input[type=radio], input[type=checkbox] {
	width: 1em;
	height: 1em;
	margin: 0.4em;
}

header {
	padding: 1em;
	text-align: center;
}

#images {
	border-top: 4px solid #909090;
}

#images section {
	position: relative;
	padding: 1em;
	background: #606060;
	color: #ffffff;
	border-bottom: 1px solid #909090;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2em;
}

button.close_button, #images section button.delete_button {
	position: absolute;
	right: 1em;
	top: 1em;
	width: 2em;
	height: 2em;
	border: 0;
	border-radius: 0;
	padding: 0;
	margin: 0;
	background-color: transparent;
	color: transparent;
	background-image: url("images/close.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	z-index: 3;
}

button.close_button {
	position: fixed;
}

#images section p.filename, section p.filesize {
	font-size: 0.7em;
	text-align: center;
	margin: 0;
}

#images section p.filename {
	margin-top: 0.5em;
}


#images section p.warning_message {
/*
	background: #ff0000;
*/
	color: #ff0000;
}

#images section .image_error {
	display: none;
	position: absolute;
	z-index: 2;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
	box-sizing: border-box; 
	background: rgb(167, 5, 0, 0.80);
}

#images section .image_error.visible {
	display: flex;
}

#images section .image_options {
/*
	padding: 2em;
*/
	flex-grow: 1;
	position: relative;
	z-index: 1;
}

#images section div {
/*	max-width: 100%;
	width: 300px;
	height: 300px;
	max-height: 100%;
	position: relative;
*/
}

#images section div img {
	max-width: 100%;
	max-height: 250px;
	object-fit: contain;
}


@media (min-width: 700px) {
	#images section {
		flex-direction: row;
	}

	#images section div img {
		max-width: 300px;
	}
}


#images section div div.progress {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
/*
	background: rgba(255, 255, 255, 0.8);
*/
	background: rgba(77, 77, 77, 0.8);
}

#images section div div.progressPercent {
	position: absolute;
	bottom: 1em;
	right: 1em;
	font-weight: bold;
}


#eventDetailsDescription {
	text-align: left;
}


#expires {
	display: none;
	color: #9d9d9d;
	font-size: 0.8em;
	font-style: italic;
}

#expires.valid {
	display: block;
}

/*
#dateExspires {
	white-space: no-wrap;
}
*/


#upload_area {
	display: none;
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	border: 2px dashed #1b3962;
	background-color: rgb(209, 218, 230, 0.95);
	box-sizing: border-box;
}

body.dragging #upload_area {
	display: flex;
}


.warning, #error {
	display: none;
	padding: 1em;
	margin: 0;
	background: #a70500;
	color: #ffffff;
	text-align: center;
}

body.error #error {
	display: block;
}

.warning {
	background: #c65200;
}

body.processing #processing_message {
	display: block;
}

body.error #processing_message {
	display: none;
}


#submit {
	margin-top: 2em;
	margin-bottom: 2em;
	display: none;
}

#add_images {
	display: block;
	width: fit-content;
}

body.submitReady #submit {
	display: block;
}

#custom_options {
/*
	background: #2a3669;
*/
	display: none;
}

body.hasImages #custom_options {
	display: block;
}

@media (min-width: 650px) {
	body.hasImages #custom_options {
		display: flex;
		justify-content: center;
	}
}

body.submitting #submit {
	display: none;
}

body.submitted #submitted {
	display: flex;
}

body.hasImages #add_images {
	font-size: 0.7em;
	margin-left: 1em;
	padding: 0.4em 0.8em;
}

body.limitImages #add_images {
	display: none;
}

@keyframes pulse {
	0% {
		opacity: 1;
	}
	50% {
		opacity: 0.2;
	}
	100% {
		opacity: 1;
	}
}

@keyframes fade-out {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

@keyframes fade-out-2 {
	0% {
		opacity: 1;
	}
	50% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}



.overlay {
	display: none;
	position: fixed;
	z-index: 10;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #404040;
	color: #ffffff;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	box-sizing: border-box;
}

.overlay > .container {
	width: 100%;
	max-height: 100vh;
	overflow: auto;
	position: relative;
}

.overlay section {
	max-width: 500px;
	margin-left: auto;
	margin-right: auto;
	padding: 2em;
}

.overlay img {
	max-width: 100%;
}

body.details #eventDetailsOverlay {
	display: flex;
}


#loadingOverlay {
	background: #ffffff;
	color: #000000;
	display: flex;
}


#loadingOverlay img {
	display: block;
	max-width: 150px;
	margin: 0 auto 3em auto;
}

#loadingOverlay > p {
	animation: pulse 2500ms linear infinite;
}

body {
	overflow: hidden;
}

body.loaded {
	overflow: auto;
}


body.details, body.submitted {
	overflow: hidden;
}


body.loadFade #loadingOverlay {
/*
	animation: fade-out-2 3000ms forwards;
*/
	animation: fade-out 1500ms forwards;
}

body.loaded #loadingOverlay {
	display: none;
}
