div.formy
	{
		margin: 0 20%;
	}
#upcontainers
	{
		margin-bottom: 30px;
	}
#upcontainers input
	{
		font-size: inherit;
  }
#upcontainers > div
	{
		margin: 4px;
		width: 200px;
		box-sizing: border-box;
		aspect-ratio: 1;
		display: inline-grid;
  }

#usejs:checked + #upcontainers input
	{
		display: none;
  }
#usejs:not(:checked) + #upcontainers #addUploadBtnContainer
	{
		display: none;
  }

#upcontainers > div > div
	{
		overflow: hidden;
		border: 2px dashed #BBB;
		box-shadow: 0 0 6px #CCC;
		border-radius: 10px;
		transition: all .25s ease;
		-o-transition: all .25s ease;
		-moz-transition: all .25s ease;
		-webkit-transition: all .25s ease;
		position: relative;
	}
#upcontainers > div > div:hover
	{
		box-shadow: 0 0 6px #989898;
		border: 2px dashed grey;
	}
#upcontainers > div.selected > div
	{
		border: 2px solid #BBB;
	}
#upcontainers > div label
	{
		position: absolute;
		background: #DDD;
		font-size: 80pt;
		line-height: 80pt;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		cursor: pointer;
		user-select: none;
		align-items: center;
		justify-content: center;
		color: grey;

		transition: color .25s ease;
		-o-transition: color .25s ease;
		-moz-transition: color .25s ease;
		-webkit-transition: color .25s ease;
		visibility: visible;
		display: inline-flex;
	}
#upcontainers > div > div:hover > label.fileuploadlabel
	{
		color: black;
	}
#upcontainers > div label.fileuploadselectlabel
	{
		visibility: hidden;
		background: none;
		z-index: 2;
		cursor: copy;
	}
#upcontainers > div span.filename
	{
		position: absolute;
		left: 0;
		bottom: 0;
		right: 0;
		user-select: none;
		visibility: hidden;
		padding: 4px;
		background: #FFF;
		font-size: 0.8em;
		text-align: center;
		border-top: 1px solid #DDD;
		z-index: 1;
	}
#upcontainers > div font.filesize
	{
		position: absolute;
		left: 0;
		top: 0;
		user-select: none;
		visibility: hidden;
		padding: 4px;
		background: #FFF;
		font-size: 0.8em;
		border-bottom-right-radius: 3px;
		border-right: 1px solid #DDD;
		border-bottom: 1px solid #DDD;
		z-index: 1;
	}

#upcontainers > div input,
#upcontainers > div > div input
	{
		display: none;
	}

#upcontainers > div input:checked + div
	{
		box-shadow: 0 0 6px #F55;
		border: 2px solid #BF0000;
		background: #F55;
	}
#upcontainers > div > input:checked + div label + span + label
	{
		cursor: alias;
	}

div.filepreview
	{
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		top: 0;
		visibility: hidden;
		text-align: center;
		padding: 4px 10px;
		display: flex;
		align-items: center;
		justify-content: center;

		font-size: 6em;
	}
div.filepreview img
	{
		max-width: 100%;
		max-width: 100%;
	}

#upcontainers > div .buttonFileReset,
#upcontainers > div.selected label
	{
		visibility: hidden;
	}

#upcontainers > div.selected .buttonFileReset,
#upcontainers > div.selected span + label + span,
#upcontainers > div.selected span + label + span + font,
#upcontainers > div.selected div.filepreview
	{
		visibility: visible;
	}
#upcontainers > div.selected label + span + label
	{
		visibility: visible;
	}

span.buttonFileReset
	{
		position: absolute;
		top: 0;
		right: 0;
		color: #555;
		font-size: 14pt;
		padding: 4px 8px;
		cursor: pointer;

		border-left: 1px solid #FDD;
		border-bottom: 1px solid #FDD;
		background: #FAA;
		margin: -1px -1px 0 0;
		border-bottom-left-radius: 10px;
		border-top-right-radius: 10px;

		z-index: 3;
	}
span.buttonFileReset:hover
	{
		color: #FFF;
		background: #F55;
		border-left: 1px solid #F44;
		border-bottom: 1px solid #F44;
	}

div.bor
	{
		margin-bottom: 20px;
		display: flex;
	}
div.bor input.textfield
	{
		width: 100%;
	}

div.bor > div
	{
		text-align: right;
	}
div.bor > div label
	{
		font-size: 12pt;
		padding: 8px;
		border: 1px solid limegreen;
		background: lime;
		cursor: pointer;
		user-select: none;
		border-radius: 3px;
		aspect-ratio: 1;
		box-sizing: border-box;
		display: inline-block;
		margin-left: 4px;
	}
div.bor > div label.deleteselected
	{
		border: 1px solid red;
		background: #F55;
	}

#legacyupload:checked + input
	{
		border: 1px solid orangered;
		background: orange;
	}

#upcontainers > div:not(.selected):not(#addUploadBtnContainer) ~ #addUploadBtnContainer
	{
	  display: none !important;
	}

#upcontainers > #addUploadBtnContainer > div
	{
		border: none;
		box-shadow: none;
		display: flex;

		align-items: center;
		justify-content: center;
	}
#upcontainers > #addUploadBtnContainer label
	{
	  color: #AEAEAE;
		background: #EAEAEA;
	  width: 100px;
		aspect-ratio: 1;
		border-radius: 10px;
		box-sizing: content-box;
		box-shadow: 0 0 6px #AAA;
		border: 1px solid #EAEAEA;

		top: unset;
		left: unset;
		right: unset;
		bottom: unset;

		transition: all .25s ease;
		-o-transition: all .25s ease;
		-moz-transition: all .25s ease;
		-webkit-transition: all .25s ease;

	}
#usejs:checked + #upcontainers > #addUploadBtnContainer label:hover
	{
		color: #555;
	}

.filedropper
	{
		position: fixed;
		visibility: hidden;
		opacity: 0;
		font-size: 38pt;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		transition: all 300ms;
		background: rgba(0, 0, 0, 0.5);
		z-index: 99;
		cursor: copy;
	}
.show
	{
		visibility: visible;
		opacity: 1;
		font-size: 48pt;
	}
.nope
	{
		background: rgba(255, 128, 128, 0.5);
	}
.successs
	{
		background: rgba(128, 255, 128, 0.8);
	}
.filedropper div
	{
		display: flex;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		position: absolute;
		border-radius: 60px;
		margin: 40px;
		box-sizing: border-box;
		justify-content: center;
		align-items: center;
		pointer-events: none;
		font-weight: bold;
		border: 16px dashed #CCC;
		color: #CCC;
		cursor: copy;
	}

.filedropper.nope
	{
		cursor: no-drop;
	}
.filedropper.nope div
	{
		border: 16px dashed #F55;
		color: #BA0000;
		cursor: inherit;
	}
.filedropper.successs div
	{
		border: 16px dashed #4F4;
		color: #00BA00;
	}


fieldset.attachments #upcontainers > div
	{
		width: 120px;
	}
fieldset.attachments #upcontainers div.filepreview
	{
		font-size: 3em;
	}

fieldset.attachments > #upcontainers
{
	margin: 0;
}
fieldset.attachments > #upcontainers > div:nth-child(2),
fieldset.attachments > #upcontainers > input
{
	margin-top: 16px;
}


@media screen and (max-width: 800px) {
div.formy
	{
		margin: 0;
	}
.filedropper
	{
		font-size: 28pt;
	}
.filedropper div
	{
		border: 10px dashed #CCC;
	}
.filedropper.nope div
	{
		border: 10px dashed #F55;
	}
.filedropper.successs div
	{
		border: 10px dashed #4F4;
	}
#upcontainers > div
	{
		width: 180px;
	}
#upcontainers > div.selected span + label + span,
#upcontainers > div.selected span + label + span + font,
	{
		font-size: 0.6em;
	}
#usejs:checked + #upcontainers > div.selected div.filepreview
	{
		font-size: 4em;
	}
}

@media screen and (max-width: 500px) {
#upcontainers > div
	{
		width: 150px;
	}
#upcontainers > div.selected span + label + span,
#upcontainers > div.selected span + label + span + font
	{
		font-size: 9pt;
	}
#upcontainers > div.selected div.filepreview
	{
		font-size: 4em;
	}