Newer
Older
Brian Talbot
committed
// lms - views - user/student dashboard
// ====================
// Table of Contents
// * +Dashboard - Sidebar
// * +Dashboard - Course Listing
Marco Morales
committed
// * +Dashboard - Course Item
// * +Misc - Uncategorized
// * +Dashboard - Banner
// +Dashboard - Sidebar
// ====================
@include clearfix();
padding: ($baseline*2) 0 $baseline 0;
.wrapper-find-courses {
@include float(right);
@include margin-left(flex-gutter());
width: flex-grid(3);
.course-advertise {
@include clearfix();
box-sizing: border-box;
padding: $baseline;
border: 1px solid $border-color-l3;
.advertise-message {
@include font-size(12);
color: $gray-d4;
margin-bottom: $baseline;
}
.ad-link {
@include text-align(center);
padding-bottom: 12px;
padding-top: 12px;
}
a {
@include font-size(16);
padding: $baseline * 0.5;
border: 1px solid $blue;
color: $blue;
text-decoration: none;
display: block;
&:hover,
&:focus,
&:active {
color: $white;
background-color: $blue;
}
span {
@include margin-left($baseline*0.25);
}
.icon {
@include margin-right($baseline*0.25);
}
background: transparent;
@include margin-left(flex-gutter());
margin-top: ($baseline*2);
Galen Frechette
committed
.user-info {
@include clearfix();
Galen Frechette
committed
> ul {
@include box-sizing(border-box);
@include clearfix();
margin: 0;
Galen Frechette
committed
width: flex-grid(12);
Galen Frechette
committed
li {
@include clearfix();
border-bottom: 1px dotted $border-color-2;
Galen Frechette
committed
list-style: none;
margin-bottom: ($baseline*0.75);
padding-bottom: 17px;
Galen Frechette
committed
Giulio Gratta
committed
&:hover, &:focus {
Galen Frechette
committed
.title .icon {
opacity: 1.0;
Galen Frechette
committed
}
}
span {
display: block;
margin-bottom: ($baseline/4);
Galen Frechette
committed
span.title {
@extend %t-strong;
Galen Frechette
committed
marco
committed
a {
text-transform: none;
Galen Frechette
committed
span.copy {
@extend %t-copy-sub1;
}
Galen Frechette
committed
span.data {
marco
committed
color: $base-font-color;
font-weight: 600;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
.third-party-auth {
color: inherit;
font-weight: inherit;
}
Galen Frechette
committed
}
li.order-history {
span a {
font-size: 13px;
line-height: 20px;
}
}
.heads-up {
.title {
display: inline;
}
.copy {
@extend %t-copy-sub2;
display: inline;
}
}
.reverify-status-list {
padding: 0 0 0 ($baseline/2);
margin: ($baseline/4) 0;
.status-item {
@extend %t-copy-sub2;
margin-bottom: 7px;
border-bottom: 0;
padding: 0;
Brian Talbot
committed
.icon {
display: inline-block;
vertical-align: top;
margin: ($baseline/10) ($baseline/4) 0 0;
}
Brian Talbot
committed
&.is-open .icon {
color: $action-primary-bg;
}
Brian Talbot
committed
&.is-pending .icon {
color: $warning-color;
}
Brian Talbot
committed
&.is-approved .icon {
color: $success-color;
}
Brian Talbot
committed
&.is-denied .icon {
color: $alert-color;
}
.label {
@extend %text-sr;
}
.course-name {
display: inline-block;
vertical-align: top;
width: 80%;
color: inherit;
}
}
}
@include clearfix();
box-sizing: border-box;
padding: $baseline;
border: 1px solid $border-color-l3;
.list--nav {
margin: ($baseline/2) 0 0 0;
padding: 0;
.nav__item {
@extend %t-weight4;
@include font-size(13);
margin-left: 26px;
.empty-dashboard-message {
text-align: center;
p {
color: $lighter-base-font-color;
margin-bottom: $baseline;
text-shadow: 0 1px rgba(255,255,255, 0.6);
Galen Frechette
committed
}
Galen Frechette
committed
a {
box-shadow: 0 1px 8px 0 $shadow-l1;
Galen Frechette
committed
@include box-sizing(border-box);
font-family: $sans-serif;
display: inline-block;
Galen Frechette
committed
letter-spacing: 1px;
margin-top: ($baseline/4);
margin-left: ($baseline/4);
padding: 15px 20px;
Galen Frechette
committed
Giulio Gratta
committed
&:hover, &:focus {
text-decoration: none;
// +Dashboard - Course Listing
// ====================
.dashboard {
.my-courses {
@include float(left);
margin: 0;
width: flex-grid(9);
.wrapper-header-courses {
border-bottom: 4px solid $border-color-l4;
margin-bottom: $baseline;
.header-courses {
@extend %t-title5;
@include padding-right($baseline/2);
}
}
Brian Talbot
committed
// UI: course list
.listing-courses {
Brian Talbot
committed
@extend %ui-no-list;
Brian Talbot
committed
.course-item {
margin-bottom: $baseline;
padding-bottom: $baseline;
Galen Frechette
committed
.course-container {
border: 2px solid $border-color-l4;
border-radius: 3px;
}
Brian Talbot
committed
&:last-child {
margin-bottom: 0;
border-bottom: none;
padding-bottom: 0;
}
Galen Frechette
committed
}
Brian Talbot
committed
}
Marco Morales
committed
}
}
Brian Talbot
committed
Marco Morales
committed
// +Dashboard - Course
// ====================
Marco Morales
committed
.dashboard .my-courses {
&:focus {
outline: none;
}
Marco Morales
committed
// UI: individual course item
.course {
@include box-sizing(box);
@include transition(all 0.15s linear 0s);
@include clearfix();
@extend %ui-depth2;
margin: ($baseline/2);
.details {
Brian Talbot
committed
@include clearfix();
Galen Frechette
committed
Marco Morales
committed
.wrapper-course-image {
@include float(left);
@include margin-right(flex-gutter());
width: flex-grid(3);
Galen Frechette
committed
.cover {
@include box-sizing(border-box);
@include transition(all 0.15s linear 0s);
@include float(left);
overflow: hidden;
position: relative;
Marco Morales
committed
max-height: 120px;
border-radius: ($baseline/5);
border: 1px solid $dashboard-course-cover-border;
border-bottom: 4px solid $dashboard-course-cover-border;
Marco Morales
committed
.course-image {
Marco Morales
committed
// "enrolled as" status
.sts-enrollment {
Marco Morales
committed
width: 100%;
position: relative;
bottom: 15px;
display: inline-block;
text-align: center;
Galen Frechette
committed
Marco Morales
committed
.label {
@extend %text-sr;
}
Marco Morales
committed
.deco-graphic {
position: absolute;
top: -5px;
@include right(0);
}
Galen Frechette
committed
Marco Morales
committed
.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;
Galen Frechette
committed
}
}
Marco Morales
committed
}
Galen Frechette
committed
Marco Morales
committed
.wrapper-course-details {
display: block;
@include float(left);
width: flex-grid(9);
padding: 0;
}
Marco Morales
committed
.course-title {
Marco Morales
committed
a, span {
@extend %t-title3;
@extend %t-light;
display: inline-block;
margin-bottom: ($baseline/2);
&:hover, &:focus {
text-decoration: none;
Marco Morales
committed
}
.course-info {
display: block;
@include float(left);
width: flex-grid(4);
padding: 0;
margin-top: ($baseline/2);
[class*="info-"] {
color: $gray-d1;
@extend %t-title6;
display: inline-block;
}
Marco Morales
committed
.info-date-block {
@extend %t-title7;
color: $gray; // WCAG 2.0 AA compliant
Marco Morales
committed
}
Marco Morales
committed
.wrapper-course-actions {
display: block;
@include float(right);
width: flex-grid(8);
padding: 0;
margin-top: ($baseline/2);
}
Marco Morales
committed
.course-actions {
Marco Morales
committed
// UI: course item actions
.action {
@include box-sizing(border-box);
@include margin-right($baseline/2);
@include float(right);
min-width: ($baseline*2);
color: $gray-l1;
border-radius: 3px;
padding: 12px;
border: 1px solid $white;
text-align: center;
Marco Morales
committed
&:hover, &:focus {
color: $gray-d3;
border: 1px solid $gray-l4;
}
Marco Morales
committed
// STATE: is-disabled
&.is-disabled {
color: $gray-l4;
}
Marco Morales
committed
// TYPE: facebook share
Marco Morales
committed
color: $facebook-blue;
Marco Morales
committed
// TYPE: twitter share
&.action-twitter {
color: $twitter-blue;
}
}
Marco Morales
committed
// UI: general actions dropdown layout
.wrapper-action-more {
display: inline-block;
position: relative;
@include float(right);
Christine Lytwynec
committed
.action-more {
@include font-size(14);
box-shadow: none;
background: $white;
background-image: none;
color: $gray;
line-height: 16px;
text-shadow: none;
}
Marco Morales
committed
.actions-dropdown {
@extend %ui-no-list;
@extend %ui-depth1;
display: none;
position: absolute;
top: ($baseline*2);
@include right(19px);
Marco Morales
committed
pointer-events: none;
min-width: ($baseline*7);
Marco Morales
committed
&.is-visible {
display: block;
pointer-events: auto;
}
Marco Morales
committed
.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);
Marco Morales
committed
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
Marco Morales
committed
&: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;
}
}
Marco Morales
committed
.actions-item {
@extend %t-title7;
display: block;
margin: 0;
Marco Morales
committed
&.is-hidden {
display: none;
}
.action {
@include margin-right(0);
&:hover, &:focus {
border: 1px solid transparent;
}
Marco Morales
committed
}
Marco Morales
committed
.course-status {
background: $yellow;
border: 1px solid $border-color-2;
box-shadow: 0 1px 0 0 rgba(255,255,255, 0.6);
margin-top: 17px;
@include margin-right(flex-gutter());
Marco Morales
committed
padding: ($baseline/4);
width: flex-grid(8);
@include float(left);
@include box-sizing(border-box);
Galen Frechette
committed
Marco Morales
committed
p {
color: $lighter-base-font-color;
font-style: italic;
letter-spacing: 1px;
text-align: center;
Galen Frechette
committed
}
Marco Morales
committed
}
Galen Frechette
committed
Marco Morales
committed
.course-status-completed {
background: $gray-l3;
color: $very-light-text;
Brian Talbot
committed
Marco Morales
committed
p {
color: $gray-d4;
Marco Morales
committed
span {
font-weight: bold;
Brian Talbot
committed
}
}
Marco Morales
committed
}
Brian Talbot
committed
Marco Morales
committed
.enter-course {
@extend %btn-pl-white-base;
Marco Morales
committed
@include float(right);
Galen Frechette
committed
Marco Morales
committed
&.archived {
Marco Morales
committed
}
Brian Talbot
committed
}
Marco Morales
committed
}
Brian Talbot
committed
Marco Morales
committed
// ====================
Marco Morales
committed
// UI: messages
.wrapper-messages-primary {
@include clearfix();
.messages-list {
margin: 0;
padding: 0;
}
Brian Talbot
committed
.message {
@extend %ui-depth1;
border-radius: 3px;
display: none;
margin: $baseline 0 ($baseline/2) 0;
Marco Morales
committed
padding: ($baseline/2) $baseline;
border-top: 1px solid $gray-l4;
color: $base-font-color; // Overrides the normal white color in this one case
Brian Talbot
committed
// STATE: shown
&.is-shown {
Marco Morales
committed
@include clearfix();
a {
font-family: $sans-serif;
Brian Talbot
committed
}
strong {
font-weight: 700;
a {
font-weight: 700;
}
}
Brian Talbot
committed
.actions {
@include clearfix();
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 0;
Brian Talbot
committed
}
// CASE: expandable
&.is-expandable {
Brian Talbot
committed
.message-title, .message-copy {
margin-bottom: 0;
Marco Morales
committed
display: inline-block;
}
.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;
}
}
Brian Talbot
committed
}
.wrapper-extended {
@include transition(opacity $tmg-f2 ease-in-out 0);
display: none;
opacity: 0.0;
Brian Talbot
committed
}
Marco Morales
committed
}
Brian Talbot
committed
Marco Morales
committed
// STATE: is expanded
&.is-expanded {
Marco Morales
committed
.ui-toggle-expansion {
@include rtl {
@include transform(rotate(-90deg));
Marco Morales
committed
@include ltr {
@include transform(rotate(90deg));
Marco Morales
committed
@include transform-origin(50% 50%);
}
.wrapper-extended {
display: block;
opacity: 1.0;
Brian Talbot
committed
}
}
Brian Talbot
committed
Marco Morales
committed
&.message-upsell {
Brian Talbot
committed
.wrapper-tip {
@include clearfix();
Brian Talbot
committed
Marco Morales
committed
@include float(left);
Brian Talbot
committed
.ui-toggle-expansion {
@include transition(all $tmg-f2 ease-in-out 0s);
Marco Morales
committed
@include font-size(18);
display: inline-block;
vertical-align: middle;
@include margin-right($baseline/4);
Brian Talbot
committed
Marco Morales
committed
@include float(right);
padding: ($baseline/4) 0;
width: flex-grid(9, 12);
display: inline-block;
.message-copy-bold{
font-weight: 600;
}
.action-upgrade-container{
@include float(right);
display: inline-block;
margin-top: ($baseline/2);
}
.action-upgrade {
@extend %btn-primary-green;
@include clearfix();
position: relative;
@include left($baseline/2);
@include padding(($baseline * 0.4), 0, ($baseline * 0.4), ($baseline * 0.75));
.action-upgrade-icon{
@include float(left);
display: inline;
@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
}
Brian Talbot
committed
.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;
}
}
Brian Talbot
committed
}
Marco Morales
committed
&.message-status {
Marco Morales
committed
border-color: $gray-l4;
.wrapper-message-primary {
@include clearfix();
}
.message-copy {
@extend %t-copy-sub1;
margin: 0;
}
.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;
}
Marco Morales
committed
@include float(left);
@include margin(0, 15px, 0, 0);
display: inline-block;
}
.btn {
@include box-sizing(border-box);
Marco Morales
committed
@include float(left);
border-radius: 3px;
font: normal 0.8rem/1.2rem $sans-serif;
letter-spacing: 1px;
padding: 6px 12px;
text-align: center;
&.disabled {
cursor: default !important;
&:hover, &:focus {
Marco Morales
committed
@include background-image(linear-gradient(top, #EEE 0%, #C2C2C2 50%, #ABABAB 50%, #B0B0B0 100% ));
background: #eee;
}
}
}
Marco Morales
committed
@include float(left);
font: normal 0.8rem/1.2rem $sans-serif;
letter-spacing: 1px;
padding: 6px 12px;
text-align: center;
}
}
.exam-registration-number {
font-family: $sans-serif;
font-size: 18px;
a {
font-family: $sans-serif;
.message-copy {
margin-top: ($baseline/4);
width: 55%;
}
&.exam-schedule {
.exam-button {
margin-top: ($baseline/4);
}
.exam-button {
@include button(simple, $pink);
Marco Morales
committed
@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 {
margin-top: 2px;
}
}
&.course-status-certavailable {
.message-copy {
width: flex-grid(6, 12);
position: relative;
@include float(left);
}
.actions-primary {
@include float(right);
.action {
@include margin(0, 0, ($baseline/2), ($baseline*.75));
float: none;
text-align: center;
&:last-child {
margin-bottom: 0;
}
.btn {
float: none;
}
}
.action-certificate .btn {
@extend %btn-inherited-primary;
@include box-sizing(border-box);
float: none;
border-radius: 3px;
display: block;
@include padding(7px, ($baseline*.75), 7px, ($baseline*.75));
text-align: center;
a:link, a:visited {
color: #fff;
}
}
.action-share .btn {
display: inline;
letter-spacing: 0;
}
}
}
Brian Talbot
committed
.actions-secondary {
margin-top: ($baseline/2);
border-top: 1px solid $gray-l4;
padding-top: ($baseline/2);
Brian Talbot
committed
.action-share {
@include float(right);
margin: 0;
}
}
Brian Talbot
committed
.certificate-explanation {
@extend %t-copy-sub1;
margin-top: ($baseline/2);
border-top: 1px solid $gray-l4;
padding-top: ($baseline/2);
Brian Talbot
committed
}
.verification-reminder {
width: flex-grid(8, 12);
Marco Morales
committed
@include float(left);
Brian Talbot
committed
}
.verification-cta {
width: flex-grid(4, 12);
Marco Morales
committed
@include float(left);
@include float(right);
}
Brian Talbot
committed
}
}
&.message-related-programs {
background: none;
border: none;
margin-top: ($baseline/4);
padding-bottom: 0;
.related-programs-preface {
@include float(left);
font-weight: bold;
}
ul {
display: inline;
padding: 0;
margin: 0;
}
li {