/*
  Logo-o-Matic Canvas version
  Homepage: http://github.com/codepo8/logo-o-matic
  Copyright (c) 2011 Christian Heilmann
  Code licensed under the BSD License:
  http://wait-till-i.com/license.txt
*/
* {
  margin: 0;
  padding: 0;
  font-family: helvetica, arial, sans-serif;
}
html, body {
  background: #000;
}
#fonts {
  display: none;
  opacity: 0;
  position: absolute;
}
#nav {
  flex: 1;
}
.actions {
  flex: 5;
}
#nav h2 {
  background: #000;
  color: #fff;
  flex: 0 0 100%;
}
@media all and (max-width: 600px) {
  #charsbox {
    display: block;
  }
}
#nav form{
  flex: 1;
  color: #fff;
  background: #000;
  z-index: 2;
  font-size: .95em;
  color: #fff;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;}
#nav label { 
  background: #9AD284;
  color: #000;
  text-align: center;
  padding: 5px 10px; 
}
#nav label[for=se] {
  background: transparent;
  color: #fff;
  display: flex;
  justify-self: center;
}
#se {
  flex: 3;
  background: #eee;
  border: none;
}
#nav input[type=checkbox] {
  position: absolute;
  top: -100vh;
}
#nav input:checked + label {
  background: #444444;
  color: #999;
}
.fontfilter{
  display: flex;
  align-items: center;
}
#nav form {
  opacity: 0.5;
  transition: 400ms;;
}
#nav form:focus-within, #nav form:hover{
  opacity: 1;
}
#nav li {
  flex: 1;
  min-width: 290px;
  list-style: none;
  background: #000;
  padding: 2px;
  margin: 2px;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-items: stretch;
}
#nav li small {
  display: block;
  opacity: 1;
  font-size: 12px;
  color: #666;
  text-align: left;
}
#nav a {
  color: #ccc;
  display: flex;
  flex: 3;
  flex-direction: row;
  align-items: center;
}
#nav small a {
  display: inline;
} 
#nav ul {
  overflow: auto;
  flex: 0 0 100%;
  display: flex;
  flex-wrap:wrap;
  flex-direction: row;
  counter-reset:list;
  gap: 10px;
  height: 45vh;
  background: #444;
}
#nav img {
  display: block;
  margin: 0 auto;
  border: 2px solid #000;
}
#nav a:focus img {
  display: block;
  border: 2px solid #999;
  border-radius: 10px;
}
#nav img:hover {
  display: block;
  border: 2px solid #999;
  border-radius: 10px;
}
#nav img.current {
  border: 2px solid #ccc;
  border-radius: 10px;
}

label.disabled {
  opacity: 0;
}
li, p, input {
  font-size: 20px;
  font-family: inherit;
}
.inputs ul{
  display: flex;
  gap: .5em;
  flex-flow: row wrap;
  align-items: center;
}
.inputs li {
  font-size: 16px;
  list-style: none;
  padding-bottom: 5px;
}
.inputs li.radios {
  flex: 2;
  display: flex;
}
.inputs li:last-of-type {
  flex: 1;
  display: contents;
}
.inputs li a {
  display: block
}
.num label {
  padding-right: 1em;
}
.inputs input, .inputs select {
  font-family: inherit;
  font-size: 1em;
}

.colouring .inputs {
  opacity: 0;
}
input[type="range"] {
  width: 120px;
}
input[type=number] {
  font-family: inherit;
  width: 3em;
  font-size: 14px;
}
input[type=text] {
  display: block;
  padding: 5px;
  margin: 10px 0;
  width: 400px;
}
button {
  font-size: 1em ;
}
.inputs {

  flex: 1 1 100%;
  
  background: #333;
  padding: 10px;
  color: #fff;
}
.colouring .inputs, .colouring .logotext{
  opacity: 0;
  display: none;
}
form {
  gap: 10px;
  display: flex;
  flex-wrap: wrap;
  padding: 10px;
}
#nav output {
  color: #fff;
  flex: 7;
  text-align:right;
  font-size: .8em;
  line-height:2.2em;
  
}
output {
  color: yellow;
}
output a {
  color: #F6F6A9;
}
#container {
  flex: 1;
  background: #999;
  min-height: 30vh;
  padding-bottom: 20px;
  border-top: 1px solid white;
  box-shadow: 10px -10px 30px #000;
}
section, header, footer{
  display: block;
}
section {
  align-items: justify;
  display: flex;
  flex-direction: column;
}
h2 {
  font-weight: normal;
  padding: 5px 10px;
  font-size: 18px;
}
header {
  display: block;
  background: #333;
  padding: 1em .5em
}
h1 {
  text-transform: uppercase;
  color: #fff;
  background: #333;
  font-weight: normal;
  font-size: 20px;
  padding: 0 5em 0 10px;
}
footer {
  position: absolute;
  z-index: 2;
  right: 10px;
  top: 8px;
  font-size: 15px;
}
footer a {
  color: #fff;
}
footer p{
  font-size: 10px;
  text-align: right;
  color: #ccc;
  padding: 5px 10px;
  background: #333;
}

input[type=radio] {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  white-space: nowrap;
  width: 1px;
}
input[type=radio] + label {
  background: #444444;
  color: #999;
}
.radios label {
  text-align: center;
  padding: 2px 5px;
}
input[type=radio]:checked:hover + label {
  background: #9AD284;
  color: #000;
}
input[type=radio]:checked + label {
  background: #9AD284;
  color: #000;
}
input[type=radio]:checked + label:before {
  background: #9AD284;
  color: #000;
}
.instructions {
  clear: both;
  font-size: inherit;
  padding: 10px 10px 10px 20px;
}
.zoomed #container * {
  display: none;
}
.zoomed #container .zoomsafe {
  display: inline-block;
}
.zoomed #container .actions .zoomsafe * {
  display: initial;
}
.zoomed  #container #display {
  display: block;
  margin: 1em;
}
canvas {
  position: relative;
  background: #000;
  display: block;
}
#main, #display {
  cursor: crosshair;
  background-color: #333;
  background-image: 
    linear-gradient(45deg, #555 25%, transparent 25%, 
                    transparent 75%, #555 75%, #555), 
    linear-gradient(45deg, #555 25%, transparent 25%, 
                    transparent 75%, #555 75%, #555);
  background-size: 30px 30px;
  background-position:0 0, 15px 15px;
}
#dimensions {
  font-size: 0.8em;
  color: #222;
  padding: 10px 10px 10px 200px;
}
#display {
  display: none;
}
.canvaslayout {
  display: flex;
  gap: 10px;
  padding: 0 10px;
}
#swab, #zoom {
  background: #000;
  border: 2px solid #000;
  width: 80px;
  height: 80px;
}

svg {
  width: 1.7em;
}
a#save, button {
  text-align: center;
  display: inline-block;
  font-family: inherit;
  border: none;
  width: 2em;
  height: 2em;
  font-size: inherit;
  background: #369;
  text-decoration: none;
  color: #fff;
}
.actions button {
  background: #333;
}
.inactive {
  display: none;
  opacity: 0.2;
  pointer-events: none;
  transition: 0.5s;
}
.inactive button {
  display: none;
}
ul.palette {
  overflow: hidden;
  margin: 10px 0 10px 190px;
  transition: 0.5s;
}
.transparent { background: transparent; }
.black { background: #000000 }
.white { background: #FFFFFF; }
.red { background: #68372B; }
.cyan { background: #70A4B2; }
.purple { background: #6F3D86; }
.green { background: #588D43; }
.blue { background: #352879; }
.yellow { background: #B8C76F; }
.orange { background: #6F4F25; }
.brown { background: #433900; }
.lightred { background: #9A6759; }
.darkgrey { background: #444444; }
.grey { background: #6C6C6C; }
.lightgreen { background: #9AD284; }
.lightblue { background: #6C5EB5; }
.lightgrey { background: #959595; }
ul.palette li {
  list-style: none;
  float: left;
  width: 20px;
  height: 20px;
}
ul.palette li:last-child {
  width: 200px;
}

.palette button {
    display: inline-block;
    font-size: 1em;
    line-height: 2.5em;
    margin: -1.5em 0px 0px 10px;
    padding: 10px;
    border: none;
    background: transparent;
    border-radius: 5px;
}
ul.palette li.used::after {
  content:'•';
  color: rgba(0,0,0,0.5);
  padding-left: 5px;
  pointer-events: none;
}
ul.palette li.row {
  clear: both;
  background-color: #333;
  background-image: 
    linear-gradient(45deg, #555 25%, transparent 25%, 
                    transparent 75%, #555 75%, #555), 
    linear-gradient(45deg, #555 25%, transparent 25%, 
                    transparent 75%, #555 75%, #555);
  background-size: 20px 20px;
  background-position: 0 0, 10px 10px;
  margin-right: 20px;
}
aside {
  z-index: 2;
  position: absolute;
  background: #000;
  top: -800px;
  right: 20px;
  width: 60%;
  width: 400px;
  color: #ccc;
  transition: 0.5s;
  box-shadow: -4px 4px 10px black;
}
aside li {
  list-style: none;
}
aside:target{
  top: 40px;
}
#container h2 {
  padding-top: 13px;
}
aside h2 {
  color: #9ad284
}
aside p ,aside li{
 font-size: inherit;
}
aside li {
  padding: 10px 20px 0 20px;;
}
aside p:nth-child(odd) {
  margin-top:10px;
  text-align: left;
}
@media only screen and (max-device-width: 480px) {
  .instructions, #swab, #zoom,.actions {
    display: none;
  }
  ;
}