:root {
  --red: #E30710;
  --blue: #2591D0;
  --orange: #EF7C01;
  --violet: #810E86;
  --text: #1D1D1D;
  --yellow: #EDE24E;
  --lightgrey: #B2B2B2;
  --darkgrey: #2A2C2F;
}

.e-n-accordion-item-title,
.read_more_link,
.elementor-button,
.ast-custom-button {
	transform: translateX(0);
	transition: transform .3s;
}

.e-n-accordion-item-title:hover,
.read_more_link:hover,
.elementor-button:hover,
.ast-custom-button:hover {
	transform: translateX(10px);
	transition: transform .3s;
}

/* Header */

@media (max-width: 1270px) {
  body #ast-desktop-header {
    display: none;
  }
  body #ast-mobile-header {
    display: block;
  }
  body #masthead #ast-mobile-header .ast-primary-header-bar.ast-primary-header {
	padding: 0 10px;
  }
}
@media(min-width:920px){
	.ast-hfb-header .ast-builder-menu-mobile .main-header-menu {
		flex-direction: column;
		gap: 10px;
	}
	.ast-hfb-header .ast-builder-menu-mobile .main-header-menu .contactbutton{
		display: none;
	}
}



.dropdown-menu-toggle.ast-header-navigation-arrow {
	display: none;
}

.ast-mobile-popup-drawer.active .menu-toggle-close:focus,
.ast-builder-menu-mobile .main-navigation .menu-item.menu-item-has-children > .ast-menu-toggle {
	border: none;
}


.ast-builder-layout-element .ast-site-identity {
	padding: 15px 0;
}

#ast-desktop-header .site-primary-header-wrap.ast-builder-grid-row-container.ast-container {
	padding: 0 30px;
}

@media(max-width:1460px) {
	#ast-desktop-header .site-primary-header-wrap.ast-builder-grid-row-container.ast-container {
	  padding: 0 10px;
	}
}

.main-header-menu .menu-item .sub-menu .menu-link {
	font-size: 16px;
}

.main-header-menu .sub-menu li.menu-item {
	background: var(--lightgrey);
}

#ast-mobile-popup-wrapper .main-header-menu .sub-menu li.menu-item {
	background: transparent;
}

.ast-builder-menu-mobile .main-navigation .menu-item.menu-item-has-children > .ast-menu-toggle {
	color: #fff !important;
}
body[CLASS*="-sticky-header-active"] .ast-header-sticked [data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {
	fill: #fff;
}

.ast-desktop .ast-menu-hover-style-underline > .menu-item:hover > .menu-link::before, 
.ast-desktop .ast-menu-hover-style-overline > .menu-item:hover > .menu-link::before {
	width: 30px;
	right: unset;
	left: 5px;
	height: 2px;
	background-color: var(--red);
}

.ast-desktop .ast-builder-menu-1 .menu-item .sub-menu {
  left: 20px;
}

header .ast-search-box.header-cover .search-field {
	font-size: 24px;
}

body .ast-primary-header-bar.ast-primary-header.ast-sticky-active.ast-header-sticked,
.icon_box.colored_border {
	background: rgba(0,0,0,.2);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
	transition: all .3s;
}

/* CSS Hammerer 31.01.2025 */
body .ast-primary-header-bar.ast-primary-header.ast-sticky-active.ast-header-sticked {
	background: rgba(0,0,0,.5);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
	transition: all .3s;
}
.icon_box.colored_border {
	background: rgba(0,0,0,.2);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
	transition: all .3s;
}
.icon_box.colored_border:hover {
	background: rgba(20, 20, 20, .6);
	transition: all .3s;
}
/* CSS Hammerer 31.01.2025 */


body .icon_box.colored_border:not(:hover) {
	border-bottom-color: transparent;
}

.icon_box.colored_border a,
.icon_box.colored_border a:hover {
  color: #fff;
}


body .elementor-loop-container.elementor-grid .e-loop-item .e-con-inner {
	flex-direction: row-reverse !important;
}

body .elementor-loop-container.elementor-grid .e-loop-item:nth-child(2n) .e-con-inner {
	flex-direction: row !important;
}


/* Footer */
body footer .elementor-nav-menu--layout-horizontal .elementor-nav-menu li a {
	padding: 13px 0 13px 0 !important;
	margin-right: 40px !important;
}

footer .elementor-item.menu-link:hover::before,
footer .elementor-item.elementor-item-active.menu-link::before {
	content: ' ';
	display: block;
	position: absolute;
	border-top: 1px solid var(--lightgrey);
	bottom: 11px;
	width: 100%;
}






/* Floating Button */
.floating_button_wrapper {
	position: fixed;
	right: 0;
	top: 35%;
	z-index: 4;
}

.floating_button_wrapper .floating_button {
	position: absolute;
	right: 0;
	width: 60px;
	height: 60px;
	display: flex;
	align-items: center;
	background-color: var(--darkgrey);
	justify-content: center;
	border-left: 4px solid var(--red);
	transition: width .2s;
}

.floating_button:nth-child(2) {
	top: 80px;
}

.floating_button_wrapper .floating_button:hover {
	width: 70px;
	transition: width .2s;
}

.floating_button_wrapper img {
	width: 25px;
}


/* Kontakt */
body.page-id-723.ast-page-builder-template {
	background-image: url('img/bg-kontakt.webp');
	background-repeat: no-repeat;
	background-position: bottom;
}

@media(max-width:1024px) {
	body.page-id-723.ast-page-builder-template {
		background-size: cover;
	}
}

.kontakt_formular.elementor-widget.elementor-widget-shortcode {
	background: #fff;
	padding: 0px 50px 50px 50px;
} 

body .gform_wrapper.gravity-theme input:not([type="submit"]),
body .gform_wrapper.gravity-theme textarea {
	border: none;
	box-shadow: none;
	border-bottom: 2px solid var(--lightgrey);
	border-radius: 0;
	padding: 50px 0 25px 0 !important;
}

body .gform_wrapper.gravity-theme ::placeholder {
	font-size: 20px;
	color: var(--text);
}

.gform_wrapper.gravity-theme .gform_footer {
	justify-content: flex-end;
}

.gform_wrapper.gravity-theme .gform_footer input {
	background-color: #000;
	border-color: #000;
	padding: 20px 50px 20px 30px;
	position: relative;
	right: -50px;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	margin-top: 40px;
	background-image: url('img/send-sharp.png');
	background-repeat: no-repeat;
	background-size: 18px;
	background-position: right 20px bottom 20px;
}

.gform_wrapper.gravity-theme .gform_footer input:hover {
	background-color: var(--red);
}

@media(max-width:767px) {
	.kontakt_formular.elementor-widget.elementor-widget-shortcode {
		padding: 20px;
	}
	.gform_wrapper.gravity-theme .gform_footer input {
		right: 0;
	}
	.gform_wrapper.gravity-theme .gform_footer input {
		background-position: right 20px bottom 15px;
		padding: 10px 50px 10px 30px;
	}
}