Newer
Older
Brian Talbot
committed
// lms - views - user/student dashboard
// ====================
// ====================
@include clearfix();
display: flex;
flex-direction: row;
width: 100%;
// Contains main course card listings
.main-container {
@include padding($baseline*2, $baseline, $baseline, $baseline*2);
.my-courses {
&:focus {
outline: none;
}
.wrapper-header-courses {
margin-bottom: $baseline/2;
.header-courses {
@extend %t-title5;
@include padding-right($baseline/2);
}
// UI: course list
.listing-courses {
@extend %ui-no-list;
.course-item {
margin-bottom: $baseline;
padding-bottom: $baseline;
.course-container {
border: 1px solid theme-color("light");
border-radius: 3px;
&:last-of-type {
margin-bottom: 0;
border-bottom: none;
padding-bottom: 0;
// UI: individual course item
.course {
@include box-sizing(box);
@include transition(all 0.15s linear 0s);
@include clearfix();
@include clearfix();
.wrapper-course-image {
@include float(left);
@include margin-right(flex-gutter());
Galen Frechette
committed
width: flex-grid(3);
max-height: 150px;
overflow: hidden;
.cover {
@include box-sizing(border-box);
@include transition(all 0.15s linear 0s);
@include float(left);
Galen Frechette
committed
.course-image {
width: 100%;
}
Galen Frechette
committed
// "enrolled as" status
.sts-enrollment {
@include float(left);
width: 100%;
position: relative;
bottom: 15px;
display: inline-block;
text-align: center;
.label {
@extend %text-sr;
}
.deco-graphic {
position: absolute;
top: -5px;
.sts-enrollment-value {
@extend %ui-depth1;
@extend %copy-badge;
@extend %t-demi-strong;
font-size: 0.6em;
line-height: 1.5em;
border-radius: 0;
padding: 1px ($baseline/4);
color: white;
}
}
// Responsive behavior
@include media-breakpoint-down(sm) {
display: none;
}
display: flex;
flex-flow: row wrap;
margin-bottom: $baseline/2;
justify-content: space-between;
flex-basis: 100%;
padding-top: $baseline/2;
font: -apple-system-short-headline !important;
display: inline-block;
margin-bottom: ($baseline/2);
text-decoration: none;
// Responsive behavior
@include media-breakpoint-down(sm) {
@extend %t-title4;
}
}
}
.course-info {
[class*="info-"] {
font: -apple-system-short-subheadline !important;
.info-date-block-container {
.info-date-block{
font: -apple-system-short-subheadline !important;
@extend %t-title7;
color: $gray; // WCAG 2.0 AA compliant
.fa-close {
color: theme-color("error");
}
.fa-check {
color: theme-color("success");
}
}
.change-session {
@extend %t-title7;
@include margin(0, 0, 0, $baseline/4);
padding: 0;
border: none;
letter-spacing: normal;
}
.wrapper-course-actions {
@include margin-right($baseline);
align-self: flex-end;
// Responsive behavior
@include media-breakpoint-down(sm) {
width: 100%;
display: flex;
flex-direction: column;
.course-info,
.wrapper-course-actions {
flex-grow: 1;
.action {
@include margin-right(0);
}
.wrapper-action-more {
padding-top: 3px;
}
}
// UI: course item actions
.action {
@include box-sizing(border-box);
@include margin-right($baseline/2);
@include float(right);
min-width: ($baseline*2);
color: $gray-d3;
border-radius: 3px;
padding: 12px;
border: 1px solid $white;
text-align: center;
&:hover, &:focus {
color: $gray-d3;
border: 1px solid $gray-l4;
}
// STATE: is-disabled
&.is-disabled {
color: $gray-l4;
}
// TYPE: facebook share
&.action-facebook {
color: $facebook-blue;
}
// TYPE: twitter share
&.action-twitter {
color: $twitter-blue;
}
}
// UI: general actions dropdown layout
.wrapper-action-more {
display: inline-block;
position: relative;
.action-more {
@include font-size(14);
box-shadow: none;
background: $white;
background-image: none;
color: $gray;
line-height: 16px;
text-shadow: none;
}
.actions-dropdown {
@extend %ui-no-list;
@extend %ui-depth1;
Brian Talbot
committed
display: none;
position: absolute;
top: ($baseline*2);
Galen Frechette
committed
pointer-events: none;
min-width: ($baseline*7);
Brian Talbot
committed
&.is-visible {
display: block;
pointer-events: auto;
}
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
.actions-dropdown-list {
@extend %ui-no-list;
@include box-sizing(border-box);
display: table;
box-shadow: 0 1px 1px $shadow-l1;
position: relative;
width: 100%;
border-radius: 3px;
margin: ($baseline/4) 0 0 0;
border: 1px solid $gray-l3;
padding: ($baseline/4) ($baseline/2);
background: $white;
// ui triangle/nub
&::after,
&::before {
bottom: 100%;
@include right(6px);
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
}
&::after {
border-color: $transparent;
border-bottom-color: $white;
border-width: 6px;
@include margin-right(1px);
}
Marco Morales
committed
&::before {
border-color: $transparent;
border-bottom-color: $gray-l3;
border-width: 7px;
}
}
Galen Frechette
committed
.actions-item {
@extend %t-title7;
Galen Frechette
committed
&.is-hidden {
display: none;
}
.action {
@include margin-right(0);
border: 1px solid transparent;
}
}
}
}
}
.course-status {
background: $yellow;
border: 1px solid $border-color-2;
box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.6);
Galen Frechette
committed
@include margin-right(flex-gutter());
padding: ($baseline/4);
width: flex-grid(8);
@include float(left);
@include box-sizing(border-box);
Galen Frechette
committed
p {
color: $lighter-base-font-color;
font-style: italic;
letter-spacing: 1px;
text-align: center;
}
Galen Frechette
committed
}
.course-status-completed {
background: $gray-l3;
color: $very-light-text;
Marco Morales
committed
span {
font-weight: bold;
}
}
Marco Morales
committed
font: -apple-system-short-subheadline !important;
&.archived {
@extend %btn-pl-default-base;
}
// Responsive behavior
@include media-breakpoint-down(md) {
@include padding-left($baseline/2);
Marco Morales
committed
}
}
// CASE: "enrolled as" status - professional ed
&.professional {
// changes to cover
.wrapper-course-image .cover {
border-color: $professional-color-lvl3;
padding: ($baseline/10);
Christine Lytwynec
committed
}
// course enrollment status message
.sts-enrollment {
.label {
@extend %text-sr;
Marco Morales
committed
}
// status message
.sts-enrollment-value {
background: $professional-color-lvl3;
// CASE: "enrolled as" status - verified
&.verified {
// changes to cover
.wrapper-course-image .cover {
border-color: $verified-color-lvl1;
padding: ($baseline/10);
}
// course enrollment status message
.sts-enrollment {
.label {
@extend %text-sr;
.deco-graphic {
@extend %ui-depth3;
Marco Morales
committed
width: 40px;
position: absolute;
top: -5px;
@include right(0);
}
// status message
.sts-enrollment-value {
background: $verified-color-lvl1;
// CASE: "enrolled as" status - honor code
&.honor {
// changes to cover
.wrapper-course-image .cover {
border-color: $honorcode-color-lvl2;
padding: ($baseline/10);
}
Galen Frechette
committed
// status message
.sts-enrollment-value {
background: $honorcode-color-lvl1;
}
}
Galen Frechette
committed
// CASE: "enrolled as" status - auditing
&.audit {
Brian Talbot
committed
// changes to cover
.wrapper-course-image .cover {
border-color: $audit-color-lvl2;
padding: ($baseline/10);
}
// status message
.sts-enrollment-value {
background: $audit-color-lvl1;
}
}
}
}
Brian Talbot
committed
// Responsive behavior
@include media-breakpoint-down(md) {
padding: $baseline;
}
}
// Secondary functionality
.side-container {
@include padding($baseline*2, $baseline*2, $baseline, $baseline);
Galen Frechette
committed
max-width: $baseline*20;
min-width: $baseline*20;
min-height: $baseline/2;
flex-grow: 1;
order: 2;
.wrapper-find-courses {
.course-advertise {
@include clearfix();
box-sizing: border-box;
padding: $baseline;
border: 1px solid $border-color-l3;
Brian Talbot
committed
.advertise-message {
@include font-size(12);
color: $gray-d4;
margin-bottom: $baseline;
}
Brian Talbot
committed
@include text-align(center);
.btn-neutral {
padding-bottom: 12px;
padding-top: 12px;
}
a {
@include font-size(16);
@include line-height(17);
Brian Talbot
committed
padding: $baseline * 0.5;
border: 1px solid theme-color('primary');
color: theme-color('primary');
text-decoration: none;
display: block;
&:hover,
&:focus,
&:active {
color: $white;
background-color: theme-color('primary');
}
Brian Talbot
committed
span {
@include margin-left($baseline*0.25);
}
.icon {
@include margin-right($baseline*0.25);
}
}
}
}
}
Brian Talbot
committed
.profile-sidebar {
ul {
padding: 0;
border: 1px solid theme-color("light");
}
}
// Responsive behavior
@include media-breakpoint-down(md) {
margin: 0 $baseline $baseline*2;
padding: 0;
max-width: 100%;
}
Brian Talbot
committed
// Responsive behavior
@include media-breakpoint-down(xl) {
max-width: $baseline*15;
min-width: $baseline*15;
}
}
// Responsive behavior
@include media-breakpoint-down(md) {
Brian Talbot
committed
// ====================
// UI: messages
.wrapper-messages-primary {
@include clearfix();
.messages-list {
margin: 0;
padding: 0;
background-color: theme-color("lightest");
}
.message {
@extend %ui-depth1;
border-radius: 3px;
display: none;
padding: ($baseline/2) $baseline;
border-top: 1px solid $gray-l4;
color: $body-color; // Overrides the normal white color in this one case
Brian Talbot
committed
// STATE: shown
&.is-shown {
@include clearfix();
Brian Talbot
committed
a {
font-family: $font-family-sans-serif;
}
strong {
font-weight: 700;
a {
font-weight: 700;
}
}
Marco Morales
committed
.actions {
@include clearfix();
Brian Talbot
committed
list-style: none;
margin: 0;
padding: 0;
}
Brian Talbot
committed
.message-title,
.message-copy .title {
@extend %t-title6;
@extend %t-weight4;
line-height: 1em;
margin-bottom: ($baseline/4);
}
Brian Talbot
committed
.message-copy,
.message-copy .copy {
@extend %t-copy-sub1;
margin: 2px 0 0;
// CASE: expandable
&.is-expandable {
.wrapper-tip {
.message-title,
.message-copy {
margin-bottom: 0;
display: inline-block;
}
Brian Talbot
committed
.message-title .value,
.message-copy {
@include transition(color $tmg-f2 ease-in-out 0s);
}
// STATE: hover
&:hover {
cursor: pointer;
.message-title .value,
.message-copy,
.ui-toggle-expansion {
color: $link-color;
}
}
}
.wrapper-extended {
@include transition(opacity $tmg-f2 ease-in-out 0);
display: none;
opacity: 0;
}
}
// STATE: is expanded
&.is-expanded {
.ui-toggle-expansion {
@include rtl {
@include transform(rotate(-90deg));
}
@include ltr {
@include transform(rotate(90deg));
}
@include transform-origin(50% 50%);
}
.wrapper-extended {
display: block;
opacity: 1;
}
}
// TYPE: upsell
&.message-upsell {
.wrapper-tip {
@include clearfix();
.message-title {
@include float(left);
}
.ui-toggle-expansion {
@include transition(all $tmg-f2 ease-in-out 0s);
@include font-size(18);
display: inline-block;
vertical-align: middle;
@include margin-right($baseline/4);
}
.message-copy {
@include float(right);
}
}
.wrapper-extended {
padding: ($baseline/4) 0;
.message-copy {
display: inline-block;
.message-copy-bold {
font-weight: 600;
}
}
}
Brian Talbot
committed
.action-upgrade-container {
@include float(right);
display: inline-block;
margin-top: ($baseline/2);
}
.action-upgrade {
@extend %btn-primary-green;
Brian Talbot
committed
@include left($baseline/2);
@include padding(($baseline * 0.4), 0, ($baseline * 0.4), ($baseline * 0.75));
Marco Morales
committed
.action-upgrade-icon {
@include float(left);
@include margin-right($baseline*0.4);
margin-top: ($baseline/4);
background: url('#{$static-path}/images/icon-sm-verified.png') no-repeat;
background-position: -($baseline*0.3);
background-color: white;
width: ($baseline*0.8);
height: ($baseline*0.7);
}
.deco-graphic {
position: absolute;
top: -($baseline/4);
@include left(-($baseline*0.75));
width: ($baseline*2);
}
span {
color: $white; // nasty but needed override for poor <span> styling
}
.copy, .copy-sub {
display: inline-block;
vertical-align: middle;
}
.copy {
@extend %t-action3;
@extend %t-weight4;
@include margin-right($baseline);
}
.copy-sub {
@extend %t-action4;
opacity: 0.875;
}
}
.action-view-consent {
@extend %btn-pl-white-base;
@include float(right);
&.archived {
@extend %btn-pl-default-base;
}
}
// TYPE: status
&.message-status {
border-color: $gray-l4;
.wrapper-message-primary {
@include clearfix();
}
.message-copy {
@extend %t-copy-sub1;
.credit-action {
.credit-btn {
@extend %btn-pl-yellow-base;
@include float(right);
@include margin-right(5px);
background-image: none ;
text-shadow: none;
box-shadow: none;
text-transform: none;
}
}
.actions {
.action {
@include float(left);
@include margin(0, 15px, 0, 0);
.btn {
display: inline-block;
}
.btn {
@include box-sizing(border-box);
@include float(left);
border-radius: 3px;
font: normal 0.8rem/1.2rem $font-family-sans-serif;
letter-spacing: 1px;
padding: 6px 12px;
text-align: center;
&.disabled {
cursor: default !important;
&:hover, &:focus {
@include background-image(linear-gradient(top, #EEE 0%, #C2C2C2 50%, #ABABAB 50%, #B0B0B0 100%));
.btn {
@include float(left);
font: normal 0.8rem/1.2rem $font-family-sans-serif;
letter-spacing: 1px;
padding: 6px 12px;
text-align: center;
}
}
}
.exam-registration-number {
font-family: $font-family-sans-serif;
font-size: 18px;
a {
font-family: $font-family-sans-serif;
}
}
&.exam-register {
.message-copy {
margin-top: ($baseline/4);
width: 55%;
}
}
&.exam-schedule {
.exam-button {
margin-top: ($baseline/4);
}
}
.exam-button {
@include button(simple, $pink);
@include float(right);
.contact-button {
@include button(simple, $pink);
}
.button {
display: inline-block;
margin-top: ($baseline/2);
padding: 9px 18px 10px;
font-size: 13px;
font-weight: bold;
letter-spacing: 0;
&:hover, &:focus {
text-decoration: none;
}
}
&.course-status-certrendering {
.btn {
margin-top: 2px;
Brian Talbot
committed
&.course-status-certavailable {
.message-copy {
width: flex-grid(6, 12);
position: relative;
Brian Talbot
committed
@include float(left);
}
.actions-primary {
@include float(right);
Brian Talbot
committed
@include margin(0, 0, ($baseline/2), ($baseline*0.75));
float: none;
text-align: center;
&:last-child {
margin-bottom: 0;
Brian Talbot
committed
}
.action-certificate .btn {
@extend %btn-inherited-primary;
@include box-sizing(border-box);
Brian Talbot
committed
padding: 7px $baseline*0.75;
float: none;
border-radius: 3px;
display: block;
text-align: center;
.action-share .btn {
display: inline;
letter-spacing: 0;
Brian Talbot
committed
}
}
Brian Talbot
committed
.actions-secondary {
margin-top: ($baseline/2);