/* ======================================== */
/* CSS for control sap.ui.unified/Calendar  */
/* Horizon theme                            */
/* ======================================== */

@_sap_ui_unified_Calendar_ItemColor: @sapUiLegendWorkingBackground;
@_sap_ui_unified_Calendar_ItemHoverColor: @sapUiListHoverBackground;
@_sap_ui_unified_Calendar_ItemBorderColor: @sapUiListBackground;
@_sap_ui_unified_Calendar_ItemWeekEndColor: @sapUiLegendNonWorkingBackground;
@_sap_ui_unified_Calendar_ItemWeekEndHoverColor: @sapUiListHoverBackground;
@_sap_ui_unified_Calendar_ItemOtherMonthColor: @sapUiContentLabelColor;

.sapUiCal {
	border-radius: 0.5rem;
}

.sapUiCalItem,
.sapUiCalWeekNum {
	height: 2.875rem;
}

.sapUiCalWeekNum:hover {
	background-color: @sapUiListHoverBackground;
	border-radius: 0.5rem;
}

/* calendar should have only a border if on popup */
.sapUiCal[data-sap-ui-popup] {
	border-color: @sapUiContentForegroundBorderColor;
}

html[data-sap-ui-browser^="ff"].sap-desktop .sapUiCalHead > .sapUiCalHeadB:focus {
	outline-offset: 0; /* to hide firefox bug with native outline always displayed */
}

.sapUiCalItem[class*=sapUiCalItemType] {
	&.sapUiCalItemSel{
		&.sapUiCalItemNow {
			.sapUiCalItemText {
				border-radius: 0.3125rem;
				border-bottom-right-radius: 0.3125rem;
				border-bottom-left-radius: 0.3125rem;
			}
		}
	}
}

html.sap-desktop .sapUiCalHead > .sapUiCalHeadB:focus::before {
	content: "";
	position: absolute;
	box-sizing: border-box;
	left: 0.125rem;
	top: 0.125rem;
	right: 0.125rem;
	bottom: 0.125rem;
	border: 0.125rem solid @sapUiContentFocusColor;
	pointer-events: none;
	border-radius: 0.375rem;
}

.sapUiCalHeadB {
	position: relative;
}

.sapUiCalHead.sapUiCalHeaderWithTodayButton .sapUiCalHeadToday {
	position: relative;
}

html.sap-desktop .sapUiCalHead > .sapUiCalHeadB:focus:active {
	border-color: @sapUiContentContrastFocusColor;
}

.sapUiCalHead > button,
.sapUiCalCancel {
	font-family: @sapFontBoldFamily;
	color: @sapUiButtonLiteTextColor;
}

.sapUiCalSecType .sapUiCalHead > button .sapUiCalHeadBAddText {
	font-family: @sapUiFontFamily;
}

html.sap-desktop .sapUiCalHead > button:hover,
html.sap-desktop .sapUiCalCancel:hover,
html.sap-desktop .sapUiCalHead > button:focus,
html.sap-desktop .sapUiCalCancel:focus {
	color: @sapUiButtonLiteTextColor;
}

.sapUiCalWH,
.sapUiCalWeekNum {
	color: @sapUiContentLabelColor;
	font-size: @sapMFontSmallSize;
}

html[data-sap-ui-browser^="ie"].sap-desktop,
html[data-sap-ui-browser^="ed"].sap-desktop {
	.sapUiCalHead > .sapUiCalHeadB{
		position: relative;
		outline: none;
	}

	.sapUiCalHead > .sapUiCalHeadB:focus:after {
		position: absolute;
		top: 0.125rem;
		left: 0.125rem;
		right: 0.125rem;
		bottom: 0.125rem;
		border: 0.0625rem dashed @sapUiContentFocusColor;
		content: "";
	}

	.sapUiCalHead > .sapUiCalHeadB:focus:active:after {
		border-color: @sapUiContentContrastFocusColor;
	}
}

html.sap-desktop .sapUiCalHead > .sapUiCalHeadB:focus:not(:hover):not(:active) {
	background-color: transparent;
}

.sapUiCalHead > .sapUiCalHeadB,
.sapUiCalCancel,
html.sap-desktop .sapUiCalHead > .sapUiCalHeadB:hover,
html.sap-desktop .sapUiCalHead > .sapUiCalHeadB:focus,
.sapUiCalHead .sapUiCalHeadPrev,
.sapUiCalHead .sapUiCalHeadNext,
.sapUiCalHead .sapUiCalHeadToday {
	border-radius: 0.5rem;

}

.sapUiCalHead .sapUiCalHeadPrev:hover,
.sapUiCalHead .sapUiCalHeadNext:hover,
html.sap-desktop .sapUiCalHead > .sapUiCalHeadB:hover {
	box-shadow: 0 0 0.125rem 0 fade(@sapContent_ShadowColor, 72);
}

html.sap-desktop .sapUiCalHead > .sapUiCalHeadB:active {
	color: @sapUiButtonActiveTextColor;
	border-color: @sapUiButtonLiteActiveBorderColor;
}

/*** days, months, years ***/
.sapUiCalWH,
.sapUiCalItem,
.sapUiCalItemSelBetween.sapUiCalItemSel {
	border: 0.0625rem solid @_sap_ui_unified_Calendar_ItemBorderColor;
}

.sapUiCalItem {
	background-color: @sapUiLegendWorkingBackground;
	border-radius: 0.5rem;
}

.sapUiCalRowWeekNumber {
	color: @sapUiBaseText;
	background-color: @sapUiListBackground;
	border-color: @sapUiListBorderColor;
	border-radius: 0.5rem;
}

.sapUiCalItemNow {
	color: @sapUiBaseText;
}

/* make outline for days on number to prevent it around week number */
/* hide outline for all devices, but enable later for desktop */
.sapUiCalItem:focus {
	outline: none;
	overflow: hidden;
}

html.sap-desktop .sapUiCalItem:not(.sapUiCalItemSel):not(.sapUiCalItemWeekEnd):focus {
	background-color: @sapUiLegendWorkingBackground;
}

html.sap-desktop .sapUiCalItem.sapUiCalItemNow:not(.sapUiCalItemSelBetween):not(.sapUiCalItemSelStart):not(.sapUiCalItemSelEnd):focus > .sapUiCalItemText{
	outline-offset: -0.45rem;
}

html.sap-desktop .sapUiCalMonthPicker .sapUiCalItem:focus,
html.sap-desktop .sapUiCalYearPicker .sapUiCalItem:focus {
	border: 0.125rem solid @sapUiContentFocusColor;
}

html.sap-desktop .sapUiCalItemSel:not(.sapUiCalItemNow):not(.sapUiCalItemSelBetween):focus > .sapUiCalItemText {
	color: @sapUiContentSelectedTextColor;
}

html.sap-desktop .sapUiCalMonthPicker .sapUiCalItemSel:focus,
html.sap-desktop .sapUiCalYearPicker .sapUiCalItemSel:focus {
	outline-color: @sapUiContentSelectedTextColor;
	background-color: @sapUiContentSelectedBackground;
	color: @sapUiContentSelectedTextColor;
}

html.sap-desktop .sapUiSizeCompact .sapUiCalItemSel:not(.sapUiCalItemNow):not(.sapUiCalItemSelBetween):focus > .sapUiCalDayName {
	outline-color: @sapUiContentContrastFocusColor;
}

html[data-sap-ui-browser^="ie"].sap-desktop,
html[data-sap-ui-browser^="ed"].sap-desktop {
	// do this only for the Planing Calendar
	.sapMPlanCal :not(.sapUiCalFirstWDay).sapUiCalItem:focus {
		overflow: hidden;
	}

	.sapUiCalItem:focus > .sapUiCalItemText,
	.sapUiCalMonthPicker .sapUiCalItem:focus,
	.sapUiCalYearPicker .sapUiCalItem:focus {
		position: relative;
		outline: none;
	}

	.sapUiCalItem:focus > .sapUiCalItemText:after,
	.sapUiCalMonthPicker .sapUiCalItem:focus:after,
	.sapUiCalYearPicker .sapUiCalItem:focus:after {
		position: absolute;
		top: 0.125rem;
		left: 0.125rem;
		right: 0.125rem;
		bottom: 0.125rem;
		border: 0.0625rem dashed @sapUiContentFocusColor;
		content: "";
	}

	.sapUiCalItemSel:not(.sapUiCalItemNow):not(.sapUiCalItemSelBetween):focus > .sapUiCalItemText:after,
	.sapUiCalMonthPicker .sapUiCalItemSel:focus:after,
	.sapUiCalYearPicker .sapUiCalItemSel:focus:after {
		border-color: @sapUiContentContrastFocusColor;
	}
	.sapUiCalItemSel.sapUiCalItem:focus > .sapUiCalItemText {
		position: static;
	}

	.sapUiCalItem.sapUiCalItemNow:focus > .sapUiCalItemText:after {
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
	}
}

.sapUiCalItemWeekEnd,
html.sap-desktop .sapUiCalItemWeekEnd:not(.sapUiCalItemSel):focus {
	background-color: @sapUiLegendNonWorkingBackground;
}

.sapUiCalItem:hover,
.sapUiCalItemWeekEnd:hover {
	background-color: @sapUiListHoverBackground;
}

.sapUiCalItemWeekEnd:hover {
	filter: brightness (105%);
}

html.sap-desktop .sapUiCalDatesRow .sapUiCalItemWeekEnd:not(.sapUiCalItemSel):hover,
html.sap-desktop .sapUiCal:not(.sapUiCalDateInt) .sapUiCalItemWeekEnd:not(.sapUiCalItemSel) :not(.sapUiCalWeekNum):hover {
	background-color: @sapUiListHoverBackground;
	border-radius: 0.5rem;
}

html.sap-desktop .sapUiCalDatesRow .sapUiCalItemWeekEnd:not(.sapUiCalItemSel):hover {
	color: inherit;
}

html.sap-desktop .sapUiCalRow .sapUiCalItemSel:not(.sapUiCalItemNow):not(.sapUiCalItemSelBetween):focus > .sapUiCalItemText {
	border-top-left-radius: 0.25rem;
	border-bottom-left-radius: 0.25rem;
}

.sapUiCalItemNow:not(.sapUiCalItemSel):not(.sapUiCalItemSelBetween) > .sapUiCalItemText {
	box-shadow: inset 0.125rem -0.125rem 0 0 @_sap_ui_unified_Calendar_ItemBorderColor, inset -0.125rem 0.125rem 0 0 @_sap_ui_unified_Calendar_ItemBorderColor;
}

html.sap-desktop .sapUiCalItemSel:not(.sapUiCalItemNow):not(.sapUiCalItemSelBetween):focus > .sapUiCalDayName {
	border-top-left-radius: 0.25rem;
	border-bottom-left-radius: 0.25rem;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.sapUiSizeCompact .sapUiCalItem:not(.sapUiCalItemNow) {
	&.sapUiCalItemSelBetween .sapUiCalItemText {
		position: static;
	}
}
.sapUiSizeCompact .sapUiCalMonthSecType .sapUiCalItem {
	&.sapUiCalItemSelBetween .sapUiCalItemText {
		position: relative;
		line-height: 1rem;
	}
}

.sapUiSizeCompact .sapUiCalHead {
	height: 2.25rem;
}

.sapUiCalItem {
	position: relative;
	&:focus > .sapUiCalItemText {
		position: static;
		outline: none;
		&:after {
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			content: "";
			border-radius: 0.5rem;
		}
	}
	&.sapUiCalItemSelBetween {
		.sapUiCalItemText {
			position: relative;
		}
		&:not(.sapUiCalItemNow) {
			.sapUiCalItemText:after {
				position: absolute;
				top: 0;
				left: 0;
				right: 0;
				bottom: 0;
				border: 0.0625rem solid @sapUiListSelectionBorderColor;
				content: "";
				border-radius: 0.5rem;
			}
		}
	}

	&.sapUiCalItemNow {
		border-radius: 0.5rem;
		&:hover {
			background: @sapUiListHoverBackground;
		}
		&.sapUiCalItemSel:not(.sapUiCalItemSelBetween),
		&.sapUiCalItemSelStart:not(.sapUiCalItemSelBetween),
		&.sapUiCalItemSelEnd:not(.sapUiCalItemSelBetween) {

			.sapUiCalItemText:after {
				position: absolute;
				top: 0.3125rem;
				left: 0.3125rem;
				right: 0.3125rem;
				bottom: 0.3125rem;
				border: 0.0625rem solid @sapList_SelectionBorderColor;
				content: "";
				border-radius: 0.1875rem;
			}
		}
		&.sapUiCalItemSel:not(:focus) {
			.sapUiCalSpecialDate {
				width: 76%;
				left: 0.25rem;
				right: 0.25rem;
				bottom: 0.2rem;
			}
		}
		&.sapUiCalItemSelBetween {
			line-height: normal;
			& > .sapUiCalItemText {
				border: 0.0625rem solid @sapUiListSelectionBorderColor;
				border-radius: 0.3125rem;
				margin: 0.125rem;
				width: 2.0625rem;
				height: 2.375rem;
				line-height: 2.375rem;
			}
			& > .sapUiCalSpecialDate {
				width: 76%;
				left: 0.2rem;
				bottom: 0.2rem;
			}
		}
		&:not(.sapUiCalItemSelBetween):not(.sapUiCalItemSel) {
			&:focus {
				& > .sapUiCalSpecialDate {
					width: 63%;
					left: 0.3125rem;
					bottom: 0.3125rem;
				}
			}
		}
		.sapUiCalSpecialDate {
			width: 88%;
			bottom: 0.125rem;
			left: 0.125rem;
		}
		&:focus:not(.sapUiCalItemNow) .sapUiCalSpecialDate,
		&.sapUiCalItemSel .sapUiCalSpecialDate {
			bottom: 0.375rem;
			width: 60%;
			left: 0.3755rem;
			right: 0.25rem;
		}

		&:focus .sapUiCalSpecialDate {
			bottom: 0.45rem;
			bottom: 0.375rem;
			width: 63%;
			left: 0.375rem;
			right: 0.375rem;
			height: 0.25rem;
			height: 0.3125rem;
		}

		.sapUiCalItemText {
			border: none;
		}
		&.sapUiCalItemSel {
			box-shadow: inset 0 0 0 0.25rem @sapUiListBackground;
			&:focus:not(.sapUiCalItemSelBetween) .sapUiCalSpecialDate {
				bottom: 0.3rem;
			}

			&.sapUiCalItemSelBetween {
				&:focus .sapUiCalSpecialDate {
					bottom: 0.3125rem;
				}
			}
			&.sapUiCalItemSelBetween:focus > .sapUiCalItemText:after {
				top: 0;
				left: 0;
				right: 0;
				bottom: 0;
				border-radius: 0.3125rem;
			}
		}
		&:focus > .sapUiCalItemText:after {
			top: 0.1875rem;
			left: 0.1875rem;
			right: 0.1875rem;
			bottom: 0.1875rem;
			border-radius: 0.3125rem;
		}
		&:before {
			position: absolute;
			content: "";
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			border: 0.125rem solid @sapUiLegendCurrentDateTime;
			border-radius: 0.5rem;
			z-index: 1;
			pointer-events: none;
		}
	}
	.sapUiCalItemText:after {
		outline: none;
	}
	.sapUiCalSpecialDate {
		position: absolute;
		width: 100%;
		height: 0.3125rem;
		bottom: 0.025rem;
		border-bottom-left-radius: 0.25rem;
		border-bottom-right-radius: 0.25rem;
		pointer-events: none;
	}

	&.sapUiCalItemSelBetween:not(.sapUiCalItemSel):not(.sapUiCalItemNow) {
		.sapUiCalSpecialDate {
			width: 91%;
			left: 0.0625rem;
			right: 0.0625rem;
			bottom: 0.025rem;
		}
	}

	&:focus .sapUiCalSpecialDate,
	&.sapUiCalItemSel .sapUiCalSpecialDate {
		bottom: 0.025rem;
		left: 0.09375rem;
		width: 90%;
	}
	&:focus:not(.sapUiCalItemSelBetween):not(.sapUiCalItemSel) .sapUiCalSpecialDate {
		width: 93%;
		left: 0.0625rem;
		bottom: 0.0625rem;
	}

	.sapUiCalItemText {
		border-radius: 0.5rem;
	}
}

.sapUiSizeCozy {
	.sapUiCalSecType {
		.sapUiCalItem {
			&.sapUiCalItemNow {
				&:not(.sapUiCalItemSelBetween),
				&.sapUiCalItemSelBetween {
					&> .sapUiCalItemText {
						line-height: 2rem;
					}
				}
			}
		}
	}
	.sapUiCalItem {
		&:focus .sapUiCalSpecialDate,
		&.sapUiCalItemSel .sapUiCalSpecialDate {
			width: 91%;
		}

		&.sapUiCalItemSelBetween {
			&.sapUiCalItemNow {
				.sapUiCalSpecialDate {
					bottom: 0.3rem;
				}
			}
			&:not(.sapUiCalItemSel):not(.sapUiCalItemNow) {
				.sapUiCalSpecialDate {
					width: 93%;
					left: 0.0625rem;
					right: 0.0625rem;
					bottom: 0.025rem;
				}
			}
		}
		&.sapUiCalItemNow {
			&.sapUiCalItemSel {
				&:not(:focus) {
					.sapUiCalSpecialDate {
						width: 82%;
					}
				}
			}
			&.sapUiCalItemSelBetween {
				& > .sapUiCalItemText {
					border: none;
					margin: auto;
					height: 100%;
					line-height: 2.875rem;
				}
				& > .sapUiCalItemText:after {
					content: "";
					position: absolute;
					border: 0.0625rem solid @sapList_SelectionBorderColor;
					border-radius: 0.3125rem;
					margin: 0.125rem;
					line-height: 2.375rem;
					left: 0.0625rem;
					top: 0.0625rem;
					bottom: 0.0625rem;
					right: 0.0625rem;


				}
				&:focus > .sapUiCalItemText:after {
					top: 0.05rem;
					left: 0.05rem;
					right: 0.05rem;
					bottom: 0.05rem;
				}
				&.sapUiCalItemSel {
					& > .sapUiCalItemText:after {
						top: 0.0625rem;
						left: 0.0625rem;
						right: 0.0625rem;
						bottom: 0.0625rem;
					}
					&:focus .sapUiCalSpecialDate {
						bottom: 0.375rem;
					}
				}
				& > .sapUiCalSpecialDate {
					left: 0.25rem;
					right: 0.25rem;
					bottom: 0.25rem;
					width: 76%;
				}
			}
			&.sapUiCalItemSel.sapUiCalItemSelBetween:not(:focus) {
				.sapUiCalSpecialDate {
					bottom: 0.3125rem;
					width: 63%;
					left: 0.375rem;
					right: 0.375rem;
					height: 0.3125rem;

					width: 78%;
					bottom: 0.25rem;
					left: 0.25rem;
					right: 0.25rem;
				}
			}
			&:focus {
				&:not(.sapUiCalItemSelBetween) {
					& > .sapUiCalSpecialDate {
						bottom: 0.375rem;
						width: 69%;
						left: 0.3125rem;
					}
				}
				& > .sapUiCalSpecialDate {
					bottom: 0.375rem;
					width: 66%;
					left: 0.375rem;
				}
			}
		}
		&.sapUiCalItemSel {
			&:focus {
				&.sapUiCalItemSelBetween:not(.sapUiCalItemNow) {
					& > .sapUiCalItemText:after {
						border-radius: 0.5rem;
						top: 0;
						bottom: 0;
						left: 0;
						right: 0;
					}
				}
			}
		}
	}
}

.sapUiCalItemOtherMonth {
	background-color: @sapUiListBackground;
	color: @_sap_ui_unified_Calendar_ItemOtherMonthColor;
}

.sapUiCalItemOtherMonth.sapUiCalItemDsbl {
	opacity: @sapUiContentDisabledOpacity;
}

.sapUiCalItemSel {
	color: @sapUiContentContrastTextColor;
	&:focus > .sapUiCalItemText {
		&:after {
			top: -0.01rem;
			left: 0.025rem;
			right: 0.025rem;
			bottom: 0;
			border-radius: 0.5rem;
		}
	}
}

html.sap-desktop .sapUiCalItemOtherMonth:not(.sapUiCalItemSel) :not(.sapUiCalWeekNum):hover {
	background-color: @sapUiListHoverBackground;
}

.sapUiCalItem.sapUiCalItemSel:not(.sapUiCalItemSelBetween){
	background-color: @sapUiContentSelectedBackground;
	color: @sapUiContentSelectedTextColor;
}

.sapUiCalItem.sapUiCalItemSel:not(.sapUiCalItemSelBetween):hover{
	background-color: @sapUiContentSelectedHoverBackground;
	filter: brightness(105%);
}

.sapUiCalMonthPicker,
.sapUiCalYearPicker {
	.sapUiCalItem {
		color: @sapUiButtonLiteTextColor;
	}
	.sapUiCalItem.sapUiCalItemSel {
		font-family: @sapFontBoldFamily;
	}
	.sapUiCalItem.sapUiCalItemDsbl {
		opacity: @sapUiContentDisabledOpacity;
	}
	.sapUiCalItem:focus {
		line-height: 2.75rem;
	}
}

.sapUiSizeCompact {
	.sapUiCalMonthPicker,
	.sapUiCalYearPicker {
		.sapUiCalItem:focus {
			line-height: 1.75rem;
		}
	}
}

.sapUiCalItemSel:not(.sapUiCalItemSelBetween) > .sapUiCalItemText {
	color: @sapUiContentSelectedTextColor;
	font-weight: bold;
	position: absolute;
	left: 0;
}

.sapUiCalItemSel.sapUiCalItemNow:not(.sapUiCalItemSelBetween) > .sapUiCalItemText {
	top: 0;
}

.sapUiCalItemSel {
	color: @sapContent_Selected_TextColor;
}

.sapUiCalItem:focus:not(.sapUiCalItemSelBetween){
	&:not(.sapUiCalItemSel) {
		.sapUiCalSpecialDate {
			width: 100%;
			left: 0;
			bottom: 0.025rem;;
		}
	}
	& :not(.sapUiCalItemNow) .sapUiCalItemText:after {
		content: "";
		position: absolute;
		top: 0.3125rem;
		left: 0.3125rem;
		right: 0.3125rem;
		bottom: 0.3125rem;
		border: 0.125rem solid @sapList_SelectionBorderColor;
		border-radius: 0.1875rem;
	}
}
.sapUiCalItem:focus {
	&:not(.sapUiCalItemNow):not(.sapUiCalItemSel) .sapUiCalItemText:after {
		position: absolute;
		content: "";
		top: 0.3125rem;
		left: 0.3125rem;
		right: 0.3125rem;
		bottom: 0.3125rem;
		border: 0.125rem solid @sapList_SelectionBorderColor;
		border-radius: 0.1875rem;
	}
	&.sapUiCalItemNow,
	&.sapUiCalItemSel,
	&.sapUiCalItemSelStart,
	&.sapUiCalItemSelEnd {
		.sapUiCalItemText:before {
			content: "";
			position: absolute;
			top: 0.3125rem;
			left: 0.3125rem;
			right: 0.3125rem;
			bottom: 0.3125rem;
			border: 0.125rem solid @sapList_SelectionBorderColor;
			border-radius: 0.1875rem;
		}

	}
	&.sapUiCalItemNow {
		&.sapUiCalItemSelStart,
		&.sapUiCalItemSelEnd {
			.sapUiCalItemText:after {
				position: absolute;
				content: "";
				top: 0.3125rem;
				left: 0.3125rem;
				right: 0.3125rem;
				bottom: 0.3125rem;
				border: 0.0625rem solid @sapList_SelectionBorderColor;
				border-radius: 0.1875rem;
			}
		}
	}
}
.sapUiCalMonthSecType {
	.sapUiCalItem {
		&:focus {
			&.sapUiCalItemSel:not(.sapUiCalItemNow),
			&.sapUiCalItemSelStart:not(.sapUiCalItemNow),
			&.sapUiCalItemSelEnd:not(.sapUiCalItemNow) {
				.sapUiCalItemText:before {
					border: none;
				}
			}
			&.sapUiCalItemSel {
				.sapUiCalItemText:after {
					border: 0.125rem solid @sapUiContentFocusColor;
					border-width: 0.1875rem;
				}
				.sapUiCalItemText:before {
					border: none;
				}
			}
			&:not(.sapUiCalItemNow):not(.sapUiCalItemSel) {
				.sapUiCalItemText:after {
					top: 0;
					bottom: 0;
					left: 0;
					right: 0;
					border-radius: 0.5rem;
				}
			}
			&.sapUiCalItemNow:not(.sapUiCalItemSelBetween),
			&.sapUiCalItemNow{
				.sapUiCalSpecialDate {
					width: 75%;
					left: 0.25rem;
					right: 0.25rem;
					bottom: 0.25rem;
				}
			}
		}
		&.sapUiCalItemNow {
			&:not(.sapUiCalItemSelBetween),
			&.sapUiCalItemSelBetween,
			&.sapUiCalItemNow {
				&> .sapUiCalItemText {
					line-height: 2.125rem;
				}
			}
		}
	}

	.sapUiCalItemSelStart:not(.sapUiCalItemNow),
	.sapUiCalItemSelEnd:not(.sapUiCalItemNow),
	.sapUiCalItemSelBetween:focus:not(.sapUiCalItemNow),
	.sapUiCalItemSelBetween.sapUiCalItemOtherMonth:not(.sapUiCalItemNow) {
		.sapUiCalItemText:after {
			border-width: 0.125rem;
		}
	}
}

.sapUiCalItem.sapUiCalItemSel.sapUiCalItemNow:not(.sapUiCalItemSelBetween) > .sapUiCalItemText:after {
	top: 0.1875rem;
	left: 0.1875rem;
	right: 0.1875rem;
	bottom: 0.1875rem;
	border-radius: 0.3125rem;
}

.sapUiSizeCompact {
	.sapUiCalItem.sapUiCalItemSel.sapUiCalItemNow.sapUiCalItemSelBetween:focus .sapUiCalItemText:before {
		top: 0.0625rem;
		left: 0.0625rem;
		right: 0.0625rem;
		bottom: 0.0625rem;
	}
	.sapUiCalItem {
		&.sapUiCalItemSel.sapUiCalItemNow.sapUiCalItemSelBetween {
			&:focus > .sapUiCalItemText {
				&:before {
					border-radius: 0.25rem;
					border-width: 0.125rem;
				}
			}
		}
	}

}

.sapUiCalNoNameLine .sapUiCalItem.sapUiCalItemSel:not(.sapUiCalItemSelBetween) > .sapUiCalDayName {
	color: @sapUiContentSelectedTextColor
}

.sapUiCalItemSel.sapUiCalItemOtherMonth {
	background-color: @sapUiSelected;
}

//Add a rule for the edgeCase selected?
.sapUiCalItemSel:not(.sapUiCalItemNow),
.sapUiCalItemSelStart:not(.sapUiCalItemNow),
.sapUiCalItemSelEnd:not(.sapUiCalItemNow),
.sapUiCalItemSelBetween:not(.sapUiCalItemNow),
.sapUiCalItemSelBetween.sapUiCalItemOtherMonth:not(.sapUiCalItemNow) {
	background-color: @sapUiListSelectionBackgroundColor;
	color: @sapTextColor;

	.sapUiCalItemText:after {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		border: 0.0625rem solid @sapUiListSelectionBorderColor;
		content: "";
		border-radius: 0.5rem;
	}
}

.sapUiCalItemSel,
html.sap-desktop .sapUiCalItemSel:hover,
html.sap-desktop .sapUiCalItemSel:focus {
	border-radius: 0.5rem;
}

html[data-sap-ui-browser^="ie"].sap-desktop .sapUiCalMonthPicker .sapUiCalItemSel:focus,
html[data-sap-ui-browser^="ie"].sap-desktop .sapUiCalYearPicker .sapUiCalItemSel:focus {
	/* as IE don't support outline-offset */
	border-color: @sapUiContentContrastFocusColor;
}

html.sap-desktop .sapUiCalItemSelBetween:hover {
	background-color: @sapUiListSelectionHoverBackground;
}

html.sap-desktop .sapUiCalItemSelBetween:focus:not(:hover){
	background-color: @sapUiListSelectionBackgroundColor;
}

.sapUiCalItemSel.sapUiCalItemNow:not(.sapUiCalItemSelBetween) > .sapUiCalItemText {
	border-radius: 0.5rem;
}

.sapUiCalItemNow.sapUiCalItemSelBetween{
	color: @sapUiBaseText;
}

.sapUiCalContentOver{
	bottom: 0.5rem;
}

/* Day names inside day */
.sapUiCalItemNow > .sapUiCalItemText > .sapUiCalItemTextAmPm{
	line-height: 2.5rem;
}

/* 2 calendar types */
.sapUiCalMonthSecType .sapUiCalItem.sapUiCalItemNow:not(.sapUiCalItemSelBetween)  > .sapUiCalItemText{
	line-height: 1.875rem;
}

.sapUiCalItemNow:not(.sapUiCalItemSelBetween) > .sapUiCalItemText {
	line-height: 2.9rem;
}

.sapUiCalMonthSecType .sapUiCalItem.sapUiCalItemSel:not(.sapUiCalItemSelBetween) > .sapUiCalItemSecText {
	color: @sapUiContentSelectedTextColor;
}

.sapUiCalNoNameLine .sapUiCalItem > .sapUiCalItemText {
	padding-top: 0.75rem;
}

/*** compact mode (desktop size) ***/

.sapUiSizeCompact .sapUiCalItemNow:not(.sapUiCalItemSelBetween) > .sapUiCalItemText {
	line-height: 1.95rem;
}

.sapUiCalHead > button {
	height: 2.25rem;
}

.sapUiSizeCompact {
	.sapUiCalContentOver{
		bottom: 0.25rem;
	}
	/* Day names inside day */
	.sapUiCalItemNow > .sapUiCalItemText > .sapUiCalItemTextAmPm {
		line-height: 1.5rem;
	}
	.sapUiCalItemSelBetween .sapUiCalItemText,
	.sapUiCalItemSel.sapUiCalItemSelBetween:not(.sapUiCalItemNow) > .sapUiCalItemText {
		line-height: 1.75rem;
	}
	.sapUiCalMonthSecType .sapUiCalItemSel.sapUiCalItemSelBetween .sapUiCalItemText,
	.sapUiCalMonthSecType .sapUiCalItemSel.sapUiCalItemSelBetween:not(.sapUiCalItemNow) > .sapUiCalItemText {
		line-height: 1rem;
	}
	.sapUiCalMonthSecType .sapUiCalItem.sapUiCalItemNow.sapUiCalItemSel > .sapUiCalItemText {
		line-height: 1.25rem;
	}
	.sapUiCalMonthSecType .sapUiCalItem.sapUiCalItemNow  > .sapUiCalItemText{
		line-height: 1.25rem;
	}
	.sapUiCalHead > button {
		margin: 0.1875rem 0;
		height: 2rem;
		.sapUiIcon {
			line-height: 2rem;
		}
	}
	.sapUiCalItem.sapUiCalItemNow.sapUiCalItemSelBetween > .sapUiCalItemText {
		width: 1.5rem;
		height: 1.5rem;
		top: 0.0625rem;
		line-height: 1.4375rem;
	}

	.sapUiCalMonthSecType {
		.sapUiCalItem.sapUiCalItemNow.sapUiCalItemSelBetween {
			& > .sapUiCalItemText {
				line-height: 0.75rem;
			}
			&:focus {
				& > .sapUiCalItemText  {
					&:before {
						border: none;
					}
					border: none;
				}
			}
		}
	}
}

@media only screen
and (orientation: portrait)
and (min-height: 380px) {
	.sap-phone .sapUiCal[data-sap-ui-popup] > .sapUiCalCancel {
		bottom: 1rem;
		left: 25%;
		width: 50%;
		padding-left: 1rem;
		padding-right: 1rem;
	}
}

.sapUiCalendarLandscape() {
	.sap-phone .sapUiCal[data-sap-ui-popup]{
		overflow: auto;
	}

	.sap-phone .sapUiCal[data-sap-ui-popup] > .sapUiCalHead {
		height: 1.875rem;
		padding-right: 5rem;
		box-sizing: border-box;
	}

	.sap-phone .sapUiCal[data-sap-ui-popup].sapUiCalSecType > .sapUiCalHead {
		height: 2.875rem;
	}

	.sap-phone .sapUiCal[data-sap-ui-popup] > .sapUiCalContent {
		position: absolute;
		top: 2.875rem;
		left: 0.5rem;
		right: 0.5rem;
		bottom: 1rem;
	}

	.sap-phone .sapUiCal[data-sap-ui-popup].sapUiCalSecType > .sapUiCalContent {
		top: 3.875rem;
	}

	.sap-phone .sapUiCal[data-sap-ui-popup] .sapUiCalWH {
		height: 1.25rem;
		line-height: 1.25rem;
	}

	.sap-phone .sapUiCal[data-sap-ui-popup] .sapUiCalHead > button {
		height: 100%;
	}

	.sap-phone .sapUiCal[data-sap-ui-popup] .sapUiCalHeadPrev,
	.sap-phone .sapUiCal[data-sap-ui-popup] .sapUiCalHeadNext {
		padding-bottom: 0.5rem;
		box-sizing: border-box;
	}

	.sap-phone .sapUiCal[data-sap-ui-popup] .sapUiCalHeadNext {
		right: 5.5rem;
	}

	.sap-phone .sapUiCal[data-sap-ui-popup] .sapUiCalContent {
		.sapUiCalDatesRow,
		.sapUiCalMonthView {
			position: absolute;
			top: 0.25rem;
			left: 0;
			right: 0;
			bottom: 0;
			width: auto;
			margin: 1rem;
			min-height: 11.25rem;
		}
	}

	.sap-phone .sapUiCal[data-sap-ui-popup] > .sapUiCalContent > .sapUiCalMonthPicker,
	.sap-phone .sapUiCal[data-sap-ui-popup] > .sapUiCalContent > .sapUiCalYearPicker {
		padding: 1.25rem 0.5rem 0 0.5rem;
		min-height: 11.25rem;
	}

	.sap-phone .sapUiCal[data-sap-ui-popup] {
		.sapUiCalDatesRow > div[role=row] > div,
		.sapUiCalMonthView > div[role=row] > div {
			height: 16.66%;
			min-height: 1.875rem;
		}
	}

	.sap-phone .sapUiCal[data-sap-ui-popup] .sapUiCalItem {
		height: 100%;
	}

	.sap-phone .sapUiCal[data-sap-ui-popup] .sapUiCalItem,
	.sap-phone .sapUiCal[data-sap-ui-popup] .sapUiCalWeekNum {
		line-height: 2.1875rem;
	}

	.sap-phone .sapUiCal[data-sap-ui-popup] .sapUiCalItemNow > .sapUiCalItemText {
		line-height: 1.9375rem;
	}

	.sap-phone .sapUiCal[data-sap-ui-popup] .sapUiCalWeekNum {
		height: 100%;
	}

	.sap-phone .sapUiCal[data-sap-ui-popup] > .sapUiCalCancel {
		top: 1rem;
		right: 1rem;
		width: 5rem;
		height: 1.875rem;
		padding-top: 0.25rem;
		padding-bottom: 0.5rem;
		box-sizing: border-box;
	}

	.sap-phone .sapUiCal[data-sap-ui-popup].sapUiCalSecType  > .sapUiCalCancel {
		top: 1.5rem;
		padding-top: 0.5rem;
	}
}

@media only screen
and (min-width : 320px)
and (max-height: 379px) {
	.sapUiCalendarLandscape();
}

@media only screen
and (min-width : 320px)
and (min-height: 380px)
and (orientation: landscape) {
	.sapUiCalendarLandscape();
}

/* colors for special days */
.dayColorMixIn(@class, @color){
	.@{class} > .sapUiCalSpecialDate {
		background-color: @color;
		border-bottom-left-radius: 0.5rem;
		border-bottom-right-radius: 0.5rem;
	}
	.@{class}.sapUiCalItemNow > .sapUiCalSpecialDate {
		box-sizing: border-box;
		height: 0.3125rem;
		border-bottom-left-radius: (@sapUiElementBorderCornerRadius / 2);
		border-bottom-right-radius: (@sapUiElementBorderCornerRadius / 2);
	}
	.@{class}.sapUiCalItemSel.sapUiCalItemNow .sapUiCalItemText {
		border-top-left-radius: (@sapUiElementBorderCornerRadius / 2);
		border-top-right-radius: (@sapUiElementBorderCornerRadius / 2);
	}
	html.sap-desktop .sapUiCal:not(.sapUiCalDateInt) .sapUiCalItem:not(.sapUiCalItemSel) {
		&.@{class} > .sapUiCalSpecialDate:hover {
			background-color: @color;
			border-bottom-right-radius: 0.25rem;
			border-bottom-left-radius: 0.25rem;
			border-top-left-radius: 0;
			border-top-right-radius: 0;
		}
		&.@{class}.sapUiCalItemNow > .sapUiCalSpecialDate:hover {
			border-bottom-right-radius: 0.125rem;
			border-bottom-left-radius: 0.125rem;
		}
	}
}

.sapUiCalTwoMonthsTwoColumnsJaZh {
	.sapUiCalHead > button.sapUiCalHeadB2 {
		margin-left: calc(~"25% - 6rem");
	}
}

.sapUiCalTwoMonthsTwoColumns {
	.sapUiCalHead > button.sapUiCalHeadB1 {
		margin-left: calc(~"25% - 6rem");
	}
}

.dayColorMixIn(sapUiCalItemType01, @_sap_ui_unified_Calendar_sapUiCalItemType01);
.dayColorMixIn(sapUiCalItemType02, @_sap_ui_unified_Calendar_sapUiCalItemType02);
.dayColorMixIn(sapUiCalItemType03, @_sap_ui_unified_Calendar_sapUiCalItemType03);
.dayColorMixIn(sapUiCalItemType04, @_sap_ui_unified_Calendar_sapUiCalItemType04);
.dayColorMixIn(sapUiCalItemType05, @_sap_ui_unified_Calendar_sapUiCalItemType05);
.dayColorMixIn(sapUiCalItemType06, @_sap_ui_unified_Calendar_sapUiCalItemType06);
.dayColorMixIn(sapUiCalItemType07, @_sap_ui_unified_Calendar_sapUiCalItemType07);
.dayColorMixIn(sapUiCalItemType08, @_sap_ui_unified_Calendar_sapUiCalItemType08);
.dayColorMixIn(sapUiCalItemType09, @_sap_ui_unified_Calendar_sapUiCalItemType09);
.dayColorMixIn(sapUiCalItemType10, @_sap_ui_unified_Calendar_sapUiCalItemType10);
.dayColorMixIn(sapUiCalItemType11, @_sap_ui_unified_Calendar_sapUiCalItemType11);
.dayColorMixIn(sapUiCalItemType12, @_sap_ui_unified_Calendar_sapUiCalItemType12);
.dayColorMixIn(sapUiCalItemType13, @_sap_ui_unified_Calendar_sapUiCalItemType13);
.dayColorMixIn(sapUiCalItemType14, @_sap_ui_unified_Calendar_sapUiCalItemType14);
.dayColorMixIn(sapUiCalItemType15, @_sap_ui_unified_Calendar_sapUiCalItemType15);
.dayColorMixIn(sapUiCalItemType16, @_sap_ui_unified_Calendar_sapUiCalItemType16);
.dayColorMixIn(sapUiCalItemType17, @_sap_ui_unified_Calendar_sapUiCalItemType17);
.dayColorMixIn(sapUiCalItemType18, @_sap_ui_unified_Calendar_sapUiCalItemType18);
.dayColorMixIn(sapUiCalItemType19, @_sap_ui_unified_Calendar_sapUiCalItemType19);
.dayColorMixIn(sapUiCalItemType20, @_sap_ui_unified_Calendar_sapUiCalItemType20);