/* Eric Meyer's Reset Reloaded */
/* http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/ */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

/* remember to define focus styles! */
:focus {
  outline: 0;
}

/* remember to highlight inserts somehow! */
ins {
  text-decoration: none;
}

del {
  text-decoration: line-through;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* html5 element styles for legacy browsers */
header,
nav,
section,
article,
aside,
footer,
hgroup {
  display: block;
}

* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: transparent;
}

body {
  -webkit-text-size-adjust: none;
  font-family: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 100%;
  text-align: center;
  padding: 2em 0;
}

/*	hindenlang orange */
/*	red */
/*	grey blue */
/*	dark blue */
/*	orange */
.padding-01 {
  padding: 1em;
}

.padding-top-01 {
  padding-top: 1em;
}

.padding-right-01 {
  padding-right: 1em;
}

.padding-bottom-01 {
  padding-bottom: 1em;
}

.padding-left-01 {
  padding-left: 1em;
}

.padding-02 {
  padding: 2em;
}

.padding-top-02 {
  padding-top: 2em;
}

.padding-right-02 {
  padding-right: 2em;
}

.padding-bottom-02 {
  padding-bottom: 2em;
}

.padding-left-02 {
  padding-left: 2em;
}

.padding-03 {
  padding: 3em;
}

.padding-top-03 {
  padding-top: 3em;
}

.padding-right-03 {
  padding-right: 3em;
}

.padding-bottom-03 {
  padding-bottom: 3em;
}

.padding-left-03 {
  padding-left: 3em;
}

.padding-04 {
  padding: 4em;
}

.padding-top-04 {
  padding-top: 4em;
}

.padding-right-04 {
  padding-right: 4em;
}

.padding-bottom-04 {
  padding-bottom: 4em;
}

.padding-left-04 {
  padding-left: 4em;
}

.padding-vert-01 {
  padding-top: 1em;
  padding-bottom: 1em;
}

.padding-hor-01 {
  padding-left: 1em;
  padding-right: 1em;
}

.padding-vert-02 {
  padding-top: 1em;
  padding-bottom: 1em;
}

.padding-hor-02 {
  padding-left: 2em;
  padding-right: 2em;
}

.padding-vert-03 {
  padding-top: 3em;
  padding-bottom: 3em;
}

.padding-hor-03 {
  padding-left: 3em;
  padding-right: 3em;
}

.padding-vert-04 {
  padding-top: 4em;
  padding-bottom: 4em;
}

.padding-hor-04 {
  padding-left: 4em;
  padding-right: 4em;
}

.padding-hor,
.padding-horizontal {
  padding-left: 1em;
  padding-right: 1em;
}

header h1, header h2, header p, main, footer {
  padding-left: 2em;
  padding-right: 2em;
}

footer {
  margin-top: 3em;
}

h1 {
  font-size: 3em;
  padding-bottom: 0.25em;
}

h2 {
  font-size: 1.75em;
  padding-bottom: 1em;
}

a {
  text-decoration: none;
  color: #333;
}

a:hover {
  cursor: pointer;
}

a.lesson-link {
  display: block;
}

img.icon {
  max-width: 8em;
  margin-bottom: 1em;
  border-radius: 50%;
  background-color: #efefef;
  border: 1px solid #dedede;
}

.hero {
  height: 210px;
  width: 100%;
  background-image: url(_assets/images/hero.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

section.lesson {
  padding: 3em 0;
}

.inactive {
  color: #808080;
}

.inactive img {
  filter: grayscale(1);
  opacity: 0.75;
}

footer {
  margin-top: 2em;
  font-size: 0.75em;
  color: #808080;
}

/* Setup
================================================== */
.container {
  position: relative;
  margin: 0 auto;
  max-width: 800px;
  width: 100%;
}

.column {
  width: inherit;
}

/* Typography / Links
================================================== */
/* Misc.
================================================== */
.add-bottom {
  margin-bottom: 2rem !important;
}

.left {
  float: left;
}

.right {
  float: right;
}

.center {
  text-align: center;
}

.hidden {
  display: none;
}

.no-support {
  margin: 2rem auto;
  text-align: center;
  width: 90%;
}

/* Audio Player Styles
================================================== */
audio {
  display: none;
}

#audiowrap,
#plwrap {
  margin: 0 auto;
}

#tracks {
  font-size: 0;
  position: relative;
  text-align: center;
  border: solid 1px red;
}

#nowPlay {
  display: block;
  font-size: 0;
}

#nowPlay span {
  display: inline-block;
  font-size: 1.05rem;
  vertical-align: top;
}

#nowPlay span#npAction {
  text-align: left;
  padding: 21px;
  width: 30%;
}

#nowPlay span#npTitle {
  padding: 21px;
  text-align: right;
  width: 70%;
}

#plList li {
  cursor: pointer;
  display: block;
  margin: 0;
  padding: 21px 0;
  border-bottom: 1px solid #F2F2F2;
}

#plList li:hover {
  background-color: rgba(0, 0, 0, 0.1);
}

.plItem {
  position: relative;
  text-align: left;
}

.plTitle {
  left: 50px;
  overflow: hidden;
  position: absolute;
  right: 65px;
  text-overflow: ellipsis;
  top: 0;
  white-space: nowrap;
}

.plNum {
  padding-left: 21px;
  width: 25px;
}

.plLength {
  padding-left: 21px;
  position: absolute;
  right: 21px;
  top: 0;
}

.plSel,
.plSel:hover {
  background-color: rgba(0, 0, 0, 0.1);
  cursor: default !important;
}

#tracks a {
  border-radius: 3px;
  cursor: pointer;
  display: inline-block;
  font-size: 2.3rem;
  height: 40px;
  line-height: 0.2;
  margin: 0 5px 30px;
  padding: 12px;
  text-decoration: none;
  transition: background 0.3s ease;
}

#tracks a:hover,
#tracks a:active {
  background-color: rgba(0, 0, 0, 0.1);
}

#tracks a::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/* Plyr Overrides
================================================== */
.plyr--audio .plyr__controls {
  background-color: transparent;
  border: none;
  font-family: "Source Sans Pro", arial, sans-serif;
  padding: 20px 20px 20px 13px;
  width: 100%;
}

a.plyr__controls__item.plyr__control:hover,
.plyr--audio .plyr__controls button:hover,
.plyr--audio .plyr__controls button.tab-focus:focus,
.plyr__play-large {
  background-color: rgba(0, 0, 0, 0.1);
}

.plyr__progress--played,
.plyr__volume--display {
  color: rgba(0, 0, 0, 0.1);
}

.plyr--audio .plyr__progress--buffer,
.plyr--audio .plyr__volume--display {
  background-color: rgba(0, 0, 0, 0.1);
}

.plyr--audio .plyr__progress--buffer {
  color: rgba(0, 0, 0, 0.1);
}

.plyr__controls .plyr__controls__item.plyr__time {
  font-size: 14px;
  margin-left: 7px;
}

/* Media Queries
================================================== */
@media only screen and (max-width: 600px) {
  #nowPlay span#npAction {
    display: none;
  }

  #nowPlay span#npTitle {
    display: block;
    text-align: center;
    width: 100%;
  }
}
