.page-actions { display: flex; margin-left: -12px; // To align with page padding font-size: @ui-menu-text; font-weight: 450; gap: 4px; &-more { display: block; width: var( --size-icon ); height: var( --size-icon ); box-sizing: content-box; padding: 8px; border-radius: var( --border-radius--medium ); cursor: pointer; transition: @transition-opacity-quick; &-menu { position: absolute; z-index: -1; right: var( --padding-page ); left: var( --padding-page ); overflow: auto; max-height: 60vh; padding-top: 5px; margin-top: 5px; cursor: auto; // reset cursor pointer set by parent opacity: 0; pointer-events: none; transition: @transition-opacity-quick, @transition-box-shadow-quick; .citizen-card; a { .menu-item-link; justify-content: space-between; padding: 10px var( --padding-page ); &:after { .resource-loader-list-icon; margin-left: @icon-padding; opacity: var( --opacity-icon-base ); } &:hover { .menu-item-link-hover; &:after { opacity: var( --opacity-icon-base--hover ); } } &:active { .menu-item-link-active; &:after { opacity: var( --opacity-icon-base--active ); } } } } &:before { display: block; width: var( --size-icon ); height: var( --size-icon ); background-size: var( --size-icon ); content: ''; opacity: var( --opacity-icon-base ); } &:hover { .page-actions-more-menu { z-index: 5; opacity: 1; pointer-events: auto; } } &:active { background: var( --background-color-quiet--active ) !important; &:before { opacity: var( --opacity-icon-base--active ); } } } > .mw-portlet { ul { display: flex; gap: 4px; } li > a { display: flex; align-items: center; padding: 8px 12px; border-radius: var( --border-radius--medium ); color: var( --color-base ); font-size: 0; transition: @transition-background-quick, @transition-color-quick; &:after { width: var( --size-icon ); height: var( --size-icon ); order: -1; // Move icon before the text background-position: center; background-repeat: no-repeat; background-size: var( --size-icon ); content: ''; opacity: var( --opacity-icon-base ); transition: @transition-opacity-quick; } &:hover { background-color: var( --background-color-quiet--hover ); color: var( --color-base--emphasized ); &:after { opacity: var( --opacity-icon-base--hover ); } } &:active { background-color: var( --background-color-quiet--active ); color: var( --color-base--subtle ); &:after { opacity: var( --opacity-icon-base--active ); } } span { .mixin-screen-reader-text; } } } ul { margin: 0; list-style: none; } li { margin: 0; } } #p-views { // VE styles shouldn't be core but it is just a few lines :/ #ca-ve-edit { order: 98; // Before source edit > a { padding-right: 24px; } // Merge two buttons together + #ca-edit { border-left: 1px solid var( --color-primary--hover ); margin-left: -16px; > a { padding-left: 8px; border-radius: 0 var( --border-radius--medium ) var( --border-radius--medium ) 0; font-size: 0; // hide edit source text &:after { margin-right: 0; // reset } } } } #ca-edit { order: 99; // Align to last } #ca-edit, #ca-ve-edit { > a { background-color: var( --color-primary ); color: #fff; &:after { filter: invert( 1 ); // white icon opacity: 1; } &:hover { background-color: var( --color-primary--hover ); } &:active { background-color: var( --color-primary--active ); } } } } .skin-citizen-dark { .page-actions { &-more { &:before { filter: invert( 1 ); } } li > a:after { filter: invert( 1 ); } } } @media ( min-width: @width-breakpoint-tablet ) { .page-actions { margin-right: 0; &-more-menu { position: relative; right: unset; left: -172px; width: 200px; } > .mw-portlet { li > a { font-size: @ui-menu-text; &:after { margin-right: 8px; } } } } } @media ( hover: hover ) { .page-actions-more:hover { background: var( --background-color-quiet--hover ); &:before { opacity: var( --opacity-icon-base--hover ); } } }