/* POST TYPOGRAPHY
   Add the class legible to the parent element
   containing the legible output.
===================================*/

body.cke_editable {
  padding: 10px !important;
}

body.cke_editable *,
.legible * {
  line-height: 1.7em;
}

body.cke_editable hr,
body.cke_editable h1,
body.cke_editable h2,
body.cke_editable h3,
body.cke_editable h4,
body.cke_editable h5,
body.cke_editable h6,
body.cke_editable div,
body.cke_editable p,
body.cke_editable ul,
body.cke_editable ol,
body.cke_editable blockquote,
body.cke_editable pre code,
.legible hr,
.legible h1,
.legible h2,
.legible h3,
.legible h4,
.legible h5,
.legible h6,
.legible div,
.legible p,
.legible ul,
.legible ol,
.legible blockquote,
.legible pre code {
  margin-top: 30px;
}

body.cke_editable h1 + p,
body.cke_editable h2 + p,
body.cke_editable h3 + p,
body.cke_editable h4 + p,
body.cke_editable h5 + p,
body.cke_editable h6 + p,
body.cke_editable h1 + div,
body.cke_editable h2 + div,
body.cke_editable h3 + div,
body.cke_editable h4 + div,
body.cke_editable h5 + div,
body.cke_editable h6 + div,
body.cke_editable h1 + ul,
body.cke_editable h2 + ul,
body.cke_editable h3 + ul,
body.cke_editable h4 + ul,
body.cke_editable h5 + ul,
body.cke_editable h6 + ul,
body.cke_editable h1 + ol,
body.cke_editable h2 + ol,
body.cke_editable h3 + ol,
body.cke_editable h4 + ol,
body.cke_editable h5 + ol,
body.cke_editable h6 + ol,
body.cke_editable h1:first-child,
body.cke_editable h2:first-child,
body.cke_editable h3:first-child,
body.cke_editable h4:first-child,
body.cke_editable h5:first-child,
body.cke_editable h6:first-child,
body.cke_editable div:first-child,
body.cke_editable p:first-child,
body.cke_editable ul:first-child,
body.cke_editable ol:first-child,
body.cke_editable blockquote:first-child,
body.cke_editable pre:first-child code,
.legible h1 + p,
.legible h2 + p,
.legible h3 + p,
.legible h4 + p,
.legible h5 + p,
.legible h6 + p,
.legible h1 + div,
.legible h2 + div,
.legible h3 + div,
.legible h4 + div,
.legible h5 + div,
.legible h6 + div,
.legible h1 + ul,
.legible h2 + ul,
.legible h3 + ul,
.legible h4 + ul,
.legible h5 + ul,
.legible h6 + ul,
.legible h1 + ol,
.legible h2 + ol,
.legible h3 + ol,
.legible h4 + ol,
.legible h5 + ol,
.legible h6 + ol,
.legible h1:first-child,
.legible h2:first-child,
.legible h3:first-child,
.legible h4:first-child,
.legible h5:first-child,
.legible h6:first-child,
.legible div:first-child,
.legible p:first-child,
.legible ul:first-child,
.legible ol:first-child,
.legible blockquote:first-child,
.legible pre:first-child code {
  margin-top: 0;
}

/* Lists */
body.cke_editable ol,
.legible ol {
  list-style: decimal inside;
}

body.cke_editable ul,
.legible ul {
  list-style: none;
}

body.cke_editable ul li:before,
.legible ul li:before {
  content: '\002022';
  padding-right: 10px;
}

body.cke_editable li,
.legible li {
  margin-top: 20px;
}

body.cke_editable li:first-child,
.legible li:first-child {
  margin-top: 0;
}

/* Headers */

body.cke_editable h1,
body.cke_editable h2,
body.cke_editable h3,
body.cke_editable h4,
body.cke_editable h5,
body.cke_editable h6,
.legible h1,
.legible h2,
.legible h3,
.legible h4,
.legible h5,
.legible h6 {
  font-size: 2em;
  line-height: 1.2em;
  font-family: 'Roboto Slab', serif;
  font-weight: 400;
  margin-bottom: 20px;
}

body.cke_editable h2,
.legible h2 {
  font-size: 1.7em;
}

body.cke_editable h3,
.legible h3 {
  font-size: 1.3em;
}

body.cke_editable h4,
.legible h4 {
  font-size: 1.1em;
}

body.cke_editable h5,
.legible h5 {
  font-size: 0.9em;
}

/* Quotes, bolds, italics and other emphasis */
body.cke_editable b,
body.cke_editable strong,
.legible b,
.legible strong {
  font-weight: bold;
}

body.cke_editable i,
body.cke_editable em,
.legible i,
.legible em {
  font-style: italic;
}

body.cke_editable blockquote,
.legible blockquote {
  position: relative;
  margin: 50px 0;
  padding-left: 40px;
  font-size: 20px;
  font-family: 'PT sans';
  font-style: italic;
}

body.cke_editable blockquote,
body.cke_editable blockquote *,
.legible blockquote,
.legible blockquote * {
  line-height: 1.5em;
}

body.cke_editable blockquote:before,
.legible blockquote:before {
  content: '“';
  display: block;
  position: absolute;
  top: 15px;
  left: 0;
  font-family: 'Georgia';
  font-size: 60px;
  color: #3399cc;
}

body.cke_editable code,
.legible code {
  font-family: Courier, 'Courier New', monospace;
  background: #efefef;
}

body.cke_editable pre code,
.legible pre code {
  padding: 20px;
  display: block;
}

body.cke_editable sup:before,
.legible sup:before {
  content: '[';
}

body.cke_editable sup:after,
.legible sup:after {
  content: ']';
}

body.cke_editable hr,
.legible hr {
  -webkit-margin-before: 30px;
  -webkit-margin-after: 0;
  margin-bottom: 0;
  border: 0;
  height: 1px;
  background-color: #000;
  background-color: rgba(0, 0, 0, .2);
  clear: both;
}

/* Media */
.push img,
[class*="column-"] img,
body.cke_editable img,
body.cke_editable video,
body.cke_editable param,
body.cke_editable object,
body.cke_editable embed,
body.cke_editable iframe,
.legible img,
.legible video,
.legible param,
.legible object,
.legible embed,
.legible iframe {
  max-width: 100%;
}

.push img,
[class*="column-"] img,
body.cke_editable img,
.legible img {
  height: auto;
}

body.cke_editable .img-wrap,
.legible .img-wrap {
  display: block;
}

body.cke_editable .img-left,
body.cke_editable img[style*="float: left"],
.legible .img-left,
.legible img[style*="float: left"] {
  float: left;
  margin-right: 30px;
  margin-bottom: 30px;
}

body.cke_editable .img-right,
body.cke_editable img[style*="float: right"],
.legible .img-right,
.legible img[style*="float: right"] {
  float: right;
  margin-left: 30px;
  margin-bottom: 30px;
}

body.cke_editable .img-caption,
.legible .img-caption {
  font-size: 12px;
  display: block;
  margin-top: 10px;
}

body.cke_editable sup,
.legible sup {
  position: static;
  vertical-align: top;
  font-size: 75%;
  display: inline-block;
  cursor: pointer;
  color: #3399cc;
}

body.cke_editable sup:focus,
.legible sup:focus,
body.cke_editable sup:hover,
.legible sup:hover {
  opacity: 0.8;
}

body.cke_editable .has-footnote,
.legible .has-footnote {
  position: relative;
}

body.cke_editable .footnote,
.legible .footnote {
  display: none;
  border: 1px solid #80c3e4;
  padding: 25px;
  width: 280px;
  position: absolute;
  left: 100%;
  margin-left: 30px;
  background: #e7f7ff;
  font-size: 12px;
  margin-top: -36px;
}

body.cke_editable .visible .footnote,
.legible .visible .footnote {
  display: block;
}

body.cke_editable .footnote:after,
body.cke_editable .footnote:before,
.legible .footnote:after,
.legible .footnote:before {
  right: 100%;
  top: 25px;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}

body.cke_editable .footnote:after,
.legible .footnote:after {
  border-color: rgba(251, 251, 251, 0);
  border-right-color: #e7f7ff;
  border-width: 20px;
  margin-top: -20px;
}

body.cke_editable .footnote:before,
.legible .footnote:before {
  border-color: rgba(235, 235, 235, 0);
  border-right-color: #80c3e4;
  border-width: 21px;
  margin-top: -21px;
}

.footnote-section {
  margin-top: 30px;
  padding-top: 30px;
  border-top: 2px solid #000;
}

.footnote-item {
  padding-left: 40px;
  position: relative;
  font-size: 12px;
}

.footnote-item .number {
  position: absolute;
  left: 0;
  top: 0;
}