/* Inputs */
.inputs-wrapper { display: flex; flex-wrap: wrap; width: 100%; }
.inputs-wrapper.contactspage { flex: 2; padding-bottom: 4rem; }
.inputs-wrapper.servicespage { padding-top: 2rem; }
.inputs-wrapper form { display: flex; flex-wrap: wrap; width: 100%; }
.inputs-wrapper .group { flex: 0 0 48%; max-width: 48%; margin: 0 1% 1.4rem 0; text-align: left; }
.inputs-wrapper .group.full { flex: 0 0 100%; max-width: 100%; }
.inputs-wrapper .form-group { flex: 0 0 100%; }
.inputs-wrapper .form-group.multichecks label { display: block; margin-top: 0.5rem; }
.inputs-wrapper .form-group.multichecks label:first-of-type { margin-top: 0; margin-bottom: 0.5rem; }
@media (max-width: 650px) {
    .inputs-wrapper.servicespage .group { flex: 0 0 100%; max-width: 100%; }
}
/* Placeholder */
input::placeholder { font-size: var(--form-fs); line-height: var(--form-flh); font-family: var(--form-ff); color: var(--form-placeholder-color); }
input::-ms-input-placeholder { font-size: var(--form-fs); line-height: var(--form-flh); font-family: var(--form-ff); color: var(--form-placeholder-color); }
input:-moz-placeholder { font-size: var(--form-fs); line-height: var(--form-flh); font-family: var(--form-ff); color: var(--form-placeholder-color); opacity: 1; }
input::-moz-placeholder { font-size: var(--form-fs); line-height: var(--form-flh); font-family: var(--form-ff); color: var(--form-placeholder-color); opacity: 1; }
input::-webkit-input-placeholder { font-size: var(--form-fs); line-height: var(--form-flh); font-family: var(--form-ff); color: var(--form-placeholder-color); }
/* Label */
label { display: block; text-transform: uppercase; font-weight: var(--fw-medium); font-family: var(--form-ff); font-size: var(--label-fs); line-height: var(--label-flh); color: var(--color-grey); padding: 0 0 0.4rem 0; }
/* Inputs */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active { -webkit-box-shadow: 0 0 0 50px #fff inset !important; -webkit-text-fill-color: var(--primary-color) !important; }
input:-webkit-autofill:focus { -webkit-box-shadow: 0 0 0 50px #fff inset !important; -webkit-text-fill-color: var(--primary-color) !important; }
/* Input type text */
input { text-indent: 14px !important; font-family: var(--form-ff); font-size: var(--form-fs); width: 100%; -webkit-appearance: none; margin: 0 !important; padding: 0 !important; box-sizing: border-box; background-color: var(--form-bgcolor); height: var(--form-input-h); border-radius: var(--form-borderradius); border: var(--form-border); color: var(--primary-color); -webkit-appearance: none !important; }
input.bt { width: auto; height: fit-content; padding: 0.75rem 1.5em !important; text-indent: 0 !important; }
input.bt.disabled { pointer-events: none; background-color: lightgray; border-color: lightgray; }
/* Textarea */
textarea { height: var(--form-textarea-h); padding: 1rem; box-sizing: border-box; resize: none; font-family: var(--form-ff); line-height: var(--form-textarea-lh); font-size: var(--form-fs); width: 100%; background-color: var(--form-bgcolor); border-radius: var(--form-borderradius); border: var(--form-border); color: var(--primary-color); }
/* Select */
select { font-family: var(--form-ff); font-size: var(--form-fs); width: 100%; height: var(--form-input-h); box-sizing: border-box; cursor: pointer; margin: 0 !important; background-color: var(--form-bgcolor); border-radius: var(--form-borderradius); border: var(--form-border); color: var(--primary-color); text-indent: 14px !important; -webkit-appearance: none !important; -moz-appearance: none !important; -ms-appearance: none !important; -o-appearance: none !important; appearance: none !important; background-image: linear-gradient(45deg, transparent 50%, var(--form-ele) 50%), linear-gradient(135deg, var(--form-ele) 50%, transparent 50%), linear-gradient(to right, #ccc, #ccc); background-position: calc(100% - 20px) calc(9px + 7px), calc(100% - 12px) calc(11px + 5px), calc(100% - 37px) 10px; background-size: 8px 8px, 8px 8px, 2px 20px; background-repeat: no-repeat; }
/* Checks */
input[type="checkbox"] + label::before, input[type="checkbox"] + label::after { position: absolute; top: 0; left: 0; display: block; width: 26px; height: 26px; border-radius: var(--form-borderradius); background-color: var(--form-bgcolor); }
input[type="checkbox"] { position: absolute; opacity: 0; z-index: -1; }
input[type="checkbox"] + label { font-weight: var(--fw-base); text-transform: none; position: relative; display: inline-block; font-family: var(--form-ff); font-size: var(--form-fs); line-height: 26px; padding: 0 0 0 36px; cursor: pointer; width: fit-content; }
input[type="checkbox"] + label a { font-weight: var(--fw-medium); font-family: var(--form-ff); font-size: var(--label-fs); line-height: var(--label-flh); }
input[type="checkbox"].multicheck + label { color: var(--primary-color); }
input[type="checkbox"] + label::before { content: " "; border: var(--form-border); }
input[type="checkbox"] + label::after { content: "\2714"; color: var(--form-ele); font-size: var(--fs-base); line-height: 26px; text-align: center; border: var(--form-border); }
/* Checks Checked */
input[type="checkbox"]:checked + label::before { background: transparent; border-color: transparent; }
input[type="checkbox"] + label::after { transform: scale(0); }
input[type="checkbox"]:checked + label::after { transform: scale(1); }
/* Checks Transition */
input[type="checkbox"] + label::before, input[type="checkbox"] + label::after { transition: .25s all ease; }
/* Radio */
input[type="radio"] + label::before, input[type="radio"] + label::after { position: absolute; top: 2px; left: 0; display: block; width: 14px; height: 14px; }
input[type="radio"] { position: absolute; opacity: 0; z-index: -1; }
input[type="radio"] + label { font-weight: var(--fw-base); text-transform: none; position: relative; display: inline-block; font-family: var(--form-ff); color: var(--primary-color); font-size: var(--form-fs); line-height: 1.4rem; padding: 0 0 0 28px; cursor: pointer; width: fit-content; }
input[type="radio"] + label::before { content: " "; border: 1px solid var(--form-ele); border-radius: 20%; }
input[type="radio"] + label::before { border-radius: 50%; }
input[type=radio] + label::after { content: " "; top: 2px; left: 0; width: 14px; height: 14px; background: var(--secondary-color); border: 1px solid var(--secondary-color); border-radius: 50%; }
/* Radio Checked */
input[type="radio"]:checked + label::before { background: transparent; border-color: transparent; }
input[type=radio] + label::after { transform: scale(0); }
input[type=radio]:checked + label::after { transform: scale(1); }
/* Errors */
.pristine-error { font-size: var(--fs-xx); font-weight: var(--fw-medium); position: absolute; right: 20px; z-index: 10; margin-top: -65px; color: var(--color-white); background: rgb(200, 53, 53); padding: 4px 10px; border-radius: var(--form-borderradius); pointer-events: none; }
form .has-danger input, form .has-danger textarea, form .has-danger input[type="checkbox"] + label::before { border: 1px solid #fa4531; }
form .has-danger input.bt { border: var(--bt-border); }