/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/**
     * 1. Set default font family to sans-serif.
     * 2. Prevent iOS and IE text size adjust after device orientation change,
     *    without disabling user zoom.
     */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
     * Remove default margin.
     */
body {
  margin: 0; }

/* HTML5 display definitions
       ========================================================================== */
/**
     * Correct `block` display not defined for any HTML5 element in IE 8/9.
     * Correct `block` display not defined for `details` or `summary` in IE 10/11
     * and Firefox.
     * Correct `block` display not defined for `main` in IE 11.
     */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
     * 1. Correct `inline-block` display not defined in IE 8/9.
     * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
     */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
     * Prevent modern browsers from displaying `audio` without controls.
     * Remove excess height in iOS 5 devices.
     */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
       * Address `[hidden]` styling not present in IE 8/9/10.
       */
[hidden] {
  display: none; }

/**
     * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
     */
template {
  display: none; }

/* Links
       ========================================================================== */
/**
       * Remove the gray background color from active links in IE 10.
       */
a {
  background-color: transparent; }

/**
     * Improve readability of focused elements when they are also in an
     * active/hover state.
     */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
       ========================================================================== */
/**
     * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
     */
abbr[title] {
  border-bottom: 1px dotted; }

/**
     * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
     */
b,
strong {
  font-weight: bold; }

/**
     * Address styling not present in Safari and Chrome.
     */
dfn {
  font-style: italic; }

/**
     * Address variable `h1` font-size and margin within `section` and `article`
     * contexts in Firefox 4+, Safari, and Chrome.
     */
h1 {
  font-size: 2em;
  /* Set 1 unit of vertical rhythm on the top and bottom margins. */
  margin: 0.75em 0; }

/**
       * Address styling not present in IE 8/9.
       */
mark {
  background: #ff0;
  color: #000; }

/**
     * Address inconsistent and variable font size in all browsers.
     */
small {
  font-size: 80%; }

/**
     * Prevent `sub` and `sup` affecting `line-height` in all browsers.
     */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
       ========================================================================== */
/**
       * Remove border when inside `a` element in IE 8/9/10.
       */
img {
  border: 0; }

/**
     * Correct overflow not hidden in IE 9/10/11.
     */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
       ========================================================================== */
/**
       * Address margin not present in IE 8/9 and Safari.
       */
figure {
  margin: 1.5em 40px; }

/**
     * Address differences between Firefox and other browsers.
     */
hr {
  box-sizing: content-box;
  height: 0; }

/**
     * Contain overflow in all browsers.
     */
pre {
  overflow: auto; }

/**
     * Address odd `em`-unit font size rendering in all browsers.
     */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
       ========================================================================== */
/**
     * Known limitation: by default, Chrome and Safari on OS X allow very limited
     * styling of `select`, unless a `border` property is set.
     */
/**
     * 1. Correct color not being inherited.
     *    Known issue: affects color of disabled elements.
     * 2. Correct font properties not being inherited.
     * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
     * 4. Address `font-family` inconsistency between `textarea` and other form in IE 7
     * 5. Improve appearance and consistency with IE 6/7.
     */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
     * Address `overflow` set to `hidden` in IE 8/9/10/11.
     */
button {
  overflow: visible; }

/**
     * Address inconsistent `text-transform` inheritance for `button` and `select`.
     * All other form control elements do not inherit `text-transform` values.
     * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
     * Correct `select` style inheritance in Firefox.
     */
button,
select {
  text-transform: none; }

/**
     * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
     *    and `video` controls.
     * 2. Correct inability to style clickable `input` types in iOS.
     * 3. Improve usability and consistency of cursor style between image-type
     *    `input` and others.
     * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
     *    Known issue: inner spacing remains in IE 6.
     */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
     * Re-set default cursor for disabled elements.
     */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
     * Remove inner padding and border in Firefox 4+.
     */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
     * Address Firefox 4+ setting `line-height` on `input` using `!important` in
     * the UA stylesheet.
     */
input {
  line-height: normal; }

/**
       * It's recommended that you don't attempt to style these elements.
       * Firefox's implementation doesn't respect box-sizing, padding, or width.
       *
       * 1. Address box sizing set to `content-box` in IE 8/9/10.
       * 2. Remove excess padding in IE 8/9/10.
       * 3. Remove excess padding in IE 7.
       *    Known issue: excess padding remains in IE 6.
       */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
     * Fix the cursor style for Chrome's increment/decrement buttons. For certain
     * `font-size` values of the `input`, it causes the cursor style of the
     * decrement button to change from `default` to `text`.
     */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
     * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
     * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
     */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */
  /**
       * Remove inner padding and search cancel button in Safari and Chrome on OS X.
       * Safari (but not Chrome) clips the cancel button when the search input has
       * padding (and `textfield` appearance).
       */ }
  input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

/**
     * Define consistent border, margin, and padding.
     */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
     * 1. Correct `color` not being inherited in IE 8/9/10/11.
     * 2. Remove padding so people aren't caught out if they zero out fieldsets.
     * 3. Correct alignment displayed oddly in IE 6/7.
     */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
     * Remove default vertical scrollbar in IE 8/9/10/11.
     */
textarea {
  overflow: auto; }

/**
     * Don't inherit the `font-weight` (applied by a rule above).
     * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
     */
optgroup {
  font-weight: bold; }

/* Tables
       ========================================================================== */
/**
     * Remove most spacing between table cells.
     */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

/*! Typebase.scss v0.1.0 | MIT License */
/* Setup */
html {
  /* Change default typefaces here */
  font-family: Garamond, serif;
  font-size: 137.5%;
  -webkit-font-smoothing: antialiased; }

/* Copy & Lists */
p {
  line-height: 1.5rem;
  margin-top: 1.5rem;
  margin-bottom: 0; }

ul,
ol {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem; }
  ul li,
  ol li {
    line-height: 1.5rem; }
  ul ul,
  ul ol,
  ol ul,
  ol ol {
    margin-top: 0;
    margin-bottom: 0; }

blockquote {
  line-height: 1.5rem;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem; }

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6,
legend {
  /* Change heading typefaces here */
  font-family: "Gill Sans",sans-serif;
  margin-top: 1.5rem;
  margin-bottom: 0;
  line-height: 1.5rem; }

h1 {
  font-size: 2.121rem;
  line-height: 2.25rem;
  margin-top: 2.25rem; }

h2 {
  font-size: 1.414rem; }

@media (min-width: 540px) {
  h1 {
    font-size: 3.535rem;
    line-height: 3.75rem;
    margin-top: 3rem; }
  h2 {
    font-size: 2.121rem;
    line-height: 2.25rem;
    margin-top: 2.25rem; } }

h3, legend {
  font-size: 1.414rem; }

h4 {
  font-size: 0.707rem; }

h5 {
  font-size: 0.47133rem; }

h6 {
  font-size: 0.3535rem; }

/* Tables */
table {
  margin-top: 1.5rem;
  border-spacing: 0px;
  border-collapse: collapse; }

td,
th {
  padding: 0;
  line-height: 33px; }

/* Code blocks */
code {
  vertical-align: bottom; }

/* Leading paragraph text */
.lead {
  font-size: 1.414rem; }

/* Hug a the block above you */
.hug {
  margin-top: 0; }

.main-header {
  background: -webkit-linear-gradient(#072b40, #041d2b);
  background: linear-gradient(#072b40, #041d2b);
  padding: 0.5em;
  color: #fff;
  font-family: "Gill Sans",sans-serif; }

.main-header ul {
  margin: 0;
  padding: 0;
  list-style: none; }

.home-form .live {
  background-color: #fff;
  padding: 1em 0.5em 1em 0.5em;
  font-size: 85%; }

.home-form .live p {
  margin: 0; }

.new-course {
  border-top: 1px solid #dbf0fb;
  margin-top: 2rem; }

.cta-footer {
  border-top: 1px solid #dbf0fb;
  margin-top: 2rem; }

@media (min-width: 540px) {
  .main-header ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
  .main-header li.home:after {
    content: " ";
    display: inline-block;
    width: 10px;
    height: 10px;
    background-color: #0b486b;
    margin-left: 1rem; }
  .main-header li:nth-child(2) {
    color: rgba(255, 255, 255, 0.8);
    padding-left: 1rem; }
  .main-header li:nth-child(3) {
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 200px;
        -ms-flex: 1 0 200px;
            flex: 1 0 200px;
    text-align: right; } }

@media (min-width: 940px) {
  .col1 {
    float: left;
    width: 47%; }
  .col2 {
    float: right;
    width: 47%; } }

.main-header a:link, .main-header a:visited {
  color: #fff;
  text-decoration: none; }

.main-header li:nth-child(2) a:link, .main-header li:nth-child(2) a:visited {
  color: rgba(255, 255, 255, 0.8); }

.largeheader {
  background-color: #072b40;
  padding: 1em 0 3em 0;
  color: #fff;
  border-top: 1px solid #08324b;
  font-family: "Gill Sans",sans-serif; }

.largeheader h1 {
  line-height: 1.1; }

.largeheader p.subtitle {
  font-family: "Gill Sans",sans-serif; }

.col-special {
  background-color: #dbf0fb;
  padding: 0.5rem 1rem;
  font-size: 85%;
  margin-top: 1rem; }

.col-special h2, .col-special h3 {
  margin-top: 0; }

.reasons h2 {
  text-align: center; }

.reasons ul {
  list-style: none;
  margin: 2rem 0 1rem 0;
  padding: 0; }

.reasons li {
  clear: left;
  border: 1px solid #dbf0fb;
  border-radius: 5px;
  background-color: #f8fcfe;
  padding: 1rem .5rem;
  margin: 0 0 1rem 0; }

.reasons li:before {
  content: "\201C";
  font-weight: bold;
  font-size: 400%;
  float: left;
  margin: -1.5rem 1rem 0 -1.5rem;
  padding: 0;
  line-height: 1;
  color: #71c2f0; }

@media (min-width: 940px) {
  .reasons .intro, .landing-content, .home-listing .box-listing {
    max-width: 740px;
    width: 65%;
    margin: 0 auto; }
  .reasons ul {
    max-width: 740px;
    width: 65%;
    margin-left: auto;
    margin-right: auto; }
  .largeheader h1 {
    float: left;
    width: 45%; }
  .largeheader .subtitle {
    float: right;
    width: 45%;
    margin-top: 4rem;
    text-align: right; }
  .col-special {
    float: right;
    width: 35%;
    margin-top: 0; }
  .col-content {
    width: 60%; }
  .home-form {
    position: absolute;
    top: 14em;
    right: 0;
    width: 30%;
    max-width: 420px;
    margin-right: 5%;
    box-shadow: 2px 2px 5px 2px rgba(0, 0, 0, 0.55); }
  .fixme {
    position: fixed;
    top: 100px; } }

.about-header {
  background-color: #000;
  background-image: url(/National_Library/20160930123623oe_/https://thecssworkshop.com/images/rachelandrew-dotcss.jpg);
  background-repeat: no-repeat;
  background-position: center;
  min-height: 400px;
  padding: 0.5em;
  color: #fff;
  font-family: "Gill Sans",sans-serif; }

.about-header h1 {
  font-size: 1.414rem; }

.form-wrapper {
  background-color: rgba(255, 255, 255, 0.7);
  padding: 10px;
  border: 1px solid #dbf0fb;
  font-family: "Gill Sans",sans-serif; }

.form-wrapper form, .form-wrapper .form-thankyou {
  background-color: white;
  padding: 0.1em 0.5em 1em 0.5em; }

.form-footer {
  background: -webkit-linear-gradient(white, #edeff1);
  background: linear-gradient(white, #edeff1);
  padding: 1em; }

.form-footer p {
  margin: 0;
  font-size: 0.707rem; }

.form-header {
  background: -webkit-linear-gradient(#444e5a, #2b3138);
  background: linear-gradient(#444e5a, #2b3138);
  color: #fff;
  padding: 1em; }

.form-header h2 {
  font-size: 1.414rem;
  line-height: 1.5rem;
  margin: 0; }

.form-header h2 + p {
  margin-top: 0; }

.cta-footer {
  margin-top: 3em; }

.error {
  border: 1px solid #ca0420;
  background-color: rgba(202, 4, 32, 0.1);
  display: block;
  border-radius: 5px;
  padding: .5em;
  margin: 1em 0; }

span.error {
  font-size: 75%; }

@media (min-width: 940px) {
  .cta-wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .cta-text {
    -webkit-box-flex: 2;
    -webkit-flex: 2;
        -ms-flex: 2;
            flex: 2;
    padding: 0 1em 0 0; }
  .cta-form {
    -webkit-box-flex: 3;
    -webkit-flex: 3;
        -ms-flex: 3;
            flex: 3; } }

.youtube-player {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  padding-top: 25px;
  height: 0;
  margin-top: 1em;
  border: 1px solid #ccc; }

.youtube-player iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.listing {
  margin: 2em 0 0 0;
  padding: 0;
  list-style: none;
  clear: both; }

.listing li {
  border-top: 1px solid #cad0d6;
  padding: 0 0 1em 0; }

.listing h2 a:link, .listing h2 a:visited {
  text-decoration: none; }

.course-attributes {
  font-size: .8rem;
  font-style: italic;
  margin: 1em 0; }

.course-attributes dt, .course-attributes dd {
  display: inline-block;
  padding: 0;
  margin: 0; }

.course-attributes dd {
  padding-right: 2em; }

.main-footer {
  background: -webkit-linear-gradient(#444e5a, #2b3138);
  background: linear-gradient(#444e5a, #2b3138);
  padding: 2em 0.5em 2em 0.5em;
  margin-top: 4em;
  color: #fff;
  font-family: "Gill Sans",sans-serif; }

.main-footer p {
  padding: 0;
  margin: 0; }

.main-footer a:link, .main-footer a:visited {
  color: #fff; }

.footer-nav {
  border-bottom: 1px solid #444e5a;
  margin: 0 0 1rem 0; }

.footer-nav ul {
  margin: 0 auto;
  padding: 0 0 1rem 0;
  width: 90%;
  max-width: 960px;
  list-style: none; }

@media (min-width: 540px) {
  .footer-nav ul {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2; } }

.courseheader {
  background-color: #072b40;
  padding: 1em 0 3em 0;
  color: #fff;
  border-top: 1px solid #08324b;
  font-family: "Gill Sans",sans-serif; }

.courseheader a:link,
.courseheader a:visited {
  color: #fff; }

.accountheader {
  background-color: #072b40;
  padding: 1em 0 3em 0;
  color: #fff;
  border-top: 1px solid #08324b;
  font-family: "Gill Sans",sans-serif; }

.accountnav {
  background-color: #093a56;
  color: #fff; }

.accountnav ul {
  list-style: none;
  max-width: 960px;
  margin: 0 auto;
  padding: 0.5em 0; }

.accountnav a,
.accountnav a:link,
.accountnav a:visited {
  padding: 0.4em 1em;
  color: #fff;
  text-decoration: none; }

@media (min-width: 540px) {
  .accountnav ul {
    padding: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .accountnav a,
  .accountnav a:link,
  .accountnav a:visited {
    display: inline-block; } }

.box-listing {
  margin-top: 1em; }

.box-listing ul {
  list-style: none;
  margin: 1em 0 0 0;
  padding: 0; }

.box-listing li {
  padding: 1rem 0;
  margin: 0;
  border-bottom: 1px solid #b8c0c9; }

.box-listing li:last-child {
  border: none; }

.box-listing h4 + p, .box-listing h3 + p {
  margin-top: .5rem; }

.box-listing a {
  text-decoration: none; }

.box-listing a h3, .box-listing a h4 {
  display: inline-block;
  border-bottom: 1px solid #dbe0e4; }

.page-listing ul {
  list-style: none;
  margin: 1em 0 0 0;
  padding: 0; }

.util-nav {
  list-style: none;
  margin: 1em 0 0 0;
  padding: 0.3em;
  border-bottom: 1px solid #dbf0fb;
  text-align: right;
  font-size: 0.707rem;
  font-family: "Gill Sans",sans-serif; }

.util-nav a {
  text-decoration: none; }

.nextlesson {
  text-align: right;
  margin: 4em 0 0 1em; }

.faq {
  margin: 0;
  padding: 0;
  list-style: none; }

.faq li {
  border-bottom: 1px solid #dbf0fb;
  padding-bottom: 1rem; }

/* standard data table formatting */
.data {
  width: 100%;
  font-size: 85%; }

.data thead tr {
  border-bottom: 1px solid #333; }

.data tr {
  border-bottom: 1px solid #999; }

.data tr:hover {
  background-color: #dbf0fb; }

.data th, .data td {
  text-align: right; }

.data th:first-child, .data td:first-child {
  text-align: left; }

.check-select {
  list-style: none;
  margin: 2em 0 0 0;
  padding: 0;
  -webkit-column-count: 2;
     -moz-column-count: 2;
          column-count: 2;
  font-size: 90%; }

.check-select li {
  line-height: 1.6;
  -webkit-column-break-inside: avoid;
     page-break-inside: avoid;
          break-inside: avoid; }

table.listing th {
  text-align: left;
  padding: .2em .5em;
  border-bottom: 1px solid #dee2e6; }

table.listing td {
  padding: .5em; }

.small-text {
  width: 2em; }

input[type="text"].med-text {
  width: 10em; }

.cta-link a:link, .cta-link a:visited {
  background-color: #f38630;
  color: #fff;
  border: 0;
  padding: .5rem 1rem;
  line-height: 1.2;
  display: inline-block;
  border-radius: 5px; }

.cta-link {
  text-align: center;
  margin: 1rem 0; }

.buy-cta {
  text-align: center;
  padding: 2em 0; }

.buy-cta input[type="submit"] {
  /*background-color: $primary-color;*/
  background-color: #f38630;
  color: #fff;
  border: 0;
  padding: .5rem 1rem;
  line-height: 1.2;
  display: block;
  width: 100%; }

.buy-cta .price {
  background-color: #556270;
  color: #fff;
  padding: .5rem 1rem;
  line-height: 1.2;
  display: block;
  width: 100%; }

@media (min-width: 540px) {
  .buy-cta input[type="submit"] {
    display: inline-block;
    border: 0;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    padding: .5rem 1rem;
    line-height: 1.2;
    width: auto; }
  .buy-cta .price {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    display: inline-block;
    padding: .5rem 1rem;
    line-height: 1.2;
    width: auto; } }

.not-onsale {
  background-color: #0b486b;
  color: #fff;
  font-family: "Gill Sans",sans-serif;
  border-radius: 5px;
  display: inline-block;
  padding: .5rem 1rem;
  line-height: 1.2; }

.not-onsale span {
  font-size: 85%; }

.shop-forms fieldset {
  border: 0;
  margin: 1em 0 0 0;
  padding: 0; }

.shop-forms legend {
  border-bottom: 1px solid #0b486b;
  margin-bottom: 0.5em;
  padding-bottom: 0.2em;
  display: block;
  width: 100%; }

.shop-forms input[type="submit"] {
  background-color: #0b486b;
  color: #fff;
  border: 0;
  border-radius: 5px;
  padding: .5rem 1rem;
  line-height: 1.2; }

.cart-item {
  border: 1px solid #b8c0c9;
  background-color: #edeff1;
  border-radius: 5px;
  padding: 1em;
  margin: 1em 0 0 0; }

.payment p {
  margin: 0;
  padding: 0; }

.payment h3 {
  padding-bottom: 0.5em; }

.payment {
  width: 80%;
  margin: 1em auto; }

.payment .smallprint {
  margin-top: 1em; }

.payment-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 400px;
  margin: 0 auto; }

.payment-wrapper * {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

.payment-wrapper .or {
  text-align: center; }

.stripe-payment {
  text-align: center;
  padding: 2em 0 2em 0; }

.paypal-payment {
  text-align: center;
  padding: 2em 0 2em 0; }

input[type="submit"].cta-paypal {
  font-weight: bold;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
  border-radius: 4px;
  font-size: 14px;
  font-weight: bold;
  background-color: #e5a434;
  background-image: -webkit-linear-gradient(#f9f9f0, #e5a434 85%, #e5a434);
  background-image: linear-gradient(#f9f9f0, #e5a434 85%, #e5a434);
  border: 1px solid #e5a434;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  color: #293961;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
  position: relative;
  padding: 0 12px;
  height: 30px;
  min-height: 30px;
  border: 0;
  line-height: 30px; }

.item-confirm {
  padding: 1rem 0;
  margin-top: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-top: 1px solid #b8c0c9; }

.invoice {
  border-top: 1px solid #b8c0c9;
  margin-top: 2rem;
  font-size: 80%;
  font-family: "Gill Sans",sans-serif; }

.invoice dl {
  margin-top: 0; }

.invoice dt {
  font-weight: bold; }

.invoice dd {
  margin: 0 0 .5rem 0;
  padding: 0; }

.invoice-top .customer-address,
.invoice-top .meta,
.invoice-top .oure-address {
  margin: 0 0 1rem 0; }

@media (min-width: 940px) {
  .invoice-top {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 1rem; }
  .invoice-top .customer-address {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 33%;
        -ms-flex: 1 1 33%;
            flex: 1 1 33%;
    margin: 0; }
  .invoice-top .meta {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 33%;
        -ms-flex: 1 1 33%;
            flex: 1 1 33%;
    margin: 0; }
  .invoice-top .our-address {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 33%;
        -ms-flex: 1 1 33%;
            flex: 1 1 33%;
    margin: 0; } }

.invoice .order-details {
  width: 100%; }

.invoice .order-details tr.item-row {
  border-bottom: 1px solid #999; }

.invoice .order-details td {
  text-align: right; }

.invoice .order-details thead tr {
  border-bottom: 1px solid #333; }

.invoice .order-details th {
  text-align: right; }

.invoice .order-details thead th:first-child,
.invoice .order-details .item-row td:first-child {
  text-align: left; }

.invoice .conversion-rates {
  margin-top: 2em;
  border: 1px solid #999; }

@media (min-width: 940px) {
  .invoice .conversion-rates {
    width: 33%;
    margin-top: 0; } }

.invoice .conversion-rates table {
  margin: 0;
  border-top: 1px solid #999;
  width: 100%; }

.invoice .conversion-rates th,
.invoice .conversion-rates td {
  padding: 0 .5rem;
  text-align: left; }

.invoice .conversion-rates .rate {
  padding: .5rem; }

@media only screen and (max-width: 600px) {
  table, thead, tbody, th, td, tr,
  .invoice .order-details td,
  .invoice .order-details th {
    display: block;
    text-align: left; } }

/* http://prismjs.com/download.html?themes=prism-okaidia&languages=markup+css+clike+javascript&plugins=line-numbers */
/**
 * okaidia theme for JavaScript, CSS and HTML
 * Loosely based on Monokai textmate theme by http://www.monokai.nl/
 * @author ocodia
 */
code[class*="language-"],
pre[class*="language-"] {
  color: #f8f8f2;
  text-shadow: 0 1px rgba(0, 0, 0, 0.3);
  font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
  direction: ltr;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
  line-height: 1.5;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: none; }

/* Code blocks */
pre[class*="language-"] {
  padding: 1em;
  margin: .5em 0;
  overflow: auto;
  border-radius: 0.3em; }

:not(pre) > code[class*="language-"],
pre[class*="language-"] {
  background: #272822; }

/* Inline code */
:not(pre) > code[class*="language-"] {
  padding: .1em;
  border-radius: .3em;
  white-space: normal; }

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
  color: slategray; }

.token.punctuation {
  color: #f8f8f2; }

.namespace {
  opacity: .7; }

.token.property,
.token.tag,
.token.constant,
.token.symbol,
.token.deleted {
  color: #f92672; }

.token.boolean,
.token.number {
  color: #ae81ff; }

.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
  color: #a6e22e; }

.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string,
.token.variable {
  color: #f8f8f2; }

.token.atrule,
.token.attr-value,
.token.function {
  color: #e6db74; }

.token.keyword {
  color: #66d9ef; }

.token.regex,
.token.important {
  color: #fd971f; }

.token.important,
.token.bold {
  font-weight: bold; }

.token.italic {
  font-style: italic; }

.token.entity {
  cursor: help; }

pre.line-numbers {
  position: relative;
  padding-left: 3.8em;
  counter-reset: linenumber; }

pre.line-numbers > code {
  position: relative; }

.line-numbers .line-numbers-rows {
  position: absolute;
  pointer-events: none;
  top: 0;
  font-size: 100%;
  left: -3.8em;
  width: 3em;
  /* works for line-numbers below 1000 lines */
  letter-spacing: -1px;
  border-right: 1px solid #999;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.line-numbers-rows > span {
  pointer-events: none;
  display: block;
  counter-increment: linenumber; }

.line-numbers-rows > span:before {
  content: counter(linenumber);
  color: #999;
  display: block;
  padding-right: 0.8em;
  text-align: right; }

@media print {
  main, .invoice {
    font-size: 12pt;
    line-height: 1.2; }
  h1 {
    font-size: 16pt;
    margin: 0; }
  h2 {
    font-size: 14pt;
    margin: 0 0 20pt 0;
    page-break-after: avoid; }
  h3, h4, h5 {
    font-size: 11pt;
    margin: 0 0 20pt 0;
    page-break-after: avoid; }
  p {
    margin: 0 0 20pt 0;
    page-break-inside: avoid; }
  .main-header, .main-footer, .accountnav, .embed, .util-nav {
    display: none; }
  .invoice .conversion-rates {
    width: 60%; }
  .accountheader, .courseheader {
    padding: 0;
    margin: 0; }
  .invoice {
    margin-top: 0; } }

html {
  box-sizing: border-box; }

*, *:before, *:after {
  box-sizing: inherit; }

body {
  color: #010a0f;
  /*display: flex;*/
  min-height: 100vh;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

/*main {
  flex: 1;
}*/
a:link, a:visited {
  color: #333b43; }

a:hover {
  color: #718193; }

form label {
  display: block;
  margin: 0.5em 0 0.1em 0; }

select {
  width: 220px; }

@media (min-width: 540px) {
  select {
    width: auto; } }

form input[type="text"], form input[type="email"], form input[type="password"] {
  width: 100%;
  padding: .2em;
  border: 1px solid #94a1ae;
  border-radius: 3px; }

figure {
  margin: 2rem 0 2rem 0;
  padding: 0; }

figcaption {
  color: #556270;
  padding-bottom: .5rem;
  border-bottom: 1px solid #dbe0e4; }

figcaption p {
  margin: 0;
  padding: 0;
  font-size: 85%; }

.embed {
  margin: 1rem 0 2rem 0;
  border: 1px solid #b8c0c9; }

.buttons {
  text-align: center;
  padding-top: 1em; }

.cta-standard {
  margin: 0.5em auto 0 auto;
  padding: 0.3em 0;
  width: 90%;
  text-align: center; }

.cta-large {
  margin: 0.5em auto 0 auto;
  padding: 0.3em 0;
  width: 90%;
  border: 0;
  border-radius: 8px;
  color: #fff;
  background-color: #0b486b; }

.cta-mini, a.cta-mini:link, a.cta-mini:visited {
  font-size: 80%;
  margin: 0.5em auto 0 auto;
  padding: 0.3em 0.8em;
  border: 0;
  border-radius: 4px;
  color: #fff;
  background-color: #0b486b;
  text-decoration: none; }

.wrapper {
  margin: 0 auto;
  width: 90%; }

@media (min-width: 1024px) {
  .wrapper {
    max-width: 960px; } }

pre {
  background-color: #272822; }

.smallprint {
  font-size: .8rem;
  color: #666; }

.clearfix:after {
  content: "";
  display: table;
  clear: both; }
