@import url("https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&family=Source+Serif+Pro:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Hind&display=swap");
.title-font {
  font-family: "Source Serif Pro", serif;
  font-size: 18px;
  line-height: 26px;
  color: white;
  text-decoration: none; }
  .title-font:hover {
    color: #b4cdc9; }
  .title-font:active {
    color: #b4cdc9; }

nav li.current > a,
nav li.section > a {
  color: #b4cdc9; }

nav #dropdown-nav li.current > a {
  color: #617559; }

.title-font-no-hover,
h1 {
  font-family: "Source Serif Pro", serif;
  font-size: 18px;
  line-height: 26px;
  color: white;
  text-decoration: none; }

.title-font-no-hover--dark {
  font-family: "Source Serif Pro", serif;
  font-size: 18px;
  line-height: 26px;
  color: #3c3c3b;
  text-decoration: none; }

h1 {
  padding-bottom: 16px;
  font-style: normal !important; }

h2,
h3 {
  font-family: "Source Serif Pro", serif;
  font-size: 18px;
  line-height: 25px;
  font-style: normal !important; }

.quotes-font {
  font-family: "Source Serif Pro", serif;
  font-size: 18px;
  line-height: 26px;
  color: #617559;
  text-align: center; }

.scroll-text-font {
  font-family: "Source Serif Pro", serif;
  font-style: italic;
  font-size: 15px;
  line-height: 20px;
  color: #3c3c3b;
  text-align: center; }

.submenu-font {
  font-family: "Source Serif Pro", serif;
  font-size: 16px;
  line-height: 25px;
  color: #3c3c3b; }
  .submenu-font:hover {
    color: #617559; }
  .submenu-font:active {
    color: #617559; }

.links-font {
  font-family: "Source Serif Pro", serif;
  font-size: 18px;
  line-height: 25px;
  color: white;
  text-align: center;
  text-decoration: underline white; }

.product-ingredients-font {
  font-family: "Hind", serif;
  font-size: 11px;
  line-height: 15px;
  color: white; }

@media (max-width: 700px) {
  .title-font:hover {
    color: #617559; }
  .title-font:active {
    color: #617559; }
  .submenu-font {
    text-decoration: none; }
  nav li.current > a,
  nav li.section > a {
    color: #617559; }
  nav #dropdown-nav li.current > a {
    color: #617559; } }

/*-------------
 	Variables
-------------*/
/*-------------
 	General
-------------*/
* {
  margin: 0;
  padding: 0; }

html {
  background-color: #b4cdc9; }
  @media (max-width: 800px) {
    html {
      overflow-x: hidden; } }
body {
  font-family: "Source Serif Pro", serif;
  font-size: 15px;
  font-weight: 400;
  min-height: 100vh;
  color: #3c3c3b; }
  @media (max-width: 800px) {
    body {
      overflow-x: hidden; } }
a:hover {
  cursor: pointer; }

ul,
nav {
  list-style: none; }

.hide-on-mobile ul li {
  display: inline-block; }

section {
  display: flex;
  margin-top: 75px;
  margin-bottom: 75px;
  flex-direction: column;
  align-self: center; }
  @media (max-width: 700px) {
    section {
      margin-top: 25px;
      margin-bottom: 25px; } }
.row-content {
  align-self: center;
  display: flex;
  row-gap: 40px;
  margin-bottom: 75px;
  flex-direction: row;
  max-width: 970px;
  width: 100%;
  justify-content: space-between;
  align-items: center; }
  @media (max-width: 700px) {
    .row-content {
      margin-bottom: 25px; } }
  .row-content .header {
    margin-bottom: 16px;
    text-align: left; }
  .row-content .text {
    text-align: left; }
  .row-content .quote {
    width: 300px;
    text-align: center;
    display: flex;
    flex-direction: column;
    row-gap: 20px; }

.formular-wrapper {
  padding: 30px 0; }

#FormBottom {
  background: #ddbfbf;
  padding: 15px; }

.content {
  margin: auto;
  max-width: 970px; }

.content-small {
  max-width: 600px; }

.show-on-mobile {
  display: none; }

@media (max-width: 1000px) {
  section {
    padding: 15px 30px; } }

@media (max-width: 800px) {
  .row-content {
    flex-direction: column; } }

@media (max-width: 700px) {
  section {
    padding: 10px 20px; }
  .hide-on-mobile {
    display: none !important; }
  .show-on-mobile {
    display: flex !important; }
  .row-content {
    flex-direction: column; }
  .background-image {
    height: 285px !important;
    width: auto !important; } }

/*-------------
 	Header
-------------*/
header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  justify-content: space-between;
  display: flex; }
  header nav {
    width: 100%;
    background-color: #b7966a;
    display: flex; }
  header li {
    margin: 16px; }
  header #dropdown-nav li {
    margin: 10px; }
    header #dropdown-nav li:first-child {
      padding-left: 10px; }
    header #dropdown-nav li:last-child {
      padding-right: 10px; }
  header #cart {
    position: absolute;
    right: 0; }
    header #cart a {
      display: -webkit-box;
      align-items: flex-end; }
      header #cart a img {
        width: 24px; }
    header #cart .item-count {
      background-repeat: no-repeat;
      text-align: center;
      background-position: center;
      height: 20px;
      width: 20px;
      margin-left: -8px;
      margin-top: 10px;
      line-height: 20px;
      color: white;
      position: relative;
      z-index: 20; }
  header .mobile-nav {
    display: none;
    height: 45px;
    flex-direction: column; }
    header .mobile-nav #close-icon {
      display: none; }
    header .mobile-nav img.burger-icon {
      width: 24px;
      height: 24px;
      padding: 8px;
      fill: white; }
    header .mobile-nav #mobile-nav-links {
      position: absolute;
      top: 45px;
      left: 0;
      display: none;
      height: calc(100vh - 45px);
      width: 100vw;
      background-color: rgba(221, 191, 191, 0.95); }
    header .mobile-nav .mobile-menu-entry {
      margin-left: 36px; }
    header .mobile-nav .mobile-sub-nav {
      display: none; }
    header .mobile-nav .mobile-sub-nav li {
      margin-left: 72px; }

nav li:hover ul#dropdown-nav {
  visibility: visible; }

#dropdown-nav:hover {
  visibility: visible; }

#dropdown-nav {
  background-color: #ddbfbf;
  position: absolute;
  visibility: hidden;
  display: flex;
  z-index: 20; }
  #dropdown-nav a {
    text-decoration: none; }

/*----------------
 	Logo
----------------*/
.logo {
  max-width: 330px; }

.logo-banner {
  margin: 0px;
  margin-bottom: -75px;
  margin-top: 0;
  max-height: 200px; }
  .logo-banner .content {
    width: 100%;
    display: flex;
    justify-content: flex-end; }
  .logo-banner img {
    max-width: 330px; }

@media (max-width: 700px) {
  .logo-banner {
    margin-bottom: 0px; }
    .logo-banner .content {
      justify-content: center; }
    .logo-banner img {
      max-width: 264px; } }

/*----------------
 	Startseite
----------------*/
.feedback-content {
  width: 100%; }

.hero {
  position: relative;
  color: #fff;
  text-align: center;
  display: flex; }
  .hero img.logo {
    padding-bottom: 32px; }

.background-image {
  background-size: cover;
  width: 100%;
  height: 660px;
  background-position: center; }

.hero-boxes {
  margin-bottom: -250px; }
  @media (max-width: 700px) {
    .hero-boxes {
      margin-bottom: 0px;
      margin-top: -200px; } }
  .hero-boxes .grid {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
    .hero-boxes .grid .hero-box {
      max-width: 310px;
      min-width: 310px;
      padding: 32px 16px;
      background-color: rgba(221, 191, 191, 0.8);
      height: 350px;
      display: flex;
      flex-direction: column;
      text-align: center;
      box-sizing: border-box;
      margin-right: 20px;
      margin-bottom: 20px; }
      @media (max-width: 700px) {
        .hero-boxes .grid .hero-box {
          margin-right: 0px;
          margin-bottom: 20px; } }
      @media (max-width: 350px) {
        .hero-boxes .grid .hero-box {
          margin-right: 0px;
          margin-bottom: 20px;
          min-width: 280px; } }
      .hero-boxes .grid .hero-box .title {
        flex: 15%; }
      .hero-boxes .grid .hero-box .text {
        flex: 70%; }
      .hero-boxes .grid .hero-box .callToAction {
        width: max-content;
        margin: auto; }
      .hero-boxes .grid .hero-box:last-child {
        margin-right: 0; }

.frontpage-product {
  display: grid;
  margin-bottom: -500px;
  grid-template-columns: 1fr 1fr 1fr; }
  .frontpage-product .product-box {
    grid-column: 2; }

/*-------------
 	Footer
-------------*/
footer {
  display: flex;
  flex-direction: row;
  background-color: #b7966a;
  padding: 16px; }
  footer a {
    color: #fff;
    text-decoration: none; }
  footer .footer-content {
    color: #fff;
    display: flex;
    flex-direction: column;
    row-gap: 4px;
    column-gap: 4px;
    width: 100%;
    text-align: left; }
    footer .footer-content .contact_links {
      display: flex;
      flex-direction: row; }
      footer .footer-content .contact_links .contact {
        flex: 80%;
        display: flex;
        flex-direction: row;
        row-gap: 8px;
        column-gap: 8px; }
      footer .footer-content .contact_links .links {
        align-self: flex-end; }
        footer .footer-content .contact_links .links a {
          border-bottom: none; }

@media (max-width: 700px) {
  footer {
    flex-direction: column;
    padding: 80px 15px; }
    footer .footer-content {
      flex-direction: column;
      row-gap: 4px;
      column-gap: 4px;
      width: 100%; }
      footer .footer-content .contact_links {
        flex-direction: column;
        column-gap: 16px;
        row-gap: 16px; }
        footer .footer-content .contact_links .contact {
          display: flex;
          flex-direction: column;
          column-gap: 0px;
          row-gap: 0px; }
        footer .footer-content .contact_links .links {
          align-self: flex-start; } }

/*-------------
 	History
-------------*/
.history {
  margin-top: -240px; }
  .history .row-content {
    column-gap: 16px; }
  .history .history-image {
    max-width: 660px; }
    .history .history-image img {
      width: 100%; }
  .history .content-small {
    margin: 0; }

@media (max-width: 800px) {
  .history {
    margin-top: 0px; } }

/*-------------
 	Big box
-------------*/
.big-box {
  min-width: 660px;
  max-width: 660px;
  margin-top: -350px;
  padding: 20px;
  background-color: rgba(221, 191, 191, 0.95);
  min-height: 350px;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  row-gap: 8px;
  align-self: flex-end; }
  .big-box .title {
    padding-bottom: 20px;
    overflow: hidden;
    text-align: center; }
  .big-box .description {
    text-align: center; }

@media (max-width: 700px) {
  .big-box {
    margin-top: 0px;
    min-width: 400px;
    align-self: center; } }

/*-------------
 	Product boxes
-------------*/
.products-grid {
  display: grid;
  flex-direction: row;
  flex-wrap: wrap;
  grid-gap: 16px;
  grid-template-columns: 1fr 1fr 1fr;
  margin-top: -500px;
  justify-content: center; }

.product-category {
  color: #FFF;
  margin-top: 3em; }

.product-category:nth-child(1) {
  margin-top: -500px; }

.products-grid-in-category {
  margin-top: 0; }

input[type="submit"], button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: 0 !important;
  text-decoration: underline; }
  input[type="submit"] :focus, button :focus {
    outline: 0 !important;
    background-color: transparent;
    border: none; }

.product-box {
  padding: 20px 18px;
  background-color: rgba(221, 191, 191, 0.95);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  row-gap: 8px; }
  .product-box .title {
    height: 52px;
    overflow: hidden;
    text-align: center;
    color: white; }
  .product-box img {
    height: 187px;
    max-width: 274px;
    object-fit: contain; }
  .product-box .description {
    height: 52px;
    text-align: left;
    color: white; }
  .product-box .product-price {
    height: 20px;
    text-align: left;
    color: white; }
  .product-box .product-ingredients {
    min-height: 100px;
    text-align: left;
    color: white; }
  .product-box .callToAction .product-submit-intput {
    height: 26px;
    width: 100%;
    margin: auto;
    color: white;
    text-align: center;
    line-height: 34px; }

.product-box.dark {
  color: #3c3c3b; }
  .product-box.dark .title {
    color: #3c3c3b; }
  .product-box.dark .description {
    color: #3c3c3b; }
  .product-box.dark .product-price {
    color: #3c3c3b; }
  .product-box.dark .product-ingredients {
    color: #3c3c3b; }
  .product-box.dark .callToAction .product-submit-intput {
    color: #3c3c3b !important;
    text-decoration-color: #3c3c3b !important;
    line-height: 34px; }

/*-------------
 	Press boxes
-------------*/
.press-grid {
  display: grid;
  grid-gap: 10px;
  margin-top: -500px;
  justify-content: center;
  grid-template-columns: 1fr 1fr 1fr; }
  .press-grid a {
    text-decoration: none; }
    .press-grid a :focus {
      color: unset; }

.press-box {
  padding: 20px 18px;
  background-color: rgba(221, 191, 191, 0.95);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  row-gap: 8px; }
  .press-box .title {
    height: 52px;
    overflow: hidden;
    text-align: center;
    color: white; }
  .press-box .description {
    text-align: center;
    color: #3c3c3b;
    min-height: 20px;
    line-height: 34px; }
  .press-box img {
    max-width: 274px;
    max-height: 349px;
    object-fit: contain;
    align-self: center; }

/*-------------
 	Cours boxes
-------------*/
.courses-grid {
  display: grid;
  grid-gap: 10px;  
  justify-content: center;
  margin-bottom: 2em;
  grid-template-columns: 1fr 1fr 1fr; }
  .courses-grid a {
    text-decoration: none; }
    .courses-grid a :focus {
      color: unset; }

section .course-content:first-child {
  margin-top: -500px;
}

.courses-grid-success {
  grid-template-columns: 1fr;
}

.course-box {
  padding: 20px 18px;
  background-color: rgba(221, 191, 191, 0.95);
  text-align: left;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  row-gap: 8px; }
  .course-box .title {
    min-height: 52px;
    overflow: hidden;
    color: white; }
  .course-box .date {
    color: #3c3c3b !important;
    text-align: left; }
  .course-box .time {
    text-align: left; }
  .course-box .location {
    text-align: left; }
  .course-box .description {
    min-height: 60px;
    text-align: left;
    color: #3c3c3b;
    color: #3c3c3b !important; }
  .course-box .detail {
    text-align: left;
    min-height: 16px;
    color: #3c3c3b !important;
    padding-top: 4px;
    padding-bottom: 4px; }
  .course-box .price {
    text-align: left; }
  .course-box img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    align-self: center; }
  .course-box .callToAction .product-submit-intput {
    min-height: 26px;
    width: 100%;
    margin: auto;
    color: white;
    text-align: center;
    line-height: 34px; }

    .course-box-basel {
      background-color: rgba(234,215,136,0.95);      
    }    

    .course-box-basel .title {
      color: black;
    }

@media (max-width: 900px) {
  .products-grid,
  .press-grid,
  .courses-grid {
    grid-template-columns: 1fr 1fr; } }

@media (max-width: 700px) {
  section .course-content:first-child {
    margin-top: -250px;
  }

  .press-grid,
  .products-grid,
  .courses-grid {
    margin-top: 0;
    grid-template-columns: 1fr; }
  .product-category:nth-child(1) {
    margin-top: -212.5px; }
  .products-grid-in-category {
    margin-top: 0; }
  .products-grid,
  .press-grid {
    grid-template-columns: 1fr; }
  .frontpage-product {
    grid-template-columns: 1fr;
    margin-bottom: -250px; }
    .frontpage-product .product-box {
      grid-column: auto; } }

form {
  border: none; }

fieldset {
  border: none; }

.content ul li a {
  color: inherit;
  text-decoration: none; }

.contact-form-wrapper {
  background: #ddbfbf;
  padding: 15px; }

footer a {
  text-decoration: none !important; }

table.Cart {
  border-spacing: 0 16px;
  width: 100%; }
  table.Cart tr {
    color: white; }
  table.Cart tr:last-child {
    color: #3c3c3b; }
  table.Cart .title,
  table.Cart .price {
    font-weight: 600; }
  table.Cart label {
    font-style: italic; }
  table.Cart input[type="submit"] {
    color: inherit; }
  table.Cart input[type="number"] {
    padding-left: 4px;
    margin: 4px 0 10px;
    max-width: 50px; }
  table.Cart .aktualisieren {
    vertical-align: bottom;
    padding-bottom: 15px; }
  table.Cart tr:last-child td {
    padding-top: 40px;
    padding-bottom: 6px;
    font-weight: bold;
    border-bottom: 1px solid #000; }
  table.Cart #porto td {
    padding-top: 16px;
    color: #3c3c3b; }
  table.Cart .product-in-cart {
    padding: 8px 16px;
    width: 100%;
    margin-bottom: 16px; }
    @media (max-width: 750px) {
      table.Cart .product-in-cart {
        display: inline-grid; } }
@media (min-width: 800px) {
  .contact-form {
    margin-bottom: -230px;
    margin-top: -130px;
    position: relative;
    z-index: 10;
    margin-left: auto;
    margin-right: auto; }
  .contact-form-wrapper {
    margin-left: 50%;
    width: 100%; } }

.twocol {
  display: grid;
  grid-template-columns: 1fr 1fr; }
  @media (max-width: 700px) {
    .twocol {
      grid-template-columns: 1fr; } }
.CourseBookingForm input, .CourseBookingForm textarea {
  width: 100%;
  margin-top: 1em; }

#Form_ContactForm fieldset,
#Form_OrderForm fieldset {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 15px; }

#Form_ContactForm #Form_ContactForm_Title_Holder,
#Form_ContactForm #Form_ContactForm_Message_Holder,
#Form_ContactForm #Form_ContactForm_Captcha_Holder,
#Form_ContactForm #Form_ContactForm_Subject_Holder,
#Form_OrderForm #Form_ContactForm_Title_Holder,
#Form_OrderForm #Form_ContactForm_Message_Holder,
#Form_OrderForm #Form_ContactForm_Captcha_Holder,
#Form_OrderForm #Form_ContactForm_Subject_Holder {
  grid-column-start: 1;
  grid-column-end: 3; }

#Form_ContactForm input,
#Form_ContactForm textarea,
#Form_OrderForm input,
#Form_OrderForm textarea {
  width: 100%;
  box-sizing: border-box; }

#Form_ContactForm #Form_ContactForm_Subject_Holder input,
#Form_OrderForm #Form_ContactForm_Subject_Holder input {
  width: 100%; }

#Form_ContactForm #Form_ContactForm_Required_Holder,
#Form_OrderForm #Form_ContactForm_Required_Holder {
  grid-column-start: 1;
  grid-column-end: 3;
  text-align: right;
  font-style: italic;
  margin-top: -15px; }

#Form_ContactForm .Actions,
#Form_OrderForm .Actions {
  text-align: center; }
  #Form_ContactForm .Actions input,
  #Form_OrderForm .Actions input {
    font-style: normal;
    font-size: 18px;
    color: #fff; }

/*-------------
 	Cours boxes
-------------*/
.feedback .content {
  align-self: center;
  display: flex;
  column-gap: 8px;
  margin-bottom: 75px;
  flex-direction: column;
  max-width: 970px;
  width: 100%;
  justify-content: space-between;
  align-items: left; }
  .feedback .content .date {
    border-bottom: 1px solid #3c3c3b; }
  .feedback .content .text {
    padding-top: 8px;
    text-align: left; }

.feedback-content {
  padding-bottom: 40px; }

.feedback-form .big-box {
  margin-top: 0px;
  width: max-content;
  min-width: unset; }

div.pagination-content {
  border-top: 2px solid #3c3c3b;
  padding-top: 8px;
  margin: 8px; }
  div.pagination-content a {
    color: white;
    text-decoration: none; }
    div.pagination-content a strong {
      color: #3c3c3b;
      border-bottom: 0.5px solid #3c3c3b; }

/* form {
    background: $lightpink;
}*/
input,
button,
textarea {
  font-family: "Source Serif Pro", serif;
  font-style: italic;
  font-size: 15px;
  box-sizing: border-box; }
  input::placeholder,
  button::placeholder,
  textarea::placeholder {
    font-size: 15px; }

input[type="text"] {
  border: none;
  background: none;
  border-bottom: 1px solid #000;
  outline: none; }

textarea {
  background: none;
  border: 1px solid #fff;
  padding: 5px; }

#OrderForm {
  margin-top: 50px; }

#Form_CommentForm fieldset {
  display: grid;
  grid-row-gap: 15px;
  justify-content: center; }
  #Form_CommentForm fieldset div.text {
    text-align: center; }
  #Form_CommentForm fieldset input,
  #Form_CommentForm fieldset textarea {
    text-align: left;
    width: 100%; }

.warenkorb .formular-wrapper {
  display: grid;
  grid-template-columns: 2fr 3fr;
  grid-gap: 120px; }

.warenkorb .quotes-font {
  align-self: center;
  text-align: center; }

.warenkorb h2 {
  color: #fff;
  text-align: center;
  padding-bottom: 15px; }

.warenkorb #Form_OrderForm_Title_Holder,
.warenkorb #Form_OrderForm_Message_Holder {
  grid-column-start: 1;
  grid-column-end: 3; }

.warenkorb #Form {
  margin-left: auto;
  margin-right: 0;
  width: 100%; }

@media (max-width: 800px) {
  .warenkorb .formular-wrapper {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 40px; } }
