body, div, p, ul, form, h1, h2, h3, th, td, table, input, select, textarea {
  font-family: Verdana, sans-serif;
  color: black;
}
.pageContainer {
  max-width: 1024px;
  border-right: #ccc 1px solid;
}

/* -- Header -- */
header,
.header {
  padding: 10px 20px;
  background: #ccc;
  margin: 0px;
}
header .logo,
.header .logo {
  display: none;
}
header .mobileHeader,
.header .mobileHeader {
  display: none;
}

/* -- Search -- */
/*.menuSearch {

}*/

/* -- Navigation -- */
.navigation {
  float: left;
  width: 175px;
  margin: 0px;
  padding: 20px;
}
.navigation ul {
  margin: 0px 0px 20px 20px;
}
.navigation li {
  margin: 0px 0px 1px;
  padding: 2px 0px;
}
.navigation .cartInfo p {
  font-size: 12px;
  text-align: center;
  margin: 0px 0px 10px;
}
.languages {
  text-align: center;
}

/* -- Content -- */
.content {
  margin: 0px;
  padding: 20px 20px 0px 225px;
}
.content .content {
  margin: 0px;
  padding: 0px;
}
div, body, p, ul, ol, dt, dd, form, h1, h2, h3, th, td, table, input, select {
  font-size: 16px;
}
h1 {
  font-size: 27px;
  font-weight: bold;
  margin: 0px 0px 10px;
}
h2 {
  font-size: 22px;
  font-weight: bold;
  margin: 15px 0px 10px;
}
h3 {
  font-size: 18px;
  font-weight: bold;
  margin: 0px 0px 10px;
}
p, dd {
  margin: 0px 0px 10px;
}
ul {
  margin: 10px 0px 10px 30px;
  list-style: disc outside;
}
input, select, textarea, td {
  font-size: 14px;
}
th,
td {
  padding: 2px;
}
span.required {
  color: red;
  font-style: normal;
}
a {
  color: blue;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
.blockText p {
  text-align: justify;
  padding-right: 2px;
}
.agb h3 {
  font-variant: none;
  font-weight: bold;
}
.privacy dt {
  font-weight: bold;
  padding: 0px 0px 0px 0px;
  margin-left: 0px;
}
.privacy dd {
  padding: 0px 0px 10px 0px;
  margin-left: 0px;
}
.pane {
  margin: 10px 0px;
  padding: 5px 10px;
  background: #ccc;
}
.command {
  margin: 0px 0px 10px;
}
.command table {
  width: 100%;
}
.command td {
  padding: 0px 5px;
  margin: 10px 5px;
}
.command .empty {
  display: none;
}
.impressum td {
  font-size: 16px;
}
.hint {
  font-size: 13px;
  margin: 10px 0px 20px;
}

/* -- Search -- */
.constraints input[type=text],
.constraints select {
  font-size: 13px;
  width: 300px;
}
.constraints select {
  width: 304px;
}
.constraints input.between {
  width: 100px;
}
.constraints .label {
  width: 120px;
}

.category p,
.keywords p {
  margin: 0px;
  font-size: 14px;
}
.alphabet {
  color: #666;
  font-size: 14px;
}
.alphabet b {
  color: black;
}
.category .entryCount,
.keywords .entryCount {
  color: #666;
}


/* -- List components -- */
.listControl {
  font-size: 14px;
  text-align: center;
}
.listControl td {
  vertical-align: middle;
  margin: 0px;
  padding: 0px 3px;
}
.listControl .listConfigLinks {
  text-align: left;
}

.pager table {
  width: 100%;
}
.pager .jump {
  width: 170px;
  text-align: right;
}
.pager .jump input {
  font-size: 11px;
}
.pager .jump input[type=text] {
  width: 30px;
}


/* -- List -- */
.list {
  margin: 10px 0px;
}
.list .highlight1 {
  background: yellow;
}
.list .highlight2 {
  background: magenta;
}
.list .highlight3 {
  background: cyan;
}
.list table {
  width: 100%;
  background: #ccc;
}
.list td,
.list th {
  vertical-align: top;
  padding: 2px 4px;
}
.list thead th {
  border-bottom: #666 1px solid;
  font-weight: normal;
  font-size: 11px;
  font-style: italic;
  text-align: left;
}
.list thead th.number,
.list thead th.price {
  text-align: center;
}
.list thead th b {
  font-size: 18px;
}
.list thead th a {
  display: block;
  background: transparent url(sort.gif) top right no-repeat;
  color: black;
}
.list thead th a.sortDesc {
  background: transparent url(sort_desc.gif) top right no-repeat;
}
.list thead th a.sortAsc {
  background: transparent url(sort_asc.gif) top right no-repeat;
}
.list thead th a:hover {
  background: #def url(sort_active.gif) top right no-repeat;
  color: black;
  text-decoration: none;
}

.list tbody tr.even {
  background: #feb;
}
.list tbody tr.odd {
  background: #fd8;
}
.listView tbody tr.odd:hover,
.listView tbody tr.even:hover {
  background: #def;
  cursor: pointer;
}
.list tbody .number {
  text-align: right;
  width: 70px;
}
.list tbody .desc {
  text-align: justify;
}
.list tbody .desc p {
  font-size: 13px;
  margin: 0px;
}
.list tbody .desc p.annotation {
  font-style: italic;
  margin: 3px 0px 0px 0px;
}
.list tbody .desc p.listKeywords {
  margin: 3px 0px 0px 0px;
}
.list tbody .desc p.image {
  float: right;
}
.list tbody .price {
  text-align: right;
  width: 90px;
}
.list tbody .order {
  width: 21px;
}
.list tbody .order button {
  background: transparent;
  border: none;
  outline: none;
  cursor: pointer;
}
.list tbody .order button svg {
  width: 16px;
  height: 16px;
  fill: #333;
}
.list tbody .order button:hover svg {
  fill: blue;
}
.list .flowItem {
  background: white;
  text-align: left;
  margin: 0px 0px 1px;
  padding: 10px 20px;
}
.list .flowItem .image {
  float: left;
}
.list .flowItem .text {
  padding: 0px 0px 0px 120px;
}
.list .flowItem .text .number {
  color: #666;
  font-size: 11px;
}
.list .tfoot td {
  border-top: #666 1px solid;
}
.list .tfoot td div {
  font-size: 15px;
}
.list .tfoot td .itemCount {
  float: left;
}
.list .tfoot td .listNav {
  float: right;
  text-align: right;
}


/* -- Cart -- */
.cart tbody .desc {
  text-align: left;
}
.cart tbody .reserved {
  font-weight: bold;
}
.cart tbody .index,
.cart tbody .quantity {
  padding-right: 10px;
  text-align: right;
}
.cart thead .index,
.cart tbody .index {
  width: 20px;
  text-align: right;
}
.cart thead .quantity,
.cart tbody .quantity {
  width: 70px;
  text-align: right;
}
.cart tbody .quantity .caption {
  display: none;
}
.cart tbody .quantity input {
  font-size: 12px;
  padding: 0px;
  margin: 0px;
  text-align: center;
}
.cart tbody .quantity img {
  vertical-align: bottom;
  padding-bottom: 2px;
}
.cart .tfoot td {
  text-align: right;
}
.cart .tfoot td.shipTo {
  text-align: left;
}
.cartedit tbody .quantity {
  padding-right: 4px;
}
.cartJS tbody .quantity {
  width: 80px;
}
.cartJS tbody .quantity button {
  padding: 0px;
  margin: 0px;
  outline: none;
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0px;
}
.cartJS tbody .quantity button[disabled],
.cartJS tbody .quantity button[disabled]:hover {
  cursor: not-allowed;
}
.cartJS tbody .quantity button[disabled] svg,
.cartJS tbody .quantity button[disabled]:hover svg {
  fill: #999;
}
.cartJS tbody .quantity button svg {
  width: 14px;
  height: 14px;
  fill: #333;
  position: relative;
  top: 2px;
}
.cartJS tbody .quantity button:hover svg {
  fill: blue;
}
.cart select {
  font-size: 12px;
}
.unknownShipping {
  font-weight: bold;
}

.securityLink {
  text-align: right;
  font-size: 11px;
  padding: 0px 5px 0px 0px;
  margin-top: -5px;
}
.security li {
  margin: 6px 0px 0px;
}
.noSSL  {
  margin: 10px 0px 0px;
  padding: 0px;
}
.noSSL td {
  color: gray;
  margin: 0px;
  padding: 0px;
}
.noSSL  td.left {
  padding-right: 15px;
}
.noSSL td input {
  color: #333;
  font-size: 11px;
}


/* -- Customer -- */
.address input[type=text],
.address select {
  font-size: 13px;
  width: 300px;
}
.address td,
.address label,
.address .countryInfo {
  font-size: 14px;
}
.address .countryInfo {
  margin: 3px 3px 2px;
}
.address p {
  font-size: 14px;
  margin: 5px 0px;
}
.address #invAddressBody {
  margin-bottom: 10px;
  padding-bottom: 10px;
}
.address td {
  text-align: left;
  vertical-align: middle;
}
.address .mail td {
  padding: 10px 2px 5px;
}
.address .mail td.label label {
  font-weight: bold;
}
.address .uid td {
  padding: 10px 2px 5px;
}

.ui-menu .ui-menu-item-wrapper {
  font-size: 13px;
  color: #333;
}
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover {
  background: #39f;
  border: dotted 1px blue;
  color: white;
}


/* -- Payment -- */
.payment input[type=text],
.payment select,
.payment textarea{
  font-size: 13px;
}
.payment td {
  padding: 2px 5px 12px;
  vertical-align: top;
}
.payment .method {
  white-space: nowrap;
}
.payment table table td {
  vertical-align: middle;
  padding: 2px 5px 2px 0px;
}
.payment table table td input {
  width: 200px;
}
.paymentTransaction {
  font-weight: bold;
}


/* -- Order -- */
.orderProgress ol {
  list-style: none outside;
  margin: 10px 0px 20px;
  padding: 0px;
}
.orderProgress li {
  background: #ccc;
  margin: 5px 0px;
  padding: 0px 12px 5px;
}
.orderProgress li div {
  display: inline;
  font-size: 15px;
}
.orderProgress li .desc,
.orderProgress li .state {
  font-weight: bold;
}
.orderProgress li .state {
  font-size: 20px;
  padding-left: 5px;
}
.orderProgress .state span {
  font-size: 30px;
  line-height: 25px;
  vertical-align: bottom;
}
.orderProgress .stateOK {
  color: green;
}
.orderProgress .stateActive {
  color: orangered;
}

.orderHead {
  padding: 1px 0px 0px;
  margin: -11px 0px 10px;
  position: relative;
}
.orderHead .pane {
  margin: 10px 0px 0px;
  width: 100%;
  box-sizing: border-box;
  flex-shrink: 1;
}
.orderHead .separator {
  width: 10px;
  height: 1px;
  margin-top: -1px;
  background: transparent;
  flex-shrink: 0;
}
.orderHead .row1 {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-flow: row nowrap;
}
.orderHead p {
  font-size: 14px;
  margin-bottom: 5px;
}
.orderHead .remark {
  margin-top: 15px;
}

.agbOrder p {
  text-indent: -25px;
  margin: 2px 25px 2px 25px;
}
.submitCart,
.submitCheckout,
.submitOrder,
.submitChanges {
  font-weight: bold;
}
.submitCart,
.submitOrder {
  font-size: 15px;
}
.submitLoading {
  display: none;
  color: gray;
  background: transparent url(loading.gif) left center no-repeat;
  font-weight: bold;
  padding: 0px 0px 0px 30px;
  height: 20px;
}


/* -- Detail -- */
.detail {
  overflow: auto;
}
.detail table {
  width: 100%;
}
.detail td {
  vertical-align: top;
}
.detail td.picture {
  text-align: center;
  font-size: 13px;
  font-style: italic;
  margin: 0px;
  padding: 0px 0px 0px 10px;
  width: 1%;
}
.detail .picture img {
  max-width: 400px;
}
.detail .images {
  text-align: center;
  margin: 5px 0px;
  padding: 0px;
}
.detail .images .image {
  display: inline;
}
.detail .images .image img {
  padding: 5px;
  vertical-align: middle;
}
.detail .images p {
  font-size: 11px;
  padding: 0px 5px;
  margin: 0px;
  text-align: right;
}
.detail td p {
  font-size: 17px;
}
.detail td .description {
  text-align: justify;
  margin: 0px;
}
.detail td .comment {
  font-size: 14px;
  font-style: italic;
  text-align: justify;
  margin: 6px 0px 0px;
}
.detail td .price {
  font-size: 18px;
  font-weight: bold;
  margin: 20px 0px 0px;
}
.detail .reserved,
.detail .missing {
  margin: 5px 0px 5px;
  font-weight: bold;
  color: #c00;
}
.detail .notAvailable {
  margin: 20px 0px 0px;
  font-weight: bold;
  color: #c00;
}
.detail .order input[type=text] {
  text-align: center;
  font-size: 12px;
}
.detail .print {
  float: right;
}
.detailBackLink {
  text-align: center;
}
.detailContext .prevNumber {
  float: left;
}
.detailContext .nextNumber {
  text-align: right;
}
.articlemail td.label {
  vertical-align: top;
  padding-top: 4px;
}

.discountMessage {
  padding: 4px 10px;
  background: #c4071b;
  color: white;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
}
.detail .price .discount,
.detail .price .discountInfo {
  color: #c4071b;
}
.cart tbody .discount {
  font-weight: bold;
}
.oldPrice {
  color: gray;
  text-decoration: line-through;
}

.piwikOptOut {
  width: 100%;
  height: 250px;
  border: none;
  background: #eee;
  font-family: sans-serif;
}

/* -- Modules -- */
.message {
  background: #fba;
  color: black;
  border: #c00 1px solid;
  text-align: center;
  font-weight: bold;
  padding: 5px 12px;
  margin: 10px 0px;
}

.featured {
  display: table;
  border-collapse: separate;
  border-spacing: 10px 8px;
  margin: -8px -10px;
}
.featured .items {
  margin: 0px;
  display: table-row;
}
.featured .items .item {
  width: 50%;
  padding: 5px 10px 0px;
  background: #ccc;
  display: table-cell;
  vertical-align: top;
        /*-ms-hyphens: auto;
        -webkit-hyphens: auto;
        hyphens: auto;*/
}
.featured .items .item:hover {
  background: #ddd;
}
.featured .items .item a {
  cursor: pointer;
  text-decoration: none;
}
.featured .items .item img {
  float: left;
  margin: 0px 5px 5px 0px; 
}
.featured .items .item h2,
.featured .items .item p,
.featured .items .item ul {
  margin: 0px 0px 7px;
}
.featured .items .item ul {
  overflow: auto;
}
.featured .items .item li {
  margin-left: 20px;
}
.featured .items .item li a:hover {
  text-decoration: underline;
}

.recommendations {
  /** /
  float: right;
  width: 141px;
  margin: 20px 15px 0px 10px;
  /**/
  position: absolute;
  top: 70px;
  left: 1030px;
  width: 141px;
  margin: 12px 15px 0px 10px;
  /**/
}
/*.content {
  margin-right: 150px;
}*/
.recommendations .item {
  font-size: 12px;
  margin: 0px 0px 10px 0px;
  padding: 5px;
  background: #ccc;
  color: black;
  text-align: center;
  word-wrap: break-word;
}
.recommendations .item:hover {
  cursor: pointer;
  background: #ddd;
}
.recommendations .item a {
  text-decoration: none;
}
.recommendations .item p {
  margin: 0px;
}

.news .newsItem {
  overflow: hidden;
  margin: 10px 0px;
}
.news .newsItem .newsImage {
  float: left;
  width: 110px;
}
.news .newsItem .newsText {
  margin: 0px 0px 0px 120px;
}
.news .newsItem .newsText h2 {
  margin-top: 0px;
}
.news .newsItem .newsText ul {
  margin-left: 15px;
}
.news .newsItem .newsText li {
  margin-bottom: 5px;
}


/* Internal pages. */
.internal {
  margin: 0px 0px 30px;
}
.internal .entity {
  margin: 10px 0px 30px;
}
.internal .entity .content {
  margin: 10px 0px;
  padding: 5px 10px;
  background: #ccc;
}
.internal .entity .label {
  padding: 5px 10px 0px 2px;
  vertical-align: top;
}
.internal .entity td ul li {
  margin-bottom: 5px;
}
.internal .entity td ul img {
  vertical-align: bottom;
}
.internal .list {
  border: none;
  background: none;
  margin: 10px 0px;
  padding: 0px;
}
.internal .list table {
  width: auto;
  margin: 0px;
  background: #ccc;
}
.internal .list th,
.internal .list td {
  border: #999 1px solid;
  margin: 0px;
  vertical-align: middle;
}
.internal .list th {
  font-size: 14px;
  font-weight: bold;
}
.internal .list td {
  text-align: left;
}
.internal .list tr.even td {
  background: #feb;
}
.internal .list tr.odd td {
  background: #fd8;
}
.internal .list tr td.tasks {
  background: #ccc;
  white-space: nowrap;
}

.internal .list tr th.dragHandles,
.internal .list tr td.dragHandle {
  display: none;
}
.internal .list .sortable tr th.dragHandles {
  display: table-cell;
}
.internal .list .sortable tr td.dragHandle {
  display: table-cell;
  background: #ccc;
  cursor: move;
}
.internal .list .sortable tr th.tasks,
.internal .list .sortable tr td.tasks {
  display: none;
}
.internal .sortableControlInactive .activate,
.internal .sortableControlActive .save {
  display: block;
}
.internal .sortableControlInactive .save,
.internal .sortableControlActive .activate {
  display: none;
}

.internal .voucher .value {
  text-align: right;
}
.internal .voucher .date,
.internal .voucher .available {
  text-align: center;
}
.internal .voucher .invalid {
  background: red;
  padding: 1px 5px;
}
.internal .voucher .alias {
  background: yellow;
  font-weight: bold;
}

.internal .orders .expired td {
  color: #999;
}
.internal .orders .sum {
  text-align: right;
}

.internal .preview {
  margin-top: 10px;
}


/* -- Errors and Debug -- */
ul.error {
  background: #fba url(error.gif) 2% 50% no-repeat;
  border: #c00 1px solid;
  text-align: center;
  font-size: 14px;
  font-weight: bold;
  padding: 5px 55px;
  margin: 10px 0px;
  list-style: none outside;
}
p.error {
  background-image: none;
  font: 14px Monospace;
}
input.error,
textarea.error,
.address div.error {
  border: #c00 1px solid;
}

.debugRobots {
  color: #c00;
  position: absolute;
  top: 10px;
  right: 20px;
  padding: 0px;
  margin: 0px;
}
.debugSession {
  clear:both;
  background: #eee;
  border: #999 1px solid;
  padding: 10px 20px 0px;
}


/* -- Footer -- */
footer,
.footer {
  margin: 10px 0px;
}
footer .navigate,
.footer .navigate {
  font-size: 13px;
  text-align: center;
  margin: 0px 20px 10px 225px;
  border-top: #ccc 1px solid;
}
footer .shopInfo,
.footer .shopInfo {
  font-size: 11px;
  text-align: left;
  padding: 5px 10px;
  background: #ccc;
}
