form {
  position: relative;
}

div.form-hidden {
  display: none;
}

div.form-section {
  margin: 0px 0px 30px 0px;
}

div.form-input {
  margin: 0px 0px 20px 0px;
}

div.form-input-padded {
	padding: 10px;
}

div.form-input-dark {
  background-color: #CCCCCC;
}

div.column div.form-input:last-of-type {
  margin: 0px;
}

form span.form-label {
  display: block;
  margin: 0px 0px 4px 0px;
  font-size: 16px;
  font-weight: bold;
}

form span.form-label-inline {
  display: inline-block;
  margin: 0px 0px 0px 4px;
}

form input,
form select,
form textarea,
form button {
  padding: 12px;
  max-width: 100%;
  font-family: 'Noto Sans SC', sans-serif;
  font-size: 16px;
  box-sizing: border-box;
}

form select {
  padding: 11px 12px;
}

div.select-wrapper {
  clear: both;
  position: relative;
}

div.select-wrapper select {
  padding-right: 30px;
  -o-appearance: none;
  -ms-appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAJCAYAAADtj3ZXAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAEBSURBVHjaYjxz5sxkBgYGQyAONzY2fspAAJw9e1YESK0G4jsAAcQEJByA2BqIVwElBAlo5AdSK6F67AECCKQ5EmQKEFtBDRDCo3ExEDsB8SMgjgEIIMb///+DJLSBnM1ArAjEu4A4FOiFT0gaOaBO9QHiFyAaKH8WIIBANjMAGVdBGqASbkC8EKiBHaqRFUjNg2p8B8QhII0gOYAAAtuMZAPI7+uAWAzqxDIgbgDidCB+D8RRQI07YOoBAghFM9QAeyC1FoiFgfgBECsA8VcgDgJq3IWsFiCAMDRDDXCDuoAbiH8AcQRQ40Z0dQABxIQtZKE2xALxRSBOxaYRBAACDAAYJlaV0VZ/aQAAAABJRU5ErkJggg==');
  background-position: calc(100% - 10px) center;
  background-repeat: no-repeat;
  cursor: pointer;
}

/*div.select-wrapper::after {
  content: "\f107";
  position: absolute;
  right: 10px;
  top: 13px;
  color: #CCCCCC;
  font-family: "Font Awesome 5 Pro";
  font-size: 18px;
}*/

form input.input-text,
form select.input-text,
form textarea.input-text {
  width: 300px;
  border: 1px solid #CCCCCC;
  transition: all 0.2s ease-in-out;
}

form input.input-full,
form select.input-full,
form textarea.input-full {
  width: 100%;
}

form input.input-half,
form select.input-half {
  width: 50%;
}

form input.input-small,
form select.input-small,
form textarea.input-small {
  width: 44%;
}

form input.input-smallest,
form select.input-smallest,
form textarea.input-smallest {
  width: auto;
}

form textarea.input-editor {
  width: 100%;
  height: 300px;
}

form fieldset {
	padding: 0px;
  border: 1px solid #CCCCCC;
}

form fieldset legend {
	margin: 0px 10px;
	padding: 0px 10px;
}

form input:not([type="submit"]):not([type="button"]):focus,
form select:focus,
form textarea:focus {
  outline: none;
  border: 1px solid rgba(0, 133, 217, 0.75);
  box-shadow: 0 0 0 0.2rem rgba(0, 133, 217, 0.75);
}

form input.input-price-sign {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='16px' width='85px'><text x='2' y='13' fill='gray' font-size='15' font-family='arial'>$</text></svg>");
  background-position: 5px center;
  background-repeat: no-repeat;
  padding-left: 20px !important;
}

form span.form-note {
  color: #0065A4;
  font-size: 14px;
  font-style: italic;
}

form span.form-note-block {
  display: block;
  margin: 4px 0px 0px 0px;
}

span.form-required {
	position: relative;
}

span.form-required::after {
	content: "必填";
	display: inline-block;
	margin: 0px 0px 0px 10px;
	padding: 0px 5px;
  color: #CC0000;
  font-weight: 400;
  border: 1px solid #CC0000;
  border-radius: 3px;
}

.info,
.okay,
.warning,
.error {
  position: relative;
  padding: 10px 15px 10px 45px;
  border-radius: 3px;
}

.info::before,
.okay::before,
.warning::before,
.error::before {
  position: absolute;
  left: 15px;
  margin-right: 12px;
  font-family: "Font Awesome 5 Pro";
  font-weight: 700;
}

.info {
  color: #31708F;
  background-color: #D9EDF7;
  border: 1px solid #BCE8F1;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.info::before {
  content: "\f05a";
}

.okay {
  color: #4F8A10;
  background-color: #DFF2BF;
}

.okay::before {
  content: "\f058";
}

.warning {
  color: #9F6000;
  background-color: #FEEFB3;
}

.warning::before {
  content: "\f06a";
}

.error {
  color: #D8000C;
  background-color: #FFBABA;
}

.error::before {
  content: "\f057";
}