Files
edx-platform/lms/static/certificates/sass/_components.scss
Adam Butterworth fc0694397e Reapply [BD-10] [DEPR-92] Remove pattern library of certificate styles. (#24694)
* Revert "Revert "[BD-10] [DEPR-92] Remove pattern library of certificate styles." (#24633)"

This reverts commit ca7f488796.

* Add missing slash in font path
2020-08-05 11:41:59 -05:00

638 lines
12 KiB
SCSS

// ------------------------------
// // Open edX Certificates: Components
// About: styling for specific UI components ranging from global to modular.
// #HEADINGS
// #DEPTH
// #MESSAGES
// #IMAGES
// #HEADER APP
// #BANNER
// #INTRODUCTION
// #ACCOMPLISHMENT
// #RENDERING
// #ACCOMPLISHMENT RELATED
// #CERTIFICATE
// #ABOUT
// ------------------------------
// #HEADINGS
// ------------------------------
%hd-subsection {
margin-bottom: map-get($spacing-vertical, mid-small);
border-bottom: rem(2) solid $gray-x-back;
padding-bottom: map-get($spacing-vertical, x-small);
}
// ------------------------------
// #DEPTH
// ------------------------------
%depth-base-focus {
background: $white;
padding: map-get($spacing-vertical, small) map-get($spacing-horizontal, base);
}
%depth-well {
box-shadow: 0 rem(1) rem(3) 0 $gray-back inset;
padding: map-get($spacing-vertical, small) map-get($spacing-horizontal, base);
background: $gray-x-back;
}
%depth-card {
box-shadow: 0 rem(1) rem(2) 0 $gray-back;
padding: map-get($spacing-vertical, small) map-get($spacing-horizontal, base);
background: $white;
}
.depth-base-focus {
@extend %depth-base-focus;
}
.depth-well {
@extend %depth-well;
}
.depth-card {
@extend %depth-card;
}
// ------------------------------
// #IMAGES
// ------------------------------
// circular cropped
%img-cropped {
.src {
display: block;
width: 100%;
border-radius: 50%;
}
}
// ------------------------------
// #HEADER APP
// ------------------------------
.wrapper-header {
@extend %divider-2;
border-bottom-color: $gray-x-back;
background: $white;
}
// ------------------------------
// #BANNER
// ------------------------------
.banner {
.message-copy {
margin-bottom: 0;
}
}
// message to user-centric banner
.wrapper-banner-user {
box-shadow: inset 0 rem(2) rem(2) 0 $black;
background: $gray-dark;
}
.banner-user {
.message-title {
color: $white;
font-weight: 600;
margin-top: 0;
}
.message-copy {
color: $white;
}
.message-actions .action {
@include button-outline-variant($gray-x-back, $gray-dark);
padding: 0.625rem;
font-size: rem(14);
transition: color 0.125s ease-in-out 0s, border-color 0.125s ease-in-out 0s, background 0.125s ease-in-out 0s, box-shadow 0.125s ease-in-out 0s;
border: 1px solid;
border-radius: 3px;
cursor: pointer;
font-family: $font-family-sans;
font-weight: 600;
.icon {
@include margin-right(map-get($spacing-horizontal, x-small));
font-size: rem(18);
}
// CASE: icon display only
&.icon-only {
.action-label {
@include sr-only;
}
}
// CASE mozilla open badges logo
.icon-mozillaopenbadges {
width: rem(18);
}
}
}
// ------------------------------
// #INTRODUCTION
// ------------------------------
.introduction {
margin-bottom: map-get($spacing-vertical, base);
@include text-align(center);
.introduction-copy {
font-weight: 600;
margin-top: 0;
}
}
// ------------------------------
// #ACCOMPLISHMENTS
// ------------------------------
// base accomplishment
.accomplishment {
.accomplishment-type-symbol .src {
display: block;
width: 100%;
}
}
// main accomplishment
.accomplishment-main {
background: $gray-x-back;
}
// brief accomplishment
.accomplishment-brief {
@extend %depth-card;
.accomplishment-type-symbol,
.accomplishment-details {
display: inline-block;
vertical-align: middle;
}
.accomplishment-type-symbol {
@include size(20%);
}
.accomplishment-details {
width: 70%;
}
.accomplishment-summary {
margin-bottom: 0;
}
}
// ------------------------------
// #RENDERING
// ------------------------------
%rendering-accomplishment-line {
display: block;
margin-right: auto;
margin-left: auto;
}
%rendering-section {
margin-bottom: map-get($spacing-vertical, base);
border-bottom: rem(2) solid $gray-x-back;
padding-bottom: map-get($spacing-vertical, base);
}
%rendering-hd-section {
margin-bottom: map-get($spacing-vertical, mid-small);
border-bottom: rem(2) solid $gray-x-back;
padding-bottom: map-get($spacing-vertical, x-small);
color: $cert-base-color;
@include text-align(center);
}
.accomplishment-rendering {
@extend %depth-card;
position: relative;
top: -(map-get($spacing-vertical, base));
border-top: rem(4) solid $cert-base-color;
// type
.accomplishment-type {
@include text-align(center);
margin-top: -(map-get($spacing-vertical, large));
margin-bottom: map-get($spacing-vertical, base);
}
.accomplishment-type-label,
.accomplishment-type-symbol {
display: block;
}
.accomplishment-type-label {
@include make-col(10);
margin: 0 auto;
font-weight: 600;
}
.accomplishment-type-symbol {
@include size(rem(100));
margin: 0 auto map-get($spacing-vertical, small) auto;
}
// statement
.accomplishment-statement {
@extend %rendering-section;
@include text-align(center);
}
.accomplishment-statement-lead {
@extend .hd-2;
}
.accomplishment-recipient {
@extend %rendering-accomplishment-line;
}
.accomplishment-summary {
@extend %rendering-accomplishment-line;
@extend %copy-lead;
margin-bottom: map-get($spacing-vertical, mid-small);
}
.accomplishment-course {
@extend %rendering-accomplishment-line;
font-weight: 600;
}
.accomplishment-course-description {
@extend %rendering-accomplishment-line;
}
.accomplishment-statement-detail {
@extend %rendering-accomplishment-line;
@extend %copy-lead;
}
// organizations
.accomplishment-orgs {
margin-bottom: map-get($spacing-vertical, base);
}
.accomplishment-orgs-title {
@extend %rendering-hd-section;
}
// signatories
.accomplishment-signatories {
@extend %rendering-section;
.signatory-signature {
display: block;
margin: 0 auto map-get($spacing-vertical, x-small) auto;
box-sizing: border-box;
}
.signatory-name,
.signatory-credentials {
@include text-align(center);
}
.signatory-name {
margin-bottom: map-get($spacing-vertical, xx-small);
margin-top: 0;
font-weight: 400;
}
.signatory-credentials {
@extend %copy-micro;
margin-top: 0;
.role,
.organization {
white-space: pre-line;
display: block;
}
}
}
.accomplishment-signatories-title {
@extend %rendering-hd-section;
}
}
// metadata
.accomplishment-metadata {
margin-bottom: map-get($spacing-vertical, base);
.metadata {
.label {
@extend %copy-meta;
margin-bottom: map-get($spacing-vertical, xx-small);
padding: 0 rem(8);
}
.label-explanation {
display: block;
font-weight: 400;
margin-top: map-get($spacing-vertical, xx-small);
}
.value {
@extend %copy-base;
font-weight: 600;
color: $gray-dark;
margin: 0;
padding: 0 rem(8);
}
}
.recipient-img,
.recipient-details {
display: inline-block;
vertical-align: top;
}
.recipient-img {
@extend %img-cropped;
width: rem(100);
@include margin-right(map-get($spacing-horizontal, small));
.src {
max-height: 100%;
border: rem(4) solid $white;
}
}
.recipient-details {
@extend %copy-base;
font-weight: 600;
max-width: calc(100% - (#{rem(100)} + #{map-get($spacing-horizontal, small)} + 5px));
}
.recipient-name {
margin-bottom: map-get($spacing-vertical, xx-small);
}
.recipient-username {
margin-bottom: 0;
margin-top: rem(28);
}
.accomplishment-id .value {
word-wrap: break-word;
}
}
.accomplishment-metadata-title {
@extend %hd-subsection;
border-bottom-color: $gray-back;
}
// ------------------------------
// #ACCOMPLISHMENT RELATED
// ------------------------------
.accomplishment-related-title {
@extend %hd-subsection;
}
// ------------------------------
// #CERTIFICATE
// ------------------------------
// certficate - default
.certificate {
.accomplishment-rendering {
// decorative corners for certs
.deco-corner {
position: absolute;
}
.deco-corner-tl {
@include triangle(20px, $cert-base-color, up-right);
top: 0;
right: 0;
}
.deco-corner-tr {
@include triangle(20px, $cert-base-color, up-left);
top: 0;
left: 0;
}
.deco-corner-bl {
@include triangle(20px, $cert-base-color, down-right);
bottom: 0;
right: 0;
}
.deco-corner-br {
@include triangle(20px, $cert-base-color, down-left);
bottom: 0;
left: 0;
}
.accomplishment-type-label {
color: $cert-base-color;
}
.accomplishment-signatories-title,
.accomplishment-orgs-title {
color: $cert-decorative-color;
}
.wrapper-statement-and-signatories {
width: 100%;
}
// statement
.accomplishment-statement,
.accomplishment-statement-lead,
.accomplishment-recipient,
.accomplishment-course {
font-family: $font-family-serif;
}
.accomplishment-recipient,
.accomplishment-course {
letter-spacing: rem(1);
}
}
}
// certificate - base + honor
.layout-accomplishment.certificate-honor {
.introduction {
margin-bottom: 0;
}
.accomplishment-main {
background: $gray-x-back;
}
.accomplishment-rendering {
.accomplishment-type {
margin-top: 0;
}
// hide the fancy
.accomplishment-signatories .signatory-signature,
.accomplishment-type-symbol {
display: none;
}
}
}
// certificate - distinguished + verified
.layout-accomplishment.certificate-verified {
.introduction {
margin-bottom: map-get($spacing-vertical, base);
}
.accomplishment-main {
background: $primary-back;
}
.accomplishment-rendering {
background: $white url('../images/bg-verified.png') center no-repeat;
background-size: 65%;
.deco-corner-tl {
@include triangle(20px, $cert-distinguished-color, up-right);
}
.deco-corner-tr {
@include triangle(20px, $cert-distinguished-color, up-left);
}
.deco-corner-bl {
@include triangle(20px, $cert-distinguished-color, down-right);
}
.deco-corner-br {
@include triangle(20px, $cert-distinguished-color, down-left);
}
}
.accomplishment-rendering {
border-color: $cert-distinguished-color;
.accomplishment-type-label {
color: $cert-distinguished-color;
}
}
}
// ------------------------------
// #FOOTER
// ------------------------------
.footer-app {
border-top: rem(4) solid $gray-x-back;
padding-top: map-get($spacing-vertical, base);
}
.footer-app-nav {
.list {
padding: 0;
}
}
// ------------------------------
// #BADGES MODAL
// ------------------------------
.badges-overlay {
position: fixed;
top: 0;
left: 0;
z-index: 100;
background-color: $gray-transparent; /* dim the background */
width: 100%;
height: 100%;
vertical-align: middle;
.badges-modal {
@extend %copy-large;
box-sizing: content-box;
position: fixed;
top: map-get($spacing-vertical, large);
right: 0;
left: 0;
z-index: 1000;
max-width: 50%;
margin-right: auto;
margin-left: auto;
border-top: rem(10) solid $primary-back;
background: $gray-x-back;
padding-right: map-get($spacing-horizontal, large);
padding-left: map-get($spacing-horizontal, large);
overflow-x: hidden;
color: $gray-dark;
.close {
position: absolute;
right: map-get($spacing-horizontal, mid-small);
top: map-get($spacing-vertical, small);
font-weight: 700;
cursor: pointer;
}
.badges-steps {
display: table;
a {
@extend %link;
}
}
.image-container {
// Lines the image up with the content of the above list.
@include ltr {
@include padding-left(2em);
}
@include rtl {
@include padding-right(1em);
float: right;
}
}
.backpack-logo {
@include float(right);
@include margin-left(map-get($spacing-horizontal, small));
}
}
}
.modal-hr {
display: block;
border: none;
background-color: $gray-back;
height: rem(2);
width: 100%;
}