@each $prop, $abbrev in (width: w, height: h) {
  @each $size, $length in $sizes {
    .#{$abbrev}-#{$size} { #{$prop}: $length !important; }
  }
}

.mw-100 { max-width: 100% !important; }
.mh-100 { max-height: 100% !important; }

// Viewport additional helpers

.min-vw-100 { min-width: 100vw !important; }
.min-vh-100 { min-height: 100vh !important; }

.vw-100 { width: 100vw !important; }
.vh-100 { height: 100vh !important; }

*,html,body{
	margin: 0;
	padding: 0;
  box-sizing: border-box;
	font-family: 'Lato','Noto Sans TC', sans-serif;
}
header{
	background-image: url('img/aia.jpg?1');
	background-size: cover;
	background-repeat: no-repeat;
	background-position: bottom;
	height: 250px;
  background-color: #4ebadc;
}
i{
	color: #545454;
	font-size: 28px;
	margin: 0 10px 0 0;
}
h1{
   font-size: 1.8em;
   font-weight: 400;
   margin: auto;
   padding: 30px 0 0 0;
   text-align: center;
}
h2{
   font-size: 1.3em;
   font-weight: 400;
   padding: 30px 0 0 0;
   text-align: left;
}
h3{
	font-size: 1em;
	font-weight: 400;
	border-bottom: 1px solid #4EB1CF;
	height: 30px;
  width: 100%;
  margin-top: 35px;
}
button{
	color: #ffffff;
	font-size: 16px;
	padding: 12px;
	background-color: #66C7F2;
  width: 50%;
  border: none;
  border-radius: 8px;
  margin: auto;
}
button:hover{
	background-color: #007AB9;
}
footer{
	width: 100%;
  height: 80px;
  line-height: 20px;
  background-color: #007AB9;
  color: #ffffff;
  text-align: center;
  padding: 20px 0 ;
  margin-top: 40px;
  display: block;
}
footer p{
	font-size: 0.8em;
	margin: 0;
}
footer a{
	color: #ffffff;
	cursor: pointer;
  text-decoration: unset;
}
img{
  width: 100%;
  height: auto;
}
#logo img{
  width: 200px;
  max-width: 100%;
  margin: 20px 10px 10px;
}
main{min-height:calc(100vh - 250px - 80px)}
main > .container {
  padding: 60px 15px 0;
  min-height:600px;
}
.footer > .container {
  padding-right: 15px;
  padding-left: 15px;
}
.page{
  width: 600px;
  max-width: 100%;
  height: auto;
  margin: auto;
  padding: 15px 15px 40px 15px;
}
.field{
  --uiFieldPlaceholderColor: var(--fieldPlaceholderColor, #767676);
}
.field{
  --fieldBorderColor: #c4d5e9;
  --fieldBorderColorActive: #4EB1CF;
  width: 100%;
  margin-top: 10px;
  padding-top: 35px;
}
.field__input{
  background-color: transparent;
  border-radius: 0;
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  font-size: 1em;
}
.field__input:focus::-webkit-input-placeholder{
  color: var(--uiFieldPlaceholderColor);
}
.field__input:focus::-moz-placeholder{
  color: var(--uiFieldPlaceholderColor);
  opacity: 1;
}
.a-field{
  display: inline-block;
}
.a-field__input{
  display: block;
  box-sizing: border-box;
  width: 100%;
}
.a-field__input:focus{
  outline: none;
}
.a-field{
  --uiFieldHeight: var(--fieldHeight, 40px);
  --uiFieldBorderWidth: var(--fieldBorderWidth, 2px);
  --uiFieldBorderColor: var(--fieldBorderColor);
  --uiFieldFontSize: var(--fieldFontSize, 1em);
  --uiFieldHintFontSize: var(--fieldHintFontSize, 1em);
  --uiFieldPaddingRight: var(--fieldPaddingRight, 15px);
  --uiFieldPaddingBottom: var(--fieldPaddingBottom, 15px);
  --uiFieldPaddingLeft: var(--fieldPaddingLeft, 15px);
  position: relative;
  box-sizing: border-box;
  font-size: var(--uiFieldFontSize);
  padding-top: 1em;
}
.a-field__input{
  height: var(--uiFieldHeight);
  padding: 0 var(--uiFieldPaddingRight) 0 var(--uiFieldPaddingLeft);
  border-bottom: var(--uiFieldBorderWidth) solid var(--uiFieldBorderColor);
}
.a-field__input::-webkit-input-placeholder{
  opacity: 0;
  transition: opacity .2s ease-out;
}
.a-field__input::-moz-placeholder{
  opacity: 0;
  transition: opacity .2s ease-out;
}
.a-field__input:not(:placeholder-shown) ~ .a-field__label-wrap .a-field__label{
  opacity: 0;
  bottom: var(--uiFieldPaddingBottom);
}
.a-field__input:focus::-webkit-input-placeholder{
  opacity: 1;
  transition-delay: .2s;
}
.a-field__input:focus::-moz-placeholder{
  opacity: 1;
  transition-delay: .2s;
}
.a-field__label-wrap{
  box-sizing: border-box;
  width: 100%;
  height: var(--uiFieldHeight);
  pointer-events: none;
  cursor: text;
  position: absolute;
  bottom: 0;
  left: 0;
}
.a-field__label{
  position: absolute;
  left: var(--uiFieldPaddingLeft);
  bottom: calc(50% - .5em);
  line-height: 1;
  font-size: var(--uiFieldHintFontSize);
  pointer-events: none;
  transition: bottom .2s cubic-bezier(0.9,-0.15, 0.1, 1.15), opacity .2s ease-out;
  will-change: bottom, opacity;
}
.a-field__input:focus ~ .a-field__label-wrap .a-field__label{
  opacity: 1;
  bottom: var(--uiFieldHeight);
}
.a-field_a3{
  padding-top: 3em;
}
.a-field_a3 .a-field__label-wrap::after{
  content: "";
  box-sizing: border-box;
  width: 100%;
  height: 0;
  opacity: 0;
  border: var(--uiFieldBorderWidth) solid var(--fieldBorderColorActive);
  position: absolute;
  bottom: 0;
  left: 0;
  will-change: opacity, height;
  transition: height .2s ease-out, opacity .2s ease-out;
}
.a-field_a3 .a-field__input:focus ~ .a-field__label-wrap::after{
  height: 100%;
  opacity: 1;
}
.a-field_a3 .a-field__input:focus ~ .a-field__label-wrap .a-field__label{
  bottom: calc(var(--uiFieldHeight) + .5em);
}
#captcha{
	width: 100%;
	min-height: 100px;
	border: red 1px solid;
	margin: 30px auto;
  padding-left: 15px;
}
.error{
  width: 570px;
  max-width: 100%;
  height: auto;
  color: red;
  background-color: #ececec;
  border-radius: 8px;
  margin: 20px auto;
  padding: 15px;
  text-align: center;
}
.error a{
  color: red;
}
@media(max-width: 768px){
	header{
	height: 250px;
    }
}
@media(max-width: 450px){
  .page{
  width: 100%;
  }
}

#captcha_img{width:auto;height:auto}
