/*
Theme Name: Kita Allianz
Theme URI: https://kita-allianz-fuer-familien.de
Description: A child theme for Ollie.
Author: bavariansocialclub
Author URI: https://bavariansocialclub.de
Requires at least: 7.0
Tested up to: 7.0
Requires PHP: 5.7
Version: 1.0.5
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: ollie
Text Domain: kita-allianz
Tags: 
*/


@media (prefers-reduced-motion: no-preference) {
    html { 
        scroll-behavior: smooth;
    }
}
/*
html {
    interpolate-size: allow-keywords;
    scroll-padding-top: 154px;
}
*/

body,
.site-content {
    overflow-x: clip
}


/* Map */
.wpgmp_map_container .wpgmp_map,
.wpgmp_map_container .wpgmp_filter_wrappers {
    border-radius: var(--wp--preset--border-radius--sm);
}
.wpgmp_listing_list .fc-item-default .wpgmp_locations {
    border-radius: var(--wp--preset--border-radius--sm);
}

/* Infowindow */
.wpgmp_infowindow a {
    color: var(--wp--preset--color--primary-alt)!important;
    text-decoration: none;
}
.wpgmp_infowindow .fc-infobox-img {
    border-radius: 0!important;
}
.wpgmp_infowindow .fc-infobox-img .fc-feature-img {
    border-radius: 4px;
    overflow: hidden;
}
.wpgmp_infowindow .fc-infobox-copyright {
    line-height: 1.3;
    margin-top: 4px;
}

/* Listing */
.wpgmp_listing_container {
    margin: 0!important;
}
.wpgmp_map_container .wpgmp_filter_wrappers {
    margin-bottom: 10px;
}
.kita-item {
    border-radius: var(--wp--preset--border-radius--sm);
    padding: var(--wp--preset--spacing--small);
    margin-bottom: var(--wp--preset--spacing--small)!important;
}
.kita-item-columns {
    display: flex;
    gap: var(--wp--preset--spacing--small) var(--wp--preset--spacing--medium);
}

.kita-item-left {
    flex-basis: 33.33%;
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--small);
    justify-content: space-between;
}
.kita-item-right {
    flex-basis: 66.66%;
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--small);
}
.wpgmp_locations.kita-item figure {
    position: relative;
}
.wpgmp_locations.kita-item .fc-infobox-copyright {
    position: absolute;
    bottom: 5px;
    left: 5px;
    padding: 0 5px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.8);
}
.wpgmp_locations.kita-item img {
    width: 100%!important;
    max-width: 100%;
    margin: 0!important;
    border-radius: var(--wp--preset--border-radius--sm);
}
.wpgmp_locations.kita-item .fc-badge {
    align-self: flex-start;
    line-height: 1.4!important;
}
.wpgmp_locations.kita-item h3 a {
    font-size: var(--wp--preset--font-size--medium);
    color: var(--wp--preset--color--primary-alt)!important;
}
.wpgmp_locations.kita-item p {
    font-size: var(--wp--preset--font-size--small);
    color: var(--wp--preset--color--main)!important;
}
@media (max-width: 599px) {
    .kita-item-columns {
        flex-wrap: wrap;
    }
    .kita-item-left,
    .kita-item-right {
        flex-basis: 100%;
    }
}

/* Kita Platzhalterbild */
.fc-feature-img img[src*="sample.jpg"] {
    opacity: .25;
}

/* Pagination */
.wpgmp_pagination a, .wpgmp_pagination span {
    border-radius: var(--wp--preset--border-radius--sm);
    border-color: var(--wp--preset--color--primary-alt)!important;
    background-color: var(--wp--preset--color--base)!important;
    color: var(--wp--preset--color--primary-alt)!important;
}
.wpgmp_pagination span.current {
    background-color: var(--wp--preset--color--primary-alt)!important;
    color: var(--wp--preset--color--base)!important;
}

/* Kontakt: Portrait Versatz */
@media (min-width: 1280px) {
    .is-contact-portrait {
        transform: translateX(-150px);
    }
}


/* Formular */
.wpcf7 .wpcf7-submit {
    border-radius: var(--wp--preset--border-radius--md);
}
.wpcf7 .wpcf7-not-valid-tip {
    padding: 0.5rem 0;
    font-size: var(--wp--preset--font-size--small);
}


/* Animationen */
/* @keyframes floatA {
  0%   { transform: translate(0, 0); }
  20%  { transform: translate(25px, 12px); }
  40%  { transform: translate(10px, -17px); }
  60%  { transform: translate(-20px, 5px); }
  80%  { transform: translate(-8px, 20px); }
  100% { transform: translate(0, 0); }
}

@keyframes floatB {
  0%   { transform: translate(0, 0); }
  25%  { transform: translate(-22px, -10px); }
  50%  { transform: translate(8px, -24px); }
  75%  { transform: translate(18px, 7px); }
  100% { transform: translate(0, 0); }
}

@keyframes floatC {
  0%   { transform: translate(0, 0); }
  30%  { transform: translate(-15px, 18px); }
  55%  { transform: translate(20px, 10px); }
  80%  { transform: translate(8px, -15px); }
  100% { transform: translate(0, 0); }
} */
 
/* stronger */
@keyframes floatA {
  0%   { transform: translate(0, 0); }
  20%  { transform: translate(50px, 25px); }
  40%  { transform: translate(20px, -35px); }
  60%  { transform: translate(-40px, 10px); }
  80%  { transform: translate(-15px, 40px); }
  100% { transform: translate(0, 0); }
}

@keyframes floatB {
  0%   { transform: translate(0, 0); }
  25%  { transform: translate(-45px, -20px); }
  50%  { transform: translate(10px, -45px); }
  75%  { transform: translate(35px, 15px); }
  100% { transform: translate(0, 0); }
}

@keyframes floatC {
  0%   { transform: translate(0, 0); }
  30%  { transform: translate(-30px, 35px); }
  55%  { transform: translate(40px, 20px); }
  80%  { transform: translate(15px, -30px); }
  100% { transform: translate(0, 0); }
}


/* Shapes */
/* Home */
/* Hero Home */
@media (max-width: 599px) {
    .is-hero-home {
        min-height: 400px!important;
        background-size: 180% auto!important;
        background-position: 50% 100%!important;
        padding-bottom: 160px!important;
    }
}
@media (min-width: 600px) {
    .is-hero-home {
        background: none!important;
    }
    .is-hero-home {
        position: relative;
        &::before {
            position: absolute;
            top: 0;
            left: calc(50% - 1085px);
            z-index: -1;
            content: '';
            display: block;
            width: 648px;
            height: 648px;
            border-radius: 50%;
            background: var(--wp--preset--color--primary-alt);
            opacity: .5;
            will-change: transform;
            transform: translateZ(0);
            backface-visibility: hidden;
            contain: layout paint;
    
            animation: floatA 21s ease-in-out infinite;
        }
    }
    .is-hero-home-inner {
        &::before {
            position: absolute;
            top: calc(50% + 54px);
            left: calc(50% - 620px);
            z-index: -1;
            content: '';
            display: block;
            width: 384px;
            height: 384px;
            border-radius: 50%;
            background: url(assets/images/bg-hero-kinder.webp);
            background-size: contain;
            will-change: transform;
            transform: translateZ(0);
            backface-visibility: hidden;
            contain: layout paint;
            animation: floatB 21s ease-in-out infinite;
    
        }
        &::after {
            position: absolute;
            top: calc(50% - 300px);
            left: calc(50% - 10px);
            z-index: -1;
            content: '';
            display: block;
            width: 840px;
            height: 840px;
            border-radius: 50%;
            background: url(assets/images/bg-hero-tisch.webp);
            background-size: contain;
            will-change: transform;
            transform: translateZ(0);
            backface-visibility: hidden;
            contain: layout paint;
    
            animation: floatC 21s ease-in-out infinite;
        }
    }
}
.bg-shape--nutzung {
    position: relative;
    &::before {
        position: absolute;
        bottom: -90px;
        left: -170px;
        z-index: -1;
        content: '';
        display: block;
        width: 220px;
        height: 220px;
        border-radius: 50%;
        background: var(--wp--preset--color--primary-alt);
        opacity: .5;
        animation: floatA 28s ease-in-out infinite;
    }
}

.bg-shape--benefits {
    position: relative;
    &::before {
        position: absolute;
        top: 20%;
        right: -450px;
        z-index: -1;
        content: '';
        display: block;
        width: 600px;
        height: 600px;
        border-radius: 50%;
        background: var(--wp--preset--color--primary-alt);
        opacity: 1;
        animation: floatB 34s ease-in-out infinite;
    }
}

.is-image--bauklotz {

}
.bg-shape--zielgruppen {
    position: relative;
    &::before {
        position: absolute;
        top: -40%;
        right: 40%;
        z-index: -1;
        content: '';
        display: block;
        width: 1000px;
        height: 1000px;
        border-radius: 50%;
        background: var(--wp--preset--color--primary-alt);
        opacity: 0.15;
        animation: floatA 23s ease-in-out infinite;
    }
}

/* Standorte */
.bg-shape--standorte {
    position: relative;
    &::before {
        position: absolute;
        top: 20%;
        right: 30%;
        z-index: -1;
        content: '';
        display: block;
        width: 1000px;
        height: 1000px;
        border-radius: 50%;
        background: var(--wp--preset--color--primary-alt);
        opacity: 0.3;
        animation: floatC 23s ease-in-out infinite;
    }
}
.bg-shape--standorte2 {
    position: relative;
    &::before {
        position: absolute;
        bottom: -120px;
        right: -200px;
        z-index: -1;
        content: '';
        display: block;
        width: 220px;
        height: 220px;
        border-radius: 50%;
        background: var(--wp--preset--color--primary-alt);
        opacity: 1;
        animation: floatA 31s ease-in-out infinite;
    }
}
.bg-shape--standorte3 {
    position: relative;
    &::before {
        position: absolute;
        top: 10%;
        right: 40%;
        z-index: -1;
        content: '';
        display: block;
        width: 900px;
        height: 900px;
        border-radius: 50%;
        background: var(--wp--preset--color--primary-alt);
        opacity: 0.3;
        animation: floatB 25s ease-in-out infinite;
    }
}

/* Über uns */
.bg-shape--traeger {
    position: relative;
    &::before {
        position: absolute;
        top: -80px;
        left: 1000px;
        z-index: -1;
        content: '';
        display: block;
        width: 600px;
        height: 600px;
        border-radius: 50%;
        xbackground: var(--wp--preset--color--primary);
        xopacity: 0.5;
        background: url(assets/images/istock-abklatschen.webp) no-repeat 50% 50%;
        background-size: contain;
        will-change: transform;
        transform: translateZ(0);      
        backface-visibility: hidden;
        contain: layout paint; 
        animation: floatB 21s ease-in-out infinite;
    }
    &::after {
        position: absolute;
        bottom: -290px;
        right: -120px;
        z-index: -1;
        content: '';
        display: block;
        width: 344px;
        height: 344px;
        border-radius: 50%;
        background: var(--wp--preset--color--primary);
        opacity: .7;
        animation: floatA 27s ease-in-out infinite;
    }
}
.bg-shape--qualitaet-right {
    position: relative;
    &::before {
        position: absolute;
        top: 100px;
        right: -850px;
        z-index: -1;
        content: '';
        display: block;
        width: 1000px;
        height: 1000px;
        border-radius: 50%;
        background: var(--wp--preset--color--primary);
        opacity: .7;
        animation: floatC 19s ease-in-out infinite;
    }
}
.bg-shape--qualitaet-left {
    position: relative;
    &::before {
        position: absolute;
        bottom: -200px;
        left: -280px;
        z-index: -1;
        content: '';
        display: block;
        width: 400px;
        height: 400px;
        border-radius: 50%;
        xbackground: var(--wp--preset--color--primary);
        xopacity: 0.5;
        background: url(assets/images/istock-mutterkind.webp) no-repeat 50% 50%;
        background-size: contain;
        
        will-change: transform;
        transform: translateZ(0);      
        backface-visibility: hidden;
        contain: layout paint;         
        animation: floatA 21s ease-in-out infinite;
    }
}

/* Kontakt */
.bg-shape--formular {
    position: relative;
    &::before {
        position: absolute;
        top: -50%;
        right: -500px;
        z-index: -1;
        content: '';
        display: block;
        width: 800px;
        height: 800px;
        border-radius: 50%;
        background: var(--wp--preset--color--primary-alt);
        opacity: 0.7;
        animation: floatA 23s ease-in-out infinite;
    }
}

.bg-shape--kontakt {
    position: relative;
    &::before {
        position: absolute;
        top: -50%;
        right: 30%;
        z-index: -1;
        content: '';
        display: block;
        width: 1000px;
        height: 1000px;
        border-radius: 50%;
        background: var(--wp--preset--color--primary-alt);
        opacity: 0.3;
        animation: floatB 29s ease-in-out infinite;
    }
}
.bg-shape--kontakt2 {
    position: relative;
    &::before {
        position: absolute;
        bottom: -120px;
        right: -200px;
        z-index: -1;
        content: '';
        display: block;
        width: 220px;
        height: 220px;
        border-radius: 50%;
        background: var(--wp--preset--color--primary-alt);
        opacity: 1;
        animation: floatC 23s ease-in-out infinite;
    }
}