.geronimo-form input[type=text],
.geronimo-form input[type=password],
.geronimo-form input[type=url],
.geronimo-form input[type=number],
.geronimo-form input[type=email],
.geronimo-form input[type=tel],
.geronimo-form select {
    height: 40px;
    padding: 10px;
    border: solid 1px #A3BAC6;
    border-radius: 4px;
    outline: none;
    width: 100%;
}

.geronimo-form textarea {
    padding: 10px;
    border: solid 1px #A3BAC6;
    outline: none;
    width: 100%;
}

.geronimo-form input[type=text].is-invalid,
.geronimo-form input[type=password].is-invalid,
.geronimo-form input[type=url].is-invalid,
.geronimo-form input[type=number].is-invalid,
.geronimo-form input[type=email].is-invalid,
.geronimo-form input[type=tel].is-invalid,
.geronimo-form select.is-invalid,
.geronimo-form textarea.is-invalid {
    border-color: var(--error, #c0392b);
}

.geronimo-form .field-placeholder {
    font-size: inherit;
    line-height: 24px;
    padding: 0;
}

.geronimo-form input:disabled ~ .field-placeholder span {
    background-color: #eeeeee;
}

.geronimo-form input:disabled {
    background-color: #eeeeee;
    color: #666666;
}

.geronimo-form .field-wrapper__icon input {
    padding-right: 40px;
}

.geronimo-form .field-icon {
    position: absolute;
    right: 0;
    top: 0;
    display: flex;
    align-items: center;
    padding: 15px;
    height: var(--field-control-height, 40px);
}

.geronimo-form .field-percent {
    position: absolute;
    top: 0;
    right: 0;
    padding-left: 15px;
    padding-right: 15px;
    display: flex;
    align-items: center;
    height: var(--field-control-height, 40px);
}

.geronimo-form .field-wrapper__percent input {
    padding-right: 30px;
}

.geronimo-form .field-dollar {
    position: absolute;
    top: 0;
    left: 0;
    padding-left: 15px;
    padding-right: 15px;
    display: flex;
    align-items: center;
    height: var(--field-control-height, 40px);
}

.geronimo-form .field-wrapper__dollar input {
    padding-left: 30px;
}

.field-wrapper {
    position: relative;
    flex-wrap: wrap;
}

    .field-wrapper input:focus,
    .field-wrapper textarea:focus,
    .field-wrapper select:focus {
        --field-focus-color: var(--field-focus-blue, #1A73E8);
        border-bottom: 1.5px solid var(--field-focus-color);
        border: 1.5px solid var(--field-focus-color);
        border-radius: 4px;
        width: 100%;
        color: #454545 !important;
        box-shadow: none;
    }

    .field-wrapper input.is-invalid:focus,
    .field-wrapper textarea.is-invalid:focus,
    .field-wrapper select.is-invalid:focus {
        --field-focus-color: var(--error, #c0392b);
    }

    .field-wrapper input::-ms-clear {
        display: none;
    }

    .field-wrapper .field-placeholder {
        position: absolute;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        -webkit-transition: transform 150ms cubic-bezier(0.4,0,0.2,1),opacity 150ms cubic-bezier(0.4,0,0.2,1);
        transition: transform 150ms cubic-bezier(0.4,0,0.2,1),opacity 150ms cubic-bezier(0.4,0,0.2,1);
        text-align: left;
        top: 8px;
        left: 4px;
        color: var(--field-placeholder-color, #969696);
        cursor: text;
        white-space: nowrap;
        transform-origin: 0px 20px;
        pointer-events: none;
    }

        .field-wrapper .field-placeholder span {
            background: #ffffff;
            padding: 0 6px;
        }

    .field-wrapper input:focus ~ .field-placeholder,
    .field-wrapper textarea:focus ~ .field-placeholder,
    .field-wrapper select:focus ~ .field-placeholder {
        color: var(--field-focus-blue, #1A73E8);
    }

    .field-wrapper input.is-invalid:focus ~ .field-placeholder,
    .field-wrapper textarea.is-invalid:focus ~ .field-placeholder,
    .field-wrapper select.is-invalid:focus ~ .field-placeholder,
    .field-wrapper input.is-invalid ~ .field-placeholder,
    .field-wrapper textarea.is-invalid ~ .field-placeholder,
    .field-wrapper select.is-invalid ~ .field-placeholder {
        color: var(--error, #c0392b);
    }

    .field-wrapper input:focus ~ .field-placeholder,
    .field-wrapper.hasValue input ~ .field-placeholder,
    .field-wrapper textarea:focus ~ .field-placeholder,
    .field-wrapper.hasValue textarea ~ .field-placeholder,
    .field-wrapper.hasValue select ~ .field-placeholder {
        -webkit-transform: scale(.75) translateY(-50%) translateY(-17px);
        transform: scale(.75) translateY(-50%) translateY(-17px);
    }

    .field-wrapper input:focus,
    .field-wrapper textarea:focus,
    .field-wrapper select:focus {
        --field-focus-color: var(--field-focus-blue, #1A73E8);
        border-bottom: 1.5px solid var(--field-focus-color);
        border: 1.5px solid var(--field-focus-color);
        border-radius: 4px;
        width: 100%;
        color: #454545 !important;
        box-shadow: none;
    }

    .field-wrapper input.is-invalid:focus,
    .field-wrapper textarea.is-invalid:focus,
    .field-wrapper select.is-invalid:focus {
        --field-focus-color: var(--error, #c0392b);
    }

    .field-wrapper input::-ms-clear {
        display: none;
    }

    .field-wrapper .field-placeholder {
        position: absolute;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        -webkit-transition: transform 150ms cubic-bezier(0.4,0,0.2,1),opacity 150ms cubic-bezier(0.4,0,0.2,1);
        transition: transform 150ms cubic-bezier(0.4,0,0.2,1),opacity 150ms cubic-bezier(0.4,0,0.2,1);
        text-align: left;
        top: 8px;
        left: 4px;
        color: var(--field-placeholder-color, #969696);
        cursor: text;
        white-space: nowrap;
        transform-origin: 0px 20px;
        pointer-events: none;
    }

        .field-wrapper .field-placeholder span {
            background: #ffffff;
            padding: 0 6px;
        }

    .field-wrapper input:focus ~ .field-placeholder,
    .field-wrapper textarea:focus ~ .field-placeholder,
    .field-wrapper select:focus ~ .field-placeholder {
        color: var(--field-focus-blue, #1A73E8);
    }

    .field-wrapper input.is-invalid:focus ~ .field-placeholder,
    .field-wrapper textarea.is-invalid:focus ~ .field-placeholder,
    .field-wrapper select.is-invalid:focus ~ .field-placeholder,
    .field-wrapper input.is-invalid ~ .field-placeholder,
    .field-wrapper textarea.is-invalid ~ .field-placeholder,
    .field-wrapper select.is-invalid ~ .field-placeholder {
        color: var(--error, #c0392b);
    }

    .field-wrapper input:focus ~ .field-placeholder,
    .field-wrapper.hasValue input ~ .field-placeholder,
    .field-wrapper textarea:focus ~ .field-placeholder,
    .field-wrapper.hasValue textarea ~ .field-placeholder,
    .field-wrapper.hasValue select ~ .field-placeholder {
        -webkit-transform: scale(.75) translateY(-50%) translateY(-17px);
        transform: scale(.75) translateY(-50%) translateY(-17px);
    }

.gsi-material-button {
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-appearance: none;
    background-color: WHITE;
    background-image: none;
    border: 1px solid #747775;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #1f1f1f;
    cursor: pointer;
    font-family: 'Roboto', arial, sans-serif;
    font-size: 14px;
    height: 40px;
    letter-spacing: 0.25px;
    outline: none;
    overflow: hidden;
    padding: 0 12px;
    position: relative;
    text-align: center;
    -webkit-transition: background-color .218s, border-color .218s, box-shadow .218s;
    transition: background-color .218s, border-color .218s, box-shadow .218s;
    vertical-align: middle;
    white-space: nowrap;
    width: auto;
    max-width: 400px;
    min-width: min-content;
}

    .gsi-material-button .gsi-material-button-icon {
        height: 20px;
        margin-right: 12px;
        min-width: 20px;
        width: 20px;
    }

    .gsi-material-button .gsi-material-button-content-wrapper {
        -webkit-align-items: center;
        align-items: center;
        display: flex;
        -webkit-flex-direction: row;
        flex-direction: row;
        -webkit-flex-wrap: nowrap;
        flex-wrap: nowrap;
        height: 100%;
        justify-content: center;
        position: relative;
        width: 100%;
    }

    .gsi-material-button .gsi-material-button-contents {
        -webkit-flex-grow: 0;
        flex-grow: 0;
        font-family: 'Roboto', arial, sans-serif;
        font-weight: 500;
        overflow: hidden;
        text-overflow: ellipsis;
        vertical-align: top;
    }

    .gsi-material-button .gsi-material-button-state {
        -webkit-transition: opacity .218s;
        transition: opacity .218s;
        bottom: 0;
        left: 0;
        opacity: 0;
        position: absolute;
        right: 0;
        top: 0;
    }

    .gsi-material-button:disabled {
        cursor: default;
        background-color: #ffffff61;
        border-color: #1f1f1f1f;
    }

        .gsi-material-button:disabled .gsi-material-button-contents {
            opacity: 38%;
        }

        .gsi-material-button:disabled .gsi-material-button-icon {
            opacity: 38%;
        }

    .gsi-material-button:not(:disabled):active .gsi-material-button-state,
    .gsi-material-button:not(:disabled):focus .gsi-material-button-state {
        background-color: #303030;
        opacity: 12%;
    }

    .gsi-material-button:not(:disabled):hover {
        -webkit-box-shadow: 0 1px 2px 0 rgba(60, 64, 67, .30), 0 1px 3px 1px rgba(60, 64, 67, .15);
        box-shadow: 0 1px 2px 0 rgba(60, 64, 67, .30), 0 1px 3px 1px rgba(60, 64, 67, .15);
    }

        .gsi-material-button:not(:disabled):hover .gsi-material-button-state {
            background-color: #303030;
            opacity: 8%;
        }

@media screen and (max-width: 1200px) {
    .field-wrapper input:focus ~ .field-placeholder,
    .field-wrapper.hasValue input ~ .field-placeholder,
    .field-wrapper textarea:focus ~ .field-placeholder,
    .field-wrapper.hasValue textarea ~ .field-placeholder,
    .field-wrapper.hasValue select ~ .field-placeholder {
        -webkit-transform: scale(.75) translateY(-50%) translateY(-17px);
        transform: scale(.75) translateY(-50%) translateY(-17px);
    }
}

@media screen and (max-width: 991px) {
    .field-wrapper input:focus ~ .field-placeholder,
    .field-wrapper.hasValue input ~ .field-placeholder,
    .field-wrapper textarea:focus ~ .field-placeholder,
    .field-wrapper.hasValue textarea ~ .field-placeholder,
    .field-wrapper.hasValue select ~ .field-placeholder {
        -webkit-transform: scale(.75) translateY(-50%) translateY(-17px);
        transform: scale(.75) translateY(-50%) translateY(-17px);
    }
}

@media screen and (max-width: 600px) {
    .field-wrapper input:focus ~ .field-placeholder,
    .field-wrapper.hasValue input ~ .field-placeholder,
    .field-wrapper textarea:focus ~ .field-placeholder,
    .field-wrapper.hasValue textarea ~ .field-placeholder,
    .field-wrapper.hasValue select ~ .field-placeholder {
        -webkit-transform: scale(.75) translateY(-50%) translateY(-17px);
        transform: scale(.75) translateY(-50%) translateY(-17px);
    }
}

@media screen and (max-width: 500px) {
    .field-wrapper input:focus ~ .field-placeholder,
    .field-wrapper.hasValue input:not([disabled]) ~ .field-placeholder,
    .field-wrapper textarea:focus ~ .field-placeholder,
    .field-wrapper.hasValue textarea ~ .field-placeholder,
    .field-wrapper.hasValue select ~ .field-placeholder {
        -webkit-transform: scale(.75) translateY(-50%) translateY(-17px);
        transform: scale(.75) translateY(-50%) translateY(-17px);
    }
}

@media screen and (max-width: 400px) {
    .field-wrapper input:focus ~ .field-placeholder,
    .field-wrapper.hasValue input ~ .field-placeholder,
    .field-wrapper textarea:focus ~ .field-placeholder,
    .field-wrapper.hasValue textarea ~ .field-placeholder,
    .field-wrapper.hasValue select ~ .field-placeholder {
        -webkit-transform: scale(.75) translateY(-50%) translateY(-17px);
        transform: scale(.75) translateY(-50%) translateY(-17px);
    }
}

@media screen and (max-width: 300px) {
    .field-wrapper input:focus ~ .field-placeholder,
    .field-wrapper.hasValue input ~ .field-placeholder,
    .field-wrapper textarea:focus ~ .field-placeholder,
    .field-wrapper.hasValue textarea ~ .field-placeholder,
    .field-wrapper.hasValue select ~ .field-placeholder {
        -webkit-transform: scale(.75) translateY(-50%) translateY(-17px);
        transform: scale(.75) translateY(-50%) translateY(-17px);
    }
}

/*Remove arrow button for input numer of form geronimo-form*/
.geronimo-form input[type="number"]::-webkit-inner-spin-button,
.geronimo-form input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* ============================================================
   Chrome autofill. Autofill fires no keyup/change, so .hasValue never gets
   added and the label would sit on top of the filled value.
============================================================ */
.field-wrapper input:-webkit-autofill ~ .field-placeholder {
    -webkit-transform: scale(.75) translateY(-50%) translateY(-17px);
    transform: scale(.75) translateY(-50%) translateY(-17px);
}

.field-wrapper input:-webkit-autofill,
.field-wrapper input:-webkit-autofill:hover,
.field-wrapper input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px #fff inset;
}

/* ============================================================
   NEW-UI VARIANT — opt in with .fancy-ui on any container above .field-wrapper.

   Everything above is the original 40px / 4px-radius look and is untouched;
   
   add .fancy-ui when the fields are 46px tall with 10px radius and 14px padding
   (the RequestDonation flow — see Content/css/RequestDonation/create-npo-flow.css).
============================================================ */

.fancy-ui .field-wrapper {
    --field-control-height: 46px;
}

.fancy-ui .field-wrapper .field-placeholder {
    top: 11px;
    left: 9.5px;
    font-size: 14.5px;
    line-height: 24px;
    transform-origin: 0 50%;
    pointer-events: none;
}

.fancy-ui .field-wrapper input:focus          ~ .field-placeholder,
.fancy-ui .field-wrapper select:focus         ~ .field-placeholder,
.fancy-ui .field-wrapper textarea:focus       ~ .field-placeholder,
.fancy-ui .field-wrapper.hasValue input       ~ .field-placeholder,
.fancy-ui .field-wrapper.hasValue select      ~ .field-placeholder,
.fancy-ui .field-wrapper.hasValue textarea    ~ .field-placeholder,
.fancy-ui .field-wrapper input:-webkit-autofill ~ .field-placeholder {
    -webkit-transform: translateY(-22px) scale(.8);
    transform: translateY(-22px) scale(.8);
}

.fancy-ui .field-wrapper input:focus,
.fancy-ui .field-wrapper select:focus,
.fancy-ui .field-wrapper textarea:focus {
    border: 1.5px solid var(--blue, #1d7fb8);
    border-radius: 10px;
    color: var(--field-text, #16242e) !important;
    box-shadow: none;
}

.fancy-ui .field-wrapper input.is-invalid,
.fancy-ui .field-wrapper select.is-invalid,
.fancy-ui .field-wrapper textarea.is-invalid {
    border-color: var(--error, #c0392b);
}

.fancy-ui .field-wrapper input:focus    ~ .field-placeholder,
.fancy-ui .field-wrapper select:focus   ~ .field-placeholder,
.fancy-ui .field-wrapper textarea:focus ~ .field-placeholder {
    color: var(--blue, #1d7fb8);
}

.fancy-ui .field-wrapper input.is-invalid:focus    ~ .field-placeholder,
.fancy-ui .field-wrapper select.is-invalid:focus   ~ .field-placeholder,
.fancy-ui .field-wrapper textarea.is-invalid:focus ~ .field-placeholder,
.fancy-ui .field-wrapper input.is-invalid          ~ .field-placeholder,
.fancy-ui .field-wrapper select.is-invalid         ~ .field-placeholder,
.fancy-ui .field-wrapper textarea.is-invalid       ~ .field-placeholder {
    color: var(--error, #c0392b);
}

.fancy-ui .field-wrapper:not(.hasValue) input[type="date"] {
    color: transparent;
}

.fancy-ui .row > .field-wrapper {
    flex: 1 1 0;
    min-width: 0;
}

/* ============================================================
   Password show/hide toggle (Content/scripts/common/password-toggle.js)
============================================================ */
.field-wrapper input[type="password"] {
    padding-right: 38px;
}

.field-wrapper .password-toggle {
    position: absolute;
    top: 0;
    right: 0;
    width: 38px;
    height: var(--field-control-height, 40px);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    color: #9aa6ad;
    font-size: 18px;
}

.field-wrapper .password-toggle:hover {
    color: #6b7a84;
}

input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear {
    display: none;
}