.form label,
.form input,
.form textarea,
.form select,
.form div.error {
  display: block;
  width: 25%;
  float: left;
  height: 1.5em;
}

.form div.description {
  clear: both;
  padding-left: 25%;
  margin-left: 2em;
  margin-bottom: 1em;
  position: relative;
  top: -0.5em;
  color: #666;
}

.form div.description .desc-text {
  font-size: 0.8em;
}

.form textarea {
  height: 6em;
}

.form textarea,
.form input{
  margin-bottom: 1em;
}

.form textarea:focus,
.form input:focus {
  border-color: #0085a1;
}

.form textarea:disabled,
.form input:disabled {
  border-color: grey;
  color: grey;
  box-shadow: none;
  background-color: rgba(200, 200, 200, 0.2);
}

.form label {
  clear: left;
  margin-bottom: 1em;
  margin-right: 2em;
}

.form label {
  margin-top: 0.5em;
}

.form div.error {
  margin-top: 0.2em;
}


.form div.error span {
  display: inline-block;
  box-shadow: inset 2px 2px 2px 0px #ddd;
  color: red;
  border: 0.1em red solid;
  background-color: rgba(128, 128, 128, 0.2);
  padding: 0.2em 0.5em;
  border-radius: 0.2em 1em 1em 0.2em;
}

.form input,
.form textarea {
  margin-top: 0.2em;
	border: 0.1em grey solid;
  box-shadow: inset 2px 2px 2px 0px #aaa;
  padding: 0.2em 0.5em;
  border-radius: 0.2em;
}

.submit-button {
  display: block;
  float: right !important;
  margin-right: 25%;
  margin-bottom: 2em;
}

.submitted {
  display: inline-block;
  box-shadow: inset 2px 2px 2px 0px #ddd;
  color: green;
  border: 0.1em green solid;
  background-color: rgba(128, 128, 128, 0.2);
  padding: 0.2em 0.5em;
  border-radius: 1em;
  margin-right: 25%;
}

.file-input-wrapper {
  width: 32px;
  height: 32px;
  overflow: hidden;
  position: relative;
  float: left;
  margin-right: 1em;
}

.file-input-wrapper > input[type="file"] {
  font-size: 200px;
  position: absolute;
  top: 0;
  right: 0;
  opacity: 0;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 0 !important;
}

.file-input-wrapper > .btn-file-input,
.file_select .file-list-item {
  display: inline-block;
  width: 100%;
  height: 100%;
  background: none;
  border: 1px solid grey;
  color: grey;
  border-radius: 0.5em;
}

.file-input-wrapper:hover > .btn-file-input,
.file-input-wrapper:active > .btn-file-input,
.file_select .file-list-item button:hover,
.file_select .file-list-item button:active {
  background-color: grey;
  color: black;
}

.file-input-wrapper:active > .btn-file-input,
.file_select div.file-list-item button:active {
  box-shadow: inset 0.1em 0.1em 0.2em #000;
  padding-top: 0.6em;
  padding-left: 0.6em;
  padding-bottom: 0.4em;
  padding-right: 0.4em;
}

.file_select {
  margin-left: 28%;
}

.file_select .file-list-item {
	margin-right: 1em;
	margin-bottom: 1em;
	width: auto;
	float: left;
	padding: 0 0 0 0.5em;
}

.file_select .file-list-item span {
	display: inline-block;
	padding-right: 0.5em;
}


.file_select div.file-list-item.disabled {
  padding: 0.5em;
}

.file_select div.file-list-item button {
  width: auto;
  border: none;
  border-left: 1px solid grey;
  background: none;
  padding: 0.5em;
  border-radius: 0 0.5em 0.5em 0;
}