:host(:not([hidden])) {
	display: block;
}

:host {
    box-sizing: border-box;
    width: 100%;
    height:100%;
    padding: 1rem;
}

.ui5-illustrated-message-root,
.ui5-illustrated-message-inner,
.ui5-illustrated-message-text-and-actions-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: inherit;
    min-height: 0;
    flex-basis: content;
}

.ui5-illustrated-message-illustration {
    margin: 2rem 0;
}

.ui5-illustrated-message-illustration svg {
    max-height: 100%;
	max-width: 100%;
}

.ui5-illustrated-message-illustration.ui5-illustrated-message-illustration-fit-content {
    position: relative;
    width: 0;
    padding: 0;
    padding-left: 100%;
    height: 100%;
    display: flex;
    align-items: center;
}

.ui5-illustrated-message-illustration.ui5-illustrated-message-illustration-fit-content svg {
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
}

.ui5-illustrated-message-title [ui5-title],
.ui5-illustrated-message-title ::slotted([slot="title"]) {
    text-align: center;
    margin-bottom: 1rem;
	font-size: var(--sapFontHeader2Size);
	font-family: var(--sapFontHeaderFamily);
	font-weight: 700;
    max-width: 61.9375rem;
}

.ui5-illustrated-message-subtitle {
    text-align: center;
    font-size: var(--sapFontLargeSize);
    font-family: var(--sapFontFamily);
    color: var(--sapTextColor);
    margin-bottom: 0.5rem;
    max-width: 61.9375rem;
}

.ui5-illustrated-message-actions {
    margin: 1rem 0;
}

:host([media="dialog"]) .ui5-illustrated-message-illustration {
    margin: 1rem 0;
}

:host([media="dialog"]) .ui5-illustrated-message-title [ui5-title],
:host([media="dialog"]) ::slotted([slot="title"]) {
    margin-bottom: 0.5rem;
    font-size: var(--sapFontHeader3Size);
    max-width: 40.5625rem;
}

:host([media="dialog"]) .ui5-illustrated-message-subtitle {
	margin-bottom: 0.5rem;
    font-size: var(--sapFontSize);
    max-width: 40.5625rem;
}

:host([media="dialog"]) .ui5-illustrated-message-actions {
    margin-top: 0.5rem;
    margin-bottom: 1rem;
}

:host([media="spot"]) {
	padding: 0.5rem;
}

:host([media="spot"]) .ui5-illustrated-message-illustration {
    margin-bottom: 0.5rem;
    margin-top: 0;
}

:host([media="spot"]) .ui5-illustrated-message-title [ui5-title],
:host([media="spot"]) ::slotted([slot="title"]) {
    margin-bottom: 0.5rem;
    font-size: var(--sapFontHeader4Size);
    max-width: 21.5rem;
}

:host([media="spot"]) .ui5-illustrated-message-subtitle {
    font-size: var(--sapFontSize);
    max-width: 21.5rem;
    margin-bottom: 0.5rem;
}

:host([media="spot"]) .ui5-illustrated-message-actions {
    margin: 0.5rem 0;
}

:host([media="dot"]) {
	padding: 0.25rem;
	min-height: 4rem; /* needed to avoid infinite loop between "dot" and "base" when only illustration is used (no title, etc.) */
}

:host([media="dot"]) .ui5-illustrated-message-inner {
	flex-direction: row;
}

:host([media="dot"]) .ui5-illustrated-message-illustration {
	margin: 0 0.25rem 0 0;
	height: 2.8125rem;
	width: 2.8125rem;
	align-self: baseline;
}

:host([media="dot"]) .ui5-illustrated-message-title [ui5-title],
:host([media="dot"]) ::slotted([slot="title"])  {
	margin-bottom: 0.25rem;
	font-size: var(--sapFontHeader5Size);
	max-width: 12.6875rem;
}

:host([media="dot"]) .ui5-illustrated-message-subtitle {
	font-size: var(--sapFontSize);
	max-width: 12.6875rem;
	margin-bottom: 0.25rem;
}

:host([media="dot"]) .ui5-illustrated-message-actions {
	margin: 0.25rem 0;
}

:host([media="base"]) .ui5-illustrated-message-illustration {
    display: none;
}

:host([media="base"]) .ui5-illustrated-message-title [ui5-title],
:host([media="base"]) ::slotted([slot="title"]) {
    margin-bottom: 0.25rem;
    font-size: var(--sapFontHeader5Size);
    max-width: 10rem;
}

:host([media="base"]) .ui5-illustrated-message-subtitle {
    font-size: var(--sapFontSize);
    max-width: 10rem;
    margin-bottom: 0rem;
}

.ui5-illustrated-message-util {
    position: fixed;
    top: -9999px;
    left: -9999px;
}

.sapIllus_BlendModeMultiply {
    mix-blend-mode: multiply;
}

.sapIllus_MaskTypeAlpha {
	mask-type:alpha;
}

.sapIllus_BackgroundColor {
    fill: var(--sapIllus_BackgroundColor);
}

.sapIllus_BrandColorPrimary {
    fill: var(--sapIllus_BrandColorPrimary);
}

.sapIllus_BrandColorSecondary {
    fill: var(--sapIllus_BrandColorSecondary);
}

.sapIllus_StrokeDetailColor {
    fill: var(--sapIllus_StrokeDetailColor);
}

.sapIllus_Layering1 {
    fill: var(--sapIllus_Layering1);
}

.sapIllus_Layering2 {
    fill: var(--sapIllus_Layering2);
}

.sapIllus_ObjectFillColor {
    fill: var(--sapIllus_ObjectFillColor);
}

.sapIllus_AccentColor {
    fill: var(--sapIllus_AccentColor);
}

.sapIllus_NoColor {
    fill: var(--sapIllus_NoColor);
}

.sapIllus_PatternShadow {
    fill: var(--sapIllus_PatternShadow);
}

.sapIllus_PatternHighlight {
    fill: var(--sapIllus_PatternHighlight);
}

.sapIllus_NoColor_Fill {
    fill: var(--sapIllus_NoColor);
}
.sapIllus_BrandColorPrimary_Fill {
    fill: var(--sapIllus_BrandColorPrimary);
}
.sapIllus_ObjectFillColor_Fill {
    fill: var(--sapIllus_ObjectFillColor);
}
