/* FORM - BOX */
.form-wrap {
  margin: 0 -2rem;
}

.form-box {
  display: block;
  position: relative;
  margin: 0 auto 1.5rem;
  color: #222;
  padding-left: 130px;
  z-index: 0;
}
.form-box.form-half {
  display: inline-block;
  vertical-align: top;
  width: calc(50% - 4rem - 4px);
  margin: 0 2rem 1.5rem;
}
.form-box.code {
  display: inline-block;
  vertical-align: middle;
  padding-right: 180px;
}
.form-box.code .codeimg {
  position: absolute;
  bottom: 0px;
  right: 0;
  height: 45px;
  width: 180px;
  border-radius: 4px;
  overflow: hidden;
}
.form-box.code .codeimg img {
  width: 100%;
}
.form-box.form-sex .input-style {
  display: inline-block;
  width: calc( 100% - 160px);
}
.form-box.form-sex .form-gp {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 160px;
}
.form-box.form-sex .form-gp .radio-style {
  margin: 0 0 0 16px;
  padding: 0;
}

@media (max-width: 1199px) {
  .form-box.code {
    width: calc(90% - 4rem - 4px);
  }
}
@media (max-width: 991px) {
  .form-wrap {
    margin: 0;
  }

  .form-box {
    margin-bottom: 10px;
  }
  .form-box.form-half {
    display: block;
    width: 100%;
    margin: 0 0 10px 0;
  }
}
@media (max-width: 767px) {
  .form-box {
    padding-left: 90px;
  }
  .form-box.code {
    width: 100%;
    padding-right: 0;
  }
  .form-box.code .codeimg {
    margin-top: 10px;
    position: relative;
  }
}
/*star */
.star {
  display: inline-block;
  vertical-align: middle;
}
.star::after {
  content: "*";
  line-height: 1;
  font-weight: bold;
  font-size: 0.8rem;
  margin: 0 0 0 3px;
  display: inline-block;
  color: #f44336;
}

/* LABEL */
.label-style {
  position: absolute;
  left: 15px;
  top: 6px;
  font-size: 1.125rem;
  color: #222;
  margin-bottom: 6px;
  z-index: 10;
}

@media (max-width: 767px) {
  .label-style {
    left: 5px;
    font-size: 1.025rem;
  }
}
/* TEXT */
.input-style {
  background-color: #fff;
  border: 1px solid #e5e5e5;
  box-shadow: none;
  height: 45px;
  padding: 0 15px;
  width: 100%;
  border-radius: 4px;
}
.input-style:focus {
  border: 1px solid #788fa4;
}

input[type=date] {
  position: relative;
}

input[type=date]::-webkit-calendar-picker-indicator {
  color: transparent;
  width: 100%;
  position: absolute;
  opacity: 0;
}

input[type=date]:before {
  color: transparent;
  background: none;
  display: block;
  content: "";
  background: url(../images/icon_date.png);
  background-size: 100%;
  width: 30px;
  height: 30px;
  position: absolute;
  top: 10px;
  right: 15px;
}

@media (max-width: 767px) {
  input[type=date]:before {
    width: 20px;
    height: 20px;
    right: 10px;
  }
}
/* TEXTAREA */
.textarea-style {
  background: #fff;
  box-shadow: none;
  height: 120px;
  padding: 10px 15px;
  width: 100%;
  display: block;
  outline: none;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
  transition: border 0.15s, height 0.15s;
}
.textarea-style:focus {
  border: 1px solid #788fa4;
}

/* SELECT */
.select-style {
  padding: 0 15px;
  display: block;
  width: 100%;
  height: 45px;
  line-height: 45px;
  background: url(../images/select_arrow.png) calc( 100% - 10px ) 20px no-repeat;
  outline: none;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
  transition: border 0.15s;
}
.select-style:focus {
  border: 1px solid #788fa4;
}

/* RADIO */
.radio-style {
  padding: 13px 0;
  margin: 0 2rem 0 1rem;
  display: inline-block;
  font-weight: normal;
  font-size: 1.125rem;
  white-space: nowrap;
  color: #555555;
}
.radio-style input {
  outline: none;
  z-index: -100 !important;
  width: 1px !important;
  height: 1px !important;
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute;
  opacity: 0;
  appearance: none;
}
.radio-style input + span {
  display: inline-block;
  vertical-align: baseline;
  border: 1px solid #999;
  background: #fff;
  width: 20px;
  height: 20px;
  padding: 4px;
  margin: 0 5px -2px 0;
  border-radius: 50%;
  transition: background 0.15s;
}
.radio-style input + span i {
  display: block;
  width: 0%;
  height: 0%;
  background: #dcdcdc;
  border-radius: 50%;
  transition: transform 0.2s;
}
.radio-style input:checked + span {
  border-color: #788fa4;
}
.radio-style input:checked + span i {
  background: #788fa4;
  width: 100%;
  height: 100%;
}
.radio-style:hover, .radio-style:active {
  cursor: pointer;
}
.radio-style:hover input + span, .radio-style:active input + span {
  border-color: #788fa4;
}
@media (max-width: 767px) {
  .radio-style {
    font-size: 1.025rem;
    margin: 0 1rem 0 5px;
    padding: 0 0 13px 0;
  }
}
