/*
Theme Name: Citizens Forests Theme
Theme URI: https://www.citizens-forests.org
Author: FARN digital brand design
Author URI: https://www.farn.de
Version: 1.0.1
Text Domain: citizens-forests-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;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

::selection {
  background-color: #dfeddc;
}

body {
  margin: 0;
  padding: 0;
}

/* Headings */
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  color: inherit;
  text-decoration: none !important;
}
p:empty {
  display: none;
}
/* header */
.wp-site-blocks header {
  top: 0;
  z-index: 10;
  width: 100%;
  transition: box-shadow 0.3s;
  transition: 0.1s;
}

.wp-site-blocks header.active {
  background-color: #f9fcf5;
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.15);
}

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

.head-logo a {
  display: inline-block;
}

.head-logo img {
  margin: 10px 5vw;
}

/* menu */
.wp-block-navigation {
  flex-direction: column;
  width: 100%;
  align-items: flex-start;
}

.wp-block-navigation:not(.has-text-color) .wp-block-navigation__submenu-container {
  color: var(--wp--preset--color--dunkelgruen);
}

.wp-block-navigation ul:not(.wp-block-navigation__submenu-container) {
  gap: 0;
  flex-direction: column;
}

.wp-block-navigation .wp-block-navigation-item {
  width: 100%;
}

.wp-block-navigation ul:not(.wp-block-navigation__submenu-container) > li.has-child {
  flex-wrap: wrap;
  justify-content: center;
}

.wp-block-navigation ul > li > a {
  padding: 1rem 5vw 1rem 5vw;
  width: 100%;
  border-top: 2px solid #e4efe4;
  font-weight: 600;
}

.wp-block-navigation ul:not(.wp-block-navigation__submenu-container) > li.has-child > a {
  padding: 1rem 5vw 1rem 5vw;
}

.wp-block-navigation
  ul:not(.wp-block-navigation__submenu-container)
  > li.has-child
  > .wp-block-navigation__submenu-icon
  svg
  path {
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.wp-block-navigation ul.wp-block-navigation__submenu-container {
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  border: none !important;
  padding: 0;
  position: relative !important;
}

.wp-block-navigation ul.wp-block-navigation__submenu-container > li > a {
  padding: 0.9rem 9vw 1.1rem !important;
  font-size: 0.95em;
  font-family: "PT Sans", sans-serif;
}

.wp-block-navigation ul {
  border-bottom: 2px solid #e4efe4;
}

.wp-block-navigation ul.wp-block-navigation__submenu-container > li:last-child > a {
  border-bottom: none;
}

.wp-block-navigation .wp-block-navigation__submenu-icon {
  width: 29px;
  height: 58px;
  margin: 0;
  box-sizing: content-box;
  position: absolute;
  right: 0;
  padding: 0 5vw 0 20px;
  z-index: 100;
  align-self: start;
}

.wp-block-navigation .wp-block-navigation__submenu-icon svg {
  height: 16px;
  margin-top: 0;
}

.wp-block-navigation-item__content:hover {
  color: var(--wp--preset--color--gruen) !important;
}

.wp-block-navigation .wp-block-buttons {
  margin-left: 5vw;
  margin-bottom: 25px;
}

@media only screen and (max-width: 989px) {
  /* HOVER DISABLE */
  .wp-block-navigation-submenu__toggle.visible svg {
    transform: rotate(180deg);
  }

  .wp-block-navigation-item.wp-block-navigation-submenu:hover > ul {
    display: none;
  }

  .wp-block-navigation-submenu__toggle.visible + ul {
    display: block;
  }
}

.burgerbutton-menu nav:nth-child(2) a,
.burgerbutton-menu nav:nth-child(4) a {
  font-weight: normal;
}

.zweitnavigation > li:first-child > a {
  border-top: 0;
}

/* widths */
.alignfull {
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  margin-top: 3rem;
}

.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),
.wp-site-blocks > .wp-block-group > :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;
}

.alignfull + * {
  margin-top: 3rem;
}

.alignfull + .alignfull,
.alignfull + footer {
  margin-top: 0 !important;
}
.entry-content > *:first-child:not(.alignfull) {
  margin-top: 2rem;
}
.entry-content > *:last-child:not(.alignfull) {
  margin-bottom: 3rem;
}
.single .entry-content > *:last-child:not(.alignfull) {
  margin-bottom: 0;
}

/* columns */
.entry-content > .wp-block-columns:first-child {
  gap: 1.5rem 3rem;
  margin-bottom: 4rem;
}
.entry-content > .wp-block-media-text {
  margin-bottom: 4rem;
}
.wp-block-column.is-vertically-aligned-stretch .wp-block-group {
  height: 100%;
}

/* 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;
}

/* Startslider */
.startslider {
  padding: 0 !important;
}

/* Images */
.entry-content img {
  border-radius: 20px;
}
.entry-content .wp-block-cover > img,
.entry-content .wp-block-image.is-style-icon > img {
  border-radius: 0;
}
.wp-block-image.is-style-rounded img {
  border-radius: 57% 46% 53% 47%;
}

/* List */
.wp-block-list > li {
  list-style: none;
  margin-bottom: 14px;
  position: relative;
}

.wp-block-list > li::before {
  content: "";
  width: 6px;
  height: 6px;
  background-color: var(--wp--preset--color--gruen);
  display: block;
  border-radius: 5px;
  position: absolute;
  left: -1.5rem;
  top: 0.6rem;
}

/* queries */
.wp-block-query .wp-block-post.type-post .wp-block-post-featured-image,
.wp-block-query .wp-block-post.type-pflanzaktion .wp-block-post-featured-image {
  flex: 0 0 140px;
}

/*. details block */
.wp-block-details summary {
  font-weight: bold;
  font-size: 1.3rem;
}
.wp-block-details > *:not(summary) {
  margin-left: 1.2rem;
}
.wp-block-details[open=""] {
  margin-bottom: 3rem;
}
.wp-block-details p + p {
  margin-top: 0.5rem;
}

/* Zitate */
.wp-block-quote {
  margin: 0;
}
.wp-block-quote p {
  font-family: var(--wp--preset--font-family--terfens);
  font-weight: 700;
  color: var(--wp--preset--color--gruen);
  font-size: 1.5rem;
  line-height: 1.2;
}
cite {
  font-style: normal;
  font-size: 1.05rem;
  margin-top: 1rem !important;
}

/* Team */
.wp-block-post.team:has(h3.has-text-align-center) {
  text-align: center;
}
.metafield:has(span[data-key="team_quote"]) {
  font-family: var(--wp--preset--font-family--terfens);
  font-weight: 700;
}

.metafield:has(span[data-key="team_title"]) {
  font-size: 1.05rem;
}

/* Akkordeon */
.wp-block-accordion {
  margin-bottom: 3rem;
}
.wp-block-accordion-item {
  margin-top: 0;
  border-bottom: 2px solid #d9e9d6;
}
.wp-block-accordion-heading {
  font-size: 1.2rem;
}
.wp-block-accordion-heading button {
  padding: 1rem 0;
}
.wp-block-accordion-heading__toggle:hover span {
  text-decoration: none !important;
  color: var(--wp--preset--color--gruen);
}
.wp-block-accordion-panel {
  margin-top: 0.5rem;
  margin-bottom: 1.5rem !important;
}

/* media-text block */
.wp-block-media-text.has-media-on-the-right > .wp-block-media-text__content {
  padding-left: 0;
}
.wp-block-media-text.has-media-on-the-left > .wp-block-media-text__content {
  padding-right: 0;
}

/* inputs */
input,
textarea,
select {
  padding: 0.8rem 1rem;
  border-radius: 10px;
  background-color: var(--wp--preset--color--hellgruen);
  color: var(--wp--preset--color--dunkelgruen);
  font-size: 1.1rem;
  font-family: "PT Sans", sans-serif;
  width: 100%;
  border: none;
}
.has-hellgruen-background-color input,
.has-hellgruen-background-color textarea,
.has-hellgruen-background-color select,
.vv-registration input,
.vv-registration textarea,
.vv-registration select {
  background-color: #f9fcf5;
}
input:focus,
textarea:focus,
select:focus {
  outline: 2px solid var(--wp--preset--color--gruen);
}
input[type="submit"],
input[type="button"] {
  border-radius: 14px;
  font-style: normal;
  font-weight: 700;
  background-color: var(--wp--preset--color--gruen);
  color: white;
  padding: calc(0.667em + 2px) calc(1.333em + 2px);
  font-family: inherit;
  font-size: 17px;
  line-height: inherit;
  border-width: 0;
  text-decoration: none;
  width: auto;
  font-family: var(--wp--preset--font-family--terfens);
}
input[type="submit"]:hover,
input[type="button"]:hover {
  background-color: var(--wp--preset--color--dunkelgruen);
}

input[type="radio"] {
  width: auto;
  margin-right: 0.5rem;
  accent-color: var(--wp--preset--color--gruen);
}
input[type="radio"]:focus {
  outline: none;
}

input[type="text"].short {
  max-width: 100px;
}

input[type="file"] {
  padding: 0.5rem 0;
  background-color: transparent;
}
input[type="file"]::file-selector-button {
  border: 2px solid var(--wp--preset--color--gruen);
  color: var(--wp--preset--color--gruen);
  padding: 0.2rem 0.8rem;
  border-radius: 8px;
  background-color: transparent;
  transition: 0.3s;
  font-weight: 600;
  margin-right: 1rem;
}
input[type="file"]::file-selector-button:hover {
  color: var(--wp--preset--color--dunkelgruen);
  border-color: var(--wp--preset--color--dunkelgruen);
}

select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' aria-hidden='true' focusable='false'%3E%3Cpath d='M1.50002 4L6.00002 8L10.5 4' stroke-width='1.5' stroke='black'%3E%3C/path%3E%3C/svg%3E") !important;
  background-position: right 20px center !important;
  background-repeat: no-repeat !important;
}

.wpcf7-form br + label {
  margin-top: 10px;
  display: inline-block;
  width: 100%;
}
.wpcf7-form label input[type="text"],
.wpcf7-form label textarea {
  margin-top: 5px;
}
.wpcf7-list-item.first {
  margin-left: 0 !important;
}

.wpcf7-form h4 {
  margin-bottom: 5px;
}
.wpcf7-form h4 + p {
  margin-top: 0;
}
.wpcf7-form td p:first-child {
  margin-top: 10px;
}
.wpcf7-form td p:last-child {
  margin-bottom: 0;
}

/* Webseiten Connector CSS Fix */
.wp-block-columns .wsc-card-grid {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.wsc-card {
  display: flex;
  font-family: var(--wp--preset--font-family--pt-sans);
  background-color: var(--wp--preset--color--hellviolett) !important;
  border: 0;
}

.wsc-card-image {
  aspect-ratio: 1;
  width: 140px;
  flex: 0 0 140px;
  border-radius: 20px 0 0 20px;
  overflow: hidden;
}

.wsc-card-image img {
  border-radius: 0 !important;
}

.wsc-card-body {
  padding-top: var(--wp--preset--spacing--one);
  padding-right: var(--wp--preset--spacing--two);
  padding-bottom: var(--wp--preset--spacing--one);
  padding-left: var(--wp--preset--spacing--two);
}

.wsc-card-body time {
  color: #000;
  font-size: 19px;
}

.wsc-card-body h3 {
  margin-top: 0.5rem;
  margin-bottom: 0;
}

.wsc-card-body h3 a {
  color: var(--wp--preset--color--dunkelviolett);
}

.wsc-card-body p {
  display: none;
}

.wsc-card-body .wsc-more {
  display: block;
  margin-top: 0.5rem;
  color: var(--wp--preset--color--dunkelviolett);
  text-decoration: none;
}

/* Veranstaltungen Fix */
.vv-filter {
  background-color: transparent !important;
  padding: 0 !important;
  border: 0;
  margin-block-start: 24px;
  gap: 1em;
}

.vv-filter label {
  margin-block-start: 1em;
}

.vv-filter select {
  padding: 0.8rem 1rem;
  border-radius: 10px;
  background-color: var(--wp--preset--color--hellgruen);
  color: var(--wp--preset--color--dunkelgruen);
  font-size: 1.1rem;
  font-family: "PT Sans", sans-serif;
  width: 100%;
  border: none;
}

.vv-button {
  border-radius: 14px;
  font-style: normal;
  font-weight: 700;
  background: transparent;
  border: 3px solid var(--wp--preset--color--gruen) !important;
  color: var(--wp--preset--color--gruen) !important;
  box-shadow: none;
  padding: calc(0.667em + 2px) calc(1.333em + 2px);
  font-family: inherit;
  font-size: 17px;
  line-height: inherit;
  border-width: 0;
  text-decoration: none;
  width: auto;
  font-family: var(--wp--preset--font-family--terfens);
  margin-block-end: 1em;
}

.vv-button:hover,
.vv-button:focus {
  transform: none;
  border: 3px solid var(--wp--preset--color--gruen) !important;
  color: var(--wp--preset--color--gruen) !important;
  background: transparent;
  box-shadow: none;
  text-decoration: none;
}

.vv-card,
.vv-registration,
.vv-map {
  box-shadow: none;
  background: var(--wp--preset--color--hellgruen);
  border: none;
}

.vv-card:hover {
  transform: none;
  box-shadow: none;
  border: none;
}

.vv-card img {
  border-radius: 20px 20px 0 0;
}

.vv-card h3 {
  margin: 0;
}

.vv-details--compact,
.vv-card-capacity {
  margin-block: 0.5em;
}

/* Newsletter form */
div.tnp-subscription,
form.tnp-subscription,
form.tnp-profile {
  max-width: none !important;
}
.tnp-subscription label,
.tnp-profile label {
  font-weight: bold !important;
}
.tnp-subscription input[type="text"],
.tnp-subscription input[type="email"],
.tnp-subscription select,
.tnp-subscription textarea,
.tnp-profile input[type="text"],
.tnp-profile input[type="email"],
.tnp-profile select,
.tnp-profile textarea {
  background-color: var(--wp--preset--color--hellgruen) !important;
}
.tnp-subscription input[type="submit"],
.tnp-profile input[type="submit"] {
  background-color: var(--wp--preset--color--gruen) !important;
}

/* Footer */
footer {
  font-size: 1rem;
}
footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

footer ul li {
  margin-bottom: 7px;
}

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

/* media queries -------------------------------------------------------------------------------------------------------------------------------------------- */
@media only screen and (min-width: 600px) {
}

@media only screen and (min-width: 990px) {
  body {
    font-size: 19px !important;
  }

  .header-inner {
    margin: 0 auto;
    max-width: 1400px;
    gap: 2rem;
    align-items: flex-end;
  }

  .header-inner .burgerbutton-menu {
    flex: 1 1 auto;
    display: grid;
    grid-template: "1fr 1fr" "1fr 1fr";
  }

  .header-inner .burgerbutton-menu > nav:last-child .wp-block-navigation__container + .wp-block-buttons {
    margin-left: auto;
  }

  .head-logo img {
    margin: 21px 10px 17px 30px;
    width: 110px !important;
  }

  .burgerbutton-menu .acf-innerblocks-container {
    display: grid;
    grid-template-areas:
      "auto auto"
      "auto auto";
  }
  nav.zweitnavigation {
    order: 1;
  }
  header .wp-block-buttons {
    order: 2;
  }
  nav.hauptnavigation {
    order: 3;
  }
  nav.zusatzmenue {
    order: 4;
  }

  /* main menu */
  .wp-block-navigation {
    flex-direction: row;
    width: auto;
  }

  .wp-block-navigation .wp-block-navigation-item {
    width: auto;
  }

  .wp-block-navigation ul {
    border: 0;
  }

  .wp-block-navigation ul > li > a {
    padding: 11px 15px;
    border: 0;
  }

  .wp-block-navigation ul:not(.wp-block-navigation__submenu-container) {
    flex-direction: row;
  }

  .wp-block-navigation ul:not(.wp-block-navigation__submenu-container) > li.has-child {
    flex-wrap: nowrap;
    justify-content: center;
  }

  .wp-block-navigation ul:not(.wp-block-navigation__submenu-container) > li.has-child > a {
    padding: 11px 2px 11px 15px;
    border: 0;
  }

  .wp-block-navigation ul.wp-block-navigation__submenu-container {
    left: -6px !important;
    right: auto !important;
    width: auto !important;
    -webkit-box-shadow: 0px 10px 30px -10px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0px 10px 30px -10px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 10px 30px -10px rgba(0, 0, 0, 0.1);
    padding: 0;
    min-width: 260px !important;
    position: absolute !important;
    border-radius: 16px;
    background-color: transparent !important;
  }

  .wp-block-navigation ul.wp-block-navigation__submenu-container > li {
    background-color: #fff;
  }
  .wp-block-navigation ul.wp-block-navigation__submenu-container > li:first-child {
    border-radius: 16px 16px 0 0;
  }
  .wp-block-navigation ul.wp-block-navigation__submenu-container > li:last-child {
    border-radius: 0 0 16px 16px;
  }

  .wp-block-navigation-submenu:hover > a {
    color: var(--wp--preset--color--gruen) !important;
  }

  .wp-block-navigation .wp-block-navigation__submenu-icon {
    position: relative;
    padding: 0 9px 0 0;
    width: 24px;
    height: 48px;
  }

  .wp-block-navigation .wp-block-navigation__submenu-icon svg {
    height: 13px;
    margin-top: -2px;
  }

  .wp-block-navigation-submenu:hover > button > svg > path {
    color: var(--wp--preset--color--gruen);
  }

  .wp-block-navigation ul.wp-block-navigation__submenu-container > li {
    border-bottom: 2px solid #e4efe4;
  }
  .wp-block-navigation ul.wp-block-navigation__submenu-container > li:last-child {
    border-bottom: none;
  }
  .wp-block-navigation ul.wp-block-navigation__submenu-container > li > a {
    padding: 15px 22px 16px !important;
    font-size: 0.9em;
  }

  .wp-block-navigation
    ul:not(.wp-block-navigation__submenu-container)
    > li.has-child
    > .wp-block-navigation__submenu-icon
    svg
    path {
    stroke-width: 2.5;
  }

  .wp-block-navigation ul.wp-block-navigation__submenu-container ul.wp-block-navigation__submenu-container {
    left: 100% !important;
  }

  .wp-block-navigation .wp-block-buttons {
    margin-left: 0;
    margin-bottom: 0;
  }

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

  /* paddings and margins for alignfull blocks */
  .alignfull {
    margin-top: 6rem;
  }

  .wp-block-group.alignfull.has-background,
  .wp-block-cover.alignfull {
    padding: 6rem 0;
  }

  .alignfull + * {
    margin-top: 6rem;
  }

  .entry-content > *:last-child:not(.alignfull) {
    margin-bottom: 6rem;
  }
  .single .entry-content > *:last-child:not(.alignfull) {
    margin-bottom: 0;
  }
  /*
	.entry-content {
		min-height: calc(100vh - 142px - 151px);
	}

	.logged-in .entry-content {
		min-height: calc(100vh - 142px - 151px - var(--wp-admin--admin-bar--height));
	} */
}

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

@media only screen and (max-width: 989px) {
  .burgerbutton-menu nav:nth-child(2) ul,
  .burgerbutton-menu nav:nth-child(4) ul {
    flex-direction: row;
    justify-content: center;
    border: 0;
  }
  .burgerbutton-menu nav:nth-child(2) ul .wp-block-navigation-item,
  .burgerbutton-menu nav:nth-child(4) ul .wp-block-navigation-item {
    width: auto;
  }
  .burgerbutton-menu nav:nth-child(2) ul a,
  .burgerbutton-menu nav:nth-child(4) ul a {
    border: 0;
    padding: 1.3rem 0.8rem 1.3rem 0.8rem;
  }
  header .wp-block-buttons {
    justify-content: center !important;
  }
}
