/*@charset "UTF-8";*/
/* CSS Document */

/* Variables */

:root {
  --green: #008d52;
  --darkblue:#141F5C;
  --blue:#D5F1F7;
  --white:#ffffff;
  
  /* Unternehmensfarben  */
  --vgblue:       #2291D0;
  --vggreen:      #1b7d5a;
  --vgorange:     #ef8d37;
  --vggray:       #efefef;
  --vgbackground: #ffffff;
  --vgcolor:      #0;       /* text color*/
  
  --maxwidth:     1024px
}

html {
  font-size:100%;
}

/* nunito-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/nunito-v25-latin-regular.eot'); /* IE9 Compat Modes */
  src: url('../fonts/nunito-v25-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/nunito-v25-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/nunito-v25-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/nunito-v25-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/nunito-v25-latin-regular.svg#Nunito') format('svg'); /* Legacy iOS */
}

/* nunito-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Nunito';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/nunito-v25-latin-italic.eot'); /* IE9 Compat Modes */
  src: url('../fonts/nunito-v25-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/nunito-v25-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/nunito-v25-latin-italic.woff') format('woff'), /* Modern Browsers */
       url('../fonts/nunito-v25-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/nunito-v25-latin-italic.svg#Nunito') format('svg'); /* Legacy iOS */
}

/* nunito-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/nunito-v25-latin-700.eot'); /* IE9 Compat Modes */
  src: url('../fonts/nunito-v25-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/nunito-v25-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/nunito-v25-latin-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/nunito-v25-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/nunito-v25-latin-700.svg#Nunito') format('svg'); /* Legacy iOS */
}

/* arvo-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Arvo';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/arvo-v20-latin-700.eot'); /* IE9 Compat Modes */
  src: url('../fonts/arvo-v20-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/arvo-v20-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/arvo-v20-latin-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/arvo-v20-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/arvo-v20-latin-700.svg#Arvo') format('svg'); /* Legacy iOS */
}

body {
  font-size: 100%;
  font-family: 'Nunito';
  font-family: 'Calibri'; /* VGM */
  /*line-height: 100%;*/
  color: var(--vgcolor);
}

/* inside ***********************/

#header div.inside,
#main .inside .mod_article,
#footer div.inside .footer_wrapper {
  max-width: var(--maxwidth);
  margin: auto;
  overflow: visible;
}
#header div.inside {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 1rem auto;
}
#footer div.inside .footer_wrapper {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}


/* header ********************************************************************/
header {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  display: inline-block;
  min-height: 1.5rem;
  margin: 0 auto;
  transition: all 0.5s ease;
  -webkit-transition: all .3s ease-out;
  -moz-transition: all .3s ease-out;
  -ms-transition: all .3s ease-out;
  transition: all .3s ease-out;
  z-index: 3;
  background-color: var(--vgbackground);
}

.flex-column    { display: flex; flex-direction: column; }
.flex-row       { display: flex; }
.space-between  { justify-content: space-between; }

header .inside .content-image {
  background-color: white;
  padding: 0.3rem;
}
header.scrollHeader {
  position: fixed;
  box-shadow: 0 5px 16px rgba(0, 0, 0, 0.1);
  box-shadow: 0 5px 16px rgba(0, 0, 0, 0.5);
  animation: slideDown 0.35s ease-out;
}
@keyframes slideDown {
  from  { transform: translateY(-100%);}
  to    { transform: translateY(0);}
}
@keyframes slideDown {
  from  { transform: translateY(-100%); }
  to    { transform: translateY(0); }
}
.phone {
  padding-left: 1.5rem;
  background: url( '/files/Bilder/header/phone-call.svg' ) center left/16px no-repeat;
}

.mainnav ul {
  display:flex;
}

.mainnav ul li {
  list-style:none;
  margin-right: 1em;
  font-weight: 700;
  font-size: 1.7em;
}

.mainnav ul li a {
  text-decoration: none;
  color:var(--white);
}

.mainnav ul li a:hover {
  color:var(--darkblue);
}

.mainnav ul li strong {
  color:var(--darkblue);
}

/* mod_customnav *******************************************************/

header .mod_customnav {
  //position: absolute;
  margin-right: 0;
  //top: 5px;
}
header .mod_customnav ul.level_1 {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}
header .mod_customnav ul.level_1 li a,  header .mod_customnav ul.level_1 li strong {
  padding-left: 1em;
  text-decoration:none;
  transition: all 0.2s ease;
}
header .mod_customnav ul.level_1 li a:hover,  
header .mod_customnav ul.level_1 li strong:hover {
  color: var(--vgblue);
  cursor:pointer;
}
.content-player video {
  width:100%;
}
.mobile_menu .mod_customnav ul.level_1 {
  display: flex;
  list-style: none;
  margin: 0 auto;
  padding: 0;
  flex-direction: column;
  padding-top:2em;
  margin-top: 2.2em;
  border-top: 1px solid #fff;
}
.mobile_menu .mod_customnav ul.level_1 li {
  text-align: center;
}

.mobile_menu .mod_customnav ul.level_1 li a,  .mobile_menu .mod_customnav ul.level_1 li.active strong {
  text-decoration: none;
  font-size: 1.5rem;
  color: #fff;
  transition: all 0.5s ease;
  font-family: 'nunito', sans-serif;
  font-style: normal;
  font-weight: bold;
  padding-bottom: 1rem;
}

.mobile_menu .mod_customnav ul.level_1 li a:hover,  .mobile_menu .mod_customnav ul.level_1 li strong:hover {
  cursor:pointer;
  color:var(--darkblue);
  transform: translateX(10px);
}

.mobile_menu .mainnav ul li {
  margin-right:0;
}

/*****************************************************************************/

#main .inside .mod_article:first-child {
		margin-top: 8.7rem;
		position: relative;
}

#main .inside .mod_article.has-swiper {
  position: relative;
	max-width: none !important;
	margin: 8.7rem auto 0 auto !important;
}

.swiper-slide figcaption {
	position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding: 0 1em;
  background-color: white;
  opacity: .5;
  font-size: 80%;
  line-height: 50%;
  line-height: 1rem;
}

/* das Content-Element Bild muss die Klasse wave erhalten */
.wave {
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: -6px;
  right: -6px;
}

.media figcaption { margin-top: 0.5rem; }
.media--left  figure  { margin: 0 1.5em 1rem 0; }
.media--right figure  { margin: 0 0 1rem 1.5em; }

/* content *******************************************************************/

h1 {
  font-size: 2.4rem;
  color: var(--vggreen);
  border-bottom: 1px solid var(--vggreen);
}
h2 {
  font-size: 1.8rem;
  text-transform: uppercase;
  margin: 0 0 1em 0;
}
h2.uppercase {
  text-transform:uppercase;
}
.content-text h2 {
  color: var(--vggreen);
  font-size: 1.2rem;
  border-bottom: 1px solid var(--vggreen);
}

.hinweis h3 {
  color:#b6592b;
}

.content-text .rte, 
.mod_newslist .ce_text,
.mod_newsreader .ce_text,
#footer a, 
.hinweis {
  font-size: 1.2em;
  //line-height: 1.2em;
  font-style: normal;
  font-weight: 400;
}

.border {
  border: 1px solid #f0f0f0;
}

/* mod_newslist ************************/

.mod_newslist h2 {
  font-size: 1.8rem;
  margin: 0;
}

.mod_newslist h2 a {
  text-decoration: none;
  color: var(--vggreen);
}

.mod_newslist  figure.float_left,
.mod_newsreader figure.float_left {
  margin-right: 2rem;
}

.content-player {
  position:relative;
}

.content-player:after {
  display:block;
  position: absolute;
  bottom:0;
  width:100%;
  background-repeat:no-repeat;
  z-index: 1;
}

.start-bosel {
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
  /*height: 100vh;*/
}

span.h-part-two {
  font-family:'Arvo';
  color: var(--green);
  text-transform:uppercase;
  font-size:1.2em;
}

a {
  display:inline-block;
  transition: all 0.2s ease;
  color: var(--darkblue);
}
.content-text a {
  color: var(--vgorange);
}

a:hover {
  color: var(--green);
  transition: all 0.2s ease;
}

.content-image img {
  width:100%;
}

.intro {
  text-align: center;
}

.logo_vgm_weiss {
  padding: 10%;
  position: absolute;
  bottom:0;
}

.hinweis {
  background-color: #ECFFF8;
  padding: 2rem 3rem;
  border-radius: 50px;
  box-shadow: 0 0 20px #5AFDC0C4;
  border: 2px white solid;
  margin: 2rem 0;
  transition: .7s;
  position:relative;
  text-align:center;
}

.hinweis:hover {
  background-color: #BBFFE6CC;
  box-shadow: 0 0 30px #5ADCAB96;
}

hr {
  border: 0; 
  width:50%;
  height: 1px; 
  background-color: var(--vggreen);
  border-radius:99px; 
  margin:4rem auto;
}

.intro h3, .hinweis h3 {
  font-size:1.5em;
  line-height:1em;
}

.hinweis {
  line-height:0.8em;
}

.small {
  font-size:0.5em;
  line-height:1.5em;
  font-style: italic;
}
/* footer ********************************************************************/
#footer:before {
  content: url("/files/Bilder/footer/wave-2291d0.svg");
  display: flex;
}
#footer .inside {
   background: var(--vgblue);
   background: linear-gradient(180deg, var(--vgblue) 0%, rgba(127,218,230,1) 100%); 
   color:#ffffff;
   padding: 2em 0;
}
#footer div.inside .footer_wrapper > div {
  text-align: left;
  padding: 0 1rem;
  
          //border: 1px solid yellow;
}

#footer a {
  font-size: 1.2rem;
  color: #fff;
  transition: all 0.2s ease;
  display: block;
}

#footer a:hover {
  color:var(--green);
}

#footer a.footer-link-intern {
  color:var(--darkblue);
}


#footer a.footer-link-intern:first-of-type {
  margin-top: 2em;
}

/*
#footer h2 {
  font-size:2em;
}
#footer h2:after {
  background-color: #ffffff;
  content: '';
  width: 100%;
  margin: 0.9em 0 0.5em;
  height: .1em;
  display: block;
}
.footer_wrapper, .main_wrapper, .form_wrapper {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
}

.footer_wrapper, .form_wrapper {
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
}

.main_wrapper {
  flex-direction: column;
  padding:4em 0;
}
*/
formbody button {
  outline: 0;
  padding: 1em;
  font-family: "Nunito", sans-serif;
  font-weight: 400;
  font-size: 1.2em;
  color: #fff;
  background: var(--darkblue);
  border:none;
  border-radius:35px;
  margin-right: 2em;
  transition: all 0.2s ease;
  width:100%;
}

formbody button:hover {
  background-color:var(--green);
}





.margin-top-2em {
  margin-top:2em;
}

.margin-top-3em {
  margin-top:3em;
}

.margin-top-6em {
  margin-top:6em;
}

/*Spalten*/

.col-wrapper {
  display:flex;
  flex-wrap: row;
}

.col-30 {
  width:30%;
}

.col-45 {
  width:45%;
}

.col-50 {
  width:50%;
}

.col-100 {
  width:100%;
}

/*****************************************************************************/

.marquee {
  width: 100%;
  margin: 0 auto;
  white-space: nowrap;
  overflow: hidden;
  box-sizing: border-box;
  //border: 1px solid red;
  color: red;
  font-size: 2rem;
}
.marquee a {
  display: inline-block;
  padding-left: 100%;
  padding-top: 0.4rem;
  animation: marquee 25s linear 1;
  -webkit-animation: marquee 25s linear 1;
  -moz-animation: marquee 25s linear 1;
  text-decoration: none;
  
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAH0lEQVQYlWNgGObgPxQTVISNjVMRTjF8Vv0nRhFcDQDv1Qn3IBa3OQAAAABJRU5ErkJggg==) repeat-x;
  background-position: bottom;
  background-size: 1% 20%;
  color: var(--vgblue);
}
@keyframes marquee {
  0% { transform: translate(0, 0); }
  100% { transform: translate(-100%, 0); }
}
@-webkit-keyframes marquee {
  0% { transform: translate(0, 0); }
  100% { transform: translate(-100%, 0); }
}
@-moz-keyframes marquee {
  0% { transform: translate(0, 0); }
  100% { transform: translate(-100%, 0); }
}

/*****************************************************************************/

.hidden-content {
  display: none;
}
.more-toggle {
  color: blue;
  cursor: pointer;
}
.more-toggle.more:before { content: " \21AA"; }
.more-toggle.less:before { content: " \21A9"; }


.fix400 h2 a {
  display: inline;
}