

/*************************************************************************/
/*  Theme Custom  */

body {
	font-family: 'poppins', sans-serif;
	font-weight: 400;
	font-size: clamp(16px,1.3vw,22px);
	line-height: 150%;
	color: #000;
	background-color: #fff;
}

/*Link Farbe */
a {
	color: #000;
}

a:hover {
	color: #000;
}

/* Txt Links im Content */
:is(.res-content p, .res-content li) a:not(.nav-link, .dropdown-item) {
	font-weight: 600;
	color: #e24b00;
}
 
.brand-color {
	color: #4a90e2; 
}

/* Title clamp */
h1, h2, h3, h4, h5, h6 {
	font-family: 'poppins', sans-serif;
	font-weight: 600;
	line-height: 110%;
}
h1 {
	font-size: clamp(26px, 4vw, 300%);
}
h2 {
	font-size: clamp(25px, 3vw, 250%);
}
h3 {
	font-size: clamp(22px, 2.5vw, 170%);
}
h4 {font-size: clamp(19px, 2vw, 120%);} 
h5 {font-size: clamp(18px, 1.5vw, 105%);} 
h6 {font-size: clamp(17px, 1.4vw, 100%);} 

@media only screen and (max-width: 970px) {
	 h1, h2, h3, h4, h5, h6 { 
		 /* hyphens: auto; */
		 /* -webkit-hyphens: auto; */
		}
}

/* Headline grosse Title  */

.headline-title h1  {
    font-size: clamp(240%, 5vw, 500%);
    line-height: 100%;
}
.headline-title h2  {
	font-size: clamp(180%, 4vw, 450%);
	line-height: 110%;
}
.headline-title h3  {
	font-size: clamp(240%, 3.3vw, 280%);
	line-height: 110%;
}
.res-boxes .headline-title h2,
.res-boxes .headline-title h3,
.res-slider-content .headline-title h2,
.res-slider-content .headline-title h3 {
	font-size: clamp(140%, 2.4vw, 330%);
	line-height: 110%;
}


/* Container */


.container {
    width: 72vw;
    max-width: 1600px;
}
.container-fluid{
    width: 90vw;
    max-width: 90vw;
}
.alignfull .inner-container.container-wide, .res-boxes.alignwide .inner-container.container-wide, .alignwide .inner-container.container-wide,.res-txt.alignfull .inner-container.container-wide {
    max-width: 90vw;
	padding-left: 15px;
	padding-right: 15px;
}
.container-small {
	max-width: 900px;
	margin: 0 auto;
}
.res-slider-content.alignfull .inner-container.container-off {
    padding: 0 0;
}
.alignwide {
    margin-left: calc(-9vw - 15px);
    margin-right: calc(-9vw - 15px);
}
/* Grösser als HD */
@media only screen and (min-width: 1920px) {
.container-fluid{
    max-width: calc(1600px + 17vw + 30px);
}
}

/* Laptop Surface */
@media only screen and (max-width: 1450px) {
	.container{	max-width: 82vw;width: 82vw;}
	.container-fluid {width: 94vw; max-width: 94vw;}
    .res-block.alignwide .inner-container.container-wide{
        max-width: 94%; width: 94%; padding-left: 0; padding-right: 0;
    }
	.alignwide {
		margin-left: calc(-6vw);
		margin-right: calc(-6vw);
	}
}


/* Laptop Tablet */
@media only screen and (max-width: 1100px) {
	.container{	max-width: 92%;width: 92%;}
	.container-fluid {width: 92%;}
    .res-block.alignwide .inner-container.container-wide{
        max-width: 100%; width: 100%;
    }
	.alignwide {
		margin-left:0;
		margin-right: 0;
	}
}

/* Laptop Mobile */
@media only screen and (max-width: 970px) {
	.container{	max-width: 95%;width: 95%;}
	.container-fluid {width: 95%;}
    .res-head.container-fluid {
        max-width: 100%; width: 100%;
    }
}


/* Logo */
.logo {
    padding-top: 3vh;
    padding-bottom: 2.5vh;
}

/* Logo Size  */
.logo img {
	width: clamp(100px, 12vw, 220px);
	height: auto;
}
/* Logo Mobile  */
@media only screen and (max-width: 970px) {
	.res-nav .logo-mobile img {
		height: 40px;
	}
}


/*  Fixnav */
.res-fixnav.show .logo {
	padding-top: 1.2vh;
	padding-bottom: 2vh;
}
.res-fixnav.show .logo img {
	width: clamp(90px, 9vw, 180px);
	height: auto;
}
@media only screen and (min-width: 970px) {
	.res-fixnav.show { 
		background: rgba(255,255,255, 1.0);
		box-shadow: rgb(100 100 111 / 7%) 0px 7px 29px 0px;
	}
	.res-fixnav.show .res-nav li a {
		font-size: 80%;
	}
}
@media only screen and (max-width: 970px) {
	
	.res-fix-nas-in-viewport:not(.page-on-top) .res-fixnav {
		background: transparent;
	}
	.res-fix-nas-in-viewport:not(.page-on-top) .res-fixnav .res-mobile-bar {
		background: #4a90e2;
	}
	.res-fix-nas-in-viewport:not(.page-on-top) .res-fixnav .res-mobile-bar {
		background-color: #fff;
		box-shadow: none;
	}
	
	.res-mobile-bar {
    background-color: #fff;
}
} 


/* RES Nav */
.res-nav .nav-link {
	font-weight: 700;
	font-size: 100%;
	white-space: nowrap;
	color: #000; 
}

@media only screen and (max-width: 1660px) {
	/*.res-nav-section .desktop-nav {flex-wrap: wrap;}*/
	.res-nav .nav-link {font-size: 100%; }
}

/* Abstand Mainnav Desktop clamp */
@media only screen and (min-width: 970px) {
	.res-nav .navbar-expand-md .navbar-nav .nav-link {
		padding-right: clamp(15px, 1.8vw, 35px);
		padding-left: clamp(15px, 1.8vw, 35px);
	}
}

/* Hover */
.res-nav-section li a:hover{
	color: #e24b00;
}

/* active Nav */
	li.active > a.nav-link,
	.res-header li.current-page-ancestor .current-page-ancestor a,
	.res-header li.current-page-ancestor a,
	#burger-menu-nav li.current-page-ancestor .current-page-ancestor a,
	#burger-menu-nav li.current-page-ancestor > a.nav-link,
	li.active .current-menu-item > a.dropdown-item,
	.res-navtab .tabs .nav-link.active,
	.res-navtab .tab-links .nav-single-tab.active .nav-link,
	#res-menu-mobile .current-page-ancestor > a, 
	#res-menu-mobile .current-page-ancestor .dropdown-submenu.active > a, 
	#res-menu-mobile .dropdown-submenu.active > a {
		color: #e24b00;
}


/* Buttons */
.btn {
	padding: 0.45em 1.9em;
	border-radius: 50px;
	font-weight: 600 !important; 
	letter-spacing: 0.02em;
	font-size: 80%;	
}
.btn-primary{
    background-color: #e24b00;
    color: #fff !important;
}

.btn-primary:link {}
  
.btn-primary:visited {
    background-color: #e24b00;
    color: #fff !important;	
}
  
.btn-primary:hover {
    background-color: #b22819;
    color: #fff !important;
	opacity: 1; 
}
  
.btn-primary:active {}

.btn-primary:focus {}

.btn-secondary{
	border: 1px solid #232323;
	background-color: #fff;
	color: #232323;
}

.btn-secondary:link {}
  
.btn-secondary:visited {}
  
.btn-secondary:hover {}
  
.btn-secondary:active {}

.btn-secondary:focus {}

.btn-text-link {
	padding: 0;
	border-radius: 0;
	border: 0;
	border-bottom: 3px solid #e24b00;
	color: #e24b00; 
	margin-right: 10px; 
	font-weight: 600 !important; 
}

.btn-text-link:link {
	
}
  
.btn-text-link:visited {}
  
.btn-text-link:hover {}
  
.btn-text-link:active {}

.btn-text-link:focus {}

.btn-sm {
    font-size: 85%;
    padding: 0.4rem 1.4rem;
}

@media only screen and (max-width: 970px) {
	.btn {
		padding: 0.5rem 1.5rem;
		font-size: 85%;
}
	
.btn-text-link {
	padding: 0;
	border-radius: 0;
}	
}

/* Footer */

.res-footer {
	border-top: 0px solid #eee;
	background-color: transparent;
}

.res-widget-footer .footer-tile {
	padding-bottom: 15px;
}
.footer-social-box a {
	background: #000;
	border-radius: 100%;
}
.res-widget-footer.footer-social-icon .fa-res-icon svg {
	fill: #fff;
	height: clamp(20px,1.0vw,80px);
}
.res-widget-footer.footer-social-icon span.fa-res-icon,
.res-widget-footer.footer-social-icon span.fa-res-i {
	width: 45px;
	height: 45px;
	color: #fff;
}


/* Formular  */


.forminator-ui .forminator-required {
	color: #fff;
	opacity: 0.4;
}
.forminator-ui .forminator-label {
    font-size: 90%;
    font-family: inherit;
    font-weight: 300;
	padding-bottom: 0.5rem;
}

.forminator-ui .forminator-checkbox, 
.forminator-ui .forminator-checkbox__label, 
.forminator-ui .forminator-checkbox__label p {
    font-size: 90%;
    font-family: inherit;
    font-weight: 300;
}

.forminator-ui.forminator-design--flat .forminator-button-submit {
    background-color: #e24b00!important;
    color: #FFFFFF!important;
	font-weight: 700!important;
}

.forminator-ui.forminator-design--flat .forminator-button-submit:hover {
    background-color: #e24b00!important;
    color: #FFFFFF!important;
	font-weight: 700!important;
	box-shadow: none!important; 
	opacity: 0.8!important; 
}

.forminator-ui.forminator-design--flat .forminator-input, .forminator-ui.forminator-design--flat .forminator-input input {
    font-size: 18px!important;
    font-family: inherit!important;
    font-weight: 300!important;
	background-color: #f3f3f3!important;
	padding: 15px!important;
}

.forminator-ui.forminator-design--flat .forminator-checkbox .forminator-checkbox-box {
    background-color: #EDEDED !important;
    color: #e24b00 !important;
}

.forminator-design--flat .forminator-input {
    background-color: #f3f3f3 !important;
    color: #000000 !important;
}

.forminator-design--flat .forminator-textarea {
    background-color: #f3f3f3 !important;
    color: #000000 !important;
}

.forminator-ui.forminator-design--flat .forminator-error-message {
    color: #000 !important;
}

@media (min-width: 783px) { 
.et-db #et-boc .et_pb_module .forminator-ui.forminator-custom-form:not(.forminator-size--small)[data-grid=open] .forminator-row:not(:last-child), .forminator-ui.forminator-custom-form:not(.forminator-size--small)[data-grid=open] .forminator-row:not(:last-child) {
    margin-bottom: 20px;
}}


/*************************************************************************/
/*   Custom-CSS  */

.marker{
	display: inline-block;
	font-weight: 400;
	font-size: 16px;
	text-transform: uppercase;
	border-bottom: 1px solid #2b52b9;
	color: #2b52b9;
}

.cta-circle {
    width: 160px;
    height: 160px;
    background: #e24b00;
    color: #fff;
	box-shadow: rgb(100 100 111 / 7%) 0px 7px 29px 0px;
}

.cta-circleTxt i {
    font-size: 170%;
    margin-bottom: 12px;
}

@media only screen and (max-width: 1400px) {
	.cta-circle {
		width: 120px;
		height: 120px;
	}
	
	.cta-circleTxt i {
		font-size: 150%;
		margin-bottom: 12px;
	}	
	
}

.res-footer {
    border-top: none;
    background-color: #000;
	color: #fff; 
}

.res-footer a {
	color: #fff; 
}

.footer-social-box a {
    background: #fff;
}

.res-widget-footer.footer-social-icon span.fa-res-icon, .res-widget-footer.footer-social-icon span.fa-res-i {
    width: 40px;
    height: 40px;
    color: #e24b00;
}

.res-boxes i, .blogBox i {
	color: #e24b00;
	font-size: 170%;
	margin-bottom: 0 !important;
}

.res-boxes .box-padding04 {
    padding: 45px 45px 45px 45px;
}
@media only screen and (max-width: 1400px) {
.res-widget-footer {
    font-size: 70%;
    line-height: 200%;
}}


@media only screen and (max-width: 970px) {
	.res-boxes .box-padding04 {
    padding: 30px 30px 30px 30px;
}
}

.res-header-image .header-arrow a {
    color: #fff;
    font-size: 170%;
}

.cta-circleTxt p.stickerTitle {
    font-size: 90%;
    font-weight: 700;
    line-height: 120%;
}
@media only screen and (min-width: 1400px) {
.res-header-image .sloganBox p {
    font-size: 120%;
    line-height: 140%;
}}

.cta-sticker {
    bottom: 6%;
    right: 3%;
	opacity: 1;
	transition: opacity 0.2s ease-out, transform 0.4s ease-out;
}

.cta-sticker:hover {
    transform: scale(1.05);
    opacity: 1 !important;
}

.cta-sticker a:hover {
    opacity: 1 !important;
}

.res-boxes .postContent .vorschau-text, .blogBox .postContent p {
    line-height: 150%;
	font-size: 85%;
}

.blog-raster .box-inner a:hover {
	opacity: 1; 
}

.btn-text-link:hover {
    padding-left: 0;
    transition: all .2s ease-in-out;
}

.res-header {
    box-shadow: rgb(100 100 111 / 7%) 0px 7px 29px 0px;
	background-color: #fff; 
}

b, strong {
    font-weight: 600;
}

.res-footer-copyright .copyright-col2 span {
    padding: 0;
}

.res-footer-copyright .copyright-col2 {
	padding: 0 10px;
}

.cookiemsg-white.cookie-close-x .cookies-hinweis-side a {
  color: #e24b00;
  font-weight: 600;
}
@media only screen and (max-width: 1100px) {
.res-footer .is-layout-flex.wp-container-4 {
	display: block; 
}}

@media only screen and (min-width: 970px) {
.single-post .res-content .container {
	max-width: 1200px;
}}

@media only screen and (max-width: 970px) {
.cta-sticker {
	display: none; 
}

.mobile-x-close span:nth-child(1) {
    top: 2px;
    transform-origin: left center;
}
	
.mobile-x-close span:nth-child(2) {
    top: 8px;
    -webkit-transform-origin: left center;
    transform-origin: left center;
    display: none;
}
	
.mobile-x-close span:nth-child(3) {
    top: 14px;
    transform-origin: left center;
}	

.mobile-x-close span {
    background: #000;
}

.res-nav .navbar-collapse {
    padding: 20% 8% 35% 8%;
    margin: 0;
    background: rgba(255,255,255, 1);
}	
	
.res-nav .nav-link {
    font-size: 150%;
}

.res-widget-footer {
    padding-top: 0;
}

.res-content-topspace {
    padding-top: 50px;
}
	
.res-footer-adresse {
	padding-bottom: 0rem !important; 
	padding-top: 0rem !important;
}

.res-footer-adresse address {
	margin-bottom: 0rem !important; 
}
	
.res-footer-kontakt {
	padding-top: 0rem !important; 
	padding-bottom: 0rem !important; 
}
	
.res-footer .is-layout-flex {
	gap: 0rem; 
}
	
.footer-social-icon {
	margin-top: 30px; 
}

.res-widget-footer {
    font-size: 100%;
    line-height: 160%;
}
	
.res-footer-copyright .copyright-col1 {
    margin-bottom: 0;
}	
	
.res-footer-copyright {
    font-size: 12px;
    opacity: 1;
}

.res-footer-copyright .copyright-col2 span {
    padding: 0 0 0 0;
    display: inline-block;
}	
	
.res-footer-copyright .copyright-col2 {
	padding: 0;
}	
.res-content {
    margin-top: 65px;
}	
.home .res-content {
    margin-top: 65px;
}	
	
.res-nav .logo-mobile {
    padding: 12px 0 12px 6%;
}
	
.home .res-header-mobile {
    box-shadow: rgb(100 100 111 / 7%) 0px 7px 29px 0px !important;
}
	
.pb-5, .py-5 { padding-bottom: 5rem!important; }
.pt-5, .py-5 { padding-top: 5rem!important; }
.mb-5, .my-5 { margin-bottom: 5rem!important;}
.mt-5, .my-5 { margin-top: 5rem!important;}	

.pb-4, .py-4 { padding-bottom: 4rem!important; }
.pt-4, .py-4 { padding-top: 4rem!important; }
.mb-4, .my-4 { margin-bottom: 4rem!important;}
.mt-4, .my-4 { margin-top: 4rem!important;}	

.pb-3, .py-3 { padding-bottom: 2.5rem!important; }
.pt-3, .py-3 { padding-top: 2.5rem!important; }
.mb-3, .my-3 { margin-bottom: 2.5rem!important;}
.mt-3, .my-3 { margin-top: 2.5rem!important;}	

.res-blog {
	padding-top: 8rem !important; 
}
	
.blog-raster .postContent {
	padding: 2rem!important;
}
	
.res-header-image .sloganBox a.btn {
    font-size: 100%;
}
		
}

/*********** Custom ************/

#res-menu{
	padding-top: 4vh;
}


/*Sticker*/

.cta-circle {
    width: 160px;
    height: 160px;
    background: #e24b00;
    color: #fff;
	box-shadow: rgb(100 100 111 / 7%) 0px 7px 29px 0px;
}
.page-kontakt .cta-sticker {
    display: none!important;
}
.cta-circleTxt i {
    font-size: 170%;
    margin-bottom: 12px;
}
@media only screen and (max-width: 1500px) { 
.cta-circle {
    width: 120px;
    height: 120px;
}
}
	
	
	
/*Header-image*/
.res-header-image .col.text-right{
    margin-left: auto;
}

/*Text Bild*/
u{
    text-underline-offset: 0.075em;
    text-decoration-thickness: 0.125em;
    text-decoration-color: #e24b00;
}
.oranger-text p{
	color: #e24b00;
}
.txt-imagebox img {
    border-radius: 15px;
}
@media only screen and (max-width: 970px) {  
.spezial-mobile .txt-imagebox img {
		max-width: 35vw!important;
}	
}

/*Tabelle*/
@media only screen and (min-width: 970px) {    
    .res-table .layout-01.row-cols-md-2 .col:nth-child(odd) {
        max-width: 80%;
        min-width: 80%;
        text-align: left;
    }
    .res-table .layout-01.row-cols-md-2 .col {
        min-width: 20%;
        max-width: 20%;
        text-align: right;
    }
}

/*Boxes*/

.box-inner {
    border-radius: 15px;
    overflow: hidden;
}
.res-boxes .box-custom {
    background: #fff;
    border-radius: 15px;
    box-shadow: 0 .5rem 1rem rgba(0,0,0,0.15)!important;
}
.res-boxes .box-custom .box-img{   
	border-radius: 0px;
    aspect-ratio: 1 / 1;
    align-content: center;
    overflow: hidden!important;
    display: flex;
}
.res-boxes .box-custom .box-img img {
    padding: 2em;
    object-fit: contain;
}
.res-boxes .box-custom .postContent{
	padding-top:0em;
}


@media only screen and (max-width: 1500px) {
	.res-blog-boxes{
		margin-top: 3vh;
	}
}

/*Kontakt*/
.res-content .footer-kontakt a{
    color: #e24b00;
    font-weight: 500;
    font-size: 110%;
}



/*ABSTäNDE*/

@media only screen and (max-width: 1500px) {
.pb-5, .py-5 {
    padding-bottom: 6.5rem!important;
}
.pt-5, .py-5 {
    padding-top: 6.5rem!important;
}
.mb-5, .my-5 {
    margin-bottom: 6.5rem!important;
}
.mt-5, .my-5 {
    margin-top: 6.5rem!important;
}
.pb-4, .py-4 {
    padding-bottom: 4.5rem!important;
}
.pt-4, .py-4 {
    padding-top: 4.5rem!important;
}
.mb-4, .my-4 {
    margin-bottom: 4.5rem!important;
}
.mt-4, .my-4 {
    margin-top: 4.5rem!important;
}
.pb-3, .py-3 {
    padding-bottom: 2rem!important;
}
.pt-3, .py-3 {
    padding-top: 2rem!important;
}
}
@media only screen and (max-width: 1350px) {
.res-content-topspace {
    padding-top: 60px;
}
.pb-5, .py-5 {
    padding-bottom: 5.5rem!important;
}
.pt-5, .py-5 {
    padding-top: 5.5rem!important;
}
.mb-5, .my-5 {
    margin-bottom: 5.5rem!important;
}
.mt-5, .my-5 {
    margin-top: 5.5rem!important;
}
.pb-4, .py-4 {
    padding-bottom: 4rem!important;
}
.pt-4, .py-4 {
    padding-top: 4rem!important;
}
.mb-4, .my-4 {
    margin-bottom: 4rem!important;
}
.mt-4, .my-4 {
    margin-top: 4rem!important;
}
.pb-3, .py-3 {
    padding-bottom: 1.75rem!important;
}
.pt-3, .py-3 {
    padding-top: 1.75rem!important;
}
body .wp-block-columns {
    margin-bottom: 1em;
}
}
@media only screen and (max-width: 1100px) {
.pb-5, .py-5 {
    padding-bottom: 5rem!important;
}
.pt-5, .py-5 {
    padding-top: 5rem!important;
}
.mb-5, .my-5 {
    margin-bottom: 5rem!important;
}
.mt-5, .my-5 {
    margin-top: 5rem!important;
}
.pb-4, .py-4 {
    padding-bottom: 3.5rem!important;
}
.pt-4, .py-4 {
    padding-top: 3.5rem!important;
}
.mb-4, .my-4 {
    margin-bottom: 3.5rem!important;
}
.mt-4, .my-4 {
    margin-top: 3.5rem!important;
}
.pb-3, .py-3 {
    padding-bottom: 1.5rem!important;
}
.pt-3, .py-3 {
    padding-top: 1.5rem!important;
}
.pb-2, .py-2 {
    padding-bottom: 0.8rem!important;
}
.pt-2, .py-2 {
    padding-top: 0.8rem!important;
}
}

@media only screen and (max-width: 970px) {
.home .res-content, .res-content {
    margin-top: 65px;
}
.res-content-topspace {
    padding-top: 5vh;
}
.res-footer {
    margin-top: 0rem!important;
}
.pb-5, .py-5 {
    padding-bottom: 4rem!important;
}
.pt-5, .py-5 {
    padding-top: 4rem!important;
}
.mb-5.pt-5, .my-5.pt-5 {
    padding-bottom: 0rem!important;
}
.mt-5.pt-5, .my-5.pt-5 {
    padding-top: 0rem!important;
}
.mb-5, .my-5 {
    margin-bottom: 4rem!important;
}
.mt-5, .my-5 {
    margin-top: 4rem!important;
}
.pb-4, .py-4 {
    padding-bottom: 3rem!important;
}
.pt-4, .py-4 {
    padding-top: 3rem!important;
}
.mb-4, .my-4 {
    margin-bottom: 3rem!important;
}
.mt-4, .my-4 {
    margin-top: 3rem!important;
}
.pb-3, .py-3 {
    padding-bottom: 1rem!important;
}
.pt-3, .py-3 {
    padding-top: 1rem!important;
}
.pb-2, .py-2 {
    padding-bottom: 0.5rem!important;
}
.pt-2, .py-2 {
    padding-top: 0.5rem!important;
}
.pb-1, .py-1 {
    padding-bottom: .3rem !important;
}
.pt-1, .py-1 {
    padding-top: 0.3rem!important;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    margin-bottom: .3rem;
}
p {
    margin-bottom: 0.5rem;
}
}