$dropzone--background: $textbox--background; $dropzone--foreground: $textbox--foreground; $dropzone--foreground--dragging: $blue; $dropzone--border: $textbox--border; $dropzone--border--hover: darken($dropzone--border, 20%); $dropzone--border--dragging: $blue; $dropzone--browse--foreground: $blue; $dropzone--icon--fill: rgba($dropzone--foreground, 0.5); $dropzone--icon--fill--hover: $blue; $dropzone--icon--fill--dragging: $blue; $dropzone--file--foreground: $dropzone--foreground; $dropzone--file--icon--fill: rgba($dropzone--file--foreground, 0.5); $dropzone--file--icon--fill--hover: rgba(lighten($dropzone--file--foreground, 20%), 0.5); .dropzone { align-items: center; background: $dropzone--background; border: 1px dashed $dropzone--border; border-radius: 4px; color: $dropzone--foreground; display: flex; flex-direction: column; position: relative; text-align: center; transition: border 0.25s, color 0.25s; width: 100%; z-index: 1; &:hover { border-color: $dropzone--border--hover; .dropzone__icon { .icon { fill: $dropzone--icon--fill--hover; } } } &--is-dragging { &, &:hover { border-color: $dropzone--border--dragging; color: $dropzone--foreground--dragging; .dropzone__icon { .icon { fill: $dropzone--icon--fill--dragging; } } } } &__icon { .icon { &--files { fill: $dropzone--icon--fill; height: 64px; transition: fill 0.25s; width: 64px; &__file { &--right, &--left { fill-opacity: 0.5; } } } } } &__copy { cursor: pointer; flex: 1; font-size: 0.85em; padding: $spacing-unit; width: 100%; } &__browse-button { color: $dropzone--browse--foreground; text-decoration: underline; } &__selected-files { @extend .textbox; @extend .textbox.is-fulfilled; border-radius: 4px 4px 0 0; color: $dropzone--file--foreground; font-size: 0.8em; margin-bottom: -1px; padding: $spacing-unit * 1/2; position: relative; width: 100%; z-index: 2; & + .dropzone { border-radius: 0 0 4px 4px; } &__file { text-align: left; white-space: nowrap; .icon { display: inline-block; fill: $dropzone--file--icon--fill; height: 12px; margin-right: 4px; margin-top: -1px; transition: fill 0.25s; vertical-align: middle; width: 12px; &--close { height: 8px; margin-left: 4px; margin-right: 0; vertical-align: middle; width: 8px; } } } } &__file { display: flex; width: 100%; &__item { flex: 1 0 auto; &--icon { flex: 0 0 auto; } &--file-name { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; } &--remove-icon { cursor: pointer; } &--remove-icon { &:hover { .icon { fill: $dropzone--file--icon--fill--hover; } } } } } }