@define-mixin flash-type $type { .flash--$(type) { border: 1px solid var(--$(type)-border-color); background: var(--$(type)-color); } .flash--$(type) .flash__message { border-left: 1px solid var(--$(type)-border-color); } .flash--$(type) a { color: var(--$(type)-link-color); } .flash--$(type) a:hover { color: var(--link-hover-color); } } .flash { display: grid; grid-template-columns: auto 1fr; margin: var(--padding-normal); margin-bottom: 0; border-radius: var(--border-radius-inner); } @mixin if-phone { .flash { margin: var(--padding-small); margin-bottom: 0; } } .flash__icon { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--padding-normal); } .flash__message { padding: var(--padding-normal); } @mixin flash-type success; @mixin flash-type warning; @mixin flash-type danger; @mixin flash-type information; @mixin flash-type special;