html {
  overflow-y: scroll;
}
body {
  background: #d2e4c8;
}
body, div, span, p, ul, form, h1, h2, h3, th, td, table, input, select, textarea {
  font-family: Open Sans, Verdana, sans-serif;
  color: black;
  line-height: 135%;
}
h1 {
  font-size: 26px;
  margin: 0px;
  margin: 30px 0px 20px;
}
h2 {
  margin: 30px 0px 20px;
  font-size: 24px;
}
h3 {
  margin: 25px 0px 12px;
  font-size: 16px;
}
p, dd {
    margin: 0px 0px 12px;
}
a {
  color: #a72b30;
  font-weight: 600;
}
img {
  position: relative;
  max-width: 100%;
}
figure.floatRight {
  margin: 0px 0px 20px 20px;
}
figcaption {
  font-size: 13px;
}
input, select, textarea, td {
  font-size: 16px;
}
a.outlineButton,
input[type="button"],
input[type="submit"] {
  border: none;
  border-radius: 2px;
  line-height: 12px;
  padding: 14px 35px;
  color: white;
  background: #a72b30;
  -webkit-appearance: none;
  font-size: 12px;
  font-weight: normal;
  text-transform: uppercase;
  cursor: pointer;
}
a.outlineButton:hover,
input[type="button"]:hover,
input[type="submit"]:hover {
  color: white;
  background: #333;
  text-decoration: none;
}
figure.info {
  float: right;
  padding: 0px;
  margin: 0px;
  padding: 5px 0px 0px 30px;
  width: 250px;
}
figure.big {
  float: right;
  padding: 0px;
  margin: 0px;
  padding: 5px 0px 0px 30px;
  width: 400px;
}
figure.full {
  padding: 0px;
  margin: 0px 0px 20px;
}
hr {
  border: none;
  border-top: #eeece1 1px solid;
  margin: 20px 0px;
  height: 1px;
}
.pageContainer {
  max-width: 1024px;
  margin: 0px auto;
  border: none;
  background: white;
  box-shadow: 0px 0px 20px 0px rgb(0 0 0 / 30%);
}
.inner,
main .content {
  position: relative;
  padding: 0px 20px;
}

/* -- Header -- */
header {
  background: #eeece1;
  padding: 0px;
}
header .inner {
  padding: 0px;
  margin: 0px;
}
header .pageTitle {
  display: none;
}
header .pageTitle h1 {
  padding: 0px;
  margin: 0px;
}
header .logo {
  display: block;
  padding: 0px;
  margin: 0px;
  font-size: 0px;
  line-height: 0px;
}


/*header nav.top {
  background: #eeece1cc;
  padding: 0px 5px;
}
header .menuSearch {
  background: #eeece1cc;
  padding: 5px 5px;
}

header nav.top {
  position: absolute;
  top: 10px;
  right: 20px;
}
header nav.top,
header nav.top span {
  font-size: 13px;
}
header nav.top a {
  color: black;
  font-weight: normal;
}
header nav.top a:hover {
  color: blue;
}*/
nav.mobile {
  display: none;
}

/*header .menuSearch {
  position: absolute;
  right: 20px;
  bottom: 25px;
  text-align: right;
}
header .menuSearch,
header .menuSearch label,
header .menuSearch input {
  font-family: Tahoma, Arial, sans-serif;
  font-size: 15px;
}
header .menuSearch input[type="submit"] {
  background: blue;
  border: none;
  color: white;
  padding: 2px 5px;
  background: transparent url(search.svg) top left no-repeat;
  text-indent: 200%; white-space: nowrap; overflow: hidden;
}
header .menuSearch input[type="submit"]:hover {
  opacity: 0.6;
}
header .menuSearch .advanced {
  font-size: 14px;
  padding: 5px 37px 0px 0px;
}*/

/* -- Navigation -- */
nav.main {
  background: #a72b30;
  margin: 0px;
  padding: 1px 0px;
}
nav.main ul {
  margin: 0px 20px;
  list-style: none;
  overflow: auto;
  /*display: flex;
  /*justify-content: space-between;*/
}
nav.main li {
  display: inline-block;
  margin: 1px 0px;
}
nav.main li,
nav.main div,
nav.main a {
  font-size: 14px;
  font-weight: 600;
  color: white;
}
nav.main li.active > div,
nav.main a {
  display: block;
  padding: 9px 15px;
  margin: 0px 1px;
}
nav.main li.active > div,
nav.main li:hover > div > a {
  background: #c45651;
  text-decoration: none;
  border-radius: 4px;
}
nav.main ul ul {
  display: none;
  position: absolute;
  box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.2);
  z-index: 1;
  background: #a72b30;
  margin: 0px;
}
nav.main ul ul li {
  display: block;
}
nav.main ul li:hover ul {
  display: block;
}

nav.main .menuSearch {
  float: right;
  margin-right: 20px;
}
nav.main .menuSearch,
nav.main .menuSearch label,
nav.main .menuSearch input {
  font-size: 14px;
}
nav.main .menuSearch .quicksearch {
  padding: 7px 0px;
}
nav.main .menuSearch input[type="submit"] {
  background: blue;
  border: none;
  color: white;
  padding: 2px 5px;
  background: transparent url(search.svg) top left no-repeat;
  text-indent: 200%; white-space: nowrap; overflow: hidden;
}
nav.main .menuSearch input[type="submit"]:hover {
  opacity: 0.6;
}


/* -- Main -- */
main {
  padding: 40px 20px 40px;
  min-height: 330px;
}
.pane {
  background: transparent;
  padding: 0px;
}
.command td {
  padding: 0px;
}
ul.error {
  font-size: 16px;
}

/* -- Detail -- */
.detail td .description,
.detail td .comment {
  text-align: left;
}
ul.additional {
  margin: 10px 0px 15px 15px;
}
ul.additional b {
  font-weight: normal;
}

.oldPrice {
  color: black;
  text-decoration: none;
}
.detail .print,
.detail .order {
  padding-top: 20px;
}

/* -- List -- */
.list table {
  background: transparent;
}
.list thead th {
  display: none;
}
.list tbody tr.odd,
.list tbody tr.even {
  background: white;
  border-bottom: black 1px solid;
}
.listView tbody tr.odd:hover,
.listView tbody tr.even:hover,
.list tbody tr.active {
  background: #eeece1;
  border-bottom: black 1px solid;
}
.list tbody td {
  padding: 10px 0px;
}
.list tbody td.picfile {
  width: 120px;
}
.list tbody td.picfile img {
  padding-right: 10px;
}
.list tbody .desc {
  text-align: left;
}
.list tbody .order img {
  margin-left: 5px;
}
.list .tfoot td {
  padding: 10px 0px 0px;
  border: none;
}
.list .tfoot td div {
  font-size: 16px;
}
.pager .jump input[type="submit"] {
  padding: 5px 10px 4px;
}
.listConfigLinks {
  margin: 20px 0px;
  border-top: black 1px solid;
  padding: 10px 0px 0px;
}

/* -- Order -- */
.cart {
  margin: 20px 0px;
}
.cart thead th {
  display: table-cell;
  background: transparent;
  border-bottom: black 1px solid;
  font-style: normal;
}
.cart thead th b {
  font-size: 16px;
  font-weight: normal;
  font-style: normal;
}
.cart thead .quantity {
  text-align: center;
}
.cart select {
  font-size: 14px;
}
.cart tbody .quantity input {
  font-size: 14px;
}
.cart tbody .quantity img {
  vertical-align: middle;
}
.address td,
.address label,
.address .countryInfo {
  font-size: 16px;
}
.address .countryInfo {
  margin: 0px;
  padding: 1px 3px;
}
.address input[type="text"],
.address select {
  font-size: 14px;
}

.payment input[type="radio"] {
  margin-top: 0px;
}
.orderHead {
  margin: 11px 0px 35px;
}
.orderHead .pane {
  background: #eeece1;
  padding: 10px 10px;
}
.orderHead h3 {
  margin: 0px 0px 10px;
  padding: 0px 0px 0px;
}
.orderProgress li {
  background: #eeece1;
}
.orderProgress .stateOK span {
  color: green;
}
.orderProgress .stateActive span {
  color: #a72b30;
}

/* -- Search -- * /
.constraints input[type="text"],
.constraints select {
  font-size: 15px;
}

/* -- Browse -- */
.books {
  display: flex;
  align-items: stretch;
}
.books .current {
  width: 55%;
  margin: 20px;
  margin-left: 0px;
  background: #a72b30;
}
.books .current a {
  display: block;
}
.books .current a .image,
.books .current a img {
  font-size: 0px;
}
.books .current a img {
  max-width: 508px;
  max-width: 100%;
  max-height: 284px;
}
.books .current a .text {
  text-align: center;
  color: white;
  padding: 39px 20px 40px;
}
.books .current a:hover .text {
  background: #333;
}
.books .current a:hover,
.books .current a:hover .text {
  text-decoration: none !important;
}
.books .other {
  display: flex;
  flex-direction: column;
  width: 45%;
}
.books .other .item {
  padding: 20px;
}
.books .other .item a {
  display: block;
  padding: 40px 20px;
  text-align: center;
  color: white;
  background: #a72b30;
}
.books .other .item a:hover {
  background: #333;
  text-decoration: none;
}

.inventory {
  overflow: auto;
}
.inventory .categories {
  width: 50%;
  padding-right: 20px;
}
.inventory .search {
  float: right;
  width: 50%;
}
.inventory h1 {
  margin-top: 0px;
  padding-top: 30px;
}

/*
.category p,
.keywords p,
.alphabet {
  font-size: 16px;
}
.category p,
.keywords p {
   padding: 0px 0px 5px;
}
.category,
.keywords {
  columns: 2;
}
.category a,
.keywords a {
  color: black;
  text-decoration: underline;
  font-weight: normal;
}
.category a:hover,
.keywords a:hover {
  color: #840042;
}
.category .entryCount,
.keywords .entryCount {
  color: #999;
}
.alphabet {
  margin: 10px 0px 20px;
}
.alphabet b,
.alphabet a,
.alphabet span {
  display: inline-block;
  border: #840042 2px solid;
  padding: 1px 5px;
  margin: 0px 0px 10px 4px;
}
.alphabet a {
  color: #840042;
  font-weight: normal;
}
.alphabet a:hover,
.alphabet b {
  background: #840042;
  color: white;
  text-decoration: none;
}
.alphabet span {
  color: #999;
}
*/

.detailBackLink {
  padding-top: 30px;
}
.detailBackLink > a {
  padding: 5px 10px;
  margin-top: 20px;
  display: inline-block;
}
.detailBackLink a span {
  color: #a72b30;
}

/* -- Info pages -- */
figure.index {
  width: 330px;
}
.message {
  background: #eeece1;
  margin: 0px 0px 40px;
  border: none;
  color: black;
  font-size: 17px;
  font-weight: normal;
  text-align: left;
  padding: 10px 20px;
}

.shipping table {
  margin-bottom: 20px;
}
.shipping table td {
  padding: 2px 20px 2px 0px;
}
.shipping table td:nth-child(1) {
  min-width: 145px;
}
.shipping table td:nth-child(2) {
  min-width: 90px;
  text-align: right;
}

.contact .contactAddress {
  float: right;
  width: 300px;
  font-size: 13px;
}
.contact .contactMap .map {
  padding: 0px;
  border: solid 1px white;
  max-width: 950px;
  height: 400px;
  margin: 0px 320px 0px 0px;
}
.contact .contactMap .map .ol-attribution {
  line-height: 12px;
}
.contact .contactMap .map .ol-attribution li {
  font-size: 10px;
  line-height: 12px;
}
.contact .contactMap .marker {
  width: 20px;
  height: 20px;
  border: 1px solid blue;
  border-radius: 10px;
  background-color: blue;
  opacity: 0.5
}
.feedback .contactMessage {
  padding-top: 10px;
}


/*
.catalogs .item {
  border-bottom: #e3dfcd 1px solid;
  padding: 20px 0px;
  overflow: auto;
}
.catalogs .item .image {
  float: right;
  padding-left: 30px;
}
.catalogs .item .text h3 {
  margin-top: 0px;
  padding-top: 15px;
  font-size: 18px;
}
.featured .items .item .buttons,
.catalogs .item .text .buttons {
  margin-top: 20px;
}

.featured .items .item {
  border-bottom: #e3dfcd 1px solid;
  padding: 20px 0px;
  overflow: auto;
}
.featured .items .item .image {
  float: right;
  padding-left: 30px;
  width: 250px;
}
.featured .items .item p {
  font-size: 17px;
}
*/

.catalogs ul {
  list-style: none;
  margin: 20px 0px;
}
.catalogs li {
  overflow: auto;
}
.catalogs figure {
  float: left;
  margin: 0px 20px 20px 0px;
}
.catalogs figure img {
  width: 200px;
}
.catalogs .title,
.catalogs .buttons {
  margin-left: 230px;
}
.catalogs .buttons .download,
.catalogs .buttons .orderNr {
  display: inline-block;
  margin: 10px 10px 20px 0px;
}
.catalogs .title h3 {
  margin-top: 0px;
}


.news h3 {
  margin-top: 0px;
}
.news .newsItem .newsText {
  margin: 0px 0px 0px 230px;
}
.news .newsItem .newsImage {
  width: 210px;
}

.neustartkultur {
  margin: 30px 0px;
}
.neustartkultur img {
  height: 80px;
}

/* -- Footer -- * /
.topLink {
  text-align: right;
  font-size: 11px;
  padding: 30px 0px 0px;
  clear: both;
}
.topLink a {
  font-weight: normal;
}*/

.shopInfo {
  margin: 0px;
  padding: 10px 0px;
  font-size: 10px;
  text-align: center;
  color: #e3dfcd;
  padding-bottom: 0px;
}
.shopInfo a {
  color: #e3dfcd;
  font-weight: normal;
}
.shopInfo a:hover {
  color: #c8c09a;
}

nav.bottom {
  border: none;
  margin: 0px;
  font-size: 11px;
  padding: 10px 0px 0px;
  color: #b2a189;
  text-align: center;
}
nav.bottom .sep {
  border-right: #b2a189 1px solid;
  padding: 0px;
  margin: 0px 7px;
  font-size: 14px;
}

footer {
  background: #a72b30;
  border: none;
  margin: 0px;
  padding: 15px 10px;
}
footer .inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
footer.info .contact,
footer.info .membership,
footer.info .legal {
  min-width: 200px;
  padding: 0px 40px 10px 0px;
}
/*footer.info .membership {
  width: 80px;
  padding: 0px;
}*/
footer h3,
footer p,
footer li *,
footer a {
  color: white;
  font-size: 13px;
  font-weight: normal;
  line-height: 165%;
}
footer h3 {
  text-transform: uppercase;
}
footer a {
  text-decoration: none;
  font-weight: normal;
}
footer a:hover {
  text-decoration: underline;
}
footer .separator {
  border-bottom: 1px solid #e5eaec;
  height: 0px;
  margin: 24px 0 32px;
  padding: 0;
  background-color: #e5eaec;
  width: 100%;
  position: relative;
}
footer .separator hr {
  border: none;
  left: 0%;
  background: #c45651;
  width: 30px;
  height: 3px;
  position: absolute;
  top: -1px;
  margin: 0px;
}
footer.info .legal ul {
  list-style: none;
  margin: 0px;
}
footer.info .membership img {
  width: 84px;
  margin-right: 20px;
}
footer.info .neustartkultur {
  background: white;
  border: solid 7px white;
  margin: 0px 0px 20px;
}
footer.info .neustartkultur img {
  height: 55px;
}

footer.copyright {
  background: #c45651;
}
footer.copyright a {
  color: #303030;
  color: white;
  text-decoration: underline;
}
footer.copyright a:hover {
  color: white;
}
footer.copyright .inner {
  display: block;
  color: white;
  font-size: 13px;
}


/* -- Internal -- */
.debugSession {
  display: none;
}

.internal .entity .content {
  background: #ccbda6;
}
.internal .list tbody tr.odd,
.internal .list tbody tr.even {
  border: none;
}
.internal .list tr td {
    padding: 2px 7px;
}
.internal .list tbody tr.odd td,
.internal .list tbody tr.even td {
  background: transparent;
}
.internal .list tbody tr td.catalogImage {
  width: 200px;
}
.internal .list tbody tr td.tasks {
  background: #eeece1;
  width: 100px;
}
nav.main .internalMenu ul {
  justify-content: flex-start;
}