/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
.elementor-button .elementor-button-icon svg {
	width: 24px;
}
.elementor-button .elementor-button-icon svg path {
    fill: var( --e-global-color-89033f5 );
}
.elementor-button {
    position: relative;
    display: inline-block;
    overflow: hidden;
    z-index: 1;
    -webkit-transition: 0.8s;
    -o-transition: 0.8s;
    transition: 0.8s;
}
.elementor-button:before {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    bottom: -10px;
    left: calc(50% - 10px);
    -webkit-transform: scale(0);
        -ms-transform: scale(0);
            transform: scale(0);
    background: var(--e-global-color-accent);
    -webkit-transition: 0.8s;
    -o-transition: 0.8s;
    transition: 0.8s;
    border-radius: 50%;
    z-index: -1;
}
.elementor-button:hover:before {
    -webkit-transform: scale(15);
        -ms-transform: scale(15);
            transform: scale(15);
}

.top_sub_heading .elementor-heading-title {
    color: transparent !important;
    background: -webkit-gradient(linear, left top, right top, color-stop(35.5%, #4D9952), color-stop(65%, #1E75BD));
    background: -o-linear-gradient(left, #4D9952 35.5%, #1E75BD 65%);
    background: linear-gradient(90deg, #4D9952 35.5%, #1E75BD 65%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/*Banner Gradient Color*/
.banner_sec_bg:before {
    background: -o-radial-gradient(1.8% 96.5%, 85% 275%, rgba(77, 153, 82, 0.9) 0%, rgba(30, 117, 190, 0.9) 48.56%, rgba(30, 117, 189, 0.09) 100%) !important;
    background: radial-gradient(85% 275% at 1.8% 96.5%, rgba(77, 153, 82, 0.9) 0%, rgba(30, 117, 190, 0.9) 48.56%, rgba(30, 117, 189, 0.09) 100%) !important;
}

/*Home Page*/
.unsere_leistungen .elementor-cta {
    border-radius: 8px;
}
.unsere_leistungen .elementor-bg {
    -webkit-transform: translate(0, -6%);
        -ms-transform: translate(0, -6%);
            transform: translate(0, -6%);
}
.unsere_leistungen:hover .elementor-bg {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0);
}
.elementor-cta__bg-overlay:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(30, 117, 189, 0.30)), to(rgba(30, 117, 189, 0.30))), -webkit-gradient(linear, left top, left bottom, color-stop(38.16%, rgba(30, 117, 189, 0.00)), color-stop(62.5%, #1E75BD));
    background: -o-linear-gradient(bottom, rgba(30, 117, 189, 0.30) 0%, rgba(30, 117, 189, 0.30) 100%), -o-linear-gradient(top, rgba(30, 117, 189, 0.00) 38.16%, #1E75BD 62.5%);
    background: linear-gradient(0deg, rgba(30, 117, 189, 0.30) 0%, rgba(30, 117, 189, 0.30) 100%), linear-gradient(180deg, rgba(30, 117, 189, 0.00) 38.16%, #1E75BD 62.5%);
}
.unsere_leistungen .elementor-cta__content {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 65%;
}
.unsere_leistungen:hover .elementor-cta__content {
    top: 0;
}
.unsere_leistungen .elementor-cta__content {
    background-color: var( --e-global-color-primary );
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}
.unsere_leistungen:hover .elementor-cta__content {
    background-image: url(https://epz.ch/wp-content/uploads/2025/05/unsere-leistungen-white-bg-image.png);
}
.unsere_leistungen .elementor-cta__button-wrapper {
    position: absolute;
    bottom: 24px;
    left: 24px;
}
.unsere_leistungen .elementor-cta__description {
    height: 74px;
    overflow: hidden;
}
.unsere_leistungen:hover .elementor-cta__description {
    height: unset;
}
.unsere_leistungen .elementor-cta:after {
    content: '';
    display: block;
    position: absolute;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom right;
    z-index: 9;
    opacity: 0;
    -webkit-transition: 0.1s;
    -o-transition: 0.1s;
    transition: 0.1s;
}
.unsere_leistungen:hover .elementor-cta:after {
    opacity: 1;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
}
.ele.unsere_leistungen .elementor-cta:after {
	background-image: url(https://epz.ch/wp-content/uploads/2025/05/elektroplanung-right-bottom-img.png);
    bottom: 0;
    right: 10px;
    width: 200px;
    height: 170px;
}
.geb.unsere_leistungen .elementor-cta:after {
    background-image: url(https://epz.ch/wp-content/uploads/2025/05/gebaudeautomation-bg-image.png);
    bottom: 24px;
    right: 24px;
    width: 170px;
    height: 205px;
}
.unsere_leistungen a.elementor-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    max-width: 195px;
    gap: 8px;
    margin-left: 0;
}
.unsere_leistungen a.elementor-button svg path {
    -webkit-transition: 0.8s;
    -o-transition: 0.8s;
    transition: 0.8s;
}
.unsere_leistungen a.elementor-button:hover svg path {
    fill: #ffffff;
}

/*Kontakt Page*/
.wpforms-container {
    margin: 0 !important;
}
.wpforms-container .wpforms-field {
    position: relative !important;
}
.wpforms-container .wpforms-field input, .wpforms-container .wpforms-field textarea {
    background: transparent !important;
    border: 2px solid rgba(86, 86, 86, 0.6) !important;
    padding: 13px 18px !important;
    font-family: Inter !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 24px !important;
    min-height: 50px !important;
	border-radius: 6px !important;
}
.wpforms-container .wpforms-field input:focus, .wpforms-container .wpforms-field textarea:focus {
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    border-color: var(--e-global-color-accent) !important;
}
.wpforms-container .wpforms-field label.wpforms-field-label {
    font-family: Inter !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 16px !important;
    margin-bottom: 0 !important;
    position: absolute;
    top: 14px;
    left: 14px;
    padding: 3px 5px !important;
    background: transparent;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
}
.wpforms-container .wpforms-field.focused label.wpforms-field-label {
    top: -11px;
    background: var(--e-global-color-accent);
    font-size: 80% !important;
    color: var(--e-global-color-89033f5);
    border-radius: 4px;
}
.wpforms-container .wpforms-field {
    padding: 0 !important;
    margin-bottom: 18px;
}
.wpforms-container button.wpforms-submit {
    font-family: 'Inter' !important;
    font-weight: 400 !important;
    font-size: 18px !important;
    padding: 12px 20px !important;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8px;
    line-height: 28px !important;
    min-height: 52px;
    overflow: hidden;
    position: relative !important;
    z-index: 1;
	border-radius: 6px !important;
    -webkit-transition: 0.8s !important;
    -o-transition: 0.8s !important;
    transition: 0.8s !important;
}
.wpforms-container .wpforms-submit svg path {
    fill: var(--e-global-color-89033f5);
}
.wpforms-container button.wpforms-submit:after {
    display: none;
}
.wpforms-container button.wpforms-submit:before {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    bottom: -10px;
    left: calc(50% - 10px);
    -webkit-transform: scale(0);
        -ms-transform: scale(0);
            transform: scale(0);
    background: var(--e-global-color-accent);
    -webkit-transition: 0.8s;
    -o-transition: 0.8s;
    transition: 0.8s;
    border-radius: 50%;
    z-index: -1;
}
.wpforms-container button.wpforms-submit:hover:before {
    -webkit-transform: scale(10);
        -ms-transform: scale(10);
            transform: scale(10);
}
.difference-wrapper .elementor-widget-icon-box {
    height: 100%;
}
@media all and (max-width: 770px) {
	.unsere_leistungen .elementor-cta__content {
		top: 60%;
	}
	.unsere_leistungen .elementor-cta__bg-overlay:before {
		background: -webkit-gradient(linear, left bottom, left top, from(rgba(30, 117, 189, 0.30)), to(rgba(30, 117, 189, 0.30))), -webkit-gradient(linear, left top, left bottom, color-stop(25%, rgba(30, 117, 189, 0.00)), color-stop(55%, #1E75BD));
		background: -o-linear-gradient(bottom, rgba(30, 117, 189, 0.30) 0%, rgba(30, 117, 189, 0.30) 100%), -o-linear-gradient(top, rgba(30, 117, 189, 0.00) 25%, #1E75BD 55%);
		background: linear-gradient(0deg, rgba(30, 117, 189, 0.30) 0%, rgba(30, 117, 189, 0.30) 100%), linear-gradient(180deg, rgba(30, 117, 189, 0.00) 25%, #1E75BD 55%);
	}
	.banner_sec_bg:before {
		background: -o-radial-gradient(1.8% 96.5%, 85% 275%, rgba(77, 153, 82, 0.9) 0%, rgba(30, 117, 190, 0.9) 100%) !important;
		background: radial-gradient(85% 275% at 1.8% 96.5%, rgba(77, 153, 82, 0.9) 0%, rgba(30, 117, 190, 0.9) 100%) !important;
	}
}

@media all and (max-width: 440px) {
	.ele.unsere_leistungen .elementor-cta:after,
	.geb.unsere_leistungen .elementor-cta:after {
		display: none;
	}
	.ele.unsere_leistungen .elementor-cta__content {
		top: 65%;
	}
	.ele.unsere_leistungen:hover .elementor-cta__content {
		top: 0;
	}
	.ele.unsere_leistungen .elementor-cta__bg.elementor-bg {
		background-position: center right !important;
	}
}
@media all and (max-width: 376px) {
	.ele.unsere_leistungen .elementor-cta__bg-wrapper {
		min-height: 520px !important;
	}
	
	.ele.unsere_leistungen .elementor-cta__content {
		top: 70%;
	}
	.ele.unsere_leistungen:hover .elementor-cta__content {
		top: 0;
	}
}

/*CookieYes Plugin*/
.cky-consent-container .cky-consent-bar {
    background: linear-gradient(180deg, #F5F5F6 0%, #FFFFFF 100%) !important;
}
.cky-consent-container{
	width: 500px !important;
}
.cky-notice .cky-title {
	font-family: Helvetica Now Display;
}
.cky-notice-group p {
    font-size: 16px;
}
.cky-notice-btn-wrapper {
    justify-content: space-between !important;
}
.cky-notice-btn-wrapper button.cky-btn {
    border: 2px solid;
    flex: 0 0 48%;
    margin: 0;
    height: 50px;
    line-height: 25px;
}
.cky-notice-btn-wrapper button.cky-btn.cky-btn-accept {
	flex: 0 0 100%;
	margin-top: 16px;
}