/* Table of Contents ================================================== # Form # Components # Styles # Colors # Media Queries */ /* # Form ================================================== */ form { color: $color-dark-black; } fieldset, legend { border: 0; } legend { border-bottom: 1px solid $color-haze; display: block; font-size: 16px; font-weight: bold; letter-spacing: 1px; line-height: 25px; margin-bottom: 20px; text-transform: uppercase; width: 100%; } label { display: block; font-size: 13px; font-weight: bold; line-height: 1; margin: 5px 0; } select, textarea, input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"] { @include appearance(none); background: $color-white; border: 1px solid $color-haze; border-radius: 2px; box-sizing: border-box; color: inherit; display: block; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-size: 16px; font-style: normal; font-weight: normal; line-height: 1; margin-bottom: 5px; outline: 0; padding: 11px 0 10px 10px; text-indent: 0; @include transition(all 0.3s ease-in-out); width: 100%; vertical-align: middle; } button, input[type="file"], input[type="image"], input[type="submit"], input[type="reset"], input[type="button"], input[type="radio"], input[type="checkbox"] { line-height: 1; outline: 0; width: auto; } input[type="radio"], input[type="checkbox"] { margin: 5px 0 0; } select { padding-bottom: 12px; padding-top: 12px; } select[multiple], select[size] { height: auto; } textarea { height: 140px; line-height: 22px; padding-right: 10px; } input:focus, textarea:focus, select:focus, input:focus:valid, textarea:focus:valid, select:focus:valid, input:focus:valid:focus, textarea:focus:valid:focus, select:focus:valid:focus { border-color: $color-green !important; } input:focus:invalid, textarea:focus:invalid, select:focus:invalid { border-color: $color-red !important; color: $color-red !important; } input:focus:invalid:focus, textarea:focus:invalid:focus, select:focus:invalid:focus { border-color: $color-red !important; } input[disabled], textarea[disabled], select[disabled] { background: $color-light-haze; color: $color-gray; cursor: not-allowed; } ::-webkit-input-placeholder { color: $color-gray; font-weight: 200; line-height: 18px; } :-moz-placeholder { color: $color-gray; font-weight: 200; line-height: 18px; } ::-moz-placeholder { color: $color-gray; font-weight: 200; line-height: 18px; } :-ms-input-placeholder { color: $color-gray; font-weight: 200; line-height: 18px; } /* # Components ================================================== */ .form-header { border-bottom: 1px solid $color-haze; margin-bottom: 30px; padding-bottom: 8px; } .form-header > h1, .form-header > h2, .form-header > h3, .form-header > h4, .form-header > h5, .form-header > h6 { line-height: 1; margin: 0; padding: 0; } .form-error-messages { background: $color-white; border-color: $color-haze; margin-bottom: 40px; } .form-error-messages > h1, .form-error-messages > h2, .form-error-messages > h3, .form-error-messages > h4, .form-error-messages > h5, .form-error-messages > h6 { background: $color-light-haze; border: 1px solid; border-color: inherit !important; border-top-left-radius: 2px; border-top-right-radius: 2px; line-height: 1; margin: 0; padding: 12px 10px 10px 10px; } .form-error-messages > ul { border: 1px solid; border-color: inherit !important; border-top: 0; border-bottom-left-radius: 2px; border-bottom-right-radius: 2px; padding: 10px 0; } .form-error-messages > ul > li { display: block; padding: 0 10px; } .form-input-initial, .form-textarea-initial, .form-select-initial { display: inline-block; width: initial; } .form-textarea-small { height: 80px; } .form-textarea-large { height: 200px; } .form-input-group, .form-file-group { border-collapse: separate; border-spacing: 0; display: table; margin-bottom: 5px; position: relative; width: 100%; } .form-input-group-addon, .form-input-group-input, .form-file-group-addon, .form-file-group-input, .form-file-group-text { display: table-cell; } .form-input-group-input, .form-file-group-input, .form-file-group-text { border-bottom-left-radius: 0 !important; border-top-left-radius: 0 !important; margin: 0 !important; } .form-file-group-input { height: 0 !important; padding: 0 !important; position: fixed; visibility: hidden; width: 0 !important; } .form-file-group-addon, .form-input-group-addon { border-bottom-left-radius: 2px; border-top-left-radius: 2px; box-sizing: border-box; font-size: 16px; font-style: normal; font-weight: normal; line-height: 1; padding: 0; text-align: center; white-space: nowrap; width: 1%; vertical-align: middle; } .form-input-group-addon, .form-file-group-button { background: $color-light-haze; border: 1px solid $color-haze; border-right: 0; } .form-input-group-addon { color: $color-gray; padding: 0 13px; } .form-input-group-addon > i { display: block; font-size: 19px; margin-top: 2px; } .form-file-group-button { border-bottom-right-radius: 0; border-top-right-radius: 0; margin: 0 -1px 0 0; padding: 14px 20px; } .form-input-group-addon > input[type="radio"], .form-input-group-addon > input[type="checkbox"] { margin: 0; } .form-floating-label { overflow: hidden; position: relative; vertical-align: top; } .form-floating-label > label { font-size: 10px; font-style: normal; font-weight: bold; left: 10px; opacity: 0; position: absolute; @include transition(all 0.3s ease-in-out); top: 10px; } .form-floating-label > input:focus, .form-floating-label > input:valid, .form-floating-label > textarea:focus, .form-floating-label > textarea:valid { padding-top: 15px; } .form-floating-label > input:focus, .form-floating-label > input:valid { padding-bottom: 6px; } .form-floating-label > input:focus + label, .form-floating-label > textarea:focus + label, .form-floating-label > input:valid + label, .form-floating-label > textarea:valid + label { opacity: 1; top: 2px; } .form-floating-label > input:focus + label, .form-floating-label > textarea:focus + label { color: $color-green; } .form-floating-label > input:invalid + label, .form-floating-label > textarea:invalid + label { color: $color-red; } .form-help-block { color: $color-light-gray; display: block; font-size: 12px; font-style: italic; font-weight: normal; margin-bottom: 15px; } .form-select { display: block; position: relative; vertical-align: middle; width: 100%; } .form-select::before, .form-select::after { content: ""; pointer-events: none; position: absolute; } .form-select::after { content: "\f3d0"; font-family: "Ionicons"; font-size: 18px; font-style: normal; font-weight: normal; height: 18px; line-height: 1; margin-top: -9px; right: 16px; top: 50%; } .form-select::before { background: $color-transparent; border: 1px solid $color-transparent; border-left: 0; border-bottom-right-radius: 2px; border-top-right-radius: 2px; bottom: 0; right: 0; top: 0; width: 41px; } .form-select > select { text-overflow: ""; } .form-btn-inline { margin: 2px 0 5px 0; padding-bottom: 14px; padding-top: 14px; } .form-checkbox-inline, .form-option-inline, .form-radio-inline { margin-top: 17px; } .form-swoggle-inline { margin-top: 13px; } .form-option { display: inline-block; margin-right: 5px; } .form-checkbox, .form-radio { background: $color-haze; border-radius: 2px; display: inline-block; height: 22px; position: relative; width: 22px; } .form-checkbox > label, .form-radio > label { background: $color-white; border-radius: 1px; cursor: pointer; height: 20px; left: 1px; position: absolute; top: -4px; width: 20px; } .form-checkbox > label:after, .form-radio > label:after { content: ""; opacity: 0; position: absolute; @include transition(all 0.3s ease-in-out); } .form-checkbox > label:after { background: $color-transparent; border: 3px solid $color-green; border-right: 0; border-top: 0; height: 4px; left: 3px; @include transform(rotate(-45deg)); top: 5px; width: 10px; } .form-radio > label:after { background: $color-green; height: 12px; left: 4px; top: 4px; width: 12px; } .form-radio, .form-radio > label, .form-radio > label:after { border-radius: 500px; } .form-checkbox > label:hover::after, .form-radio > label:hover::after { opacity: 0.3; } .form-checkbox > input[type="checkbox"], .form-radio > input[type="radio"] { visibility: hidden; } .form-checkbox > input[type="checkbox"]:checked + label:after, .form-radio > input[type="radio"]:checked + label:after { opacity: 1; } .form-datetime { display: inline-block; margin-left: 0; padding-right: 10px; width: initial; } .form-slider-label { font-size: 11px; font-style: normal; font-weight: bold; margin: 5px 0; } .form-footer { border-top: 1px solid $color-haze; font-size: 12px; line-height: 20px; list-style: none; margin: 30px 0 0 0; padding: 15px 0 0 0; } /* # Styles ================================================== */ .form-edge, .form-inline { clear: both; } .form-inline button, .form-inline input, .form-inline select, .form-inline textarea, .form-inline .form-select, .form-inline .form-input-group, .form-inline .form-file-group { margin: 0 0 5px 0; } .form-edge button, .form-edge input, .form-edge select, .form-edge textarea, .form-edge .form-select, .form-edge .form-input-group, .form-edge .form-file-group { float: left; margin: 0 5px 0 0; width: 150px; } .form-edge button:last-child, .form-edge input:last-child, .form-edge select:last-child, .form-edge textarea:last-child, .form-edge .form-select:last-child, .form-edge .form-input-group:last-child, .form-edge .form-file-group:last-child { margin-right: 0; } .form-edge .form-select select { float: none; margin: 0; } .form-edge button, .form-edge input[type="submit"], .form-edge input[type="reset"], .form-edge input[type="button"], .form-inline button, .form-inline input[type="submit"], .form-inline input[type="reset"], .form-inline input[type="button"] { padding-bottom: 14px; padding-top: 14px; width: initial; } .form-edge-link, .form-edge-icon { float: left; font-size: 16px; line-height: 1; margin: 14px 5px 0 0; } .form-edge-icon { font-size: 20px; margin-top: 11px; } .form-edge-input-large { width: 200px !important; } .form-edge-input-medium { width: 125px !important; } .form-edge-input-small { width: 100px !important; } .form-edge-input-mini { width: 75px !important; } .form-edge-condensed ::-webkit-input-placeholder { line-height: 13px; } .form-edge-condensed :-moz-placeholder { line-height: 13px; } .form-edge-condensed ::-moz-placeholder { line-height: 13px; } .form-edge-condensed :-ms-input-placeholder { line-height: 13px; } .form-edge-condensed .form-input-group-addon, .form-edge-condensed .form-file-group-addon { font-size: 12px; padding-left: 10px; padding-right: 10px; } .form-edge-condensed .form-input-group-addon i, .form-edge-condensed .form-file-group-addon i { font-size: 14px; } .form-edge-condensed input, .form-edge-condensed textarea, .form-edge-condensed select { font-size: 12px; padding-bottom: 6px; padding-top: 7px; } .form-edge-condensed select { padding-bottom: 7px; padding-top: 8px; } .form-edge-condensed button, .form-edge-condensed input[type="submit"], .form-edge-condensed input[type="reset"], .form-edge-condensed input[type="button"] { font-size: 11px; line-height: 1; padding: 8px 15px; } .form-edge-condensed > .form-edge-link { font-size: 12px; margin-top: 10px; } .form-edge-condensed > .form-edge-icon { font-size: 16px; margin-top: 7px; } .form-edge-condensed .form-select::after { font-size: 14px; height: 14px; margin-top: -7px; right: 12px; } .form-edge-condensed .form-select::before { width: 31px; } .form-edge-condensed .btn-icon { font-size: 14px !important; padding: 7px 8px 5px 8px !important; min-width: 30px !important; } /* # Colors ================================================== */ .form-dark { color: $color-white; } .form-dark legend, .form-dark select, .form-dark textarea, .form-dark input[type="text"], .form-dark input[type="password"], .form-dark input[type="datetime"], .form-dark input[type="datetime-local"], .form-dark input[type="date"], .form-dark input[type="month"], .form-dark input[type="time"], .form-dark input[type="week"], .form-dark input[type="number"], .form-dark input[type="email"], .form-dark input[type="url"], .form-dark input[type="search"], .form-dark input[type="tel"], .form-dark input[type="color"], .form-dark .form-header, .form-dark .form-error-messages, .form-dark .form-input-group-addon, .form-dark .form-file-group-button, .form-dark .form-footer { border-color: $color-dark-black !important; } .form-dark select, .form-dark textarea, .form-dark input[type="text"], .form-dark input[type="password"], .form-dark input[type="datetime"], .form-dark input[type="datetime-local"], .form-dark input[type="date"], .form-dark input[type="month"], .form-dark input[type="time"], .form-dark input[type="week"], .form-dark input[type="number"], .form-dark input[type="email"], .form-dark input[type="url"], .form-dark input[type="search"], .form-dark input[type="tel"], .form-dark input[type="color"], .form-dark .form-error-messages > h1, .form-dark .form-error-messages > h2, .form-dark .form-error-messages > h3, .form-dark .form-error-messages > h4, .form-dark .form-error-messages > h5, .form-dark .form-error-messages > h6, .form-dark .form-checkbox > label, .form-dark .form-radio > label { background: $color-light-black; } .form-dark input[disabled], .form-dark textarea[disabled], .form-dark select[disabled], .form-dark .form-error-messages, .form-dark .form-input-group-addon { background: $color-black; } .form-dark .form-checkbox, .form-dark .form-radio { background: $color-dark-black; } .form-light legend, .form-light select, .form-light textarea, .form-light input[type="text"], .form-light input[type="password"], .form-light input[type="datetime"], .form-light input[type="datetime-local"], .form-light input[type="date"], .form-light input[type="month"], .form-light input[type="time"], .form-light input[type="week"], .form-light input[type="number"], .form-light input[type="email"], .form-light input[type="url"], .form-light input[type="search"], .form-light input[type="tel"], .form-light input[type="color"], .form-light .form-header, .form-light .form-error-messages, .form-light .form-input-group-addon, .form-light .form-file-group-button, .form-light .form-footer { border-color: $color-dark-haze !important; } .form-light input[disabled], .form-light textarea[disabled], .form-light select[disabled], .form-light .form-input-group-addon { background: $color-haze; } .form-light .form-error-messages { background: $color-white; } .form-light .form-checkbox, .form-light .form-radio { background: $color-dark-haze; } /* # Media Queries ================================================== */ @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and ( min--moz-device-pixel-ratio: 2), only screen and ( -o-min-device-pixel-ratio: 2/1), only screen and ( min-device-pixel-ratio: 2), only screen and ( min-resolution: 192dpi), only screen and ( min-resolution: 2dppx) { legend, .form-header, .form-footer { border-width: 0.5px; } legend { letter-spacing: 0.5px; } }