html, body { 
  margin: 0; 
  padding: 0;
  background-color: #222;
  height: 100%;
  font-family: "Arial","Helvetica",sans-serif;
}
#icon_toggles {
  display: block;
  float: right;
  margin-right: 2em;
  margin-bottom: 1em;
  background-color: #CCC;
  cursor: pointer;
  padding-left: 0.1em;
  padding-right: 0.1em;
  border-radius: 0.5em;
}
.toggle, .toggle_selected {
  display: inline-block;
  margin: 0.5em;
  vertical-align: top;
}
.toggle {
  background-color: #CCC;
}
.toggle_selected {
  background-color: #799;
}
#generated {
  clear: both;
}

#big_parts {
  display: block;
  padding: 1em;
  margin: 0;
}
#list_parts {
  display: block;
  margin-top: 2em;
  margin-bottom: 2em;
  color: black;
  background-color: #4BB;
  /*background-color: white;*/
}
#list_parts a {
    color: black;
}
#list_parts table {
    width: 100%;
}
table th {
    background-color: #4BB;
    color: white;
    font-size: 2em;
    padding: 0.5em;
}
table th .sorter {
    cursor: pointer;
}
#list_part tr {
  background-color: #d3dce3;
}
table tr.partline:nth-child(2n+3) {
  background-color: #EEE;
}
table tr.partline:nth-child(2n+2) {
  background-color: #DDD;
}
table tr.checked:nth-child(2n+2) {
  background-color: #AFA;
}
table tr.checked:nth-child(2n+3) {
  background-color: #CFC;
}
tr.partline td:first-child {
    cursor: pointer;
}
td {
  text-align: center;
  font-size: 2em;
}
td.list_description {
  text-align: left;
  padding-left: 0.5em;
}
td.list_image {
  padding: 0;
  cursor: pointer;
  background-color: white;
}

.scene {
    margin-right: -100em;
}
.part {
    display: inline-block;
    position: relative;
    top: 0;
    border: 2px solid black;
    border-radius: 7px;
    padding: 4px;
    margin-right: 0;
    margin-bottom: 10px;
    margin-left: 10px;
    margin-top: 0;
    cursor: pointer;
    background-color: white;
    color: black;
}
.mult {
    position: absolute;
    left: 5px;
    top: 3px;
    font-family: sans-serif;
    font-weight: bold;
}
.annotation, .annotation_round {
    display: block;
    float: right;
    background-color: #CFF;
    border: 0.1em solid black;
    padding: 0.2em;
    color: #25E;
    position: relative;
    right: 0.125em;
    margin-bottom: -100%;
    min-width: 1em;
    text-align: center;
    font-family: sans-serif;
    font-weight: bold;
    font-size: 0.7em;
}
.annotation_round {
    border-radius: 2em;
}

/*
  Overlay 'preview' for parts:
 */
#preview {
    margin-bottom: 1em;
}

/*
  XML Download
 */
#xml_content {
  display: block;
  width: 98%;
  height: 75%;
}
#xml_holder {
  position: absolute;
  background-color: black;
  top: 0;
  height: 100%;
  width: 90%;
}

/*
  Title bar
 */
#titlebar, #continuebar {
    display: block;
    margin: 0.5em;
    background-color: #4BB;
    border-radius: 54px;
    color: white;
    padding: 4px;
    font-size: 4vw;
    text-align: center;
    min-height: 104px;
}
#titlebar a, #continuebar a {
    color: white;
}
#titlebar em {
    font-weight: bold;
    font-style: normal;
}
.bar_text {
    display: block;
    margin-right: 100px;
}
#continuebar .bar_text {
    margin-top: 1em;
}

#icon_toggles svg {
  stroke: white;
  stroke-width: 2;
  width: 6em;
  height: 6em;
}
#icon_toggles svg line {
  display: inline-block;
  stroke-width: 6;
  stroke-linecap: round;
}
#home_button img {
    max-height: 100%;
    max-width: 100%;
    width: auto;
    height: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    border-radius: 50px;
}
#home_button, #to_top_button {
    border-radius: 50px;
    position: relative;
    height: 100px;
    width: 100px;
}
.home_anchor {
    display: block;
    float: left;
    height: 100px;
    width: 100px;
    border: 2px solid white;
    background-color: white;
    border-radius: 50px;
}
#to_top_button {
    display: block;
    float: left;
    height: 100px;
    width: 100px;
    border: 2px solid white;
    border-radius: 50px;
}
#home_button svg, #to_top_button svg {
  position: relative;
  top: -2px;
}
#home_button svg {
  stroke: #4BB;
}
#to_top_button svg {
  stroke: white;
}
#done_button {
  display: none;
}
#next_button {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100px;
  height: 100px;
}

/*
  Notes
*/
.cb {
    margin: 1em 0 1em 1em;
    display: block;
    position: relative;
    float: left;
    font-size: 2.5vw;
}
.cb input {
    position: relative;
    margin: 0;
    
    cursor: pointer;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    -moz-opacity: 0;
    -khtml-opacity: 0;
    opacity: 0;
    position: absolute;
    z-index: 1;
    top: -0.5em;
    left: 0;
    width: 4em;
    height: 2em;
}
.cb label {
    position: relative;
    padding-left: 4.5em;
}
.cb input + label::before {
    text-align: center;
}
.cb input:checked + label::before {
    content: "\2714";
    text-align: left;
    background-color: #1877c1;
    padding-left: 0.6em;
}
.cb input:checked + label::after {
    left: 2em;
}
.cb label::before, .cb label::after {
    position: absolute;
    -webkit-border-radius: 1em;
    -moz-border-radius: 1em;
    border-radius: 1em;
    transition: background-color 0.3s, left 0.3s;
}
.cb label::before {
    content: "\2716";
    color: #fff;
    box-sizing: border-box;
    padding-left: 2.1em;
    font-size: 1em;
    line-height: 2em;
    background-color: #888;
    left: 0;
    top: -0.5em;
    height: 2em;
    width: 4em;
    -webkit-border-radius: 1em;
    -moz-border-radius: 1em;
    border-radius: 1em;
}
.cb label::after {
    content: "";
    letter-spacing: 2em;
    background: #fff;
    left: 0.1em;
    top: -0.4em;
    height: 1.8em;
    width: 1.8em;
}
.note_field {
    display: none;
}
.note_field input {
    height: 2em;
    width: 95%;
}

#download_options {
    margin-left: 1em;
    padding-bottom: 0.5em;
    font-size: 2em;
}
#download_options input {
    transform: scale(2);
}

/*
  Other actions
 */
.other_actions {
  display: table;
  table-layout: fixed;
  border-spacing: 2em;
  width: 100%;
}
.other_actions a {
  color: white;
  text-decoration: none;
  display: table-cell;
  text-align: center;
  font-weight: bold;
  background-color: #4BB;
  font-size: 2em;
  padding: 0.3em;
  border: 0.2em solid #2BB;
  vertical-align: middle;
}

@media screen and (max-width: 570px) {
  .cb {
      font-size: 4vw;
  }
  #icon_toggles {
      font-size: 2vw;
  }
  #list_table {
      font-size: 1.5vw;
  }
  .note_input {
      width: 15vw;
  }
}

/*
  Quick links
*/
.quick_links {
  display: table;
  table-layout: fixed;
  border-spacing: 2em;
  width: 100%;
}
.quick_links a {
  color: white;
  text-decoration: none;
  display: table-cell;
  text-align: center;
  font-weight: bold;
}
#instructions_link, #overview_link {
  font-size: 2em;
  padding: 0.5em;
  border-radius: 2em;
  font-weight: bold;
  color: white;
  background-color: #4BB;
}

@media screen and (max-width: 750px) {
    #instructions_link, #overview_link, .other_actions a, .bar span {
        font-size: 4vw;    
    }
    .other_actions, .quick_links {
	border-spacing: 2vw;
    }
}