/*
Theme Name: Alexandra Geese // Hello Elementor Child
Description: websplash | Agentur für Internet und Mediendesign
Author: websplash // Sebastian Driefmeier
Author URI: https://websplash.de/
Template: hello-elementor
Version: 1.8
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/


/*ROOT FONT SIZE*/
html{
  font-size: 18px;
  overflow-x: hidden !important;
}

.page-content p a,
.page-content li a,
#breadcrumbs a{
  color: var(--e-global-color-text);
  text-decoration: underline !important;
}
.page-content p a:hover,
.page-content li a:hover,
#breadcrumbs a:hover{
  color: var(--e-global-color-e537040);
  text-decoration: underline;
}

#breadcrumbs a:not(.breadcrumb_last){
  font-weight: normal;
}

.elementor-widget-text-editor p:last-of-type,
.elementor-widget-theme-post-content p:last-of-type {
  /* to remove margin of last p in text widget */
  margin-bottom:0;
}

.websplash input {
  /* to hide weird shadow on some iOS input fields */
  outline:0!important;
}

.websplash .elementor-field-option input[type="checkbox"],
.websplash .elementor-field-option input[type="radio"] {
  /* align fields middle */
  vertical-align: middle;
}

input[type="date"] {
  /* iOS datefield fix */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.websplash .elementor-field-option label {
  /* pointer cursor for labels of options (checkbox etc.) */
  cursor: pointer;
}

.websplash input[type="checkbox"] {
  /* fix iOS Bug if label is too long not to shrink the input */
  min-width:20px;
}

.websplash  .elementor-field-group .elementor-field-textual:focus {
  /* to not focus fields with border on hover */
  box-shadow:none;
  outline: 0;
}

/* hover effect for icons in buttons */
.elementor-widget-button a.elementor-button .elementor-button-icon {
  -webkit-transition: left 0.2s ease-in;
  -moz-transition: left 0.2s ease-in;
  -o-transition: left 0.2s ease-in;
  -ms-transition: left 0.2s ease-in;
  transition: left 0.2s ease-in;
  left:0;
  position: relative;
}
.elementor-widget-button a.elementor-button:hover .elementor-align-icon-right {
  left:10px;
}

/* align the acceptence form checkbox in a way, that it stay left, even the label text is multiple lines long */
.elementor-field-type-acceptance .elementor-field-option {
  display:flex;
  align-items: flex-start;
  flex-wrap: nowrap;
}
.elementor-field-type-acceptance .elementor-field-option input {
  top: 7px;
  position: relative;
}
.elementor-field-type-acceptance .elementor-field-option label {
  padding-left:10px;
}

.elementor-select-wrapper select:focus {
  box-shadow:none;
}

.elementor-select-wrapper select option {
  color: var(--e-global-color-text);
}

/* hide recaptcha badge if active */
.grecaptcha-badge { visibility: hidden; }

.elementor-video {
  /* fix height issue, after video has been unblocked by borlabs cookie banner */
  height:100%;
}

/* style pw form on page pw protection at least a little bit nicer per default */
body.elementor-page form.post-password-form {
  display: flex;
  padding: 40px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex-wrap: wrap;
  height: 100vh;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  background: #eee;
}


/*HEADER MENU*/

.menu-btn {
  width: 50px;
  height: 50px;
  border: none;
  background: transparent;
  cursor: pointer;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  padding: 0;
}

.menu-btn span {
  display: block;
  width: 40px;
  height: 5px;
  background: #222;
  border-radius: 0;
  margin: 0 auto;
  transition: transform 0.35s ease,
  opacity 0.25s ease,
  background-color 0.3s ease;
}

/* Top bar */
.menu-btn.active span:nth-child(1) {
  transform: translateY(11px) rotate(45deg);
}

/* Middle bar */
.menu-btn.active span:nth-child(2) {
  opacity: 0;
}

/* Bottom bar */
.menu-btn.active span:nth-child(3) {
  transform: translateY(-11px) rotate(-45deg);
}

/*MAIN MENU IN OFF CANVAS*/

.main-menu .elementor-nav-menu--main .elementor-item {
  display: inline-block;
  width: auto;
}

.main-menu .e--pointer-underline .elementor-item::after {
  left: 0;
  right: 0;
  width: auto;
  bottom: 5px;
  z-index: -1;
  transform: translateY(-10px);
}


/*SEARCH*/

/* Main widget wrapper */

/*.expand-search {
  display: flex;
  justify-content: flex-end;
}

.expand-search .e-search {
  display: block;
}

.expand-search .e-search-form {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 42px;
  overflow: visible;
  transition: width 0.35s ease;
}

.expand-search.is-open .e-search-form {
  width: 300px;
}

.expand-search .e-search-input-wrapper {
  width: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transition:
          width 0.35s ease,
          opacity 0.25s ease;
}

.expand-search.is-open .e-search-input-wrapper {
  width: 250px;
  opacity: 1;
  pointer-events: auto;
}

.expand-search .e-search-input {
  width: 250px;
  max-width: 250px;
  min-width: 250px;
  box-sizing: border-box;
}

.expand-search .e-search-submit {
  width: 42px;
  min-width: 42px;
  height: 42px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background-color: transparent;
}

.expand-search:not(.is-open) .e-search-results-container {
  display: none;
}

.expand-search {
  --e-search-submit-icon-size: 35px;
  --e-search-icon-size: 35px;
}

.expand-search .e-search-submit {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 0 !important;
  line-height: 1 !important;

  color: #000;
}

.expand-search .e-search-submit > svg {
  width: 35px !important;
  height: 35px !important;
  min-width: 35px !important;
  min-height: 35px !important;
  max-width: none !important;
  max-height: none !important;

  display: block !important;
  flex: 0 0 35px !important;

  fill: currentColor !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.expand-search .e-search-submit > svg path {
  fill: #000000 !important;
}
.expand-search .e-search-submit:hover > svg path {
  fill: #990000 !important;
}*/

/* FORM */

.expand-search {
  display: flex;
  justify-content: flex-end;

  --search-width: 340px;
  --input-width: 290px;

  --icon-size: 30px;

  --icon-closed: #000000;
  --icon-open: #A8C88F;
  --icon-hover: #7DA86D;

  --line-color: #B8CEA8;
}

.expand-search .e-search-form {
  display: flex;
  align-items: center;
  justify-content: flex-end;

  width: 42px;
  overflow: visible;

  transition: width .35s ease;

  /* keeps height identical in both states */
  border-bottom: 2px solid transparent;
}

.expand-search.is-open .e-search-form {
  width: var(--search-width);
  border-bottom-color: var(--line-color);
}

.expand-search .e-search-form:focus-within {
  border-bottom-color: var(--icon-hover);
}

.expand-search .e-search-input-wrapper {
  flex: 1;
  width: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;

  transition:
          width .35s ease,
          opacity .25s ease;
}

.expand-search.is-open .e-search-input-wrapper {
  width: var(--input-width);
  opacity: 1;
  pointer-events: auto;
}

.expand-search .e-search-input {
  width: 100%;
  min-width: 0;
  max-width: none;

  padding: 10px 0;

  background: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;

  font-size: 22px;
  font-style: italic;
  font-weight: 300;
  line-height: 1.4;
  color: #666;

  padding-bottom: 0px !important;
  padding-top: 0px !important;
}

.expand-search .e-search-input::placeholder {
  color: #8C8C8C;
  opacity: 1;
}

/* Remove browser search styling */
.expand-search input[type="search"]::-webkit-search-decoration,
.expand-search input[type="search"]::-webkit-search-cancel-button,
.expand-search input[type="search"]::-webkit-search-results-button,
.expand-search input[type="search"]::-webkit-search-results-decoration {
  display: none;
}

.expand-search .e-search-submit {
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;

  display: flex !important;
  align-items: center;
  justify-content: center;

  margin: 0;
  padding: 0 !important;

  background: transparent !important;
  border: none !important;

  opacity: 1 !important;
  visibility: visible !important;

  cursor: pointer;
}

/* SVG */

.expand-search .e-search-submit svg {
  display: block;

  width: var(--icon-size) !important;
  height: var(--icon-size) !important;

  min-width: var(--icon-size) !important;
  min-height: var(--icon-size) !important;
}

/* Closed icon */
.expand-search .e-search-submit svg path {
  fill: var(--icon-closed);
  transition: fill .25s ease;
}

/* Closed hover */
.expand-search:not(.is-open) .e-search-submit:hover svg path {
  fill: var(--icon-hover);
}

/* Open icon */
.expand-search.is-open .e-search-submit svg path {
  fill: var(--icon-open);
}

/* Open hover */
.expand-search.is-open .e-search-submit:hover svg path {
  fill: var(--icon-hover);
}

.expand-search:not(.is-open) .e-search-results-container {
  display: none;
}


/*SEARCH FORM - NON EXPANDABLE*/

/* ==========================================================
   STANDARD SEARCH
   (same look as expanded search)
   ========================================================== */

.styled-search {
  width: 100%;

  --icon-size: 30px;

  --icon-color: #A8C88F;
  --icon-hover: #7DA86D;

  --line-color: #B8CEA8;
}

/* ----------------------------------------------------------
   FORM
---------------------------------------------------------- */

.styled-search .e-search-form {
  display: flex;
  align-items: center;
  width: 100%;

  border-bottom: 2px solid var(--line-color);
}

.styled-search .e-search-form:focus-within {
  border-bottom-color: var(--icon-hover);
}

/* ----------------------------------------------------------
   INPUT
---------------------------------------------------------- */

.styled-search .e-search-input-wrapper {
  flex: 1;
}

.styled-search .e-search-input {
  width: 100%;

  padding: 10px 0;

  background: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;

  font-size: 22px;
  font-style: italic;
  font-weight: 300;
  line-height: 1.4;
  color: #666;

  padding-bottom: 0px !important;
  padding-top: 0px !important;
}

.styled-search .e-search-input::placeholder {
  color: #8C8C8C;
  opacity: 1;
}

/* Remove browser search styling */
.styled-search input[type="search"]::-webkit-search-decoration,
.styled-search input[type="search"]::-webkit-search-cancel-button,
.styled-search input[type="search"]::-webkit-search-results-button,
.styled-search input[type="search"]::-webkit-search-results-decoration {
  display: none;
}

/* ----------------------------------------------------------
   BUTTON
---------------------------------------------------------- */

.styled-search .e-search-submit {
  width: 42px;
  height: 42px;
  min-width: 42px;

  display: flex;
  align-items: center;
  justify-content: center;

  margin: 0;
  padding: 0 !important;

  background: transparent !important;
  border: none !important;

  cursor: pointer;
}

/* SVG */

.styled-search .e-search-submit svg {
  display: block;

  width: var(--icon-size);
  height: var(--icon-size);
}

.styled-search .e-search-submit svg path {
  fill: var(--icon-color);
  transition: fill .25s ease;
}

.styled-search .e-search-submit:hover svg path {
  fill: var(--icon-hover);
}



/*FOOTER*/

/*NEWSLETTER BUTTON*/

#button-newsletter .elementor-button-icon svg {
  height: auto;
  width: 0.6rem;
}

/*STYLED LINKS*/

.link-arrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.6em;

  color: #000;
  font: inherit;
  text-decoration: none;

  padding: 0.15em 0.2em 0.2em;
  overflow: hidden;

  transition: color 300ms ease;

  font-family: var(--e-global-typography-primary-font-family), Sans-serif;
  font-style: italic;
  z-index:0; /*widthout z-index here, the hover effect breaks on blog page*/
}

.link-arrow::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;

  height: 10px;
  background: #fff000;
  z-index: -1;

  transform: translateY(-3px);
}

.link-arrow::after {
  content: "";
  width: 1em;
  height: 1em;
  flex: 0 0 auto;

  background-color: #000;
  mask: url("https://alexandrageese.eu/wp-content/uploads/icon_pfeil.svg") center / contain no-repeat;
  -webkit-mask: url("https://alexandrageese.eu/wp-content/uploads/icon_pfeil.svg") center / contain no-repeat;

  transition: background-color 300ms ease;
}

.link-arrow span {
  position: relative;
  z-index: 1;
}

.link-arrow::before {
  transition:
          height 350ms ease,
          background-color 350ms ease,
          transform 350ms ease;
}

.link-arrow:hover {
  color: #fff;
}

.link-arrow:hover::before {
  height: 100%;
  background: #000;
  transform: translateY(0);
}
.link-arrow:hover::after {
  background-color: #fff000;
}

/*ELEMENTOR BUTTON STYLING - class .link-arrow-btn */

/* ELEMENTOR BUTTON VERSION OF link-arrow */

.link-arrow-btn .elementor-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.6em;

  color: #000 !important;
  font: inherit;
  text-decoration: none;

  padding: 0.15em 0.8em 0.2em;
  overflow: hidden;

  transition: color 300ms ease;

  font-family: var(--e-global-typography-primary-font-family), Sans-serif;
  font-style: italic;

  font-size: 1rem;
  line-height: 1.5em;

  background: transparent;
  border: none;
  box-shadow: none;
  border-radius: 0 !important;
}

.link-arrow-btn.big .elementor-button {
  font-size: 1.3rem;
  line-height: 1.5em;
}

/* YELLOW BACKGROUND ANIMATION */
.link-arrow-btn .elementor-button::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;

  height: 10px;
  background: #fff000;
  z-index: 0;

  transform: translateY(-3px);

  transition:
          height 350ms ease,
          background-color 350ms ease,
          transform 350ms ease;
}

/* ICON */
.link-arrow-btn .elementor-button::after {
  content: "";
  width: 1em;
  height: 1em;
  flex: 0 0 auto;

  background-color: #000;

  mask: url("https://alexandrageese.eu/wp-content/uploads/icon_pfeil.svg") center / contain no-repeat;
  -webkit-mask: url("https://alexandrageese.eu/wp-content/uploads/icon_pfeil.svg") center / contain no-repeat;

  transition: background-color 300ms ease;
  position: relative;
  z-index: 1;
}

/* TEXT WRAPPER */
.link-arrow-btn .elementor-button-text {
  position: relative;
  z-index: 1;
}

/* HOVER STATE */
.link-arrow-btn .elementor-button:hover {
  color: #fff !important;
}

.link-arrow-btn .elementor-button:hover::before {
  height: 100%;
  background: #000;
  transform: translateY(0);
}

.link-arrow-btn .elementor-button:hover::after {
  background-color: #fff000;
}

/*STARTSEITE UND ANIMATIONEN*/

.hero-wrap {
  position: relative;
  overflow: hidden;
  --dots-width: 600px;
}

/*.hero-wrap .dots-bg {

  --circle-visible: 65%;

  position: absolute;
  top: 50%;
  left: 100%;

  width: clamp(360px, 55vw, 720px);
  height: auto;
  aspect-ratio: 1 / 1;

  transform: translate(calc(-1 * var(--circle-visible)), -50%);
  z-index: 0;
  pointer-events: none;
}

.hero-wrap .dots-bg svg {
  width: 100%;
  height: 100%;
  max-width: none;
  display: block;
  transform-origin: center center;
  animation: dotsRotateIn 1.2s ease-out forwards;
}*/

.hero-wrap .dots-bg-quarter {

  --circle-visible: 100%;

  position: absolute;
  top: calc(100% - var(--dots-width));
  left: calc(100% - var(--dots-width));

  width: var(--dots-width);
  height: auto;
  aspect-ratio: 1 / 1;

  /*transform: translate(calc(-1 * var(--circle-visible)), -50%);*/
  z-index: 0;
  pointer-events: none;
}
.hero-wrap .dots-bg-quarter svg {
  width: 100%;
  height: 100%;
  max-width: none;
  display: block;
}


.hero-wrap .dots-bg-quarter.top-right {
  position: absolute;
  top: 0px !important;
  left: calc(100% - var(--dots-width)) !important;
}

.dots-bg-quarter.top-left {
  position: absolute;
  top: 0px !important;
  left: 0px !important;
}

.dots-bg-quarter.bottom-left {
  position: absolute;
  bottom: 0px !important;
  left: 0px !important;
}

@media screen and (max-width: 767px) {
  .hero-wrap .dots-bg-quarter {
     top: 20px !important;
  }
}


/*@keyframes dotsRotateIn {
  from { transform: rotate(10deg); }
  to   { transform: rotate(0deg); }
}

@media (min-width: 1440px) {
  .hero-wrap .dots-bg {
    --circle-visible: 100%;
  }
}*/

.elementor-widget-off-canvas{
  z-index: 10 !important;
}

.slight-up {
  animation: slightUp 1.2s ease forwards;
  transform: translateX(-150px);
}

.slight-right {
  animation: slightRight 1.2s ease forwards;
  z-index: 3;
}

@media screen and (max-width: 767px) {
  .slight-right {
    z-index: 1 !important;
  }

}

@keyframes slightUp {
  from {
    transform: translateX(-150px) translateY(40px);
  }
  to {
    transform: translateX(-150px) translateY(0);
  }
}

@keyframes slightRight {
  from {
    transform: translateX(-40px);
  }
  to {
    transform: translateX(0px);
  }
}

.slight-right img {
  filter: grayscale(1);
  animation: imageColor 1.2s ease 1.0s forwards;
}

@keyframes imageColor {
  from {
    filter: grayscale(1);
  }
  to {
    filter: grayscale(0);
  }
}


/*MENU OFF CANVAS*/

.e-off-canvas__content{
  overflow-x: hidden !important;
}

.e-off-canvas__overlay {
  background: rgba(255, 255, 255, 0.25) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/*LOAD MORE BUTTON*/

/* =========================
   ELEMENTOR LOOP LOAD MORE
   LINK-ARROW STYLE
========================= */

.e-loop__load-more {
  display: flex;
  justify-content: flex-end;
}

/* BUTTON BASE */
.e-loop__load-more a.elementor-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.6em;

  color: #000 !important;
  font: inherit;
  text-decoration: none;

  /*padding: 0.15em 0.8em 0.2em;*/
  padding: 0 0 0 3px;
  overflow: hidden;
  line-height: 2em;

  transition: color 300ms ease;

  font-family: var(--e-global-typography-primary-font-family), Sans-serif;
  font-style: italic;

  background: transparent !important;
  border: none;
  box-shadow: none;
  border-radius: 0 !important;
}

/* YELLOW BACKGROUND */
.e-loop__load-more a.elementor-button::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;

  height: 10px;
  background: #fff000;
  z-index: 0;

  transform: translateY(-3px);

  transition:
          height 350ms ease,
          background-color 350ms ease,
          transform 350ms ease;
}

/* ARROW ICON */
.e-loop__load-more a.elementor-button::after {
  content: "";
  width: 1em;
  height: 1em;
  flex: 0 0 auto;

  background-color: #000;

  mask: url("https://alexandrageese.eu/wp-content/uploads/icon_pfeil.svg") center / contain no-repeat;
  -webkit-mask: url("https://alexandrageese.eu/wp-content/uploads/icon_pfeil.svg") center / contain no-repeat;

  transition: background-color 300ms ease;

  position: relative;
  z-index: 1;
}

/* TEXT ABOVE BACKGROUND */
.e-loop__load-more .elementor-button-text {
  position: relative;
  z-index: 1;
}

/* SPINNER (keep visible, but above bg) */
.e-loop__load-more .e-load-more-spinner {
  position: relative;
  z-index: 2;
}

/* HOVER STATE */
.e-loop__load-more:hover a.elementor-button {
  color: #fff !important;
}

.e-loop__load-more:hover a.elementor-button::before {
  height: 100%;
  background: #000;
  transform: translateY(0);
}

.e-loop__load-more:hover a.elementor-button::after {
  background-color: #fff000;
}


/*READ MORE IN SUCHERGEBNISSEN*/

a.elementor-post__read-more {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .6em;

  color: #000;
  text-decoration: none;

  padding: .15em .2em .2em;
  overflow: hidden;
  z-index: 1;

  transition: color .35s ease;
}

a.elementor-post__read-more::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;

  height: 5px;
  background: #FFD400;
  transform: translateY(2px);
  z-index: -1;

  transition: height .35s ease, transform .35s ease, background-color .35s ease;
}

a.elementor-post__read-more::after {
  content: "";
  width: 1em;
  height: 1em;
  margin-left: .3em;
  flex-shrink: 0;
  display: inline-block;

  background-color: currentColor;
  mask: url("https://alexandrageese.eu/wp-content/uploads/icon_pfeil.svg") center / contain no-repeat;
  -webkit-mask: url("https://alexandrageese.eu/wp-content/uploads/icon_pfeil.svg") center / contain no-repeat;

  transition: background-color .35s ease;
}

a.elementor-post__read-more:hover {
  color: #fff !important;
}

a.elementor-post__read-more:hover::before {
  height: 100%;
  background: #000;
  transform: translateY(0);
}


.archive .elementor-post__title,
.search .elementor-post__title{
  display: inline;
  background: #9DC9A2;
  padding: 0.02em 0.2em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  line-height: 2rem;
  margin-bottom: 20px;
}

.archive .elementor-posts .elementor-post__excerpt,
.search .elementor-posts .elementor-post__excerpt {
  margin-top: 20px;
}

.single-post .elementor-widget-theme-post-content a{
  color: var(--e-global-color-text);
  text-decoration: underline;
}
.single-post .elementor-widget-theme-post-content a:hover{
  background-color: #9DC9A2;
  text-decoration: none;
}

/*Blog post card fix background*/
.elementor-element.blog-post{
  background-color: #fff;
}
.elementor-element.blog-post-title.elementor-widget-theme-post-title{
  min-height: 60px;
}

/*binder in bio*/
.elementor-element.binde{
  position: absolute;
  bottom: 0px;
  background: rgba(255, 255, 255, 0.25) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/*reset*/
.jcr-load-more {
  background: transparent !important;
  border: none !important;
  box-shadow: none;
  border-radius: 0 !important;
  padding: 0 0 0 3px;
}

.jcr-load-more {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .6em;

  font-family: "Playfair Display SH", Sans-serif;
  font-size: 1rem !important;
  font-weight: 400;
  font-style: italic;
  line-height: 2em !important;

  color: #000 !important;
  background: transparent;
  border: none;
  text-decoration: none;
  cursor: pointer;

  padding: .15rem .2rem .2rem !important;
  overflow: hidden;
  z-index: 1;

  transition: color .35s ease;
}

.jcr-load-more::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;

  height: 10px;
  background: #fff000;
  transform: translateY(-6px);
  z-index: -1;

  transition: height .35s ease, transform .35s ease, background-color .35s ease;
}

.jcr-load-more::after {
  content: "";
  width: 1em;
  height: 1em;
  margin-left: .5em;
  flex-shrink: 0;
  display: inline-block;

  background-color: currentColor;
  /*mask: url("https://bad6sy7.myrdbx.io/wp-content/uploads/icon_pfeil.svg") center / contain no-repeat;*/
  mask: url("https://alexandrageese.eu/wp-content/uploads/icon_pfeil.svg") center / contain no-repeat;
  -webkit-mask: url("https://alexandrageese.eu/wp-content/uploads/icon_pfeil.svg") center / contain no-repeat;

  transition: background-color .35s ease;
}

.jcr-load-more:hover {
  color: #fff !important;
}

.jcr-load-more:hover::before {
  height: 100%;
  background: #000;
  transform: translateY(0);
}

.jcr-load-more:hover::after {
  background-color: #fff000;
}


/* Keep the image clipped while it zooms */
.blog-post .blog-post-image {
  overflow: hidden;
}

/* Default image state */
.blog-post .blog-post-image img {
  display: block;
  width: 100%;

  filter: grayscale(100%);
  transform: scale(1);

  transition: filter 0.2s ease, transform 0.2s ease;
  transform-origin: center;
}


/* Ensure the heading inherits the title wrapper color */
.blog-post .blog-post-title .elementor-heading-title {
  color: inherit;
  transition: color 0.2s ease;
}

/* Card hover: image becomes colored and zooms by 5% */
.blog-post:hover .blog-post-image img {
  filter: grayscale(0%);
  transform: scale(1.20);
}

/* Card hover: title becomes white on black */
.blog-post:hover h4.elementor-heading-title {
  color: #fff;
  background: #000 !important;
}

/*Presseschau title*/
.presseschau_title h4 a::after {
  content: "";
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  margin-left: 0.4em;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6'/%3E%3Cpath d='M10 14 21 3'/%3E%3Cpath d='M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6'/%3E%3Cpath d='M10 14 21 3'/%3E%3Cpath d='M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.presseschau_title:hover h4:has(a){
  background-color: #000 !important;
  color: #ffffff !important;
}

.presseschau_title:hover a::after svg {
  fill: #ffffff !important;
}

/*NEWSLETTER ANMELDUNG*/


/* ========================================
   NEWSLETTER FORM
   ======================================== */

#nl_form {
  --nl-primary: #000000;
  --nl-primary-hover: #9DC9A2;
  --nl-text: #000000;
  --nl-muted: #000000;
  --nl-border: #000000;
  --nl-bg: #ffffff;
  --nl-input-bg: #ECF4ED;
  --nl-radius: 0px;

  width: 100%;
  /*max-width: 720px;*/
  margin: 0 auto;
  padding: clamp(24px, 5vw, 48px);
  background: var(--nl-bg);
  border: 0px solid #9DC9A2;
  border-radius: 0px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, .045);
  color: var(--nl-text);
  font-family: inherit;
}

/* Grid layout */
#nl_form .nl_fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

/* Introduction */
#nl_form .nl_text {
  grid-column: 1 / -1;
  margin-bottom: 12px;
}

#nl_form .nl_text p {
  margin: 0;
  font-size: clamp(16px, 2vw, 18px);
  line-height: 1.65;
  font-weight: 500;
}

/* Input fields */
#nl_form .nl_field {
  min-width: 0;
}

#nl_form .nl_field input:not([type="checkbox"]) {
  display: block;
  width: 100%;
  height: 54px;
  padding: 0 16px;
  margin: 0;
  background: var(--nl-input-bg);
  border-top: 0;
  border-left: 0;
  border-right: 0;
  border-bottom: 1px solid var(--nl-border);
  border-radius: var(--nl-radius);
  color: var(--nl-text);
  font: inherit;
  font-size: 15px;
  line-height: normal;
  outline: none;
  box-shadow: none;
  transition:
          border-color .2s ease,
          background-color .2s ease,
          box-shadow .2s ease;
}

#nl_form .nl_field input::placeholder {
  color: #000000;
  opacity: 1;
}

#nl_form .nl_field input:not([type="checkbox"]):hover {
  border-color: #aeb9b3;
}

#nl_form .nl_field input:not([type="checkbox"]):focus {
  background: #fff;
  border-color: var(--nl-primary);
  box-shadow: 0 0 0 3px rgba(53, 72, 62, .12);
}

/* Checkbox */
#nl_form .checkbox_field {
  grid-column: 1 / -1;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 8px;
}

#nl_form .checkbox_field input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin: 2px 0 0;
  border: 1.5px solid #000000;
  border-radius: 0px;
  background: #fff;
  cursor: pointer;
  position: relative;
  transition: background .2s, border-color .2s;
}

#nl_form .checkbox_field input[type="checkbox"]:checked {
  background: #000000;
  border-color: #000000;
}

#nl_form .checkbox_field input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 2px;
  width: 5px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

#nl_form .checkbox_field input:focus-visible {
  outline: 3px solid rgba(53, 72, 62, .3);
  outline-offset: 3px;
}

#nl_form .checkbox_field label {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.6;
  color: #4e5862;
  cursor: pointer;
}

#nl_form .checkbox_field .req {
  color: #b74747;
}

/* Privacy hint */
#nl_form .nl_data_hint {
  margin: 18px 0 24px;
}

#nl_form .nl_data_hint p {
  margin: 0;
  color: var(--nl-muted);
  font-size: 12px;
  line-height: 1.6;
}

/* Submit button — overrides inline styles */
#nl_form button[type="submit"] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  min-height: 56px;
  padding: 16px 24px;
  background: var(--nl-primary) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: var(--nl-radius) !important;
  font: inherit;
  font-size: 15px !important;
  font-weight: 600;
  line-height: 1.4;
  text-align: center !important;
  cursor: pointer;
  transition:
          background-color .2s ease,
          transform .2s ease,
          box-shadow .2s ease;
}

/*#nl_form button[type="submit"]::after {
  content: "→";
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  transition: transform .2s ease;
}*/

#nl_form button[type="submit"]:hover {
  background: var(--nl-primary-hover) !important;
  color: #000000 !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(53, 72, 62, .18);
}

/*#nl_form button[type="submit"]:hover::after {
  transform: translateX(4px);
}*/

#nl_form button[type="submit"]:focus-visible {
  outline: 3px solid rgba(53, 72, 62, .35);
  outline-offset: 3px;
}

#nl_form button[type="submit"]:active {
  transform: translateY(0);
}

/* Mobile */
@media (max-width: 600px) {
  #nl_form {
    padding: 24px 20px;
    border-radius: 0px;
  }

  #nl_form .nl_fields {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  #nl_form .nl_text {
    margin-bottom: 8px;
  }

  #nl_form .nl_field input:not([type="checkbox"]) {
    height: 52px;
    font-size: 16px;
  }

  #nl_form .checkbox_field {
    margin-top: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #nl_form *,
  #nl_form *::after {
    transition: none !important;
  }
}

/*LANGUAGE SWICHTER*/

.custom-language-switcher {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

.custom-language-switcher a,
.custom-language-switcher span {
  display: block;
  font-weight: 400;
  line-height: 1.3;
  text-decoration: none;
  color: var(--e-global-color-text);
}

.custom-language-switcher .active {
  font-weight: 700;
}

/*SOCIAL MEDIA BUTTONS OVERWRITES*/


.e-off-canvas .social-buttons .elementor-social-icons-wrapper.elementor-grid{
  --grid-column-gap: 7px !important;
}

.e-off-canvas .social-buttons .elementor-social-icon:hover svg{
  fill: #9DC9A2 !important;
}

.stoerer .social-buttons .elementor-social-icon svg{
  fill: #ffffff !important;
}
.stoerer .social-buttons .elementor-social-icon:hover svg{
  fill: var(--e-global-color-accent) !important;
}