/* variables specific to current element */ $element-specific-variables: ""; .#{$namespace}exchangeRateCalculator { /* Save root element context for easy access if nesting is needed */ $self: &; /* properties of current element + media queries */ /* Pseudo Elements */ &::before { } &::after { } /* Include elements that are linked to the current element but have to reside at the root level of the stylesheet (e.g: keyframes) */ @at-root { } /* children - write selector in full in comments in order to facilitate search */ // exchangeRateCalculator__switchBtn &__switchBtn { // follows same logic as parent > * { transform: rotate(-90deg); transition: transform 0.15s linear; &:hover { @media (hover: hover) { transform: rotate(90deg); } } &:focus { transform: rotate(90deg); } } } /* modifiers */ // exchangeRateCalculator -altStyle &.-altStyle { // follows same logic as base element } /* random parent element */ /* * * Syntax : .randomParentElt & {} * */ /* Pseudo Classes */ &:hover { @media (hover: hover) { } } &:focus { } &:active { } &:focus, &:active { } }