:root {
  --color-form-text:                    #ffffff;
  --color-form-text-error:              #ed7658;
  --color-form-text-remark:             #d4d4de;
  --color-form-label-border:            #a1a1b2;
  --color-form-label-text:              #e1e1f7;
  --color-form-legend-border:           #85858f;
  --color-form-legend-text:             #aaaabf;
  --color-form-control-bg:              #ffffff;
  --color-form-control-bg-disabled:     #ededed;
  --color-form-control-bg-readonly:     #e4e9f5;
  --color-form-control-border:          #8e949e;
  --color-form-control-border-hover:    #5495ff;
  --color-form-control-border-focus:    #00ab80;
  --color-form-control-border-disabled: #b2b2b2;
  --color-form-control-text:            #2e2e33;
  --color-form-control-text-disabled:   #969699;
  --color-form-control-text-readonly:   #2e2e33;
  --color-form-button-bg-default:       #0054e6;
  --color-form-button-bg-negative:      #e3512b;
  --color-form-button-bg-command:       #00bd81;
  --color-form-button-bg-disabled:      #a8a8a8;
  --color-form-button-text:             #ffffff;
  --color-form-button-text-disable:     #eaeaeb;
  --color-form-samp-bg:                 #4d5258;
  --color-form-samp-border:             #72777c;
  --color-form-samp-text:               #deefff;
}


form.default {
  max-width: 800px;
  margin: 16px auto;
  color: var(--color-form-text);
}

form.default p {
  display: block;
  margin: 4px 0px;
  font-family: inherit;
  font-size: 1.0rem;
}

form.default fieldset p {
  font-size: 0.9rem;
}

form.default mark {
  position: relative;
  display: block;
  margin: 4px 0px;
  padding-left: 24px;
  background-color: transparent;
  line-height: 24px;
  font-family: inherit;
  font-size: 1.0rem;
  font-weight: bold;
  color: var(--color-form-text-error);
}

form.default mark::before {
  content: url("/theme/site/vod/icon/form/error.svgz");
  display: inline-block;
  position: absolute;
  left: 0px;
  top: 2px;
  width: 16px;
  height: 16px;
}

form.default kbd {
  display: block;
  margin: 4px 0px;
  font-family: inherit;
  font-size: 0.9rem;
}

form.default samp {
  display: block;
  min-height: 24px;
  margin: 0px;
  padding: 6px 8px;
  background-color: var(--color-form-samp-bg);
  border: 2px solid var(--color-form-samp-border);
  line-height: 24px;
  white-space: pre-line;
  font-family: inherit;
  font-size: 1rem;
  color: var(--color-form-samp-text);
}

form.default menu {
  list-style-type: none;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 32px 0px 16px 0px;
  padding: 0px;
}

form.default fieldset {
  margin: 32px 0px;
  padding: 16px 0px;
  border: 0px;
}

form.default fieldset > legend {
  display: block;
  width: 160px;
  padding: 0px;
  border-bottom: 1px solid var(--color-form-legend-border);
  font-size: 0.8rem;
  color: var(--color-form-legend-text);
}

form.default fieldset > dl {
  margin: 16px 0px;
  padding: 0px;
}

form.default fieldset > dl > dt {
  width: 160px;
  height: 40px;
  overflow: hidden;
  line-height: 40px;
  color: var(--color-form-label-text);
}

form.default fieldset > dl > dd {
  min-height: 40px;
  margin: -40px 0px 24px 168px;
}

form.default fieldset > dl > dd + dd {
  margin-top: -16px;
}

@media screen and (max-width: 1024px) {

  form.default fieldset > dl > dt {
    width: auto;
    height: auto;
    padding: 16px 0px 0px 0px;
    border-top: 1px dotted var(--color-form-label-border);
    line-height: 40px;
  }

  form.default fieldset > dl > dd {
    min-height: 40px;
    margin: 0px 0px 24px 0px;
  }

  form.default fieldset > dl > dd + dd {
    margin-top: -16px;
  }

}

form.default fieldset > dl > dd p,
form.default fieldset > dl > dd mark,
form.default fieldset > dl > dd kbd,
form.default fieldset > dl > dd samp {
  margin-top: 0px;
  margin-bottom: 16px;
}

form.default fieldset > dl > dd * + p,
form.default fieldset > dl > dd * + mark,
form.default fieldset > dl > dd * + kbd,
form.default fieldset > dl > dd * + samp {
  margin-top: -8px;
}


form.default input,
form.default textarea,
form.default select,
form.default button {
  margin: 0px 16px 16px 0px;
  padding: 0px;
  border: 0px;
  box-sizing: border-box;
  vertical-align: middle;
  font-family: inherit;
  font-size: 1.0rem;
}

form.default input,
form.default textarea,
form.default select {
  width: 100%;
  height: 40px;
  padding: 0px 8px;
  background-color: var(--color-form-control-bg);
  border: 2px solid var(--color-form-control-border);
  line-height: 24px;
  color: var(--color-form-control-text);
  outline: none;
}

form.default input:hover,
form.default textarea:hover,
form.default select:hover {
  border-color: var(--color-form-control-border-hover);
}

form.default input:focus,
form.default textarea:focus,
form.default select:focus {
  border-color: var(--color-form-control-border-focus);
}

form.default input[readonly],
form.default textarea[readonly],
form.default select[readonly] {
  background-color: var(--color-form-control-bg-readonly) !important;
  color: var(--color-form-control-text-readonly);
}

form.default input:disabled,
form.default textarea:disabled,
form.default select:disabled {
  background-color: var(--color-form-control-bg-disabled);
  border-color: var(--color-form-control-border-disabled);
  color: var(--color-form-control-text-disabled);
}

form.default textarea {
  min-height: 128px;
  padding: 8px 8px;
  overflow-y: scroll;
  resize: vertical;
}

form.default select {
  position: relative;
  appearance: none;
  background: var(--color-form-control-bg-readonly) url("/theme/site/vod/icon/form/select_active.svgz") no-repeat right center;
  border-color: var(--color-form-control-border);
  cursor: pointer;
}

form.default select:disabled {
  background-image: url("/theme/site/vod/icon/form/select_disabled.svgz");
  cursor: default;
}

form.default select option {
  background-color: var(--color-form-control-bg);
}

form.default input[type="radio"],
form.default input[type="checkbox"] {
  appearance: none;
  display: inline-block;
  width: 40px;
  height: 40px;
  box-sizing: border-box;
  border: 2px solid transparent;
  border-radius: 8px;
  background-size: 28px 28px;
  vertical-align: middle;
  cursor: pointer;
}

form.default input[type="radio"]:hover,
form.default input[type="checkbox"]:hover {
  border-color: var(--color-form-control-border-hover);
}

form.default input[type="radio"]:focus,
form.default input[type="checkbox"]:focus {
  border-color: var(--color-form-control-border-focus);
}

form.default input[type="radio"]:disabled,
form.default input[type="checkbox"]:disabled {
  border-color: transparent;
  cursor: default;
}

form.default input[type="checkbox"] {
  background: transparent url("/theme/site/vod/icon/form/check_default.svgz") no-repeat center center;
}

form.default input[type="checkbox"]:checked {
  background-image: url("/theme/site/vod/icon/form/check_checked.svgz")
}

form.default input[type="checkbox"]:disabled {
  background-image: url("/theme/site/vod/icon/form/check_disabled.svgz")
}

form.default input[type="checkbox"]:disabled:checked {
  background-image: url("/theme/site/vod/icon/form/check_readonly.svgz")
}

form.default label.radio,
form.default label.check {
  display: inline-block;
  height: 40px;
  margin: 0px 16px 16px 0px;
}

form.default label.radio > input[type="radio"],
form.default label.check > input[type="checkbox"] {
  display: inline-block;
  width: 16px;
  height: 40px;
  margin: 0px 12px;
  opacity: 0.0;
}

form.default label.radio > input[type="radio"] + span,
form.default label.check > input[type="checkbox"] + span {
  position: relative;
  display: inline-block;
  min-width: 160px;
  height: 40px;
  margin: 0px 0px 0px -40px;
  padding: 0px 16px 0px 40px;
  background-color: transparent;
  border: 2px solid transparent;
  border-radius: 40px;
  box-sizing: border-box;
  line-height: 40px;
  color: var(--color-form-label-text);
  cursor: pointer;
}

form.default label.radio:hover > input[type="radio"] + span,
form.default label.check:hover > input[type="checkbox"] + span {
  border-color: var(--color-form-control-border-hover);
}

form.default label.radio > input[type="radio"]:focus + span,
form.default label.check > input[type="checkbox"]:focus + span {
  border-color: var(--color-form-control-border-focus);
}

form.default label.radio > input[type="radio"]:disabled + span,
form.default label.check > input[type="checkbox"]:disabled + span {
  border-color: transparent;
  color: var(--color-form-control-text-disabled);
  cursor: default;
}

form.default label.radio > input[type="radio"] + span::before,
form.default label.check > input[type="checkbox"] + span::before {
  position: absolute;
  display: block;
  left: 4px;
  top: 4px;
  width: 28px;
  height: 28px;
}

form.default label.radio > input[type="radio"] + span::before {
  content: url("/theme/site/vod/icon/form/radio_default.svgz");
}

form.default label.radio > input[type="radio"]:checked + span::before {
  content: url("/theme/site/vod/icon/form/radio_checked.svgz");
}

form.default label.radio > input[type="radio"]:disabled + span::before {
  content: url("/theme/site/vod/icon/form/radio_disabled.svgz");
}

form.default label.radio > input[type="radio"]:checked:disabled + span::before {
  content: url("/theme/site/vod/icon/form/radio_readonly.svgz");
}

form.default label.check > input[type="checkbox"] + span::before {
  content: url("/theme/site/vod/icon/form/check_default.svgz");
}

form.default label.check > input[type="checkbox"]:checked + span::before {
  content: url("/theme/site/vod/icon/form/check_checked.svgz");
}

form.default label.check > input[type="checkbox"]:disabled + span::before {
  content: url("/theme/site/vod/icon/form/check_disabled.svgz");
}

form.default label.check > input[type="checkbox"]:checked:disabled + span::before {
  content: url("/theme/site/vod/icon/form/check_readonly.svgz");
}

form.default button {
  position: relative;
  display: inline-block;
  min-width: 128px;
  height: 40px;
  margin: 0px 16px 16px 0px;
  padding: 0px 32px;
  box-sizing: border-box;
  border-radius: 40px;
  background: var(--color-form-button-bg-default) linear-gradient(0deg, #0003, #fff3);
  box-shadow: inset 0px -2px 4px #0006;
  text-shadow: 1px 1px 2px #000c;
  color: var(--color-form-button-text);
  cursor: pointer;
}

form.default button[value="accept"],
form.default button[value="agreed"],
form.default button[value="finish"],
form.default button[value="return"],
form.default button[value="cancel"],
form.default button[value="reject"],
form.default button[value="search"],
form.default button[value="upload"],
form.default button[value="dialog"] {
  min-width: 128px;
  padding-left: 48px;
}

form.default button[value="return"],
form.default button[value="cancel"],
form.default button[value="reject"] {
  background-color: var(--color-form-button-bg-negative);
}

form.default button[value="search"],
form.default button[value="upload"],
form.default button[value="dialog"] {
  background-color: var(--color-form-button-bg-command);
}

form.default button[value="accept"]::before,
form.default button[value="agreed"]::before,
form.default button[value="finish"]::before,
form.default button[value="return"]::before,
form.default button[value="cancel"]::before,
form.default button[value="reject"]::before,
form.default button[value="search"]::before,
form.default button[value="upload"]::before,
form.default button[value="dialog"]::before {
  content: "";
  display: block;
  position: absolute;
  left: 8px;
  top: 8px;
  width: 24px;
  height: 24px;
}

form.default button[value="accept"]::before { content: url("/theme/site/vod/icon/form/accept.svgz"); }
form.default button[value="agreed"]::before { content: url("/theme/site/vod/icon/form/agreed.svgz"); }
form.default button[value="finish"]::before { content: url("/theme/site/vod/icon/form/finish.svgz"); }
form.default button[value="return"]::before { content: url("/theme/site/vod/icon/form/return.svgz"); }
form.default button[value="cancel"]::before { content: url("/theme/site/vod/icon/form/cancel.svgz"); }
form.default button[value="reject"]::before { content: url("/theme/site/vod/icon/form/reject.svgz"); }
form.default button[value="search"]::before { content: url("/theme/site/vod/icon/form/search.svgz"); }
form.default button[value="upload"]::before { content: url("/theme/site/vod/icon/form/upload.svgz"); }
form.default button[value="dialog"]::before { content: url("/theme/site/vod/icon/form/dialog.svgz"); }

form.default button:hover,
form.default button:focus {
  background-image: linear-gradient(0deg, #8883, #fff5);
}

form.default button:disabled {
  background-image: linear-gradient(0deg, #0002, #fff2);
  background-color: var(--color-form-button-bg-disabled);
  color: var(--color-form-button-text-disable);
  box-shadow: inset 0px -2px 4px #0002;
  cursor: default;
}

form.default button:disabled::before {
  filter: grayscale(100%);
  opacity: 0.5;
}



form.default .tiny {
  max-width: 120px;
}

form.default button.tiny {
  max-width: none;
  min-width: 64px;
  height: 24px;
  margin: 0px 8px 8px 0px;
  padding: 0px 16px;
  font-size: 0.9rem;
}

form.default button.tiny::before {
  left: 4px;
  top: 4px;
  width: 16px;
  height: 16px;
}

form.default button[value="accept"].tiny,
form.default button[value="agreed"].tiny,
form.default button[value="finish"].tiny,
form.default button[value="return"].tiny,
form.default button[value="cancel"].tiny,
form.default button[value="reject"].tiny,
form.default button[value="search"].tiny,
form.default button[value="upload"].tiny,
form.default button[value="dialog"].tiny {
  min-width: 64px;
  padding-left: 28px;
}

form.default .small {
  max-width: 192px;
}

form.default .middle {
  max-width: 320px;
}

form.default .large {
  max-width: 432px;
}


form.default .file {
  position: relative;
  min-height: 64px;
  padding: 32px 0px;
  border: 2px dashed var(--color-form-label-border);
  cursor: default;
}

form.default .file-empty > span {
  display: block;
  line-height: 40px;
  text-align: center;
}

form.default .file-list > span {
  display: block;
  position: relative;
  line-height: 40px;
  text-align: center;
}

form.default .file-list > ul {
  position: relative;
  list-style-type: none;
  margin: 16px 0px;
  padding: 0px 8px;
}

form.default .file-list > ul > li {
  margin: 0px 0px 4px 0px;
  padding: 8px 16px 0px 16px;
}

form.default .file-list > ul > li {
  background-color: #0001;
}

form.default .file-list > ul > li > span {
  position: relative;
  display: inline-block;
  width: calc(100% - 96px);
  height: 24px;
  margin: 0px 8px 8px 0px;
  overflow: hidden;
  line-height: 24px;
  vertical-align: middle;
}

form.default .file-list > ul > li > button {
  flex-shrink: 0;
}
