/* @import "jem.css"; */
@import "layout.css";
@import "menu.css";

/* fonts */

/* leckerli-one-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Leckerli One';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/leckerli-one-v22-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* raleway-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/raleway-v37-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* raleway-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/raleway-v37-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* raleway-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/raleway-v37-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* raleway-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/raleway-v37-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* root */

:root {
  --cassiopeia-color-primary: #c6e1d6;
  --cassiopeia-color-primary-medium: #6f8f83;
  --cassiopeia-color-primary-dark: #1d1d1b;
  --cassiopeia-color-secondary: #ffc107;
  --cassiopeia-color-link: #1d1d1b;
  --cassiopeia-color-hover: #424077;
  --link-color: #1d1d1b;
  --link-hover-color: #424077;

  --cassiopeia-color-accent: #e1c6d1;
  --cassiopeia-color-contrast: #f5d6c6;

  --cassiopeia-font-family-body: 'Raleway';
  --cassiopeia-font-family-headings: 'Raleway';
  --cassiopeia-font-weight-headings: 600;
  --cassiopeia-font-weight-normal: 400;

  --body-font-family: var(--cassiopeia-font-family-body);
  --body-font-size: 1.25rem;
  --body-font-weight: 400;
  --body-line-height: 1.75;
  --body-color: #1d1d1b;
  --body-white: #fff;
  --body-bg: #ecf6f2;

  --overlay-menu-background: #1d1d1b;
  --overlay-menu-lines: #ecf6f2;
  --overlay-menu-container: #ecf6f2;
}

/* user.js */

.card,
.com-content-article,
.j2store-single-product {
  opacity: 0;
  transform: translateY(45px);
  transition: transform 0.6s, opacity 0.9s;
}

/* typo */

* {
  hyphens: auto;
  hyphenate-limit-chars: 10 3 4;
}

a:hover {
  color: var(--cassiopeia-color-accent);
}

p.readmore {
  margin: 1em 0;
}

strong {
  
}

body.site .com-content-article__body ul,
body.site #description ul {
  padding-left: 1rem;
}

body.site .com-content-article__body li,
body.site #description li {
  list-style-type: '–';
  padding-inline-start: 0.5rem;
  font-weight: 500;
  text-decoration: underline var(--cassiopeia-color-accent) 4px;
  text-underline-offset: 0.25rem;
}

body.site.meta .com-content-article__body li {
  text-decoration: none;
}

body.site .btn {
  font-weight: 600;
}

body.site .btn-primary,
body.site .btn-secondary {
  color: var(--body-color);
  font-weight: 600;
  background-color: var(--cassiopeia-color-primary);
  border-color: var(--cassiopeia-color-primary);
  margin: 0.5em 0;
}

/* offline */

body.site .offline-card .logo-icon {
  display: none;
}

body.site .offline-card h1 {
  font-family: 'Leckerli One';
}

/* brand */

body.site .container-header .navbar-brand a {
  color: var(--cassiopeia-color-primary-dark);
  font-family: 'Leckerli One';
  font-size: 2.75rem;
  text-decoration: none;
}

/* layout */

body.site .container-header {
  margin: 1em;
  background: linear-gradient(180deg, var(--cassiopeia-color-primary) 0%, var(--body-bg) 100%);
  border-radius: 1em;
  box-shadow: none;
}

body.site .container-header .grid-child {
  padding: 0;
}

body.site .container-header .mod-menu {
  justify-content: flex-end;
}

body:not(.has-sidebar-left) .site-grid .container-component {
  justify-content: flex-start;
}

@supports (display:grid) {
  @media (width >= 992px) {
    .site-grid {
      grid-template-areas:
".banner banner banner banner." 
".top-a  top-a  top-a  top-a. " 
".top-b  top-b  top-b  top-b. " 
".side-l comp   side-r side-r." 
".bot-a  bot-a  bot-a  bot-a. " 
".bot-b  bot-b  bot-b  bot-b. ";
    }
  }
}

@supports (display:grid) {
  .site-grid > [class^="container-"], .site-grid > [class*=" container-"] {
    column-gap: 2em;
  }
}

.container-header  > .container-below-top > .mod-menu {
  flex-direction: row;
  flex: 1;
  display: flex;
  justify-content: flex-end;
}

body.site .grid-child.container-component {
  margin: 3em 0;
}

@media (width <= 991px) {
  .container-header .navbar-brand {
      margin: 0 auto;
  }
}

/* mod menu */

body.site .container-header .mod-menu > li {
  
}

body.site .container-header .mod-menu > li > a,
body.site .container-header .mod-menu > li > span {
  color: var(--cassiopeia-color-primary-dark);
  background: var(--body-bg);
  font-family: 'Raleway';
  font-size: 1.5rem;
  font-weight: 600;
  border-radius: 1em;
  padding: 0.125em 0.75em;
}

body.site .container-header .mod-menu > li::after {
  display: none;
}

body.site .container-header .mod-list li {
  
}

/* home */

body.site .com-content-article.item-page.home {
  padding: 2em 1em;
  border-radius: 0.5em;
  box-shadow:
    0 1px 4px hsl(0deg 0% 0% / 0.075),
    0 2px 2px hsl(0deg 0% 0% / 0.075),
    0 4px 4px hsl(0deg 0% 0% / 0.075),
    0 8px 8px hsl(0deg 0% 0% / 0.075),
    0 16px 16px hsl(0deg 0% 0% / 0.075);
}

/* shop */

body.site .simplefilter .fltr-controls:not(.reset-btn).active {
  background: var(--cassiopeia-color-accent);
}

body.site.view-category .rdfilter .filtr-container > .filtr-item {
  padding: 1em;
  background: var(--body-white);
}

body.site.view-article .com-content-article__body {
  
}

body.site .j2store-add-to-cart {
  margin: 1em 0;
}

body.site.view-article .item-page .j2store-product-images {
  width: 100%;
}

/* shop j2commerce list */

body.site.com_j2store .j2store-product-list .j2store-product-images {
  margin-bottom: 1em;
}

body.site.com_j2store .j2store-product-list .product-title > a {
  text-decoration: none;
}

body.site.com_j2store .j2store-product-list .j2store-product-images img {
  border-radius: 0.5em;
}

/* shop j2commerce */

body.site.com_j2store .simple-product > .row {
  display: grid;
  grid-template-columns:  repeat(auto-fit,minmax(480px, 1fr));
  gap: 3em;
  padding: 0;
  margin: 0 0 3em 0;
}

body.site.com_j2store .simple-product > .row > .col-sm-6 {
  padding: 0;
  margin: 0;
  width: auto;
}

/* j2commerce tabs */

body.site.com_j2store #j2store-product-detail-tab,
body.site.com_j2store #myProfileTab {
  display: flex;
  justify-content: flex-start;
  background: transparent;
  border: 0;
  border-bottom: 4px solid var(--cassiopeia-color-primary);
  box-shadow: none;
  gap: 0.125em;
  margin-top: 2em;
}

body.site.com_j2store #myProfileTabContent a {
  text-decoration: none;
}

body.site.com_j2store .nav.nav-tabs .nav-link {
  color: var(--cassiopeia-color-link);
  box-shadow: none;
}

body.site.com_j2store .nav.nav-tabs .nav-link.active,
body.site.com_j2store .nav.nav-tabs .nav-link:hover {
  background-color: var(--cassiopeia-color-primary);
  box-shadow: none;
  background-image: none;
  border-top-left-radius: 0.25em;
  border-top-right-radius: 0.25em;
}

body.site.com_j2store .nav.nav-tabs .nav-link.active:after {
  display: none;
}

body.site.com_j2store .nav-tabs + .tab-content {
  max-width: 750px;
  background: transparent;
  border: 0;
  padding: 0;
  margin-top: 1em;
  box-shadow: none;
}

body.site.com_j2store #changepassword_tab .btn-primary {
  margin: 0;
}

/* card */

body.site .card {
  border: 0;
  background: transparent;
}

body.site .bottom-a.card {
  border: 2px solid var(--cassiopeia-color-primary);
  border-radius: 0.5em;
}

body.site .card > .card-header {
  background: linear-gradient(180deg, var(--cassiopeia-color-primary) 0%, var(--body-bg) 100%);
  border-bottom: 0;
  text-decoration: underline var(--cassiopeia-color-accent) 4px;
  text-underline-offset: 0.25rem;
  text-align: right;
  border-radius: 0.3em;
}

body.site .card > .card-body {
  text-align: center;
}

body.site .mod-list li a:hover {
  text-decoration: none;
}

body.site .mod-articles-item img {
  margin: 1em 0;
  border-radius: 0.5em;
}

/* user menu */

@media (width <= 991px) {
  .container-search > .mod-menu {
    display: inline-block;
  }
}

body.site .mod-menu.user {
  flex-direction: row;
  gap: 1em;
  justify-content: center;
}

body.site .mod-menu.user li {
  padding: 0;
  margin: 0;
}

body.site .mod-menu.user li a {
  color: var(--body-bg);
  background: var(--cassiopeia-color-primary-dark);
  font-size: 1.5rem;
  border-radius: 1em;
  padding: 0.125em 0.75em;
}

body.site .mod-menu.user li a .fa.fa-shopping-cart {
  font-size: 1.25rem;
}

body.site .mod-menu.user li .cart-item-info {
  position: relative;
}

body.site .mod-menu.user li .cart-item-count {
  position: absolute;
}

/* animal modul */

body.site .container-sidebar-right .animal img {
  max-width: 320px;
  width: 100%;
}

/* footer */

body.wrapper-fluid footer > .grid-child {
  padding: 1em;
}

body.site footer ul.mod-menu {
  display: flex;
  flex-direction: row;
  gap: 1em;
}

/* mod breadcrumbs */
.mod-breadcrumbs .divider.icon-location.icon-fw {
  width: 0;
}

.mod-breadcrumbs .divider.icon-location.icon-fw:before {
  content: '';
}

/* mod info */

body.site .card > .card-body > .info {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(320px,1fr));
  column-gap: 1em;
  text-align: left;
}

/* j2commerce product images */

.embla {
  margin-bottom: 0.5em;
}

.embla__viewport {
  overflow: hidden;
}

.embla__container {
  display: flex;
  touch-action: pan-y pinch-zoom;
}

.embla__slide {
  flex: 0 0 100%;
  min-width: 0;
}

.embla__slide > img {
  border-radius: 0.5em;
}

.embla,
.embla-thumbs {
  overflow: hidden;
  width: 100%;
}

.embla-thumbs__container {
  display: flex;
  gap: 0.5em;
}

.embla__slide {
  flex: 0 0 100%;
}

.embla-thumbs__slide {
  flex: 0 0 20%;
  cursor: pointer;
  opacity: 0.5;
  transition: opacity 0.2s;
}

.embla-thumbs__slide > img {
  border-radius: 0.5em;
}

.embla-thumbs__slide.is-selected {
  opacity: 1;
  position: relative;
}

.embla-thumbs__slide.is-selected:before {
  position: absolute;
  content: '';
  left: 4px;
  right: 4px;
  top: 4px;
  bottom: 4px;
  border: 2px solid var(--body-bg);
  border-radius: 0.35em;
}

/* j2commerce product */

body.site .com-content-article__body .j2store-product-container {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(320px,1fr));
  grid-gap: 3em;
  padding: 1.5em 0;
  margin-bottom: 3em;
  border-top: 2px solid var(--cassiopeia-color-primary);
  border-bottom: 2px solid var(--cassiopeia-color-primary);
}

body.site .com-content-article__body {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

body.site .com-content-article__body .j2store-product-images {
  padding: 0 0 2em 0;
  margin-bottom: 2em;
  display: block;
  border-bottom: 2px solid var(--cassiopeia-color-primary);
}

body.site .com-content-article__body .j2store-product {
  padding: 0 0 2em 3em;
  margin-bottom: 2em;
  display: block;
  border-bottom: 2px solid var(--cassiopeia-color-primary);
}

@media (width <= 991px) {
  body.site .com-content-article__body {
    display: block;
  }
  body.site .com-content-article__body .j2store-product {
    padding-left: 0;
  }
}

body.site .com-content-article__body > * {
}

body.site .com-content-article__body > *:not(.j2store-product-images):not(.j2store-product) {
  grid-column: span 2;
  max-width: 750px;
}

body.site .com-content-article__body .j2store-product-description {
  max-width: 750px;
}

body.site .product-price-container .sale-price {
  margin: 1.5em 0;
  display: block;
  font-size: 1.5rem;
}

/* j2commerce checkout */

body.site #j2store-cart-form {
  -webkit-overflow-scrolling: touch;
  overflow-x: auto;
}

body.site #j2store-cart-form .cart-thumb-image img {
  margin: 10px 10px 0 0;
}

body.site .table.j2store-cart-table td.cart-line-subtotal {
  text-align: left;
}

body.site .j2store-cart h3 {
  margin: 3em 0 0.5em 0;
}

body.site .j2store-cart table.cart-footer {
    margin: 2em 0;
}

body.site .j2store .checkout-heading {
  background: var(--cassiopeia-color-primary);
  color: var(--body-color);
  font-size: inherit;
  font-weight: 500;
  border: 0;
  border-radius: 0.5em;
  padding: 0.5em;
}

body.site .j2store .checkout-content label {
  display: inline-block;
}

body.site .j2store #billing-existing select[size],
body.site .j2store #shipping-existing select[size] {
  background: transparent;
  border: 0;
}

body.site .j2store .payment-plugin-image {
  height: 50px;
  margin: 1em 0.5em;
}

/* j2commerce my profile */

body.site .j2store-myprofile #myProfileTab .nav-item i.fa,
body.site .j2store-myprofile #myProfileTab .nav-item i.fas {
  margin-right: 10px;
}

body.site .j2store-myprofile #myProfileTabContent {
  background: transparent;
}

body.site .j2store-myprofile #myProfileTabContent .j2store-myprofile-address-controls {
  display: flex;
  gap: 1em;
  padding: 0;
  margin: 1em 0;
}

/* j2commerce-product-module */

body.site .j2commerce-product-module > .p-2 {
  padding: 0!important;
  margin: 0;
}

body.site .j2commerce-product-module .product-card.bg-body {
  background-color: transparent!important;
}

body.site .j2commerce-product-module .product-card .j2commerce-product-image {
  margin-bottom: 1em;
}

body.site .j2commerce-product-module .product-card img {
  border-radius: 0.5em;
}

/* acymailing subscription form */

body.site .acym_module_form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  grid-gap: 2em;
  align-items: center;
}

body.site .acym_module_form img {
  max-width: 240px;
  width: 100%;
}

body.site .acym_module_form input {
  max-width: 100%;
  padding: 0.125rem 0.75rem;
  border: 2px solid var(--cassiopeia-color-primary);
  border-radius: 0.5em;
}

/* mod qlform */

body.site .qlformContainer .control-group {
  text-align: left;
}

body.site .form-group.control-group.jform_privacy {
   display: flex;
   align-items: flex-start;
}

body.site .form-group.control-group.jform_privacy > label {
  order: 2;
  margin: 0;
  display: inline-block;
}

body.site .form-check-inline {
  order: 1;
  margin: 0;
}

body.site #jform_privacy.form-check-input {
  border-color: var(--body-color);
}