Files
the-example-app-nodejs/public/stylesheets/style.css
2017-11-07 17:33:32 +01:00

1307 lines
22 KiB
CSS

/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in
* IE on Windows Phone and in iOS.
*/
html {
line-height: 1.15; /* 1 */
-ms-text-size-adjust: 100%; /* 2 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers (opinionated).
*/
body {
margin: 0;
}
/**
* Add the correct display in IE 9-.
*/
article,
aside,
footer,
header,
nav,
section {
display: block;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/* Grouping content
========================================================================== */
/**
* Add the correct display in IE 9-.
* 1. Add the correct display in IE.
*/
figcaption,
figure,
main { /* 1 */
display: block;
}
/**
* Add the correct margin in IE 8.
*/
figure {
margin: 1em 40px;
}
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
-webkit-box-sizing: content-box;
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/* Text-level semantics
========================================================================== */
/**
* 1. Remove the gray background on active links in IE 10.
* 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
*/
a {
background-color: transparent; /* 1 */
-webkit-text-decoration-skip: objects; /* 2 */
}
/**
* 1. Remove the bottom border in Chrome 57- and Firefox 39-.
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted; /* 2 */
}
/**
* Prevent the duplicate application of `bolder` by the next rule in Safari 6.
*/
b,
strong {
font-weight: inherit;
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct font style in Android 4.3-.
*/
dfn {
font-style: italic;
}
/**
* Add the correct background and color in IE 9-.
*/
mark {
background-color: #ff0;
color: #000;
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Embedded content
========================================================================== */
/**
* Add the correct display in IE 9-.
*/
audio,
video {
display: inline-block;
}
/**
* Add the correct display in iOS 4-7.
*/
audio:not([controls]) {
display: none;
height: 0;
}
/**
* Remove the border on images inside links in IE 10-.
*/
img {
border-style: none;
}
/**
* Hide the overflow in IE.
*/
svg:not(:root) {
overflow: hidden;
}
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers (opinionated).
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: sans-serif; /* 1 */
font-size: 100%; /* 1 */
line-height: 1.15; /* 1 */
margin: 0; /* 2 */
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
* controls in Android 4.
* 2. Correct the inability to style clickable types in iOS and Safari.
*/
button,
html [type="button"], /* 1 */
[type="reset"],
[type="submit"] {
-webkit-appearance: button; /* 2 */
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: 0.35em 0.75em 0.625em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
-webkit-box-sizing: border-box;
box-sizing: border-box; /* 1 */
color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
/**
* 1. Add the correct display in IE 9-.
* 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
display: inline-block; /* 1 */
vertical-align: baseline; /* 2 */
}
/**
* Remove the default vertical scrollbar in IE.
*/
textarea {
overflow: auto;
}
/**
* 1. Add the correct box sizing in IE 10-.
* 2. Remove the padding in IE 10-.
*/
[type="checkbox"],
[type="radio"] {
-webkit-box-sizing: border-box;
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in IE 9-.
* 1. Add the correct display in Edge, IE, and Firefox.
*/
details, /* 1 */
menu {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/* Scripting
========================================================================== */
/**
* Add the correct display in IE 9-.
*/
canvas {
display: inline-block;
}
/**
* Add the correct display in IE.
*/
template {
display: none;
}
/* Hidden
========================================================================== */
/**
* Add the correct display in IE 10-.
*/
[hidden] {
display: none;
}
h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child {
margin-top: 0;
}
a {
color: inherit;
text-decoration: none;
}
/* Based on FormHack v1.2.0 (formhack.io) */
/* But with some custom modifications */
/* Config ----------------------------- */
:root {
/* Font */
/* Borders */
/* Inputs, Textareas, Select, Option */
/* Select Vendor Styling */ /* comment this out to maintain vendor styling */
/* Buttons & Input Submits */
/* Layout */ /* change to "10px auto" to center */
}
/* Global Reset Styles ------------------ */
input,
textarea,
select,
option,
optgroup,
button,
legend,
fieldset,
.cta {
-webkit-box-sizing: border-box;
box-sizing: border-box;
outline: none;
font-family: 'Raleway', sans-serif;
font-size: 16px;
color: rgb(40, 40, 40);
vertical-align: top;
display: block;
margin: 16px 0;
margin: 1rem 0;
text-align: left;
}
datalist {
font-family: 'Raleway', sans-serif;
font-size: 16px;
}
label {
display: block;
margin: 16px 0;
margin: 1rem 0;
text-align: left;
font-weight: bold
}
label + input {
margin-top: -8px;
margin-top: -0.5rem;
}
/* Input & Textarea ------------------ */
/* Fields with standard width */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="color"],
input[type="date"],
input[type="datetime-local"],
input[type="month"],
input[type="number"],
input[type="tel"],
input[type="time"],
input[type="url"],
input[type="week"],
input[list],
input[type="file"],
/* select, */
textarea {
width: 100%;
max-width: 100%;
padding: 8px;
background-color: #fff;
border-radius: 5px;
border-width: 1px;
border-style: solid;
border-color: rgb(200, 200, 200);
}
/* Fields with standard height */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="color"],
input[type="date"],
input[type="datetime-local"],
input[type="month"],
input[type="number"],
input[type="tel"],
input[type="time"],
input[type="url"],
input[type="week"],
input[list] {
height: 40px;
-webkit-appearance: none;
}
/* Other */
textarea {
-webkit-appearance: none;
overflow: auto;
}
input[type="range"] {
height: 40px;
width: 100%;
max-width: 100%;
}
input[type="file"] {
min-height: 40px;
}
input[type="search"] {
height: 40px;
-webkit-appearance: none;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
input[type="checkbox"],
input[type="radio"] {
display: inline-block;
vertical-align: middle;
}
/* For checkbox and radio to be centered, need to wrap the input and label in a span -
/* .checkbox-container {
/* display: block;
/* text-align: center;
/* }
/* Fieldset ------------------ */
fieldset {
padding: 0;
border: 0;
}
legend {
padding: 0;
font-weight: inherit;
}
/* Buttons, Input Type Submit/Reset ------------------ */
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
input[type="image"],
.cta {
display: inline-block;
height: 40px;
min-width: 200px;
background-color: #5c9fef;
padding: 0 2em;
cursor: pointer;
line-height: 40px;
color: #fff;
font-weight: normal;
-webkit-appearance: none;
-moz-appearance: none;
border: none;
border-radius: 3px;
text-align: center;
}
input[type="image"] {
text-align: center;
padding: 8px;
}
/* States ------------------ */
input[disabled],
textarea[disabled],
select[disabled],
option[disabled],
button[disabled] {
cursor: not-allowed;
}
input:focus,
textarea:focus,
select:focus,
option:focus,
button:focus,
.cta:focus {
background-color: rgb(125, 178, 242);
color: #fff;
}
input[type="checkbox"]:focus,
input[type="radio"]:focus {
outline: #5c9fef solid 2px;
}
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
button:focus,
input[type="button"]:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
.cta:hover,
.cta:focus {
background-color: rgb(125, 178, 242);
color: #fff;
}
.form-item + .form-item {
margin-top: 16px;
margin-top: 1rem;
}
.form-item .help-text {
font-size: 0.9em;
color: #8091a5;
margin-top: -16px;
margin-top: -1rem;
}
body {
background-color: #fff;
color: #2a303a;
font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
font-size: 16px;
font-size: 1rem;
line-height: 1.5em;
}
#main {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
min-height: 100vh;
}
#main__header {
-webkit-box-flex: 0;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
}
#main__content {
-webkit-box-flex: 1;
-ms-flex: 1 0 auto;
flex: 1 0 auto;
}
#main__footer {
-webkit-box-flex: 0;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
}
.wrapper {
max-width: 1024px;
margin: 0 auto;
padding: 0 2vw;
}
@media (min-width: 700px) {
.wrapper {
padding: 0;
}
}
@media (min-width: 700px) {
.wrapper-with-sidebar {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
}
@media (min-width: 700px) {
.wrapper__sidebar {
-webkit-box-flex: 0;
-ms-flex: 0 0 220px;
flex: 0 0 220px;
padding: 1rem;
border-radius: 7px;
-webkit-box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, .45);
box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, .45);
}
.wrapper__sidebar > h2 {
margin-bottom: 3rem;
}
}
.wrapper__content {
padding: 16px 0;
padding: 1rem 0;
}
@media (min-width: 700px) {
.wrapper__content {
-webkit-box-flex: 1;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
margin-left: 1rem;
}
}
.grid-list {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
margin: 0 -8px;
margin: 0 -0.5rem
}
.grid-list > * {
-webkit-box-sizing: border-box;
box-sizing: border-box;
margin: 0 8px 16px;
margin: 0 0.5rem 1rem;
-webkit-box-flex: 0;
-ms-flex: 0 0 calc(50% - 1rem);
flex: 0 0 calc(50% - 1rem);
}
@media (min-width: 700px) {
.grid-list > * {
-webkit-box-flex: 0;
-ms-flex: 0 0 calc(33% - 1rem);
flex: 0 0 calc(33% - 1rem);
}
}
.grid-list-small {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
margin: 0 -8px;
margin: 0 -0.5rem
}
.grid-list-small > * {
-webkit-box-sizing: border-box;
box-sizing: border-box;
margin: 0 8px 16px;
margin: 0 0.5rem 1rem;
-webkit-box-flex: 0;
-ms-flex: 0 0 calc(50% - 1rem);
flex: 0 0 calc(50% - 1rem);
}
.table-of-contents ul {
list-style: none;
margin: 16px 0;
margin: 1rem 0;
padding: 0;
padding-left: 32px;
padding-left: 2rem;
}
.table-of-contents ul li {
margin: 0 0 16px;
margin: 0 0 1rem;
padding: 0;
}
.table-of-contents ul a {
display: block;
}
.table-of-contents ul a.active {
position: relative;
font-weight: bold;
}
.table-of-contents ul a.active:before,
.table-of-contents ul a.active:after {
position: absolute;
top: 0;
}
.table-of-contents ul a.active:before {
content: '';
left: -48px;
left: -3rem;
bottom: 0;
width: 3px;
background: #536171;
}
.table-of-contents ul a.active:after {
content: '👁';
left: -32px;
left: -2rem;
}
.sidebar-menu ul {
list-style: none;
margin: 16px 0;
margin: 1rem 0;
padding: 0;
}
.sidebar-menu ul li {
margin: 0 0 16px;
margin: 0 0 1rem;
padding: 0;
}
.sidebar-menu ul a {
display: block;
}
.sidebar-menu ul a.active {
font-weight: bold;
}
#header {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin: 16px 0;
margin: 1rem 0;
padding-bottom: 16px;
padding-bottom: 1rem;
border-bottom: 2px solid #f2f5f7;
}
@media (min-width: 700px) {
#header {
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
}
}
#header .header__logo,
#header .header__navarea {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 0;
-ms-flex: 0 0 100%;
flex: 0 0 100%;
}
#header .header__logo {
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
@media (min-width: 700px) {
#header .header__logo {
-webkit-box-flex: 0;
-ms-flex: 0 0 200px;
flex: 0 0 200px;
}
}
#header .header__navarea {
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-ms-flex-pack: distribute;
justify-content: space-around;
}
@media (min-width: 700px) {
#header .header__navarea {
-webkit-box-flex: 1;
-ms-flex: 1 0 auto;
flex: 1 0 auto;
min-height: 90px;
}
}
#header .navigation ul {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
list-style: none;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin: 0;
padding: 0;
}
@media (min-width: 700px) {
#header .navigation ul {
-webkit-box-pack: end;
-ms-flex-pack: end;
justify-content: flex-end;
}
}
#header .navigation ul li {
margin: 0;
}
#header .navigation ul li + li {
margin-left: 4px;
margin-left: 0.25rem;
}
#header .navigation ul li a {
display: block;
text-transform: uppercase;
font-weight: bold;
padding: 0.7em 1em;
color: #8091a5;
border-radius: 3px;
}
#header .navigation ul li a.active,
#header .navigation ul li a:hover {
background: #f7f9fa;
}
#header .navigation ul li a.active {
color: #2a303a;
}
.header__navarea form {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
@media (min-width: 700px) {
.header__navarea form {
-webkit-box-pack: end;
-ms-flex-pack: end;
justify-content: flex-end;
}
}
.header__navarea form > * {
-webkit-box-flex: 0;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
}
.header__navarea form fieldset {
padding: 0.2em 1em;
margin: 0;
border: none;
background: #f7f9fa;
color: #8091a5;
border-radius: 3px;
font-size: 0.8em;
}
.header__navarea form fieldset + fieldset {
margin-left: 16px;
margin-left: 1rem;
}
.header__navarea form fieldset label + select {
margin-left: 0.5em;
}
.header__navarea form fieldset select,
.header__navarea form fieldset label {
display: inline-block;
margin-top: 0;
margin-bottom: 0;
}
#footer {
margin: 16px 0;
margin: 1rem 0;
padding-top: 16px;
padding-top: 1rem;
border-top: 2px solid #f2f5f7
}
#footer .upper {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
#footer .upper > * {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
#footer .upper .navigation {
-webkit-box-flex: 1;
-ms-flex: 1 0 auto;
flex: 1 0 auto;
font-size: 0.9em;
}
#footer .upper .navigation ul {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
list-style: none;
margin: 0;
padding: 0;
}
#footer .upper .navigation ul li {
margin: 0;
}
#footer .upper .navigation ul li + li {
margin-left: 32px;
margin-left: 2rem;
}
#footer .upper .apps {
-webkit-box-flex: 0;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
}
#footer .upper .apps a {
display: inline-block;
width: 150px;
}
#footer .upper .apps a + a {
margin-left: 16px;
margin-left: 1rem;
}
#footer .upper .apps a img {
width: 100%;
height: auto;
}
#footer .lower {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
#footer .lower .disclaimer {
-webkit-box-flex: 1;
-ms-flex: 1 0 auto;
flex: 1 0 auto;
font-size: 0.7em;
color: #8091a5;
}
#footer .lower .social {
-webkit-box-flex: 0;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
}
.hero {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
}
.hero__image {
background-color: #20B5B6;
width: 65%;
height: 600px;
border-radius: .375rem;
-webkit-box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, .45);
box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, .45);
}
.featured-cards-list {
width: 30%;
height: 600px;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
}
.featured-cards__list {
background-color: #00AAE0;
height: 150px;
border-radius: .375rem;
-webkit-box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, .45);
box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, .45);
}
.course-card {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
min-height: 30vh;
padding: 16px;
padding: 1rem;
border-radius: 7px;
-webkit-box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, .45);
box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, .45)
}
.course-card > * + * {
margin-top: 16px;
margin-top: 1rem;
}
.course-card__categories {
-webkit-box-flex: 0;
-ms-flex: 0 0 1.5em;
flex: 0 0 1.5em;
color: #8091a5;
}
.course-card__title {
-webkit-box-flex: 1;
-ms-flex: 1 1 auto;
flex: 1 1 auto
}
.course-card__title h2 {
margin: 0;
}
.course-card__description {
-webkit-box-flex: 1;
-ms-flex: 1 1 auto;
flex: 1 1 auto
}
.course-card__description p {
margin: 0;
}
.course-card__link {
-webkit-box-flex: 0;
-ms-flex: 0 0 auto;
flex: 0 0 auto
}
.course-card__link a {
display: inline-block;
padding-bottom: 0.3em;
border-bottom: 1px solid #5c9fef;
text-transform: uppercase;
color: #5c9fef;
}
.module {
max-width: 1024px;
margin: 0 auto;
padding: 0 2vw;
}
@media (min-width: 700px) {
.module {
padding: 0;
}
}
.module img {
width: 100%;
height: auto;
}
.module + .module {
margin-top: 16px;
margin-top: 1rem;
}