@media screen and (max-width: 900px) {

  /* Header */
  header,
  .header {
    background: transparent;
    margin: 0px;
    padding: 0px;
    height: auto;
  }
  header .pageTitle,
  header .logo,
  .header .pageTitle,
  .header .logo {
    display: none;
  }
  header .mobileHeader,
  .header .mobileHeader {
    background: #333;
    display: block;
    padding: 5px 10px;
    margin: 0px;
  }
  header .mobileHeader a,
  .header .mobileHeader a {
    display: block;
    text-decoration: none;
    color: white;
    background: transparent url(icons/menu.gif) left center no-repeat;
  }
  header .mobileHeader h1,
  .header .mobileHeader h1 {
    font-size: 17px;
    margin: 0px;
    padding: 0px 0px 0px 26px;
    color: white;
  }

  /* Navigation */
  nav.mobile {
    position: static;
    display: block;
    float: none;
    width: 100%;
    max-height: 0px;
    overflow: hidden;
    background: #333;
    margin: 0px;
    padding: 0px;
  }
  nav.opened {
    transition: max-height 0.5s ease-in;
    -webkit-transition: max-height 0.5s ease-in;
    -moz-transition: max-height 0.5s ease-in;
    -ms-transition: max-height 0.5s ease-in;
    -o-transition: max-height 0.5s ease-in;
    max-height: 2000px;
  }
  nav.closed {
    transition: max-height 0.5s ease-out;
    -webkit-transition: max-height 0.5s ease-out;
    -moz-transition: max-height 0.5s ease-out;
    -ms-transition: max-height 0.5s ease-out;
    -o-transition: max-height 0.5s ease-out;
    max-height: 0px;
  }
  nav.mobile ul {
    display: block;
    margin: 0px 0px 0px 0px;
    border-top: solid 1px white;
  }
  nav.mobile li {
    display: block;
    border: none;
    border-bottom: solid 1px white;
    margin: 0px;
    padding: 0px;
    text-align: left;
    font-size: 16px;
  }
  nav.mobile li.active {
    background: #def;
    color: black;
    display: block;
    padding: 5px 10px;
  }
  nav.mobile li a {
    color: white;
    display: block;
    padding: 5px 10px;
  }
  nav.mobile p {
    color: white;
  }
  nav.mobile .cartInfo {
    margin-top: 20px;
  }
  nav.mobile .cartInfo a {
    text-decoration: underline;
    color: white;
  }
  nav.mobile .languages {
    padding-bottom: 10px;
  }

  .content {
    margin: 10px 0px 0px;
    padding: 0px 15px 0px 10px;
  }
  footer .navigate, 
  .footer .navigate {
    margin: 0px 15px 10px 10px;
  }

  .recommendations {
    display: none;
  }

}

@media screen and (max-width: 660px) {

  /* Detail */
  .detail td .description {
    text-align: left;
  }
  .detail .print {
    display: none;
  }
  .detail .order {
    float: none;
  }
  .detail td.picture {
    width: auto;
  }
  .detail td.picture img {
    max-width: 100%;
  }
  .detail td {
    display: block;
    width: auto;
    position: relative;
  }
  .prevNumber,
  .nextNumber {
    font-size: 40px;
    padding: 0px;
    line-height: 20px;
  }
  .prevNumber a,
  .nextNumber a {
    text-decoration: none;
  }
  .prevNumber span,
  .nextNumber span {
    display: none;
  }

}

@media screen and (max-width: 470px) {

  ul.error {
    padding: 6px 6px 6px 40px;
  }
  p.intro {
    text-align: left;
  }
  .hint,
  pre {
    display: none;
  }
  .list,
  .listControl,
  .pager,
  ul.error,
  .pane {
    margin: 12px 0px;
  }
  .constraintsImage,
  .category,
  .keywords,
  .payment,
  .address {
    background-image: none;
  }
  .category p,
  .keywords p {
    padding-top: 7px;
    padding-bottom: 7px;
  }
  .alphabet a,
  .alphabet b,
  .alphabet span {
    padding-left: 10px;
    padding-right: 10px;
    line-height: 200%;
  }

  /* Search */
  .constraints input[type=text],
  .constraints select {
    width: 95%;
  }
  .constraints input.between {
    width: 22%;
  }
  .constraints table {
    width: 100%;
  }
  .constraints td {
    display: block;
    padding: 0px 0px 5px;
  }
  .constraints td.label {
    padding: 5px 0px 0px;
  }

  /* List */
  .list {
    position: relative;
    display: block;
  }
  .list td,
  .list th {
    display: block;
  }
  .list thead th a,
  .list thead th a.sortAsc,
  .list thead th a.sortDesc,
  .list thead th a:hover {
    background: none;
  }
  .list th.number,
  .list th.price {
    display: none;
  }
  .list tbody tr {
    position: relative;
    display: block;
  }

  .listView tbody td {
    position: relative;
    padding: 4px 4px 2px;
  }
  .listView tbody .number,
  .listView tbody .index {
    text-align: left;
  }
  .listView tbody .price {
    position: absolute;
    top: 0px;
    right: 32px;
    padding: 4px 4px 2px;
  }
  .listView tbody .order {
    position: absolute;
    right: 0;
    top: 0px;
  }
  .listView tbody .desc {
    padding: 2px 4px 4px;
    text-align: left;
  }
  .listView .tfoot td .itemCount,
  .listView .tfoot td .listNav {
    display: block;
    float: none;
    text-align: center;
    padding: 5px;
  }
  .listView .tfoot td a {
    padding: 0px 4px;
  }

  .listControl span {
    display: block;
    padding: 2px 0px;
    text-align: left;
  }
  .listControl span.submit {
    text-align: right;
  }

  /* Pager */
  .pager td,
  .pager .jump {
    display: block;
    width: auto;
    padding: 5px 0px;
    text-align: center;
  }
  .pager td a,
  .pager td b {
    padding: 0px 3px;
  }
  .pager td.jump input {
    margin: 0px 3px;
  }

  /* Cart */
  .cart th.index,
  .cart th.quantity {
    display: none;
  }
  .cart tbody td {
    position: relative;
    display: block;
  }
  .cart tbody .index {
    float: left;
    padding: 4px 4px 2px;
  }
  .cart tbody .desc {
    text-align: left;
    margin-left: 24px;
    padding: 4px 4px 2px;
  }
  .cart tbody .quantity {
    position: absolute;
    bottom: 0px;
    left: 24px;
    width: auto;
    text-align: left;
    padding: 2px 4px 4px;
  }
  .cart tbody .quantity .caption {
    display: inline;
  }
  .cart tbody .itemPrice {
    visibility: hidden;
  }
  .cart tbody .itemSum {
    position: absolute;
    bottom: 0px;
    right: 0px;
    top: auto;
    padding: 2px 4px 4px;
  }
  .cart .tfoot tr {
    display: block;
    clear: both;
  }
  .cart .tfoot td {
    display: block;
    width: auto !important;
    float: left;
    padding: 5px 4px;
  }
  .cart .tfoot .price {
    float: none;
    position: static;
    text-align: right;
  }
  .cart .tfoot .shipTo {
    float: none;
    position: relative;
    text-align: left;
  }
  .cart .tfoot .shipTo select {
    float: right;
  }
  .cart .tfoot .spacer {
    width: 0px;
    padding: 0px;
  }
  .securityLink {
    text-align: left;
    margin: 10px 0px;
    font-size: 14px;
  }
  .noSSL .left {
    text-align: left;
  }

  /* Order */
  .address table {
    width: 100%;
  }
  .address td,
  .address th {
    display: block;
    padding: 0px 0px 5px;
  }
  .address td.label {
    padding: 5px 0px 0px;
  }
  .address input[type=text],
  .address select,
  .address textarea {
    width: 95%;
  }
  .payment td {
    display: block;
    padding: 0px 0px 10px 25px;
  }
  .payment .method,
  .payment .label {
    padding: 10px 0px 0px 0px;
  }
  .payment input[type=text],
  .payment select,
  .payment textarea {
    width: 90%;
  }
  .agbOrder p {
    margin: 3px 20px;
    text-indent: 0px;
  }
  .agbOrder p input {
    margin: 4px 0px 0px -20px;
    float: left;
  }

  .orderHead {
    margin: 0px 0px 10px;
  }
  .orderHead .row1 {
    display: block;
  }

  .command td {
    display: block;
    text-align: center;
  }
  .command .empty {
    display: none;
  }
  .command input {
    margin: 4px 8px;
  }
  .cartCommand td {
    padding: 4px 0px;
    margin: 0px;
  }
  .cartCommand td input {
    margin-right: 10px;
  }
  .submitCart,
  .submitOrder {
    font-size: 18px;
  }

  .featured {
    display: block;
    margin: 0px;
  }
  .featured .items {
    display: block;
  }
  .featured .items .item {
    width: auto;
    display: block;
    margin: 0px 0px 8px;
    overflow: auto;
  }

    /* TODO: ListControl nach unten u. ggf. verstecken, Abbildungen in Liste */

}
