*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  transition: .3s;
}
html, body {
  margin: 0;
  padding: 0;
  color: #444;
  color: rgba(0,0,0,.6);
  background: #ddddd5;
}
html, body,
input, textarea {
  -webkit-font-smoothing: antialiased;
  font: 400 16px/1.4 alice, minion, 'minion pro', cardo, palatino, georgia, serif;
}
body {
 -webkit-user-select: none;
 -khtml-user-select: none;
 -moz-user-select: -moz-none;
 -moz-user-select: none;
 -ms-user-select: none;
 -o-user-select: none;
 user-select: none;
}
h1, h2, h3, h4 { font-weight: 400; }
a {
  color: #3a1b00;
  text-decoration: none;
}
  a:visited {
    opacity: .8;
  }
  a:hover {}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

/* Utility Classes */
.hide {
  opacity: 0;
}

/* Utility Classes */
header h1 {
  margin: 0;
  color: #fff;
  padding: .75em;
  font-size: 18px;
  font-weight: 400;
  background: #333;
  line-height: 1.2;
  text-align: center;
}
.main {
  padding: 1em;
  z-index: 100;
  margin: auto;
  max-width: 30em;
  position: relative;
  text-align: center;
}
.sizes {
  z-index: 1;
  padding: 0 1em;
  position: relative;
  text-align: center;
}
  .sizes li {
    opacity: 0;
    max-height: 0;
    font-size: 2em;
    list-style: none;
    transition: opacity .5s 0s, max-height .5s .2s;
  }
    .sizes .smm,
    .sizes li.show {
      opacity: 1;
      max-height: 2em;
      transition: opacity .5s .2s, max-height .5s 0s;
    }
    .sizes .smm {
      margin: 0 0 1em;
    }
      .smm em {
        font-size: 32px;
        font-weight: 700;
      }
      .smm .input-mm {
        border: 0;
        outline: 0;
        padding: 0;
        width: 2em;
        color: #3a1b00;
        cursor: pointer;
        font-weight: 700;
        border-radius: 0;
        background: transparent;
        border-bottom: 3px solid #666;
      }
    .sizes .nup {
      padding: .5em;
      font-size: 1em;
    }
  .sizes b,
  .input-mm {
    font-size: 32px;
    text-align: right;
  }
.measure {
  left: 0;
  right: 0;
  bottom: 0;
  transition: 0;
  cursor: ns-resize;
  position: absolute;
  border-top: 3px dotted #ccc;
  border-top: 3px dotted rgba(0,0,0,.3);
}
  .measure:after {
    content: "";
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: .25;
    position: absolute;
    background: url('../img/footsole.png') no-repeat 50% 50%;
    background-size: contain;
  }
  .touchmove .measure {
    opacity: .75;
    border-top-color: #3a1b00;
  }
    .touchmove .measure:after {
      opacity: .75;
    }
  .measure .tip {
    color: #222;
    padding: .5em;
    font-size: 13px;
    margin-top: -3em;
    text-align: center;
    position: relative;
    font-style: italic;
  }

.debug {
  left: 1em;
  right: 1em;
  bottom: 1em;
  opacity: .8;
  display: none;
  max-width: 40em;
  font-size: .8em;
  position: absolute;
}
  .debug .col {
    width: 50%;
    float: left;
  }
  .debug h3 {
    color: #666;
  }
  .debug dl {
    overflow: hidden;
  }
  .debug dt {
    clear: left;
    float: left;
    width: 9em;
    font-weight: 700;
    text-align: right;
  }
  .debug dd {
    color: #666;
    float: left;
    margin: 0 0 0 1em;
  }

@media (max-width: 480px) {
  .main h1 { font-size: 20px; }
  .debug .col { width: 100%; }
  .debug .ds { display: none; }
}

/* Hide JS Bin edit button */
#edit-with-js-bin { display: none !important; }
