/* before */
/* transform */
/* end - transform */
/* transition */
/* end - transition */
/* box-shadow */
/* end - box-shadow */
input {
  font-family: 'HelveticaNeue';
}

select {
  font-family: 'HelveticaNeue';
}
select option {
  font-family: 'HelveticaNeue';
}

button, label, textarea {
  font-family: 'HelveticaNeue';
}

.inputTypeA {
  width: 205px;
  height: 55px;
  padding: 0 17px 0 17px;
  color: #38474f;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.2px;
  background-color: #ffffff;
  border: 1px solid #d4d8d8;
  border-radius: 2px;
  -webkit-transition: border-color 0.3s;
  -moz-transition: border-color 0.3s;
  -o-transition: border-color 0.3s;
  transition: border-color 0.3s;
}
.inputTypeA::-webkit-input-placeholder {
  color: #38474f;
}
.inputTypeA:-moz-placeholder {
  color: #38474f;
}
.inputTypeA::-moz-placeholder {
  color: #38474f;
}
.inputTypeA:-ms-input-placeholder {
  color: #38474f;
}
.inputTypeA:focus {
  border-color: #aeb2b2;
}

.inputTypeB {
  width: 100%;
  height: 55px;
  color: #4a4e4e;
  font-size: 15px;
  font-weight: 500;
  padding: 0 0 0 15px;
  border: solid 1px #e0e4e4;
  border-radius: 2px;
  background-color: #f9f9f9;
  -webkit-transition: border-color 0.3s;
  -moz-transition: border-color 0.3s;
  -o-transition: border-color 0.3s;
  transition: border-color 0.3s;
}
.inputTypeB::-webkit-input-placeholder {
  color: #4a4e4e;
}
.inputTypeB:-moz-placeholder {
  color: #4a4e4e;
}
.inputTypeB::-moz-placeholder {
  color: #4a4e4e;
}
.inputTypeB:-ms-input-placeholder {
  color: #4a4e4e;
}
.inputTypeB:focus {
  border-color: #aeb2b2;
}

.inputTypeC {
  width: 100%;
  height: 55px;
  padding: 0 15px 0 15px;
  color: #0C1010;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.3px;
  background-color: #edf1f1;
  border: 1px solid #d4d8d8;
  border-radius: 2px;
  -webkit-transition: border-color 0.3s;
  -moz-transition: border-color 0.3s;
  -o-transition: border-color 0.3s;
  transition: border-color 0.3s;
}
.inputTypeC::-webkit-input-placeholder {
  color: #0C1010;
}
.inputTypeC:-moz-placeholder {
  color: #0C1010;
}
.inputTypeC::-moz-placeholder {
  color: #0C1010;
}
.inputTypeC:-ms-input-placeholder {
  color: #0C1010;
}
.inputTypeC:focus {
  border-color: #aeb2b2;
}

.inputTypeD {
  width: 100%;
  height: 55px;
  color: #0C1010;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.3px;
  padding: 15px 15px 15px 15px;
  background-color: transparent;
  border: 1px solid #e0e4e4;
  border-radius: 2px;
  -webkit-transition: border-color 0.3s;
  -moz-transition: border-color 0.3s;
  -o-transition: border-color 0.3s;
  transition: border-color 0.3s;
}
.inputTypeD::-webkit-input-placeholder {
  color: #0C1010;
}
.inputTypeD:-moz-placeholder {
  color: #0C1010;
}
.inputTypeD::-moz-placeholder {
  color: #0C1010;
}
.inputTypeD:-ms-input-placeholder {
  color: #0C1010;
}
.inputTypeD:focus {
  border-color: #aeb2b2;
}
.inputTypeD.v1 {
  background-color: #ffffff;
}

.selectTypeA {
  width: 205px;
  height: 55px;
  padding: 0 17px 0 17px;
  color: #38474f;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.2px;
  background-color: #ffffff;
  border: 1px solid #d4d8d8;
  border-radius: 2px;
  background-image: url("/AppData/PageThemeFiles/Images/arrow-down-dark.png");
  background-repeat: no-repeat;
  background-size: 8px auto;
  background-position: left calc(100% - 20px) center;
  background-position-x: calc(100% - 20px);
  background-position-y: center;
  -webkit-transition: border-color 0.3s;
  -moz-transition: border-color 0.3s;
  -o-transition: border-color 0.3s;
  transition: border-color 0.3s;
}
.selectTypeA:focus {
  border-color: #aeb2b2;
}

.selectTypeB {
  width: 168px;
  height: 55px;
  padding: 0 10px 0 10px;
  color: #38474f;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.2px;
  background-color: #ffffff;
  border: 1px solid #d4d8d8;
  border-radius: 2px;
  background-image: url("/AppData/PageThemeFiles/Images/arrow-down-dark.png");
  background-repeat: no-repeat;
  background-size: 8px auto;
  background-position: left calc(100% - 10px) center;
  background-position-x: calc(100% - 10px);
  background-position-y: center;
  -webkit-transition: border-color 0.3s;
  -moz-transition: border-color 0.3s;
  -o-transition: border-color 0.3s;
  transition: border-color 0.3s;
}
.selectTypeB:focus {
  border-color: #aeb2b2;
}

.selectTypeC {
  width: 100%;
  height: 55px;
  color: #0C1010;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.3px;
  padding: 15px 15px 15px 15px;
  background-color: transparent;
  border: 1px solid #e0e4e4;
  border-radius: 2px;
  -webkit-transition: border-color 0.3s;
  -moz-transition: border-color 0.3s;
  -o-transition: border-color 0.3s;
  transition: border-color 0.3s;
  background-image: url(/AppData/PageThemeFiles/Images/arrow-down-dark.png);
  background-repeat: no-repeat;
  background-position: right 20px center;
  background-position-x: right 20px;
  background-position-y: center;
  background-size: 8px 6px;
}
.selectTypeC::-webkit-input-placeholder {
  color: #0C1010;
}
.selectTypeC:-moz-placeholder {
  color: #0C1010;
}
.selectTypeC::-moz-placeholder {
  color: #0C1010;
}
.selectTypeC:-ms-input-placeholder {
  color: #0C1010;
}
.selectTypeC:focus {
  border-color: #aeb2b2;
}

.selectTypeD {
  width: 100%;
  height: 55px;
  color: #38474f;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.3px;
  padding: 0 15px 0 15px;
  background-color: #ffffff;
  border: 1px solid #e0e4e4;
  border-radius: 2px;
  background-image: url("/AppData/PageThemeFiles/Images/arrow-down-dark.png");
  background-repeat: no-repeat;
  background-size: 8px auto;
  background-position: left calc(100% - 20px) center;
  background-position-x: calc(100% - 20px);
  background-position-y: center;
  -webkit-transition: border-color 0.3s;
  -moz-transition: border-color 0.3s;
  -o-transition: border-color 0.3s;
  transition: border-color 0.3s;
}
.selectTypeD::-webkit-input-placeholder {
  color: #38474f;
}
.selectTypeD:-moz-placeholder {
  color: #38474f;
}
.selectTypeD::-moz-placeholder {
  color: #38474f;
}
.selectTypeD:-ms-input-placeholder {
  color: #38474f;
}
.selectTypeD:focus {
  border-color: #aeb2b2;
}

@media screen\0 {
  /* IE HACK */
  select {
    background-image: none !important;
    -moz-appearance: none !important;
  }
}
.textareaTypeA {
  width: 100%;
  height: 110px;
  resize: none;
  color: #38474f;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.3px;
  padding: 0 15px 0 15px;
  background-color: #ffffff;
  border: 1px solid #e0e4e4;
  border-radius: 2px;
  padding: 15px 15px;
  -webkit-transition: border-color 0.3s;
  -moz-transition: border-color 0.3s;
  -o-transition: border-color 0.3s;
  transition: border-color 0.3s;
}
.textareaTypeA::-webkit-input-placeholder {
  color: #38474f;
}
.textareaTypeA:-moz-placeholder {
  color: #38474f;
}
.textareaTypeA::-moz-placeholder {
  color: #38474f;
}
.textareaTypeA:-ms-input-placeholder {
  color: #38474f;
}
.textareaTypeA:focus {
  border-color: #aeb2b2;
}

.textareaTypeB {
  width: 100%;
  height: 128px;
  resize: none;
  color: #0C1010;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.3px;
  padding: 15px 15px 15px 15px;
  background-color: transparent;
  border: 1px solid #e0e4e4;
  border-radius: 2px;
  -webkit-transition: border-color 0.3s;
  -moz-transition: border-color 0.3s;
  -o-transition: border-color 0.3s;
  transition: border-color 0.3s;
}
.textareaTypeB::-webkit-input-placeholder {
  color: #0C1010;
}
.textareaTypeB:-moz-placeholder {
  color: #0C1010;
}
.textareaTypeB::-moz-placeholder {
  color: #0C1010;
}
.textareaTypeB:-ms-input-placeholder {
  color: #0C1010;
}
.textareaTypeB:focus {
  border-color: #aeb2b2;
}

/* INPUT TYPE = RADIO */
.chkListTypeA {
  display: block;
  font-size: 0;
}
.chkListTypeA label {
  display: inline-block;
  vertical-align: top;
  height: 15px;
  cursor: pointer;
}
.chkListTypeA label input[type=radio] {
  display: none;
}
.chkListTypeA label span.box {
  display: inline-block;
  vertical-align: middle;
  width: 15px;
  height: 15px;
  margin: 0 0;
  border: 1px solid #d4d8d8;
  background-color: #ffffff;
  border-radius: 100%;
  -webkit-transition: border 0.4s;
  -moz-transition: border 0.4s;
  -o-transition: border 0.4s;
  transition: border 0.4s;
}
.chkListTypeA label span.text {
  display: inline-block;
  vertical-align: middle;
  color: #898d8d;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.030em;
  -webkit-transition: color 0.4s;
  -moz-transition: color 0.4s;
  -o-transition: color 0.4s;
  transition: color 0.4s;
}
.chkListTypeA label input[type=radio]:checked ~ span.box {
  border: 3px solid #7c8080;
}
.chkListTypeA label input[type=radio]:checked ~ span.text {
  color: #4a4e4e;
}

/* INPUT TYPE = CHECKBOX */
.chkListTypeB label {
  display: inline-block;
  height: 15px;
  cursor: pointer;
  -webkit-transition: opacity 0.3s;
  -moz-transition: opacity 0.3s;
  -o-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.chkListTypeB label input[type=checkbox] {
  display: none;
}
.chkListTypeB label span.box {
  display: inline-block;
  width: 15px;
  height: 15px;
  margin: 0 10px 0 0;
  background-color: #d8d8d8;
  vertical-align: middle;
}
.chkListTypeB label span.box:before {
  display: inline-block;
  content: '';
  width: 15px;
  height: 15px;
  opacity: 0;
  background-image: url(/AppData/PageThemeFiles/Images/icon-check-dark.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 8px 6px;
  -webkit-transition: opacity 0.4s;
  -moz-transition: opacity 0.4s;
  -o-transition: opacity 0.4s;
  transition: opacity 0.4s;
}
.chkListTypeB label span.text {
  display: inline-block;
  color: #646868;
  font-size: 13px;
  font-weight: 500;
  vertical-align: middle;
}
.chkListTypeB label span.text a {
  color: #646868;
  text-decoration: underline;
}
.chkListTypeB label input[type=checkbox]:checked ~ span.box:before {
  opacity: 1;
}
.chkListTypeB label:hover {
  opacity: 0.8;
}

.error {
  position: absolute;
  background-color: #f00;
  right: 0;
  bottom: -7px;
  padding: 2px 5px;
  color: #ffffff;
  font-size: 12px;
  border-radius: 2px;
}

@media all and (max-width: 767px) {
  .selectTypeA {
    width: 100%;
    height: 50px;
    background-color: #e0e4e4;
    background-size: 9px auto;
    text-align-last: center;
  }

  .selectTypeB {
    width: 100%;
    height: 50px;
    font-size: 16px;
    background-color: #f4f4f4;
    border: 1px solid #e0e0e0;
    background-size: 14px auto;
    background-position: left calc(100% - 20px) center;
    background-position-x: calc(100% - 20px);
    text-align-last: center;
  }

  .selectTypeD {
    padding: 0 10px 0 10px;
    font-size: 15px;
    background-size: 9px auto;
  }

  .textareaTypeB {
    height: 120px;
  }

  .chkListTypeB label {
    display: block;
  }
  .chkListTypeB label span.text {
    width: calc(100% - 30px);
    width: -webkit-calc(100% - 30px);
    vertical-align: top;
    line-height: 17px;
  }
}
@media all and (min-width: 768px) and (max-width: 1023px) {
  .selectTypeA {
    width: 177px;
  }
}
@media all and (min-width: 1024px) and (max-width: 1199px) {
  .selectTypeA {
    width: 177px;
  }
}
