/**
 * Theme Name:     Twenty Twenty-Four Child
 * Author:         the WordPress team
 * Template:       twentytwentyfour
 * Text Domain:	   twenty-twenty-four-child
 * Description:    Twenty Twenty-Four is designed to be flexible, versatile and applicable to any website. Its collection of templates and patterns tailor to different needs, such as presenting a business, blogging and writing or showcasing work. A multitude of possibilities open up with just a few adjustments to color and typography. Twenty Twenty-Four comes with style variations and full page designs to help speed up the site building process, is fully compatible with the site editor, and takes advantage of new design tools introduced in WordPress 6.4.
 */
body { font-family: 'Sofia Pro', sans-serif;  }
body.wait *                            { cursor: wait !important;  }
:where(figure) { margin: 0;  }

/*!!!wichtig!!!!*/
.gb-container { box-sizing: border-box;  }

.read-more { text-decoration: underline; margin-left: 5px;  }

strong, bold { font-weight: 600;  }

.hide,.hidden { display: none;  }
.logo { max-width: 100px;  }
.logos img { filter: grayscale(1); }

h5 { color: inherit;  }

.border-radius { border-radius: 12px;  }

.border-radius { border-radius: 12px;  }

.x-icon, .check-icon { position:relative; transform: scale(0.9); }
.x-icon .gb-icon, .check-icon .gb-icon {  z-index:2;  }
.check-icon .gb-icon { transform: translateY(-2px);  }
.x-icon .gb-icon svg { width:20px; height:20px; }

.x-icon:after,
.check-icon:after { content:''; position:absolute; top:-10px; left: 0; right:0; margin: 0 auto; width:40px; height:40px; background:#FFDBDB; border-radius:100%; z-index:1; border: 1px solid #FF8282; } 

.check-icon:after { background: #caffd3; border: 1px solid var(--wp--preset--color--custom-green); top: -11px;  } 

body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: auto !important; }

.quote-before { 
border: 1px solid #FFDBDB;
 } 


.quote-after{ 
border: 1px solid #daffe0;
 } 


 .slick-next:before, .slick-prev:before { font-size: 32px; color: var(--wp--preset--color--contrast); }
 .slick-slide figure { text-align: center;  }
 .slick-slide figure img { display: inline-block;  }
 .slick-dots li button:before { font-size: 14px;  }
 .slick-dots { bottom: -48px;  }

.icon-background {position: relative; transform: translateX(16px); } 
.icon-background:after { content: ""; background: #f5f5f5; position: absolute; left: -16px; width: 64px; height: 64px; border-radius: 51% 49% 31% 69% / 66% 50% 50% 34%; z-index: -1;  }

.row { max-width: calc(1280px) !important;  }

@media all and (max-width:1280px){

.row { max-width: calc(100% - 64px) !important;  }

}

@media all and (max-width:480px){
  .row { max-width: calc(100% - 32px)  !important;  }
	.headline { max-width: calc(100% - 32px) !important; margin-left: auto; margin-right: auto;  }
	.slick-arrow { display: none !important;  }
}

/*reset listen*/
.wp-block-details ul li { font-size: 16px !important; font-weight: 400;  }
.wp-block-details ul { padding-left: 18px !important;  }

header .wp-block-buttons { box-shadow: none;  }
.wp-block-button__link:hover { transform: scale(0.95); box-shadow: 0px 0px 0px #A7CFFF; transform-origin: center; transition: all .4s;  }



/*formulare*/
/******************* Formular **************/
::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #ACACAC;
  font-size: 16px;
}
::-moz-placeholder { /* Firefox 19+ */
  color: #ACACAC;
  font-size: 16px;
}
:-ms-input-placeholder { /* IE 10+ */
  color: #ACACAC;
  font-size: 16px;
}
:-moz-placeholder { /* Firefox 18- */
  color: #ACACAC;
  font-size: 16px;
}


.briefingform ::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  font-size: 18px;
  line-height: 1.4;
}
.briefingform ::-moz-placeholder { /* Firefox 19+ */
  font-size: 18px;
  line-height: 1.4;
}
.briefingform :-ms-input-placeholder { /* IE 10+ */
  font-size: 18px;
  line-height: 1.4;
}
.briefingform :-moz-placeholder { /* Firefox 18- */

  font-size: 18px;
  line-height: 1.4;
}

.form                           { position: relative; margin-top: 24px; text-align: left; }
.form label                     { display: block; color:#506681; margin-bottom: 5px; }
.invert .form label { color: #617c9c;  }


.form input,
.form textarea,
.form select                    { box-sizing:border-box; font-family: 'Sofia Pro', Verdana, Arial, Helvetica, sans-serif; padding: 15px 25px; line-height: 1; font-size: 18px; color:#506681; border: none; background: #F8F8F8; width: 100%; }

.form .error                    { box-shadow: 0px 0px 1px 3px red;  }
.form .errormsg { font-size: 14px; color:  red; margin-top: 4px;  }
.form .field.margtop,           
.form * + .field                { margin-top: 20px;  }
.form .fieldgroup + .fieldgroup,
.form .field + .field { margin-top: 24px;  }
.briefingform .field + .field { margin-top: 40px;  }

.text-small { font-size: 14px;  }
.form__additionalinfo { margin-top: 8px; color: #506681;  }

/*newsletter*/
.newsletter { padding: 40px; margin-top: 0; border: 1px solid #f4f4f4; box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.07), 0px 4px 8px rgba(0, 0, 0, 0.07), 0px 16px 24px rgba(0, 0, 0, 0.07), 0px 24px 32px rgba(0, 0, 0, 0.07);}
.privacy { font-size: 16px; margin-top: 10px; }

.sent .field { opacity:  .5;  }
.form .btn { margin-top:  24px; border-radius: 5px;  }
.form.sent .btn { border-color: #26293e; background: #26293e; cursor: not-allowed; color: #fde74c;  }
.form.sent .success-gif { position: absolute; top: auto; bottom: 80px; left: 0; width: 100%; padding-top: 55%;   }
.form.sent .success-gif img { width: 100%; animation-duration: .8s; -webkit-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-name: fadeIn; animation-name: fadeIn;  }


.acceptfield { display:  flex;  }
.form--accept { margin-right: 12px;  }
form .inline                    { display: inline-block; width: auto; line-height:  1.4; font-size: 12px;  }

.read-more { display:inline-block; text-decoration: underline; margin-left: 5px;  }

.btn { cursor: pointer; padding: 16px 32px; border: none; background: #fde74c; color: inherit; font-size: 16px; font-weight: 600; font-family: var(--wp--preset--font-family--sofia-pro); }
.btn:hover { background: var(--wp--preset--color--contrast); color: white; transition: background .4s; }


/*video play*/
.wp-block-video { position: relative;  }
.video-play { z-index: 2; text-align: center; margin: 0 auto; left: 0; right: 0; position: absolute; top: 50%; transform: translateY(-50%);  }
.video-play svg { width: 100px; cursor: pointer;   }
.wp-block-video video { max-width: 100%;  }

.logos img { max-width: 100%;  }

.promise .icon-background:after { left: auto;  }

.success-text { background: #dfffe0; padding: 24px; border: 1px solid #71cd74; border-radius: 16px; margin-top: 16px;   }



.preanimated {
    opacity: 0
}

.animated .wp-block-button__link:not(.has-link-color) { backface-visibility: hidden;
 -webkit-font-smoothing: subpixel-antialiased;
 animation-name: jelly; animation-delay: 4s; animation-fill-mode: none; animation-duration: .8s; animation-iteration-count: 1;  }


.animated{
       -webkit-animation-duration: .8s;
    animation-duration: .8s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
        -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;
}

@keyframes jelly {
  0%,
  100% {
    transform: scale(1, 1) perspective(1px);
  }
  25% {
    transform: scale(0.95, 1.05) perspective(1px);
  }
  50% {
    transform: scale(1.05, 0.95) perspective(1px);
  }
  75% {
    transform: scale(0.95, 1.05) perspective(1px);
  }
}


@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}



@-webkit-keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 30px, 0);
        transform: translate3d(0, 30px, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 30px, 0);
        transform: translate3d(0, 30px, 0)
    }
    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}