@import '_mixins'; @import '_vars'; // // Support for Angular validation states. // .ng-invalid { &.ng-dirty { & { border-color: $color-theme-error; } &:hover, &:focus { border-color: $color-theme-error-dark; } } } // // Error tooltip. // .errors { // Container where the tooltip is placed. &-container { position: relative; } // Small triangle under the error tooltip with the border trick. &::after { @include absolute(auto, auto, -.7rem, .625rem); content: ''; height: 0; border-style: solid; border-width: .4rem; border-color: $color-theme-error transparent transparent; width: 0; } // The tooltip rectangle itself. & { @include absolute(auto, auto, .4rem, 0); @include border-radius(2px); color: $color-dark-foreground; cursor: none; display: inline-block; font-size: .9rem; font-weight: normal; line-height: 1.1rem; padding: .3rem .4rem; padding-bottom: .5rem; background: $color-theme-error; } } // // Align labels to the right. // .col-form-label, .col-form-checkbox-label { text-align: right; } // // Form alerts. // .form-alert { & { @include border-radius(4px); color: $color-dark-foreground; margin-top: .25rem; margin-bottom: .8rem; font-size: .9rem; font-weight: normal; padding: .5rem; } &-error { background: $color-theme-error; } &-success { background: $color-theme-green-dark; } ul { margin: 0; } } // // Control Dropdown item // .control-dropdown { & { @include absolute(2px, auto, auto, 0); @include border-radius(.25em); @include box-shadow; max-height: 15rem; border: 1px solid $color-input-border; background: $color-dark-foreground; padding: .3rem 0; overflow-y: auto; } &-item { padding: .5rem .75rem; } &-item-selectable { & { cursor: pointer; } &.active, &:hover { color: $color-dark-foreground; border: 0; background: $color-theme-blue; } } } // // Form group error. // .form-group { // Remove the margin after the last form group. &:last-child { margin-bottom: 0; } // Remove the margin if the next element is hidden. &~.hidden { margin-bottom: 0; } } // // Custom search form. // .search-form { & { @include flex-grow(1); position: relative; } // Keep some additional space for the search icon. .form-control { padding-right: 3rem; } // Search icon that is placed within the form control. .icon-search { @include absolute(.7rem, .7rem, auto, auto); color: $color-dark2-focus-foreground; font-size: 1.1rem; font-weight: lighter; } } // Dark form control for the dark panel. .form-control-dark { & { @include transition(background-color .3s ease); @include placeholder-color($color-dark2-placeholder); background: $color-dark2-control; border: 1px solid $color-dark2-control; color: darken($color-dark-foreground, 20%); } &:focus { background: lighten($color-dark2-control, 2%); border-color: lighten($color-dark2-control, 2%); color: $color-dark2-focus-foreground; } }