/* ========================================== */
/* CSS for control sap.ui.layout/BlockLayout  */
/* Belize theme                               */
/* ========================================== */

/* ============ Custom Cell Background Color ============== */
@_sap_ui_layout_BlockLayout_BlockColorAccentType1A: darken(@sapUiAccent1,14);
@_sap_ui_layout_BlockLayout_BlockColorAccentType1B: darken(@sapUiAccent1,18);
@_sap_ui_layout_BlockLayout_BlockColorAccentType1C: darken(@sapUiAccent1,22);
@_sap_ui_layout_BlockLayout_BlockColorAccentType1D: darken(@sapUiAccent1,26);

@_sap_ui_layout_BlockLayout_BlockColorAccentType2A: darken(@sapUiAccent2,12);
@_sap_ui_layout_BlockLayout_BlockColorAccentType2B: darken(@sapUiAccent2,16);
@_sap_ui_layout_BlockLayout_BlockColorAccentType2C: darken(@sapUiAccent2,20);
@_sap_ui_layout_BlockLayout_BlockColorAccentType2D: darken(@sapUiAccent2,24);

@_sap_ui_layout_BlockLayout_BlockColorAccentType3A: darken(@sapUiAccent3,14);
@_sap_ui_layout_BlockLayout_BlockColorAccentType3B: darken(@sapUiAccent3,18);
@_sap_ui_layout_BlockLayout_BlockColorAccentType3C: darken(@sapUiAccent3,22);
@_sap_ui_layout_BlockLayout_BlockColorAccentType3D: darken(@sapUiAccent3,26);

@_sap_ui_layout_BlockLayout_BlockColorAccentType4A: darken(@sapUiAccent4,5);
@_sap_ui_layout_BlockLayout_BlockColorAccentType4B: darken(@sapUiAccent4,10);
@_sap_ui_layout_BlockLayout_BlockColorAccentType4C: darken(@sapUiAccent4,15);
@_sap_ui_layout_BlockLayout_BlockColorAccentType4D: darken(@sapUiAccent4,20);

@_sap_ui_layout_BlockLayout_BlockColorAccentType5A: darken(@sapUiAccent5,8);
@_sap_ui_layout_BlockLayout_BlockColorAccentType5B: darken(@sapUiAccent5,13);
@_sap_ui_layout_BlockLayout_BlockColorAccentType5C: darken(@sapUiAccent5,16);
@_sap_ui_layout_BlockLayout_BlockColorAccentType5D: darken(@sapUiAccent5,20);

@_sap_ui_layout_BlockLayout_BlockColorAccentType6A: darken(@sapUiAccent6,6);
@_sap_ui_layout_BlockLayout_BlockColorAccentType6B: darken(@sapUiAccent6,10);
@_sap_ui_layout_BlockLayout_BlockColorAccentType6C: darken(@sapUiAccent6,14);
@_sap_ui_layout_BlockLayout_BlockColorAccentType6D: darken(@sapUiAccent6,16);

@_sap_ui_layout_BlockLayout_BlockColorAccentType7A: darken(@sapUiAccent7,5);
@_sap_ui_layout_BlockLayout_BlockColorAccentType7B: darken(@sapUiAccent7,9);
@_sap_ui_layout_BlockLayout_BlockColorAccentType7C: darken(@sapUiAccent7,12);
@_sap_ui_layout_BlockLayout_BlockColorAccentType7D: darken(@sapUiAccent7,16);

@_sap_ui_layout_BlockLayout_BlockColorAccentType8A: darken(@sapUiAccent8,8);
@_sap_ui_layout_BlockLayout_BlockColorAccentType8B: darken(@sapUiAccent8,12);
@_sap_ui_layout_BlockLayout_BlockColorAccentType8C: darken(@sapUiAccent8,16);
@_sap_ui_layout_BlockLayout_BlockColorAccentType8D: darken(@sapUiAccent8,20);

@_sap_ui_layout_BlockLayout_BlockColorAccentType9A: @sapUiGroupContentBackground;
@_sap_ui_layout_BlockLayout_BlockColorAccentType9B: darken(@sapUiGroupContentBackground,2);
@_sap_ui_layout_BlockLayout_BlockColorAccentType9C: darken(@sapUiGroupContentBackground,4);
@_sap_ui_layout_BlockLayout_BlockColorAccentType9D: darken(@sapUiGroupContentBackground,6);

@_sap_ui_layout_BlockLayout_BlockColorAccentType10A: darken(@sapUiGroupContentBackground,8);
@_sap_ui_layout_BlockLayout_BlockColorAccentType10B: darken(@sapUiGroupContentBackground,10);
@_sap_ui_layout_BlockLayout_BlockColorAccentType10C: darken(@sapUiGroupContentBackground,12);
@_sap_ui_layout_BlockLayout_BlockColorAccentType10D: darken(@sapUiGroupContentBackground,14);

@_sap_ui_layout_BlockLayout_BlockColorAccentType11A: @sapUiBaseColor;
@_sap_ui_layout_BlockLayout_BlockColorAccentType11B: darken(@sapUiBaseColor, 7);
@_sap_ui_layout_BlockLayout_BlockColorAccentType11C: darken(@sapUiBaseColor, 10);
@_sap_ui_layout_BlockLayout_BlockColorAccentType11D: darken(@sapUiBaseColor, 14);

// Create classes which would just set background color of the BlockLayout cells
.generateCellColorSets (@backgroundColorSet, @backgroundColorShade) {
	@css-param: "@{backgroundColorSet}@{backgroundColorShade}"; // Concat the params
	@css-selector: ~"sapUiBlockLayoutCellColor@{css-param}"; // Create the css selector string
	@color-param: "_sap_ui_layout_BlockLayout_BlockColorAccentType@{css-param}"; // Build the color param name

	// Build the real CSS selector.
	// The output would be something like this: .sapUiBlockLayoutCellColor1A { background-color: "#996b00"; }
	.@{css-selector} {
		background-color: @@color-param;

		.sapUiBlockCellContent {
			color: contrast(@@color-param, @sapUiBaseText, @sapUiContentContrastTextColor, @sapUiContentContrastTextThreshold);

			.sapMText,
			.sapMLabel,
			.sapUiBlockCellTitle{
				color: inherit;
			}
		}
	}
	.sapContrast.@{css-selector},
	.sapContrast .@{css-selector},
	.sapContrastPlus.@{css-selector},
	.sapContrastPlus .@{css-selector} {
		background-color: inherit; // Read from the

		.sapUiBlockCellContent {
			color: inherit;
		}
	}
}

//Define a loop and go trough 11 color sets and for each set apply 4 shades
.loop-cell-colors(@i: 1) when (@i =< 11) {
	.generateCellColorSets(@i, "A");
	.generateCellColorSets(@i, "B");
	.generateCellColorSets(@i, "C");
	.generateCellColorSets(@i, "D");

	.loop-cell-colors(@i + 1); // Execute next loop iteration
}

//Execute Loop through color sets
.loop-cell-colors(1);

/**
 * Mixin to set contrast containers for Light background
 */
.setLightContrastContainers (@evenCell, @oddCell) {
	// Match every even cell
	.sapUiBlockLayoutCell.sapContrast:nth-child(2n),
	.sapUiBlockLayoutCell.sapContrastPlus:nth-child(2n) {
		.sapUiBlockCellContent {
			background-color: @oddCell;
		}
	}

	.sapUiBlockLayoutCell.sapContrast:nth-child(2n+1),
	.sapUiBlockLayoutCell.sapContrastPlus:nth-child(2n+1) {
		.sapUiBlockCellContent {
			background-color: @evenCell;
		}
	}
}

//Link as title
.sapUiBlockCellTitle .sapMLnk {color: darken(@sapUiLink, 4);}
.sapUiBlockCellTitle .sapMLnk:visited {color: darken(@sapUiLinkVisited, 4);}
.sapUiBlockCellTitle .sapMLnk:hover:not(.sapMLnkDsbl) {color: darken(@sapUiLinkHover, 4);}
// disabled and emphasized links: we do not support this at all here.

/* ============ Background type: Light ============== */
.sapUiBlockLayoutBackgroundLight {
	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet1,
	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet3 {
		.setCellsColorDoubles(darken(@sapUiBaseColor, 10), @sapUiBaseColor);
		.setLightContrastContainers(darken(@sapUiBaseColor, 10), @sapUiBaseColor);
	}

	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet1Inverted,
	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet3Inverted {
		.setCellsColorDoubles(@sapUiBaseColor, darken(@sapUiBaseColor, 10));
		.setLightContrastContainers(@sapUiBaseColor, darken(@sapUiBaseColor, 10))
	}

	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet2,
	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet4 {
		.setCellsColorDoubles(darken(@sapUiBaseColor, 7), darken(@sapUiBaseColor, 14));
		.setLightContrastContainers(darken(@sapUiBaseColor, 7), darken(@sapUiBaseColor, 14))
	}

	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet2Inverted,
	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet4Inverted {
		.setCellsColorDoubles(darken(@sapUiBaseColor, 14), darken(@sapUiBaseColor, 7));
		.setLightContrastContainers(darken(@sapUiBaseColor, 14), darken(@sapUiBaseColor, 7))
	}
}

/* ============ Background type: Mixed ============== */
.sapUiBlockLayoutBackgroundMixed {
	.sapUiBlockLayoutBackgroundLight; // Use the same rules as in sapUiBlockLayoutBackgroundLight

	&.sapUiBlockLayoutSizeL, &.sapUiBlockLayoutSizeXL {
		.sapUiBlockLayoutRow {
			.sapContrast, .sapContrastPlus {
				&.sapUiBlockLayoutCell {
					background-color: darken(@sapUiBaseColor, 12);
				}

				&.sapUiBlockLayoutCell.sapUiBlockLayoutBackgroundContrast2 {
					background-color: darken(@sapUiBaseColor, 4);
				}
			}
		}
	}
}

/* ============ Background type: Accent ============== */
.sapUiBlockLayoutBackgroundAccent {
	.sapUiBlockCellContent,
	.sapUiBlockCellTitle,
	.sapUiBlockCellContent .sapMText {
		color: @sapUiContentContrastTextColor;
	}

	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet1 {
		.setCellsColorDoubles(darken(@sapUiAccent7, 5), darken(@sapUiAccent7, 12)); // Colors A & B
	}

	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet1Inverted {
		.setCellsColorDoubles(darken(@sapUiAccent7, 12), darken(@sapUiAccent7, 5)); // Colors B & A
	}

	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet2 {
		.setCellsColorDoubles(darken(@sapUiAccent6, 6), darken(@sapUiAccent6, 12)); // Colors C & D
	}

	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet2Inverted {
		.setCellsColorDoubles(darken(@sapUiAccent6, 12), darken(@sapUiAccent6, 6)); // Colors D & C
	}

	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet3 {
		.setCellsColorDoubles(darken(@sapUiAccent5, 8), darken(@sapUiAccent5, 16)); // Colors E & F
	}

	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet3Inverted {
		.setCellsColorDoubles(darken(@sapUiAccent5, 16), darken(@sapUiAccent5, 8)); // Colors F & E
	}

	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet4 {
		.setCellsColorDoubles(darken(@sapUiGroupContentBackground, 2), darken(@sapUiGroupContentBackground, 8)); // Colors G & H
	}

	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet4Inverted {
		.setCellsColorDoubles(darken(@sapUiGroupContentBackground, 8), darken(@sapUiGroupContentBackground, 2)); // Colors H & G
	}

	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet1,
	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet2,
	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet3,
	.sapUiBlockLayoutRow.sapUiBlockLayoutBackgroundColorSet4 {
		.sapUiBlockLayoutCell.sapUiBlockLayoutBackgroundColorSetGray1 {
			background-color: darken(@sapUiGroupContentBackground, 8); //color: H
		}

		.sapUiBlockLayoutCell.sapUiBlockLayoutBackgroundColorSetGray2 {
			background-color: darken(@sapUiGroupContentBackground, 2); //color: G
		}
	}

	.sapUiBlockLayoutBackgroundColorSet4,
	.sapUiBlockLayoutBackgroundColorSet4Inverted,
	.sapUiBlockLayoutBackgroundColorSetGray1,
	.sapUiBlockLayoutBackgroundColorSetGray2 {
		.sapUiBlockCellContent,
		.sapUiBlockCellTitle,
		.sapUiBlockCellContent .sapMText {
			color: @sapUiGroupTitleTextColor;
		}
	}
}