.#{$namespace}contactBlock { /* Save root element context for easy access if nesting is needed */ $self: &; /* variables specific to current element */ $element-specific-variables: ""; /* properties of current element + media queries */ background-color: map-deep-get($token-color-brand-map, "secondary", "06"); @include spacer-component-inset("lg"); border-radius: map-deep-get($token-radius-map, "16"); /* 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 */ // contactBlock__childElement &__heading { // follows same logic as parent padding-bottom: map-deep-get($token-spacer-inset-map, "lg"); margin-bottom: map-deep-get($token-spacer-inset-map, "lg"); border-bottom: $border-width solid $border-color; } &__body { padding-top: map-deep-get($token-spacer-inset-map, "sm"); padding-bottom: map-deep-get($token-spacer-inset-map, "sm"); } &__footer { // follows same logic as parent padding-top: map-deep-get($token-spacer-inset-map, "lg"); margin-top: map-deep-get($token-spacer-inset-map, "lg"); border-top: $border-width solid $border-color; text-align: center; } &__footerLink { color: map-deep-get($token-color-brand-map, "primary", "100"); } /* modifiers */ // contactBlock -altStyle &.-recap { border-radius: 0; border-top: $border-width solid $border-color; background-color: map-deep-get($token-color-grayscale-map, "0"); padding: map-deep-get($token-spacer-inset-map, "lg") 0 0 0; #{$self}__heading { padding-bottom: 0; border-bottom: none; } #{$self}__body { padding: 0; } #{$self}__footer { padding-top: 0; border-top: none; } #{$self}__actionCard { padding: map-deep-get($token-spacer-inset-map, "md"); border-radius: map-deep-get($token-radius-map, "16"); border: $border-width solid $border-color; } } /* random parent element */ /* * * Syntax : .randomParentElt & {} * */ /* Pseudo Classes */ &:hover { @media (hover: hover) { } } &:focus { } &:active { } &:focus, &:active { } }