@import '../variables.less'; .client-js { .section { &-heading { cursor: pointer; // So that double clicking won't highlight everything user-select: none; &--collapsed { .section-toggle { transform: rotate3d( 1, 0, 0, 180deg ); } .mw-headline { opacity: var( --opacity-icon-base ); } } .mw-headline { transition: @transition-opacity-quick; &:hover { opacity: var( --opacity-icon-base--hover ); } &:active { opacity: var( --opacity-icon-base--active ); } } } &-toggle { width: 18px; height: 18px; margin-right: 10px; background-position: center; background-repeat: no-repeat; background-size: 18px; cursor: pointer; opacity: var( --opacity-icon-base ); transition: @transition-opacity-quick, @transition-transform-quick; &:hover { opacity: var( --opacity-icon-base--hover ); } &:active { opacity: var( --opacity-icon-base--active ); } } // Fix button alignment &-heading, &-subheading { display: flex; align-items: center; } &-collapsible { &--collapsed { display: none; } } } } .skin-citizen-dark { .section-toggle { filter: invert( 1 ); } } // Hide toggle when client is noscript .client-nojs { .section { &-toggle { display: none; } } } // Fix hover state on touch devices @media ( hover: none ) { .client-js .section { &-heading .mw-headline, &-toggle { &:hover, &:active { opacity: 1; } } &-heading--collapsed .mw-headline { &:hover, &:active { opacity: var( --opacity-icon-base ); } } } }