html {
  overflow-y: scroll;
  background: #eceded;
}
body, div, p, ul, form, h3, h4, h5, h6, th, td, table, dt, dd, input, select, textarea {
  font-family: 'BwNistaGrotesk-Light', sans-serif;
  font-size: 16px;
  color: #3c3c3b;
}
td {
  padding: 1px 20px 1px 0px;
}
h1,
h2,
h3,
h4 {
  font-family: 'BwNistaGrotesk-ExtraBold', sans-serif;
  word-break: break-word;
}
h1 {
  font-weight: normal;
  font-size: 46px;
  color: #f65058;
  /*text-transform: uppercase;*/
  margin: 0px;
  padding: 0px 0px 40px;
}
h2 {
  font-weight: normal;
  font-size: 38px;
  letter-spacing: -0.03em;
  color: #f65058;
  margin: 0px;
  padding: 0px 0px 40px;
}
.internal h2,
h3 {
  font-weight: normal;
  font-size: 32px;
  color: #f65058;
  margin: 0px;
  padding: 0px 0px 20px;
}
h4 {
  font-weight: normal;
  font-size: 16px;
  color: #3c3c3b;
  margin: 0px;
  padding: 0px 0px 20px;
}
p,
dt, dd,
th, td,
table {
  text-align: left;
  margin-bottom: 20px;
  line-height: 24px;
}
a {
  color: #f65058;
}
input[type="text"],
select,
textarea {
  border: solid 1px #3c3c3b;
}
input[type="text"]:hover,
select:hover,
textarea:hover {
  border: solid 1px #f65058;
}
input.error,
input[type="text"].error,
textarea.error,
.address div.error {
  border: #c00 1px solid;
}
input[type="button"],
input[type="submit"] {
  -webkit-appearance: none;
}
input[type="button"][disabled="disabled"],
input[type="submit"][disabled="disabled"] {
  cursor: not-allowed !important;
  background: #eceded !important;
  color: #3c3c3b !important;
}
.pageContainer {
  max-width: none;
  border: none;
  background: white;
}

header .inner,
#mainMenu .inner,
main .inner,
footer .inner {
  position: relative;
  width: 1180px;
  margin: 0px auto;
  padding: 0px 10px;
  box-sizing: content-box;
}


/* -- Header -- */
header {
  height: 200px;
  background: white;
  padding: 0px;
}
header .pageTitle {
  display: none;
}
header .logo {
  display: block;
  position: absolute;
  top: 35px;
  left: 10px;
  z-index: 1;
}
header .logo a {
  display: block;
}
header .logo img {
  height: 100px;
}
header .searchPanel {
  position: absolute;
  top: 35px;
  right: 10px;
}
header .searchPanel .buttons {
  position: absolute;
  right: 406px;
  top: 0px;
  width: 500px;
  text-align: right;
}
header .searchPanel .buttons .button {
  position: relative;
  font-size: 20px;
  display: inline-block;
  padding: 20px 25px 0px 0px;
  margin: 0px;
}
/*header .searchPanel .buttons .cart {
  padding-right: 44px;
}
header .searchPanel .buttons .cart .count {
  position: absolute;
  right: 0px;
  top: 17px;
  height: 31px;
  width: 31px;
  background: transparent url(cart_empty.svg) left top no-repeat;
}
header .searchPanel .buttons .cartFull .count {
  position: absolute;
  right: 0px;
  top: 8px;
  height: 26px;
  width: 26px;
  background: transparent url(cart_full.svg) left top no-repeat;
  text-align: center;
  color: #0033a0;
  padding: 0px 13px 13px 0px;
  margin: 0px;
  font-size: 18px;
  line-height: 26px;
  letter-spacing: -0.06em;
}*/
header .searchPanel .buttons .cart .count {
  display: none;
}
header .searchPanel .searchBox {
  position: relative;
  width: 378px;
  height: 53px;
  border: solid 1px #3c3c3b;
  background: white;
  padding: 0px;
  margin: 0px;
}
header .searchPanel .searchBox .error {
  position: fixed;
  top: 0px;
  left: 10px;
  right: 10px;
}
header .searchPanel .searchBox input[type="text"] {
  position: absolute;
  top: 17px;
  left: 12px;
  width: 300px;
  font-size: 18px;
  border: none;
  margin: 0px;
}
header .searchPanel .searchBox:hover {
  border: solid 1px #f65058;
}
header .searchPanel .searchBox input[type="submit"] {
  position: absolute;
  top: 12px;
  right: 17px;
  width: 38px;
  height: 31px;
  background: white url(search.svg) left top no-repeat;
  border: none;
  color: transparent;
  text-indent: 100%; white-space: nowrap; overflow: hidden;
  cursor: pointer;
}
header .searchPanel .advSearch {
  text-align: right;
  font-size: 20px;
  padding: 15px 0px 0px;
}
header .mobileHeader {
  display: none;
}

/* -- Navigation -- */
#mainMenu {
  background: #eceded;
  /*height: 71px;*/
  margin: 0px;
  padding: 0px;
}
.navigationFixed {
  padding-top: 71px;
}
.navigationFixed #mainMenu {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  z-index: 2;
}
/* http://www.w3schools.com/css/tryit.asp?filename=trycss_dropdown_navbar */
#mainMenu ul {
  list-style: none;
  margin: 0px;
  padding: 0px;
  overflow: hidden;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainMenu ul li {
  /*float: left;*/
  margin: 0px;
  padding: 0px;
}
#mainMenu ul li a,
#mainMenu ul li.active a {
  display: inline-block;
  text-align: center;
  padding: 6px 20px 0px 20px;
  margin: 0px 1px 0px 0px;
  font-family: 'BwNistaGrotesk-ExtraBold', sans-serif;
  font-size: 20px;
  line-height: 65px;
  color: #3c3c3b;
  text-decoration: none;
}
#mainMenu ul li.active a,
#mainMenu ul li:hover a {
  background: #f65058;
  color: white;
}
#mainMenu ul ul {
  display: none;
  position: absolute;
  box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.2);
  z-index: 1;
}
#mainMenu ul li.children:hover ul {
  display: block;
}
#mainMenu ul li.children ul li {
  float: none;
  border: none;
}
#mainMenu ul li.children ul li a,
#mainMenu ul li.children ul li.active a,
#mainMenu ul li.children:hover ul li a,
#mainMenu ul li.children:hover ul li.active a {
  display: block;
  text-align: left;
  padding: 0px 40px 0px 15px;
  margin: 0px;
  font-size: 18px;
  line-height: 50px;
  border: none;
  background: #eceded;
  color: #3c3c3b;
}
#mainMenu ul li.children:hover ul li.active a,
#mainMenu ul li.children:hover ul li:hover a {
  background: #f65058;
  color: white;
}

/* -- Content -- */
main .inner {
  padding: 54px 15px 10px;
}
main hr {
  background: #f65058;
  height: 1px;
  border: none;
  margin: 30px -10px 20px;
}
main .hint {
  text-align: center;
}

main .buttons .button {
  display: inline-block;
}
main .buttons .button a {
  display: inline-block;
  padding: 10px;
  margin-right: 10px;
  margin-bottom: 10px;
  color: #3c3c3b;
  background: #eceded;
}
main .buttons .button:hover a {
  background: #f65058;
  color: white;
  text-decoration: none;
}
main .buttons .buttonActive a {
  padding: 8px;
  background: #f65058;
  color: white;
}
.featuredCategories .category {
  display: none;
}

.pane {
  background: none;
  margin: 0px;
  padding: 0px;
}

.banner {
  position: relative;
}
.banner .overlay {
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
}
.banner a:hover .overlay {
  background: white;
  opacity: 0.1;
}
.banner .text {
  position: absolute;
  top: 65px;
  left: 65px;
}
.banner .text h4 {
  font-family: 'BwNistaGrotesk-ExtraBold', sans-serif;
  font-size: 36px;
  color: white;
  margin: 0px;
  padding: 0px;
}
.banner .text h5 {
  font-size: 20px;
  color: white;
  margin: 0px;
  padding: 20px 0px;
}
.banner img,
.bannerMobile img {
  max-width: 100%;
}
.bannerMobile {
  display: none;
}

.kamadeva {
  /*background: black;
  color: white;
  font-size: 40px;
  text-align: center;
  padding: 50px;*/
  padding: 50px 0px;
}
.kamadeva img {
  max-width: 100%;
}
/*.kamadeva a {
  color: white;
  text-decoration: none;
}
.kamadeva a strong {
  font-family: 'BwNistaGrotesk-ExtraBold', sans-serif;
  font-weight: normal;
  color: #f65058;
}*/

.categoryCards {
  overflow: auto;
}
.categoryCards .card {
  width: 240px;
  margin: 0px 32px 64px 0px;
  margin: 0px 48px 64px 0px;
  float: left;
  background: #eceded;
}
.categoryCards .card .image {
  position: relative;
  font-size: 0px;
  line-height: 0px;
  height: 220px;
  overflow: hidden;
}
.categoryCards .card .image img {
  max-width: 100%;
}
.categoryCards .card .image .overlay {
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
}
.categoryCards .card .name a {
  color: #3c3c3b;
  display: block;
  line-height: 55px;
  padding: 0px 16px;
}
.categoryCards .card:hover {
  background: #f65058;
}
.categoryCards .card:hover .name a {
  color: white;
  text-decoration: none;
}
.categoryCards .card:hover .image .overlay {
  background: white;
  opacity: 0.1;
}

.categoryBanner {
  margin: 0px 0px 20px;
  height: 275px;
  overflow: hidden;
}
.categoryBanner img {
  max-width: 1128px;
  max-width: 1148px;
}

.constraints {
  background: transparent;
  margin: 0px 0px 20px;
  padding: 0px;
  width: 475px;
}
.constraints .year {
  width: 200px;
  float: left;
}
.constraints .yearEnd {
  width: 200px;
  margin-left: 275px;
}
.constraints .caption {
  line-height: 24px;
  margin-bottom: 0px;
  padding: 5px 0px 3px;
}
.constraints .field {
  margin-bottom: 14px;
}
.constraints .field input {
  width: 100%;
  font-size: 16px;
  line-height: 24px;
  padding: 12px 10px;
}

.command {
  padding: 0px;
  margin: 0px;
}
.command td {
  padding: 0px;
  margin: 0px;
}
.buttonLink,
.command input[type="submit"],
.command input[type="button"] {
  display: inline-block;
  padding: 10px 32px;
  margin: 0px 10px 10px 0px;
  color: #3c3c3b;
  background: #eceded;
  border: none;
  font-size: 24px;
  line-height: 22px;
  font-weight: normal;
  cursor: pointer;
}
.command .right input[type="submit"],
.command .right input[type="button"] {
  margin: 0px 0px 10px 10px;
}
.buttonLink:hover,
.command input[type="submit"]:hover,
.command input[type="button"]:hover {
  background: #f65058;
  color: white;
  text-decoration: none;
}

.list {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  margin-right: -20px;
}
.list .flowItem {
  padding: 20px 0px;
  flex-shrink: 0;
  flex-grow: 0;
  min-width: 0px;
  width: 272px;
  margin: 0px 20px 22px 0px;
}
.list .flowItem .image {
  position: relative;
  width: 100%;
  height: 275px;
  margin-bottom: 21px;
}
.list .flowItem .image img {
  position: absolute;
  left: 0px;
  bottom: 0px;
  box-shadow: 0px 0px 10px 0px rgba(153,153,153,1);
  max-width: 100%;
}
.list .flowItem .imageEmpty a {
  display: block;
  position: absolute;
  left: 0px;
  bottom: 0px;
  color: #999;
  text-align: center;
  background: transparent url(neptun_icon.svg) center top no-repeat;
  background-size: 48px;
  padding: 55px 0px 10px;
}
.list .flowItem .imageEmpty a:hover {
  text-decoration: none;
}
.list .flowItem .text {
  padding: 0px;
  margin: 0px;
}
.list .flowItem .author {
  margin: 0px;
}
.list .flowItem .author a {
  color: #3c3c3b;
}
.list .flowItem .offerPrefix {
  font-style: italic;
}
.list .flowItem .title {
  font-weight: bold;
  margin: 0px;
}


.listConfigLinks {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  margin: 0px -20px 0px 0px;
}
.listConfigLinks .comboBox {
  position: relative;
  padding: 0px;
  flex-shrink: 0;
  flex-grow: 0;
  min-width: 0px;
  width: 272px;
  margin: 0px 20px 22px 0px;
  overflow: hidden;
}
.listConfigLinks .comboBox .selected {
  background: #eceded;
  color: #3c3c3b;
  display: block;
  text-align: left;
  padding: 5px 10px;
  margin: 0px;
  cursor: pointer;
  position: relative;
}
.listConfigLinks .comboBox .selected .handle {
  position: absolute;
  right: 7px;
  top: 9px;
  width: 22px;
  height: 16px;
  background: transparent url(combobox.svg) left center no-repeat;
  background-size: 22px 16px;
}
.listConfigLinks .comboBox ul {
  list-style-type: none;
  margin: 0px;
  padding: 0px;
  background: #eceded;
  border-top: white 2px solid;
  position: absolute;
  left: 0px;
  right: 0px;
  z-index: 1;
}
.listConfigLinks .comboBox ul,
.listConfigLinks .comboBox ul {
  display: none;
}
.listConfigLinks .comboBox:active,
.listConfigLinks .comboBox:hover {
  overflow: visible;
}
.listConfigLinks .comboBox:active ul,
.listConfigLinks .comboBox:hover ul {
  display: block;
}

.listConfigLinks .comboBox ul li a,
.listConfigLinks .comboBox ul li b {
  color: #3c3c3b;
  display: block;
  text-align: left;
  text-decoration: none;
  padding: 5px 10px;
  margin: 0px;
  font-weight: normal;
}
.listConfigLinks .comboBox ul li:hover a,
.listConfigLinks .comboBox ul li b {
  background: #f65058;
  color: white;
}

.pager a {
  display: inline-block;
  padding: 10px;
  margin: 0px 5px 10px;
  color: #3c3c3b;
  background: #eceded;
}
.pager a:hover {
  color: white;
  background: #f65058;
  text-decoration: none;
}
.pager b {
  color: white;
  background: #f65058;
  padding: 12px;
  margin: 0px 5px 10px;
}
.pager .jump {
  width: 200px;
}
.pager .jump input[type="text"] {
  display: inline-block;
  padding: 8px 8px;
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  margin: 0px 5px;
}
.pager .jump input[type="submit"] {
  display: inline-block;
  border: none;
  padding: 10px;
  margin: 0px 5px 10px;
  font-size: 16px;
  line-height: 24px;
  color: #3c3c3b;
  background: #eceded;
  cursor: pointer;
}
.pager .jump input[type="submit"]:hover {
  color: white;
  background: #f65058;
  text-decoration: none;
}

.detail {
  overflow: auto;
}
.detail .images {
  text-align: right;
}
.detail .articleImage {
  float: right;
  width: 380px;
  text-align: right;
  padding: 10px;
}
.detail .articleImage img {
  box-shadow: 0px 0px 10px 0px rgba(153,153,153,1);
  max-width: 100%;
}
.detail .preview {
  font-weight: normal;
  font-family: 'BwNistaGrotesk-ExtraBold', sans-serif;
  color: #f65058;
  text-align: center;
  padding: 10px;
}
.detail .articleDescription {
  margin-right: 400px;
}
.detail .author {
  margin: 0px;
  padding: 0px;
}
.detail h1.title {
  padding-top: 5px;
}
.detail h3.title {
  margin: -30px 0px 0px;
  padding: 0px 0px 30px;
}

.detail .price {
  font-size: 17px;
  font-weight: normal;
  margin: 30px 0px 10px;
}
.detail .order {
  position: relative;
  width: 288px;
  width: 300px;
  box-sizing: border-box;
  max-width: 100%;
  min-height: 38px;
  padding: 8px 11px;
  margin: 20px 0px;
  color: #3c3c3b;
  background: #eceded;
}
.detail .order p {
  font-size: 16px;
  line-height: 18px;
  color: #3c3c3b;
  padding: 0px;
  margin: 0px;
}
.detail .order .orderButton a {
  display: block;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
}
.detail .order .orderButton a span {
  background: transparent url(order.svg) center right no-repeat;
  text-indent: 100%; white-space: nowrap; overflow: hidden;
  position: absolute;
  top: 16px;
  right: 27px;
  width: 31px;
  height: 27px;
}
.detail .order:hover .orderButton a span {
  background: transparent url(order_active.svg) center right no-repeat;
}
.detail .order:hover {
  color: white;
  background: #f65058;
}
.detail .order:hover p {
  color: white;
}

.detail .reserved,
.detail .missing {
  font-weight: normal;
  color: #c00;
  font-family: 'BwNistaGrotesk-ExtraBold', sans-serif;
  color: #f65058;
}

.detail .safety .detail {
  padding-top: 10px;
}
.detail .safety .detail h3 {
  font-size: 24px;
  line-height: normal;
}
.detail .safety a .arrow {
  border: solid #f65058;
  border-width: 0 3px 3px 0;
  display: inline-block;
  padding: 3px;
  margin-left: 10px;
}
.detail .safety.closed a .arrow {
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  margin-bottom: 2px;
}
.detail .safety.open a .arrow {
   transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}
.detail .safety.closed {
  max-height: inherit !important;
}
.detail .safety.closed .detail {
  display: none;
}
.detail .safety.open .detail {
  display: block;
}
.detailBackLink {
  display: none;
}

.columns2,
.columns3 {
  display: flex;
  flex-direction: row;
  margin-right: -20px;
}
.columns2 .col,
.columns3 .col {
  flex-basis: 50%;
  flex-shrink: 1;
  flex-grow: 0;
  margin-right: 20px;
}
.columns3 .col {
  flex-basis: 33%;
}

.authors {
  display: flex;
  flex-direction: row;
}
.authors .col {
  flex-basis: 33%;
  flex-shrink: 1;
  flex-grow: 0;
}
.authors p {
  margin: 0px;
  padding: 0px 0px 5px;
}
.authorInfo {
  overflow: auto;
  margin-top: 20px;
}
.authorInfo .authorImage {
  float: left;
}
.authorInfo .authorBio {
  margin-top: -4px;
  margin-left: 301px;
}
.authorInfo .authorBio h3 {
  margin-top: 0px;
  padding-top: 0px;
}

.tradeAddress {
  margin-bottom: 25px;
}

/*.cart thead {
  display: none;
}*/
.cart {
  display: block;
  margin: 20px 0px 40px;
}
.cart td,
.cart th {
  background: white;
  padding: 20px 20px;
  vertical-align: middle;
}
.cart thead th {
  font-size: 18px;
  font-style: normal;
  font-weight: bold;
}
.cart thead th.price {
  text-align: right;
}
.cart thead th.quantity {
  text-align: center;
}
.cart thead th,
.cart tbody,
.cart .tfoot td {
  border: none;
}
.cart tr {
  border-top: #eceded 1px solid;
  border-bottom: #eceded 1px solid;
}
.cart tbody .quantity {
  width: 160px;
  text-align: center;
}
.cart tbody .quantity a {
  font-weight: bold;
}
.cart tbody .quantity input {
  display: inline-block;
  padding: 5px 10px;
  font-size: 16px;
  line-height: 20px;
  margin: 0px;
  margin-right: 10px;
}
.cart .shipTo {
  padding: 0px 20px;
}
.cart select {
  display: inline-block;
  font-size: 16px;
  line-height: 20px;
  margin: 0px;
  margin-left: 10px;
  padding: 5px 10px;
}
.cart .tfoot td {
  font-weight: bold;
}

.orderProgress {
  display: none;
}
.address {
}
.address table {
  margin: -20px 0px 30px;
}
.invoiceAddress table {
  margin: 0px 0px 30px;
}
.address td {
  display: block;
  margin: 0px;
  padding: 0px;
  font-weight: bold;
}
.address .label {
  line-height: 24px;
  margin-bottom: 0px;
  padding: 5px 0px 3px;
  border: none;
  font-weight: normal;
  margin-top: 14px;
}
.address input[type="text"],
.address select {
  font-size: 16px;
  line-height: 24px;
  padding: 12px 10px;
  width: 450px;
}
.address .mail td,
.address .uid td {
  padding: 0px;
}
.orderHead .row1,
.orderHead .row2 {
  margin-bottom: 30px;
}
.orderHead p {
  font-size: 16px;
}

.payment textarea {
  font-size: 16px;
  line-height: 24px;
  padding: 12px 10px;
  width: 450px;
}

.agbOrder {
  margin-bottom: 30px;
}


.kontakt input[type="text"],
.kontakt textarea,
.kontakt select,
.newsletter input[type="text"] {
  display: inline-block;
  padding: 5px 10px;
  margin: 0px 5px 10px;
}
.kontakt .label,
.newsletter .label {
  padding: 5px 10px 15px 0px;
}
.newsletter .columns2 {
  max-width: 800px;
  margin-bottom: 20px;
}
.newsletter .columns2 p {
  margin-bottom: 10px;
}
.newsletter .columns2 input[type="text"] {
  margin: 0px 0px 10px;
}

.aboutImage img {
  width: 100%;
  line-height: 1px;
  margin: 0px;
  padding: 0px;
}
.aboutImage p {
  margin: -5px 0px 30px;
  padding: 0px;
  text-align: right;
  font-size: 14px;
}

blockquote p {
  font-size: 48px;
  line-height: 60px;
  color: #f65058;
  padding: 0px;
  margin: 0px 0px 40px;
  text-align: center;
}
blockquote p.source {
  margin: -25px 100px 20px;
  padding: 0px;
  text-align: right;
  font-size: 14px;
  line-height: normal;
}

.impressum {
  padding-bottom: 20px;
}
.impressum table {
  margin-bottom: 0px;
}

/* -- Footer -- */
.shopInfo {
  font-size: 10px;
  text-align: center;
  color: #ddd;
  margin-top: 40px;
}
.shopInfo a {
  color: #ddd;
  text-decoration: underline;
}
.shopInfo a:hover {
  color: #bbb;
}
.footerLine {
  background: transparent url(footer.png) center left repeat-x;
  background-size: 100%;
  padding: 100px 0px;
}
footer {
  background: #eceded;
  min-height: 457px;
  margin: 0px;
}
footer .infobar {
  position: relative;
}
footer .infobar .panel {
  position: absolute;
  width: 300px;
  padding: 30px 0px 20px;
}
footer .infobar .links {
  left: 0px;
  width: 250px;
}
footer .infobar .socialMedia {
  padding-top: 24px;
  padding: 30px 0px 20px;
}
footer .infobar .socialMedia a {
  display: inline-block;
  padding-right: 10px;
}
footer .infobar .socialMedia svg {
  width: 32px;
  height: 32px;
  fill: #333;
}
footer .infobar .contact {
  left: 400px;
}
footer .infobar .contact p {
  margin-bottom: 24px;
}
footer .infobar .legal {
  left: 800px;
}
footer .infobar h3 {
  font-size: 30px;
  line-height: 60px;
  margin-bottom: 6px;
}
footer .infobar p {
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 0px;
}

/* Internal. */
.internal .list td {
  vertical-align: top;
}
