:host { --icon-border: 0; --app-icon-shadow-blend-color: color-mix( in srgb, var(--app-icon--shadow-background-color, var(--pf-global--BackgroundColor--150)) 100%, black 100% ); display: flex; place-content: center; height: calc(var(--icon-height) + var(--icon-border) + var(--icon-border)); width: calc(var(--icon-height) + var(--icon-border) + var(--icon-border)); } .icon-wrapper { display: contents; } :host([size="pf-m-lg"]) { --icon-height: 4rem; --icon-border: 0.25rem; } :host([size="pf-m-md"]) { --icon-height: 2rem; --icon-border: 0.125rem; } :host([size="pf-m-sm"]) { --icon-height: 1rem; --icon-border: 0.125rem; } :host([size="pf-m-xl"]) { --icon-height: 6rem; --icon-border: 0.25rem; } .icon { font-size: var(--icon-font-size, var(--icon-height)); padding: var(--icon-border); max-height: calc(var(--icon-height) + var(--icon-border) + var(--icon-border)); line-height: 1; filter: drop-shadow(-0.5px 0px 0px var(--app-icon-shadow-blend-color)); max-height: calc(var(--icon-height) + var(--icon-border) + var(--icon-border)); }