
input,
select {
    height: 2.75em;
}


input,
select,
textarea {
    -moz-appearance: none;
    -webkit-appearance: none;
    -ms-appearance: none;
    appearance: none;
    background: rgba(212, 212, 255, 0.035);
    border: none;
    border-radius: 0;
    color: inherit;
    display: block;
    outline: 0;
    padding: 0 1em;
    text-decoration: none;
    width: 100%;
    border-radius: 6px !important;
}

input[type="checkbox"] {
    appearance: auto;
    -moz-appearance: auto;
    -webkit-appearance: auto;
    -ms-appearance: auto;
    font-size: .7em;
    vertical-align:middle;
}

textarea {
    padding: 0.75em 1em;
    resize: none;
}

input:invalid,
select:invalid,
textarea:invalid {
    box-shadow: none;
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--blue);
    box-shadow: 0 0 0 2px var(--blue);
}



/* Button */

input[type="submit"],
input[type="reset"],
input[type="button"],
button,
.button {
    -moz-appearance: none;
    -webkit-appearance: none;
    -ms-appearance: none;
    appearance: none;
    -moz-transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
    -webkit-transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
    -ms-transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
    background-color: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: inset 0 0 0 2px var(--red);
    color: var(--red);
    cursor: pointer;
    display: inline-block;
    font-size: 1em;
    font-weight: 600;
    height: 3.5em;
    letter-spacing: 0.25em;
    line-height: 3.5em;
    padding: 0 1.75em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
}

input[type="submit"]:hover,
input[type="submit"]:active,
input[type="reset"]:hover,
input[type="reset"]:active,
input[type="button"]:hover,
input[type="button"]:active,
button:hover,
button:active,
.button:hover,
.button:active {
    /* box-shadow: inset 0 0 0 2px #9bf1ff; */
    background-color: var(--red);
    color: white;
}

input[type="submit"]:active,
input[type="reset"]:active,
input[type="button"]:active,
button:active,
.button:active {
    background-color: rgba(155, 241, 255, 0.1);
    box-shadow: inset 0 0 0 2px var(--blue);
    color: var(--blue);
}

/* input[type="submit"].icon:before,
input[type="reset"].icon:before,
input[type="button"].icon:before,
button.icon:before,
.button.icon:before {
    margin-right: 0.5em;
} */


input[type="submit"].primary,
input[type="reset"].primary,
input[type="button"].primary,
button.primary,
.button.primary {
    background-color: var(--red);
    box-shadow: none;
    color: white;
}

input[type="submit"].primary.black,
input[type="reset"].primary.black,
input[type="button"].primary.black,
button.primary.black,
.button.primary.black {
    background-color: var(--black) !important;
    box-shadow: none;
    color: var(--white) !important;
}

input[type="submit"].primary.inverted,
input[type="reset"].primary.inverted,
input[type="button"].primary.inverted,
button.primary.inverted,
.button.primary.inverted {
    background-color: var(--white);
    box-shadow: none;
    color: var(--red);
}

input[type="submit"].primary:hover, input[type="submit"].primary:active,
input[type="reset"].primary:hover,
input[type="reset"].primary:active,
input[type="button"].primary:hover,
input[type="button"].primary:active,
button.primary:hover,
button.primary:active,
.button.primary:hover,
.button.primary:active {
    background-color: var(--blue);
    /* color: #242943 !important; */
    color: white;
}

input[type="submit"].primary:active,
input[type="reset"].primary:active,
input[type="button"].primary:active,
button.primary:active,
.button.primary:active {
    background-color: var(--blue);
}


input[type="submit"].basic,
input[type="reset"].basic,
input[type="button"].basic,
button.basic,
.button.basic {
    background-color: transparent;
    box-shadow: none;
    color: var(--red);
}

input[type="submit"].basic:hover, input[type="submit"].basic:active,
input[type="reset"].basic:hover,
input[type="reset"].basic:active,
input[type="button"].basic:hover,
input[type="button"].basic:active,
button.basic:hover,
button.basic:active,
.button.basic:hover,
.button.basic:active {
    box-shadow: inset 0 0 0 2px var(--red) !important;
}

input[type="submit"].basic:active,
input[type="submit"].basic.active,
input[type="reset"].basic:active,
input[type="reset"].basic.active,
input[type="button"].basic:active,
input[type="button"].basic.active,
button.basic:active,
button.basic.active,
.button.basic:active,
.button.basic.active {
    background-color: var(--red);
    color: white;
}

input[type="submit"].inverted,
input[type="reset"].inverted,
input[type="button"].inverted,
button.inverted,
.button.inverted {
    background-color: transparent;
    box-shadow: inset 0 0 0 2px var(--white);
    color: var(--white);
    transition: transform .2s;
}
    
input[type="submit"].inverted:hover, input[type="submit"].inverted:active,
input[type="reset"].inverted:hover,
input[type="reset"].inverted:active,
input[type="button"].inverted:hover,
input[type="button"].inverted:active,
button.inverted:hover,
button.inverted:active,
.button.inverted:hover,
.button.inverted:active {
    /* background-color:  var(--hover-red); */
    box-shadow: inset 0 0 0 3px var(--blue);
    /* transform: scale(1.1); */
    /* color: white; */
}

input[type="submit"].inverted:active,
input[type="submit"].inverted.active,
input[type="reset"].inverted:active,
input[type="reset"].inverted.active,
input[type="button"].inverted:active,
input[type="button"].inverted.active,
button.inverted:active,
button.inverted.active,
.button.inverted:active,
.button.inverted.active {
    color: var(--blue) !important;
    box-shadow: inset 0 0 0 4px var(--blue);
}


input[type="submit"].disabled, input[type="submit"]:disabled,
input[type="reset"].disabled,
input[type="reset"]:disabled,
input[type="button"].disabled,
input[type="button"]:disabled,
button.disabled,
button:disabled,
.button.disabled,
.button:disabled {
    pointer-events: none;
    cursor: default;
    opacity: 0.25;
}

::-webkit-input-placeholder {
    color: var(--placeholder) !important;
    opacity: 1.0;
}

:-moz-placeholder {
    color: var(--placeholder) !important;
    opacity: 1.0;
}

::-moz-placeholder {
    color: var(--placeholder) !important;
    opacity: 1.0;
}

:-ms-input-placeholder {
    color: var(--placeholder) !important;
    opacity: 1.0;
}

::placeholder {
    color: var(--placeholder) !important;
    opacity: 1.0;
}

/* Actions */

ul.actions {
    display: -moz-flex;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    cursor: default;
    list-style: none;
    margin-left: -1em;
    padding-left: 0;
}

ul.actions li {
    padding: 0 0 0 1em;
    vertical-align: middle;
}

ul.actions.special {
    -moz-justify-content: center;
    -webkit-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    width: 100%;
    margin-left: 0;
}

ul.actions.special li:first-child {
    padding-left: 0;
}

ul.actions.stacked {
    -moz-flex-direction: column;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-left: 0;
}

ul.actions.stacked li {
    padding: 1.3em 0 0 0;
}

ul.actions.stacked li:first-child {
    padding-top: 0;
}

ul.actions.fit {
    width: calc(100% + 1em);
}

ul.actions.fit li {
    -moz-flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-grow: 1;
    flex-grow: 1;
    -moz-flex-shrink: 1;
    -webkit-flex-shrink: 1;
    -ms-flex-shrink: 1;
    flex-shrink: 1;
    width: 100%;
}

    ul.actions.fit li > * {
        width: 100%;
    }

ul.actions.fit.stacked {
    width: 100%;
}