﻿#contact .page-banner-mask{ 
  background-color:#f1f1f1; 
}
#contact .justtop-title-box{
  margin-top: 0;
}
#contact .justtop-title-box{
  width: 220px;
  margin: 0 auto;
}
.contact-block{
  background-color:#f1f1f1;
}
.contact-box{
  width: 1200px;
  max-width: 100%;
  display: block;
  margin: 0 auto;
  background-color: #FFF;
  position: relative;
  top: -150px;
  padding: 80px 0;
}
.contact-info-form{
  width: 800px;
  max-width: 100%;
  display: block;
  margin: 0 auto;
  margin-top: 50px;
}
.contact-form-list-title-box{
  font-size: 0;
  margin-bottom: 10px;
}
.contact-form-list-title{
  width: calc(100% - 100px);
  font-family: "ROboto";
  font-size: 16px;
  display: inline-block;
  vertical-align: middle;
}
.contact-form-list-ps{
  width: 100px;
  max-width: 100%;
  display: inline-block;
  vertical-align: middle;
  font-size: 12px;
  color: #555555;
  text-align: right;
}

.contact-form-list-ps span{
  color: #e60012;
}
.contact-form-text{
  width: 100%;
  display: block;
  background-color: #f1f1f1;
  border: 0;
  height: 56px;
  box-sizing: border-box;
  line-height: 56px;
  font-size: 16px;
  padding-left: 10px;
}

.contact-form-list{
  margin-bottom: 30px;
}

.contact-person{
  font-size: 0;
}
.contact-form-person{
  display: inline-block;
  vertical-align: middle;
}
.contact-form-person{
  width: 600px;
  max-width: 100%;
  height: 56px;
  line-height: 56px;
  background-color: #f1f1f1;
  font-size: 16px;
  padding-left: 10px;
  box-sizing: border-box;
  border: 0;
}

.contact-form-radio-list{
  width: calc(100% - 600px);
  display: inline-block;
  vertical-align: middle;
  text-align: right;
}
.contact-radio-lable{
  display: inline-block;
  font-size: 16px;
}
.contact-checkbox2{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.contact-checkbox-lable2{
    font-size: 0;
    margin-bottom: 10px;
    display: block;
}
.contact-checkbox-lable2:last-child{
    margin-bottom: 0;
}

.contact-checkbox2-title {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    padding-left: 30px;
    width: 300px;
    max-width: 100%;
    font-size: 16px;
    box-sizing: border-box;
}

.contact-checkbox2-ps{
    display: inline-block;
    vertical-align: middle;
    width: calc(100% - 300px);
    border: 0;
    border-bottom: 1px solid #555;
    height: 25px;
}

.contact-checkbox2-title:before {
    content: 'none';
    font-size: 0;
    width: 20px;
    height: 20px;
    display: block;
    position: absolute;
    left: 0;
    top: calc(50% - 10px);
    vertical-align: middle;
    box-sizing: border-box;
    border: 1px solid #d1d1d1;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    margin-right: 5px;
    background-color: #f1f1f1;
}

.contact-checkbox-lable2 .contact-checkbox2:checked + .contact-checkbox2-title:before {
    background-image: url(../img/front/checked.png);
    background-repeat: no-repeat;
    background-size: 80%;
    background-position: center;
}

/*--------contact共用-----------*/
.contact-radio-lable,
.contact-checkbox-lable{
  display: inline-block; 

}
.contact-radio-lable input,
.contact-checkbox-lable input{
  opacity: 0;
  position: absolute;
  pointer-events: none;
}
.contact-radio-lable span,
.contact-checkbox-lable span{
  position: relative;
  display: block;
  vertical-align: middle;
  padding-left: 17px;
}

.contact-checkbox-lable span{
  padding-left: 20px;
  cursor: pointer;
}
.contact-checkbox-lable{
  margin-right: 10px;
}
.contact-checkbox-lable:last-child{
  margin-right: 0;
}
.contact-radio-lable span:before{
  content: 'none';
  font-size: 0;
  width: 12px;
  height: 12px;
  display: block;
  position: absolute;
  left: 0;
  top: calc(50% - 6px);
  vertical-align: middle;
  box-sizing: border-box;
  border: 1px solid #d1d1d1;
  border-radius: 50%;
  margin-right: 5px;
}
.contact-radio-lable{
  margin-right: 40px;
  cursor: pointer;
}
.contact-radio-lable:last-child{
  margin-right: 0;
}
.contact-checkbox-lable span:before{
  content: 'none';
  font-size: 0;
  width: 13px;
  height: 13px;
  display: block;
  position: absolute;
  left: 0;
  top: calc(50% - 6.5px);
  vertical-align: middle;
  box-sizing: border-box;
  border: 1px solid #d1d1d1;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  margin-right: 5px;
  background-color: #f1f1f1;
}

.contact-form-radio-list{
  margin-top: 10px;
}
.contact-form-list-title span{
  color: #c71313;
}

.contact-form-list-textarea{
  height: 200px;
  background-color: #f1f1f1;
  border: 0;
  resize: none;
  outline: none;
  width: 100%;
}


button{
  font-family: "Roboto";
}
.button button{
  width: 100%;
  display: block;
  height: 60px;
  background-color: #08308f;
  font-size: 16px;
  color: #FFF;
  border: 0;
  letter-spacing: 1px;
  cursor: pointer;
  position: relative;
}
.button button span{
  position: relative;
  z-index: 1;
}
.button{
  padding-bottom: 50px;
}
.button button:after{
  content: '';
  width: 100%;
  height: 100%;
  display: block;
  background-color: #e60012;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: scaleX(0); 
  -ms-transform: scaleX(0);
  transform: scaleX(0); 
}
.button button:hover:after{
  animation: hover-cmn-slide-tween-1 0.3s cubic-bezier(0.075, 0.82, 0.165, 1) forwards alternate,
             hover-cmn-slide-tween-2 0.4s cubic-bezier(0.075, 0.82, 0.165, 1) 0.3s forwards alternate;
}
.contact-map-box{
  width: 100%;
  height: 150px;
  display: block;
  position: relative;
}
.contact-map{
  width: 100%;
  height: 300px;
  position: absolute;
  left: 0;
  bottom: 0;
}

.contact-form-select{
  width: 100%;
  height: 40px;
  box-sizing: border-box;
  border: 1px solid #555;
  display: block;
  margin-top: 10px;
  letter-spacing: 2px;
  padding-left: 10px;
  color: #555;
  position: relative;
  -webkit-appearance: none; /*Chrome*/
  -moz-appearance: none; /*FF*/
  appearance: none;/*CSS3*/
}
.contact-form-select-box{
  position: relative;
}
.contact-form-select-box:after{
  content: 'none';
  font-size: 0;
  width: 0px;
  height: 0px;
  margin: 0 auto;
  border-right: 6px solid transparent;
  border-top: 12px solid #000;
  border-left: 6px solid transparent;
  display: block;
  position: absolute;
  right: 20px;
  top: calc(50% - 6px);
  pointer-events: none;
}

.contact-checkbox-lable input:checked + span:before{
  background-image: url(../img/front/checked.png);
  background-repeat: no-repeat;
  background-size: 80%;
  background-position: center;
}
.contact-checkbox-lable input:checked + span:before{
  background-image: url(../img/front/checked.png);
  background-size: 70%;
}
.contact-radio-lable  input:checked + span:before{
  background-color: #08308f;
  border: 1px solid #08308f;
}
/*表單送出*/
.contact-thanks-box,
.alert-box{
  width: 100%;
  height: 100vh;
  display: none;
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
}
.contact-thanks-box.active,
.alert-box.active{
  -webkit-align-items: center;
          align-items: center;
    -webkit-justify-content: center;
          justify-content: center;
    display: -webkit-flex;
    display:         flex;
}
.contact-thanks,
.alert-info{
  background-color: #033492;
  position: relative;
  padding: 80px;
  border-radius: 5px;
  z-index: 6;
}
.alert-info-box{
  position: relative;
}
.contact-thanks-p{
  font-size: 26px;
  line-height: 1.6;
  letter-spacing: 2px;
  font-weight: bold;
  color: #FFF;
  display: block;
}
.contact-out,
.alert-out{
  width: 20px;
  height: 20px;
  max-width: 100%;
  display: block;
  position: absolute;
  border-radius: 50%;
  border: 1px solid #FFF;
  top: 4%;
  right: 4%;
  cursor: pointer;
}
.contact-out span,
.alert-out span{
  width: 15px;
  height: 1px;
  background-color: #FFF;
  display: block;
  margin: 0 auto;
  position: relative;
}
.alert-out{
  z-index: 6;
}
.contact-out span:nth-child(1),
.alert-out span:nth-child(1){
  top: 9px;
    left: 0.5px;
    transform: rotate(45deg);
}
.contact-out span:nth-child(2),
.alert-out span:nth-child(2){
    top: 8px;
    left: 0.5px;
    transform: rotate(-45deg);
}
.contact-thanks-mask,
.alert-mask{
  width: 100%;
  height: 100vh;
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.3);
}

/*--------------套件-------------*/
.select2-container{
  width: 100%!important;
}
.select2-container--default .select2-selection--single{
  width: 100%;
  border: 0;
  height: 56px;
  line-height: 56px;
  background-color: #f1f1f1;
  border-radius: 0;
   display: -webkit-flex;
  display:         flex;
  -webkit-align-items: center;
          align-items: center;


}
.select2-container--open .select2-dropdown--below{
  border-top: 1px solid #aaa;
}
.select2-container--default .select2-selection--single .select2-selection__arrow{
  display: none;
}