/*
Theme Name: AnnaSofia
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  AnnaSofia
*/

bold, strong {
    font-weight: 700!important;
}
body{
	-webkit-font-smoothing: antialiased;
	counter-reset: section section2;
}
.fusion-tb-header .fusion-checklist .fusion-li-icon{
	font-size: 23px;
	margin-top: -2px;
}
.fusion-tb-header .fusion-checklist .fusion-li-icon.tka-icon_mail{
	font-size: 18px;
}

.fusion-tb-header .fusion-checklist .icon-wrapper{
	margin-inline-end: 8px;
}
.fusion-tb-header .fusion-checklist .fusion-li-item-content{
	margin-inline-start: 39px;
    white-space:nowrap;
}
.fusion-tb-header .button-xlarge .button-icon-divider-left{
	border-right: 0px solid;
	padding: 0 20px;
}
.fusion-tb-header .button-xlarge .fusion-button-text-left{
	padding-left: 3px!important;
}
.fusion-tb-header .button-xlarge{
	padding: 17px 40px 17px 40px!important;
    font-size: 20px!important;
}
.fusion-tb-header .fusion-empty-dims-img-placeholder{
	display:none!important;
}
body .post-content p {
    margin-top: 0;
    margin-bottom: 25px;
}
#main .fusion-li-item .icon-wrapper {
    font-size: 28px !important;
    border: 4px solid #F9B101 !important;
    border-radius: 10px !important;
    padding: 10px !important;
    position: relative !important;
    width: 72px !important;
    height: 72px !important;
    display: inline-block !important;
    line-height: 51px !important;
    text-align: center !important;
    font-weight: 500 !important;
    margin-inline-end: 20px;
}
.fusion-checklist li{
	display: flex!important;
    align-items: center!important;
}
.fusion-checklist li .fusion-li-item-content{
	margin-inline-start:0!important;
}
.fusion-checklist.konzept li .icon-wrapper {
	margin-inline-end: 40px!important;
}
.fusion-checklist li{
    font-weight: 500;
    line-height: 1.5;
	font-size: 20px;
    letter-spacing: 0.01em;
}
.fusion-checklist.font24 li{
    line-height: 1.2;
	font-size: 24px;
    letter-spacing: 0.04em;
}
.fusion-checklist.konzept li {
	 font-weight: 700;
    line-height: 1.2;
	font-size: 24px;
    letter-spacing: 0.04em;
}
.fusion-checklist.ablauf li {
	 font-weight: 700;
}
.fusion-text.capt{
    width: auto!important;
    display: inline-flex!important;
    margin-top: -54px;
    z-index: 2;
}
.fusion-text.capt p{
    display: inline-flex;
    background: var(--awb-color7);
    margin-bottom: 0;
    height: 54px;
    align-items: center;
    padding: 0 25px;
    border-top-right-radius: 10px;
}
.korall{
    background: #F8BA91;
    padding: 20px 30px;
}
.to-top-floating #toTop {
    bottom: 30px;
    height: 80px!important;
    width: 80px!important;
    right: 30px!important;
}
.to-top-floating #toTop:before {
    line-height: 76px !important;
    font-size: 27px !important;
    content: "\e90d";
    font-family: 'tka-icons' !important;
}
.txtshadow{
    text-shadow: 0px 1px 6px rgba(51,51,51,0.8);
}
body #main{
    background-size: 1500px;
    background-position-x: 50vw;
    background-position-y: 182px;
}
#menu-footer-menu-1 li:not(:last-child){
    border-right:1px solid #fff;
}
#content {
    margin-bottom: 0px!important;
}
.fusion-footer .showform {
    width: 80px;
    height: 80px;
    background: var(--awb-color7);
    position: fixed;
    right: 0;
    top: 300px;
    cursor: pointer;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    text-align: center;
    line-height: 80px;
    color:var(--awb-color5);
}
.wpcf7-form p{
    margin:0!important;
}
.wpcf7-form .formrow{
    display: flex;
    gap: 20px;
    padding-bottom: 10px;
}
.wpcf7-form .formrow > div{
    width: 100%;
}
#wpcf7-f2455-p2420-o1 .wpcf7-form .formrow > div:last-child{
	width:60%!important;
}
.wpcf7-form  .wpcf7-list-item{
    color:#fff!important;
    font-size: 16px!important;
}
.wpcf7-form  .wpcf7-list-item label{
	position: relative!important;
    padding-left: 40px;
    display: block;
    line-height: 1.2;
}
.wpcf7-form  .wpcf7-list-item label input{
	position: absolute;
    left: 6px;
    top: -2px;
}
.wpcf7-form input[type="checkbox"] {
  -webkit-appearance: none;
    appearance: none;
    background-color: none;
    margin: 0;
    font: inherit;
    color: #fff;
    width: 24px;
    height: 24px;
    border: 0.15em solid #fff;
    border-radius: 6px;
    transform: translateY(-0.075em);
    display: grid;
    place-content: center;
}

.wpcf7-form input[type="checkbox"]::before {
  content: "";
    width: 14px;
    height: 12px;
    clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
    transform: scale(0);
    transform-origin: center center;
    transition: 120ms transform ease-in-out;
    background-color: var(--awb-color5)!important;
}

.wpcf7-form input[type="checkbox"]:checked::before {
  transform: scale(1);
}

.wpcf7-form  .wpcf7-list-item a{
    color:var(--awb-color5)!important;
}
.wpcf7-form  .wpcf7-list-item a:hover{
    color:var(--awb-color6)!important;
}
.wpcf7-form .wpcf7-submit:disabled{
    opacity: 0.6!important;
}
.wpcf7-form .wpcf7-submit{
    width:100%!important;
    transition: all 0.3s ease!important;
}

.wpcf7-form .wpcf7-submit:hover,
.wpcf7-form input[type="submit"]:focus:hover{
    background:#e1a005!important;
    color:var(--awb-color7)!important;
}
.wpcf7-form .wpcf7-submit:disabled:hover,
.wpcf7-form input[type="submit"]:focus{
    background:var(--awb-color5)!important;
    color:var(--awb-color7)!important;
}
.wpcf7-form .wpcf7-form-control-wrap[data-name="acceptance-350"]{
    display: block;
    margin-bottom: 15px;
}
.wpcf7-form .wpcf7-not-valid-tip{
    display:none!important;
}
.wpcf7-form .wpcf7-not-valid{
    background:#f2a3a3!important;
}
.wpcf7-form.invalid .wpcf7-response-output{
    background-color: #f2a3a3!important;
    border: 1px solid #f2a3a3!important;
    color: var(--awb-color7)!important;
    border-radius: 10px!important;
    margin-top: 20px!important;
    margin-bottom: 0!important;
    padding: 15px!important;
}
.wpcf7 .wpcf7-form.sent .wpcf7-response-output {
    background-color: #46b450!important;
    border: 1px solid #46b450!important;
    color: #fff!important;
    border-radius: 10px!important;
	margin-top: 20px!important;
    margin-bottom: 0!important;
    padding: 15px!important;
}
.wpcf7-form .wpcf7-response-output .alert-icon{
    display:none!important;
}
.wpcf7-form .fusion-alert.awb-alert-close-boxed .close {
    font-size: 20px!important;
}
.wpcf7-form .fusion-alert-content {
    font-size: 18px!important;
    line-height: 1.3!important;
}
.wpcf7-form .fusion-slider-loading {
    position: absolute!important;
    top: 12px!important;
    left: 3px!important;
}
.wpcf7-form div.submit {
    position: relative;
}
.wpcf7-form label{
	color: #fff;
    font-size: 18px;
}
#wpcf7-f2587-p2420-o3 .wpcf7-form span.wpcf7-form-control-wrap,
#wpcf7-f2587-p2645-o1 .wpcf7-form span.wpcf7-form-control-wrap{
	margin-top: 10px;
    display: block;
}
#wpcf7-f2587-p2420-o3 input.wpcf7-text, #wpcf7-f2587-p2420-o3 textarea.wpcf7-textarea,
#wpcf7-f2587-p2645-o1 input.wpcf7-text, #wpcf7-f2587-p2645-o1 textarea.wpcf7-textarea{
	background: #FFF5E9!important;
}
#wpcf7-f2587-p2420-o3 .wpcf7-form .wpcf7-not-valid,
#wpcf7-f2587-p2645-o1 .wpcf7-form .wpcf7-not-valid{
    background: #f2a3a3 !important;
}
#wpcf7-f2587-p2420-o3 .formrow,
#wpcf7-f2587-p2645-o1 .formrow{
    padding-bottom: 30px;
}
#wpcf7-f2587-p2420-o3 .wpcf7-form .wpcf7-list-item label input,
#wpcf7-f2587-p2645-o1 .wpcf7-form .wpcf7-list-item label input{
    position: absolute;
    left: 6px;
    top: -2px;
}
#wpcf7-f2587-p2420-o3 .wpcf7-form input[type="radio"],
#wpcf7-f2587-p2645-o1 .wpcf7-form input[type="radio"]{
    -webkit-appearance: none;
    appearance: none;
    background-color: none;
    margin: 0;
    font: inherit;
    color: #fff;
    width: 36px;
    height: 36px;
    border: 0.15em solid #fff;
    border-radius: 50%;
    transform: translateY(-0.075em);
    display: grid;
    place-content: center;
}
#wpcf7-f2587-p2420-o3 .wpcf7-form input[type="radio"]::before,
#wpcf7-f2587-p2645-o1 .wpcf7-form input[type="radio"]::before{
    content: "";
    width: 18px;
    height: 18px;
    border-radius: 50%;
    transform: scale(0);
    transform-origin: center center;
    transition: 120ms transform ease-in-out;
    background-color: var(--awb-color5) !important;
}
#wpcf7-f2587-p2420-o3 .wpcf7-form input[type="radio"]:checked::before,
#wpcf7-f2587-p2645-o1 .wpcf7-form input[type="radio"]:checked::before{
    transform: scale(1);
}
#wpcf7-f2587-p2420-o3 .wpcf7-form .wpcf7-form-control:not(.wpcf7-acceptance) .wpcf7-list-item label,
#wpcf7-f2587-p2645-o1 .wpcf7-form .wpcf7-form-control:not(.wpcf7-acceptance) .wpcf7-list-item label{
    padding-left: 55px;
    line-height: 1.7;
}
#wpcf7-f2587-p2420-o3 .wpcf7-form .wpcf7-list-item,
#wpcf7-f2587-p2645-o1 .wpcf7-form .wpcf7-list-item{
    width: 100%;
    padding-bottom: 30px;
}
#wpcf7-f2587-p2420-o3 .wpcf7-list-item.first,
#wpcf7-f2587-p2645-o1 .wpcf7-list-item.first{
	display:none!important;
}
#wpcf7-f2587-p2420-o3 .wpcf7-form .wpcf7-acceptance .wpcf7-list-item,
#wpcf7-f2587-p2645-o1 .wpcf7-form .wpcf7-acceptance .wpcf7-list-item{
	padding-left: 6px;
}
.fusion-flip-boxes .fusion-flip-box .flip-box-front {
    padding: 80px 30px!important;
}
.fusion-flip-boxes .flip-box-back-inner p:last-child{
	margin-bottom:0px!important;
}
.fusion-flip-boxes .flip-box-back-inner{
	font-size:18px!important;
	line-height: 1.4!important;
}
.fusion-flip-boxes .flip-box-back{
    background-image: url(/wp-content/uploads/2024/03/herz4.svg)!important;
    background-size: 150px !important;
    background-position: bottom right !important;
}

.fusion-text.liste ul{
	list-style:none;
	padding-left: 0px;
}
.fusion-flip-boxes .fusion-flip-box-wrapper:first-child .flip-box-heading::before{
    content:"1.";
    display: block;
}
.fusion-flip-boxes .fusion-flip-box-wrapper:nth-child(2) .flip-box-heading::before{
    content:"2.";
    display: block;
}
.fusion-flip-boxes .fusion-flip-box-wrapper:nth-child(3) .flip-box-heading::before{
    content:"3.";
    display: block;
}
.fusion-text.liste ul li{
	border-bottom:2px solid var(--awb-color5)!important;
	font-weight: 700!important;
	padding: 12px 0px!important;
}
.author strong{
	font-weight:300!important;
}
.fusion-testimonials blockquote .awb-quote{
	padding: 0!important;
	text-align: left!important;
}
.fusion-testimonials.clean .author {
    text-align: center!important;
}
.reviews::before{
	width:128px;
	height: 100px;
	content:"";
	background: url(/wp-content/uploads/2024/03/icon_referenz.svg);
	background-size: cover;
	position: absolute;
	opacity: 0.9;
    left: -100px;
    top: -50px;
}
.reviews::after{
	width:128px;
	height: 100px;
	content:"";
	background: url(/wp-content/uploads/2024/03/icon_referenz.svg);
	background-size: cover;
	position: absolute;
	opacity: 0.9;
    right: 0px;
    bottom: 0px;
	transform: rotate(180deg);
}
.fusion-accordian .fusion-panel.fusion-toggle-no-divider.fusion-toggle-boxed-mode{
    margin-bottom:30px!important;
    border-radius: 10px;
}
.fusion-accordian .fusion-panel.fusion-toggle-no-divider.fusion-toggle-boxed-mode .panel-title a {
    padding: 17px 20px!important;
}
.fusion-accordian .fusion-panel.fusion-toggle-no-divider.fusion-toggle-boxed-mode .panel-body {
    padding-left: 20px!important;
    padding-right: 20px!important;
    padding-bottom: 0px!important;
    padding-top: 0px!important;
}
.fusion-toggle-icon-wrapper,.fusion-toggle-icon-wrapper i{
    width:27px!important;
}
.fusion-accordian .panel-heading .panel-title a.active .fusion-toggle-icon-wrapper .active-icon{
    display:none!important;
}
.fusion-accordian .panel-heading .panel-title a .fusion-toggle-icon-wrapper .inactive-icon{
    transition: all 0.2s ease;
}
.fusion-accordian .panel-heading .panel-title a.active .fusion-toggle-icon-wrapper .inactive-icon{
    display: inline-block!important;
    transform: rotate(180deg);
    transition: all 0.2s ease;
}
.pro ul,.contra ul{
	list-style: none!important;
	padding-left: 0!important;
}
.pro ul li,.contra ul li{
    border-bottom: 2px solid var(--awb-color5) !important;
    font-weight: 700 !important;
    padding: 12px 0px 12px 40px!important;
	position: relative!important;
}
.pro ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top:14px;
    width: 27px;
    height: 27px;
    background: url(/wp-content/uploads/2024/04/AnnaSofia_Leistungen.svg) no-repeat;
    background-size: cover;
}
.contra ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top:14px;
    width: 27px;
    height: 27px;
    background: url(/wp-content/uploads/2024/04/AnnaSofia_Kreuz.svg) no-repeat;
    background-size: cover;
}
ol.section2 li::before {
  counter-increment: section2;
  content: counter(section2) ". ";
	position: absolute;
    left: 0;
}
.fusion-testimonials .testimonial-pagination a {
    height: 18px!important;
    width: 18px!important;
    border-radius: 50%;
    border: 1px solid #fff!important;
	background: #fff!important;
	opacity: 0.4!important;
	margin:0 6px!important;
}
.fusion-testimonials .testimonial-pagination a.activeSlide {
	opacity: 1!important;
}

.fusion-testimonials .testimonial-pagination{
    margin-top: 50px;
}
.fusion-testimonials .reviews .review {
    display: flex!important;
    flex-direction: column!important;
}
.fusion-testimonials.clean .testimonial-thumbnail{
    order:1;
        margin-bottom: 10px!important;
    margin-top: 20px!important;
    max-width: 100px!important;
}
.fusion-testimonials.clean .author{
    order:2;
    margin-top: 0!important;
    padding-bottom: 30px;
}
@media only screen and (max-width: 1900px){

	.h1_column > .fusion-column-wrapper{
		padding-right: 5vw!important;
	}
}
@media only screen and (max-width: 1700px){
	.h1_column h1{
		font-size:72px!important;
	}
}
@media only screen and (max-width: 1450px){
	.h1_column h1{
		font-size:58px!important;
	}
}

@media only screen and (max-width: 1280px){
	.awb-menu__main-li{
		--awb-gap:60px!important;
	}	
}
@media only screen and (max-width: 1177px){
	.h1_column > .fusion-column-wrapper{
		padding-right: 0!important;
	}
	.h1_column h1{
		font-size:42px!important;
		line-height: 1.1!important;
	}
    #menu-footer-menu-2 li{
        --awb-gap:0!important;
    }
    #menu-footer-menu-2 li:not(:last-child){
        border-right:1px solid #fff;
    }
    .home_subtitle p{
        margin-bottom: 15px!important;
    }
    .cta .cta_left > .fusion-column-wrapper{
        border-radius:10px 10px 0 0!important;
    }
    .cta .cta_right > .fusion-column-wrapper{
        border-radius:0 0 10px 10px!important;
    }
	.herz.fusion-imageframe{
		max-width:350px!important;
	}
	.mlarge{
        font-size:35px!important;
    }
}
@media only screen and (max-width: 820px){
	.h1_column .fusion-text{
		font-size:18px!important;
	}
}
@media only screen and (max-width: 700px){
	.fusion-fullwidth {
		--awb-padding-right-small: 20px!important;
		--awb-padding-left-small: 20px!important;
	}
	 body {
		line-height: 1.3!important;
	}
	.reviews::before {
		left: -50px;
	}
	.fusion-testimonials.clean blockquote .awb-quote {
		line-height: 1.25!important;
	}
	.fusion-checklist li {
		line-height: 1.25;
	}
	.fusion-text.slogan{
		font-size:15px;
	}
	.fusion-fullwidth .awb-menu__m-toggle{
		margin-right:-4px!important;
	}
	.fusion-tb-header .fusion-menu li .button-xlarge .fusion-megamenu-icon{
		display:inline-flex!important;
		padding: 0 0!important;
	}
	.fusion-tb-header .button-xlarge .fusion-button-text-left {
		padding-left: 30px !important;
	}
	.h1_column h1{
		font-size: 38px !important;
		line-height: 1.15 !important;
	}
	.h1_image h1 {
		font-size: 38px !important;
		line-height: 1 !important;
	}
    #main .fusion-li-item .icon-wrapper {
        font-size: 18px !important;
        border: 3px solid #F9B101 !important;
        width: 50px !important;
        height: 50px !important;
        line-height: 28px !important;
        margin-inline-end: 20px!important;
    }
    #main .fusion-li-item{
        align-items: flex-start!important;
        display: flex;
    }
    #main .fusion-li-item .fusion-li-item-content{
        font-size: 22px!important;
        margin-inline-start: 0;
    }
    .page404 h1{
        font-size: 120px!important;
    }
    .page404 h2{
        font-size: 30px!important;
    }
    .page404 .fusion-text{
        font-size: 20px!important;
    }
    #menu-linkliste-1 li,#menu-linkliste-2 li{
        --awb-gap:30px!important;
    }
    .fusion-footer .showform {
        width: 60px;
        height: 60px;
        top: 220px;
        line-height: 60px;
        font-size: 16px;
    }
    .hlarge{
        font-size:35px!important;
    }
	.hmedium{
        font-size:28px!important;
    }
	.mlarge h1{
        font-size:28px!important;
    }
	.slarge{
		 font-size:18px!important;
	}
    .cta .cta_right .fusion-button{
        margin-bottom: 10px;
    }
	.fusion-accordian .fusion-panel.fusion-toggle-no-divider.fusion-toggle-boxed-mode {
		margin-bottom: 20px !important;
	}
	.fusion-accordian .toggle-content {
		line-height: 1.3!important;
	}
	.wpcf7-form .formrow {
		gap: 10px;
		padding-bottom: 15px;
		flex-direction: column;
	}
	.awb-off-canvas-wrap h2{
		font-size: 30px!important;
	}
	.awb-off-canvas-wrap .fusion-text{
		font-size: 18px!important;
    	line-height: 1.3!important;
	}
	.wpcf7-form .wpcf7-text {
		height: 45px!important;
	}
	.awb-off-canvas-wrap .awb-off-canvas .off-canvas-close{
		margin-top: 10px!important;
    	margin-right: 10px!important;
	}
	.herz.fusion-imageframe{
		max-width:250px!important;
	}
    .korall{
        background: #F8BA91;
        padding: 15px 20px;
    }
    .fusion-flip-boxes .flip-box-back{
        background-size: 100px !important;
    }
}
@media only screen and (max-width: 420px){
	.fusion-body .fusion-button-default-size {
		padding-right: 25px!important;
        padding-left: 25px!important;
	}
    #menu-footer-menu-1 .awb-menu__main-li{
        margin-left: 0!important;
        margin-right: 0!important;
    }
}

@media only screen and (max-width: 380px){
	.h1_column h1 {
		font-size: 34px !important;
	}
}