/**
Theme Name: Birgit Kappes
Author: bavariansocialclub
Author URI: https://bavariansocialclub.de
Description: Childtheme for Astra
Version: 1.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: birgit-kappes
Template: astra
*/

/* Overrides */

b, strong {
    font-weight: 500;
}
.secondary a *, .site-footer a *, .site-header a *, a {
  transition: none!important;
}
p, .entry-content p,
ul, .entry-content ul {
  margin: 0 0 32px;
}
/* small margin after paragraphs and lists */
.content-margin-bottom-s p, .entry-content .content-margin-bottom-s p,
.content-margin-bottom-s ul, .entry-content .content-margin-bottom-s ul {
  margin: 0 0 20px;
}
p:last-child, .entry-content p:last-child,
ul:last-child, .entry-content ul:last-child {
  margin-bottom: 0;
}

/* Remove Mystery Gap */
.ast-plain-container.ast-no-sidebar #primary {
	margin-top: 0 !important;
}

/* Max-Width Helpers */

.max-1000 { max-width: 1000px !important; }
.max-900 { max-width: 900px !important; }
.max-800 { max-width: 800px !important; }
.max-700 { max-width: 700px !important; }
.max-600 { max-width: 600px !important; }
.max-500 { max-width: 500px !important; }
.max-400 { max-width: 400px !important; }
.max-350 { max-width: 350px !important; }
.max-300 { max-width: 300px !important; }
.max-250 { max-width: 250px !important; }
.max-200 { max-width: 200px !important; }
.max-150 { max-width: 150px !important; }

.center { 
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Flex Content Mobile First */

@media (max-width: 780px) {
	.flex-mobile-first { 
		order: -1 !important;
		padding-bottom: 1.5em !important;
	}
}

/* Script Font */
.font-script {
	font-family: "Nothing You Could Do", script;
	font-size: 1.25em;
	line-height: 1.2;
	list-style-type: "– ";
}

/* 
------------------------------------
    Navigation 
------------------------------------
*/
/* Site Title */
@media (min-width: 922px) and (max-width: 1220px) {
    .site-title a {
        font-size: 24px;
    }
}

/* Active */
/* .main-navigation .menu-item:hover,
.main-navigation .current-menu-item {
    font-weight: 600;
} */
.main-navigation .current-menu-item .menu-text {
    position: relative;
}
.main-navigation .current-menu-item .menu-text::before {
    position: absolute;
    bottom: calc(50% - 24px);
    left: 0;
    display: block;
    width: 100%;
    height: 6px;
    content: '';
    background: url(assets/icons/highlight-yellow.svg) no-repeat 0 0;
    background-size: 100% 100%;
}

/* Tel + Mail Links @ mobile */
.ast-mobile-header-content .ast-header-html-1,
.ast-mobile-header-content .ast-header-html-2 {
    padding: 5px 20px!important;
}

/* Small Fontsize for mobile Menu Links */
.ast-builder-menu-mobile .main-navigation .has-small-font a {
    font-size: 16px;
}

/* Top margin for Small Fontsize in mobile Menu  */
.ast-builder-menu-mobile .main-navigation .has-top-margin {
    margin-top: 15px;
}

/* Off canvas Height */
#ast-mobile-header .content-align-flex-start {
    max-height: 100vh;
}

/* 
------------------------------------
    Hero
------------------------------------
*/
.hero {
  position: relative;
}
.hero-logo {
  position: absolute;
  left: 40px;
  bottom: 30px;
}
.hero-logo-right {
  left: auto;
  right: 40px;
}

.hero-logo img {
    width: 130px !important;
 }

@media (max-width: 975px) {
	.hero-logo { 
		bottom: 20px; 
	}
	.hero-logo img { 
		width: 100px !important;
	}
}

/* Height of Hero on smaller Screens */
@media (min-width: 976px) and (max-width: 1023px) {
  .hero > .wp-block-uagb-container {
    min-height: 480px;
  }
  .hero-logo img {
    width: 111px !important;
  }

}
@media (min-width: 1024px) and (max-width: 1240px) {
  .hero > .wp-block-uagb-container {
    min-height: 620px;
  }
  .hero > .wp-block-uagb-container .wp-block-uagb-advanced-heading:nth-child(1) .uagb-heading-text {
    font-size: 30px;
  }
  .hero > .wp-block-uagb-container .wp-block-uagb-advanced-heading:nth-child(3) .uagb-heading-text {
    font-size: 26px;
  }
  .hero > .wp-block-uagb-container .wp-block-uagb-advanced-heading  h1 {
    font-size: 48px;
  }

}


/* Height of  Hero on wider Screens */
@media (min-width: 1440px) {
  .hero > .wp-block-uagb-container {
      /* background-size: auto 900px;
      background-size: auto min(52vw, 900px); */
  }
  
  .subpage-hero {
      height: min(33vw, 600px);
  }
}

/* 
------------------------------------
    Highlight 
------------------------------------
*/
mark,
mark.has-ast-global-color-2-color,
mark.has-ast-global-color-6-color {
    position: relative;
    color: var(--ast-global-color-0) !important;
}
mark::before {
    position: absolute;
    bottom: -9px;
    left: 0;
    display: block;
    width: 100%;
    height: 6px;
    content: '';
    background: url(assets/icons/highlight.svg) no-repeat 0 0;
    background-size: 100% 100%;
}
mark.has-ast-global-color-2-color::before {
    background-image: url(assets/icons/highlight-yellow.svg);
}
mark.has-ast-global-color-6-color::before {
    background-image: url(assets/icons/highlight-lilac.svg);
}
p.uagb-heading-text mark::before {
    bottom: 0px;
}

/* 
------------------------------------
    Details / Toggles  
------------------------------------
*/
details {
    padding: 24px 32px 24px 64px;
}
details:hover {
    background: var(--ast-global-color-4)!important;
}
details.has-ast-global-color-8-background-color:hover {
    background: var(--ast-global-color-7)!important;
}
details summary {
    position: relative;
    list-style: none;
    font-size: 24px;
    font-weight: 400;
}
details[open] summary {
    margin-bottom: 16px;
}

summary::-webkit-details-marker {
    display: none;
}
details summary::before {
    position: absolute;
    top: 0;
    left: -48px;
    display: block;
    width: 32px;
    height: 32px;
    content: '';
    background: url(assets/icons/plus.svg) no-repeat 50% 50%;
    background-size: contain;
}
details[open] summary::before {
    background-image: url(assets/icons/minus.svg);
}
.has-workshops details summary {
  font-size: 24px;
}


@media (min-width: 922px) {
    details {
        padding: 24px 48px 24px 116px;
    }
	details.acco-padding-s {
        padding-left: 80px;
    }
	details summary {
    	font-size: 32px;
	}
    details summary::before {
        left: -64px;
    }

    .has-workshops details {
      padding-left: 64px;
    }
    .has-workshops details summary {
      font-size: 32px;
    }
    .has-workshops details summary::before {
      left: -48px;
    }

 }

/* 
------------------------------------
    Toggle Box  
------------------------------------
*/
@media (max-width: 767px) {
  
  .is-toggle-box {
    display: block;
    padding: 16px 32px 16px 64px!important;
  }
  .is-toggle-box.is-closed {
    padding-bottom: 0!important;
  }
  .is-toggle-box.is-closed > *:not(.is-toggle) {
    display: none;
  }
  .is-toggle {
    box-sizing: content-box;
    cursor: pointer;
  }
  .is-toggle.wp-block-uagb-advanced-heading {
    position: relative;
    margin: -16px -32px 0 -64px;
    padding: 16px 32px 16px 64px;
    padding-bottom: 16px!important;
  }
  .is-toggle-box .wp-block-uagb-advanced-heading::before {
    position: absolute;
    top: 16px;
    left: 16px;
    display: block;
    width: 32px;
    height: 32px;
    content: '';
    background: url(assets/icons/minus.svg) no-repeat 50% 50%;
    background-size: contain;
  }
  .is-toggle-box.is-closed .wp-block-uagb-advanced-heading::before {
    background-image: url(assets/icons/plus.svg);
  }

  .is-toggle-box.wp-block-group {
    padding: 0 0 24px!important
  }
  .is-toggle-box.wp-block-group .is-toggle {
    text-decoration: underline;
    margin: 0;
  }
  .is-toggle.show-more,
  .is-closed .is-toggle.show-less {
    display: none;
  }
  .is-closed .is-toggle.show-more {
    display: block;
  }

}

/* 
------------------------------------
    Workshops  
------------------------------------
*/
.workshop-label {
    position: absolute!important;
    top: -18px;
    left: 40px;
    width: auto!important;
    border-radius: 16px;
}

.block-label {
    display: inline-block;
    width: auto !important;
    border-radius: 16px;
}

.workshop-cta {
    min-height: 128px;
}
/* .workshop-cta a {
    display: flex!important;
    gap: 23px;
    align-items: center;
} */

@media (min-width: 922px) {
    .workshop-cta a {
        display: flex!important;
        gap: 23px;
        align-items: center;
    }
}

.workshop-preview-image {
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

/* 
------------------------------------
    Quote-Slider 
------------------------------------
*/

.wp-block-uagb-slider .swiper-button-prev,
.wp-block-uagb-slider .swiper-button-next {
	display: none;
	color: #000 !important;
	background-color: transparent !important;
}

.wp-block-uagb-slider .swiper-pagination {
	bottom: -15px ! important;
}

.wp-block-uagb-slider .swiper-pagination-bullet {
	width: 15px;
	height: 15px;
}

.wp-block-uagb-slider {
	background-position: 50% 25% !important;
	margin-bottom: calc(50px + 4%);
}

.slider-quote .wp-block-uagb-container {
	max-width: 1000px !important;
	margin-left: auto;
	margin-right: auto;
}

.slider-quote .has-large-font-size {
	line-height: 1.2;
	margin-bottom: 0;
}

.slider-quote .wp-block-uagb-container strong {
	font-size: 1.2em;
}

@media (max-width: 781px) {
	.slider-quote .has-large-font-size { font-size: 1.2em !important; }
}


@media (min-width: 782px) {
	.wp-block-uagb-slider .swiper-button-prev,
	.wp-block-uagb-slider .swiper-button-next {
		display: flex;
	}
}

/* Paragraph Arrow */

#primary .wp-block-uagb-container .wp-block-uagb-container > .arrow-paragraph.wp-block-uagb-image {
	width: 30% !important;
	min-width: 50px !important
}

/* HR Grey */

hr.hr-grey {
	border-top: 1px solid #d4d1c9;
}

/* 
------------------------------------
    Icons  
------------------------------------
*/
/* Header: */
.site-header a[href*="tel:"],
.site-header a[href*="mailto:"] {
    display: inline-block;
    line-height: 24px;
    padding-left: 28px;
    background: no-repeat 0 50%;
    background-size: 24px auto;
}
.site-header a[href*="mailto:"] {
    background-image: url(assets/icons/mail.svg) ;
}
.site-header a[href*="tel:"] {
    background-image: url(assets/icons/phone.svg);
}
/* hover */
.site-header a:hover {
    color: var(--ast-global-color-2);
}
.site-header a[href*="mailto:"]:hover {
    background-image: url(assets/icons/mail-yellow.svg) ;
}
.site-header a[href*="tel:"]:hover {
    background-image: url(assets/icons/phone-yellow.svg);
}


@media (min-width: 922px) {
    .site-header a[href*="tel:"],
    .site-header a[href*="mailto:"] {
        text-indent: -999em;
    }
}

/* replaced, not enough space in menu:
@media (min-width: 922px) and (max-width: 1240px) {
    .site-header a[href*="tel:"],
    .site-header a[href*="mailto:"] {
        text-indent: -999em;
    }
}
*/

/* Burger Menu */
.mobile-menu-toggle-icon {
    background: url(assets/icons/mobile-menu.svg) no-repeat 50% 50%;
    background-size: contain;
}
.toggled .mobile-menu-toggle-icon {
    background-image: url(assets/icons/mobile-menu-close.svg);
}
.mobile-menu-toggle-icon svg {
    visibility: hidden;
}

/* Footer: */
.footer-social-inner-wrap a .ahfb-svg-iconset {
    background: no-repeat 50% 50%;
    background-size: contain;
}
.footer-social-inner-wrap .ast-email_2 .ahfb-svg-iconset {
    background-image: url(assets/icons/phone.svg);
}
.footer-social-inner-wrap .ast-behance .ahfb-svg-iconset {
    background-image: url(/site/wp-content/uploads/2025/06/icon-address.svg);
}
.footer-social-inner-wrap .ast-email .ahfb-svg-iconset {
    background-image: url(assets/icons/mail.svg);
}
.footer-social-inner-wrap .ast-instagram .ahfb-svg-iconset {
    background-image: url(assets/icons/instagram.svg);
}
.footer-social-inner-wrap .ast-linkedin .ahfb-svg-iconset {
    background-image: url(assets/icons/linkedin.svg);
}
/* hover */
.footer-social-inner-wrap .ast-email_2:hover .ahfb-svg-iconset {
    background-image: url(assets/icons/phone-yellow.svg);
}
.footer-social-inner-wrap .ast-email:hover .ahfb-svg-iconset {
    background-image: url(assets/icons/mail-yellow.svg);
}
.footer-social-inner-wrap .ast-instagram:hover .ahfb-svg-iconset {
    background-image: url(assets/icons/instagram-yellow.svg);
}
.footer-social-inner-wrap .ast-linkedin:hover .ahfb-svg-iconset {
    background-image: url(assets/icons/linkedin-yellow.svg);
}

/* address no hover */
.footer-social-inner-wrap .ast-behance,
.footer-social-inner-wrap .ast-behance .social-item-label {
	color: #000 !important;
	cursor: default;
}

/* hide stuff */
.footer-social-inner-wrap .ahfb-svg-iconset svg {
    visibility: hidden;
}
.footer-social-inner-wrap .social-item-label:empty {
    display: none;
}
.footer-social-inner-wrap a:last-child {
    padding-right: 0;
}

.ast-behance { flex-wrap: nowrap !important; }

/* Button: CTA Mail 
--------------------------------- */
.has-icon-mail .uagb-button__icon {
    background: url(assets/icons/mail.svg) no-repeat 50% 50%;
    background-size: contain;
}
.has-icon-mail .uagb-button__icon svg {
    visibility: hidden;
}

.button-sky .uagb-buttons-repeater {
	background-color: #d9efff !important;
}

.button-rose .uagb-buttons-repeater {
	background-color: #ffe4e0 !important;
}

.button-lilac .uagb-buttons-repeater {
	background-color: #ebdef3 !important;
}

.button-spring .uagb-buttons-repeater {
	background-color: #effacf !important;
}

.button-light .uagb-buttons-repeater {
	background-color: #ffde7e !important;
}


/* Iconlists 
--------------------------------- */
/* Icons */
.has-icon-plus .uagb-icon-list__source-wrap,
.has-icon-check .uagb-icon-list__source-wrap {
    margin-top: 5px;
    background-repeat: no-repeat!important;
    background-position: 50% 50%!important;
    background-size: 16px 16px!important;
}
.has-icon-plus .uagb-icon-list__source-wrap svg,
.has-icon-check .uagb-icon-list__source-wrap svg {
    visibility: hidden;
}
.has-icon-plus .uagb-icon-list__source-wrap {
    background-image: url(assets/icons/plus.svg)!important;
}
.has-icon-check .uagb-icon-list__source-wrap {
    background-image: url(assets/icons/check.svg)!important;
}
/* Typography */
.has-icon-plus .uagb-icon-list__label strong,
.has-icon-check .uagb-icon-list__label strong {
    font-size: 28px;
}



/*
-------------------------------------------------------------
 Forms
-------------------------------------------------------------
*/

/* Modify CF7 Styles 
---------------------------------------- */
[class*="field-wrap"] .wpcf7-form-control-wrap {
  position: static;
}
.wpcf7-list-item {
  margin: 0;
}
.wpcf7 hr {
  margin: 32px 0;
}

.wpcf7 form .wpcf7-response-output {
  margin: 24px 0;
  padding: 8px 16px;
}


/* Wrapper
  ---------------------------------------- */
.is-form-wrap,
.is-form-wrap .wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
.is-form-wrap p {
  margin: 0;
}
[class*="field-wrap"] {
  position: relative;
  flex-basis: 100%;
  margin: 0!important;
}
.field-wrap-sm { 
  flex-basis: calc((100% - 24px)/3 );
}
.field-wrap-md { 
  flex-basis: calc((100% - 24px)/3 );
  flex: 1; 
}
[class*="field-wrap"] > br {
  display: none;
}
.checkbox-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
fieldset {
  border: none;
  padding: 0;
}


@media (min-width: 782px) {
  .is-form-wrap,
  .is-form-wrap .wpcf7-radio  {
    column-gap: 32px;
  }
  [class*="field-wrap"] {
    flex-basis: calc((100% - 32px)/2);
  }
  .field-wrap-sm { 
    flex-basis: calc((100% - 64px)/6 );
  }
  .field-wrap-md { 
    flex-basis: calc((100% - 64px)/6 ); 
    flex: 1; 
  }
  .field-wrap-lg { 
    flex-basis: 100%; 
  }
  /* .checkbox-wrap {
    gap: 32px;
  } */
}
/* Labels 
  ---------------------------------------- */
label {
  font-size: 22px;
  line-height: 1.45455em;
}
[class*="field-wrap"]:not(.checkbox-wrap) label {
  position: absolute;
  top: -12px;
  left: 15px;
  padding: 0 8px;
  background: white;
  font-size: 16px;
}
label sup {
  position: static;
  font-size: 100%;
  color: var(--ast-global-color-2);
}
/* Text inputs
  ---------------------------------------- */
input[type="text"],
input[type="email"],
input[type="search"],
input[type="tel"] {
  width: 100%;
  height: auto!important;
  padding: 14px 32px!important;
  border-radius: 0!important;
  border-width: 2px!important;
  border-style: solid!important;
  border-color: #D4D1C9;
  color: #000!important;
  font-size: 22px!important;
  line-height: 1.45455em;
}
input[type="text"]:hover,
input[type="email"]:hover,
input[type="search"]:hover,
input[type="tel"]:hover {
  border-color: var(--ast-global-color-2);
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus {
  border-color: var(--ast-global-color-2)!important;
  outline: none;
}
.not-valid input[type="text"],
.not-valid input[type="email"],
.not-valid input[type="search"],
.not-valid input[type="tel"] {
  border-color: #FD1E00;
}
input::placeholder {
  color: #827F76;
  opacity: 1;
}
input::-webkit-search-cancel-button {
  display: none;
}
/* Textarea  
---------------------------------------- */
textarea {
  display: block;
  width: 100%;
  min-height: 130px;
  height: 130px;
  max-height: 390px;
  padding: 14px 32px!important;
  border-width: 2px!important;
  border-style: solid!important;
  border-color: #D4D1C9;
  border-radius: 0!important;
  color: #000!important;
  font-size: 22px!important;
  line-height: 1.45455em;
  resize: vertical;
}
textarea:hover {
  border-color: var(--ast-global-color-2);
}
textarea:focus {
  border-color: var(--ast-global-color-2)!important;
  outline: none;
}
textarea::-webkit-resizer {
  display: none;
}
textarea::placeholder {
  color: #827F76;
  opacity: 1;
}
.not-valid textarea,
.not-valid textarea:focus {
  border-color: #FD1E00;
}

/* Select  
---------------------------------------- */
select {
  position: relative;
  appearance: none;
  width: 100%;
  height: auto!important;
  padding: 14px 32px!important;
  border-width: 2px!important;
  border-style: solid!important;
  border-color: #D4D1C9;
  border-radius: 0!important;
  color: #827F76!important;
  color: #000!important;
  font-size: 22px!important;
  line-height: 1.45455em;
  background: #F8F7F3 url(assets/icons/arrow-down.svg) no-repeat 95% 55%;
  background-size: 16px auto;
}
select:hover,
select:focus {
  outline: none;
  border-color: var(--ast-global-color-2)!important;
}
select::-ms-expand {
  display: none;
}
select option {
  color: #F8F7F3;
}
/* Radios / Checkboxes
---------------------------------------- */
input[type="radio"],
input[type="checkbox"] {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute;
  height: 1px;
  width: 1px;
  overflow: hidden;
}
input[type="radio"] + span,
input[type="checkbox"] + span {
  position: relative;
  display: inline-block;
  padding-left: 40px;
  color: var(--ast-global-color-0);
}
/* Pseudo-Input ----- */
input[type="radio"] + span::before,
input[type="checkbox"] + span::before {
  position: absolute;
  top: 7px;
  left: 0;
  display: inline-block;
  width: 22px;
  height: 22px;
  content: '';
  border: 2px solid #D4D1C9;
}
input[type="checkbox"] + span::before {
  background-color: white;
}
input[type="radio"] + span::before {
  border-radius: 50%;
  /* border-color: var(--white); */
}
/* Hover -------------- */
input[type="radio"] + span:hover,
input[type="checkbox"] + span:hover {
  color: var(--ast-global-color-2);
  opacity: 1;
}
input[type="radio"] + span:hover::before,
input[type="checkbox"] + span:hover::before {
  border-color: var(--ast-global-color-2);
}
/* Checked ----------- */
input[type="radio"]:checked + span,
input[type="checkbox"]:checked + span {
  color: var(--ast-global-color-2);
  opacity: 1;
}
input[type="radio"]:checked + span::before,
input[type="checkbox"]:checked + span::before  {
  border-color: var(--ast-global-color-2);
  background-color: var(--ast-global-color-2);
}
input[type="radio"]:checked + span::after {
  position: absolute;
  top: 12px;
  left: 5px;
  display: inline-block;
  content: '';
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: black;
  box-shadow: 0 0 5px 0 rgba(0,0,0,0.15);
}
input[type="checkbox"]:checked + span::after  {
  position: absolute;
  top: 10px;
  left: 4px;
  width: 24px;
  height: 24px;
  background: url(assets/icons/check.svg) no-repeat 0 0;
  background-size: 16px auto;
}

.footer input[type="radio"] + span::before,
.footer input[type="checkbox"] + span::before { top: 0;}
.footer input[type="radio"]:checked + span::after  { top: 5px;}
.footer input[type="checkbox"]:checked + span::after  { top: 6px;}

/* Submit   
---------------------------------------- */
.wpcf7-submit {
  padding-left: 88px!important;
  background-image: url(assets/icons/mail.svg)!important;
  background-repeat: no-repeat!important;
  background-position: 32px 50%!important;
  background-size: 32px auto !important;
}


/* Errors   
---------------------------------------- */
.not-valid,
.wpcf7 .wpcf7-not-valid, 
.wpcf7 form.invalid .wpcf7-response-output, 
.wpcf7 form.unaccepted .wpcf7-response-output, 
.wpcf7 form.payment-required .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
  border-color: #FD1E00;
}
.not-valid sup,
.is-error-message,
.wpcf7-not-valid-tip {
  color: #FD1E00;
}
.is-error-message,
.wpcf7-not-valid-tip {
  padding: 0 0 0 23px;
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: var(--ast-global-color-2); 
}
.wpcf7 form.spam .wpcf7-response-output {
    border-color: var(--ast-global-color-2); 
}

/*
-------------------------------------------------------------
 CUSTOM ELEMENTS
-------------------------------------------------------------
*/
/* Absolut Circle-Images  
---------------------------------------- */
.circle-absolute {
	position: absolute !important;
	z-index: 10;
}
.circle-absolute-1 {
	top: 0;
	left: -70%;
}
.circle-absolute-2 {
	top: -250px;
	left: -10%;
}
.circle-absolute-3 {
	top: -200px;
	left: 50%;
}
.circle-absolute-4 {
	bottom: 0;
	left: 70%;
}
.circle-absolute-5 {
	bottom: -250px;
	left: 15%;
}
.circle-absolute-6 {
	bottom: -120px;
	left: -55%;
}
@media (max-width: 1023px) {
	
.circle-absolute-2 {
	bottom: auto;
	top: -250px;
	left: 0%;
}
.circle-absolute-4 {
	bottom: -250px;
	left: 0%;
}
}