/*
Theme Name: Lernort-Bauernhof-Theme
Theme URI: https://www.farn.de
Author: FARN digital brand design
Author URI: https://www.farn.de
Version: 1.0.1
Text Domain: lernort-bauernhof-theme
*/

html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smooth: antialiased;
  text-rendering: optimizeLegibility;
  word-wrap: normal;
  font-variant-ligatures: common-ligatures;
  -webkit-font-feature-settings: "liga", "clig";
  -moz-font-feature-settings: "liga", "clig";
  font-feature-settings: "liga", "clig";
  -webkit-font-feature-settings: "liga", "lnum";
  -moz-font-feature-settings: "liga", "lnum";
  font-feature-settings: "liga", "lnum";
  position: relative;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  height: 100%;
  margin-top: 0 !important;
  overflow-x: hidden;
  font-size: 18px;
}
*,
*::before,
*::after {
  box-sizing: inherit;
}
body {
  margin: 0;
  padding: 0;
}

.entry-content {
  overflow: hidden;
  margin-block-start: 2rem;
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6 {
  hyphens: auto;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  color: inherit;
  text-decoration: none !important;
}

:root :where(p.has-background) {
  padding: 1rem 1.5rem;
}

/* Excerpt / Post Template */
.wp-block-post-title {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-family: var(--wp--preset--font-family--open-sans);
  color: var(--wp--preset--color--black);
  font-weight: 700;
  font-size: 1rem;
}
:where(.wp-block-post-excerpt) {
  margin-bottom: 0;
  margin-top: 1rem;
}
.wp-block-post-excerpt__more-text {
  margin: 0;
}
.wp-block-post-template .wp-block-paragraph a,
.wp-block-post-excerpt__more-link {
  margin-top: 0.44rem;
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--darkgreen);
  font-weight: 700;
}

/* Buttons */
.wp-block-buttons {
  gap: 2rem 1rem;
}
.wp-block-button__link.wp-element-button {
  transition: 0.3s ease;
  min-width: max-content;
  max-height: max-content;
}

.wp-block-button__link.wp-element-button:hover {
  filter: brightness(0.95);
}

/* Akkordeon */
.wp-block-accordion-heading {
  border-bottom: 1.5px solid var(--wp--preset--color--brown);
}

.wp-block-accordion-heading__toggle {
  gap: 0.5rem;
  padding: 0.75rem 0;
}
.wp-block-accordion-heading__toggle-title {
  font-family: var(--wp--preset--font-family--open-sans);
  font-weight: 700;
  font-size: 1rem;
}
.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
  text-decoration: none;
}
.wp-block-accordion-item.is-open > .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon {
  transform: rotate(-180deg);
}
.wp-block-accordion-panel {
  margin-block-start: 1rem;
}

/* header */
header {
  position: sticky;
  top: 0;
  z-index: 10;
  width: 100%;
  transition: box-shadow 0.3s;
}
header .wp-block-site-logo img {
  transition: width 0.3s ease-in-out;
}
header.scrolled {
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.15);
}
header.scrolled .wp-block-site-logo img {
  width: 90px;
}

.header-inner .wp-block-group:has(.wp-block-site-logo) {
  justify-content: space-between;
}

.logged-in header {
  top: var(--wp-admin--admin-bar--height);
}
.head-logo a {
  display: inline-block;
}
.head-logo img {
  margin: 14px 10px 14px 5vw;
}

/* Forms */
input,
select {
  width: 100%;
  background-color: #ffffff;
  border: 1px solid var(--wp--preset--color--grayish-green);
  font-family: var(--wp--preset--font-family--open-sans);
  padding: 0.5rem 1rem;
  border-radius: 50vw;
  font-size: 1rem;
}

input:focus,
select:focus,
input:focus-visible,
select:focus-visible {
  outline-color: var(--wp--preset--color--darkgreen);
}

input[type="text"],
select {
  padding: 0.667rem 0.889rem;
  border: 1px solid #d9d9d9;
  color: #000000;
  border-radius: 50vw;
  font-size: var(--wp--preset--font-size--small);
  background-color: #fff;
  width: 100%;
  line-height: 1.3;
}
input::placeholder {
  color: var(--wp--preset--color--grayish-green);
  font-size: var(--wp--preset--font-size--small);
}

select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M0.799805 0.800049L4.7998 4.80005L8.7998 0.800049' stroke='%23306D1F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.8rem center;
  padding-right: 2.5rem;
}

/* Padding & Margin Fix for Texts */
:where(h1, h2, h3, h4, h5, h6, .wp-block-heading) + p {
  margin-block-start: 1rem !important;
}

/* Table */
.wp-block-table {
  border-radius: 1.333rem;
}
.wp-block-table thead,
.wp-block-table tbody tr {
  border-bottom: 4px solid;
}
.wp-block-table tbody tr:last-of-type {
  border-bottom: none !important;
}

.wp-block-table thead th,
.wp-block-table tbody td {
  border: none !important;
  background: #fff;
  padding-inline: 1rem;
  padding-block: 0.75em;
}

.wp-block-table thead tr th:first-of-type,
.wp-block-table tbody tr td:first-of-type {
  padding-left: 1.5rem;
}

.wp-block-table thead tr th:last-of-type,
.wp-block-table tbody tr td:last-of-type {
  padding-right: 1.5rem;
}

.has-cream-background-color .wp-block-table thead,
.has-cream-background-color .wp-block-table tbody tr {
  border-color: var(--wp--preset--color--cream) !important;
}

.has-oat-background-color .wp-block-table thead,
.has-oat-background-color .wp-block-table tbody tr {
  border-color: var(--wp--preset--color--oat) !important;
}

/* Clumns fix */
.wp-block-columns {
  flex-wrap: wrap !important;
}
.wp-block-query .columns-4 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.wp-block-query .wp-block-post .wp-block-columns {
  height: -webkit-fill-available;
}
.wp-block-column > figure:not(.wp-block-post-featured-image):only-child {
  place-content: start;
}
.wp-container-core-columns-is-layout-d0163c67 {
  gap: 2rem;
}

/* widths */
.alignfull {
  margin-right: auto;
  margin-left: auto;
  width: 100%;
}
.alignwide {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.wp-block-cover.alignfull > .wp-block-cover__inner-container,
.wp-block-group.alignfull {
  width: 100%;
}
.entry-content > :not(.alignwide):not(.alignfull),
.wp-block-cover.alignfull > .wp-block-cover__inner-container > :not(.alignwide):not(.alignfull),
.wp-block-group.alignfull > :not(.alignwide):not(.alignfull) {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

/* paddings and margins for alignfull blocks */
.wp-block-group.alignfull.has-background,
.wp-block-cover.alignfull {
  padding: 3rem 0;
}
.entry-content > *:last-child:not(.alignfull) {
  margin-bottom: 3rem;
}

/* padding for background-color-boxes */
/*
.entry-content .wp-block-group.has-background:not(.alignfull), .wp-block-media-text.has-background .wp-block-media-text__content {
    padding:2em;
    box-sizing: border-box;
} */

/* cover-blocks */
.wp-block-cover.alignfull.has-custom-content-position {
  padding: 2rem !important;
}

/* Images */
figure.wp-block-image {
  display: grid;
  place-content: center;
}

.mh-150 img {
  max-height: 150px;
  width: auto;
}

/* Oversize & Offset */
figure.is-oversize {
  width: 100%;
  transform: translateX(0);
}

.is-offset-top-5 {
  margin-top: -5rem;
}

.is-offset-top-7 {
  margin-top: -7rem;
}

.is-140 {
  width: 140px;
  height: 140px;
  margin-inline: auto;
}

.is-half-right.alignwide {
  width: 90%;
  max-width: 100%;
  margin-right: 0;
}

.is-half-left.alignwide {
  width: 90%;
  max-width: 100%;
  margin-left: 0;
}

/* Metafield Styling */
.metafield[data-metafield-name="course_location"] {
  font-size: 0.667rem;
  color: #71717a;
}
.metafield[data-metafield-name="course_start-date"] {
  font-size: var(--wp--preset--font-size--small);
}

.metafield-gallery {
  display: grid;
  grid-template-columns: repeat(var(--gallery-columns, 1), minmax(0, 1fr));
  gap: 2rem;
  max-width: 100%;
}

.metafield-gallery img {
  max-width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 2rem;
}

.mitglied-template-default .wp-block-group > .wp-block-heading:last-of-type:where(:last-child) {
  display: none;
}

.mitglied-template-default .wp-block-columns:has(.wp-block-column:empty),
.partner-template-default .wp-block-columns:has(.wp-block-column:empty) {
  gap: 0 !important;
}

.mitglied-template-default
  .wp-block-columns:has(.wp-block-column > *[data-metafield-name="member_subheading"])
  > div:empty,
.partner-template-default
  .wp-block-columns:has(.wp-block-column > *[data-metafield-name="partner_subheading"])
  > div:empty {
  width: 0%;
  flex-basis: 0% !important;
}

/* Footer */
footer {
  margin-top: 0;
}
footer .alignwide {
  max-width: 1400px;
}
footer .wp-block-column {
  position: relative;
}
footer figure.is-deco {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  top: -2rem;
}
footer .wp-block-navigation ul:not(.wp-block-navigation__submenu-container) {
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 0rem !important;
}
footer ul li {
  margin-bottom: 0;
}
footer .wp-block-columns {
  margin-block-end: 0 !important;
}
footer .wp-block-navigation-item__content {
  font-size: 0.778rem;
}

footer .wp-block-group.has-darkgreen-background-color {
  font-weight: 700;
  font-size: 0.778rem !important;
}
footer .wp-block-group.has-darkgreen-background-color > * {
  justify-content: center;
}
footer .wp-block-group.has-darkgreen-background-color .wp-block-navigation-item__content,
footer .wp-block-group.has-darkgreen-background-color .wp-block-paragraph {
  color: inherit !important;
  padding: 0.75rem;
}

.logged-in {
  padding-top: var(--wp-admin--admin-bar--height);
}

/* Passwortschutz */
.post-password-form {
  max-width: 600px;
  padding-block: 5rem;
}

.post-password-form p:has(label + input) {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.post-password-form label {
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--grayish-green);
}

.post-password-form input[type="submit"] {
  background-color: var(--wp--preset--color--lightgreen);
  border-width: 0;
  color: var(--wp--preset--color--black);
  font-family: var(--wp--preset--font-family--playpen-sans);
  font-size: var(--wp--preset--font-size--medium);
  font-style: normal;
  font-weight: 600;
  letter-spacing: inherit;
  line-height: 1;
  padding-top: calc(0.667em + 2px);
  padding-right: calc(1.333em + 2px);
  padding-bottom: calc(0.667em + 2px);
  padding-left: calc(1.333em + 2px);
  text-decoration: none;
  text-transform: inherit;
}

.post-password-form input[type="submit"]:hover {
  filter: brightness(0.95);
}

/* media queries -------------------------------------------------------------------------------------------------------------------------------------------- */
@media (max-width: 989px) {
  header .wp-block-column:has(.wp-block-site-logo) {
    flex-basis: calc(50% - 1.5rem) !important;
  }

  header .wp-block-image.wp-block-hidden-desktop {
    margin-block-start: 0;
    height: 100%;
    place-content: start;
  }

  header .wp-block-image.wp-block-hidden-desktop img {
    min-height: 60px;
  }

  .wp-container-core-columns-is-layout-e64a41bc > .wp-block-column:first-of-type {
    flex-basis: 70% !important;
  }

  .wp-container-core-columns-is-layout-e64a41bc > .wp-block-column:last-of-type {
    flex-basis: 100% !important;
  }
  footer .wp-block-site-logo {
    display: flex;
    justify-content: center;
  }
}

@media (max-width: 781px) {
  .wp-block-group {
    --wp--preset--spacing--three: 2.5rem;
    --wp--preset--spacing--four: 2.5rem;
  }
  .wp-block-columns .wp-block-columns.is-not-stacked-on-mobile {
    flex-wrap: wrap !important;
  }
  .wp-block-columns .wp-block-columns .wp-block-column {
    flex-basis: calc(50% - 3rem) !important;
    flex-grow: 1;
  }

  .wp-block-columns.wp-container-core-columns-is-layout-d065d462 > .wp-block-column {
    flex-basis: 100% !important;
  }

  /* Footer */
  footer .wp-block-social-links {
    justify-content: center;
  }
}

@media (max-width: 419px) {
  .wp-block-columns .wp-block-columns .wp-block-column {
    flex-basis: 100% !important;
    flex-grow: 1;
  }
}

@media only screen and (min-width: 600px) {
  /* Clumns fix */
  .wp-block-query .columns-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media only screen and (min-width: 990px) {
  .header-inner {
    margin: 0 auto;
  }
  .head-logo img {
    margin: 21px 10px 22px 30px;
    width: 230px !important;
  }

  /* cover-blocks */
  .wp-block-cover.alignfull.has-custom-content-position {
    padding: 8rem !important;
  }

  /* Oversize & Offset */
  figure.is-oversize {
    width: calc(100% + 20vw);
  }

  .wp-block-columns .wp-block-column:first-child figure.is-oversize {
    transform: translateX(-20vw);
  }

  .wp-block-group:has(.wp-block-column > figure.is-oversize) {
    padding: 0 !important;
    margin-block: 5rem;
  }

  .wp-block-group:has(.wp-block-column > figure.is-oversize) .wp-block-column:not(:has(figure.is-oversize)) {
    padding: 2rem 0 !important;
  }

  /* paddings and margins for alignfull blocks */
  .wp-block-group.alignfull.has-background,
  .wp-block-cover.alignfull {
    padding: 5rem 0;
  }
  .entry-content {
    margin-block-start: 0;
  }
  .entry-content > *:last-child:not(.alignfull) {
    margin-bottom: 5rem;
  }

  /* Clumns fix */
  .wp-block-query .columns-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .wp-block-columns,
  .wp-container-core-columns-is-layout-d065d462 {
    flex-wrap: nowrap !important;
  }
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 0;
    flex-grow: 1;
  }
  .wp-block-column:has(> figure:not(.wp-block-post-featured-image):only-child) img {
    max-height: unset;
  }
  .wp-block-column > figure:not(.wp-block-post-featured-image):only-child {
    place-content: center;
  }
  .wp-container-core-columns-is-layout-d0163c67 {
    gap: 3rem;
  }
  .wp-container-core-columns-is-layout-d0163c67 .wp-block-column {
    flex-basis: 0;
    flex-grow: 1;
  }

  /* Footer */

  footer .wp-block-group.has-darkgreen-background-color > * {
    justify-content: space-between;
  }
}

/* special media query for content width plus 10vw */
@media only screen and (min-width: calc(1200px + 10vw)) {
}

/* Hide on Devices Header Fix */
@media (width < 990px) {
  header .wp-block-site-logo.wp-block-hidden-tablet {
    display: none !important;
  }
}

@media (width > 782px) {
  header .wp-block-hidden-desktop {
    display: grid !important;
  }
}

@media (width > 989px) {
  header .wp-block-hidden-desktop {
    display: none !important;
  }
}
