/* 
Theme Name: Württemberger Medien
Theme URI: https://github.com/elementor/hello-theme/
Description: Württemberger Medien Elementor Child Theme
Author: Württemberger Medien
Author URI: https://w-medien.de/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elemento
r-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
*/

/*
    Add your custom styles here
*/

:root { 
 --space-4xs: clamp(0.52rem, calc(-0.03vw + 0.54rem), 0.49rem);
    --space-3xs: clamp(0.66rem, calc(0.04vw + 0.63rem), 0.7rem);
    --space-2xs: clamp(0.82rem, calc(0.17vw + 0.74rem), 0.99rem);
    --space-xs: clamp(1.02rem, calc(0.37vw + 0.85rem), 1.4rem);
    --space-s: clamp(1.28rem, calc(0.69vw + 0.95rem), 1.98rem);
    --space-m: clamp(1.6rem, calc(1.17vw + 1.04rem), 2.8rem);
    --space-l: clamp(2rem, calc(1.92vw + 1.08rem), 3.96rem);
    --space-xl: clamp(2.5rem, calc(3.03vw + 1.05rem), 5.6rem);
    --space-2xl: clamp(3.13rem, calc(4.69vw + 0.88rem), 7.92rem);
    --space-3xl: clamp(3.91rem, calc(7.13vw + 0.5rem), 11.19rem);
    --space-4xl: clamp(4.88rem, calc(10.71vw + -0.24rem), 15.83rem);
    --text-xs: clamp(1.42rem, calc(-0.03vw + 1.44rem), 1.39rem);
    --text-s: clamp(1.6rem, calc(0.07vw + 1.57rem), 1.67rem);
    --text-m: clamp(1.8rem, calc(0.2vw + 1.71rem), 2rem);
    --text-l: clamp(2.02rem, calc(0.37vw + 1.85rem), 2.4rem);
    --text-xl: clamp(2.28rem, calc(0.59vw + 2rem), 2.88rem);
    --text-2xl: clamp(2.56rem, calc(0.87vw + 2.15rem), 3.46rem);
    --text-3xl: clamp(2.88rem, calc(1.24vw + 2.29rem), 4.15rem);
    --text-4xl: clamp(3.24rem, calc(1.7vw + 2.43rem), 4.98rem);
    --radius-xs: clamp(0.4rem, calc(0vw + 0.4rem), 0.4rem);
    --radius-s: clamp(0.6rem, calc(-0.2vw + 0.89rem), 0.8rem);
    --radius-m: clamp(1rem, calc(-0.2vw + 1.29rem), 1.2rem);
    --radius-l: clamp(1.6rem, calc(-0.39vw + 2.19rem), 2rem);
    --radius-xl: clamp(2.6rem, calc(-0.59vw + 3.48rem), 3.2rem);
    --radius-full: 999rem;
	  --shadow-primary: hsla(0, 0%, 0%, 0.15);
    --shadow-xs: 0 1px 2px var(--shadow-primary);
    --shadow-s: 0 1.5px 3px var(--shadow-primary);
    --shadow-m: 0 2px 6px var(--shadow-primary);
    --shadow-l: 0 3px 12px var(--shadow-primary);
    --shadow-xl: 0 6px 48px var(--shadow-primary);
}
 
body {
    font-size:18px;
}
html{
	font-size:62.5%;
}
 body .wp-gr .grw-btns, body button.rpi-dot {
    padding: 0 !important;
}
a.elementor-cta {
    height: 100% !important;
}
.mh img.swiper-slide-image {
    max-height: 600px !important;
}
.multiply img{
	mix-blend-mode: multiply !important;

}
.glass{
    backdrop-filter: blur(20px);
}
/* umbruch bei Datenschutz*/
.page-datenschutzerklaerung p, page-datenschutzerklaerung a {
    hyphens: auto;
}

main{
	padding-top:var(--space-4xl);
}
.elementor-icon-box-title, .title, .elementor-heading-title{ 
text-wrap: balance; 
} 

.ti-widget.ti-goog img {
    box-shadow: none !important;
}
/*google Bewertungen*/

.google-inline .wp-google-right >div {
    display: inline-block;
    padding-right: 10px !important;
    font-size: 16px !important;
    color: var(--e-global-color-text) !important;
	font-weight: 600 !important;
}

.wp-gr .wp-google-based, .wp-gr .wp-google-powered {
    color: var(--e-global-color-text) !important;
}
.wp-gr .wp-google-rating {
    font-size: 18px !important;
}

.wp-gr .wp-google-place .wp-star svg {
    width: 18px !important;
}
.google-inline.left .wp-gr .wp-google-right {
    width: auto !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}
.google-inline.left .wp-gr .grw-header-inner, .wp-gr .grw-review-inner {
padding-left:0px !important;
}
/* */
/* =========================================
   FIXIERTER ELEMENTOR-HEADER + SLIDE-ANIMATION
   ========================================= */
header.elementor-location-header {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  transform: translateY(0);
  transition: transform 0.45s ease;
  will-change: transform;
}

header.elementor-location-header.header--hidden {
  transform: translateY(-100%);
}

header.elementor-location-header > header {
  position: static !important;
  transform: none !important;
}



/* =========================================
   ABSTAND UNTER DEM HEADER ÜBER CSS-VARIABLE
   ========================================= */
:root {
  --header-h: 0px;
}

main {
  padding-top: var(--header-h);
  transition: padding-top 0.45s ease;
}

/* =========================================
   WORDPRESS ADMINBAR BERÜCKSICHTIGEN
   ========================================= */
body.admin-bar header.elementor-location-header {
  top: 32px !important;
}

@media (max-width: 782px) {
  body.admin-bar header.elementor-location-header {
    top: 46px !important;
  }
}






/*--------------Fonts-------------------*/
.text-weiss {
	color: white;
}

/*----------------Links-------------------*/
.link-weiss a:link,
.link-weiss a:visited {
	color: white;
}
.link-weiss a:hover,
.link-weiss a:focus,
.link-weiss a:active {
	color: white;
}
/*-----------------Tabelle-----------------*/
table tbody>tr:nth-child(odd)>td, table tbody>tr:nth-child(odd)>th,
table tbody tr:hover>td, table tbody tr:hover>th {
	background-color: transparent;
}
table td {
	border: none;
	line-height: 0;
	padding-left: 0px;
	padding-right: 0px;
}
table tr:nth-child(odd) td {
	padding-bottom: 10px;
}
table tr:nth-child(even) td {
	padding-bottom: 20px !important;
}



.hero-img img, .img-fw img, .img-fw .elementor-widget-image, .img-fw-img img  {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100vw !important;
    object-fit: cover;
    height: 100%;
	min-height:300px !important;
	z-index: 1;
}

main a {
    hyphens: auto !important;
    word-break: break-word;
}

/*sitebar*/
.sitebar-info a {
    color: #fff !important;
}
.sitebar-info a, .sitebar-info >div  {
    transition: all ease 0.4s !important;
    right:0;
    
}
.sitebar-info >div:hover {
    right: 326px!important;
    
}
.sitebar-info >div.s:hover, .sitebar-info a.s:hover {
    right: 130px!important;
}
.sitebar-info >div:hover, .sitebar-info a:hover {
    right: 180px!important;
}
.sitebar-info >div.m:hover, .sitebar-info a.m:hover {
    right: 280px!important;
}
.sitebar-info >div.l:hover, .sitebar-info a.l:hover  {
    right: 320px!important;
}
.sitebar-info .elementor-widget-text-editor  {
    color: var(--e-global-color-690b9d9);
}
/* */



/*fade up animation*/
/* 1. Keyframes nur für Y-Achse */
@keyframes fadeInUp {
  0% {
    transform: translate3d(0, 20px, 0);
  }
  to {
    transform: translateZ(0);
  }
}

/* 2. Grundzustand: schon leicht nach unten verschoben */
.animate_fadeInUp {
  /* Damit sie vor der Aktivierung bereits um 20px nach unten rutschen */
  transform: translate3d(0, 20px, 0);
}

/* 3. Wenn die JS-Logik die aktive Klasse setzt, läuft die Animation */
.animate_fadeInUp.animate__active {
  animation: fadeInUp 0.8s ease-in forwards;
  /* 
    0.8s = Dauer der Animation (kannst du anpassen)
    ease-in = langsamer Start, dann Beschleunigung
    forwards = Element bleibt nach der Animation in Endposition
  */
}

/*button animation*/
.tauben-button {
  position: relative;
  overflow: visible;
}

.taube {
  position: absolute;
  width: 70px;
  opacity: 0;
  pointer-events: none;
  z-index: 99;
  transform: translateY(-50%);
  box-shadow: none !important; /* kein Schatten */
}

.fly-left {
  animation: flyLeft 1.5s forwards;
}

.fly-right {
  animation: flyRight 1.5s forwards;
}

@keyframes flyLeft {
  0%   { transform: translateY(-50%) translate(0,0) scale(0.5); opacity: 1; }
  30%  { opacity: 1; }
  100% { transform: translateY(-50%) translate(-250px,-120px) scale(1); opacity: 0; }
}

@keyframes flyRight {
  0%   { transform: translateY(-50%) translate(0,0) scale(0.5); opacity: 1; }
  30%  { opacity: 1; }
  100% { transform: translateY(-50%) translate(250px,-120px) scale(1); opacity: 0; }
}
