@import url("progress-bar.css");
@import url("flex-grid.css");
@import url("standards-page.css");
@import url("horizontal-menu.css");
@import url("grid.css");
@import url("grid2.css");
@import url("slideshow.css");
@import url("expando.css");
@import url("media-nav.css");
@import url("outcomes-page.css");
@import url("teacher-pd-page.css");
@import url("home-page.css");
@import url("donation-page.css");
@import url("quoteshow.css");
@import url("button.css");

* {
  margin: 0;
}
html,

.gallery .quotes {
  margin: 0;
  padding: 0;
}
.gallery .quote {
  border: 0;
  background-color: transparent;
  margin: 0;
  padding: 0.4em 0 0 0;
}
@media only screen and (max-width: 900px) {
  .video-title {
    display: block;
  }
  .grid .col > .column {
    margin: 0;
    padding: 0;
  }
  .grid .col > .column > .content {
    margin: 0;
    padding: 0;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    text-align: center;
  }
}
* {
  box-sizing: border-box;
}
/*
 Fixes

 FF Annoying sticky link outline. Messes up menus.
*/
a {
  outline: none;
}
:focus {
  -moz-outline-style: none;
}
a:active {
  outline: none;
}
sup {
  vertical-align: top;
}
/* Typopgraphy. */
body {
  font-family: 'Carrois Gothic', Arial, sans-serif;
  font-size: 20px;
  /* -webkit-font-smoothing: antialiased; */
}
p {
  line-height: 1.5;
  max-width: 60rem;
/*   text-indent: 0.75rem; */
 /* text-indent: -0.75rem;
  margin: 0.75rem;*/
}
p + p {
  text-indent: 0.75rem;
}
p.-indent {
 text-indent: 0.75rem;
}
p.-noindent {
  text-indent: none;
}
p.-reverse-indent {
  text-indent: -2rem;
  margin: 2rem;
}
p + p {
  margin-top: 0.6em;
}
/* Because an illustration image is floated
   and thus out of the flow */
p + img.illustration + p {
  margin-top: 0.6em;
}
p + ul,
ul + p {
  margin-top: 0.6em;
}
p.-section {
  margin-top: 1em;
}
h1 {
  font-weight: bold;
  font-size: 160%;
  line-height: 1.3;
  margin-bottom: 1rem;
}
h2 {
  font-weight: bold;
  font-size: 130%;
  line-height: 1.3;
  margin-top: 0.5em;
}
h3 {
  font-weight: bold;
  font-size: 110%;
  line-height: 1.3;
}
h4 {
  font-weight: bold;
  font-size: 100%;
  line-height: 1.3;
}
/* Headers before other common elements */
h1 + p,
h2 + p,
h3 + p,
h4 + p {
  margin-top: 0.3em;
}
h1 + ul,
h2 + ul,
h3 + ul,
h4 + ul {
  margin-top: 0.3em;
}
h1 + .paralike,
h2 + .paralike,
h3 + .paralike,
h4 + .paralike {
  margin-top: 0.3em;
}
.paralike + h1,
.paralike + h2,
.paralike + h3,
.paralike + h3 {
  margin-top: 1em;
}
h1 + h2,
h2 + h3,
h3 + h4 {
  margin-top: 1em;
}
h1 + table,
h2 + table,
h3 + table,
h4 + table {
  margin-top: 1em;
}
/* Headers following common other elements */
p + h2,
p + h3,
p + h4 {
  margin-top: 1.5em;
}
ul + h2,
ul + h3,
ul + h4 {
  margin-top: 1.5em;
}
/* Links */
a {
  color: #21449d;
}
a:link,
a:visited {
  color: #21449d;
}
a:hover,
a:active {
  color: #4161b3;
}
/* Tag tweaks */
audio {
  margin: 0 0 0.25rem 0;
  width: 100%;
}
a.AudioLink {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0.5rem;
  padding-left: 1rem;
  margin-bottom: 0.5rem;
  background-color: #7d7d7d;
  color: white;
  border-radius: 1rem;
  font-size: 90%;
  text-decoration: none;
}
a.AudioLink:hover {
  background-color: #969696;
}
a.AudioLink span.fa {
  font-size: 150%;
  margin-right: 0.75rem;
}
/* Main styles */
.page {
  background-color: #F5F7FC;
}

/* The top level containers are width-constrained for the normal
   viewport. */
.main,
.header,
.footer,
.toolbar,
.banner {
  max-width: 1024px;
  margin: 0 auto;
}
/* Banner area */
.banner-strip {
  background-color: #FFFFFF;
}
/* Banner details */
.banner {
  margin: 0 auto;
  padding: 0.5rem;
  width: 100%;
  max-width: 1024px;
}
.banner .logo {
  margin: 0.5em;
}
.banner .logo img {
  display: -moz-inline-stack;
  display: inline-block;
  zoom: 1;
  *display: inline;
}
/* The navbar is the container for the social buttons and the main nav */
.navbar {
  position: relative;
}
.navbar .menubar {
  width: 100%;
}
@media only screen and (max-width: 480px), only screen and (min-width: 480px) and (max-width: 900px) {
  .navbar {
    height: auto;
  }
}
@media only screen and (min-width: 900px) {
  .navbar {
    height: 159px;
  }
  .navbar .menubar {
    position: absolute;
    bottom: 0px;
  }
}
@media only screen and (max-width: 480px), only screen and (min-width: 480px) and (max-width: 900px) {
  .banner {
    text-align: center;
  }
  .banner .logo {
    text-align: center;
    margin: 0 auto;
    line-height: normal;
  }
  .banner .quoteContainer {
    text-align: center;
    line-height: normal;
    margin: 0 auto;
  }
}

.header-strip {
  background-color: #21449d;
}
.toolbar-strip {
  background-color: #cc2127;
  font: 20px 'Carrois Gothic', Arial, sans-serif;
  padding: 0;
}
.toolbar-strip .button-bar {
  line-height: 40px;
  background-color: silver;
}
.toolbar-strip .social-button {
  font: 20px 'Carrois Gothic', Arial, sans-serif;
  margin: 0;
  vertical-align: middle;
  text-align: center;
  display: -moz-inline-stack;
  display: inline-block;
  zoom: 1;
  *display: inline;
  margin: 0 12px 0 12px;
}
.toolbar-strip .social-button img {
  vertical-align: middle;
}
.navbar > .button-bar {
  height: 40px;
  margin-top: 8px;
  letter-spacing: 12px;
}
@media only screen and (max-width: 480px) {
  .navbar > .button-bar {
    margin-top: 16px;
    margin-bottom: 10px;
  }
}
@media only screen and (min-width: 480px) and (max-width: 900px) {
  .navbar > .button-bar {
    margin-top: 16px;
    margin-bottom: 10px;
  }
}

/* -- */
.copyright {
  display: -moz-inline-stack;
  display: inline-block;
  zoom: 1;
  text-align: center;
}
.footer-strip {
  background-color: #21449d;
  margin-top: 1rem;
}
.footer {
  text-align: center;
  color: white;
  padding: 1rem;
/*   background-color: #21449d; */
}
.footer a,
.footer a:link,
.footer a:visited {
  color: white;
}
.footer a:hover,
.footer a:active {
  background-color: #4161b3;
}
.toolbar {
  color: #FFFFFF;
}
.content {
  font: 20px 'Carrois Gothic', Arial, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
  letter-spacing: normal;
/*   height: 100%; */
}
.content.body {
  margin: 0.5em;
}
.-wrap-small .content,
.content.-wrap-small {
  font: 18px 'Carrois Gothic', Arial, sans-serif;
}
.-wrap-small .fa {
  font-size: 90%;
}
/* Columns 
   Laying out content...*/
.column {
  padding: 0.5em;
}
.column.left {
  margin-right: 0.5em;
}
.equicolumn {
  padding: 0.5em;
  margin: 0 0.5em;
}
/* Other responsive 
   TODO: All responsive should be tied to the breakpoints used in grid ?? Maybe via LESS? 
*/
.pure-r {
  width: 100%;
}
@media only screen and (min-width: 480px) and (max-width: 900px) {
  .pure-sm-hide {
    display: none;
  }
}
@media only screen and (max-width: 480px) {
  .-sm-hide {
    display: none;
  }
}
@media only screen and (min-width: 480px) and (max-width: 900px) {
  .-md-hide {
    display: none;
  }
}
@media only screen and (min-width: 900px) {
  .-lg-hide {
    display: none;
  }
}
.well {
  padding: 0.5em;
  margin-bottom: 1em;
  border: 1px silver solid;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  background-color: #FFF;
}
/* After a paragraph, treat like a paragraph */
p + .well {
  margin-top: 1em;
}
/* Support */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
table tr td {
  border: 0;
  border-bottom: 1px #BBB solid;
  padding: 0.3em;
}
table tr th {
  border: 0;
  border-bottom: 1px #BBB solid;
  text-align: center;
  background-color: #E6ECFA;
  padding: 0.3em;
}
table tr.header td {
  border: 0;
  text-align: center;
}
p + table {
  margin-top: 1em;
}
table.-striped th {
  background-color: #E6ECFA;
  color: #21449d;
}
table.-striped tr:nth-child(even) {
  background-color: #E6ECFA;
}
table.-striped tr th,
table.-striped tr td {
  border-style: none;
}
table.-inverted tr:nth-child(0),
table.-inverted tr:nth-child(0) th,
table.-inverted tr:nth-child(0) td {
  border-bottom: 1px #BBB solid;
}
table.-inverted tr th,
table.-inverted tr td {
  border-top: 4px transparent solid;
  border-bottom: none;
  background-color: transparent;
}

ul.supporters2 {
  list-style-type: none;
}
ul.supporters2 li {
  text-align: center;
  background-image: url(/images/silver-glow-bg2.jpg);
  background-repeat: no-repeat;
  height: 170px;
  width: 300px;
}
ul.supporters2 li img {
  margin: 20px auto 0 auto;
}
h3 {
  margin: 0 0 4px 0;
  padding: 0;
}
h3 + p {
  margin-top: 0;
  padding-top: 0;
}
div.supporters {
  margin: 0 0 0 40px;
}
div.supporters ul {
  list-style: none;
  margin: 0 0 0 0px;
  padding: 0 0 0 0px;
}
div.supporters ul li {
  border: 0px blue dashed;
  margin: 0 0 0 8px;
  padding: 0;
  text-indent: -8px;
}
div.supporters h2 {
  font-weight: bold;
  text-decoration: underline;
  font-size: 110%;
  text-align: left;
  margin: 12px 0 4px 0;
}
ul.modern {
  padding: 0;
  list-style: none;
}
ul.modern li {
  left: 1em;
  position: relative;
}
ul.modern li:before {
  content: "★";
  color: gray;
  position: absolute;
  left: -1em;
}
ul.supporters2 {
  list-style: none;
}
ul.supporters2 li {
  text-align: center;
  background-image: url(/images/silver-glow-bg2.jpg);
  background-repeat: no-repeat;
  height: 170px;
  width: 300px;
}
ul.supporters2 li img {
  margin: 20px auto 0 auto;
}
/* Media */
/* Video */
.yui3-tabview-loading {
  visibility: hidden;
  background-color: silver;
  border: 4px yellow dotted;
  height: 600px;
  width: 750px;
}
.inactive {
  color: #ccc;
}
a.inactive {
  color: #ccc;
}
a.inactive:link {
  color: #ccc;
}
div.media {
  margin: 18px 0 0 0;
  text-align: center;
}
.caption {
  margin: 4px 4px 4px 4px;
  padding: 4px;
  text-align: left;
  font-style: italic;
}
.mediaImageCaption {
  width: 700px;
  text-align: left;
  margin: auto;
}
.mediaPage {
  width: 700px;
}
.mediaContentBlock {
  width: 700px;
  margin-top: 20px;
  margin-right: auto;
  margin-bottom: 20px;
  margin-left: auto;
  text-align: left;
  border: 0px silver solid;
}
.mediaSeparator {
  width: 100%;
  height: 3px;
  background-color: #999999;
  margin: auto;
}
.mediaContentBlock p {
  padding: 4px;
}

.hover {
  background-image: url(/media/images/button-hi.png);
  background-repeat: repeat-x;
}
.mousedown {
  background-image: url(/media/images/button-down.png);
  background-repeat: repeat-x;
}
.musicCredit {
  font-style: italic;
  margin: 12px 0 12px 0;
}
.mediaContentBlock iframe,
.mediaContentBlock object {
  margin: 0 auto;
  display: block;
}
.hidden {
  display: none;
}
.form-error-message {
  color: #940202;
}
/* Responsive video 
   Override the padding-bottom to set the aspect ratio.
*/
.video-frame {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 60%;
  margin-bottom: 1em;
}
.video-frame iframe {
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
/* Tiles */
.tile {
  display: -moz-inline-stack;
  display: inline-block;
  zoom: 1;
  *display: inline;
  min-width: 5em;
  -webkit-border-radius: 0.5em;
  -moz-border-radius: 0.5em;
  border-radius: 0.5em;
  padding: 0.5em;
  margin: 0.5em;
  background-color: #940202;
  vertical-align: top;
  white-space: nowrap;
}
.tile.red {
  background-color: #FCB1B1;
}
.tile.green {
  background-color: #BDFFA3;
}
.tile.blue {
  background-color: #C7DBFF;
}
.tile.orange {
  background-color: #FFEF87;
}
.tile.yellow {
  background-color: yellow;
}
.tile.silver {
  background-color: #D9D9D9;
}
.tile .tile-icon {
  display: -moz-inline-stack;
  display: inline-block;
  zoom: 1;
  *display: inline;
  height: 100px;
  width: 100px;
}
.tile .tile-content {
  display: -moz-inline-stack;
  display: inline-block;
  zoom: 1;
  *display: inline;
  overflow: hidden;
  white-space: normal;
  vertical-align: top;
  width: 100%;
  max-width: 10em;
}
.tile .tile-content .tile-title {
  width: 100%;
  font-weight: bold;
}
.tile .tile-content .tile-text {
  width: 100%;
}
.tile.clickable {
  border: 2px #940202 dashed;
  cursor: pointer;
}
.tile.clickable:hover {
  border: 2px green solid;
}
/* Responsive stuff */
img.response-img,
img.responsive,
img.-responsive {
  display: block;
  max-width: 100%;
  box-sizing: border-box;
}
/* Page Specific */
table.what-is-j-and-d tr th {
  color: #FFF;
}
table.what-is-j-and-d tr td:nth-child(1) {
  width: 50%;
  border-right: 1px #BBB solid;
}
table.what-is-j-and-d tr th:nth-child(1) {
  background-color: #4161b3;
}
table.what-is-j-and-d tr th:nth-child(2) {
  background-color: #cc2127;
}
.config {
  display: none;
}
/* Illustrations */
.illustration {
  padding: 0;
  /* margin: 0.8em; */
  box-shadow: 0px 0px 15px 5px #BBB;
}
.illustration.-right {
  float: right;
  clear: none;
  margin-left: 2em;
  margin-bottom: 1em;
}
@media only screen and (max-width: 480px) {
  .illustration.-right {
    float: none;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}
/* Donor styles */
.donor-box img {
  margin: 10px 0 10px 0;
}
.donor-box {
  height: 134px;
  width: 678px;
  text-align: center;
  padding: 6px;
  margin: 20px auto;
  box-shadow: 0px 0px 15px 5px #BBB;
}
.footnote {
/*   font: 20px neuton, serif; */
  font-family: serif;
  font-style: italic;
  margin: 40px 0 20px 0;
  clear: both;
}

.faqs .faq-a ul {
  padding: 0;
  list-style-position: inside;
}
.faq-a {
  margin-bottom: 1.5em;
}
/* Stylistic flair */
.fancy-shadow {
  padding: 6px;
  box-shadow: 0px 0px 15px 5px #BBB;
}
.usa-red {
  color: #cc2127;
}
/* Common helpers */
.inline-block {
  display: -moz-inline-stack;
  display: inline-block;
  zoom: 1;
  *display: inline;
}
/* Responsive tweaks */
/* Small */
@media only screen and (max-width: 480px) {
  .footer {
    font-size: 90%;
  }
  img.-responsive.-hide-small {
    display: none;
  }
}
/* Medium - tablet and narrow browser width */
@media only screen and (min-width: 480px) and (max-width: 900px) {
  img.-responsive.-hide-medium {
    display: none;
  }
}
/* And beyond ! */
@media only screen and (min-width: 900px) {
  img.-responsive.-hide-large {
    display: none;
  }
}
@media only screen and (min-width: 900px) {
  .backtotop {
    display: none;
  }
}
.video .player {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 60%;
  margin-bottom: 0.5em;
}
.video .caption {
  margin-left: 0.5rem;
  font-size: 90%;
}
@media only screen and (min-width: 480px) and (max-width: 900px) {
  .video .caption {
    margin-left: 0px;
    font-style: italic;
  }
}
@media only screen and (max-width: 480px) {
  .video .caption {
    margin-left: 0px;
    font-style: italic;
  }
}
.response-text {
  font: 20px 'Carrois Gothic', Arial, sans-serif;
}
@media only screen and (min-width: 480px) and (max-width: 900px) {
  .responsive-text {
    font: 18px 'Carrois Gothic', Arial, sans-serif;
  }
}
@media only screen and (max-width: 480px) {
  .responsive-text {
    font: 14px 'Carrois Gothic', Arial, sans-serif;
  }
}
/* Whackin the blues page styles */
.grid.whackin {
  margin-top: 20px;
}
.grid.whackin .row {
  margin-bottom: 20px;
}
.grid.whackin .row .col:nth-child(1) {
  font-style: italic;
}
.grid.whackin .row .col:nth-child(3) {
  font-weight: bold;
}
@media only screen and (max-width: 480px) {
  .show-mdup {
    display: none;
  }
}
@media only screen and (min-width: 480px) {
  .show-sm {
    display: none;
  }
}
a.jazz-button {
  padding: 8px;
  border: 1px solid rgba(200, 200, 200, 0.4);
  background-color: rgba(200, 200, 200, 0.2);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  font-style: normal;
  border-radius: 4px;
}
a.jazz-button:hover {
  background-color: rgba(200, 200, 200, 0.4);
}

a.jazz-button.-primary {
  background-color: rgb(33, 68, 157);
  color: white;
}

a.jazz-button.-primary:hover {
  background-color: rgba(33, 68, 157, 0.8);
  color: white;
}

.boldly-red {
  font-weight: bold;
  color: #940202;
}
.boldly-green {
  font-weight: bold;
  color: #009c22;
}



/* quotes */
.quotes {
/*   font: 22opx neuton, serif; */
  font-family: serif;
}

.quotes > .quote {
  margin-top: 1rem;
}
.quotelist > .quotes > .quote + .quote {
  margin-top: 2rem;
}
.quotelist > .quotes > .quote > .text {
  margin-bottom: 0.5rem;
}

.quotes > .quote > .author {
  font-style: italic;
}

/* footnotes */
a.footnote-marker {
  text-decoration: none;
}


/* artist interviews */

/* Interviews */
.interviews .artist {
  margin: 1em 1em 0.5em 1em;
  font-size: 80%;
  display: flex;
  flex-direction: column;
}

.interviews .name  {
  margin: 0.25rem auto 0 auto;
}
