* {
  font-family: "Raleway", sans-serif;
  touch-action: manipulation; /* Disable double-tap zoom */
}
*:focus {
  outline: none;
}

body {
  background-color: #FFF;
  color: #555;
  font-size: 12px;
}

.links {
  float: right;
}

a {
  text-decoration: none;
  margin: 10px;
}
a:link, a:visited {
  color: #555;
}
a:focus, a:hover, a:active {
  color: #777;
}

.header {
  overflow: hidden;
  margin: 10px;
}

.header > a {
  float: left;
  margin: 0;
}

.links {
  float: right;
}

.control_panel {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
}

button, .slider, .ui-slider .ui-slider-handle, label {
  cursor: pointer;
  user-select: none;
}

button, input {
  border: solid 1px #dedede;
  border-radius: 30px;
  line-height: 15px;
  margin: 0px 1px;
  padding: 15px 10px;
  background-color: #FFF;
  font-size: 12px;
  color: #555;
}

button:active {
  background: rgb(250, 250, 250);
  transform: translateY(1px);
}

.ui-slider .ui-slider-handle {
  border-radius: 30px;
  transform: scale(1.2);
  background: #fff;
}

.ui-slider-range {
  background: rgb(250, 250, 250);
}

input {
  background: rgb(250, 250, 250);
}
input[type=radio], input[type=checkbox] {
  position: absolute;
  visibility: hidden;
  display: none;
}
input[type=text] {
  width: 40px;
  border: solid 1px #eee;
}

label {
  display: inline-block;
  text-align: center;
  padding: 15px 8px;
  line-height: 15px;
}
label:active {
  background: rgb(250, 250, 250);
}

input[type=radio]:checked + label, input[type=checkbox]:checked + label {
  background: rgb(250, 250, 250);
  border-top: solid 1px #ad5858;
}

.radio_group, .button_group, .checkbox_group {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 5px;
  border: solid 1px #dedede;
  background: rgb(250, 250, 250);
  border-radius: 30px;
  flex-grow: 1;
}
.radio_group > *, .button_group > *, .checkbox_group > * {
  flex-grow: 1;
  background: #fff;
}

.button_group {
  margin: 5px;
  border: solid 1px #eee;
}

.radio_group, .checkbox_group {
  overflow: hidden;
}

.button_group > button {
  margin: -1px 0px;
  min-width: 48px;
}

.flex_container {
  margin: 5px;
  display: flex;
  align-content: stretch;
}
.flex_container > button {
  flex-grow: 1;
}

.weight_slider_container {
  display: flex;
  justify-content: flex-start;
  margin: 5px;
}
.weight_slider_container > div {
  height: 100px;
  margin: 5px;
}