

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

body {
	font-family: 'Satoshi', 'Figtree', 'poppins', sans-serif;
	font-weight: 400;
	font-size: clamp(18px,1.1vw,21px);
	line-height: 180%;
	color: #232323;
	background-color: #fff;
}

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

/* Link in Editor-Texten */
:is(.res-content p, .res-content li) a:not(.nav-link, .dropdown-item, .scrollerTo) {
	font-weight: 400;
    border-bottom: 1px solid #232323;
}

:is(.desktop-nav, .navbar-nav) .current-page-ancestor a {
	color: #449DD7; 
}

.brand-color {
	color: #449DD7; 
}

b, strong {
    font-weight: 600;
}

small{
    font-size: 55%;
}

/* Title clamp */
h1, h2, h3, h4, h5, h6 {
	font-family: 'Satoshi', 'Figtree','poppins', sans-serif;
	font-weight: 300;
	line-height: 115%;
}
h1 {
	font-size: clamp(26px, 2.9vw, 270%);
}
h2 {
	font-size: clamp(24px, 2.2vw, 200%);
}
h3 {
	font-size: clamp(18px, 2.0vw, 180%);
	line-height: 120%;
	font-weight: 300;
}
h4 {font-size: clamp(19px, 1.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; */
		}
}


/* Container align wide  */

.container {
    width: 68vw;
    max-width: 1450px;
}
.container-fluid{
    width: 88%;
    max-width: 88%;
}
.alignfull .inner-container.container-wide, .res-boxes.alignwide .inner-container.container-wide, .alignwide .inner-container.container-wide {
    max-width: 88vw;
	padding-left: 15px;
	padding-right: 15px;
}
.alignfull {
    margin-left: calc(-95vw / 2 + 100% / 2);
    margin-right: calc(-95vw / 2 + 100% / 2);
    max-width: 95vw;
}
.container-small {
	max-width: 900px;
	margin: 0 auto;
}
.alignwide {
    margin-left: calc(-10vw - 15px);
    margin-right: calc(-10vw - 15px);
}    
.res-txt.alignwide .inner-container.container-off {
    max-width: 100%;
    padding: 0 0 0 0;
}

/* Grösser als HD */
@media only screen and (min-width: 1920px) {
.container-fluid{
    max-width: calc(1450px + 20vw + 30px);
}
}

/* Laptop Surface */
@media only screen and (max-width: 1450px) {
	.container{	max-width: 82%;width: 82%;}
	.container-fluid {width: 94%; max-width: 94%;}
    .res-block.alignwide .inner-container.container-wide{
        max-width: 95%; width: 95%; 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) {
.alignfull {
    margin-left: calc(-94vw / 2 + 100% / 2);
    margin-right: calc(-94vw / 2 + 100% / 2);
    max-width: calc(100vw - var(--scrollbarWidth));
}
    .res-head.container-fluid {
        max-width: 100%; width: 100%;
    }
}


/* Logo */
.logo {
	padding-top: 4.5vh;
	padding-bottom: 4vh;
}

/* Logo Size  */
.logo img {
	width: clamp(100px, 16vw, 300px);
	height: auto;
}

/* Logo Mobile  */
@media only screen and (max-width: 970px) {
	.res-nav .logo-mobile img {
		height: 30px;
	}
}


/* RES Nav */
@media only screen and (min-width: 970px) {

	.res-nav .nav-link {
		font-size: 85%;
		padding: 0.7rem 1.3rem;
		white-space: nowrap;
        text-transform: uppercase;
        letter-spacing: 0.025em;
        font-weight: 600;
	}

	.res-nav .navbar-expand-md .navbar-nav .nav-link {
		padding-right: 0;
		padding-left: clamp(30px, 2.9vw, 50px);
	}

}


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

/* active Nav */
	li.active > a.nav-link,
	.res-header li.current-page-ancestor .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,
	.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: #449DD7;
}
/* active Nav in dropdownn */
li.active .current-menu-item > a.dropdown-item {
    color: #eee;
	font-weight: 700;
}

.res-nav .dropdown a {
	display: flex;
	align-items: center;
}

/*  Fixnav */
.res-fixnav.show .logo {
	padding-top: 12px;
	padding-bottom: 14px;
}
.res-fixnav.show .logo img {
	width: clamp(90px, 10vw, 200px);
	height: auto;
}
/* Fixnav Desktop */
@media only screen and (min-width: 970px) {
	.res-fixnav.show { 
		background: rgba(255,255,255, 1.0);
	}
	.res-fixnav.show .res-nav li a {
		font-size: 75%;
	}
	.res-fix-nav-in-viewport:not(.page-on-top) .res-fixnav {
		box-shadow: none;
		border-bottom: 1px solid #eee;
	}
}
/* Fixnav Mobile */
@media only screen and (max-width: 970px) {
	
	.res-fix-nav-in-viewport:not(.page-on-top) .res-fixnav {
		background: transparent;
		box-shadow: 3px 8px 10px rgba(200, 200, 200, 0.3);
	}
	.res-fix-nav-in-viewport:not(.page-on-top) .res-fixnav .res-mobile-bar {
		background-color: #fff;	
	}
} 



/* Buttons */
.btn {
	padding: 0.33rem 2.2rem;
	border-radius: 3px;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    font-weight: 600;
    font-size: 85%;
}

.btn-primary{
    background-color: #232323;
    color: #fff !important;
	font-weight: 300 !important;
}
.btn-primary:link {
}
.btn-primary:visited {
}
.btn-primary:hover {
}
.btn-primary:active {
}
.btn-primary:focus {
}

.btn-secondary, .res-header-video .sloganBox .btn-secondary{
	border: none;
	background-color: #449DD7;
	color: #fff;
}
.btn-outline{
	border: solid 1px #449DD7;
	color: #449DD7;
}
.btn-text-link, .res-header-video .sloganBox .btn-text-link {
	color: #449DD7;
	padding: 0;
	border-radius: 0;
	font-weight: 400;
	border-bottom: none;
}
.btn-arrow {
	color: #449DD7;
	position: relative;
	padding: 0;
	margin: 0;
	border-radius: 0;
	font-weight: 400;
	transition: all .3s ease-in-out;
}

.btn-arrow:after {
	content: "\f178";
    font-family: "Font Awesome 6 Pro";
    position: absolute;
    margin-left: 8px;
    font-weight: 400;
    font-size: 100%;
	text-decoration: none;
	transition: all .3s ease-in-out;
}

.btn-sm:not(.btn-text-link){
    padding: 0.4rem 1.5rem;
	font-size: 70%;
} 


/* Btns Mobile  */
@media only screen and (max-width: 970px) {
	.btn {font-size: 90%;}
	.btn-sm {font-size: 75%;} 
}	


/* Footer */

.res-footer {
	border-top: 1px solid #eee;
	background-color: transparent;
	padding-top: 6vh;
    padding-bottom: 2vh;
}
.res-footer .wp-block-columns{
	margin-bottom: 0;	
    gap: 1em;
}
.res-widget-footer .footer-logo.text-md-right {
	display: flex;
	justify-content: flex-end;
}
.footer-social-box a {
	background: #232323;
	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;
}
.res-widget-footer {
    font-size: 70%;
    line-height: 200%;
}
.res-footer-copyright {
    font-size: 100%;
    opacity: 1;
    display: block!important;
    line-height: 200%;
}
.res-footer-copyright .copyright-col2, .copyright-col1 span, .copyright-col2 span{
    padding: 0!important;
}


/* Blog Container */

@media only screen and (min-width: 1400px) { 
	.res-blog .container {
		max-width: 1440px;
	}
}


/* Headline grosse Title  */

.headline-title h1  {
	font-size: clamp(240%, 4.2vw, 440%);
	line-height: 110%;
}
.headline-title h2  {
	font-size: clamp(240%, 3.4vw, 300%);
	line-height: 115%;
}
.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%;
}




/* Formular UI  */

.forminator-ui .forminator-required {
	color: #eee;
	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 error-message font */
.forminator-ui.forminator-design--flat span.forminator-error-message {
    color: #232323 !important;
	font-weight: 400 !important;
}
/* forminator Button */
.forminator-ui .forminator-button-submit {
	border-radius: 40px !important;
	padding: 0.4rem 2.4rem !important;
	font-size: 90% !important;
	font-weight: 300 !important;
}

/* Oversize 4k Monitor 
@media only screen and (min-width: 1980px) {
	.container,
	.res-blog .container {
		width: 85%;
    	max-width: 1880px;
	}
}*/



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

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

.style-01 {
}

/*Hintergrund*/
.custom{
	background: linear-gradient(45deg, #3190CD, #72D2F4);
	background-attachment: fixed;
}
.custom *{
	color: #fff;
}

/*List
.res-content .container ul {
    list-style: none;
    padding: 5px 0;
}
.res-content .container li {
    padding-bottom: 8px;
    margin-left: 30px;
}
.res-content .container li:before {
    content: "\f068";
    font-family: "Font Awesome 6 Pro";
    position: absolute;
    margin-left: -25px;
    text-decoration: inherit;
    font-weight: bold;
    font-size: 10px;
    opacity: 0.6;
}*/

/*Navigation*/

.page-on-top .res-nav-right {
	padding-bottom: 2vh;
}

/*Sticker*/
.cta-sticker {
    bottom: 3%;
    right: 1.25%;
}
.cta-sticker:hover, .cta-sticker a:hover {
    transform: scale(1);
    opacity: 1;
}
.cta-circle {
    border-radius: 5px;
    width: 95px;
    height: 95px;
    background: #449DD7;
    color: #fff;
    transition: all .3s ease-in-out;
}
.cta-circle:hover {
    border-radius: 10px;
    width: 410px;
    height: 155px;
}
.cta-circleTxt {
    margin: 29px 30px;
    position: absolute;
    left: 0;
    top: 0;
	display: flex;
	text-align: left!important
}
.sticker-texte{
	padding-left: 30px;
}
.cta-circleTxt i {
}
.cta-circleTxt p.stickerTitle, .cta-circleTxt p.stickerTxt {
	opacity: 0;
}
.cta-circleTxt p.stickerTitle {
 	font-size: 130%;
    line-height: 120%;
	margin-bottom: 0.5em;
	font-weight: 500;
	width: 250px
}
.cta-circleTxt p.stickerTxt {
    font-size: 80%;
    line-height: 125%;
	width: 250px
}
.cta-circle:hover .cta-circleTxt p.stickerTitle, .cta-circle:hover .cta-circleTxt p.stickerTxt {
	opacity: 1;
}
@media only screen and (max-width: 1500px) { 
.cta-circle {
    width: 75px;
    height: 75px;
}
.cta-circle:hover {
    border-radius: 5px;
    width: 350px;
    height: 125px;
}
.cta-circleTxt {
    margin: 19px 24px;
}
}

/*Header-Video*/
.res-header-video.alignfull{
	border-radius: 2px;
}
.res-header-video.alignwide .container-fluid{
	width: 100%; max-width: 100%;
}
.res-header-video .sloganbox-background {
    background: #449DD7;
    padding: 1.9rem 3.2rem;
}

.res-header-video .col.text-right{
	text-align: left!important;
	margin-left: auto!important;
}

/*.res-header-video.style-01 .container-fluid {
	width: 100%; max-width: 100%; padding: 0;
}*/

.res-header-video.style-01 .sloganbox-background {
    background: rgba(255,255,255,1.0);
    backdrop-filter: blur(4px);
	padding-bottom: 0;
}
.res-header-video.style-01 .sloganbox-background h1, .res-header-video.style-01 .sloganbox-background h2, .res-header-video.style-01 .sloganbox-background h3  {
	color: #232323;
}
.res-header-video.style-01 .res-header-video-vertical-center {
    transform: translateY(-100%);
}

/*Text Title*/
h2 strong, h3 strong{
	color: #449DD7;
}
.res-txt i{
	width: 2.5rem;
    height: 2.5rem;
    padding: 0.5rem;
	text-align: center;
	border-radius: 2px;
	background-color: #449DD7;
	color: #fff;
}
.res-txt.style-01 p{
	color: #449DD7;
}
.res-txt.style-02 .inner-container{
	padding-bottom: 3em;
}
.res-txt.style-02 .col-md-12{
	display: flex;
	flex-direction: row;
    flex-wrap: wrap;
}
.res-txt.style-02 .txt-title-field{
	width: 100%;
	flex-basis: 100%;
}
.res-txt.style-02 .txt-textfield{
	width: 70%;
	flex-basis: 70%;
}
.res-txt.style-02 .txt-textfield p{
	margin-bottom: 0;
}
.res-txt.style-02 .txt-textfield-btns{
	width: 30%;
	flex-basis: 30%;
	padding-top: 0!important;
}
.res-txt.style-03 h2{
    font-weight: 400;
}
.res-txt.style-03 h3{
    font-size: 120%;
    opacity: 0.6;
}
.res-txt.style-03 .txt-textfield p{
	margin-bottom: 0.5em;
}

/*Boxes*/
.res-boxes .border {
	border: none!important;
	border-right: solid 1px #444!important;
}
.res-boxes .box-col:last-of-type .border {
	border: none!important;
}
.res-boxes .box-col .border .box-content{
	padding-right: 8%;
	padding-left: 0;
}
.res-boxes .box-custom {
    background: transparent;
    border-radius: 0px 0px 0px 0px;
}
.res-boxes .box-custom .postContent{
	display: flex;
	flex-direction: row;
	align-items: center;
    justify-content: space-between;
    padding-left: 5px;
    padding-right: 5px;
}
.res-boxes .box-custom .postContent h4{
    flex-basis: 80%;
    max-width: 80%;
}
.res-boxes .box-custom .postContent i{
	width: 2.5rem;
    height: 2.5rem;
    padding: 0.5rem;
	text-align: center;
	border-radius: 2px;
	background-color: #449DD7;
	color: #fff;
	margin-left: 5%
}
.res-boxes .box-overlayer .btn-text-link {
	color: #fff;
}
.res-boxes .postContent .btn-sm.btn-text-link {
    padding: 0px 0px;
    font-size: 75%;
}

/*Zahlen-Counter*/
.res-zahlen-ticker .row{
	margin-left: 0;
	margin-right: 0;
}
.res-zahlen-ticker .zahlen-ticker-spalten{
	justify-content: space-between;
}
.res-zahlen-ticker .counter{
	text-align: left;
	border-right: solid 1px #444;
	padding-right: 5%;
	padding-left: 5%;
}
.custom .counter{
	border-right: solid 1px #fff;
}
.res-zahlen-ticker .counter:first-of-type{
	padding-left: 0px;
	padding-right: 8%;
}
.res-zahlen-ticker .counter:last-of-type{
	border-right: none;
	padding-right: 0px;
	padding-left: 8%;
}

.res-zahlen-ticker .counter h2{
    font-size: clamp(24px, 4.6vw, 480%);
	letter-spacing: 0.05em;
	display: inline;
}

/*Icons*/
.res-icons-text .icons-txt-content {
    font-size: 100%;
}

/*Scroll Effekt*/

.line-container {
    position: relative;
    display: inline-block;
}
.split-line {
    color: #232323;
    position: relative;
    font-size: 100%;
    overflow: hidden;
}
.line-mask {
    color: #232323;
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    white-space: nowrap;
    overflow: hidden;
}

.orig-line {
    opacity: 0.1;
}

/*Kontakt*/
.res-content .res-widget-footer {
    font-size: 90%;
    line-height: 160%;
}

/*Datenschutz*/
.page-allgemeine-datenschutzerklaerung h3 {
	font-size: clamp(18px, 1.8vw, 160%);
	margin-top: 1em;
	padding-bottom: 0.25em;
}
.page-allgemeine-datenschutzerklaerung h4 {
	font-size: clamp(19px, 1.4vw, 135%);
	margin-top: 1em;
	padding-bottom: 0.25em;
}

/*Navtab*/
.res-navtab .nav-fill a {
	line-height: 130%;
}

/* Responsive */
@media only screen and (max-width: 970px) {
    /* Header Home */
    .res-mobile-bar {
		background-color: #fff!important;
	}
    
    .page-home .res-block.res-video-block.res-header-video.mb-5 {
        margin-bottom: 2rem !important;
    }
    
    /* Nav */
    .res-nav .navbar-nav {
		min-height: 90vh!important;
	}
    
    .page-home .res-block.res-txt.style-02 .col-md-12 {
        flex-direction: column!important; 
        flex-wrap: nowrap!important;
        align-items: flex-start!important;
    }
    
    .page-home .res-block.res-txt.style-02 .txt-textfield {
        width: 100%!important;
        flex-basis: 100%!important;
    }
    
    .page-home .res-block.res-txt.style-02 .txt-textfield-btns {
        width: 40%!important;
        flex-basis: 40%!important;
        text-align: left!important;
        margin-top: 15px!important;
    }
    
    .res-footer-logo .footer-logo {
        display: flex!important;
        justify-content: flex-start!important; 
        align-items: center!important;
    }
    
    .res-footer p {
        text-align: left!important;
    }
    
    .iconbox-side {
        margin-right: 0%!important;
    }
    
    .iconbox {
        font-size: 100%!important;
    }
    
    .icons-text-layout .row {
        display: flex!important;
        flex-direction: column!important;
        flex-wrap: nowrap!important;
    }
    
    .iconbox-side .col-10 {
        max-width: 100%!important;
    }
}