@import 'mediawiki.mixins'; @import '../echo.variables'; .mw-echo-ui-notificationBadgeButtonPopupWidget { position: relative; > .oo-ui-popupWidget { // #p-personal li has a font-size of 0.75em, but we want the // font size here to be exactly 0.875em, so we must override // the parent em sizing by dividing. font-size: 0.875em / 0.75em; .oo-ui-popupWidget-anchor { // Align the popup with the center of the button margin-left: 0.8em; } > .oo-ui-popupWidget-popup { > .oo-ui-popupWidget-head { height: 3.5em; border-bottom: 1px solid #ddd; > .oo-ui-iconWidget { /* ( 3.5 - 1.875 ) / 2 = 0.8125 */ margin: 0.8125em 0 0.8125em 1em; float: left; opacity: @opacity-mid; } > .oo-ui-labelElement-label { font-size: 1.2em; padding: 0.3em; margin-left: 0; font-weight: bold; } .mw-echo-ui-notificationsWidget-markAllReadButton { margin: 1.25em 1em 0 0; } } > .oo-ui-popupWidget-body { // Work around scrollbar rendering bug in Chrome overflow-y: visible; // ...but make sure we don't actually overflow in the Y direction, // to avoid breaking ClippableElement overflow-x: auto; > .mw-echo-ui-notificationsListWidget > .mw-echo-ui-notificationItemWidget { // The popup body itself has a border. We need to override the notification // item widget styles so that the edge borders of the items are not duplicated border-left: 0; border-right: 0; &:last-child { border-bottom: 0; } } } > .oo-ui-popupWidget-footer { border-top: 1px solid #ddd; width: 100%; > .oo-ui-buttonGroupWidget { display: block; } .mw-echo-ui-notificationBadgeButtonPopupWidget-footer-buttons { display: table-row; .oo-ui-buttonElement { display: table-cell; white-space: normal; font-weight: bold; width: @notification-popup-width / 2; .box-sizing( border-box ); &:last-child { border-left: 1px solid #ddd; } > .oo-ui-buttonElement-button { display: block; line-height: 2.6em; margin: 0; border: 0; padding: 0.5em; } } } } } } }