/* =============================== */
/* CSS for control sap.m/ListBase  */
/* Base theme                      */
/* =============================== */

.sapMList {
	position: relative; /* This should not break the list but help swipe list content position calculation */
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	z-index: 0; /* create own stacking context to avoid being interfered by other absolute positioned elements */
}

.sapMListUl {
	list-style-type: none;
	padding: 0;
	margin: 0;
}

.sapMListUl:focus {
	outline: none;
}

.sapMListPreventFocus .sapMListDummyArea {
	display: none;
}

.sapMListSwp {
	overflow: hidden;
	position: absolute;
	right: 0.5em;
	z-index: 1;
	opacity: 0;
	pointer-events: auto;
	display: flex;
	align-items: center;
	margin-top: -1px;
}

.sapMListDummyArea {
	position: fixed; /* keep it in the visible viewport, so that IE does not scroll on focus */
}

.sapMListDummyAreaSticky {
	position: sticky; /* keep it in the scrollable area, so that browser does not scroll on focus */
	height: 0.1px; /* webkit needs height for the sticky elements */
	bottom: 0;
}

/* swipe animations */
@keyframes sapMListSwpInAnim {

	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@keyframes sapMListSwpOutAnim {

	0% {
		opacity: 1;
	}

	100% {
		opacity: 0;
	}
}

.sapMListSwpInAnim {
	animation: sapMListSwpInAnim 0.2s ease-in forwards;
}

.sapMListSwpOutAnim {
	animation: sapMListSwpOutAnim 0.2s ease-in forwards;
}

.sapMListNoData {
	list-style-type: none;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--sapList_TextColor);
	background-color: var(--sapList_Background);
	border-bottom: 1px solid var(--sapList_BorderColor);
	padding: 0.5rem 1rem !important;
	min-height: 3rem;
	line-height: 1.4;
}

.sapMListNoDataText {
	overflow: hidden;
	overflow: clip;
	white-space: pre-wrap;
	text-align: center;
}

.sapMListNoDataContent {
	flex: 1 1 auto;
}

.sapMListShowSeparatorsAll {
	/* class will be added for others, just a reminder */
}

.sapMListShowSeparatorsInner {
	/* class will be added for others, just a reminder */
}

.sapMListShowSeparatorsNone {
	/* class will be added for others, just a reminder */
}

/* Growing feature */

.sapMGrowingList {
	border-bottom: 1px solid @sapUiButtonActionSelectBorderColor;
}

.sapMGrowingListTrigger {
	display: block;
	text-align: center;
	overflow: hidden;
	border-top: 1px solid var(--sapList_HeaderBorderColor);
}

.sapMGrowingListDummyColumn {
	border-right: 1px solid var(--sapList_TableFooterBorder);
}

/* .sapMSLIDescription also has padding defined, hence making the style rule stronger */
.sapMGrowingListDescription.sapMSLIDescription {
	display: none;
	padding: 0.375rem 2rem 0.875rem 2rem;
	text-align: center;
}

.sapMGrowingList > .sapMCLI.sapMLIB:not(.sapMLIBActive) {
	background: @sapUiButtonActionSelectBackground;
	border-bottom: none;
}

.sapMGrowingList > .sapMCLI.sapMLIBHoverable:hover {
	background: @sapUiButtonLiteActionSelectHoverBackground;
}

.sapMGrowingListBusyIndicatorVisible .sapMGrowingListTriggerText,
.sapMGrowingListBusyIndicatorVisible .sapMGrowingListDescription {
	visibility: hidden;
}

/* mixin call for creating container content padding classes (arguments: rootContainer, contentSelector) */
.sapUiContainerContentPadding(~".sapMList");

.sapUiFioriObjectPage > section > .sapMList:not(.sapMListInsetBG) {
	margin: 1rem 0;
	padding: 0 1rem;
	box-sizing: border-box;
}

.sapUiFioriObjectPage > section > .sapMITB + .sapMList:not(.sapMListInsetBG) {
	margin-top: 1rem;
}

html.sap-phone .sapUiFioriObjectPage > section > .sapMList:not(.sapMListInsetBG) {
	padding: 0;
}

.sapUIMeTabContainerContent .sapMList {
	padding: 1rem;
	box-sizing: border-box;
}

html.sap-phone .sapUIMeTabContainerContent .sapMList {
	padding: 0;
	box-sizing: border-box;
}

.sapMListInsetBG {
	padding: 2rem;
}

.sapMListInsetBG > .sapMListSwp {
	margin-right: 2rem;
}

html.sap-phone .sapMListInsetBG {
	padding: 1rem;
}

html.sap-phone .sapMListInsetBG > .sapMListSwp {
	margin-right: 1rem;
}

.sapMListHdrText {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	box-sizing: border-box;
	font-size: var(--sapFontHeader4Size);
	font-family: var(--sapFontHeaderFamily);
	color: var(--sapGroup_TitleTextColor);
	height: 3rem;
	line-height: 3rem;
	padding: 0 1rem;
	background-color: var(--sapGroup_TitleBackground);
	border-bottom: 1px solid var(--sapGroup_TitleBorderColor);
}

.sapMListFtr {
	height: 2rem;
	box-sizing: border-box;
	-webkit-text-size-adjust: none; /* To improve readability Mobile Safari automatically increases the size of small text so let's disable this */
	font-size: @sapMFontMediumSize;
	line-height: 2rem;
	background-color: var(--sapList_FooterBackground);
	color: var(--sapList_FooterTextColor);
	padding: 0 1rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.sapMListTopBorder {
	border-top: 1px solid var(--sapList_BorderColor);
}

.sapMListShowSeparatorsNone .sapMListNoData {
	border-bottom: 0;
}

.sapUIMeTabContainerContent .sapMFeedListItem {
	display: block;
	padding: .5rem 0;
}

/* Growing feature */
.sapMGrowingListBusyIndicator {
	margin: 1.5rem 1.0rem;
	position: absolute;
}

.sapMGrowingListTriggerText {
	padding: 0 1rem;
}

.sapMGrowingListTriggerText > .sapMSLITitle {
	margin: 0.813rem 0; /* overwrites any user-agent default margin values */
	padding-bottom: 0;
	color: var(--sapButton_TextColor);
	font-weight: bold;
}

.sapMGrowingListDescription.sapMSLIDescription {
	color: var(--sapButton_TextColor);
}

/* sticky headers */
.sapMSticky > .sapMListHdr,
.sapMSticky > .sapMListInfoTBarContainer,
.sapMSticky .sapMGHLI {
	position: sticky;
}

/* sticky headerToolbar/headerText background when transparent */
.sapMSticky > .sapMListHdrText,
.sapMSticky > .sapMListHdrTBar.sapMTB-Transparent-CTX {
	background: var(--sapList_HeaderBackground);
}

.sapMSticky > .sapMListHdr,
.sapMSticky > .sapMTableOverlay,
.sapMSticky > .sapUiLocalBusyIndicator {
	z-index: 3;
}

/* .sapMSticky3 denotes that the headerToolbar/headerText and the infoToolbar are sticky */
/* .sapMSticky2 denotes that only the infoToolbar is sticky */
/* .sapMSticky1 denotes that only the headerToolbar/headerText is sticky */
/* top: 0 sticky conditions : 1st sticky elements */
.sapMSticky1 > .sapMListHdr,
.sapMSticky2 > .sapMListInfoTBarContainer,
.sapMSticky3 > .sapMListHdr {
	z-index: 2;
	top: 0;
}

/* top: 3rem sticky conditions : 2nd sticky elements*/
.sapMSticky3 > .sapMListInfoTBarContainer {
	z-index: 2;
	top: var(--sapElement_LineHeight);
}

/* handle transparent background on rounded corners to not show underlaying elements on scrolling */
._sap_m_ListBase_Rounded_HeaderToolbarMixin() {

	.sapMSticky:has(> .sapMListHdr):not(:has(> .sapMMsgStrip))::before {
		position: sticky;
		content: '';
		display: block;
		background: var(--sapGroup_ContentBackground);
		height: var(--sapElement_BorderCornerRadius);
		margin-bottom: ~"calc(var(--sapElement_BorderCornerRadius) * -1)"; /* prevent new empty space above sticky element */
		top: 0;
		z-index: 2;

		/* handle transparent background on ObjectPageSection */
		.sapUiTableOnObjectPageAdjustmentsForSection.sapUxAPObjectPageSection .sapUxAPObjectPageSectionContainer .sapUxAPObjectPageSubSection .sapUxAPBlockContainer & {
			background: transparent;
		}
	}
}

/* Compact size */
.sapUiSizeCompact .sapMListNoData {
	min-height: 2rem;
	font-size: @sapMFontMediumSize;
}

.sapUiSizeCompact .sapMGrowingListDescription {
	padding-top: 0;
}