@font-face {
  font-family: 'RockSolid Icons';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/rocksolid-icons.eot'); /* IE9 Compat Modes */
  src: local('RockSolid Icons'), local('RockSolid-Icons'),
       url('../fonts/rocksolid-icons.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/rocksolid-icons.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/rocksolid-icons.woff') format('woff'), /* Modern Browsers */
       url('../fonts/rocksolid-icons.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/rocksolid-icons.svg#Signika') format('svg'); /* Legacy iOS */
}

/* questrial-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Questrial';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/questrial-v18-latin-regular.woff2') format('woff2'); 
}


@media print { 
  a[href]:after {
    content: none;
  }
}

*::-moz-selection 											{ background: none repeat scroll 0 0 rgba(49, 66, 83, 1); color: #fff; text-shadow: none; }
*::-webkit-selection										{ background: none repeat scroll 0 0 rgba(49, 66, 83, 1); color: #fff; text-shadow: none; }
*::selection 												{ background: none repeat scroll 0 0 rgba(49, 66, 83, 1); color: #fff; text-shadow: none; }


/* Reset ############################################################################################### */
figure 														{ margin: 0; padding: 0; }
button 														{ margin: 0; padding: 0; }

#wrapper                                                    { overflow: hidden; }

/* Allgemeine Farben ############################################################################################### */
:root {
--weiss: #fff;
--text_farbe: #000;
--blau: /*#024674;*/#000;
--hellblau: #000;
--hellesblau: #000;
--rot: #000;
    
--headline_size1: 2.4rem;
--headline_lineheight1: 2.8rem;

--headline_size2: 2.0rem;
--headline_lineheight2: 2.4rem;

--headline_size3: 1.6rem;
--headline_lineheight3: 1.8rem;

--headline_size4: 1.2rem;
--headline_lineheight4: 1.7rem;
    
--padding_container: 100px 0 100px 0;
--padding_top: 100px;
    
--margin_container: 100px 0 100px 0;
--margin_top: 100px;
    

}
#gross img {width:100%; height:auto}
.rot                                                        { color: var(--rot); }
.hellblau                                                   { color: var(--hellblau); }
/* Struktur ---------------------------------------------------------- */

p a {color:#1fa5d1; text-decoration: none}
p a:hover {text-decoration: underline; color:#1fa5d1;}

html                                                        { overflow-x: hidden; position: relative; min-height: 100%; } 
html, body													{   font-family: 'Questrial'; font-size: 18px; line-height: 27px; font-weight: 300; color: var(--text_farbe); letter-spacing: 0.2px; }      
.invisible													{ display: none !important; }


.container-fluid                                            { max-width: 1680px; position: relative; }
.container-fluid.big                                        { max-width: 1980px; position: relative; }

/* Layout mit zwei Spalten */
.main-cols                                                  { margin: 0; }
.main-cols .right-col .container-fluid                      { max-width: inherit; }
.main-cols .right-col .container-fluid.big                  { max-width: inherit; }


/* Sticky Footer */
body                                                        { /*margin-bottom: 449px; */ position: initial !important; }
footer                                                      { position: relative; bottom: 0; width: 100%; /*height: 449px;*/ } 
.mm-wrapper .mm-page                                        { position: inherit !important; }
.mm-slideout                                                { z-index: 100 !important; }
#wrapper                                                    { overflow-x: hidden; }

/* Buttons */
/*.btn1                                                       { background-color: #a3a19c;    padding: 6px 16px;
    border-radius: 12px;
    transition: all ease .4s;  font-size: 0.889rem; letter-spacing: 2.2px;
                                                              color: #fff; display: inline-block; border: 0; cursor: pointer; text-transform: uppercase; }
.btn1:hover                                                 { background-color: var(--hellblau); transition: all ease .4s; text-decoration: none; color: #fff; }
*/

.btn2                                   { font-size:0.875rem; transition: all ease .4s;  color: var(--blau); display: inline-block; border: 0; cursor: pointer; letter-spacing: 0px; border-bottom: 1px solid var(--hellblau); line-height:1rem; text-transform: uppercase; }

.cta1, .btn1 {
	font-size: 0.889rem;
    transition: all ease .4s;
    color: black;
    display: inline-block;
    border: 0;
    border-bottom: 1px solid black;
    letter-spacing:1px;
    cursor: pointer;
    text-transform:uppercase;
 
    margin: 0;
 }
  .cta1:hover, .btn1:hover                                                { transition: all ease .4s; text-decoration: none;     border-bottom: 1px solid #999;  color: #999;}
  
    
.btn2:hover                                                 { transition: all ease .4s; text-decoration: none; color: var(--hellblau); }

.btn3                                                       { transition: all ease .4s;  color: var(--blau); display: inline-block; border: 0; cursor: pointer; letter-spacing: 1px;   border-bottom: 1px solid var(--hellblau); font-size: 21px; text-transform: uppercase; }
.btn3:hover                                                 { transition: all ease .4s; text-decoration: none; color: var(--hellblau); }

.btn4                                                       { background-color: #fff; padding: 12px 20px; border-radius: 25px; transition: all ease .4s; text-transform: uppercase;
                                                               font-size: 0.8rem; letter-spacing: 1px; border: 1px solid #fff;
                                                              color: var(--blau); display: inline-block; cursor: pointer; text-transform: uppercase; }
.btn4:hover                                                 { background-color: var(--blau); transition: all ease .4s; text-decoration: none; color: #fff; }

/* Subnavigation */
main .left-col                                              {  }
main .left-col .mod_navigation                              { /*background: var(--blau); color: #fff; padding: 30px 30px 15px 30px; */ color: var(--blau);padding:5px 0 0 0}
main .left-col .mod_navigation ul.level_1 {padding:0px}
main .left-col .mod_navigation ul.level_2 {padding: 10px 30px 15px 30px;}   
main .left-col .mod_navigation ul                           { padding: 0; margin: 0; list-style: none; }
main .left-col .mod_navigation ul li                        { padding: 5px 0px; border-top:1px solid #EEF3F6;}
main .left-col .mod_navigation ul li a                      { color: var(--blau); font-size:16px; }
main .left-col .mod_navigation ul li a:hover {text-decoration:none; color:black}
main .left-col .mod_navigation ul li strong {font-size:16px}


.newsteaser_3 {padding:0px!important}
.newsteaser_3 .newsteaser_3_inner {
    height: 100%;
    display: flex;
    flex-direction: column;
    background: #E6EDF1;
}









.buttonUp {
    position: fixed;
    right: 30px;
    bottom: 30px;
    z-index: 60000;
    -webkit-transition: .5s ease;
    -o-transition: .5s ease;
    transition: .5s ease;
    opacity: 0.5;
    cursor: pointer;
    background: #525252;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    opacity: 0;
    border: 1px solid #525252;
    display: none;
}
.buttonUp .buttonSVG {
    width: 24px;
    height: auto;
    position: relative;
    top: 7px;
    left: 12px;
    -webkit-transition: all ease .5s;
    -o-transition: all ease .5s;
    transition: all ease .5s;
}
.buttonUp .cls-1 {
    fill: #fff;
    width: 25px;
    height: auto;
    -webkit-transition: .5s ease;
    -o-transition: .5s ease;
    transition: .5s ease;
}
.buttonUp.active {
    opacity: 0.5;
}

.marginTop_50                                               { margin-top: 50px; }
.marginTop_100                                              { margin-top: 100px; }
.marginTop_150                                              { margin-top: 150px; }
.marginTop_200                                              { margin-top: 200px; }


a                                                           { color: #171717; transition: all ease .4s; } 


main .text_wrapper a {border-bottom: 1px solid var(--hellblau);  color: var(--blau);}
main .text_wrapper a:hover {text-decoration:none; color:#1fa5d1}



h1, h2, h3, h4, h5, h6				                        { font-weight: var(--headline_weight); }





/* no cookie video*/
 .video_outer_wrapper.borderTrue {
     padding: 35px 0 0 0 
}
 .video_outer_wrapper.noPaddingBottom {
     padding-bottom: 0 
}
 .video_outer_wrapper.noPaddingTop {
     padding-top: 0 
}
 .video_outer_wrapper .row {
     -webkit-box-pack: center;
     -ms-flex-pack: center;
     justify-content: center 
}
 .video-image img {
     width: 100%;
     height: auto;
     margin-bottom: 15px 
}
 .video-image {
     display: -webkit-box;
     display: -ms-flexbox;
     display: flex;
     -webkit-box-pack: center;
     -ms-flex-pack: center;
     justify-content: center;
     -webkit-box-align: center;
     -ms-flex-align: center;
     align-items: center;
     cursor: pointer 
}
 .video-image.video-embed {
     display: block 
}
 .video-image .fa-play-circle {
     font-size: 4rem;
     color: white;
     position: absolute;
     width: 70px 
}
 .text_wrapper.datenschutz_text {
     font-size: 0.75rem;
     line-height: 1.2rem;
     margin-bottom: 30px 
}
 .video_wrapper {
     height: 0;
     padding-bottom: 56.25%;
     padding-top: 0;
     position: relative;
     margin: 0 0 50px 0 
}
 .video_wrapper iframe {
     height: 100%;
     left: 0;
     position: absolute;
     top: 0;
     width: 100%;
     padding: 0 
}









/*form*/
.ce_form {border-top: 1px solid #4081b4;}
.awform {background: #f4f5f8;
        padding: 80px;margin:40px;
       }
.mod_form h1 {  font-family: 'Questrial';
    font-size: 1.3rem;
    color: var(--blau);
    text-transform:uppercase; letter-spacing:1px}

.mod_form input[type=text],
.mod_form input[type=email],
.mod_form input[type=tel],
.mod_form input[type=url],
.mod_form textarea	{ width: 100%; margin-bottom: 15px; border: 1px solid #3f83b3; padding: 10px; }
.mod_form select 											{ width: 100%; margin-bottom: 15px; border: 1px solid #3f83b3; padding-right: 0px; }
.mod_form input[type=text]:focus,
.mod_form input[type=email]:focus,
.mod_form input[type=tel]:focus,
.mod_form input[type=url]:focus,
.mod_form textarea:focus,
.mod_form select:focus
.mod_form label												{ background: #3f83b3; transition:background ease .5s; color:#fff; }
.mod_form label												{ margin-bottom: 5px; display: block; }
.mod_form fieldset											{ border:0; margin:0; padding:0; }
.mod_form legend											{  }
.mod_form .widget-radio										{  }
.mod_form .widget-radio span								{  }
.mod_form .widget-radio input[type=radio]					{  }

.mod_form .widget-checkbox									{ margin:0 0 20px 0; }
.mod_form .widget-checkbox span								{ display:block; }
.mod_form .widget-checkbox input[type=checkbox]				{ display:inline-block; vertical-align:top; margin:5px 0 0 0; }
.mod_form .widget-checkbox label							{ display:inline-block; width:90%; }

.mod_form .widget-captcha									{  }
.mod_form .widget-captcha .captcha_text						{  }
.mod_form .widget-captcha input[type=text]					{ margin:0; }
.mod_form .submit_container									{  }
.mod_form .submit_container input[type=submit]				{ margin-top: 30px; margin-bottom: 10px; background:#008856; color:#fff; display:inline-block; padding:12px 30px 11px 30px; text-transform:uppercase; border: none; width:100%; border: 1px solid #3f83b3; letter-spacing:2px;}
.error 														{ color:rgba(199,0,3,1.00); }
.mod_form .widget-radio span {
    display: /*inline-*/flex; margin:0 20px 0 0}
    
.mod_form .widget-radio label {margin:0 0 0 5px!important;} 
.mod_form .red {color:red}
.mod_form button{
    margin-top: 20px;
    margin-bottom: 10px;
    background: #3f83b3;
    color: rgba(255, 255, 255, 1.00);
    display: inline-block;
    padding: 12px 30px 10px;
    border: none;

    transition: background ease .4s;

    cursor: pointer;
}
.mod_form hr {margin:30px 0}
  .mod_form  button:hover {background: #285879;}
select, option {min-height: 1.2em;
    padding: 0px 0px 1px; height:40px;}

fieldset legend {font-size:1rem; text-transform:uppercase; padding-top:15px;font-weight:bolder}

.flexContainer.first, .flexContainer.second {
   
    flex-wrap: wrap;
   
}
.flexContainer {display: flex;
    
}
.flexContainer.first>div:nth-child(1) {
    width: 50%;
    padding-right: 30px;
}
.flexContainer>div input {
    width: 100% !important;
}
.flexContainer.first>div:nth-child(2) {
    width: 50%;
}

.inputsmall {width:140px!important}


@media (min-width: 1460px) {

}

@media (max-width: 1200px) {
		.awform {
    padding: 40px;
    margin: 20px;
}


}

@media (max-width: 992px) {
main {margin-top: 60px;}
	
	
	.awform {
    padding: 30px;
    margin: 15px;
}
.btn3                                        { font-size: 16px; }
.btn4                                        { font-size: 13px; padding: 6px 30px; }
}

@media (min-width: 768px) and  (max-width: 992px) { 

}

@media (max-width: 820px) {

}

@media (max-width: 767px) {
	.mod_newslist_teaser.newsteaser_3 {margin: 15px!important; padding:0px!important;
	}
	
	.awform {
    background: #f4f5f8;
    padding: 15px;
    margin: 15px;
}
	
	main .left-col {display:none}
	

}








