/* ----- CSS Reset ----- */

button, input[type="text"], input[type="email"], input[type="password"], input[type="search"], input[type="tel"], input[type="url"], input[type="number"], input[type="submit"], textarea, select {font-family:'Titillium Web', sans-serif; font-weight:normal; border-radius:0; -webkit-appearance:none; appearance:none;}
input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {margin:0; -webkit-appearance:none;}		
input {font-family:Arial, sans-serif; font-size:14px;}
textarea {overflow:auto; resize:none;}

/* ----- Template Styles ----- */

.content-form ::-webkit-input-placeholder {color:#666;}
.content-form :-moz-placeholder {color:#666;}
.content-form ::-moz-placeholder {color:#666;}
.content-form :-ms-input-placeholder {color:#666;}

.content-form {padding:20px; font-size:15px; background:#fafafa;}
.content-form h2 {margin:0 0 15px 0; font-size:28px; line-height:34px;}
.content-form h3 {margin:0 0 15px 0; font-size:18px; line-height:1.4em;}
.content-form p {margin:0 0 15px 0; line-height:1.4em;}
.content-form hr {width:100%; height:5px; margin:20px 0; border:none; background:#f0f0f0;}
.content-form .intro p {margin:0 0 10px 0;}
.content-form .info {font-size:12px;}

.content-form .field {position:relative; margin:0 0 15px 0;}
.content-form .field::after {clear:both; display:block; content:'';}
.content-form .field:not(.checkbox):not(.multicheckbox):not(.multiradio) label {position:absolute; left:-9999px;}

.content-form .text input,
.content-form .email input,
.content-form .tel input,
.content-form .textarea textarea,
.content-form .select .customSelect {float:left; width:100%; height:40px; margin:0; padding:10px; line-height:20px; font-size:15px; color:#000; border:1px solid #e5e5e5; background:#FFF; box-sizing:border-box; transition:border-color 0.3s ease;}

.content-form .text input:focus,
.content-form .email input:focus,
.content-form .tel input:focus,
.content-form .textarea textarea:focus,
.content-form .select .customSelectFocus {border-color:#94bd1f;}

.content-form .textarea textarea {line-height:normal; height:240px;}

.content-form .select select {display:block; width:100%!important; height:30px; line-height:20px; cursor:pointer;}
.content-form .select .customSelect {width:100%!important; line-height:18px; color:#666;}
.content-form .select .customSelectInner {width:100%!important; background:url('../images/bg-custom-select.svg') right center no-repeat; background-size:15px 8px; white-space:nowrap; box-sizing:border-box; overflow:hidden;}
.content-form .select .customSelectChanged {color:#000;}

.content-form .checkbox,
.content-form .multicheckbox,
.content-form .multiradio {padding:10px; background:#FFF;}

.content-form .multicheckbox .label,
.content-form .multiradio .label {margin:0 0 10px 0;}

.content-form .multicheckbox .options .option,
.content-form .multiradio .options .option {margin:0 0 10px 0;}

.content-form .multicheckbox .options .option:last-child,
.content-form .multiradio .options .option:last-child {margin:0;}

.content-form .checkbox input,
.content-form .multicheckbox .options .option input,
.content-form .multiradio .options .option input {position:absolute; left:-9999px;}

.content-form .checkbox label,
.content-form .multicheckbox .options .option label,
.content-form .multiradio .options .option label {position:relative; display:block; padding:0 0 0 25px; line-height:20px; cursor:pointer;}

.content-form .checkbox label::before,
.content-form .multicheckbox .options .option label::before,
.content-form .multiradio .options .option label::before {position:absolute; top:4px; left:0; display:block; width:14px; height:14px; content:''; border:1px solid #7f7f7f; box-sizing:border-box;}
.content-form .multiradio .options .option label::before {border-radius:50%;}

.content-form .checkbox input:checked + label::before,
.content-form .multicheckbox .options .option input:checked + label::before,
.content-form .multiradio .options .option input:checked + label::before {background:url('../images/bg-input-checked.svg') center center no-repeat; background-size:14px;}

.content-form .honeypot {display:none;}

.content-form .controls {margin:0; padding-top:5px;}
.content-form .controls .button {clear:both; float:right;}

/* ----- Validation ----- */

.content-form .field div.error {position:absolute; top:10px; right:10px; width:20px; height:20px; text-indent:-9999px; border-radius:50%; background:url('../images/bg-error.svg') center center no-repeat #ff5c5c; background-size:10px;}
.content-form .controls p.error {display:none!important;}
.content-form p.success {display:none; color:#94bd1f; font-weight:700; font-size:18px;}
