/* variables specific to current element */ $element-specific-variables: ""; .#{$namespace}employeeCard { /* Save root element context for easy access if nesting is needed */ $self: &; /* properties of current element + media queries */ display: flex; flex-direction: column; @include spacer-component-stack("md"); /* 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 */ // employeeCard__childElement &__text { // follows same logic as parent display: flex; flex-direction: column; justify-content: center; align-items: flex-start; &::after { content: ""; @extend %logoSeparator; margin-top: map-deep-get($token-spacer-stack-max-map, "sm"); margin-bottom: map-deep-get($token-spacer-stack-max-map, "sm"); @include media-breakpoint-up("lg") { margin-top: map-deep-get($token-spacer-stack-max-map, "md"); } } } /* modifiers */ // employeeCard -row &.-row { // follows same logic as base element display: flex; flex-direction: row; align-items: center; @include unset-spacer-component-stack(); gap: map-deep-get($token-spacer-stack-max-map, "md"); #{$self}__text { &::after { content: none; } } } &.-separatorHorizontal { background-color: transparent; padding: 0; flex-wrap: nowrap; &::before { content: ""; @extend %logoSeparator; margin-right: map-deep-get($token-spacer-inline-map, "sm"); } } /* random parent element */ /* * * Syntax : .randomParentElt & {} * */ /* Pseudo Classes */ &:hover { @media (hover: hover) { } } &:focus { } &:active { } &:focus, &:active { } }