/*.btn {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #fff;
  border: .05rem solid #5755d9;
  border-radius: .1rem;
  color: #5755d9;
  cursor: pointer;
  display: inline-block;
  font-size: .8rem;
  height: 1.8rem;
  line-height: 1.2rem;
  outline: none;
  padding: .25rem .4rem;
  text-align: center;
  text-decoration: none;
  transition: background .2s, border .2s, box-shadow .2s, color .2s;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  vertical-align: middle;
  white-space: nowrap;
}

.btn:focus {
  box-shadow: 0 0 0 .1rem rgba(87, 85, 217, .2);
}

.btn:focus,
.btn:hover {
  background: #f1f1fc;
  border-color: #4b48d6;
  text-decoration: none;
}

.btn:active,
.btn.active {
  background: #4b48d6;
  border-color: #3634d2;
  color: #fff;
  text-decoration: none;
}

.btn:active.loading::after,
.btn.active.loading::after {
  border-bottom-color: #fff;
  border-left-color: #fff;
}

.btn[disabled],
.btn:disabled,
.btn.disabled {
  cursor: default;
  opacity: .5;
  pointer-events: none;
}

.btn.btn-primary {
  background: #5755d9;
  border-color: #4b48d6;
  color: #fff;
}

.btn.btn-primary:focus,
.btn.btn-primary:hover {
  background: #4240d4;
  border-color: #3634d2;
  color: #fff;
}

.btn.btn-primary:active,
.btn.btn-primary.active {
  background: #3a38d2;
  border-color: #302ecd;
  color: #fff;
}

.btn.btn-primary.loading::after {
  border-bottom-color: #fff;
  border-left-color: #fff;
}

.btn.btn-success {
  background: #32b643;
  border-color: #2faa3f;
  color: #fff;
}

.btn.btn-success:focus {
  box-shadow: 0 0 0 .1rem rgba(50, 182, 67, .2);
}

.btn.btn-success:focus,
.btn.btn-success:hover {
  background: #30ae40;
  border-color: #2da23c;
  color: #fff;
}

.btn.btn-success:active,
.btn.btn-success.active {
  background: #2a9a39;
  border-color: #278e34;
  color: #fff;
}

.btn.btn-success.loading::after {
  border-bottom-color: #fff;
  border-left-color: #fff;
}

.btn.btn-error {
  background: #e85600;
  border-color: #d95000;
  color: #fff;
}

.btn.btn-error:focus {
  box-shadow: 0 0 0 .1rem rgba(232, 86, 0, .2);
}

.btn.btn-error:focus,
.btn.btn-error:hover {
  background: #de5200;
  border-color: #cf4d00;
  color: #fff;
}

.btn.btn-error:active,
.btn.btn-error.active {
  background: #c44900;
  border-color: #b54300;
  color: #fff;
}

.btn.btn-error.loading::after {
  border-bottom-color: #fff;
  border-left-color: #fff;
}

.btn.btn-link {
  background: transparent;
  border-color: transparent;
  color: #5755d9;
}

.btn.btn-link:focus,
.btn.btn-link:hover,
.btn.btn-link:active,
.btn.btn-link.active {
  color: #302ecd;
}

.btn.btn-sm {
  font-size: .7rem;
  height: 1.4rem;
  padding: .05rem .3rem;
}

.btn.btn-lg {
  font-size: .9rem;
  height: 2rem;
  padding: .35rem .6rem;
}*/

.btn.btn-block {
  display: block;
  width: 100%;
}

.btn.btn-action {
  padding-left: 0;
  padding-right: 0; 
  width: 1.8rem;
}

.btn.btn-action.btn-sm {
  width: 1.4rem;
}

.btn.btn-action.btn-lg {
  width: 2rem;
}

.btn.btn-clear {
  background: transparent;
  border: 0;
  color: currentColor;
  height: 1rem;
  line-height: .8rem;
  margin-left: .2rem;
  margin-right: -2px;
  opacity: 1;
  padding: .1rem;
  text-decoration: none;
  width: 1rem;
}

.btn.btn-clear:focus,
.btn.btn-clear:hover {
  background: rgba(247, 248, 249, .5);
  opacity: .95;
}

.btn.btn-clear::before {
  content: "\2715";
}
.btn-ml{margin-left: .3rem;}
.btn-mr{margin-right: .3rem;}
.btn-pl{padding-left: .3rem;}
.btn-pr{padding-right: .3rem;}

.btn-group {
  display: inline-flex;
  display: -ms-inline-flexbox;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.btn-group .btn {
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.btn-group .btn:first-child:not(:last-child) {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}

.btn-group .btn:not(:first-child):not(:last-child) {
  border-radius: 0;
  margin-left: -.05rem;
}

.btn-group .btn:last-child:not(:first-child) {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
  margin-left: -.05rem;
}

.btn-group .btn:focus,
.btn-group .btn:hover,
.btn-group .btn:active,
.btn-group .btn.active {
  z-index: 1;
}

.btn-group.btn-group-block {
  display: flex; 
  display: -ms-flexbox;
}

.btn-group.btn-group-block .btn {
  -ms-flex: 1 0 0;
  flex: 1 0 0;
}

.form-group:not(:last-child) {
  margin-bottom: .4rem;
}

fieldset {
  margin-bottom: .8rem;
}

legend {
  font-size: .9rem;
  font-weight: 500;
  margin-bottom: .8rem;
}

.form-label {
  display: block;
  line-height: 1.2rem;
  padding: .3rem 0;
}

.form-label.label-sm {
  font-size: .7rem;
  padding: .1rem 0;
}

.form-label.label-lg {
  font-size: .9rem;
  padding: .4rem 0;
}

.form-input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #fff;
  background-image: none;
  border: .05rem solid #bcc3ce;
  border-radius: .1rem;
  color: #3b4351;
  display: block;
  font-size: .8rem;
  height: 1.8rem;
  line-height: 1.2rem;
  max-width: 100%;
  outline: none;
  padding: .25rem .4rem;
  position: relative;
  transition: background .2s, border .2s, box-shadow .2s, color .2s;
  width: 100%;
}

.form-input:focus {
  border-color: #5755d9; 
  box-shadow: 0 0 0 .1rem rgba(87, 85, 217, .2);
}

.form-input::-webkit-input-placeholder {
  color: #bcc3ce;
}

.form-input:-ms-input-placeholder {
  color: #bcc3ce;
}

.form-input::-ms-input-placeholder {
  color: #bcc3ce;
}

.form-input::placeholder {
  color: #bcc3ce;
}

.form-input.input-sm {
  font-size: .7rem;
  height: 1.4rem;
  padding: .05rem .3rem;
}

.form-input.input-lg {
  font-size: .9rem;
  height: 2rem;
  padding: .35rem .6rem;
}

.form-input.input-inline {
  display: inline-block;
  vertical-align: middle;
  width: auto;
}

.form-input[type="file"] {
  height: auto;
}

textarea.form-input,
textarea.form-input.input-lg,
textarea.form-input.input-sm {
  height: auto;
}

.form-input-hint {
  color: #bcc3ce;
  font-size: .7rem;
  margin-top: .2rem;
}

.has-success .form-input-hint,
.is-success + .form-input-hint {
  color: #32b643;
}

.has-error .form-input-hint,
.is-error + .form-input-hint {
  color: #e85600;
}

.form-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #fff; 
  border: .05rem solid #bcc3ce;
  border-radius: .1rem;
  color: inherit;
  font-size: .8rem;
  height: 1.8rem;
  line-height: 1.2rem;
  outline: none;
  padding: .25rem .4rem;
  vertical-align: middle;
  width: 100%;
}

.form-select:focus {
  border-color: #5755d9; 
  box-shadow: 0 0 0 .1rem rgba(87, 85, 217, .2);
}

.form-select::-ms-expand {
  display: none;
}

.form-select.select-sm {
  font-size: .7rem;
  height: 1.4rem;
  padding: .05rem 1.1rem .05rem .3rem;
}

.form-select.select-lg {
  font-size: .9rem;
  height: 2rem;
  padding: .35rem 1.4rem .35rem .6rem;
}

.form-select[size],
.form-select[multiple] {
  height: auto;
  padding: .25rem .4rem;
}

.form-select[size] option,
.form-select[multiple] option {
  padding: .1rem .2rem;
}

.form-select:not([multiple]):not([size]) {
  background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%204%205'%3E%3Cpath%20fill='%23667189'%20d='M2%200L0%202h4zm0%205L0%203h4z'/%3E%3C/svg%3E") no-repeat right .35rem center/.4rem .5rem;
  padding-right: 1.2rem;
}

.has-icon-left,
.has-icon-right {
  position: relative;
}

.has-icon-left .form-icon,
.has-icon-right .form-icon {
  height: .8rem;
  margin: 0 .25rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: .8rem;
  z-index: 2;
}

.has-icon-left .form-icon {
  left: .05rem;
}

.has-icon-left .form-input {
  padding-left: 1.3rem;
}

.has-icon-right .form-icon {
  right: .05rem;
}

.has-icon-right .form-input {
  padding-right: 1.3rem;
}

.form-checkbox,
.form-radio,
.form-switch {
  display: block;
  line-height: 1.2rem;
  margin: .2rem 0;
  min-height: 1.4rem;
  padding: .1rem .4rem .1rem 1.2rem;
  position: relative;
}

.form-checkbox input,
.form-radio input,
.form-switch input {
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  position: absolute;
  width: 1px;
}

.form-checkbox input:focus + .form-icon,
.form-radio input:focus + .form-icon,
.form-switch input:focus + .form-icon {
  border-color: #5755d9; 
  box-shadow: 0 0 0 .1rem rgba(87, 85, 217, .2);
}

.form-checkbox input:checked + .form-icon,
.form-radio input:checked + .form-icon,
.form-switch input:checked + .form-icon {
  background: #5755d9;
  border-color: #5755d9;
}

.form-checkbox .form-icon,
.form-radio .form-icon,
.form-switch .form-icon {
  border: .05rem solid #bcc3ce;
  cursor: pointer;
  display: inline-block;
  position: absolute;
  transition: background .2s, border .2s, box-shadow .2s, color .2s;
}

.form-checkbox.input-sm,
.form-radio.input-sm,
.form-switch.input-sm {
  font-size: .7rem;
  margin: 0;
}

.form-checkbox.input-lg,
.form-radio.input-lg,
.form-switch.input-lg {
  font-size: .9rem;
  margin: .3rem 0;
}

.form-checkbox .form-icon,
.form-radio .form-icon {
  background: #fff;
  height: .8rem;
  left: 0;
  top: .3rem;
  width: .8rem;
}

.form-checkbox input:active + .form-icon,
.form-radio input:active + .form-icon {
  background: #eef0f3;
}

.form-checkbox .form-icon {
  border-radius: .1rem;
}

.form-checkbox input:checked + .form-icon::before {
  background-clip: padding-box;
  border: .1rem solid #fff;
  border-left-width: 0;
  border-top-width: 0;
  content: "";
  height: 9px;
  left: 50%;
  margin-left: -3px;
  margin-top: -6px;
  position: absolute;
  top: 50%;
  transform: rotate(45deg);
  width: 6px;
}

.form-checkbox input:indeterminate + .form-icon {
  background: #5755d9;
  border-color: #5755d9;
}

.form-checkbox input:indeterminate + .form-icon::before {
  background: #fff;
  content: "";
  height: 2px;
  left: 50%;
  margin-left: -5px;
  margin-top: -1px;
  position: absolute;
  top: 50%;
  width: 10px;
}

.form-radio .form-icon {
  border-radius: 50%;
}

.form-radio input:checked + .form-icon::before {
  background: #fff;
  border-radius: 50%;
  content: "";
  height: 6px;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 6px;
}

.form-switch {
  padding-left: 2rem;
}

.form-switch .form-icon {
  background: #bcc3ce;
  background-clip: padding-box;
  border-radius: .45rem;
  height: .9rem;
  left: 0;
  top: .25rem;
  width: 1.6rem;
}

.form-switch .form-icon::before {
  background: #fff;
  border-radius: 50%;
  content: "";
  display: block;
  height: .8rem;
  left: 0;
  position: absolute;
  top: 0;
  transition: background .2s, border .2s, box-shadow .2s, color .2s, left .2s;
  width: .8rem;
}

.form-switch input:checked + .form-icon::before {
  left: 14px;
}

.form-switch input:active + .form-icon::before {
  background: #f7f8f9;
}

.input-group {
  display: flex; 
  display: -ms-flexbox;
}

.input-group .input-group-addon {
  background: #f7f8f9;
  border: .05rem solid #bcc3ce;
  border-radius: .1rem;
  line-height: 1.2rem;
  padding: .25rem .4rem;
  white-space: nowrap;
}

.input-group .input-group-addon.addon-sm {
  font-size: .7rem;
  padding: .05rem .3rem;
}

.input-group .input-group-addon.addon-lg {
  font-size: .9rem;
  padding: .35rem .6rem;
}

.input-group .form-input,
.input-group .form-select {
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  width: 1%;
}

.input-group .input-group-btn {
  z-index: 1;
}

.input-group .form-input:first-child:not(:last-child),
.input-group .form-select:first-child:not(:last-child),
.input-group .input-group-addon:first-child:not(:last-child),
.input-group .input-group-btn:first-child:not(:last-child) {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}

.input-group .form-input:not(:first-child):not(:last-child),
.input-group .form-select:not(:first-child):not(:last-child),
.input-group .input-group-addon:not(:first-child):not(:last-child),
.input-group .input-group-btn:not(:first-child):not(:last-child) {
  border-radius: 0;
  margin-left: -.05rem;
}

.input-group .form-input:last-child:not(:first-child),
.input-group .form-select:last-child:not(:first-child),
.input-group .input-group-addon:last-child:not(:first-child),
.input-group .input-group-btn:last-child:not(:first-child) {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
  margin-left: -.05rem;
}

.input-group .form-input:focus,
.input-group .form-select:focus,
.input-group .input-group-addon:focus,
.input-group .input-group-btn:focus {
  z-index: 2;
}

.input-group .form-select {
  width: auto;
}

.input-group.input-inline {
  display: inline-flex; 
  display: -ms-inline-flexbox;
}

.has-success .form-input,
.form-input.is-success,
.has-success .form-select,
.form-select.is-success {
  background: #f9fdfa;
  border-color: #32b643;
}

.has-success .form-input:focus,
.form-input.is-success:focus,
.has-success .form-select:focus,
.form-select.is-success:focus {
  box-shadow: 0 0 0 .1rem rgba(50, 182, 67, .2);
}

.has-error .form-input,
.form-input.is-error,
.has-error .form-select,
.form-select.is-error {
  background: #fffaf7;
  border-color: #e85600;
}

.has-error .form-input:focus,
.form-input.is-error:focus,
.has-error .form-select:focus,
.form-select.is-error:focus {
  box-shadow: 0 0 0 .1rem rgba(232, 86, 0, .2);
}

.has-error .form-checkbox .form-icon,
.form-checkbox.is-error .form-icon,
.has-error .form-radio .form-icon,
.form-radio.is-error .form-icon,
.has-error .form-switch .form-icon,
.form-switch.is-error .form-icon {
  border-color: #e85600;
}

.has-error .form-checkbox input:checked + .form-icon,
.form-checkbox.is-error input:checked + .form-icon,
.has-error .form-radio input:checked + .form-icon,
.form-radio.is-error input:checked + .form-icon,
.has-error .form-switch input:checked + .form-icon,
.form-switch.is-error input:checked + .form-icon {
  background: #e85600;
  border-color: #e85600;
}

.has-error .form-checkbox input:focus + .form-icon,
.form-checkbox.is-error input:focus + .form-icon,
.has-error .form-radio input:focus + .form-icon,
.form-radio.is-error input:focus + .form-icon,
.has-error .form-switch input:focus + .form-icon,
.form-switch.is-error input:focus + .form-icon {
  border-color: #e85600; 
  box-shadow: 0 0 0 .1rem rgba(232, 86, 0, .2);
}

.has-error .form-checkbox input:indeterminate + .form-icon,
.form-checkbox.is-error input:indeterminate + .form-icon {
  background: #e85600;
  border-color: #e85600;
}

.form-input:not(:placeholder-shown):invalid {
  border-color: #e85600;
}

.form-input:not(:placeholder-shown):invalid:focus {
  background: #fffaf7; 
  box-shadow: 0 0 0 .1rem rgba(232, 86, 0, .2);
}

.form-input:not(:placeholder-shown):invalid + .form-input-hint {
  color: #e85600;
}

.form-input:disabled,
.form-input.disabled,
.form-select:disabled,
.form-select.disabled {
  background-color: #eef0f3;
  cursor: not-allowed;
  opacity: .5;
}

.form-input[readonly] {
  background-color: #f7f8f9;
}

input:disabled + .form-icon,
input.disabled + .form-icon {
  background: #eef0f3;
  cursor: not-allowed;
  opacity: .5;
}

.form-switch input:disabled + .form-icon::before,
.form-switch input.disabled + .form-icon::before {
  background: #fff;
}

.form-horizontal {
  padding: .4rem 0;
}

.form-horizontal .form-group {
  display: flex;
  display: -ms-flexbox;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.form-inline {
  display: inline-block;
}