* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.component_group {
  display: inline-block; }

.draggable {
  cursor: move; }

.playbacksvg .button-art {
  border: none;
  fill: #777777 !important;
  stroke: transparent !important;
  stroke-width: 0 !important; }
.playbacksvg .bg {
  fill: #dddddd;
  stroke: #aaaaaa;
  stroke-width: 1px; }
.playbacksvg .highlight {
  border: solid 1px #cccccc;
  border-bottom: none;
  fill: white;
  opacity: 0.6;
  stroke: transparent;
  stroke-width: 0; }
.playbacksvg .pause-center {
  border: none;
  fill: #dddddd;
  stroke: transparent;
  stroke-width: 0; }

.playbacksvgbutton .button-art {
  border: none;
  fill: #777777 !important;
  stroke: transparent !important;
  stroke-width: 0 !important; }
.playbacksvgbutton .bg {
  fill: #dddddd;
  stroke: #aaaaaa;
  stroke-width: 1px; }
.playbacksvgbutton .highlight {
  border: solid 1px #cccccc;
  border-bottom: none;
  fill: white;
  opacity: 0.6;
  stroke: transparent;
  stroke-width: 0; }
.playbacksvgbutton .pause-center {
  border: none;
  fill: #dddddd;
  stroke: transparent;
  stroke-width: 0; }

.playbacksvgbutton:hover .button-art {
  fill: #777777 !important;
  stroke: transparent !important;
  stroke-width: 0 !important; }
.playbacksvgbutton:hover .bg {
  fill: #bbbbbb; }
.playbacksvgbutton:hover .highlight {
  opacity: 0.3; }
.playbacksvgbutton:hover .pause-center {
  fill: #bbbbbb; }

.playbacksvgbutton:active .button-art {
  fill: #666666 !important;
  stroke: transparent !important;
  stroke-width: 0 !important; }
.playbacksvgbutton:active .bg {
  fill: #a5a5a5; }
.playbacksvgbutton:active .highlight {
  opacity: 0.2; }
.playbacksvgbutton:active .pause-center {
  fill: #a5a5a5; }

.lab-disabled {
  opacity: 0.7; }

.lab-disabled-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100; }

.markdown-typography * {
  margin: 0.2em 0 !important; }
.markdown-typography img {
  margin: 0 !important; }
.markdown-typography h1, .markdown-typography h2, .markdown-typography h3, .markdown-typography h4, .markdown-typography h5, .markdown-typography h6 {
  color: #444444 !important;
  font-weight: bold !important; }
.markdown-typography h1 {
  font-size: 1.3em !important; }
.markdown-typography h2 {
  font-size: 1.2em !important; }
.markdown-typography h3 {
  font-size: 1.1em !important; }
.markdown-typography h4 {
  font-size: 1em !important; }
.markdown-typography h5 {
  font-size: 0.95em !important; }
.markdown-typography h6 {
  font-size: 0.9em !important; }

.component {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  white-space: normal;
  margin: 0;
  padding: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
  .component.clickable {
    cursor: pointer; }

.interactive-button {
  height: 2em;
  width: auto; }
  .interactive-button > button {
    background-color: #eeeeee;
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fafafa), color-stop(100%, #c2c2c2));
    background-image: -webkit-linear-gradient(top, #fafafa, #c2c2c2);
    background-image: -moz-linear-gradient(top, #fafafa, #c2c2c2);
    background-image: -ms-linear-gradient(top, #fafafa, #c2c2c2);
    background-image: -o-linear-gradient(top, #fafafa, #c2c2c2);
    background-image: linear-gradient(top, #fafafa, #c2c2c2);
    font-family: inherit;
    border: 1px solid #cccccc;
    border-radius: 0.7em;
    color: #333333;
    padding-left: 1em;
    padding-right: 1em;
    text-align: center;
    text-shadow: 0 1px 0 #eeeeee;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
    position: relative;
    white-space: nowrap;
    width: 100%;
    height: 100%;
    line-height: 1.8em;
    font-size: 1em; }
    .interactive-button > button:hover:not(.lab-disabled) {
      background-color: #e6e6e6;
      background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #e6e6e6));
      background-image: -webkit-linear-gradient(top, white, #e6e6e6);
      background-image: -moz-linear-gradient(top, white, #e6e6e6);
      background-image: -ms-linear-gradient(top, white, #e6e6e6);
      background-image: -o-linear-gradient(top, white, #e6e6e6);
      background-image: linear-gradient(top, white, #e6e6e6);
      cursor: pointer; }
    .interactive-button > button:active {
      background-color: white;
      background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #e6e6e6), color-stop(100%, white));
      background-image: -webkit-linear-gradient(top, #e6e6e6, white);
      background-image: -moz-linear-gradient(top, #e6e6e6, white);
      background-image: -ms-linear-gradient(top, #e6e6e6, white);
      background-image: -o-linear-gradient(top, #e6e6e6, white);
      background-image: linear-gradient(top, #e6e6e6, white);
      border: 1px solid #aaaaaa;
      border-bottom: 1px solid #888888; }

.interactive-text.clickable {
  color: #004488; }

.interactive-radio {
  font-size: 1em; }
  .interactive-radio .option {
    display: inline-block; }
    .interactive-radio .option:hover:not(.lab-disabled) {
      cursor: pointer; }
      .interactive-radio .option:hover:not(.lab-disabled) label {
        cursor: pointer; }
  .interactive-radio.horizontal .option + .option {
    margin-left: 1em; }
  .interactive-radio.vertical .option {
    display: block; }
  .interactive-radio.toggle .option {
    background-color: #eeeeee;
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fafafa), color-stop(100%, #c2c2c2));
    background-image: -webkit-linear-gradient(top, #fafafa, #c2c2c2);
    background-image: -moz-linear-gradient(top, #fafafa, #c2c2c2);
    background-image: -ms-linear-gradient(top, #fafafa, #c2c2c2);
    background-image: -o-linear-gradient(top, #fafafa, #c2c2c2);
    background-image: linear-gradient(top, #fafafa, #c2c2c2);
    font-family: inherit;
    border: 1px solid #cccccc;
    border-radius: 0.7em;
    color: #333333;
    padding-left: 1em;
    padding-right: 1em;
    text-align: center;
    text-shadow: 0 1px 0 #eeeeee;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
    position: relative;
    line-height: 2em;
    border-radius: 0; }
    .interactive-radio.toggle .option:hover:not(.lab-disabled) {
      background-color: #e6e6e6;
      background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #e6e6e6));
      background-image: -webkit-linear-gradient(top, white, #e6e6e6);
      background-image: -moz-linear-gradient(top, white, #e6e6e6);
      background-image: -ms-linear-gradient(top, white, #e6e6e6);
      background-image: -o-linear-gradient(top, white, #e6e6e6);
      background-image: linear-gradient(top, white, #e6e6e6);
      cursor: pointer; }
    .interactive-radio.toggle .option:active {
      background-color: white;
      background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #e6e6e6), color-stop(100%, white));
      background-image: -webkit-linear-gradient(top, #e6e6e6, white);
      background-image: -moz-linear-gradient(top, #e6e6e6, white);
      background-image: -ms-linear-gradient(top, #e6e6e6, white);
      background-image: -o-linear-gradient(top, #e6e6e6, white);
      background-image: linear-gradient(top, #e6e6e6, white);
      border: 1px solid #aaaaaa;
      border-bottom: 1px solid #888888; }
    .interactive-radio.toggle .option.checked, .interactive-radio.toggle .option:active:hover {
      background-color: white;
      background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #e6e6e6), color-stop(100%, white));
      background-image: -webkit-linear-gradient(top, #e6e6e6, white);
      background-image: -moz-linear-gradient(top, #e6e6e6, white);
      background-image: -ms-linear-gradient(top, #e6e6e6, white);
      background-image: -o-linear-gradient(top, #e6e6e6, white);
      background-image: linear-gradient(top, #e6e6e6, white); }
    .interactive-radio.toggle .option.checked:hover {
      background-color: white;
      background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #efefef), color-stop(100%, white));
      background-image: -webkit-linear-gradient(top, #efefef, white);
      background-image: -moz-linear-gradient(top, #efefef, white);
      background-image: -ms-linear-gradient(top, #efefef, white);
      background-image: -o-linear-gradient(top, #efefef, white);
      background-image: linear-gradient(top, #efefef, white); }
  .interactive-radio.horizontal.toggle .options .option + .option {
    margin-left: 0;
    border-left: none; }
  .interactive-radio.horizontal.toggle .options .option:first-child {
    border-top-left-radius: 0.7em;
    border-bottom-left-radius: 0.7em; }
  .interactive-radio.horizontal.toggle .options .option:last-child {
    border-top-right-radius: 0.7em;
    border-bottom-right-radius: 0.7em; }
  .interactive-radio.vertical.toggle .options .option + .option {
    border-top: none; }
  .interactive-radio.vertical.toggle .options .option:first-child {
    border-top-left-radius: 0.7em;
    border-top-right-radius: 0.7em; }
  .interactive-radio.vertical.toggle .options .option:last-child {
    border-bottom-left-radius: 0.7em;
    border-bottom-right-radius: 0.7em; }
  .interactive-radio .label {
    vertical-align: middle; }
    .interactive-radio .label.on-left {
      margin-right: 0.5em; }
    .interactive-radio .label.on-top {
      display: block; }
  .interactive-radio label {
    vertical-align: middle; }
  .interactive-radio input[type="radio"] {
    display: none; }
  .interactive-radio .fakeCheckable {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0.4em 0 0;
    padding: 0;
    width: 1.1em;
    height: 1.1em;
    background-repeat: no-repeat;
    background-size: 100%;
    background-image: url("resources/upstatement/unchecked.svg"); }
  .interactive-radio .checked .fakeCheckable {
    background-repeat: no-repeat;
    background-size: 100%;
    background-image: url("resources/upstatement/checked.svg"); }

.interactive-pulldown {
  font-size: 1em; }
  .interactive-pulldown .label, .interactive-pulldown .selectboxit-container {
    vertical-align: middle; }
  .interactive-pulldown .label.on-left {
    margin-right: 0.5em; }
  .interactive-pulldown .label.on-top {
    margin-bottom: 0.1em;
    display: block; }

.interactive-checkbox {
  font-size: 1em; }
  .interactive-checkbox label {
    vertical-align: middle; }
  .interactive-checkbox .fakeCheckable {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    width: 1em;
    height: 1em;
    margin: 0 0.4em 0 0;
    padding: 0;
    background: #e6e7e8;
    border: 1px solid #d6d7d8; }
    .interactive-checkbox .fakeCheckable.right {
      margin: 0 0 0 0.4em; }
    .interactive-checkbox .fakeCheckable:after {
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
      filter: alpha(opacity=0);
      opacity: 0;
      content: "";
      position: absolute;
      width: 0.6em;
      height: 0.3em;
      background: transparent;
      top: 0.1em;
      left: 0.1em;
      border: 0.21em solid #616060;
      border-top: none;
      border-right: none;
      -webkit-transform: rotate(-45deg);
      -moz-transform: rotate(-45deg);
      -o-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg); }
    .interactive-checkbox .fakeCheckable:hover:after {
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
      filter: alpha(opacity=20);
      opacity: 0.2; }
    .interactive-checkbox .fakeCheckable.checked:after {
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
      filter: alpha(opacity=100);
      opacity: 1; }
    .interactive-checkbox .fakeCheckable:hover.checked:after {
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)";
      filter: alpha(opacity=75);
      opacity: 0.75; }

.interactive-table div.title {
  text-align: center;
  padding: 0.3em 0em;
  color: black; }
.interactive-table div.table-wrapper {
  padding: 0.2em 0.8em 0.2em 0.4em;
  background-color: #eeeeee;
  border-radius: 0.4em;
  height: 100%;
  width: auto;
  overflow: hidden; }
  .interactive-table div.table-wrapper table {
    border-collapse: collapse;
    background-color: #eeeeee;
    width: 100%; }
    .interactive-table div.table-wrapper table thead {
      border-collapse: collapse;
      border-bottom: 1px solid #888888;
      display: table-header-group;
      width: 80%; }
      .interactive-table div.table-wrapper table thead tr {
        display: block;
        position: relative; }
      .interactive-table div.table-wrapper table thead th {
        text-align: left;
        background-repeat: no-repeat;
        background-position: center right;
        cursor: n-resize;
        font-weight: normal;
        font-size: 90%;
        margin-bottom: 0.1em;
        padding: 0.4em 0.5em 0.5em 0.2em;
        border-radius: 0.1em;
        min-width: 1em; }
      .interactive-table div.table-wrapper table thead th.sorted {
        background: #d4d4d4; }
      .interactive-table div.table-wrapper table thead th.sorted.asc {
        background-image: url("resources/down.png");
        background-size: 15%;
        background-repeat: no-repeat;
        background-position: bottom right; }
      .interactive-table div.table-wrapper table thead th.sorted.desc {
        background-image: url("resources/up.png");
        background-size: 15%;
        background-repeat: no-repeat;
        background-position: top right;
        cursor: s-resize; }
      .interactive-table div.table-wrapper table thead th:nth-child(even) {
        background-color: #dfdfdf; }
    .interactive-table div.table-wrapper table tbody {
      border-collapse: collapse;
      padding-bottom: 0.3em;
      display: block;
      overflow: auto;
      width: 100%;
      background-color: white;
      vertical-align: middle; }
      .interactive-table div.table-wrapper table tbody tr {
        display: table-row-group;
        border-top: 1px solid #888888; }
        .interactive-table div.table-wrapper table tbody tr:nth-child(odd) {
          background-color: #f8f8f8; }
          .interactive-table div.table-wrapper table tbody tr:nth-child(odd) td:nth-child(even) {
            background-color: #e9e9e9; }
        .interactive-table div.table-wrapper table tbody tr:nth-child(even) {
          background-color: white; }
          .interactive-table div.table-wrapper table tbody tr:nth-child(even) td:nth-child(even) {
            background-color: #f0f0f0; }
        .interactive-table div.table-wrapper table tbody tr:first-child {
          border-top: none; }
        .interactive-table div.table-wrapper table tbody tr td {
          font-size: 80%;
          font-weight: normal;
          text-align: left;
          padding: 0.2em 0.3em 0.2em 0.3em; }
      .interactive-table div.table-wrapper table tbody tr.selected {
        background-color: #fff4b8; }
        .interactive-table div.table-wrapper table tbody tr.selected td:nth-child(even) {
          background-color: #ffef99; }
    .interactive-table div.table-wrapper table .editor-text {
      width: 100%;
      height: 100%;
      border: 0;
      margin: 0;
      background: white;
      outline: 0;
      padding: 0; }

.numeric-output {
  padding: 0.3em 0.2em 0.3em 0.7em; }
  .numeric-output span.output {
    white-space: nowrap;
    background-color: white;
    border-radius: 0.4em;
    padding: 0.15em 0 0.15em 0; }
  .numeric-output span.label {
    display: inline-block;
    padding-right: 0.5em; }
  .numeric-output span.value {
    display: inline-block;
    padding: 0em 0.2em 0em 0.5em;
    min-width: 3em;
    text-align: right;
    font-weight: 600; }
  .numeric-output span.units {
    display: inline-block;
    padding-left: 0.2em;
    padding-right: 0.5em;
    font-style: italic; }
  .numeric-output.horizontal span.label {
    display: inline-block; }
  .numeric-output.vertical {
    vertical-align: top; }
    .numeric-output.vertical span.label {
      padding-bottom: 0.2em;
      display: block; }

.interactive-slider {
  padding: 0 0.7em; }
  .interactive-slider .ui-slider {
    width: 94%;
    height: 0;
    left: 3%;
    top: 0.5em;
    border-color: #999999; }
    .interactive-slider .ui-slider.has-fill {
      border: none; }
  .interactive-slider .ui-slider-handle {
    text-decoration: none;
    top: -1em;
    height: 1.75em;
    font-size: 0.8em;
    font-weight: normal;
    text-align: center;
    width: auto;
    min-width: 2em;
    min-height: 2em;
    margin-left: -1em;
    border-radius: 4em;
    padding: 0.35em 0.5em 0em 0.5em;
    background-color: #eeeeee;
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fafafa), color-stop(100%, #c2c2c2));
    background-image: -webkit-linear-gradient(top, #fafafa, #c2c2c2);
    background-image: -moz-linear-gradient(top, #fafafa, #c2c2c2);
    background-image: -ms-linear-gradient(top, #fafafa, #c2c2c2);
    background-image: -o-linear-gradient(top, #fafafa, #c2c2c2);
    background-image: linear-gradient(top, #fafafa, #c2c2c2);
    border-bottom-color: #bbbbbb;
    box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.3); }
    .interactive-slider .ui-slider-handle:hover {
      color: #333333;
      border-color: lightgrey;
      background-color: #e6e6e6;
      background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #e6e6e6));
      background-image: -webkit-linear-gradient(top, white, #e6e6e6);
      background-image: -moz-linear-gradient(top, white, #e6e6e6);
      background-image: -ms-linear-gradient(top, white, #e6e6e6);
      background-image: -o-linear-gradient(top, white, #e6e6e6);
      background-image: linear-gradient(top, white, #e6e6e6); }
    .interactive-slider .ui-slider-handle:focus {
      outline: #76d2b8 solid 0.2em; }
  .interactive-slider .title {
    display: inline-block;
    font-size: 1em;
    white-space: nowrap;
    vertical-align: top; }
    .interactive-slider .title.top {
      margin: 0 0 0.3em 0; }
    .interactive-slider .title.bottom {
      margin: 0.3em 0 0 0; }
    .interactive-slider .title.left {
      margin: 0 0.3em 0 0; }
    .interactive-slider .title.right {
      margin: 0 0 0 0.3em; }
  .interactive-slider .container {
    height: 1.1em;
    position: relative;
    margin-bottom: 1em;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.085);
    border-radius: 0.4em; }
    .interactive-slider .container .label {
      position: absolute;
      display: inline-block;
      top: 100%;
      width: 6em;
      margin: 0.2em 0 0 -3em;
      text-align: center;
      font-size: 0.8em; }
      .interactive-slider .container .label.side {
        width: auto;
        white-space: nowrap;
        margin: 0;
        top: 0; }

.interactive-joystick .title {
  width: 100%;
  text-align: left; }
.interactive-joystick .container {
  position: relative; }
.interactive-joystick .base {
  position: absolute;
  background-color: lightgrey;
  padding: 0px;
  -moz-box-shadow: inset 2px 2px 3px #888888;
  -webkit-box-shadow: inset 2px 2px 3px #888888;
  box-shadow: inset 2px 2px 3px #888888; }
  .interactive-joystick .base .handle {
    position: relative;
    background-color: red;
    margin: 0px;
    padding: 0px;
    -moz-box-shadow: 3px 3px 3px #888888;
    -webkit-box-shadow: 3px 3px 3px #888888;
    box-shadow: 3px 3px 3px #888888;
    cursor: pointer; }
.interactive-joystick .label {
  position: absolute; }
  .interactive-joystick .label.e {
    top: 50%;
    margin-top: -0.5em; }
  .interactive-joystick .label.w {
    top: 50%;
    margin-top: -0.5em; }
  .interactive-joystick .label.s {
    bottom: 0;
    left: 0; }
  .interactive-joystick .label.n {
    top: 0;
    left: 0; }
.interactive-joystick .value {
  position: relative;
  text-align: center; }

.interactive-color-indicator .swatch {
  height: 1.5em;
  width: 2.5em;
  border: 1px solid black; }

.textBoxBody {
  font-family: inherit;
  background-color: rgba(0, 0, 0, 0);
  padding: 0.5em; }
  .textBoxBody p {
    font-size: 2em;
    margin: 0.5em 0 0 0.5em;
    line-height: 1.3em; }

.interactive-spectrometer {
  background: white;
  overflow: hidden; }
  .interactive-spectrometer .spectrometer-bg {
    position: absolute;
    height: 100%; }
  .interactive-spectrometer .photon-mark {
    position: absolute;
    background-color: black;
    width: 1px;
    height: 100%; }
  .interactive-spectrometer .tick-mark {
    position: absolute;
    background-color: #555555;
    width: 2px;
    height: 0.5em;
    bottom: 0; }

.interactive-thermometer {
  white-space: nowrap; }
  .interactive-thermometer .label {
    margin: 0;
    text-align: center;
    font-size: 1em; }
  .interactive-thermometer .value-label {
    position: absolute;
    white-space: nowrap;
    margin-bottom: -0.75em; }
  .interactive-thermometer .labels-container {
    position: relative; }
  .interactive-thermometer .thermometer-main-container, .interactive-thermometer .labels-container {
    display: inline-block;
    vertical-align: top; }
  .interactive-thermometer .thermometer {
    display: block;
    margin: auto;
    border: 2px solid #f4b626;
    position: relative;
    border-radius: 1.5em 1.5em 0.2em 0.2em;
    background: white; }
    .interactive-thermometer .thermometer div {
      display: block;
      position: relative;
      margin: 0px;
      padding: 0px; }
    .interactive-thermometer .thermometer .thermometer-fill {
      position: absolute;
      width: 70%;
      left: 15%;
      bottom: 0;
      background: #e16a3e;
      border-radius: 0.75em 0.75em 0em 0em; }

#interactive-playback-container {
  text-align: center; }
  #interactive-playback-container .duration-control {
    position: absolute;
    font-size: 0.9em;
    left: 0; }

.interactive-playback {
  height: 2em;
  white-space: nowrap;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
  .interactive-playback.text > button {
    background-color: #eeeeee;
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fafafa), color-stop(100%, #c2c2c2));
    background-image: -webkit-linear-gradient(top, #fafafa, #c2c2c2);
    background-image: -moz-linear-gradient(top, #fafafa, #c2c2c2);
    background-image: -ms-linear-gradient(top, #fafafa, #c2c2c2);
    background-image: -o-linear-gradient(top, #fafafa, #c2c2c2);
    background-image: linear-gradient(top, #fafafa, #c2c2c2);
    font-family: inherit;
    border: 1px solid #cccccc;
    border-radius: 0.7em;
    color: #333333;
    padding-left: 1em;
    padding-right: 1em;
    text-align: center;
    text-shadow: 0 1px 0 #eeeeee;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
    position: relative;
    height: 80%;
    width: 6em;
    font-size: 0.8em;
    line-height: 1.6em;
    margin: 0.5em 0.8em;
    padding-right: 0.5em;
    padding-left: 0.5em; }
    .interactive-playback.text > button:hover:not(.lab-disabled) {
      background-color: #e6e6e6;
      background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #e6e6e6));
      background-image: -webkit-linear-gradient(top, white, #e6e6e6);
      background-image: -moz-linear-gradient(top, white, #e6e6e6);
      background-image: -ms-linear-gradient(top, white, #e6e6e6);
      background-image: -o-linear-gradient(top, white, #e6e6e6);
      background-image: linear-gradient(top, white, #e6e6e6);
      cursor: pointer; }
    .interactive-playback.text > button:active {
      background-color: white;
      background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #e6e6e6), color-stop(100%, white));
      background-image: -webkit-linear-gradient(top, #e6e6e6, white);
      background-image: -moz-linear-gradient(top, #e6e6e6, white);
      background-image: -ms-linear-gradient(top, #e6e6e6, white);
      background-image: -o-linear-gradient(top, #e6e6e6, white);
      background-image: linear-gradient(top, #e6e6e6, white);
      border: 1px solid #aaaaaa;
      border-bottom: 1px solid #888888; }
    .interactive-playback.text > button.disabled {
      background-color: #e6e6e6;
      background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #e6e6e6));
      background-image: -webkit-linear-gradient(top, white, #e6e6e6);
      background-image: -moz-linear-gradient(top, white, #e6e6e6);
      background-image: -ms-linear-gradient(top, white, #e6e6e6);
      background-image: -o-linear-gradient(top, white, #e6e6e6);
      background-image: linear-gradient(top, white, #e6e6e6); }
  .interactive-playback.text.wide > button {
    width: 7em; }
  .interactive-playback.text.scrunched-buttons > button {
    margin-left: 0.25em;
    margin-right: 0.25em; }
  .interactive-playback.video {
    border-bottom-left-radius: 0.7em;
    border-bottom-right-radius: 0.7em;
    box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.4); }
  .interactive-playback.video > button {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;
    display: inline-block;
    vertical-align: middle;
    font-family: inherit;
    font-size: 1em;
    height: 100%;
    padding: 0.35em 0 0 0;
    width: 2.7em;
    margin: 0;
    text-align: center;
    border: none;
    background-color: #eeeeee;
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fbfbfb), color-stop(100%, #bcbec0));
    background-image: -webkit-linear-gradient(top, #fbfbfb, #bcbec0);
    background-image: -moz-linear-gradient(top, #fbfbfb, #bcbec0);
    background-image: -ms-linear-gradient(top, #fbfbfb, #bcbec0);
    background-image: -o-linear-gradient(top, #fbfbfb, #bcbec0);
    background-image: linear-gradient(top, #fbfbfb, #bcbec0); }
    .interactive-playback.video > button:hover {
      background-color: #e6e6e6;
      background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #e6e6e6));
      background-image: -webkit-linear-gradient(top, white, #e6e6e6);
      background-image: -moz-linear-gradient(top, white, #e6e6e6);
      background-image: -ms-linear-gradient(top, white, #e6e6e6);
      background-image: -o-linear-gradient(top, white, #e6e6e6);
      background-image: linear-gradient(top, white, #e6e6e6);
      cursor: pointer; }
    .interactive-playback.video > button:active {
      background-color: #f4f4f4;
      background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #e6e6e6), color-stop(100%, white));
      background-image: -webkit-linear-gradient(top, #e6e6e6, white);
      background-image: -moz-linear-gradient(top, #e6e6e6, white);
      background-image: -ms-linear-gradient(top, #e6e6e6, white);
      background-image: -o-linear-gradient(top, #e6e6e6, white);
      background-image: linear-gradient(top, #e6e6e6, white); }
    .interactive-playback.video > button:focus {
      outline: none; }
  .interactive-playback .hidden {
    display: none !important; }
  .interactive-playback .first {
    border-bottom-left-radius: 0.7em; }
  .interactive-playback .last {
    border-bottom-right-radius: 0.7em; }
  .interactive-playback .play-pause {
    min-width: 2.7em; }
    .interactive-playback .play-pause .icon-pause {
      display: none; }
    .interactive-playback .play-pause.playing .icon-pause {
      display: inline-block; }
    .interactive-playback .play-pause.playing .icon-play {
      display: none; }
    .interactive-playback .play-pause.disabled {
      background-color: #e6e6e6;
      background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #e6e6e6));
      background-image: -webkit-linear-gradient(top, white, #e6e6e6);
      background-image: -moz-linear-gradient(top, white, #e6e6e6);
      background-image: -ms-linear-gradient(top, white, #e6e6e6);
      background-image: -o-linear-gradient(top, white, #e6e6e6);
      background-image: linear-gradient(top, white, #e6e6e6); }
      .interactive-playback .play-pause.disabled:hover {
        cursor: default; }
      .interactive-playback .play-pause.disabled .icon-pause {
        opacity: 0.5; }
      .interactive-playback .play-pause.disabled .icon-play {
        opacity: 0.5; }
    .interactive-playback .play-pause .time-display {
      font-size: 0.85em;
      display: none; }
    .interactive-playback .play-pause.with-clock {
      position: relative;
      width: 6.4em;
      white-space: nowrap;
      text-align: left; }
      .interactive-playback .play-pause.with-clock i {
        margin-left: 0.55em; }
      .interactive-playback .play-pause.with-clock .time-display {
        display: inline-block;
        position: absolute;
        right: 0.5em;
        bottom: 0.17em;
        vertical-align: middle;
        width: 5em;
        color: #939598;
        background: #e6e7e8;
        text-align: right;
        border: 1px solid #bbbbbb;
        border-bottom-color: #cccccc;
        padding: 0.1em 0.2em 0 0;
        margin-left: 0.4em;
        border-radius: 0.5em; }
        .interactive-playback .play-pause.with-clock .time-display canvas {
          width: 4.5em;
          height: 1.1em; }
  .interactive-playback i {
    color: #939598;
    font-size: 1em;
    vertical-align: middle; }
  .interactive-playback .spacer {
    vertical-align: middle;
    display: inline-block;
    height: 100%;
    width: 2px;
    background-color: #e6e6e6;
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fefefe), color-stop(100%, #aaacaf));
    background-image: -webkit-linear-gradient(top, #fefefe, #aaacaf);
    background-image: -moz-linear-gradient(top, #fefefe, #aaacaf);
    background-image: -ms-linear-gradient(top, #fefefe, #aaacaf);
    background-image: -o-linear-gradient(top, #fefefe, #aaacaf);
    background-image: linear-gradient(top, #fefefe, #aaacaf); }

.graph {
  position: relative;
  background: rgba(255, 255, 255, 0); }

.graph:focus {
  outline: #76d2b8 solid 0.2em; }

.graph .background {
  position: absolute;
  background: #E3EFE3; }

.graph .title-background {
  fill: transparent; }

.graph .button-layer {
  position: absolute; }

.graph .button-layer a {
  opacity: 0.3;
  color: black;
  font-size: 0.9em;
  cursor: pointer;
  display: block;
  margin-bottom: 0.2em; }

.graph .button-layer.horizontal a {
  display: inline-block;
  margin-bottom: 0;
  margin-right: 1.3em;
  opacity: 0.6;
  font-size: 0.8em; }

.graph .button-layer.horizontal a:first-child {
  margin-left: 10px; }

.graph .button-layer.horizontal a:last-child {
  margin-right: 0; }

.graph .button-layer a i {
  font-size: 1.33em; }

.graph .button-layer a:hover {
  opacity: 1; }

.graph .button-layer a:active {
  opacity: 0.6; }

.graph .button-layer .active {
  color: #00b4d6;
  opacity: 0.6; }

.graph ul.legend-layer {
  position: absolute;
  text-align: left;
  margin: 0;
  border: 1px solid #bcbcbc;
  background-color: rgba(255, 255, 255, 0.8);
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, transparent), color-stop(100%, rgba(230, 230, 230, 0.5)));
  background-image: -webkit-linear-gradient(top, transparent, rgba(230, 230, 230, 0.5));
  background-image: -moz-linear-gradient(top, transparent, rgba(230, 230, 230, 0.5));
  background-image: -ms-linear-gradient(top, transparent, rgba(230, 230, 230, 0.5));
  background-image: -o-linear-gradient(top, transparent, rgba(230, 230, 230, 0.5));
  background-image: linear, top, transparent, rgba(230, 230, 230, 0.5);
  padding: 0.15em 0.3em;
  color: #333333;
  border-radius: 0.4em;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
  list-style: none; }

.graph .legend-layer li {
  margin: 0.15em 0 0.15em 0; }

.graph .legend-layer label {
  margin-left: 0.2em;
  vertical-align: middle;
  font-size: 0.9em; }

.graph div.legend-colorsquare {
  vertical-align: middle;
  display: inline-block;
  width: 0.7em;
  height: 0.25em;
  margin: 0.1em; }

.graph ul.legend-layer.legend-invisible {
  display: none; }

.graph canvas.overlay {
  position: absolute; }

svg.graph:focus {
  outline: #76d2b8 solid 0.2em; }

svg.graph text.title {
  font-size: 0.9em; }

svg.graph text.ylabel {
  font-size: 0.8em; }

svg.graph text.xlabel {
  font-size: 0.8em; }

svg.graph text.axis {
  font-size: 0.8em; }

svg.graph text.axis:focus {
  outline: #76d2b8 solid 0.2em; }

svg.graph rect.axis {
  fill: rgba(255, 255, 255, 0); }

svg.graph rect.axis-draggable:hover {
  fill: rgba(196, 196, 196, 0.2); }

svg.graph rect.axis-draggable.axis-x {
  cursor: col-resize; }

svg.graph rect.axis-draggable.axis-y {
  cursor: row-resize; }

svg.graph .ruler.hidden {
  visibility: hidden; }

svg.graph circle {
  fill: none;
  fill-opacity: 0.2;
  stroke: steelblue;
  cursor: move; }

svg.graph circle.selected {
  fill: #ff7f0e;
  stroke: #ff7f0e; }

svg.graph circle:hover {
  fill: #ff7f0e;
  stroke: #707f0e; }

svg.graph circle.selected:hover {
  fill: #ff7f0e;
  stroke: #ff7f0e; }

svg.graph .brush .extent {
  opacity: 0.2; }

.bar-graph {
  text-align: center;
  padding: 0.2em 0.4em;
  border-radius: 0.6em;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2);
  background-color: rgba(0, 0, 0, 0.05);
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(0, 0, 0, 0.08)), color-stop(100%, rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0));
  background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0));
  background-image: -ms-linear-gradient(top, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0));
  background-image: linear-gradient(top, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0));
  color: #555555; }
  .bar-graph text {
    fill: #555555; }
  .bar-graph .top-area p, .bar-graph .bottom-area p {
    padding-bottom: 0.2em; }
  .bar-graph .hidden {
    display: none; }
  .bar-graph .triangle {
    stroke: #555555;
    stroke-width: 1px;
    fill: #eeeeee; }
  .bar-graph .grid-line {
    stroke: white;
    stroke-width: 1px;
    opacity: 0.8; }
  .bar-graph .tick text {
    font-size: 0.8em; }
  .bar-graph .title {
    font-size: 1em;
    text-anchor: middle;
    margin: 0; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.lab-interactive-container {
  width: 100%;
  font-family: Lato, Verdana, Geneva, sans-serif;
  font-size: 1em;
  color: #3f3f3f;
  height: 100%;
  position: relative;
  border-radius: 0.5em;
  overflow: hidden;
  border: 1px lightgrey solid;
  background-color: #84cbcf;
  background-image: -webkit-radial-gradient(center, ellipse cover, #c7e7de 12%, #72c3c8 100%);
  background-image: -moz-radial-gradient(center, ellipse cover, #c7e7de 12%, #72c3c8 100%);
  background-image: -ms-radial-gradient(center, ellipse cover, #c7e7de 12%, #72c3c8 100%);
  background-image: -o-radial-gradient(center, ellipse cover, #c7e7de 12%, #72c3c8 100%);
  background-image: radial-gradient(center, ellipse cover, #c7e7de 12%, #72c3c8 100%); }
  .lab-interactive-container:focus {
    outline: none; }

.lab-fastclick-container {
  width: 100%;
  height: 100%;
  position: relative; }

.inner-container {
  width: 100%;
  height: 100%; }

.component-spacing {
  margin: 0.3em 0.5em; }

#top-bar {
  background-color: white; }

#bottom-bar {
  background-color: white; }

#credits-link {
  padding: 0.2em 0 0.2em 0.8em; }

#about-link, #share-link {
  color: gray; }
  #about-link:hover, #share-link:hover {
    color: black; }
  #about-link p, #share-link p {
    margin: 0em;
    padding: 0em; }

.fullscreen {
  background-repeat: no-repeat;
  background-size: 90%;
  background-image: url("resources/layout/fullscreen.svg"); }
  .fullscreen:hover {
    background-repeat: no-repeat;
    background-size: 90%;
    background-image: url("resources/layout/fullscreen-dark.svg"); }

body:-moz-full-screen .fullscreen {
  background-repeat: no-repeat;
  background-size: 90%;
  background-image: url("resources/layout/fullscreen-exit.svg"); }
  body:-moz-full-screen .fullscreen:hover {
    background-repeat: no-repeat;
    background-size: 90%;
    background-image: url("resources/layout/fullscreen-exit-dark.svg"); }

body:-webkit-full-screen .fullscreen {
  background-repeat: no-repeat;
  background-size: 90%;
  background-image: url("resources/layout/fullscreen-exit.svg"); }
  body:-webkit-full-screen .fullscreen:hover {
    background-repeat: no-repeat;
    background-size: 90%;
    background-image: url("resources/layout/fullscreen-exit-dark.svg"); }

body:fullscreen .fullscreen {
  background-repeat: no-repeat;
  background-size: 90%;
  background-image: url("resources/layout/fullscreen-exit.svg"); }
  body:fullscreen .fullscreen:hover {
    background-repeat: no-repeat;
    background-size: 90%;
    background-image: url("resources/layout/fullscreen-exit-dark.svg"); }

.credits {
  background: url("resources/layout/cc-logo.svg") no-repeat;
  background-size: 80%;
  background-position: 0.3em 0.2em; }
  .credits:hover {
    background-image: url("resources/layout/cc-logo-dark.svg"); }

#interactive-reload-icon > i {
  color: black;
  opacity: 0.5; }
  #interactive-reload-icon > i.active {
    color: white; }
  #interactive-reload-icon > i:hover {
    opacity: 0.9; }

.lab-responsive-content .context-menu-list {
  min-width: 5em;
  max-width: 50em;
  font-size: 0.9em;
  font-family: inherit;
  border: none; }
  .lab-responsive-content .context-menu-list .context-menu-list {
    font-size: 1em; }
.lab-responsive-content .context-menu-submenu:after {
  top: 0.35em; }
.lab-responsive-content .lang-menu {
  min-width: 1em;
  background: #fefefe;
  border-radius: 0.25em;
  font-size: 1em; }
  .lab-responsive-content .lang-menu .context-menu-item {
    padding: 0.1em 2em 0.25em 0.25em;
    background-size: 1.8em;
    background-repeat: no-repeat;
    background-position: top 0.1em right 0.01em;
    border-radius: 0.25em;
    background-color: transparent;
    text-align: right; }
    .lab-responsive-content .lang-menu .context-menu-item:hover {
      background-color: #ebebeb; }
    .lab-responsive-content .lang-menu .context-menu-item > span {
      font-size: 0.85em; }
.lab-responsive-content .lang-icon {
  background-size: 100%;
  background-position: 0 0;
  background-repeat: no-repeat;
  cursor: pointer; }
.lab-responsive-content .mutations-menu {
  min-width: 3em;
  border-radius: 0.7em; }
  .lab-responsive-content .mutations-menu .context-menu-list {
    min-width: 6em;
    border-radius: 0.7em; }
  .lab-responsive-content .mutations-menu .context-menu-item {
    border-radius: 0.7em;
    padding: 0.35em 1em; }
  .lab-responsive-content .mutations-menu .substitution-submenu .context-menu-item {
    padding: 1.2em; }
  .lab-responsive-content .mutations-menu .substitution-submenu .A-to-A {
    display: none; }
  .lab-responsive-content .mutations-menu .substitution-submenu .A-to-T {
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: auto 75%;
    background-image: url("resources/dna/A-to-T.svg"); }
  .lab-responsive-content .mutations-menu .substitution-submenu .A-to-G {
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: auto 75%;
    background-image: url("resources/dna/A-to-G.svg"); }
  .lab-responsive-content .mutations-menu .substitution-submenu .A-to-C {
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: auto 75%;
    background-image: url("resources/dna/A-to-C.svg"); }
  .lab-responsive-content .mutations-menu .substitution-submenu .C-to-C {
    display: none; }
  .lab-responsive-content .mutations-menu .substitution-submenu .C-to-T {
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: auto 75%;
    background-image: url("resources/dna/C-to-T.svg"); }
  .lab-responsive-content .mutations-menu .substitution-submenu .C-to-G {
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: auto 75%;
    background-image: url("resources/dna/C-to-G.svg"); }
  .lab-responsive-content .mutations-menu .substitution-submenu .C-to-A {
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: auto 75%;
    background-image: url("resources/dna/C-to-A.svg"); }
  .lab-responsive-content .mutations-menu .substitution-submenu .G-to-G {
    display: none; }
  .lab-responsive-content .mutations-menu .substitution-submenu .G-to-T {
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: auto 75%;
    background-image: url("resources/dna/G-to-T.svg"); }
  .lab-responsive-content .mutations-menu .substitution-submenu .G-to-C {
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: auto 75%;
    background-image: url("resources/dna/G-to-C.svg"); }
  .lab-responsive-content .mutations-menu .substitution-submenu .G-to-A {
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: auto 75%;
    background-image: url("resources/dna/G-to-A.svg"); }
  .lab-responsive-content .mutations-menu .substitution-submenu .T-to-T {
    display: none; }
  .lab-responsive-content .mutations-menu .substitution-submenu .T-to-G {
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: auto 75%;
    background-image: url("resources/dna/T-to-G.svg"); }
  .lab-responsive-content .mutations-menu .substitution-submenu .T-to-C {
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: auto 75%;
    background-image: url("resources/dna/T-to-C.svg"); }
  .lab-responsive-content .mutations-menu .substitution-submenu .T-to-A {
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: auto 75%;
    background-image: url("resources/dna/T-to-A.svg"); }
  .lab-responsive-content .mutations-menu .insertion-submenu .context-menu-item {
    padding: 0.6em 2.5em 0.6em 0.8em; }
  .lab-responsive-content .mutations-menu .insertion-submenu .A {
    background-repeat: no-repeat;
    background-position: right 0.5em top 50%;
    background-size: auto 85%;
    background-image: url("resources/dna/A.svg"); }
  .lab-responsive-content .mutations-menu .insertion-submenu .T {
    background-repeat: no-repeat;
    background-position: right 0.5em top 50%;
    background-size: auto 85%;
    background-image: url("resources/dna/T.svg"); }
  .lab-responsive-content .mutations-menu .insertion-submenu .G {
    background-repeat: no-repeat;
    background-position: right 0.5em top 50%;
    background-size: auto 85%;
    background-image: url("resources/dna/G.svg"); }
  .lab-responsive-content .mutations-menu .insertion-submenu .C {
    background-repeat: no-repeat;
    background-position: right 0.5em top 50%;
    background-size: auto 85%;
    background-image: url("resources/dna/C.svg"); }
.lab-responsive-content .aminoacids-menu {
  min-width: 9em; }
  .lab-responsive-content .aminoacids-menu .context-menu-item {
    padding: 0 0 0 19%; }
  .lab-responsive-content .aminoacids-menu .context-menu-item:hover {
    font-weight: bold; }
  .lab-responsive-content .aminoacids-menu .pos-charge {
    background-repeat: no-repeat;
    background-position: 0.25em 50%;
    background-size: auto 1em;
    background-image: url("resources/plus.svg"); }
  .lab-responsive-content .aminoacids-menu .neg-charge {
    background-repeat: no-repeat;
    background-position: 0.25em 50%;
    background-size: auto 1.05em;
    background-image: url("resources/minus.svg"); }
  .lab-responsive-content .aminoacids-menu .hydrophobic {
    background-color: #f3c35d; }
  .lab-responsive-content .aminoacids-menu .hydrophobic.marked {
    background-color: #ffe64b; }
  .lab-responsive-content .aminoacids-menu .hydrophilic {
    background-color: #9dc278; }
  .lab-responsive-content .aminoacids-menu .hydrophilic.marked {
    background-color: #bee299; }
  .lab-responsive-content .aminoacids-menu .hydrophobic-category {
    font-size: 1.1em;
    font-weight: bold;
    padding: 2% 0 2% 14%;
    background-color: #e0a21b;
    background-repeat: no-repeat;
    background-position: 4%;
    background-size: auto 40%;
    background-image: url("resources/col.svg"); }
  .lab-responsive-content .aminoacids-menu .hydrophilic-category {
    font-size: 1.1em;
    font-weight: bold;
    padding: 2% 0 2% 14%;
    background-color: #75a643;
    background-repeat: no-repeat;
    background-position: 4%;
    background-size: auto 40%;
    background-image: url("resources/col.svg"); }
  .lab-responsive-content .aminoacids-menu .expanded {
    background-repeat: no-repeat;
    background-position: 4%;
    background-size: auto 40%;
    background-image: url("resources/exp.svg"); }

#model-container {
  background: rgba(255, 255, 255, 0);
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  #model-container:focus {
    outline: #76d2b8 solid 0.2em; }
  #model-container.draggable:hover {
    cursor: move; }
  #model-container > .container {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
  #model-container > iframe {
    border: none; }
  #model-container .radialbond1, #model-container .radialbond2 {
    fill: none; }
    #model-container .radialbond1.disulphideBond, #model-container .radialbond2.disulphideBond {
      stroke: #ffe95a !important; }
  #model-container .genetics .glow {
    display: none; }
  .no-touch #model-container .genetics .clickable-nucleo:hover, #model-container .genetics .clickable-nucleo.glowing {
    cursor: pointer; }
    .no-touch #model-container .genetics .clickable-nucleo:hover .glow, #model-container .genetics .clickable-nucleo.glowing .glow {
      display: inline; }
  #model-container .genetics .nucleotide .bonds {
    stroke: white; }
  #model-container .genetics .nucleotide .letter {
    fill: #4a3217; }
  #model-container .genetics .nucleotide .type-A .outline {
    fill: #278db0; }
  #model-container .genetics .nucleotide .type-A .interior {
    fill: #a2d6ff; }
  #model-container .genetics .nucleotide .type-C .outline {
    fill: #cc5b4c; }
  #model-container .genetics .nucleotide .type-C .interior {
    fill: #fbb394; }
  #model-container .genetics .nucleotide .type-G .outline {
    fill: #cc5b4c; }
  #model-container .genetics .nucleotide .type-G .interior {
    fill: #f9ceff; }
  #model-container .genetics .nucleotide .type-T .outline {
    fill: #278db0; }
  #model-container .genetics .nucleotide .type-T .interior {
    fill: #99f0e3; }
  #model-container .genetics .nucleotide .type-U .outline {
    fill: #278db0; }
  #model-container .genetics .nucleotide .type-U .interior {
    fill: #83feaf; }
  #model-container .genetics .nucleotide .stop-codon .outline {
    fill: #cc0000; }
  #model-container .genetics .nucleotide .stop-codon .letter {
    fill: #cc0000; }
  #model-container .genetics .nucleotide.promoter-region .outline {
    fill: #006600; }
  #model-container .genetics .nucleotide.promoter-region .interior {
    fill: #5db473; }
  #model-container .genetics .nucleotide.promoter-region .letter {
    fill: white; }
  #model-container .genetics .nucleotide.terminator-region .outline {
    fill: #9e0608; }
  #model-container .genetics .nucleotide.terminator-region .interior {
    fill: #dc4648; }
  #model-container .genetics .nucleotide.terminator-region .letter {
    fill: white; }
  #model-container .genetics .nucleotide.junk-region .outline {
    fill: #666666; }
  #model-container .genetics .nucleotide.junk-region .interior {
    fill: #adadad; }
  #model-container .genetics .nucleotide.junk-region .letter {
    fill: white; }
  #model-container .genetics .polymerase-over, #model-container .genetics .polymerase-under, #model-container .genetics .dna3 {
    pointer-events: none; }
  #model-container .vector-electric-field {
    stroke-width: 0.5px; }
  #model-container g.y, #model-container g.x {
    fill: #555555;
    font-size: 0.75em; }
  #model-container .xlabel, #model-container .ylabel {
    fill: #555555;
    font-size: 0.85em; }
  #model-container div.tooltip {
    display: none;
    position: fixed;
    padding: 0.4em 0.6em;
    font-size: 0.6em;
    background: white;
    border: solid 1px #aaaaaa;
    border-radius: 0.8em;
    pointer-events: none; }
    #model-container div.tooltip pre {
      margin: 0.2em; }
  #model-container .extent {
    stroke: white;
    fill-opacity: 0.125;
    shape-rendering: crispEdges; }
  #model-container .opaque-on-hover {
    opacity: 0.5; }
    #model-container .opaque-on-hover:hover {
      opacity: 1; }
  #model-container.sensor-model-container .address-input input {
    font-size: 0.9em;
    width: 15em;
    border-radius: 0.4em;
    border: none;
    padding: 0.25em 0.5em; }
  #model-container.sensor-model-container .message {
    width: 25em;
    font-style: italic; }
  #model-container.sensor-model-container .interactive-button > button {
    padding-left: 0.5em;
    padding-right: 0.5em; }
  #model-container.sensor-model-container .component {
    font-size: 0.9em; }
  #model-container.sensor-model-container .component-spacing {
    margin: 0.1em 0.2em; }

#e2d-canvas-views {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1; }

#e2d-webgl-status {
  font-size: 0.7em;
  color: #222222;
  padding: 0;
  position: absolute;
  width: 96%;
  top: 2%;
  left: 2%;
  z-index: 1; }
  #e2d-webgl-status p, #e2d-webgl-status .component {
    margin: 0 0 0.4em 0; }
  #e2d-webgl-status a {
    margin: 0 0 0.4em 0;
    font-weight: 600; }
  #e2d-webgl-status .happy {
    font-weight: 600;
    color: #294900; }
  #e2d-webgl-status .sad {
    font-weight: 600;
    color: #6d0035; }
  #e2d-webgl-status .extension {
    margin-left: 0.5em;
    font-size: 0.8em; }
  #e2d-webgl-status .button {
    font-size: 1.2em;
    opacity: 0.5; }
  #e2d-webgl-status .button:hover {
    opacity: 1;
    cursor: pointer; }
  #e2d-webgl-status .fakeCheckable {
    box-shadow: inset 2px 2px 2px rgba(0, 0, 0, 0.3); }

#status-wrapper {
  padding: 0.3em 1.8em 0.1em 0.5em;
  border-radius: 0.5em;
  box-shadow: rgba(0, 0, 0, 0.3) 0.2em 0.2em 0.2em;
  background-color: rgba(255, 255, 255, 0.9);
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255, 255, 255, 0.5)), color-stop(100%, rgba(104, 104, 104, 0.5)));
  background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.5), rgba(104, 104, 104, 0.5));
  background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.5), rgba(104, 104, 104, 0.5));
  background-image: -ms-linear-gradient(top, rgba(255, 255, 255, 0.5), rgba(104, 104, 104, 0.5));
  background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0.5), rgba(104, 104, 104, 0.5));
  background-image: linear-gradient(top, rgba(255, 255, 255, 0.5), rgba(104, 104, 104, 0.5)); }

#hide-webgl-status {
  color: #222222;
  position: absolute;
  top: 0.1em;
  right: 0.35em; }

#show-webgl-status {
  color: white;
  position: absolute;
  top: -0.2em; }
  #show-webgl-status.happy {
    color: #8fff00; }
  #show-webgl-status.sad {
    color: red; }

.e2d-part-shape {
  stroke: black;
  stroke-width: 2px; }

.e2d-part-shape-outline {
  stroke: #dddddd;
  stroke-width: 1.5px; }

.e2d-part-label-shadow {
  stroke: black;
  font-size: 0.7em;
  stroke-width: 0.15em;
  stroke-opacity: 0.7; }

.e2d-part-label {
  fill: white;
  font-size: 0.7em; }

.e2d-texture-path-shadow {
  stroke: black;
  stroke-width: 3px;
  opacity: 0.5; }

.e2d-texture-path {
  stroke: white;
  stroke-width: 1.5px;
  opacity: 0.5; }

.e2d-sensor-reading {
  fill: #eeeeee;
  font-size: 0.6em; }

.e2d-sensor-reading-shadow {
  stroke: black;
  font-size: 0.6em;
  stroke-width: 0.15em;
  stroke-opacity: 0.7; }

.e2d-sensor-label {
  fill: #eeeeee;
  font-size: 0.5em; }

.e2d-sensor-label-shadow {
  stroke: black;
  font-size: 0.5em;
  stroke-width: 0.15em;
  stroke-opacity: 0.7; }

.e2d-measuring-point {
  fill: none;
  stroke-width: 0.5px;
  stroke: #333333; }

.e2d-thermometer-background {
  fill: white;
  stroke: #333333;
  stroke-width: 0.5px; }

.e2d-thermometer-fill {
  fill: #ff3322;
  stroke: #333333;
  stroke-width: 0.5px; }

.e2d-anemometer-shape path {
  fill: #eeeeee;
  stroke: black;
  stroke-width: 2px; }

.e2d-anemometer-shape circle {
  fill: #ff4411;
  stroke: black;
  stroke-width: 2px; }

.e2d-heatflux-shape {
  fill: #eeeeee;
  stroke: #333333;
  stroke-width: 1.5px; }

.e2d-heatflux-pattern {
  fill: none;
  stroke: #333333;
  stroke-width: 0.2px; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.credits-dialog p, .credits-dialog h2, .about-dialog p, .about-dialog h2, .share-dialog p, .share-dialog h2 {
  margin: 0.5em 0; }
.credits-dialog h2, .about-dialog h2, .share-dialog h2 {
  font-size: 1em;
  font-weight: 600; }
.credits-dialog a, .credits-dialog a.opens-in-new-window, .about-dialog a, .about-dialog a.opens-in-new-window, .share-dialog a, .share-dialog a.opens-in-new-window {
  color: #0000ee;
  text-decoration: none;
  padding: 0; }
.credits-dialog a:visited, .about-dialog a:visited, .share-dialog a:visited {
  color: #551a8b; }

.share-dialog textarea {
  display: block;
  width: 99%;
  font-size: 0.8em;
  padding: 0.3em;
  margin-bottom: 1em; }
  .share-dialog textarea#share-iframe-content {
    height: 5.5em; }

.dna-edit-dialog {
  font-size: 0.9em; }
  .dna-edit-dialog .error {
    color: #cc0000; }
  .dna-edit-dialog input {
    display: block; }
  .dna-edit-dialog input[disabled] {
    opacity: 0.65; }

.copyright-section {
  margin-top: 1em;
  font-size: 0.8em; }

.warning-pane {
  position: absolute;
  opacity: 0.8;
  color: #d51607;
  background-color: rgba(255, 204, 204, 0.8);
  border-radius: 0.5em;
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.3);
  margin: 0em;
  padding: 0.2em;
  font-size: 1.1em; }
  .warning-pane:hover {
    opacity: 1; }
  .warning-pane > a {
    color: #d51607; }

#model-not-found-pane {
  font-size: 1.2em;
  width: 80%;
  left: 10%;
  padding: 0.5em; }

.no-close .ui-dialog-titlebar-close {
  display: none; }

applet {
  border: thin solid #eeeeee; }
  applet.test-sensor-applet {
    z-index: 4; }

#sensor-progressbar-container {
  position: absolute;
  left: 30%;
  width: 40%;
  height: 2.5em;
  z-index: 5; }
  #sensor-progressbar-container .label {
    width: 100%;
    text-align: center; }
  #sensor-progressbar-container .ui-progressbar {
    height: 1em; }

#banner-help {
  z-index: 101; }

.lab-help-icon {
  color: black;
  opacity: 0.5;
  z-index: 99; }
  .lab-help-icon.active {
    color: white; }
  .lab-help-icon:hover {
    opacity: 0.9; }

.lab-help-next, .lab-help-prev {
  cursor: pointer; }
  .lab-help-next.btn, .lab-help-prev.btn {
    font-size: 2em;
    line-height: 0.5em;
    margin: 0 0.4em; }

.lab-help-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 200%;
  height: 200%;
  background: rgba(60, 60, 60, 0.3);
  z-index: 100; }

.lab-help-instructions {
  position: absolute;
  top: -0.15em;
  width: 100%;
  text-align: center;
  font-size: 1.2em;
  color: white;
  text-shadow: 1px 1px 1px #444444;
  z-index: 100; }
  .lab-help-instructions > span {
    vertical-align: middle; }

.lab-help-tip {
  display: inline-block;
  max-width: 30em;
  font-size: 1em;
  padding: 0.4em 1em;
  margin: 0.5em;
  z-index: 101;
  border-radius: 0.7em;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
  text-shadow: 1px 1px 2px white;
  background-color: #e6e6e6;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #e6e6e6));
  background-image: -webkit-linear-gradient(top, white, #e6e6e6);
  background-image: -moz-linear-gradient(top, white, #e6e6e6);
  background-image: -ms-linear-gradient(top, white, #e6e6e6);
  background-image: -o-linear-gradient(top, white, #e6e6e6);
  background-image: linear-gradient(top, white, #e6e6e6);
  cursor: pointer; }
  .lab-help-tip:focus {
    outline: none; }

.lab-help-arrow.top:after {
  background: white; }
.lab-help-arrow.bottom:after {
  background: #e6e6e6; }

.lab-help-arrow {
  width: 2.5em;
  height: 1em;
  overflow: hidden;
  position: absolute;
  margin-left: -1.25em;
  left: 2em;
  bottom: -1em; }
  .lab-help-arrow.top {
    top: -1em;
    bottom: auto; }

.lab-help-arrow:after {
  content: "";
  position: absolute;
  top: -1em;
  left: 0.4em;
  width: 1.6em;
  height: 1.6em;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg); }

.lab-help-arrow.top:after {
  bottom: -1em;
  top: auto; }

.lab-component-help-icon {
  position: absolute;
  top: -0.65em;
  right: -0.65em; }
  .graph.component .lab-component-help-icon {
    top: 0.3em;
    right: 0.3em; }
  .interactive-slider .lab-component-help-icon {
    top: 0.2em;
    right: 0.2em; }
  .interactive-checkbox .lab-component-help-icon, .interactive-radio .lab-component-help-icon, .interactive-text .lab-component-help-icon {
    top: -0.45em; }

.ui-widget {
  font-size: 1em;
  font-family: inherit; }

.ui-widget-header {
  font-size: 1em;
  font-weight: bold;
  color: white;
  background: #58b5b9;
  border: none;
  opacity: 0.7;
  border-radius: 0.5em 0.5em 0 0; }

.ui-dialog {
  border: white;
  border-radius: 0.5em;
  box-shadow: 1px 1px 15px rgba(0, 0, 0, 0.5);
  padding: 0; }
  .ui-dialog.no-close .ui-dialog-titlebar-close {
    display: none; }

.ui-dialog-content {
  color: #535455; }

.selectboxit-container * {
  font-size: 1em;
  font-family: inherit; }

.selectboxit-text {
  max-width: none !important; }

.selectboxit-options {
  min-width: 100% !important; }

.selectboxit-option, .selectboxit-optgroup-header {
  text-indent: 0.4em; }

.selectboxit-container .selectboxit, .selectboxit-container .selectboxit-options {
  border-radius: 0.7em; }

.selectboxit-arrow-container {
  width: 2.14em;
  border-left: 1px solid #cccccc; }

.selectboxit .selectboxit-arrow-container .selectboxit-arrow {
  top: 39%; }

.selectboxit-default-arrow {
  border-top: 0.45em solid #8c8c8c;
  border-right: 0.45em solid transparent;
  border-left: 0.45em solid transparent; }

.selectboxit-container span, .selectboxit-container .selectboxit-options a {
  height: 2em;
  line-height: 2em; }

.selectboxit-text {
  text-indent: 0.5em;
  overflow: visible; }

.selectboxit-btn, .selectboxit-btn:focus, .selectboxit-btn.selectboxit-enabled:focus {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
  background-color: #f6f6f6;
  background-position: 0 0;
  background-color: #eeeeee;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fafafa), color-stop(100%, #c2c2c2));
  background-image: -webkit-linear-gradient(top, #fafafa, #c2c2c2);
  background-image: -moz-linear-gradient(top, #fafafa, #c2c2c2);
  background-image: -ms-linear-gradient(top, #fafafa, #c2c2c2);
  background-image: -o-linear-gradient(top, #fafafa, #c2c2c2);
  background-image: linear-gradient(top, #fafafa, #c2c2c2); }
.selectboxit-btn:hover, .selectboxit-btn.selectboxit-enabled:hover, .selectboxit-btn:active {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
  color: #333333;
  background-color: white;
  background-position: 0 0;
  background-color: #e6e6e6;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #e6e6e6));
  background-image: -webkit-linear-gradient(top, white, #e6e6e6);
  background-image: -moz-linear-gradient(top, white, #e6e6e6);
  background-image: -ms-linear-gradient(top, white, #e6e6e6);
  background-image: -o-linear-gradient(top, white, #e6e6e6);
  background-image: linear-gradient(top, white, #e6e6e6); }

.ui-tooltip {
  border: none;
  background-color: #e6e6e6;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #e6e6e6));
  background-image: -webkit-linear-gradient(top, white, #e6e6e6);
  background-image: -moz-linear-gradient(top, white, #e6e6e6);
  background-image: -ms-linear-gradient(top, white, #e6e6e6);
  background-image: -o-linear-gradient(top, white, #e6e6e6);
  background-image: linear-gradient(top, white, #e6e6e6);
  padding: 0.05em 0.15em;
  color: #333333;
  border-radius: 0.4em;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
  min-width: 2.5em;
  max-width: 12em; }

.ui-tooltip-content {
  font-size: 0.85em; }

.ui-tooltip-arrow.top:after {
  background: white; }
.ui-tooltip-arrow.bottom:after {
  background: #e6e6e6; }

.ui-tooltip-arrow {
  width: 0.6em;
  height: 0.5em;
  overflow: hidden;
  position: absolute;
  left: 50%;
  margin-left: -0.3em;
  bottom: -0.5em; }
  .ui-tooltip-arrow.top {
    top: -0.5em;
    bottom: auto; }

.ui-tooltip-arrow:after {
  content: "";
  position: absolute;
  top: -0.5em;
  width: 0.6em;
  height: 0.6em;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg); }

.ui-tooltip-arrow.top:after {
  bottom: -0.5em;
  top: auto; }

/*  Font Awesome 3.0.2
 *  the iconic font designed for use with Twitter Bootstrap
 *  -------------------------------------------------------
 *  The full suite of pictographic icons, examples, and documentation
 *  can be found at: http://fortawesome.github.com/Font-Awesome/
 *
 *  License
 *  -------------------------------------------------------
 *  - The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL
 *  - Font Awesome CSS, LESS, and SASS files are licensed under the MIT License -
 *    http://opensource.org/licenses/mit-license.html
 *  - The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/
 *  - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
 *    "Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome"
 *
 *  Contact
 *  -------------------------------------------------------
 *  Email: dave@davegandy.com
 *  Twitter: http://twitter.com/fortaweso_me
 *  Work: Lead Product Designer @ http://kyruus.com
 */
@font-face {
  font-family: "FontAwesome";
  src: url("vendor/fonts/Font-Awesome/font/fontawesome-webfont.eot?v=3.0.1");
  src: url("vendor/fonts/Font-Awesome/font/fontawesome-webfont.eot?#iefix&v=3.0.1") format("embedded-opentype"), url("vendor/fonts/Font-Awesome/font/fontawesome-webfont.woff?v=3.0.1") format("woff"), url("vendor/fonts/Font-Awesome/font/fontawesome-webfont.ttf?v=3.0.1") format("truetype");
  font-weight: normal;
  font-style: normal; }

/*  Font Awesome styles
 *  ------------------------------------------------------- */
[class^="icon-"],
[class*=" icon-"] {
  font-family: FontAwesome;
  font-weight: normal;
  font-style: normal;
  text-decoration: inherit;
  -webkit-font-smoothing: antialiased;
  /* sprites.less reset */
  display: inline;
  width: auto;
  height: auto;
  line-height: normal;
  vertical-align: baseline;
  background-image: none;
  background-position: 0% 0%;
  background-repeat: repeat;
  margin-top: 0; }

/* more sprites.less reset */
.icon-white,
.nav-pills > .active > a > [class^="icon-"],
.nav-pills > .active > a > [class*=" icon-"],
.nav-list > .active > a > [class^="icon-"],
.nav-list > .active > a > [class*=" icon-"],
.navbar-inverse .nav > .active > a > [class^="icon-"],
.navbar-inverse .nav > .active > a > [class*=" icon-"],
.dropdown-menu > li > a:hover > [class^="icon-"],
.dropdown-menu > li > a:hover > [class*=" icon-"],
.dropdown-menu > .active > a > [class^="icon-"],
.dropdown-menu > .active > a > [class*=" icon-"],
.dropdown-submenu:hover > a > [class^="icon-"],
.dropdown-submenu:hover > a > [class*=" icon-"] {
  background-image: none; }

[class^="icon-"]:before,
[class*=" icon-"]:before {
  text-decoration: inherit;
  display: inline-block;
  speak: none; }

/* makes sure icons active on rollover in links */
a [class^="icon-"],
a [class*=" icon-"] {
  display: inline-block; }

/* makes the font 33% larger relative to the icon container */
.icon-large:before {
  vertical-align: -10%;
  font-size: 1.33333em; }

.btn [class^="icon-"],
.btn [class*=" icon-"], .nav [class^="icon-"],
.nav [class*=" icon-"] {
  display: inline;
  /* keeps button heights with and without icons the same */ }
  .btn [class^="icon-"].icon-large,
  .btn [class*=" icon-"].icon-large, .nav [class^="icon-"].icon-large,
  .nav [class*=" icon-"].icon-large {
    line-height: 0.9em; }
  .btn [class^="icon-"].icon-spin,
  .btn [class*=" icon-"].icon-spin, .nav [class^="icon-"].icon-spin,
  .nav [class*=" icon-"].icon-spin {
    display: inline-block; }

.nav-tabs [class^="icon-"],
.nav-tabs [class*=" icon-"], .nav-pills [class^="icon-"],
.nav-pills [class*=" icon-"] {
  /* keeps button heights with and without icons the same */
  line-height: 0.9em; }
  .nav-tabs [class^="icon-"].icon-large,
  .nav-tabs [class*=" icon-"].icon-large, .nav-pills [class^="icon-"].icon-large,
  .nav-pills [class*=" icon-"].icon-large {
    line-height: 0.9em; }

li [class^="icon-"],
li [class*=" icon-"], .nav li [class^="icon-"],
.nav li [class*=" icon-"] {
  display: inline-block;
  width: 1.25em;
  text-align: center; }
  li [class^="icon-"].icon-large,
  li [class*=" icon-"].icon-large, .nav li [class^="icon-"].icon-large,
  .nav li [class*=" icon-"].icon-large {
    /* increased font size for icon-large */
    width: 1.5625em; }

ul.icons {
  list-style-type: none;
  text-indent: -0.75em; }
  ul.icons li [class^="icon-"],
  ul.icons li [class*=" icon-"] {
    width: 0.75em; }

.icon-muted {
  color: #eeeeee; }

.icon-border {
  border: solid 1px #eeeeee;
  padding: 0.2em 0.25em 0.15em;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px; }

.icon-2x {
  font-size: 2em; }
  .icon-2x.icon-border {
    border-width: 2px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px; }

.icon-3x {
  font-size: 3em; }
  .icon-3x.icon-border {
    border-width: 3px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px; }

.icon-4x {
  font-size: 4em; }
  .icon-4x.icon-border {
    border-width: 4px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px; }

.pull-right {
  float: right; }

.pull-left {
  float: left; }

[class^="icon-"].pull-left,
[class*=" icon-"].pull-left {
  margin-right: 0.3em; }
[class^="icon-"].pull-right,
[class*=" icon-"].pull-right {
  margin-left: 0.3em; }

.btn [class^="icon-"].pull-left.icon-2x, .btn [class^="icon-"].pull-right.icon-2x,
.btn [class*=" icon-"].pull-left.icon-2x,
.btn [class*=" icon-"].pull-right.icon-2x {
  margin-top: 0.18em; }
.btn [class^="icon-"].icon-spin.icon-large,
.btn [class*=" icon-"].icon-spin.icon-large {
  line-height: 0.8em; }

.btn.btn-small [class^="icon-"].pull-left.icon-2x, .btn.btn-small [class^="icon-"].pull-right.icon-2x,
.btn.btn-small [class*=" icon-"].pull-left.icon-2x,
.btn.btn-small [class*=" icon-"].pull-right.icon-2x {
  margin-top: 0.25em; }

.btn.btn-large [class^="icon-"],
.btn.btn-large [class*=" icon-"] {
  margin-top: 0; }
  .btn.btn-large [class^="icon-"].pull-left.icon-2x, .btn.btn-large [class^="icon-"].pull-right.icon-2x,
  .btn.btn-large [class*=" icon-"].pull-left.icon-2x,
  .btn.btn-large [class*=" icon-"].pull-right.icon-2x {
    margin-top: 0.05em; }
  .btn.btn-large [class^="icon-"].pull-left.icon-2x,
  .btn.btn-large [class*=" icon-"].pull-left.icon-2x {
    margin-right: 0.2em; }
  .btn.btn-large [class^="icon-"].pull-right.icon-2x,
  .btn.btn-large [class*=" icon-"].pull-right.icon-2x {
    margin-left: 0.2em; }

.icon-spin {
  display: inline-block;
  -moz-animation: spin 2s infinite linear;
  -o-animation: spin 2s infinite linear;
  -webkit-animation: spin 2s infinite linear;
  animation: spin 2s infinite linear; }

@-moz-keyframes spin {
  0% {
    -moz-transform: rotate(0deg); }

  100% {
    -moz-transform: rotate(359deg); } }

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg); }

  100% {
    -webkit-transform: rotate(359deg); } }

@-o-keyframes spin {
  0% {
    -o-transform: rotate(0deg); }

  100% {
    -o-transform: rotate(359deg); } }

@-ms-keyframes spin {
  0% {
    -ms-transform: rotate(0deg); }

  100% {
    -ms-transform: rotate(359deg); } }

@keyframes spin {
  0% {
    transform: rotate(0deg); }

  100% {
    transform: rotate(359deg); } }

@-moz-document url-prefix() {
  .icon-spin {
    height: 0.9em; }

  .btn .icon-spin {
    height: auto; }

  .icon-spin.icon-large {
    height: 1.25em; }

  .btn .icon-spin.icon-large {
    height: 0.75em; } }

/*  Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
 *  readers do not read off random characters that represent icons */
.icon-glass:before {
  content: "\f000"; }

.icon-music:before {
  content: "\f001"; }

.icon-search:before {
  content: "\f002"; }

.icon-envelope:before {
  content: "\f003"; }

.icon-heart:before {
  content: "\f004"; }

.icon-star:before {
  content: "\f005"; }

.icon-star-empty:before {
  content: "\f006"; }

.icon-user:before {
  content: "\f007"; }

.icon-film:before {
  content: "\f008"; }

.icon-th-large:before {
  content: "\f009"; }

.icon-th:before {
  content: "\f00a"; }

.icon-th-list:before {
  content: "\f00b"; }

.icon-ok:before {
  content: "\f00c"; }

.icon-remove:before {
  content: "\f00d"; }

.icon-zoom-in:before {
  content: "\f00e"; }

.icon-zoom-out:before {
  content: "\f010"; }

.icon-off:before {
  content: "\f011"; }

.icon-signal:before {
  content: "\f012"; }

.icon-cog:before {
  content: "\f013"; }

.icon-trash:before {
  content: "\f014"; }

.icon-home:before {
  content: "\f015"; }

.icon-file:before {
  content: "\f016"; }

.icon-time:before {
  content: "\f017"; }

.icon-road:before {
  content: "\f018"; }

.icon-download-alt:before {
  content: "\f019"; }

.icon-download:before {
  content: "\f01a"; }

.icon-upload:before {
  content: "\f01b"; }

.icon-inbox:before {
  content: "\f01c"; }

.icon-play-circle:before {
  content: "\f01d"; }

.icon-repeat:before {
  content: "\f01e"; }

/* \f020 doesn't work in Safari. all shifted one down */
.icon-refresh:before {
  content: "\f021"; }

.icon-list-alt:before {
  content: "\f022"; }

.icon-lock:before {
  content: "\f023"; }

.icon-flag:before {
  content: "\f024"; }

.icon-headphones:before {
  content: "\f025"; }

.icon-volume-off:before {
  content: "\f026"; }

.icon-volume-down:before {
  content: "\f027"; }

.icon-volume-up:before {
  content: "\f028"; }

.icon-qrcode:before {
  content: "\f029"; }

.icon-barcode:before {
  content: "\f02a"; }

.icon-tag:before {
  content: "\f02b"; }

.icon-tags:before {
  content: "\f02c"; }

.icon-book:before {
  content: "\f02d"; }

.icon-bookmark:before {
  content: "\f02e"; }

.icon-print:before {
  content: "\f02f"; }

.icon-camera:before {
  content: "\f030"; }

.icon-font:before {
  content: "\f031"; }

.icon-bold:before {
  content: "\f032"; }

.icon-italic:before {
  content: "\f033"; }

.icon-text-height:before {
  content: "\f034"; }

.icon-text-width:before {
  content: "\f035"; }

.icon-align-left:before {
  content: "\f036"; }

.icon-align-center:before {
  content: "\f037"; }

.icon-align-right:before {
  content: "\f038"; }

.icon-align-justify:before {
  content: "\f039"; }

.icon-list:before {
  content: "\f03a"; }

.icon-indent-left:before {
  content: "\f03b"; }

.icon-indent-right:before {
  content: "\f03c"; }

.icon-facetime-video:before {
  content: "\f03d"; }

.icon-picture:before {
  content: "\f03e"; }

.icon-pencil:before {
  content: "\f040"; }

.icon-map-marker:before {
  content: "\f041"; }

.icon-adjust:before {
  content: "\f042"; }

.icon-tint:before {
  content: "\f043"; }

.icon-edit:before {
  content: "\f044"; }

.icon-share:before {
  content: "\f045"; }

.icon-check:before {
  content: "\f046"; }

.icon-move:before {
  content: "\f047"; }

.icon-step-backward:before {
  content: "\f048"; }

.icon-fast-backward:before {
  content: "\f049"; }

.icon-backward:before {
  content: "\f04a"; }

.icon-play:before {
  content: "\f04b"; }

.icon-pause:before {
  content: "\f04c"; }

.icon-stop:before {
  content: "\f04d"; }

.icon-forward:before {
  content: "\f04e"; }

.icon-fast-forward:before {
  content: "\f050"; }

.icon-step-forward:before {
  content: "\f051"; }

.icon-eject:before {
  content: "\f052"; }

.icon-chevron-left:before {
  content: "\f053"; }

.icon-chevron-right:before {
  content: "\f054"; }

.icon-plus-sign:before {
  content: "\f055"; }

.icon-minus-sign:before {
  content: "\f056"; }

.icon-remove-sign:before {
  content: "\f057"; }

.icon-ok-sign:before {
  content: "\f058"; }

.icon-question-sign:before {
  content: "\f059"; }

.icon-info-sign:before {
  content: "\f05a"; }

.icon-screenshot:before {
  content: "\f05b"; }

.icon-remove-circle:before {
  content: "\f05c"; }

.icon-ok-circle:before {
  content: "\f05d"; }

.icon-ban-circle:before {
  content: "\f05e"; }

.icon-arrow-left:before {
  content: "\f060"; }

.icon-arrow-right:before {
  content: "\f061"; }

.icon-arrow-up:before {
  content: "\f062"; }

.icon-arrow-down:before {
  content: "\f063"; }

.icon-share-alt:before {
  content: "\f064"; }

.icon-resize-full:before {
  content: "\f065"; }

.icon-resize-small:before {
  content: "\f066"; }

.icon-plus:before {
  content: "\f067"; }

.icon-minus:before {
  content: "\f068"; }

.icon-asterisk:before {
  content: "\f069"; }

.icon-exclamation-sign:before {
  content: "\f06a"; }

.icon-gift:before {
  content: "\f06b"; }

.icon-leaf:before {
  content: "\f06c"; }

.icon-fire:before {
  content: "\f06d"; }

.icon-eye-open:before {
  content: "\f06e"; }

.icon-eye-close:before {
  content: "\f070"; }

.icon-warning-sign:before {
  content: "\f071"; }

.icon-plane:before {
  content: "\f072"; }

.icon-calendar:before {
  content: "\f073"; }

.icon-random:before {
  content: "\f074"; }

.icon-comment:before {
  content: "\f075"; }

.icon-magnet:before {
  content: "\f076"; }

.icon-chevron-up:before {
  content: "\f077"; }

.icon-chevron-down:before {
  content: "\f078"; }

.icon-retweet:before {
  content: "\f079"; }

.icon-shopping-cart:before {
  content: "\f07a"; }

.icon-folder-close:before {
  content: "\f07b"; }

.icon-folder-open:before {
  content: "\f07c"; }

.icon-resize-vertical:before {
  content: "\f07d"; }

.icon-resize-horizontal:before {
  content: "\f07e"; }

.icon-bar-chart:before {
  content: "\f080"; }

.icon-twitter-sign:before {
  content: "\f081"; }

.icon-facebook-sign:before {
  content: "\f082"; }

.icon-camera-retro:before {
  content: "\f083"; }

.icon-key:before {
  content: "\f084"; }

.icon-cogs:before {
  content: "\f085"; }

.icon-comments:before {
  content: "\f086"; }

.icon-thumbs-up:before {
  content: "\f087"; }

.icon-thumbs-down:before {
  content: "\f088"; }

.icon-star-half:before {
  content: "\f089"; }

.icon-heart-empty:before {
  content: "\f08a"; }

.icon-signout:before {
  content: "\f08b"; }

.icon-linkedin-sign:before {
  content: "\f08c"; }

.icon-pushpin:before {
  content: "\f08d"; }

.icon-external-link:before {
  content: "\f08e"; }

.icon-signin:before {
  content: "\f090"; }

.icon-trophy:before {
  content: "\f091"; }

.icon-github-sign:before {
  content: "\f092"; }

.icon-upload-alt:before {
  content: "\f093"; }

.icon-lemon:before {
  content: "\f094"; }

.icon-phone:before {
  content: "\f095"; }

.icon-check-empty:before {
  content: "\f096"; }

.icon-bookmark-empty:before {
  content: "\f097"; }

.icon-phone-sign:before {
  content: "\f098"; }

.icon-twitter:before {
  content: "\f099"; }

.icon-facebook:before {
  content: "\f09a"; }

.icon-github:before {
  content: "\f09b"; }

.icon-unlock:before {
  content: "\f09c"; }

.icon-credit-card:before {
  content: "\f09d"; }

.icon-rss:before {
  content: "\f09e"; }

.icon-hdd:before {
  content: "\f0a0"; }

.icon-bullhorn:before {
  content: "\f0a1"; }

.icon-bell:before {
  content: "\f0a2"; }

.icon-certificate:before {
  content: "\f0a3"; }

.icon-hand-right:before {
  content: "\f0a4"; }

.icon-hand-left:before {
  content: "\f0a5"; }

.icon-hand-up:before {
  content: "\f0a6"; }

.icon-hand-down:before {
  content: "\f0a7"; }

.icon-circle-arrow-left:before {
  content: "\f0a8"; }

.icon-circle-arrow-right:before {
  content: "\f0a9"; }

.icon-circle-arrow-up:before {
  content: "\f0aa"; }

.icon-circle-arrow-down:before {
  content: "\f0ab"; }

.icon-globe:before {
  content: "\f0ac"; }

.icon-wrench:before {
  content: "\f0ad"; }

.icon-tasks:before {
  content: "\f0ae"; }

.icon-filter:before {
  content: "\f0b0"; }

.icon-briefcase:before {
  content: "\f0b1"; }

.icon-fullscreen:before {
  content: "\f0b2"; }

.icon-group:before {
  content: "\f0c0"; }

.icon-link:before {
  content: "\f0c1"; }

.icon-cloud:before {
  content: "\f0c2"; }

.icon-beaker:before {
  content: "\f0c3"; }

.icon-cut:before {
  content: "\f0c4"; }

.icon-copy:before {
  content: "\f0c5"; }

.icon-paper-clip:before {
  content: "\f0c6"; }

.icon-save:before {
  content: "\f0c7"; }

.icon-sign-blank:before {
  content: "\f0c8"; }

.icon-reorder:before {
  content: "\f0c9"; }

.icon-list-ul:before {
  content: "\f0ca"; }

.icon-list-ol:before {
  content: "\f0cb"; }

.icon-strikethrough:before {
  content: "\f0cc"; }

.icon-underline:before {
  content: "\f0cd"; }

.icon-table:before {
  content: "\f0ce"; }

.icon-magic:before {
  content: "\f0d0"; }

.icon-truck:before {
  content: "\f0d1"; }

.icon-pinterest:before {
  content: "\f0d2"; }

.icon-pinterest-sign:before {
  content: "\f0d3"; }

.icon-google-plus-sign:before {
  content: "\f0d4"; }

.icon-google-plus:before {
  content: "\f0d5"; }

.icon-money:before {
  content: "\f0d6"; }

.icon-caret-down:before {
  content: "\f0d7"; }

.icon-caret-up:before {
  content: "\f0d8"; }

.icon-caret-left:before {
  content: "\f0d9"; }

.icon-caret-right:before {
  content: "\f0da"; }

.icon-columns:before {
  content: "\f0db"; }

.icon-sort:before {
  content: "\f0dc"; }

.icon-sort-down:before {
  content: "\f0dd"; }

.icon-sort-up:before {
  content: "\f0de"; }

.icon-envelope-alt:before {
  content: "\f0e0"; }

.icon-linkedin:before {
  content: "\f0e1"; }

.icon-undo:before {
  content: "\f0e2"; }

.icon-legal:before {
  content: "\f0e3"; }

.icon-dashboard:before {
  content: "\f0e4"; }

.icon-comment-alt:before {
  content: "\f0e5"; }

.icon-comments-alt:before {
  content: "\f0e6"; }

.icon-bolt:before {
  content: "\f0e7"; }

.icon-sitemap:before {
  content: "\f0e8"; }

.icon-umbrella:before {
  content: "\f0e9"; }

.icon-paste:before {
  content: "\f0ea"; }

.icon-lightbulb:before {
  content: "\f0eb"; }

.icon-exchange:before {
  content: "\f0ec"; }

.icon-cloud-download:before {
  content: "\f0ed"; }

.icon-cloud-upload:before {
  content: "\f0ee"; }

.icon-user-md:before {
  content: "\f0f0"; }

.icon-stethoscope:before {
  content: "\f0f1"; }

.icon-suitcase:before {
  content: "\f0f2"; }

.icon-bell-alt:before {
  content: "\f0f3"; }

.icon-coffee:before {
  content: "\f0f4"; }

.icon-food:before {
  content: "\f0f5"; }

.icon-file-alt:before {
  content: "\f0f6"; }

.icon-building:before {
  content: "\f0f7"; }

.icon-hospital:before {
  content: "\f0f8"; }

.icon-ambulance:before {
  content: "\f0f9"; }

.icon-medkit:before {
  content: "\f0fa"; }

.icon-fighter-jet:before {
  content: "\f0fb"; }

.icon-beer:before {
  content: "\f0fc"; }

.icon-h-sign:before {
  content: "\f0fd"; }

.icon-plus-sign-alt:before {
  content: "\f0fe"; }

.icon-double-angle-left:before {
  content: "\f100"; }

.icon-double-angle-right:before {
  content: "\f101"; }

.icon-double-angle-up:before {
  content: "\f102"; }

.icon-double-angle-down:before {
  content: "\f103"; }

.icon-angle-left:before {
  content: "\f104"; }

.icon-angle-right:before {
  content: "\f105"; }

.icon-angle-up:before {
  content: "\f106"; }

.icon-angle-down:before {
  content: "\f107"; }

.icon-desktop:before {
  content: "\f108"; }

.icon-laptop:before {
  content: "\f109"; }

.icon-tablet:before {
  content: "\f10a"; }

.icon-mobile-phone:before {
  content: "\f10b"; }

.icon-circle-blank:before {
  content: "\f10c"; }

.icon-quote-left:before {
  content: "\f10d"; }

.icon-quote-right:before {
  content: "\f10e"; }

.icon-spinner:before {
  content: "\f110"; }

.icon-circle:before {
  content: "\f111"; }

.icon-reply:before {
  content: "\f112"; }

.icon-github-alt:before {
  content: "\f113"; }

.icon-folder-close-alt:before {
  content: "\f114"; }

.icon-folder-open-alt:before {
  content: "\f115"; }
