

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

body {
	font-family: 'circe', sans-serif;
	font-weight: 300;
	font-size: clamp(16px,2vw,24px);
	line-height: 150%;
	color: #333;
	background-color: #fff;
}

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

a:hover {
	color: #333;
}

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

/* Title clamp */
h1, h2, h3, h4, h5, h6 {
	font-family: 'circe', sans-serif;
	font-weight: 400;
	line-height: 110%;
}
h1 {
	font-size: clamp(26px, 5.4vw, 440%);
	font-weight: 400;
	letter-spacing: -0.3rem;
}
h2 {
	font-size: clamp(25px, 4.4vw, 440%);
	font-weight: 400;
	letter-spacing: -0.3rem;
}
h3 {
	font-size: clamp(22px, 2.5vw, 170%);
    font-weight: 400;
}
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(220%, 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 {
    max-width: 1400px;
}
.container-fluid {
    max-width: 92%;
}
.container-small {
	max-width: 900px;
	margin: 0 auto;
}

@media only screen and (max-width: 1400px) {
	.container{	max-width: 90%;	}
	.container-fluid {max-width: 90%;}
}

@media only screen and (max-width: 970px) {
	.container{	max-width: 94%;	}
	.container-fluid {max-width: 94%;}
}

/* Logo */
.logo {
    padding-top: 30px;
    padding-bottom: 35px;
}

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


/*  Fixnav */
.res-fixnav.show .logo {
	padding-top: 15px;
	padding-bottom: 20px;
}
.res-fixnav.show .logo img {
	width: clamp(90px, 9vw, 300px);
	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: 400;
	font-size: 100%;
	white-space: nowrap;
	color: #333; 
}

@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: #2b52b9;
}

/* 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: #2b52b9;
}


/* Buttons */
.btn {
	padding: 0.7rem 2.4rem;
	border-radius: 0px;
	font-weight: 700 !important; 
}
.btn-primary{
    background-color: #2b52b9;
    color: #fff !important;
	font-weight: 700 !important;
}

.btn-primary:link {}
  
.btn-primary:visited {
    background-color: #2b52b9;
    color: #fff !important;
	font-weight: 700 !important;	
}
  
.btn-primary:hover {
    background-color: #c6d99b;
    color: #fff !important;
	font-weight: 700 !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 #333;
	color: #333; 
	margin-right: 10px; 
}

.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;
	border: 0;
	border-bottom: 2px solid #333;
}	
}

/* Footer */

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

.res-widget-footer .footer-tile {
	padding-bottom: 15px;
}
.footer-social-box a {
	background: #333;
	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;
}

.nl-btn {
	background: #333;
	color: #fff; 
	border: none; 
	font-weight: 700; 
	padding: 0.6rem 1.2rem;
}

.nl-btn:hover {
	opacity: 0.9; 
}


/* 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: #2b52b9!important;
    color: #FFFFFF!important;
	font-weight: 700!important;
}

.forminator-ui.forminator-design--flat .forminator-button-submit:hover {
    background-color: #2b52b9!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: #2b52b9 !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: 90px;
    height: 90px;
    background: #2b52b9;
    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: #2b52b9;
	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: #2b52b9;
}

.res-boxes i, .blogBox i {
	color: #2b52b9;
	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: 4%;
    right: 2%;
	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: #2b52b9;
  font-weight: 600;
}

.dropdown-toggle::after {
    border-top: 0.27em solid;
    border-right: 0.2em solid transparent;
    border-left: 0.2em solid transparent;
    margin-left: 0.5em;
    vertical-align: 0.2em;
    opacity: 1;
}

.dropdown-item {
    padding: 0.3rem 2rem;
    font-weight: 700;
    font-size: 120%;
}

.res-boxes .teamContent .team-infos .team-social-icon-link i {
    transition: all .3s ease-in-out;
    font-size: clamp(30px,1.0vw,25px);
    margin-bottom: 10px;
    margin-right: 30px;
}

.sprache-prov a.nav-link {
	font-size: 70%;
	margin-top: 2px;
}

.res-fixnav.show .sprache-prov a.nav-link {
	font-size: 70%;
	margin-top: 2px;
}

.res-footer-newsletter .form-control {
    padding: 0rem 1rem 1rem 0rem;
    font-size: 80%;
    font-weight: 400;
    color: #000;
    background-color: transparent;
    border: none;
    border-bottom: 2px solid #fff;
    max-width: 80%;
}

.res-footer-newsletter .form-control:focus {
	box-shadow: none !important; 
}

.res-footer-newsletter .form-control::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #fff;
  opacity: 1; /* Firefox */
}

.res-footer-newsletter .form-control:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #fff;
}

.res-footer-newsletter .form-control::-ms-input-placeholder { /* Microsoft Edge */
  color: #fff;
}

.res-boxes .teamContent .vorschau-text p {
    margin-bottom: 20px;
    min-height: 40px;
    font-size: 80%;
    line-height: 150%;
    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 (min-width: 970px){
.dropdown-item {
    color: #333;
}
.dropdown-menu {
    background: rgba(255,255,255, 1);
    box-shadow: 0 5px 10px -5px rgb(0 0 0 / 80%);
	padding: 1rem 0;
}
}

@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: #333;
}

.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: 1.5rem !important;
}

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

.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;
}
	
.footer-title {
    margin-bottom: 0;
}

.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: 20px 0 20px 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-boxes .teamContent .vorschau-text p {
    font-size: 100%;
}
.res-boxes .team-infos {
    font-size: 100%;
    line-height: 150%;
}
	
.res-header .dropdown-menu {
    padding: 2px 0 20px 0;
    margin: 0;
}
	
.sprache-prov a.nav-link {
    font-size: 90%;
    margin-top: 40px;
}	
		
}