UNPKG

fluid-form

Version:
299 lines (259 loc) 5.63 kB
@fluid-form-medium-screen: 1300px; @fluid-form-small-screen: 800px; @fluid-form-color-dark: #444; @fluid-form-color-light: #ececec; @fluid-form-color-highlight: #abf; @fluid-form-color-selected: #25f; @fluid-form-color-invalid: #f44; @fluid-form-color-invalid-dark: #c00; @fluid-form-color-invalid-text: #000; @fluid-form-color-value-text: #64b; @fluid-form-color-placeholder-text: #64b; @fluid-form-color-submit-button: #7ad; @fluid-form-color-submit-text: @fluid-form-color-light; .fluid-form { width: 100%; position: relative; margin-bottom: 100px; &, * { box-sizing: border-box; } font-family: 'Open Sans', sans-serif; color: @fluid-form-color-dark; padding: 50px 15%; font-size: 18px; line-height: 36px; font-weight: 500; @media (max-width: @fluid-form-medium-screen) { padding: 35px 10%; font-size: 16px; line-height: 32px; } @media (max-width: @fluid-form-small-screen) { padding: 20px 15px; font-size: 12px; line-height: 21px; } .clause { display: inline-block; position: relative; z-index: 10; opacity: 1; transform-origin: left center; transform: scaleX(1); transition: all 200ms ease-in; width: auto; &.ng-hide { opacity: 0; transform: scaleX(0); width: 0; padding: 0; } margin: 12px 4px; @media (max-width: @fluid-form-medium-screen) { margin: 10px 4px; } @media (max-width: @fluid-form-small-screen) { margin: 7px 3px; } &.punctuation { margin-left: 2px; } &.newline { clear: both; display: block; margin: 0; height: 9px; @media (max-width: @fluid-form-medium-screen) { height: 7px; } @media (max-width: @fluid-form-small-screen) { height: 5px; } } &.invalid * { border-color: @fluid-form-color-invalid !important; } &.choice { &.open { z-index: 20; } } &.submit-button { margin-top: 40px; transform-origin: center center; transform: scale(1) rotate(0deg); transition-delay: 200ms; &.ng-hide { transform-origin: center center; transform: scale(0) rotate(45deg); transition-delay: 0ms; width: auto; } } &>* { } &>.newline { } &>.phrase { } &>.field { } &>.text { } &>.submit-button { padding: 15px 25px 15px 15px; border-radius: 10px; border: 0; background: @fluid-form-color-submit-button; color: @fluid-form-color-submit-text; font-family: inherit; font-size: inherit; font-weight: inherit; &:focus, &:hover { color: @fluid-form-color-submit-text; background: lighten(@fluid-form-color-submit-button, 5%); } &:active { color: @fluid-form-color-submit-text; background: darken(@fluid-form-color-submit-button, 10%); } } &>.choice { overflow: visible; position: relative; .menu { position: absolute; float: left; padding: 0; min-width: 150px; overflow-y: auto; max-height: 250px; top: 100%; left: 0; margin-top: 5px; border: 1px solid @fluid-form-color-light; box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2); border-radius: 9px; list-style-type: none; background: @fluid-form-color-light; transition: transform 100ms ease-in; transform-origin: top left; @media (max-width: @fluid-form-medium-screen) { border-radius: 7px; } @media (max-width: @fluid-form-small-screen) { border-radius: 4px; } .item { background: @fluid-form-color-light; display: block; padding: 0; margin: 0; padding: 5px 10px; white-space: nowrap; @media (max-width: @fluid-form-medium-screen) { padding: 3px 6px; } @media (max-width: @fluid-form-small-screen) { padding: 2px 4px; } font-weight: 500; &.selected { background: @fluid-form-color-selected; color: @fluid-form-color-light; } &:hover { background: @fluid-form-color-highlight; color: @fluid-form-color-light; } } &.ng-hide { transform: scale(0.3, 0); transition: transform 100ms ease-out; } } } .int { width: 50px; } .date { } .field, .choice .toggle { font-family: 'Source Code Pro'; } input,button { margin: 0; outline: 0; border-style: none; border-color: @fluid-form-color-light; font-size: inherit; color: @fluid-form-color-value-text; .placeholder, &::placeholder { color: @fluid-form-color-placeholder-text; } &:hover, .choice.open & { border-color: @fluid-form-color-highlight; color: black; } /* Hacky priority boost */ html body &:focus { border-color: @fluid-form-color-selected; color: black; } } input, .choice .toggle { border-radius: 0; border-bottom-width: 2px; border-bottom-style: solid; } .choice .toggle { padding-right: 5px; border-left-width: 2px; border-left-style: solid; background: inherit; .arrow { color: @fluid-form-color-light; padding-left: 5px; } } .choice { &.open, &:hover, &:focus, &:active { .arrow { color: @fluid-form-color-highlight; } } &.open .arrow { &::before { content: '\f102'; } } } input { padding: 0 5px 0; } button.button { border-radius: 9px; border: 2px solid; padding: 5px; } .error-message { position: absolute; z-index: 100; top: -125%; left: 25%; white-space: nowrap; border-radius: 6px; padding: 5px; font-weight: 400; line-height: 1; background: @fluid-form-color-invalid; border: @fluid-form-color-invalid-dark; color: @fluid-form-color-invalid-text; } } }