/* Vars */
/* Mixins */
/* Element Selectors */
html {
  background: white;
  color: #373a3c;
  margin: 0;
  padding: 0;
}
body {
  font-family: "Segoe UI";
  font-size: 12pt;
  margin: 0;
  padding: 1em 0;
}
@media (max-width: 480px) {
  body {
    font-size: 10pt;
  }
}
h1 {
  font-size: 3.5em;
  font-family: "Segoe UI";
  font-weight: 300;
  margin: 0 0 0.5em 0;
  line-height: 1;
  text-align: center;
}
@media (max-width: 480px) {
  h1 {
    margin: 0;
  }
}
h2 {
  background-color: #eceeef;
  font-size: 1.5em;
  font-style: italic;
  font-weight: normal;
  clear: both;
  line-height: 1;
  margin: 1em 5vw;
  padding: 1em 0;
  text-align: center;
  width: 90vw;
}
@media (max-width: 800px) {
  h2 {
    font-size: 1.2em;
    padding: 0.5em 0;
  }
}
/* Class Selectors */
.contentWrap {
  margin: 0 auto;
  overflow: auto;
  width: 90vw;
}
.item {
  float: left;
  margin: 1em 2vw 1em 4vw;
  padding: 0;
  width: 16vw;
}
@media (max-width: 480px) {
  .item {
    margin: 1em 6vw;
    width: 32vw;
  }
}
.item h3 {
  font-size: 1.66em;
  font-family: "Segoe UI";
  font-weight: normal;
  margin: 0 0 0.5em 0;
  line-height: 1;
  text-align: center;
}
@media (max-width: 480px) {
  .item h3 {
    font-size: 1.2em;
  }
}
@media (max-width: 300px) {
  .item h3 {
    font-size: 1em;
  }
}
.item h4 {
  font-size: 1.1em;
  font-family: "Segoe UI";
  font-style: italic;
  font-weight: normal;
  margin: 0 0 0.5em 0;
  line-height: 1;
  text-align: center;
}
@media (max-width: 480px) {
  .item h4 {
    font-size: 1em;
  }
}
.item h5 {
  font-size: 0.8em;
  font-family: "Segoe UI";
  font-style: italic;
  font-weight: normal;
  margin: 0 0 1em 0;
  line-height: 1;
  text-align: center;
}
@media (max-width: 480px) {
  .item h5 {
    font-size: 0.6em;
  }
}
.gridWrap {
  overflow: visible;
  position: relative;
  height: 16vw;
  width: 16vw;
}
@media (max-width: 480px) {
  .gridWrap {
    height: 35vw;
    width: 35vw;
  }
}
.gridBox,
.gridOutline {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: darkslategray;
  stroke-width: 2pt;
  border-top: 2pt solid #373a3c;
}
@media (max-width: 480px) {
  .gridBox,
  .gridOutline {
    stroke: darkslategray;
    stroke-width: 1pt;
  }
}
.gridLine {
  width: 20%;
  height: 20%;
  fill: none;
  stroke: darkslategray;
  stroke-width: 1pt;
}
@media (max-width: 480px) {
  .gridLine {
    stroke: darkslategray;
    stroke-width: 0.5pt;
  }
}
.dotBox {
  width: 18%;
  height: 18%;
  position: absolute;
}
.dotBox > .dot {
  fill: #373a3c;
  stroke: none;
}
.dotBox > .smallDot {
  fill: #747a7f;
  stroke: #747a7f;
  r: 35%;
}
@media (max-width: 640px) {
  .dotBox > .smallDot {
    r: 50%;
  }
}
.dotBox > .smallDot.empty {
  fill: white;
  stroke: #373a3c;
}
.dotBox > text {
  font-size: 18pt;
  fill: white;
}
.dotBox > text.inverse {
  fill: #373a3c;
}
@media (max-width: 800px) {
  .dotBox > text {
    font-size: 12pt;
  }
}
@media (max-width: 640px) {
  .dotBox > text {
    font-size: 11pt;
  }
}
@media (max-width: 480px) {
  .dotBox > text {
    font-size: 10pt;
  }
}
@media (max-width: 300px) {
  .dotBox > text {
    font-size: 8pt;
  }
}
.dotBox > text.accidental {
  font-size: 14pt;
}
@media (max-width: 800px) {
  .dotBox > text.accidental {
    font-size: 11pt;
  }
}
@media (max-width: 640px) {
  .dotBox > text.accidental {
    font-size: 10pt;
  }
}
@media (max-width: 480px) {
  .dotBox > text.accidental {
    font-size: 9pt;
  }
}
@media (max-width: 300px) {
  .dotBox > text.accidental {
    font-size: 6pt;
  }
}
.dotBox > text.smallText {
  font-size: 85%;
}
.dotBox.fret1 {
  top: 1%;
}
.dotBox.fret2 {
  top: 21%;
}
.dotBox.fret3 {
  top: 41%;
}
.dotBox.fret4 {
  top: 61%;
}
.dotBox.fret5 {
  top: 81%;
}
.dotBox.string1 {
  left: 91%;
}
.dotBox.string2 {
  left: 71%;
}
.dotBox.string3 {
  left: 51%;
}
.dotBox.string4 {
  left: 31%;
}
.dotBox.string5 {
  left: 11%;
}
.dotBox.string6 {
  left: -9%;
}
.dotBox.root {
  background: #373a3c;
}
