/*
Theme Name: Twenty Twenty Three Child
Theme URI: https://iso.960pixel.de
Author:  Your name here
Description: Child Theme for Twenty Twenty Three
Requires at least: 6.8
Tested up to: 6.8
Requires PHP: 8.0
Version: 1.1.33
Template: twentytwentythree
Text Domain: twentytwentythree-child
Tags: Custom Child Theme
*/

:root {
  --beneo_orange: rgb(220, 125, 40); /*#dc7d28;*/
  --beneo_orange_cat: rgba(220, 125, 40, 0.5);
  --beneo_green: rgba(100, 179, 44, 1);/* #6eb31a;*/
  --beneo_green_light: rgba(100, 179, 44, 0.10);
  --beneo_green_trans: rgba(100, 179, 44, 0.9);
  --beneo_green_cat: rgba(100, 179, 44, 0.5); /* #64b32c */
  --beneo_dk_green: rgb(0, 145, 85);
  --beneo_dk_green_cat: rgba(0, 145, 85, 0.5);
  --beneo_blue: rgb(0, 80, 145);
  --beneo_blue_cat: rgba(0, 80, 145, 0.5);
  --beneo_meatless: rgba(61,127,67,1); /*#3d7f57*/
  --beneo_meatless_cat: rgba(61,127,67,0.5); 
  --iso_lightgreybrown: #edd4bc35; /* 35% der farbsttaerke */
  --iso_medgreen: rgba(174,209,132, 0.7); /*#aed184;*/
  --iso_medgreen_full: rgba(174,209,132, 1); 
  --iso_ltgreen: #cce1b0; /* background-color: #6eb31b12; */
  --iso_ltbrown: #edd3bb36;
  --iso_ltyellow: #faf9dcb5;
  --iso_ltblue: #0050910f;
}

/*
#edd3bb36
#6eb31b12

orange iso
    color: #dc7d28;
    background-color: #dc7d2884;
#fce9ba

yellow light #e5e7d2
yellow Brown #dedeb7
*/

/* 
--iso_lightbrown: #dac9b945;
  --iso_lightgreybrown: #dbd1c8;

Schriftfarbe: #6f3803;


:root :where(.block-editor-rich-text__editable.wp-element-button, .block-editor-rich-text__editable.wp-block-button__link) {
    background-color: #cccccc!important;
}
*/

/*aktiviert smooth scrolling*/

html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html{
    scroll-behavior: auto;
  }
}


.block-editor-block-list__block.wp-block-button .wp-element-button {
    background-color: #cccccc!important;
    color: white!important;
}

.wp-admin .wp-block-button .wp-element-button,
.wp-admin .wp-block-button .wp-block-button__link {
    background-color: #cccccc!important;
    color: white!important;
}


*:focus-visible {
    outline: 0;
}

a:focus {text-decoration: none;}

.hideobj {display: none;}

.vishide {visibility: hidden;}

.hidetablet {display: block;}

.rel {position: relative;}
.abs {position: absolute;}

li::marker {
  color: var(--beneo_green);
}

ul li {line-height: 1.3 rem;}

h1 {margin-bottom:0!important;}

.home.page main > div h1.wp-block-post-title {display: none;}

.wp-site-blocks {
    padding-bottom: 0!important;
}

.page, .search, .error404, .single-post {
    a.custom-logo {
        display: inline-block;
        width: 211px;
        height: 57px;
        /* svg {width: 211px;} */ 
    }
}

/*
.home.page {
    svg {width: 211px;}
}
*/

.page:not(.home) main {
    margin-top: 0px!important;
}


/* ------------
   header  navi
--------------- */

/* --- mainnav --- */

header nav {
    ul.wp-block-navigation__container > li > a > span {
        /*
        color: white!important;
        font-weight: 400;
        */
        background: linear-gradient(0deg, #ffffff, #ffffff) no-repeat right bottom / 0 2px;
        transition: background-size 350ms;
        padding-bottom: 4px;

        &:hover {
            background-size: 100% 2px;
            background-position-x: left;
            text-decoration: none;
        }
    }
       
    ul.wp-block-navigation__container > li.current-menu-item > a > span {
        /*background: linear-gradient(0deg, var(--beneo_blue), var(--beneo_blue)) no-repeat right bottom / 0 2px;*/
        background: linear-gradient(0deg, #ffffff, #ffffff) no-repeat right bottom / 0 2px;
        background-size: 100% 2px;
        background-position-x: left;
        text-decoration: none;
    }
    
    /*  um das Elernelement in der Hauptnavi zu unterstreichen:
    li.current-menu-ancestor */
    
    /* umm generell die aktiven Seiten im Menu zu unterstreichen 
    li.current-menu-ite
    */
    
}
/*
nav ul.wp-block-navigation__container > li {
    border: var(--beneo_green);
    border-radius: 0;
    line-height: 1;
}

nav ul.wp-block-navigation__container > li:hover {}

nav ul.wp-block-navigation__container > li.current-menu-item > a {
    border: 1px solid white;
    border-radius: 10px;
}
*/

main {
    p > a, li > a {
        color: var(--wp--preset--color--secondary)!important;
        font-weight: 400;
        /*background: linear-gradient(0deg, #6eb31b14, #6eb31b14) no-repeat right bottom / 0 100%;*/
        background: linear-gradient(0deg, var(--beneo_green), var(--beneo_green)) no-repeat right bottom / 0 2px;
        transition: background-size 350ms;
        padding-bottom: 2px;

        &:hover {
            background-size: 100% 2px;
            background-position-x: left;
            text-decoration: none;
        }
    }
}



/* --- subnav --- */

.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content {
    color: white!important;
}

/* weiss unterlinie
.wp-block-navigation__responsive-container-content > ul > li > a {
    background: linear-gradient(0deg, #ffffff, #ffffff) no-repeat right bottom / 0 2px;
    transition: background-size 350ms;
    padding-bottom: 2px;
    &:hover {
            background-size: 100% 2px;
            background-position-x: left;
            text-decoration: none;
        }
}
*/

/* shadow of submenu in line 107 */
header .wp-block-group.navbgwhite {
    display: none;
    opacity: 0;
    height: 0px;
    width: 100%;
    -webkit-box-shadow: 0px 2px 5px 1px #e6e6e6;
    box-shadow: 0px 2px 5px 1px #e6e6e6;
    z-index: 1;
    margin-top: 0;
    position: absolute;
    background-color: white;
    -webkit-transition: opacity 0.4s 0.1s ease-in-out;
    transition: opacity 0.4s 0.1s ease-in-out;
}

header .wp-block-group.navbgwhite.show {
    display: block;
    opacity: 0.98;
    height: 280px;
    -webkit-transition: opacity 0.4s 0.1s ease-in-out;
    transition: opacity 0.4s 0.1s ease-in-out;
}

.wp-block-navigation.has-background .has-child .wp-block-navigation__submenu-container {
    background-color: transparent !important;
}

/* ------ */
.wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
  padding-top: 6px;
  padding-bottom: 6px;
  line-height: 1.2;
  color: var(--beneo_green)!important;
}


.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-container,
.wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container,
.wp-block-navigation .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within>.wp-block-navigation__submenu-container {
  padding-top: 10px;
  /*min-width: 300px;*/
}

ul.wp-block-navigation__container > li:first-of-type.has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-container,
ul.wp-block-navigation__container > li:first-of-type.has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container,
ul.wp-block-navigation__container > li:first-of-type.has-child:not(.open-on-click):not(.open-on-hover-click):focus-within>.wp-block-navigation__submenu-container {
  padding-top: 10px;
  
  /*width: 220px;
  .wp-block-navigation__submenu-container {
       width: 220px;
  }
  */
}

    .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
        width: 230px!important;
        li {padding-right: 5px!important;};
        .wp-block-navigation__submenu-container {  
            width: 230px!important;
            margin-left: 10px;
            &::before {padding-left: 15px;}
            li {
                margin-left: 5px;
                margin-right: 5px;
                a.wp-block-navigation-item__content {background-color: transparent;}
            }
        }
    }


ul.wp-block-navigation li.has-child:not(.open-on-click) > ul.wp-block-navigation__submenu-container > li:hover {
      background-color: rgba(100, 179, 44, 0.2);
      border-radius: 10px;
  }

  /*  */
ul.wp-block-navigation > li.has-child:not(.open-on-click) > ul.wp-block-navigation__submenu-container:first-of-type > li > a:hover {
    background-color: rgba(100, 179, 44, 0.2);
    border-radius: 10px;
}
 
  
ul.wp-block-navigation__submenu-container ul.wp-block-navigation__submenu-container {
    border: 1px solid;
    border-radius: 10px;
    padding-bottom: 10px;
    
    a.wp-block-navigation-item__content {
        font-size: 16px;
    }
}

.wp-block-navigation .wp-block-navigation__submenu-icon {
    background-color: transparent;
    border: none;
}

/*
ul.wp-block-navigation__submenu-container {
    box-shadow: 5px 5px 10px 0px rgba(0,0,0,0.2);
}
*/

.wp-block-search__inside-wrapper {
    max-width: 250px!important;
}

.wp-block-search__input {
    border: 0;
    margin: 10px 0;
    line-height: 0.8rem;
    font-size: 0.9rem;
}

.search-results .wp-block-post-date {display: none;}

/* text-decoration: underline; text-underline-offset: 8px; */

.search-results .wp-block-post-title a {
    color: var(--wp--preset--color--secondary);
    background: linear-gradient(0deg, var(--beneo_green), var(--beneo_green)) no-repeat right bottom / 0 2px;
    transition: background-size 350ms;
    &:hover {
        background-size: 100% 2px;
        background-position-x: left;
    }
}

/* ------ */
nav ol.has-background, ul.has-background {
  padding: 0;
}

.wp-block-navigation__responsive-container-open:not(.always-shown) {
        padding-left: var(--wp--style--root--padding-left)!important;
    }





/* ------------
   content
--------------- */

main h1.wp-block-post-title {
    max-width: var(--wp--style--global--wide-size);
}

/*
.has-global-padding {
    padding-right: 0;
    padding-left: 0; 
}
*/

/* --- für die hintergruender der sections mit abgerundetetn ecken --- */

/* class auf filwidth setzen */
    .bground {
    margin-right: 5%!important;
    margin-left: 5%!important;
    border-radius: 25px;
    &.ltgreen {
        background-color: var(--beneo_green_light);
    }
    &.ltgrbro {
        background-color: var(--iso_lightgreybrown);
    }
    &.ltbrown {
        background-color: var(--iso_ltbrown);
    }
    &.ltyellow {
        background-color: var(--iso_ltyellow);
    }
    &.ltblue {
        background-color: var(--iso_ltblue);
    }
    }

    
    /* bzw main img - featured und breadcrumb in den header */
figure:not(.wp-block-post-featured-image):not(.circle200):not(.circle100) img {
    border: 1px solid #f2f2f2;
    border-radius: 25px;
}    
    
    
/* ODER im page template Editor löschen riesen padding vor footer  */  
    
main > section.wp-block-template-part {display: none;}

main:not(.home) > figure.wp-block-post-featured-image {margin-top:0!important;}

main {margin-top:0!important;}



/* ------------------------------
    legend for anchorlinks
 * ------------------------------*/

ul.anchorlist.border {
    padding-inline-start: 0px !important;
}

ul.anchorlist.border li {
  /*display: block;*/
  list-style-type: none;
  line-height: 1.2rem;
  border-bottom: 2px solid #ccc;
  padding: 16px 10px;
  margin: 0 !important;
  a {font-size: 0.91em;}
}

ul.anchorlist.border li:first-of-type {
    border-top: 2px solid #ccc;
}



/* --------------------------
   animierte svg logo bullets
----------------------------- */

.in-viewport.hidden #Ebene_1b {display: none;}

main {
    #Ebene_1 {position: relative;}

    #Ebene_1 path {
        /*  */
        stroke: #6eb31a;
        stroke-width: 1px;
        fill-opacity: 0;
        visibility: hidden;
    }

    #Ebene_1 path.cls-1, #Ebene_1 path.b-1 {
      position: relative;
      overflow: hidden; /**/
    }

    #Ebene_1 path.cls-2, #Ebene_1 path.b-2 {
        visibility: hidden;
    }


    .bb-1, .bb-2, .bb-5, .bb-3, .bb-4, .bb-6 {
        visibility: hidden;
    }

} /* end main */

/* --------------------------
   circles
----------------------------- */
/*
.circle75.mgreen {clip-path: circle(75px);}
.circle150 {clip-path: circle(150px);}*/

.circle100 {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    margin-top: 0;
    left: 130px;
    top: 130px;
    height: 100px;
    width: 100px;
    border-radius: 50%;
     -webkit-transform: scale(1.0) rotate(0deg);
    transform: scale(1.0) rotate(0deg);
    -webkit-transition: all 0.4s ease-in-out;
    transition: all 0.4s 0.1s ease-in-out;
    &.mgreen {background-color: var(--iso_medgreen);}
    a {color: #6f3803;}
    p {
        font-size: 1rem;
        line-height: 1.2;
        text-align: center;/**/
    }
}

.circle100.ico {
    left: 100px;
    top: 90px;
}

.circle100:hover {
    cursor: pointer;
    /*background-color: var(--iso_medgreen_full);*/
    -webkit-transform: scale(1.1) rotate(5deg);
    transform: scale(1.1) rotate(5deg);
    -webkit-transition: all 0.4s ease-in-out;
    transition: all 0.4s 0.1s ease-in-out;
    &.mgreen {background-color: var(--iso_medgreen_full);}
}


.circle150 img {
    height: 150px;
    width: 150px;
    border-radius: 50%;
    /*display: inline-block;*/
}

.circle200 img {
    height: 200px;
    width: 200px;
    border-radius: 50%;
    /*display: inline-block;*/
}


/* --------------------------
   fade in animations
----------------------------- */

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
  }
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeInUpV {
  from {
    transform: translateY(100px);
  }
  to {
    transform: translateY(0px);
  }
}

@-webkit-keyframes fadeInUpV {
  from {
    transform: translateY(100px);
  }
  to {
    transform: translateY(0px);
  }
}

/*.in-viewport {opacity: 0;}*/

.in-viewport, .in-viewport.hidden {
    opacity: 0;
}

.up.in-viewport.visible {
    -webkit-animation: fadeInUp 1s ease-out forwards;
    animation: fadeInUp 1s ease-out forwards;
}

.up.in-viewport.visible.one {
    -webkit-animation: fadeInUp 0.75s ease-out forwards;
    animation: fadeInUp 0.75s ease-out forwards;
}

.up.in-viewport.visible.two {
     -webkit-animation: fadeInUp 0.75s ease-out 0.25s forwards;
    animation: fadeInUp 0.75s ease-out 0.25s forwards;
}

.up.in-viewport.visible.three {
     -webkit-animation: fadeInUp 0.75s ease-out 0.5s forwards;
    animation: fadeInUp 0.75s ease-out 0.5s forwards;
}

.up.in-viewport.visible.four {
     -webkit-animation: fadeInUp 0.75s ease-out 0.75s forwards;
    animation: fadeInUp 0.75s ease-out 0.75s forwards;
}

.up.in-viewport.visible.five {
     -webkit-animation: fadeInUp 0.75s ease-out 1s forwards;
    animation: fadeInUp 0.75s ease-out 1s forwards;
}


@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-200px);
  }
  to {
    opacity: 1;
  }
}

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-200px);
  }
  to {
    opacity: 1;
  }
}

.in-viewport.visible.ltr {
     -webkit-animation: fadeInLeft 1s ease-out 0.35s forwards;
    animation: fadeInLeft 1s ease-out 0.35s forwards;
}

.in-viewport.visible.ltr.two {
     -webkit-animation: fadeInLeft 1s ease-out 0.7s forwards;
    animation: fadeInLeft 1s ease-out 0.7s forwards;
}

.in-viewport.visible.ltr.three {
     -webkit-animation: fadeInLeft 1s ease-out 1s forwards;
    animation: fadeInLeft 1s ease-out 1s forwards;
}

.in-viewport.visible.ltr.four {
     -webkit-animation: fadeInLeft 1s ease-out 1.4s forwards;
    animation: fadeInLeft 1s ease-out 1.4s forwards;
}




/* --------------------------
   hn-box
----------------------------- */

/* .wp-block-columns.hn-boxes { } */

.hn-box {
    position: relative;
}

.hn-box > .wp-block-cover {
    border: 1px solid #f2f2f2;
    border-radius: 25px;
}

.hn-box .wp-block-cover img.wp-block-cover__image-background {
    border-radius: 25px;
}

.hn-box .wp-block-cover span.wp-block-cover__background {
    cursor: pointer;
    left: 75%;
    border-radius: 50% 0 0 50%;
    -webkit-transition: all 0.4s ease-in-out;
    transition: all 0.4s 0.1s ease-in-out;
}

.hn-box:hover .wp-block-cover span.wp-block-cover__background {
    left: 45%;
    -webkit-transition: all 0.4s ease-in-out;
    transition: all 0.4s 0.1s ease-in-out;
}

.hn-box .wp-block-cover span.wp-block-cover__background.has-background-dim.has-background-dim-90,
.hn-box .wp-block-cover span.wp-block-cover__background.has-background-dim.has-background-dim-80 {
    opacity: .85!important;
}

.hn-box .wp-block-cover .wp-block-cover__inner-container {
    color: inherit;
    position: absolute;
    width: 40%;
    /*border: 1px solid pink;*/
    left: 100%;
    padding: 25px;
}
.hn-box:hover .wp-block-cover .wp-block-cover__inner-container {
    left: 50%;
    -webkit-transition: all 0.4s ease-in-out;
    transition: all 0.4s 0.1s ease-in-out;
}


.hn-box .wp-block-cover + figure {
    position: absolute;
    right: 25px;
    bottom: 25px;
    -webkit-transition: all 0.4s ease-in-out;
    transition: all 0.4s 0.1s ease-in-out;
}

.hn-box > figure img {
    -webkit-transform: scale(1.0) rotate(0deg);
    transform: scale(1.0) rotate(0deg);
    -webkit-transition: all 0.4s ease-in-out;
    transition: all 0.4s 0.1s ease-in-out;
}

.hn-box > figure:hover {
    cursor: pointer;    
    img {
        -webkit-transform: scale(1.1) rotate(10deg);
        transform: scale(1.1) rotate(10deg);
        -webkit-transition: all 0.4s ease-in-out;
        transition: all 0.4s 0.1s ease-in-out;
    }
    
}


@media (max-width: 1023px) {
    .wp-block-columns.hn-boxes {
        flex-wrap: wrap!important;
        justify-content: center;
    }
    .wp-block-columns.hn-boxes > .wp-block-column,
    .wp-block-columns.hn-boxes .wp-block-group.hn-box {
        flex-Basis: 70%!important;
    }
}

@media (max-width: 880px) {
    .wp-block-columns.hn-boxes > .wp-block-column,
    .wp-block-columns.hn-boxes .wp-block-group.hn-box {
        flex-Basis: 80%!important;
    }
    
    .wp-block-columns.hn-boxes .wp-block-columns {
        justify-content: space-between;
    }
}

@media (max-width: 649px) {
    .wp-block-columns.hn-boxes > .wp-block-column,
    .wp-block-columns.hn-boxes .wp-block-group.hn-box {
        flex-Basis: 100%!important;
        .wp-block-cover, .wp-block-cover-image {
            min-height: 350px;
        }
    }
    
    .wp-block-columns.hn-boxes .wp-block-columns {
        justify-content: center;
    }
    
    .hn-box .wp-block-cover .wp-block-cover__inner-container {
        p {margin-left: 20px;}
        ul {
            margin-block-start: 0.5rem;
            li {
                line-height: 1.35;
                font-size: 0.95rem;
                margin-bottom: 3px;
            }
        }
    }
    .hn-box:hover .wp-block-cover span.wp-block-cover__background {
        left: 40%;
    }
    .hn-box:hover .wp-block-cover .wp-block-cover__inner-container {
        left: 45%;
    }
}


.hn-box-mini .wp-block-cover {
    display: flex;
    justify-content: flex-end;
}

.hn-box-mini .wp-block-cover span.wp-block-cover__background {
    cursor: pointer;
    /*position: absolute;*/
    top: 70%;
    border-radius: 50% 50% 0 0;
    -webkit-transition: all 0.4s ease-in-out;
    transition: all 0.4s 0.1s ease-in-out;
    
}

.hn-box-mini .wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-80 {
    opacity: 0.85!important;
}
.hn-box-mini .wp-block-cover .wp-block-cover__inner-container {
    position: absolute;
    bottom: 10px;
    left: 0;
    p > a {color: var(--wp--preset--color--contrast)!important;}
    }
   
.hn-box-mini .wp-block-cover { 
    border: 1px solid #f2f2f2;
    border-radius: 20px;    
}
    
.hn-box-mini .wp-block-cover img {
    border-radius: 20px;
    -webkit-transform: scale(1.0);
    transform: scale(1.0);
    -webkit-transition: all 0.4s ease-in-out;
    transition: all 0.4s 0.1s ease-in-out;
}
    
.hn-box-mini .wp-block-cover:hover img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-transition: all 0.4s ease-in-out;
    transition: all 0.4s 0.1s ease-in-out;
}

@media (max-width: 959px) {
    .hn-boxes .wp-block-columns .wp-block-column.hn-box-mini p > a {
        font-size: 0.9rem;
    }
}

@media (max-width: 781px) {
    .hn-boxes .wp-block-columns .wp-block-column.hn-box-mini {
        flex-basis: 45% !important;
        flex-grow: 0;
    }
}

@media (max-width: 649px) {
    .wp-block-columns.hn-boxes .wp-block-columns {
        justify-content: center;
    }
    .hn-boxes .wp-block-columns .wp-block-column.hn-box-mini {
        flex-basis: 80% !important;
        flex-grow: 0;
    }
}

/* -----------------
    navi icons
-------------------- */

@media (max-width: 959px) {
    .wp-block-columns.navi-icons {
        flex-wrap: wrap!important;
        justify-items: center;
        .wp-block-column {
            flex-basis: 45%;
            flex-grow: 0;   
            margin-bottom: 50px;
        }
    }
}

@media (max-width: 781px) {
    .wp-block-columns.navi-icons .wp-block-column {
        flex-basis: 45%!important;
    }
}

@media (max-width: 649px) {
    .wp-block-columns.navi-icons .wp-block-column {
        flex-basis: 90%!important;
    }
}

/* -----------------
   contact box
-------------------- */

.contact-box {
    background-color: #ffffffd6; /*#ffffffcc;*/
    margin-top: 0px!important;
    border-radius: 25px;
    border: 1px solid #f2f2f2;
}

/*
.page-id-18 .contact-box {
    background-color: #ffffffd6; 
    margin-top: 0px!important;
    border-radius: 25px;
    border: 1px solid #f2f2f2;
    &.up.visible {
        margin-top: -50px!important;
         -webkit-transition: all 0.4s ease-in-out;
        transition: all 0.4s 0.1s ease-in-out;
    }
}
*/


/* -----------------
   Split text
-------------------- */

.container {
  max-width: 80vw;
}

.split {
  opacity: 0;
  text-align:center;
  color: rgb(14, 16, 15);
  /*font-size: clamp(2rem, 5rem, 3vw);*/
  letter-spacing: 0.05rem;
  will-change: transform;
  color: #0e100f;
}

.split * {
  will-change: transform;
}

/* bringt style auf .wp-block-navigation__submenu-icon und search icon durcheinander
button:not(.wp-block-navigation__submenu-icon) {
  display: inline-block;
  outline: none;
  padding: 8px 14px;
  background: transparent;
  border: solid 4px #0e100f;
  color: #0e100f;
  text-decoration: none;
  border-radius: 99px;
  padding: 12px 25px;
  text-transform: uppercase;
  font-weight: 600;
  cursor: pointer;
  line-height: 18px;
}
*/

/* -----------------
   BUTTONS
-------------------- */


.wp-block-button.butcircle {
    position: relative;
    /*border: 1px solid blue;      */
}

.wp-block-button.butcircle:hover {
    cursor: pointer;
    color: white;
        a.wp-block-button__link {
            color: white; 
            font-size: 14px;
            transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
        }
        
}

/* \25B9,  */

.wp-block-button.butcircle::before {
    content: '';
    cursor: pointer;
    position: absolute;
    display: inline-block;
    margin: 0;
    width: 26px;
    height: 26px;
    left: 0px;
    top: 2px;
    font-size: 12px;
    color: white;
    background-color: var(--beneo_green);
    border-radius: 13px;
    transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
    /* z-index: 1; */
    }
    
    .wp-block-button.butcircle:hover::before {
        cursor: pointer;
        width: calc(100% + 10px);
        height: 30px;
        top: 0px;
        /*z-index: -1; */
        transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
        
    }    

 
    .wp-block-button.butcircle::after {
        content: '\25B6';
        cursor: pointer;
        position: absolute;
        display: inline-block;
        font-size: 12px;
        color: white;
        left: 9px;
        top: 5px;
        /* z-index: 1; */
        transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
    }
    
    
    .wp-block-button.butcircle:hover::after {
        left: 18px;
        /* z-index: -1; */
        transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
        
    }
    
    .wp-block-button.butcircle > a.wp-block-button__link {
        position: relative;
        padding: 0px 20px;
        margin-left: 10px;
        background-color: transparent;
        font-size: 16px;
        line-height: 16px;
        z-index: 2;
        text-transform: uppercase;
        transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
    }


/*
.wp-block-button.butcircle > a::before {
    transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
        position: relative;
        display: block;
        margin: 0;
        width: 3rem;
        height: 3rem;
        background: var(--beneo_green);
        border-radius: 1.625rem;
}
*/


/* -----------------
   BUTTON PULSE
-------------------- */


body, html {
  height: 100%;
  background: #fff;
}

.container-button {
  width: 200px;
  height: 100%;
  margin: 0 auto 0;
  -webkit-perspective: 1000;
  -webkit-backface-visibility: hidden;
  background: #fff;
}

.pulse-button {
  position: relative;
  top: 50%;
  left: 50%;
  margin-left: -50px;
  margin-top: -50px;
  display: block;
  width: 100px;
  height: 100px;
  /*
  font-size: 1.3em;
  font-weight: light;
  font-family: 'Trebuchet MS', sans-serif;
  */
  text-transform: uppercase;
  text-align: center;
  line-height: 100px;
  letter-spacing: -1px;
  color: white;
  border: none;
  border-radius: 50%;
  background: #5a99d4;
  cursor: pointer;
   box-shadow: 0 0 0 50px rgba(#5a99d4, .5);
   -webkit-animation: none;
  
 
}
.pulse-button:hover {
    -webkit-animation: pulse 1.5s infinite ;
}

@-webkit-keyframes pulse {
  0% {
    transform: scale(.9);
  }
  70% {
    transform: scale(1);
    box-shadow: 0 0 0 50px rgba(#5a99d4, 0);
  }
    100% {
    transform: scale(.9);
    box-shadow: 0 0 0 0 rgba(#5a99d4, 0);
  }
}



/* -----------------
   BUTTON PULSE 2
-------------------- */
    
/*
body {
    font-family: sans-serif;
    background-color: #81d4fa;
    font-weight: bold;
}


.text-box {
    margin-left: 44vw;
    margin-top: 42vh;
}
*/

/*
.btn:link,
.btn:visited {
    text-transform: uppercase;
    text-decoration: none;
    padding: 15px 40px;
    display: inline-block;
    border-radius: 100px;
    transition: all .2s;
    position: absolute;
}
*/

.text-box {
    position: relative;
    width: 100px;
    height: 100px;
}

.btn {
    display: flex;
    flex-direction: column;
    justify-content: center;
    
}

.btn:link,
.btn:visited {
    text-transform: uppercase;
    text-decoration: none;
    /*padding: 15px 40px;
    display: inline-block;*/
    font-size: 0.9rem;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    transition: all .2s;
   /* position: absolute;*/
}

.btn span {
    text-transform: uppercase;
    text-decoration: none;
    text-align: center;
    color: white;
    /*
    top: 35%;
    position: absolute;
    left: 8px;
    */
}

.btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
    border: none; /**/
    transition: all .4s;
}

.btn:active {
    transform: translateY(-1px);
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}

.btn-white {
    background-color: #fff;
    color: #777;
}

.btn-blue {
    background-color: var(--beneo_blue);
    color: #fff;
    /*border: 8px solid #00509126;  */
    transition: all .4s;
}
/*
.btn::after {
    content: "";
    display: inline-block;
    height: 100%;
    width: 100%;
    border-radius: 100px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: all .4s;
}
*/
.btn::after {
    content: "";
    display: inline-block;
    height: 120px;
    width: 120px;
    border-radius: 50%;
   /* border: 8px solid #00509126;*/
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: all .4s;
}

.btn-white::after {
    background-color: #fff;
}

.btn-blue::after {
    background-color: #00509126;
     top: -10px;
    left: -10px;
}

.btn:hover::after {
    transform: scaleX(1.4) scaleY(1.6);
    opacity: 0;
}

.btn-animated {
    animation: moveInBottom 5s ease-out;
    animation-fill-mode: backwards;
}

@keyframes moveInBottom {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }

    100% {
        opacity: 1;
        transform: translateY(0px);
    }
}


/* ----------------------
   BUTTON animated border
------------------------- */

.but-abo {
    border: 0;
    position: relative;
}

.but-abo::before,
.but-abo::after {
    box-sizing: inherit;
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
}

.but-abo.spin {
    height: 120px;
    width: 120px;
}

.but-abo.spin::before,
.but-abo.spin::after {
    top: -8px;
    left: -8px;
}

/* */
.but-abo.spin::before {
    border: 8px solid transparent;
}

.but-abo.spin:hover::before {
    border-top-color: #00509126;
    border-right-color: #00509126;
    
    border-bottom-color: #00509126;
    transition: border-top-color 0.15s linear, border-right-color 0.15s linear 0.10s, border-bottom-color 0.15s linear 0.20s;
}


/* */
.but-abo.spin::after {
    border: 0 solid transparent;
}

.but-abo.spin:hover::after {
    border-top: 8px solid #00509126; /*#0eb7da;*/
    border-left-width: 8px;
    border-right-width: 8px;
     border-bottom-width: 8px;
    transform: rotate(270deg);
    transition: transform 0.4s linear 0s, border-left-width 0s linear 0.35s, -webkit-transform 0.4s linear 0s;
}
/* border-left-width 0s linear 0.35s, */

.but-abo.circle {
    border-radius: 50% !important;/*100%;*/
    box-shadow: none;
    background-color: pink; /*var(--beneo_blue);*/
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.but-abo.circle::before,
.but-abo.circle::after {
    border-radius: 50% !important; /*100%;*/
}



/* -----------------
   LINKS
-------------------- */

main {
    p > a, li > a {
        color: var(--wp--preset--color--secondary)!important;
        font-weight: 400;
        /*background: linear-gradient(0deg, #6eb31b14, #6eb31b14) no-repeat right bottom / 0 100%;*/
        background: linear-gradient(0deg, var(--beneo_green), var(--beneo_green)) no-repeat right bottom / 0 2px;
        transition: background-size 350ms;
        padding-bottom: 2px;

        &:hover {
            background-size: 100% 2px;
            background-position-x: left;
            text-decoration: none;
        }
    }
}

.hn-box ul.wp-block-list li > a {color: var(--wp--preset--color--contrast)!important;}

/* für breadcrumb */

main > .wp-block-group.bc {
    margin-top: 0;
    position: relative;
    /*top: -15px;*/
    padding-bottom: 5px;
    border-bottom: 1px solid #ccc;
}

main > figure + .wp-block-group.bc {
    top: 5px;
}

.bc p a {
    text-decoration: none;
    color: var(--wp--preset--color--contrast)!important;
    font-weight: 400!important;
    font-size: 0.8rem!important;
    line-height: 1rem !important;
     &:hover {
        color: var(--wp--preset--color--contrast);
        background-color: transparent;
    }
}

/* ---  dots after text --- */

h2.text-dots {
    position: relative;
    display: flex;
    justify-content: center;
}
h2.text-dots::after {
    content:"";
    /*
    width: 70px;
    height: 70px;
    margin-left: -40px;
    margin-top: 5px;
    */
    width: 120px;
    height: 120px;
    margin-left: -75px;
    margin-top: -25px;
    background-image: url('https://iso.960pixel.de/wp-content/uploads/2025/09/Logo-dots.svg');
}


/* --------------
   LIST
----------------- */

ul.flex {
    display: flex !important;
    align-items: flex-start;
    flex-direction: column;
    li {
        position: relative;
        color: var(--wp--preset--color--contrast)!important;
        a:hover {
            cursor: pointer;
        }
        > a:before {
            position: absolute;
            top: 0;
            left: 0;
            width: 0;
            white-space: nowrap;
            overflow: hidden;
            transition: width 350ms ease;
           }
        > a:hover::before {
            width: 100%;
        }
    }
}

/*
ul.flex li > a:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    white-space: nowrap;
    overflow: hidden;
    transition: width 350ms ease;
   }
   
ul.flex li > a:hover::before {
    width: 100%;
}
*/

/* --- bulllet list --- */

ul.bullet {
    list-style: none;
    margin-block-start: 0;
    margin-top: 0;
}

ul.bullet.flex {
    display: flex !important;
    align-items: flex-start;
    flex-direction: column;
}

ul.bullet li {
    position: relative;
    color: var(--wp--preset--color--contrast)!important;
}

ul.bullet.big li:before {
    content: "";
    /*content: "\27bd \0020";*/
    /* color: var(--wp--preset--color--contrast);  */
    position: absolute;
    height: 14px;
    width: 14px;
    background-color: var(--beneo_green);
    border-radius: 50%;
    margin-right: 18px;
    left: -24px;
    top: 9px;
}

/* */
ul.bullet li:before {
    content: "";
    position: absolute;
    height: 8px;
    width: 8px;
    background-color: var(--beneo_green);
    border-radius: 50%;
    margin-right: 16px;
    left: -20px;
    top: 12px;
}

ul.bullet li:hover {
    cursor: pointer;
    /*color: var(--beneo_green)!important;*/
}

ul.bullet li > a:before {
    position: absolute;
    /*content: attr(href);*/
    /*content: attr(data-content);  Prints the value of the attribute */
    top: 0;
    left: 0;
    width: 0;
    white-space: nowrap;
    color: midnightblue!important;
    /* text-decoration: underline; */
    overflow: hidden;
    transition: width 350ms ease;
   }
   
ul.bullet li > a:hover::before {
    width: 100%;
}
   
   
/* --- --- */

ol {
  --diameter: 25px;
  list-style: none;
  counter-reset: mylist;
  margin: 20px 0;
  padding: 10px 0;
  font: bold 1rem / var(--diameter) sans-serif;
  background-image: url('data:image/svg+xml,<svg viewBox="0 0 100 100" preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg"><rect x="80" y="0" width="20" height="100" fill="%23d9f0c4" /></svg>');
  background-repeat: no-repeat;
  background-size: 52px 100%;  /* 52 is a magic number */
}
ol li {
  margin: 30px;
}
ol li:before {
  display: inline-block;
  content: counter(mylist);
  counter-increment: mylist;
  margin-right: 15px;
  width: var(--diameter);
  height: var(--diameter);
  border: 4px solid #7aca2a;
  border-radius: 50%;
  text-align: center;
  color: gray;
  background: #d9f0c4;
}


/* --------------
   TILES
----------------- */

.box-round {
    padding: 25px;
    border: 1px solid #ccc;
    border-radius: 15px;
    align-self: stretch;
}
  
  
/* --- CSS grid --- */
  
.fourtile-grid {
    display: grid!important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    /*gap: 0; 1rem; */
    grid-template-rows: 1fr;
    
    >.wp-block-column {
        display: flex;
        justify-content: center;
        flex-direction: column;
        height: 250px;
       /* a {color: var(--beneo_green)!important;}*/
       &:nth-of-type(even):not(:last-of-type) {margin-right: 1rem;}
    }
}

/* --- effect diagonla move --- */

.fourtile-grid.move .wp-block-column {
    position: relative;
    overflow: visible;
    .imgbox {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 2;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color:#f2f2f2;
        box-shadow: none;
        border-left: 1px solid #f2f2f2;
        border-top: 1px solid #f2f2f2;
        transform: translate(0, 0);
        transition: all 0.5s ease-in-out;
      }
      
    .box-content {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
        display: flex;
        justify-content: center;
        align-items: flex-end;
        background-color:#ffffff;
        border: 1px solid #cccccc;
        margin-block-start: 0;
        transform: translate(0, 0);
        transition: all 0.5s ease-in-out;
        padding: 20px;
    }
}

.fourtile-grid.move .wp-block-column:hover {
    cursor: pointer;
    .imgbox {
        z-index: 4;
        box-shadow: 2px 2px 6px 2px #e6e6e6;
        border-left: 1px solid #e0e0e0;
        border-top: 1px solid #e0e0e0;
        transform: translate(-2.5rem, -2.5rem);
    }
    .box-content {
        z-index: 3;
        transform: translate(2rem, 2rem);

    }
}


/* ------------------------
   group background
--------------------------- */

/*.wp-block-group*/
.groupbg {
    border-radius: 25px;
    padding: 30px;
   &.green {
        background-color: var(--beneo_green_light);
    }
}

/* intro ebene home - heght muss angepasst werden je scrren
    top: 20px;
    left: -30px;
    width: 90%;
    height: 60%;
*/


/* ------------------------
   conceptboxes
--------------------------- */


.wp-block-columns.space-between {
    justify-content: space-between; 
}

.wp-block-columns.conceptboxes,
.wp-block-columns.webinarboxes {
    align-items: stretch!important;
    justify-content: space-between;
    /*flex-grow: 1;*/
    gap: 2.2rem;
}

.wp-block-columns.conceptboxes .wp-block-column,
.wp-block-columns.webinarboxes .wp-block-column > .wp-block-group {
    flex-basis: 0;
    flex-grow: 1; 
    overflow: hidden;
    /*
    -moz-box-shadow: 3px 3px 7px 3px #e6e6e6;
    -webkit-box-shadow: 3px 3px 7px 3px #e6e6e6;
    box-shadow: 3px 3px 7px 3px #e6e6e6;
    
    */
    border: 1px solid #dadada;
    background-color: white; /* var(--beneo_green_light); */
    border-radius: 25px;
    margin-bottom: 15px;
    -webkit-transition: all 0.4s 0.1s ease-in-out;
    transition: all 0.4s 0.1s ease-in-out;
}

.wp-block-columns.conceptboxes .wp-block-column.empty {
    border: 0px;
}

.wp-block-columns.conceptboxes > .wp-block-column > .wp-block-cover {
    border-top-left-radius: 25px;
    border-top-right-radius: 25px;
}

.wp-block-columns.conceptboxes > .wp-block-column > figure > img {
    border-top-left-radius: 25px;
    border-top-right-radius: 25px;
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
}

.wp-block-columns.conceptboxes .wp-block-column:hover {
    -moz-box-shadow: 3px 3px 7px 3px #e6e6e6;
    -webkit-box-shadow: 3px 3px 7px 3px #e6e6e6;
    box-shadow: 3px 3px 7px 3px #e6e6e6;
    -webkit-transition: all 0.4s 0.1s ease-in-out;
    transition: all 0.4s 0.1s ease-in-out;
}

/*
.wp-block-columns.conceptboxes.gap .wp-block-column,
.wp-block-columns.webinarboxes.gap .wp-block-column > .wp-block-group {
    flex-basis: 30%;
    flex-grow: 0; 
    -moz-box-shadow: 3px 3px 7px 3px #e6e6e6;
    -webkit-box-shadow: 3px 3px 7px 3px #e6e6e6;
    box-shadow: 3px 3px 7px 3px #e6e6e6;
    background-color: white;
    margin-bottom: 15px;
}
*/
/* mit height: die group wird gestretcht damit alle boxen die gleich hoehe belommen
.wp-block-columns.webinarboxes .wp-block-column > .wp-block-group {
    height: 100%; 
}
*/

.wp-block-columns.conceptboxes .wp-block-column.empty {
    -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  background-color: transparent
}


/* bilder sind 400x300 werden nicht größer als 100% deswegen greift object fit nicht */
.wp-block-columns.conceptboxes > .wp-block-column > figure > img {
    object-fit: cover;
    width: 100%;
}

.wp-block-columns.conceptboxes .wp-block-column.is-layout-flow,
.wp-block-columns.conceptboxes .wp-block-group.is-layout-flow {
    margin-block-start: 0!important; 
}

:where(body .wp-block-columns.conceptboxes .wp-block-column.is-layout-flow) > *,
:where(body .wp-block-columns.conceptboxes .wp-block-group.is-layout-flow) > * {
    margin-block-start: 0!important; 
}

:where(body .wp-block-columns.conceptboxes .wp-block-column.is-layout-flow) > p,
:where(body .wp-block-columns.conceptboxes .wp-block-group.is-layout-flow) > p {
    margin-block-start: 0.8rem!important; 
}

.wp-block-columns.conceptboxes .wp-block-column > .wp-block-group {
    position: relative;
   padding: 10% 8% 10% 8%; /*5% 10% 10% 10%;*/
   /*padding-top: 1.5rem;*/
}

.wp-block-columns.conceptboxes .wp-block-column > .wp-block-group.cat-fiber:before  {
    content: 'Functional Fibres';
    background-color: var(--beneo_green_cat);
    color: white;
    padding: 2px 12px;
    position: absolute;
    top: -33px;
    right: 0%;
}
.wp-block-columns.conceptboxes .wp-block-column > .wp-block-group.cat-sec:before  {
    content: 'Second categorie';
    background-color: var(--beneo_orange_cat);
    color: white;
    padding: 2px 12px;
    position: absolute;
    top: -33px;
    right: 0%;
}
.wp-block-columns.conceptboxes .wp-block-column > .wp-block-group.cat-third:before  {
    content: 'Third categorie';
    background-color: var(--beneo_blue_cat);
    color: white;
    padding: 2px 12px;
    position: absolute;
    top: -33px;
    right: 0%;
}

@media (max-width: 1023px) {
    .wp-block-columns.conceptboxes {
        flex-wrap: wrap!important;
        justify-content: center;
        .wp-block-column {
            flex-basis: 45%;
            flex-grow: 0;
        }
    }
}

@media (max-width: 781px) {
    .wp-block-columns.conceptboxes .wp-block-column {flex-basis: 70%!important;}
}

@media (max-width: 649px) {
    .wp-block-columns.conceptboxes .wp-block-column {
        flex-basis: 80%!important;
        flex-grow: 1;
    }
}

/* ------------
   search page
--------------- */

.search-results {
    h1 {
        margin-block-start: 60px;
    }
    ul.columns-1 > li:first-of-type {
        border-top: 1px solid #ccc;
        padding-top: 20px;
    }
    ul.columns-1 > li {border-bottom: 1px solid #ccc;}
    ul.columns-1 > li > figure {
        float: left;
        width: 30%!important;
        margin-right: 30px;
        img {
            border: 1px solid #f2f2f2;
            border-radius: 25px;
        }
    }
}


/* ------------
   404 page
--------------- */

.error404 {
    form {
        &.aligncenter {margin-left: 0!important;}
        &.wp-block-search.aligncenter .wp-block-search__inside-wrapper {
            margin: auto;
            margin-left: 0;
        }
        input.wp-block-search__input {
            border: 1px solid #ccc;
            border-radius: 10px;
        }
        button.wp-block-search__button {
            background-color: var(--wp--preset--color--secondary);
            border-radius: 30px;
            padding: 15px;
        }
    }
    
}


/* --------------
   Footer
----------------- */

footer {margin-top: 0!important;}

/* --------------
   responsiveness
----------------- */


/*
-webkit-min-device-pixel-ratio für Retina-Geräte 
min-resolution gilt für Firefox & Co.
*/

/*
Da die Angabe in dpi bei Displays allerdings etwas irreführend ist, lautet der neue Standard dppx – Dots per Pixel.
*/

/*
@media screen and (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) {  }

@media screen and (-webkit-min-device-pixel-ratio: 1.3), (min-resolution: 124.8dpi) {  }

@media screen and (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { }
*/


@media 
(-webkit-min-device-pixel-ratio: 2), 
(min-resolution: 192dpi) { 
    /* Retina-specific stuff here */
}


@media
  screen and (min-width:600px) and (-webkit-min-device-pixel-ratio: 2),
  screen and (min-width:600px) and (min-resolution: 192dpi),
  screen and (min-resolution: 2dppx) {

  div {background:url(tablet@2x.jpg);}
}


@media (max-width: 959px) {
    .hidetablet {display: none;}
}

@media (max-width: 782px) {}