@import url(https://fonts.googleapis.com/css?family=Lato:300italic,700italic,300,700);

body {
  padding:50px;
  font:14px/1.5 system, -apple-system, ".SFNSText-Regular", "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", sans-serif;
  color:#555;
  font-weight:300;
}

h1, h2, h3, h4, h5, h6 {
  color:#222;
  margin:0 0 20px;
}

p, ul, ol, table, pre, dl {
  margin:0 0 20px;
}

h1, h2, h3 {
  line-height:1.1;
}

h1 {
  font-size:28px;
}

h2 {
  color:#393939;
}

h3, h4, h5, h6 {
  color:#494949;
}

a {
  color:#39c;
  font-weight:400;
  text-decoration:none;
}

a:hover {
  color:#069;
}

a small {
  font-size:11px;
  color:#777;
  margin-top:-0.6em;
  display:block;
}

a:hover small {
  color:#777;
}

.wrapper {
  width:860px;
  margin:0 auto;
}
.wrapper::after {
  content: "";
  display: table;
  clear: both;
}

blockquote {
  border-left:1px solid #e5e5e5;
  margin:0;
  padding:0 0 0 20px;
  font-style:italic;
}

code, pre {
  font-family:Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal, monospace;
  color:#333;
  font-size:12px;
}

pre {
  padding:8px 15px;
  background: #f8f8f8;
  border-radius:5px;
  border:1px solid #e5e5e5;
  overflow-x: auto;
}

table {
  width:100%;
  border-collapse:collapse;
}

th, td {
  text-align:left;
  padding:5px 10px;
  border-bottom:1px solid #e5e5e5;
}

dt {
  color:#444;
  font-weight:700;
}

th {
  color:#444;
}

img {
  max-width:100%;
}

header {
  width:270px;
  float:left;
}
header .logo {
  width:6em;
}

header .student-name {
  font-weight: bold;
  color: #164a6e;
}

header nav ul {
  list-style: none;
  padding: 0;
}

.btn-bar ul {
  list-style:none;
  height:40px;

  padding:0;

  background: #eee;
  background: -moz-linear-gradient(top, #f8f8f8 0%, #dddddd 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(100%,#dddddd));
  background: -webkit-linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
  background: -o-linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
  background: -ms-linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
  background: linear-gradient(top, #f8f8f8 0%,#dddddd 100%);

  border-radius:5px;
  border:1px solid #d2d2d2;
  box-shadow:inset #fff 0 1px 0, inset rgba(0,0,0,0.03) 0 -1px 0;
  width:270px;
}

.btn-bar li {
  width:89px;
  float:left;
  border-right:1px solid #d2d2d2;
  height:40px;
}

.btn-bar li:first-child a {
  border-radius:5px 0 0 5px;
}

.btn-bar li:last-child a {
  border-radius:0 5px 5px 0;
}

.btn-bar ul a {
  line-height:1;
  font-size:11px;
  color:#999;
  display:block;
  text-align:center;
  padding-top:6px;
  height:34px;
}

.btn-bar ul a:hover {
  color:#999;
  background: -moz-linear-gradient(top, #fff 0%, #ddd 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(100%,#ddd));
  background: -webkit-linear-gradient(top, #fff 0%,#ddd 100%);
  background: -o-linear-gradient(top, #fff 0%,#ddd 100%);
  background: -ms-linear-gradient(top, #fff 0%,#ddd 100%);
  background: linear-gradient(top, #fff 0%,#ddd 100%);
}

.btn-bar ul a:active {
  -webkit-box-shadow: inset 0px 2px 2px 0px #ddd;
  -moz-box-shadow: inset 0px 2px 2px 0px #ddd;
  box-shadow: inset 0px 2px 2px 0px #ddd;
}

strong {
  color:#222;
  font-weight:700;
}

.btn-bar ul li + li {
  width:88px;
  border-left:1px solid #fff;
}

.btn-bar ul li + li + li {
  border-right:none;
  width:89px;
}

.btn-bar ul a strong {
  font-size:14px;
  display:block;
  color:#222;
}

.progress-action {
  float: right;
  color: #467c46;
}
.progress-action .btn {
  font-size: 0.8em;
}
.is-complete {
  margin-left: 0.5em;
  color: #467c46;
}

img.instructor {
  width: 10em;
  float: right;
}

section {
  width:500px;
  float:right;
  padding-bottom:50px;
}

small {
  font-size:11px;
}

hr {
  border:0;
  background:#e5e5e5;
  height:1px;
  margin:0 0 20px;
}

footer {
  margin-top:40px;
  color:#999;
  font-size:11px;
  text-align: center;
}

.btn, .btn:visited {
  -webkit-border-radius: 3;
  -moz-border-radius: 3;
  border-radius: 3px;
  font-family: Arial;
  color: #ffffff;
  font-size: 1.5em;
  background: #3498db;
  padding: 0.4em 1em;
  margin-top: 50px;
  text-decoration: none;
  box-shadow: 1px 2px 2px #ccf;
}

.btn:hover {
  background: #3cb0fd;
  box-shadow: none;
}

.btn:active {
  background: #62baf5;
  box-shadow: none;
}
[type=submit].btn {
  border-radius: 0.3em;
  padding: 0.2em 1em;
  border: 1px solid transparent;
  margin-top: 0;
  cursor: pointer;
}

.cta {
  text-align: center;
}

.modal-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #bde;
  opacity: 0.5;
  z-index: 2;
  overflow: hidden;
}

.modal {
  position: absolute;
  top: 10em;
  left: 35%;
  width: 30%;
  z-index: 3;
  background-color: #fff;
  border: 1px solid #999;
  border-radius: 1em;
  box-shadow: 2px 4px 4px #ccc;
  padding: 1em;
}

.name-entry label, .name-entry input {
  font-size: 1.1em;
}
input, textarea {
  outline: none;
}
[type=text]:focus, textarea:focus {
  border: 1px solid #eee;
  box-shadow: 0px 0px 6px #3498db;
}

.final-survey {
  border: 1px solid #eee;
  border-radius: 0.5em;
  background-color: #fcfcfc;
  padding: 1em;
}
.final-survey textarea {
  display: block;
  width: 100%;
  height: 5em;
}
.final-survey .form-group {
  margin-top: 1em;
}
.final-survey .cta {
  margin-top: 2em;
}
input.medium {
  width: 15em;
}
input.block {
  display: block;
  width: 100%;
}

time.estimate {
  color: #888;
  font-weight: normal;
}
time.estimate::before {
  content: "(";
}
time.estimate::after {
  content: ")";
}
time.estimate {
  position: relative;
  top: -1.3em;
}
h1 time.estimate, h2 time.estimate, h3 time.estimate {
  font-size: 0.8em;
  margin-left: 1em;
  top: auto;
}

.toc ul {
  list-style: none;
  padding: 0;
}
.toc li {
  display: inline-block;
  margin: 0 0.2em;
}
.toc li::after {
  content: " |";
}
.toc li:last-child::after {
  content: "";
}


@media print, screen and (max-width: 960px) {

  div.wrapper {
    width:auto;
    margin:0;
  }

  header, section, footer {
    float:none;
    position:static;
    width:auto;
  }

  header {
    padding-right:320px;
  }

  section {
    border:1px solid #e5e5e5;
    border-width:1px 0;
    padding:20px 0;
    margin:0 0 20px;
  }

  header a small {
    display:inline;
  }
}

@media print, screen and (max-width: 720px) {
  body {
    word-wrap:break-word;
  }

  header {
    padding:0;
  }

  header p.view {
    position:static;
  }

  pre, code {
    word-wrap:normal;
  }
}

@media print, screen and (max-width: 480px) {
  body {
    padding:15px;
  }
}

@media print {
  body {
    padding:0.4in;
    font-size:12pt;
    color:#444;
  }
}
