/* ============================================================
   Form Assets - Scoped Form Styles
   Adapted from "form assets/css/main.css"
   (Dimension by HTML5 UP - html5up.net | @ajlkn)
   Scoped under .form-assets to avoid conflicts with the site.
   ============================================================ */

/* --- Form container --- */
.form-assets form {
    margin: 0 0 2rem 0;
}

.form-assets form > :last-child {
    margin-bottom: 0;
}

/* --- Fields layout --- */
.form-assets form > .fields {
    display: -moz-flex;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -moz-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: calc(100% + 3rem);
    margin: -1.5rem 0 2rem -1.5rem;
}

.form-assets form > .fields > .field {
    -moz-flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-grow: 0;
    flex-grow: 0;
    -moz-flex-shrink: 0;
    -webkit-flex-shrink: 0;
    -ms-flex-shrink: 0;
    flex-shrink: 0;
    padding: 1.5rem 0 0 1.5rem;
    width: calc(100% - 1.5rem);
}

.form-assets form > .fields > .field.half {
    width: calc(50% - 0.75rem);
}

.form-assets form > .fields > .field.third {
    width: calc(100%/3 - 0.5rem);
}

.form-assets form > .fields > .field.quarter {
    width: calc(25% - 0.375rem);
}

@media screen and (max-width: 480px) {
    .form-assets form > .fields {
        width: calc(100% + 3rem);
        margin: -1.5rem 0 2rem -1.5rem;
    }

    .form-assets form > .fields > .field {
        padding: 1.5rem 0 0 1.5rem;
        width: calc(100% - 1.5rem);
    }

    .form-assets form > .fields > .field.half,
    .form-assets form > .fields > .field.third,
    .form-assets form > .fields > .field.quarter {
        width: calc(100% - 1.5rem);
    }
}

/* --- Labels --- */
.form-assets label {
    color: #1b1f22;
    display: block;
    font-size: 0.8rem;
    font-weight: 300;
    letter-spacing: 0.2rem;
    line-height: 1.5;
    margin: 0 0 1rem 0;
    text-transform: uppercase;
}

/* --- Inputs, Selects, Textareas --- */
.form-assets input[type="text"],
.form-assets input[type="password"],
.form-assets input[type="email"],
.form-assets input[type="tel"],
.form-assets select,
.form-assets textarea {
    -moz-appearance: none;
    -webkit-appearance: none;
    -ms-appearance: none;
    appearance: none;
    -moz-transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
    -webkit-transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
    -ms-transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
    transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
    background-color: transparent;
    border-radius: 4px;
    border: solid 1px #1b1f22;
    color: #1b1f22;
    display: block;
    outline: 0;
    padding: 0 1rem;
    text-decoration: none;
    width: 100%;
}

.form-assets input[type="text"]:invalid,
.form-assets input[type="password"]:invalid,
.form-assets input[type="email"]:invalid,
.form-assets input[type="tel"]:invalid,
.form-assets select:invalid,
.form-assets textarea:invalid {
    box-shadow: none;
}

.form-assets input[type="text"]:focus,
.form-assets input[type="password"]:focus,
.form-assets input[type="email"]:focus,
.form-assets input[type="tel"]:focus,
.form-assets select:focus,
.form-assets textarea:focus {
    background: rgba(27, 31, 34, 0.075);
    border-color: #1b1f22;
    box-shadow: 0 0 0 1px #1b1f22;
}

/* --- Select dropdown arrow --- */
.form-assets select {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='%231b1f22' /%3E%3C/svg%3E");
    background-size: 1.25rem;
    background-repeat: no-repeat;
    background-position: calc(100% - 1rem) center;
    height: 2.75rem;
    padding-right: 2.75rem;
    text-overflow: ellipsis;
}

.form-assets select option {
    color: #1b1f22;
    background: #ffffff;
}

.form-assets select:focus::-ms-value {
    background-color: transparent;
}

.form-assets select::-ms-expand {
    display: none;
}

.form-assets input[type="text"],
.form-assets input[type="password"],
.form-assets input[type="email"],
.form-assets select {
    height: 2.75rem;
}

.form-assets textarea {
    padding: 0.75rem 1rem;
}

/* --- Checkbox / Radio --- */
.form-assets input[type="checkbox"],
.form-assets input[type="radio"] {
    -moz-appearance: none;
    -webkit-appearance: none;
    -ms-appearance: none;
    appearance: none;
    display: block;
    float: left;
    margin-right: -2rem;
    opacity: 0;
    width: 1rem;
    z-index: -1;
}

.form-assets input[type="checkbox"] + label,
.form-assets input[type="radio"] + label {
    text-decoration: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    color: #1b1f22;
    cursor: pointer;
    display: inline-block;
    font-size: 0.8rem;
    font-weight: 300;
    margin: 0 0 0.5rem 0;
    padding-left: 2.65rem;
    padding-right: 0.75rem;
    position: relative;
}

.form-assets input[type="checkbox"] + label:before,
.form-assets input[type="radio"] + label:before {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    text-transform: none !important;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
}

.form-assets input[type="checkbox"] + label:before,
.form-assets input[type="radio"] + label:before {
    -moz-transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
    -webkit-transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
    -ms-transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
    transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
    border-radius: 4px;
    border: solid 1px #1b1f22;
    content: '';
    display: inline-block;
    height: 1.65rem;
    left: 0;
    line-height: 1.65rem;
    position: absolute;
    text-align: center;
    top: -0.15rem;
    width: 1.65rem;
}

.form-assets input[type="checkbox"]:checked + label:before,
.form-assets input[type="radio"]:checked + label:before {
    background: #1b1f22 !important;
    border-color: #1b1f22 !important;
    color: #ffffff;
    content: '\f00c';
}

.form-assets input[type="checkbox"]:focus + label:before,
.form-assets input[type="radio"]:focus + label:before {
    background: rgba(27, 31, 34, 0.075);
    border-color: #1b1f22;
    box-shadow: 0 0 0 1px #1b1f22;
}

.form-assets input[type="checkbox"] + label:before {
    border-radius: 4px;
}

.form-assets input[type="radio"] + label:before {
    border-radius: 100%;
}

/* --- Placeholders --- */
.form-assets ::-webkit-input-placeholder {
    color: rgba(27, 31, 34, 0.5) !important;
    opacity: 1.0;
}

.form-assets :-moz-placeholder {
    color: rgba(27, 31, 34, 0.5) !important;
    opacity: 1.0;
}

.form-assets ::-moz-placeholder {
    color: rgba(27, 31, 34, 0.5) !important;
    opacity: 1.0;
}

.form-assets :-ms-input-placeholder {
    color: rgba(27, 31, 34, 0.5) !important;
    opacity: 1.0;
}

.form-assets .formerize-placeholder {
    color: rgba(27, 31, 34, 0.5) !important;
    opacity: 1.0;
}

/* --- Buttons --- */
.form-assets input[type="submit"],
.form-assets input[type="reset"],
.form-assets input[type="button"],
.form-assets button,
.form-assets .button {
    -moz-appearance: none;
    -webkit-appearance: none;
    -ms-appearance: none;
    appearance: none;
    -moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    -webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    -ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    background-color: transparent;
    border-radius: 4px;
    border: 0;
    box-shadow: inset 0 0 0 1px #1b1f22;
    color: #1b1f22 !important;
    cursor: pointer;
    display: inline-block;
    font-size: 0.8rem;
    font-weight: 300;
    height: 2.75rem;
    letter-spacing: 0.2rem;
    line-height: 2.75rem;
    outline: 0;
    padding: 0 1.25rem 0 1.35rem;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
}

.form-assets input[type="submit"]:hover,
.form-assets input[type="reset"]:hover,
.form-assets input[type="button"]:hover,
.form-assets button:hover,
.form-assets .button:hover {
    background-color: rgba(27, 31, 34, 0.075);
}

.form-assets input[type="submit"]:active,
.form-assets input[type="reset"]:active,
.form-assets input[type="button"]:active,
.form-assets button:active,
.form-assets .button:active {
    background-color: rgba(27, 31, 34, 0.175);
}

.form-assets input[type="submit"].icon:before,
.form-assets input[type="reset"].icon:before,
.form-assets input[type="button"].icon:before,
.form-assets button.icon:before,
.form-assets .button.icon:before {
    margin-right: 0.5em;
}

.form-assets input[type="submit"].fit,
.form-assets input[type="reset"].fit,
.form-assets input[type="button"].fit,
.form-assets button.fit,
.form-assets .button.fit {
    width: 100%;
}

.form-assets input[type="submit"].small,
.form-assets input[type="reset"].small,
.form-assets input[type="button"].small,
.form-assets button.small,
.form-assets .button.small {
    font-size: 0.6rem;
    height: 2.0625rem;
    line-height: 2.0625rem;
}

.form-assets input[type="submit"].primary,
.form-assets input[type="reset"].primary,
.form-assets input[type="button"].primary,
.form-assets button.primary,
.form-assets .button.primary {
    background-color: #1b1f22;
    color: #ffffff !important;
    font-weight: 600;
}

.form-assets input[type="submit"].disabled,
.form-assets input[type="submit"]:disabled,
.form-assets input[type="reset"].disabled,
.form-assets input[type="reset"]:disabled,
.form-assets input[type="button"].disabled,
.form-assets input[type="button"]:disabled,
.form-assets button.disabled,
.form-assets button:disabled,
.form-assets .button.disabled,
.form-assets .button:disabled {
    pointer-events: none;
    cursor: default;
    opacity: 0.25;
}

.form-assets input[type="submit"],
.form-assets input[type="reset"],
.form-assets input[type="button"],
.form-assets button {
    line-height: calc(2.75rem - 2px);
}