/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/
html{
	scroll-behavior: smooth;
}
#brx-header + #brx-content > .brxe-section:first-child {
	padding-top: var(--space-2xl);
}
.home #brx-header + #brx-content > .brxe-section:first-child {
	padding-top: var(--space-3xl);
}

main {
    scroll-snap-type: y mandatory;
    scroll-behavior: smooth;
}

main > section {
    scroll-snap-align: start;
}

.page-id-131 {
    header:not(.scrolling) {
        a, svg, .bricks-mobile-menu-toggle {
            color: var(--light);
        }

        .brxe-logo img {
            filter: brightness(255);
        }
    }
}

header .menu-item {
    a {
        position: relative;
    }

    a::after {
        content: "";
        position: absolute;
        height: 1px;
    }
}

.default-page a{
	text-decoration: underline;
	transition: var(--transition);
}
.default-page a:hover{
	text-decoration: none;
}

.template-section-padding-none section{
	padding: 0;
}
/* form */

.form {
	h3 {
		margin-bottom: var(--space-xs);
	}
	br {
		display: none;
	}
	label {
		margin-bottom: var(--space-m);
		color: var(--text-body);
		font-weight: 500;
	}
	input,
	select,
	textarea {
		margin-top: var(--space-2xs);
		padding: var(--space-xs) var(--space-s);
		border: 1px solid var(--base);
		color: var(--text-body);
	}
	input::placeholder,
	textarea::placeholder {
		color: var(--accent-color);
	}	
	.wpcf7-acceptance {
		display: block;

		.wpcf7-list-item {
			margin-left: 0;

			label {
				display: flex;
				gap: var(--space-s);
				color: var(--text-body);
				margin-bottom: 0;				
			}
		}
		a {
			text-decoration: underline;
			color: var(--primary);

			&:hover {
				color: var(--secondary);
			}
		}
	}

	.form-checkbox {
		.wpcf7-list-item {
			display: block;
				margin-left: 0;
				label {
				display: flex;
				gap: var(--space-s);
				color: var(--text-body);
			}
		}
	}
	input.form-check,
	input[type="checkbox"] {
		width: 30px;
		min-width: 30px;
		height: 30px;
		appearance: none;
		position: relative;
		margin-top: 0;
		padding: 0;
		background-color: transparent;
		cursor: pointer;
		&::before {
			content: "";
			width: 20px;
			height: 17px;
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
			transition: var(--transition);
			pointer-events: none;
			opacity: 0;
			background-image: url("data:image/svg+xml,%3Csvg width='18' height='14' viewBox='0 0 18 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.5 7L7 12.5L16.167 1.5' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
			background-repeat: no-repeat;
			background-size: contain;
		}
		&:checked::before {
			opacity: 1;
		}
	}
	.require-all{
		padding-top: var(--space-m);
		padding-bottom: var(--space-m);
		border-top: 1px solid var(--accent-color);
	}
	.btn-wrap p{
		display: flex;
		flex-direction: row;
		gap: var(--space-s);
	}	
}


.cf7-step {
	display: none;
}

.cf7-step.active {
	display: block;
}

@media screen and (min-width: 992px) {
    header .menu-item {
        a::after {
            bottom: -8px;
            left: 50%;
            width: 0;
            background: currentColor;
            transition: width 0.4s ease, left 0.4s ease;
        }

        a:hover::after {
            width: 60%;
            left: 20%;
        }
    }
}

@media screen and (max-width: 991px) {
    header .menu-item {
        a::after {
            bottom: 0;
            left: 2em;
            width: 50px;
            background: var(--primary);
        }
    }
}

@media screen and (min-width: 992px) and (max-width: 1150px) {
    #brx-header {
        .brxe-logo img {
            max-width: 120px;
        }

        .brxe-nav-menu .menu-item {
            margin: 0 0 0 16px;
        }

        #brxe-gtqxqw {
            column-gap: 1em;
        }
    }
}

.bricks-mobile-menu-wrapper {
    height: max-content;
}

.brxe-nav-menu .bricks-mobile-menu {
    padding-block: 4em;
}

.brxe-accordion .accordion-item {
    .accordion-title {
        position: relative;
        padding: 0 0 var(--space-m) 0;

        .icon {
            font-size: var(--space-m);
        }

        &::after {
            content: "";
            position: absolute;
            width: 120px;
            height: 1px;
            bottom: 0;
            left: 0;
            background: var(--primary);
            transition: width 0.4s ease;
        }
    }

    &.brx-open {
        .accordion-title {
            &::after {
                width: 260px;
            }
        }
    }
}

/* Add your custom CSS here */
.feature-img-wrap {
    width: 100%;
    position: relative;
    padding: var(--space-xl) var(--space-xl) var(--space-xl) 0;
}

.feature-img-wrap:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    background-image: url('../../uploads/2025/11/image-frame-top.svg');
    background-repeat: no-repeat;
    width: 100%;
    height: 143px;
    background-position: top right;
    background-size: 82%;
}

.feature-img-wrap:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    background-image: url('../../uploads/2025/11/image-frame-bottom.svg');
    background-repeat: no-repeat;
    width: 100%;
    height: 169px;
    background-position: left bottom;
    background-size: 70%;
}

.single-ratgeber h2:not(:first-of-type) {
    margin-top: var(--space-xl);
}

.single-ratgeber #brxe-ilyzva :is(h2,h3,h4,h5,h6,p,blockquote,ul,ol) {
    margin-bottom: var(--space-m);
}

.single-ratgeber #brxe-ilyzva p + :is(h3,h4,h5,h6) {
    margin-top: var(--space-l);
}

.single-ratgeber #brxe-ilyzva .brxe-list .icon {
    width: auto;
    margin-right: var(--space-4xs);
}

.toc-list li:not(:last-child) {
    margin-bottom: var(--space-s);
}

#brxe-oxuagy {
    position: relative;
}

#brxe-oxuagy:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: -13%;
    right: -26%;
    background-image: url(../../uploads/2025/11/philosophie-frame-top.svg);
    background-repeat: no-repeat;
    background-position: top right;
    background-size: 100%;
    z-index: 10;
}

#brxe-oxuagy:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 21%;
    left: 20%;
    background-image: url(../../uploads/2025/11/philosophie-frame-bottom.svg);
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: 50%;
    z-index: 10;
}
.frame-top-center:before,
#brxe-pqtksd:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
	left: auto;
    right: auto;
    background-image: url(../../uploads/2025/12/haug-defending-frame.svg);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 50%;
    z-index: 10;
}
.frame-top-center:before{
	background-image: url(../../uploads/2025/12/haug-frame-top-center-lg.svg);
}

#brxe-ohzrtv {
    column-gap: var(--space-m);

    .accordion-title .icon {
        width: max-content;
    }
}
@media (min-width: 768px) { 
	.splide.brx-auto-height .splide__list{
		height: 100% !important;
	}
}
@media (min-width: 768px) and (max-width: 1199.98px) { 
	.card_ratgeber{
		hyphens: auto;
	}
	.why-box{
		overflow-wrap: break-word;
		word-break: break-word;
	}

	.hyphens-md-to-lg{
		hyphens: auto;
		overflow-wrap: break-word;
		word-break: break-word;
	}
	
}
@media screen and (max-width: 991px) {
    #brxe-oxuagy:before {
        top: -6%;
        right: 28%;
        background-size: 50%;
    }

    #brxe-oxuagy:after {
        top: 83%;
        left: -4%;
        background-size: 30%;
        transform: rotate(-90deg);
    }

    .feature-img {
        padding: 0;
    }

    .feature-img img {
        object-fit: cover;
    }

    .feature-img-wrap:before,
    .feature-img-wrap:after {
        display: none;
    }

    #brxe-aa0fd9 {
        --image-width: 325px;
        --image-offset: calc(var(--image-width) / 2);

        #brxe-jkrcrg.brxe-block {
            padding: 0;
            margin-left: 0;
            border: none;
        }
    }

}

@media screen and (max-width: 767px) {
    #brxe-oxuagy:before {
        top: -4%;
        right: 5%;
        background-size: 90%;
    }

    #brxe-oxuagy:after {
        top: 75%;
        left: -6%;
    }
	

	.order-last--on-m{
		order:9;
	}
	  .relative--on-m{
    position:relative;
  }
	.our-defense img{
		display:none;
	}

	


}

@media screen and (max-width: 430px) {
    #brxe-27e374.brxe-block {
        padding-left: var(--space-l);
        padding-right: var(--space-l);
    }
}

@media screen and (max-width: 380px) {
    #brxe-aa0fd9.brxe-section {
        margin-top: unset;

        #brxe-5ec271 {
            position: static;
        }

        #brxe-jkrcrg {
            margin-top: unset;
        }

        #brxe-27e374.brxe-block {
            padding-top: var(--space-l);
            padding-bottom: var(--space-l);
        }

    }
}

.brxe-post-toc .toc-list .toc-list {
    margin-top: var(--space-s);
}

.our-defense {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas: unset;
    row-gap: var(--space-xl);

    @media screen and (min-width: 992px) {
/*         grid-auto-rows: max(600px, 65vh); */
        grid-template-columns: repeat(2, 1fr);
        grid-template-areas:
            "step1 image"
            "step2 image"
            "step3 image"
            "step4 image"
            "step5 image"
            "step6 image";
        row-gap: var(--space-2xl);

        & .our-defense__step {
            height: max-content;
            align-self: start;
            padding-right: var(--space-2xl);

            &:first-child {
                grid-area: step1;
            }

            &:nth-child(3) {
                grid-area: step2;
            }

            &:nth-child(5) {
                grid-area: step3;
            }

            &:nth-child(7) {
                grid-area: step4;
            }

            &:nth-child(9) {
                grid-area: step5;
            }

            &:nth-child(11) {
                grid-area: step6;
            }
        }

        & .our-defense__step-image {
            grid-area: image;
            position: sticky;
            top: 200px;
            height: max-content;
            opacity: 0;
            transition: opacity 0.5s linear;

            &.active {
                opacity: 1;
            }
        }
    }
}