skins/Vector/resources/skins.vector.styles.legacy/components/MenuDropdown.less
// Flips the chevron so it points up when the dropdown is open.
.vector-menu-checkbox:checked + .vector-menu-heading::after {
	transform: scaleY( -1 );
}

/**
 * Dropdown menus that only appear in the tab bar in legacy Vector.
 */
.vector-menu-dropdown {
	direction: ltr;
	float: left;
	cursor: pointer;
	position: relative;
	line-height: 1.125em;

	// menu label with chevron icon.
	.vector-menu-heading {
		display: flex;
		color: @color-subtle;
		font-size: @font-size-tabs;
		// Tab separator: Outer end (right in LTR) border of "Actions" menu.
		background-position: right bottom;
		margin: 0 -@border-width-base 0 0;
		// `padding-top` needs to scale with font-size.
		padding: 1.25em 8px 6px;
		font-weight: normal;

		&::after {
			.mixin-vector-legacy-menu-heading-arrow();
			// Modify the color of the image from the default #202122 to approx. #404244 to match the text.
			opacity: @opacity-icon-base;
		}

		&:hover,
		&:focus {
			color: @color-base;

			&::after {
				opacity: @opacity-icon-base--selected;
			}
		}
	}

	/**
	 * Dropdown container. Hidden by default until checkbox is checked.
	 */
	.vector-menu-content {
		position: absolute;
		top: 100%;
		left: -@border-width-base;
		opacity: 0;
		height: 0;
		visibility: hidden;
		overflow: hidden;
		margin: 0;
		padding: 0;
		z-index: @z-index-dropdown;
		line-height: 1.125em;
		background-color: @background-color-base;
		border: @border-width-base @border-style-base @border-color-base;
		border-top-width: 0;
		box-shadow: 0 1px 1px 0 rgba( 0, 0, 0, 0.1 );
		transition-property: opacity;
		transition-duration: @transition-duration-base;
		// The menu content should not be narrower than the menu button.
		min-width: 100%;
	}

	// Dropdown <ul> element.
	> .vector-menu-content-list {
		list-style: none;
	}

	// Open the dropdown container via hover.
	&:hover .vector-menu-content {
		opacity: @opacity-base;
		visibility: visible;
		height: auto;
	}

	.mw-list-item {
		padding: 0;
		margin: 0;
		text-align: left;
		line-height: 1em;

		a:not( .vector-icon ) {
			font-size: @font-size-tabs;
		}

		a {
			cursor: pointer;
			// displays all links in a single column.
			display: block;
			white-space: nowrap;
			padding: 0.625em;
			color: @color-link;
		}

		&.selected a,
		&.selected a:visited {
			color: @color-link-selected;
			text-decoration: none;
		}
	}
}

/**
 * Invisible checkbox covering the dropdown menu handle.
 */
.vector-menu-checkbox {
	cursor: pointer;
	position: absolute;
	top: 0;
	left: 0;
	z-index: @z-index-stacking-1;
	opacity: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	// Hide the checkbox completely in browsers that don't support :checked
	display: none;

	// Hide and show menu content based off checked status.
	&:checked ~ .vector-menu-content {
		opacity: 1;
		visibility: visible;
		height: auto;
	}

	:not( :checked ) > & {
		// When the browser supports :checked, display it
		display: block;
	}

	// Add focus state to menu dropdown buttons (i.e. #p-variants, #p-cactions)
	&:focus + .vector-menu-heading:not( .cdx-button ) {
		// Simulate browser focus ring
		outline: dotted 1px; // Firefox style
		outline: auto -webkit-focus-ring-color; // Webkit style
	}
}
