.configurator ul {
  list-style-type: none;
  padding: 0;
}

.configurator ul.steps {
  width: 300px;
}

.configurator ul.steps {
  width: 300px;
}

.configurator ul.steps fieldset {
  border: 1px solid #330099;
  margin-bottom: 10px;
}

.configurator ul.steps fieldset legend {
  border: 1px solid #330099;
  background-color: #ccccff;
  font-weight: bold;
  padding: 3px;
}

.configurator li.option {
  height: 19px;
}

.configurator li.option input {
  float: left;
}

.configurator li.option {
  display: block;
  clear: left;
}

.configurator li.option label {
  display: block;
}

.configurator .price {
  float: right;
}

.configurator .price.free {
  display: none;
}

.configurator #updateButton {
  margin-top: 10px;
}

.configurator .valueOption input {
  margin-left: 10px;
  width: 80px;
  border: 1px solid #003366;
  padding: 2px;
}

.configurator .quantityOption input {
  width: 40px;
  margin-left: 10px;
  border: 1px solid #003366;
  padding: 2px;
  text-align: right;
}

.configurator li.option.dropdownStep select {
  margin-top: 3px;
  margin-bottom: 3px;
  border: 1px solid #003366;
}

.configurator .picture img {
  border: 0;
}

.configurator .base-price-row {
  border: 1px solid #003366;
  border-bottom: none;
  font-size: 12px;
  padding: 3px;
}

.configurator .configured-price-row {
  border: 1px solid #003366;
  border-top: none;
  font-size: 15px;
  padding: 3px;
}

.configurator table.selected-options {
  border: 1px solid #003366;
  padding: 5px;
  margin-top: 0;
  font-size: 10px;
  width: 100%;
  text-align: left;
}

.configurator table.selected-options .step-name,
.shopping-cart table.selected-options .step-name {
  font-weight: bold;
  color: inherit;
}

.configurator table.selected-options .name,
.shopping-cart table.selected-options .name {
  padding-left: 15px;
}

.configurator table.selected-options .value,
.shopping-cart table.selected-options .value {
  margin-left: 3px;
}

.configurator table.selected-options .price.negative,
.shopping-cart table.selected-options .price.negative {
  color: red;
}

.configurator table.selected-options .price.positive,
.shopping-cart table.selected-options .price.positive {
  color: green;
}

.configurator input.error {
  background-color: #ffc0c0;
  color: inherit;
  font-weight: inherit;
}

.configurator span.error,
div.error {
  font-weight: bold;
  color: red;
  margin-left: 5px;
  background-image: url(/images/exclamation-16.png);
  background-repeat: no-repeat;
  padding-left: 20px;
}

.configurator li.option.has-picture {
  float: left;
  font-size: 10px;
  text-align: center;
  padding-bottom: 3px;
  margin-right: 2px;
  margin-bottom: 2px;
  clear: none;
  width: 88px;
  border: 1px solid #ccccff;
}

.configurator li.option.has-picture img {
  border: none;
}

.configurator li.option.has-picture img.landscape {
  width: 80px;
  height: auto;
}

.configurator li.option.has-picture img.portrait {
  width: auto;
  height: 80px;
}

.configurator li.option.has-picture a {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.configurator li.option.has-picture .price {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.configurator li.immutableOption.has-picture {
  height: 130px;
}

.configurator li.immutableOption.has-picture input {
  margin-left: 35px;
}

.configurator li.booleanOption.has-picture {
  height: 150px;
}

.configurator li.booleanOption.has-picture input {
  margin-left: 35px;
}

.configurator li.valueOption.has-picture {
  height: 150px;
}

.configurator li.valueOption.has-picture input {
  width: 55px;
}

.configurator li.quantityOption.has-picture {
  height: 150px;
}
