/* variables specific to current element */ $element-specific-variables: ""; .#{$namespace}speechbubbleCover { /* Save root element context for easy access if nesting is needed */ $self: &; /* properties of current element + media queries */ position: relative; /* 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 */ &__inner { position: relative; } // speechbubbleCover__bubble &__bubble { // follows same logic as parent padding-right: (map-deep-get($token-spacer-grid-map, "gutter")*0.5); @include media-breakpoint-up("lg") { position: absolute; width: 50%; top: 50%; right: 0; transform: translateY(-50%); } } [data-toggle-visibility-at="lg"] { @include media-breakpoint-up("lg") { display: none; } } &__mobile { position: absolute; bottom: 5%; left: 7%; max-height: 100%; width: auto !important; @include media-breakpoint-up("lg") { bottom: 25px; left: 70px; } } /* modifiers */ // speechbubbleCover -altStyle &.-altStyle { // follows same logic as base element } /* random parent element */ /* * * Syntax : .randomParentElt & {} * */ /* Pseudo Classes */ &:hover { @media (hover: hover) { } } &:focus { } &:active { } &:focus, &:active { } }