.form .ul{
	list-style:none;
  padding:0;
  margin:0;
}
.form .li{
  width:100%;
  display:block;
  margin:0 0 15rem 0;
  position:relative;
}
.form .li.text{
  position:relative;
}
.form .li.text input{
  font-size:18rem;
  line-height:60rem;
  color:#5C3327;
  font-weight:500rem;
  width:100%;
  height:60rem;
  padding:0 22rem;
  border:1rem solid #5C3327;
  border-radius:30rem;
  background:#FBF7F0;
  box-sizing:border-box;
}
.form .li.text label,
.form .li.radio > h4{
  font-size:18rem;
  line-height:24rem;
  font-weight:500rem;
  color:#5C3327;
  display:block;
  padding:0 0 7rem 22rem;
}
.form .li.text.req label::after,
.form .li.choose.req > label::after,
.form .li.radio.req > h4::after{
  content:'*';
}
.form .li.text span,
.form .li.choose > span,
.form .li.check > span{
  font-size:16rem;
  line-height:18rem;
  min-height:18rem;
  color:#cb0000;
  display:block;
  visibility:hidden;
  padding:0 0 0 29rem;
  margin:10rem 0 0 24rem;
  position:relative;
}
.form .li.text span::before,
.form .li.choose > span::before,
._form .li.check > span::before{
  content:'!';
  font-size:10rem;
  line-height:18rem;
  text-align:center;
  border:1rem solid #CB0000;
  border-radius:50%;
  display:block;
  position:absolute;
  left:0;
  top:0;
  width:18rem;
  margin:0;
  box-sizing:border-box;
}
.form .li.text.err input{
  color:#CB0000;
  border-color:#CB0000;
}
.form .li.text.err label,
.form .li.check.err > label,
.form .li.radio.err > h4,
.form .li.check.err a{
  color:#CB0000;
}
.form .li.text.err span,
.form .li.choose.err > span,
.form .li.check.err > span{
  visibility:visible;
}
.form .li.choose{
  margin-bottom:20rem;
}
.form .li.choose > span{
  width:410rem;
  margin:0 0 0 153rem;
}
.form .li.choose div.choose{
  width:500rem;
  height:76rem;
  padding:0;
  margin:47rem 0 10rem 133rem;
  position:relative;
  border:2rem dashed #757575;
  background:#FBF7F0;
  border-radius:12rem;
  box-sizing:border-box;
}
.form .li.choose.err div.choose{
  border-color:#cb0000;
}
.form .li.choose div.choose input{
  position:absolute;
  left:-400%;
}
.form .li.choose div.choose span{
  font-size:18rem;
  line-height:76rem;
  height:76rem;
  color:#757575;
  font-weight:500;
  text-align:right;
  display:block;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  padding:0 15rem 0 195rem;
  text-decoration:none;
  border:0;
  margin:0;
  position:relative;
}
.form .li.choose div.choose.choosed span{
  text-align:left;
  color:#5C3327;
}
.form .li.choose.err div.choose span{
  color:#cb0000;
}
.form .li.choose div.choose label{
  font-size:23rem;
  line-height:54rem;
  color:#ffffff;
  font-weight:700;
  text-align:left;
  width:175rem;
  height:54rem;
  cursor:pointer;
  position:absolute;
  border-radius:10rem;
  background:url(images/button_bg.png) no-repeat center;
  background-size:100% 100%;
  top:10rem;
  left:10rem;
  padding:0 0 0 45rem;
  box-sizing:border-box;
}
.form .li.choose div.choose label::before{
  content:'';
  width:54rem;
  height:54rem;
  position:absolute;
  background:url(images/choose.png) no-repeat center;
  background-image:url(images/choose.svg), none;
  background-size:contain;
  left:0;
  top:0;
}
.form .li.choose .about,
.form .li.choose .about > a,
.form .li.choose .about > div{
  position:absolute;
}
.form .li.choose .about{
  width:100%;
  height:100%;
  top:0;
}
.form .li.choose .about > a{
  font-size:15rem;
  line-height:22rem;
  color:#ffffff;
  text-decoration:none;
  text-align:center;
  width:22rem;
  height:22rem;
  border-radius:50%;
  background:#2f1d18;
  right:-44rem;
  top:27rem;
}
.form .li.choose .about > div{
  width:790rem;
  top:100%;
  font-size:16rem;
  line-height:18rem;
  font-weight:500;
  color:#5c3327;
  padding:20rem 30rem;
  background:#ffffff;
  border-radius:30rem;
  margin:30rem 0 0 -135rem;
  box-sizing:border-box;
  z-index:100;
  display:none;
}
.form .li.choose .about > a:hover + div{
  display:block;
}
.form .li.choose .about > div::before{
  content:'';
  width:30rem;
  height:26rem;
  position:absolute;
  background:url(images/arrow_up.png) no-repeat center bottom;
  background-image:url(images/arrow_up.svg), none;
  background-size:contain;
  top:-26rem;
  right:110rem;
}
.form .li.choose .about h4{
  font-size:20rem;
  line-height:24rem;
  font-weight:600;
  margin:0 0 18rem 0;
  text-align:center;
}
.form .li.choose .about ul{
  list-style: disc inside none;
  padding:0;
  margin:0;  
}
.form .li.choose .about li{
  margin:0 0 9rem 0;
}
.form .li.check{
  margin-bottom:10rem;
}
.form .li.check.single-line{
  margin-bottom:20rem;
}
.form .li.radio input,
.form .li.check input{
  display:none;
}
.form .li.check label{
  font-size:18rem;
  line-height:20rem;
  color:#5C3327;
  padding:0 0 0 53rem;
  display:block;
  position:relative;
  margin:0 -30rem 0 0;
}
.form .li.check.req label span::after{
  content:'*';
}
.form .li.check.single-line label{
  padding:3rem 0 0 53rem;
}
.form .li.check a{
  color:#5C3327;
  text-decoration:underline;
}
.form .li.check a:hover{
  text-decoration:none;
}
.form .li.check label::before,
.form .li.check label::after{
  content:'';
  position:absolute;
  left:0rem;
  top:-7rem;
}
.form .li.check label::before{
  width:32rem;
  height:32rem;
  border:1rem solid #5C3327;
  border-radius:10rem;
}
.form .li.check.err input + label::before{
  border-color:#CB0000;
}
.form .li.check label::after{
  width:24rem;
  height:24rem;
  background:#5c3327;
  border-radius:6rem;
  left:5rem;
  top:-2rem;
  display:none;
} 
.form .li.check.single-line label::before{
  top:0;
}
.form .li.check.single-line label::after{
  top:5rem;
}
.form .li.check input:checked + label::after{
  display:block;
}
.form .li.radio{
}
.form .li.radio div.radio{
  width:400rem;
  height:46rem;
  padding:0;
  margin:0;
  position:relative;
  border:1rem solid #5C3327;
  background:#FBF7F0;
  border-radius:23rem;
  overflow:hidden;
  box-sizing:border-box;
  white-space:nowrap;
}
.form .li.radio div.radio label{
  font-size:15rem;
  line-height:40rem;
  color:#5C3327;
  font-weight:700;
  text-align:center;
  width:199rem;
  height:46rem;
  cursor:pointer;
  display:inline-block;
  vertical-align:top;
  white-space:normal;
}
.form .li.radio div.radio label span{
  font-size:15rem;
  line-height:18rem;
  display:inline-block;
  vertical-align:middle;
}
.form .li.radio div.radio label ~ label{
  border-left:1rem solid #5C3327;
}
.form .li.radio div.radio input:checked + label{
  color:#ffffff;
  background:#5C3327;
}
.form .li .req-text{
  font-size:18rem;
  line-height:20rem;
  font-weight:600;
  color:#5C3327;
  text-align:left;
  display:block;
  margin:6rem 0 0 0;
}
.form .li .req-text::before{
  content:'*';
}
.form .li.alert{
  padding:15rem 0 0 0;
  min-height:40rem;
}
.form .li.alert div{
  font-size:16rem;
  line-height:20rem;
  font-weight:600;
  color:#CB0000;
  text-align:center;
  display:none;
  margin:0;
}
.form .li.alert span{
}
.form .li.alert.on div{
  display:block;
}
.form .submit{
  width:445rem;
  height:70rem;
  position:relative;
  margin:0 auto;
}
._block.done .submit button,
.form.submitting .submit button,
form.submitting .submit button{
  opacity:.5;
}
._block.done .form form,
.form.submitting form,
form.submitting{
  pointer-events:none;
}
.form .submit button{
  font-family: 'Sofia Pro', sans-serif;
  width:445rem;
  height:70rem;
  line-height:70rem;
  background:url(images/button_bg.png) no-repeat center;
  background-size:100% 100%;
  border-radius:35rem;
  padding:0;
  position:relative;
  display:block;
  margin-top:2rem;
  margin:0;
  padding:0;
  border:0;
  cursor:pointer;
  outline:0;
}
.form .submit button span{
  font-size:27rem;
  line-height:30rem;
  text-align:center;
  padding:0 30rem;
  font-weight:bold;
  color:#ffffff;
  display:inline-block;
  vertical-align:middle;
}
.form .submit div{
  width:100%;
  height:100%;
  background:url(images/spinner_white.gif) no-repeat center center;
  background-image:url(images/spinner_white.svg), none;
  background-size:contain;
  position:absolute;
  top:0;
  display:none;
}
._block.done .submit div,
.form.submitting .submit div,
form.submitting .submit div{
  display:block;
}