/*
==================================================
GENERAL
==================================================
*/
  body {
    font: 1.8em/1.5 'Barlow Semi Condensed', sans-serif, Arial, Helvetica;
    color: #1B3059;
  }
  a {
    color: #B41A28;
  }
  .primary a {color:inherit;}
  .pseudo-link { color:#B41A28; }
  a:hover {
    color: #c1323f;
  }
  p a:hover {
      text-decoration:underline;
  }
  input, select, textarea {
    box-shadow: none;
    border: 1px solid #8c8c8c;
  }
  .button {
    color: #fff;
    border: none;
  }

  h1, h2, h3, h4 {font-weight: normal; /*text-transform:uppercase;*/ line-height:1.2;}
  h1, blockquote .big {font-size: 7rem;}
  h2 {font-size: 4rem;}
  h3 {font-size: 3.2rem;}
  h4 {font-size: 2.4rem;}
  h5 {font-size: 1.8rem; line-height:1.22;}
  h6 {font-size: 1.6rem; line-height:1.25;}

  .big {font-size:1.5em;}

  .slick-dots li.slick-active button,
  .searchform .form-actions input,
  .comment .links li a,
  .button {background-color:#b41a28;}
  .button {text-align:left; max-width:100%; width:auto; min-width:0; padding:4px 12px;}
  .button i {float:right; font-style:normal; margin-left:20px;}
  .teaser .button i {float:none;}
  .button.button--primary {background-color: #1b3059;}

  img {
    height:auto;
    width:100%;
  }

/*
==================================================
Transitions
==================================================
*/
  .accordion .title *,
  .accordion .title,
  button,
  input[type="submit"],
  a {
    -webkit-transition: color 0.3s ease-out 0s, background 0.2s ease-out 0s, opacity 0.2s ease-out 0s;
    transition: color 0.3s ease-out 0s, background 0.2s ease-out 0s, opacity 0.2s ease-out 0s;
  }

/*
==================================================
Abstände, Größen, Ausrichtungen
==================================================
*/
  .narrow > *, .wide > * {
    margin: 0 auto;
  }

  html .narrow > * {
    max-width: 1200px;
  }
  html .wide > * {
    max-width: 1920px;
  }
  html .full > * {
    max-width: 100%;
  }

  .col, [class^="col-"], [class*=" col-"] {
    padding: 15px;
  }
  .col .row {
    margin: 0 -15px;
  }
  .inner {
    /* padding: 30px; */
    padding:0;
  }

  .section.backgroundimage {
    min-height: 300px;
    display: flex;
    align-items: center;
    justify-content: unset;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
  }
  .section.backgroundimage > .row {
    width:100%;
  }

  .section {padding:20px 0;}
  header .section, .footer-content, .section-type-gmap, .section.layout-slider, .section.featured, .section.featured .col {padding:0;}
  .section-type-headline {padding-bottom:0;}
  .section.featured .col {min-height:0;}

  article > *:first-child h1 {margin-top:30px;}
  *  + h2, * + div:not([class]) > h2,
  *  + h3, * + div:not([class]) > h3,
  *  + h4, * + div:not([class]) > h4,
  *  + h5, * + div:not([class]) > h5,
  *  + h6, * + div:not([class]) > h6  {margin-top:0.6em;}

/*
==================================================
Section colors
==================================================
*/
  .section.light {
    background-color: #fff;
  }
  .section.middle, .colorbox.middle  {
    background-color: #e4edf7;
  }
  .section.dark, ul.dark {
    background-color: #4b8ccd;
    color: rgba(255,255,255, 0.8)
  }
  .section.primary {
    background-color: #1b3059;
    color: #fff;
  }


/*
==================================================
Header
==================================================
*/


  /*
  header:first-child { position:fixed; width:100%; top:0; left: right:0; z-index:100;}
  .layout-container {padding-top:100px;}
  */
  header {height:68px; color:#1b3059;}
  header nav  {margin-top:0; float:left;}
  header nav ul ul {
    position:static;
  }

  h2.visually-hidden {margin:0;}

  .header-actions {margin: 5px 130px 0 60px; position:relative; display:flex; justify-content:center;}
  .header-actions > * {margin:0 15px;}
  .header-actions a {text-decoration:none; color:inherit; padding-top:1px; }
  .header-actions .fa-phone {position:relative; top:1px;}
  header .searchform  {display:block; transition:0.5s; clear:none;}
  header .searchform:not(.is-open) {margin-left:7px; width:2em;}
  .header-actions .searchform.is-open {width:160px;}
  .header-actions input {height:28px;}
  .header-actions .form-actions {bottom:auto;font-size:0.7em;}
  .header-actions .form-actions .button {height:28px; width:2.9em;}
  #edit-searchstring {transition:0.5s;}
  header .searchform:not(.is-open) #edit-searchstring {opacity:0;}
  header .form-item  {transition:0.5s;}
  header form:not(.is-open) .underline {border-color:transparent;}
  .searchform .form-item input {padding-right:2em;}

  header .branding {
    position:absolute;
    top:0;
    right:0;
  }

  .layout-container {
    position: relative;
  }

  .layout-container > header,
  .layout-container > footer{
    background:#fff;
  }

  header, header * {transition:0.5s}

  .layout-container > header > .section { box-shadow:0 0 10px rgba(0,0,0,0.2); background:#fff; width:100%; height:inherit; z-index:999; transition:none; left:0; top:0;}
  .layout-container > header > .section > * > .col {padding-bottom:0;}
  .sm-header header {height:42px;}
  .sm-header header .branding {max-width:68px; min-width:68px;}
  .sm-header header .col {padding-top:0; padding-bottom:0;}
  .sm-header header .header-actions {margin-right:60px;}

  .sticky-header { position:fixed; }


  header nav a {
    color:#1b3059;
  }
  header nav ul li a:hover,
  header nav ul li a.is-active {
    color:#1b3059;
    font-weight:normal;
  }
  header .branding a, footer .branding a  {display:block;  z-index:1; position:relative; padding-bottom:100%;}
  .branding img {display:block; position:absolute; height:100%; top:0; left:0; right:0; bottom:0;}
  header .branding, footer .branding {max-width:20%; max-width:20vw; min-width:68px; width:130px;}

  .mainmenu-open, .mainmenu-open body {overflow:hidden;}

  #block-hauptnavigation:after {content:''; position:fixed; top:0; left:0; width:100%;  background:rgba(27,48,89,0.8);  opacity:0; transition:opacity 0.5s;}
  #block-hauptnavigation.is-open:after {display:block; opacity:1; z-index:10;}

  #block-hauptnavigation#block-hauptnavigation:not(.is-open) .menu-layer {left:0; width:0;}
  #block-hauptnavigation *:not(.is-open) > .menu-layer {width:0; }
  #block-hauptnavigation ul { padding-top:68px; overflow-y:auto; overflow-x:hidden; padding-left:0.5em; height:100%; position:absolute; top:0; right:0; transition-property:width;}
  #block-hauptnavigation .level-1 ul, #block-hauptnavigation .is-open > .button { background:#447eb9; }
  #block-hauptnavigation .level-2 ul, #block-hauptnavigation .level-1 .is-open > .button { background:#3c70a4; }
  #block-hauptnavigation .menu-layer { left:0; z-index:100; top:0; position:fixed; overflow:hidden; transition-property:width, left;}
  #block-hauptnavigation .menu-layer, #block-hauptnavigation.is-open:after { height: 100%; height: 100vh;}
  #block-hauptnavigation .menu-layer, #block-hauptnavigation ul {width:33.4%; width:33.4vw;}
  #block-hauptnavigation ul {width:100%; width:33.4vw;}
  #block-hauptnavigation .is-open > .menu-layer  {z-index:200;}

  #block-hauptnavigation .level-1, #block-hauptnavigation .level-2 {left:33.4%; left:33.4vw;}
  #block-hauptnavigation.lvl-2 .level-2, #block-hauptnavigation.lvl-1 .level-2  {left:66.8%; left:66.8vw;}

  #block-hauptnavigation li {float:none; padding:0; position:relative; border:0 solid rgba(255,255,255,0.2); border-bottom-width:1px; }
  #block-hauptnavigation li:first-child {border-top-width:1px;}
  #block-hauptnavigation li a {padding:0 2em 0 0.5em; color:inherit; min-height:35px;}
  #block-hauptnavigation ul a:hover {background:rgba(255,255,255,0.2);}
  #block-hauptnavigation ul a.is-active {background:rgba(255,255,255,0.1);}
  #block-hauptnavigation .is-open { background:rgba(75, 140, 205, 0.1);}

  #block-hauptnavigation li .button {position:absolute; top:0; right:0; height:100%; background:transparent;}
  #block-hauptnavigation li .button  i {margin:0; width:1.5em; text-align:center;}
  #block-hauptnavigation *:not(.is-open) > .button .fa-times, #block-hauptnavigation .is-open > .button .fa-chevron-right,
  #block-hauptnavigation:not(.is-open) .menu-toggle  .fa-times, #block-hauptnavigation.is-open .menu-toggle  .fa-bars {display:none;}

  .main-menu-toggle {font-size: 30px; z-index:200; position:relative;}
  .main-menu-toggle .fa-times {color:#fff;}

  body:not(.sm-header) .is-open > .menu-toggle  {position:fixed; top:15px;}

  /* Fix für Safari (Untermenü sonst unsichtbar) */
  #block-hauptnavigation.is-open.lvl-1 .level-0, #block-hauptnavigation.is-open.lvl-2 .level-0, #block-hauptnavigation.lvl-2 .is-open >.level-1 {overflow:visible !important;}

  @media (max-width: 800px) {
    .header-actions .txt {display:none;}
    .header-actions > a {padding:1px 10px 0; margin:0 5px;}
  }

  @media (max-width: 700px) {
  #block-hauptnavigation .menu-layer, #block-hauptnavigation ul { width:80%; width:calc(100vw - 70px); }
  #block-hauptnavigation ul { min-width:200px; width:100%; width:calc(100vw - 70px); }
  #block-hauptnavigation .level-1.level-1 {left:80%; left:calc(100vw - 70px);}
  #block-hauptnavigation .level-2.level-2 {left:100%; left:100vw;}
  #block-hauptnavigation.lvl-1 .level-1, #block-hauptnavigation.lvl-2 .level-2 {left:70px;}
  #block-hauptnavigation.lvl-1  > .menu-layer, #block-hauptnavigation.lvl-2  > .menu-layer, #block-hauptnavigation.lvl-2 .is-open > .level-1 {width:70px; left:0;}
  }

  @media (max-width: 450px) {
    header {height:42px;}
	header .branding {max-width:68px; min-width:68px;}
    .layout-slider div.media figure {max-height:calc(100vh - 42px);}
    header .col {padding:0 5px;}
    .header-actions {margin:5px 60px 0 35px;}
    .header-actions > a {margin:0 1px;}

  #block-hauptnavigation .menu-layer, #block-hauptnavigation ul { width:calc(100vw - 54px); }
  #block-hauptnavigation .level-1.level-1 {left:calc(100vw - 54px);}
  #block-hauptnavigation.lvl-1 .level-1, #block-hauptnavigation.lvl-2 .level-2 {left:54px;}
  #block-hauptnavigation.lvl-1  > .menu-layer, #block-hauptnavigation.lvl-2  > .menu-layer, #block-hauptnavigation.lvl-2 .is-open > .level-1 {width:54px;}
  }

  .responsive-menu-off .main-menu-toggle, .responsive-menu-off #block-hauptnavigation .level-0 > * > li > .submenu-open,
  .responsive-menu-off .sm-header .header-actions a  {display:none;}
  .responsive-menu-off .header-actions {justify-content:flex-end; z-index: 999;}
  .responsive-menu-off .header-actions .searchform {flex-shrink:0;}
  .responsive-menu-off .header-actions #edit-searchstring {background:rgba(255,255,255,0.9);}
  .responsive-menu-off #block-hauptnavigation#block-hauptnavigation .menu-layer {width:auto; height:auto; overflow:visible;}
  .responsive-menu-off #block-hauptnavigation .menu-layer ul {position:relative; width:auto; padding:0;}
  .responsive-menu-off #block-hauptnavigation li > .menu-layer {display:none;}
  .responsive-menu-off #block-hauptnavigation .dark {background:0;}
  .responsive-menu-off #block-hauptnavigation .level-0 {position:relative;}
  .responsive-menu-off #block-hauptnavigation li {font-size:20px;}
  .responsive-menu-off #block-hauptnavigation .level-0 > * > li {float:left; font-size:20px; transition:none; border:0;}
  .responsive-menu-off #block-hauptnavigation .level-0 > * > li > a {color:#1B3059; padding:0 0.8em; transition-property:background-color; line-height:42px;}
  .responsive-menu-off #block-hauptnavigation .is-open > .menu-layer {display:block; position:absolute; top:100%; min-width:15em;}
  .responsive-menu-off #block-hauptnavigation#block-hauptnavigation * + * + * + * + .is-open > .menu-layer {right:0; left:auto;}
  .responsive-menu-off #block-hauptnavigation#block-hauptnavigation .is-open > .menu-layer.level-2 {top:-1px; left:100%;}
  .responsive-menu-off #block-hauptnavigation#block-hauptnavigation * + * + * + * + .is-open .level-1 .menu-layer.level-2 {left:auto; right:100%;}
  .responsive-menu-off #block-hauptnavigation ul {overflow:visible;}

  html:not(.menu-ready) #block-hauptnavigation, html:not(.menu-ready) .header-actions {display:none; }
  html:not(.menu-ready) #block-hauptnavigation *, html:not(.menu-ready) .header-actions *, .header-actions .searchform .form-actions:before {transition:none;}

  .responsive-menu-off body:not(.sm-header) .header-actions { position:absolute; width:100vw; margin: 0; margin-left:calc(50% - 50vw); padding-left:calc(50vw - 50%); top:0; left:0; background:#1b3059; color:#fff; justify-content:flex-start; padding-top:3px;}
  .responsive-menu-off body:not(.sm-header) .sticky-header > *  > * {padding-top:40px;}
  .responsive-menu-off body:not(.sm-header) header {height:82px;}
  .header-actions form > div {margin-bottom:5px;}
  header .branding {z-index:9999;}
  .header-actions, .header-actions #edit-actions {transition:none;}
  .header-actions .searchform {transition-property:width;}
  .header-actions > a:first-child {padding-left:0.8em;}


/*
==================================================
General paddings
==================================================
*/
  /* breadcrumb */
  .section.featured > .row > .col {
    padding-bottom:0;
  }
  /* slider */
  .block-slider .slick-slide {
    padding:0;
  }

/*
==================================================
Content
==================================================
*/
  figure {
    position:relative;
  }
  figcaption {
    opacity:1;
    background:rgba(255,255,255,0.7);
    color:#000;
    text-decoration:none;
    position:absolute;
    bottom:0;
    left:0;
    padding:1rem;
  }

  .slick-dots li button {
    border-radius:0;
    width:12px;
    height:12px;
  }
  .slick-dots {
    position: absolute;
    bottom: 0;
    right: 0;
    padding: 0 2rem 1rem 1rem;
    width: auto;
  }

  .accordion .title:hover * {
    color:#fff;
  }

  .slick-list {min-width:100%;}

  .gmap {height:500px;}
  footer .gmap {height:300px;}

  blockquote {font-style:normal; /*text-transform:uppercase;*/ }
  blockquote p:before, blockquote p:after {content:'"';}
  blockquote .big {
    line-height:1.1;
    max-width:900px;
    font-style:italic;
    margin:15px auto;
    padding-left:15px;
  }
  blockquote .big:before {
    position:absolute;
    margin-left:-0.25em;
  }

  .mediastyle-embedded.mediatype-youtube-video {padding:0; border:0;}
  .wrap-video {position:relative;}
  .keep-ratio {height:0; padding-top: 56.25%; width:100%; position:relative;}
  .keep-ratio iframe {position:absolute; top:0; left:0; right:0; bottom:0; height:100%; min-height:0;}

  a.content-teaser-list-item b {padding-right:8px; }
  a.content-teaser-list-item span { border-left:1px solid; padding:0 8px;}

  @media screen and (max-width: 1024px) {
    a.content-teaser-list-item span{ display: none; border: none;}
    a.content-teaser-list-item span:last-child{ display: block; padding: 0;}
  }

/*
==================================================
Teaser
==================================================
*/
  .teaser figcaption {
    display:none;
  }
  /*
  .teaser .inner {
    padding:1rem 1rem 0 1rem;
  }
  */

  .layout-slider .slider--no-padding { padding:0; }
  .layout-slider .txt-overlay {position:absolute; left:15px; right:15px; bottom:45px;}
  .txt-overlay .inner { background:rgba(27,48,89,0.9); padding:15px 15px 0;}
  .light .txt-overlay .inner {background:rgba(255,255,255,0.9);}
  .middle .txt-overlay .inner {background:rgba(228,237,247,0.9);}
  .dark .txt-overlay .inner {background:rgba(75,140,205,0.9);}
  .slick-dots li {margin:0 0.15em;}
  .slick-dots li button { border-radius:50%; background:#999; }
  .slick-dots li.slick-active button {background:rgb(75, 140, 205);}

  .section-type-content-teaser-automatically .media figure,
  .section-type-content-teaser .media figure {
    max-height:calc(100vh - 68px); overflow:hidden; display:flex; align-items:center;
  }

  .section-type-content-teaser-automatically .media figure .overlay,
  .section-type-content-teaser .media figure .overlay {
    position: absolute; display: block; width: 100%; height: 100%;
  }



  .layout-slider .mediastyle-slider figure .overlay{
    background: url(../layout/schablone_1920x1200.png) no-repeat top left;
    background-size: 100%;
  }

  .layout-no-masonry .paragraphstyle-narrow .mediastyle-masonry figure .overlay,
  .layout-grid .paragraphstyle-narrow .mediastyle-grid figure .overlay{
    background: url(../layout/teaser_schablone_476x298.png) no-repeat top left;
    background-size: contain;
  }

  .layout-no-masonry .paragraphstyle-wide .mediastyle-masonry figure .overlay,
  .layout-grid .paragraphstyle-wide .mediastyle-grid figure .overlay{
    background: url(../layout/teaser_schablone_476x476.png) no-repeat top left;
    background-size: contain;
  }

.layout-accordion .mediastyle-embedded figure .overlay,
.layout-embedded .mediastyle-embedded figure .overlay {
  background: url(../layout/teaser_schablone_640x400.png) no-repeat top left;
  background-size: contain;
}

  @media (max-width: 1000px) {
    .layout-slider .txt-overlay { left:0; right:0;}
  }
  @media (max-width: 750px) {
    .layout-slider .txt-overlay {position:static;}
    .slick-dots {margin:15px auto 0; position:static; padding:0;}
    .layout-slider:not(:hover) .slick-arrow {display:none !important;}
  }

  .colorbox .wrap-txt {padding:10px;}
  .colorbox  img {display:block;}
  .colorbox h3 {padding: 0.25em 0 1em; color:#005cb8;}

  .teaser .media {width:100%;}


  div:not(.big-cube-teaser) > .teaser:not(.nodestyle-slider):not(.nodestyle-masonry) .media {margin-bottom:15px;}
  .even-odd-bgs {padding-bottom:0; background:rgba(0,0,0,0.1);}
  .layout-grid .col-3, .layout-grid .col-6 {margin-bottom:0;}
  .even-odd-bgs:nth-child(2n) {background:rgba(0,92,184,0.1);}
  article {position:relative;}

  .inner, .outer-wrap-txt {max-width:100%;}

  .media + time, .media + .teaser-label {position:absolute; top:0; left:0; background:rgba(0,92,187,0.9); color:#fff; text-align:center; display:flex; flex-direction:column; min-width:3.4em; padding:0.1em 0.5em 0.3em; /*text-transform:uppercase;*/ z-index:1; transition:0.25s; }
  .media + time .day {font-size:2em; line-height:1; font-weight:bold;}
  .media + time .month {line-height:1;}
  p time {margin:0; display:inline;}
  .teaser .fa {width:1em; color:#4b8ccd}
  .dark .teaser .fa {color:inherit;}

  .flag {display:none;}
 @media (min-width: 551px) {
	  .block-grid.flex > div, .block-grid.flex > div > article, .block-grid.flex > div > article > a, .block-grid.flex > div > article > a, .block-grid.flex .outer-wrap-txt, .block-grid.flex > div > article > a .inner.flex-grow  {display:flex; flex-direction:column; flex-grow:1;}
  .block-grid.flex > div, .block-grid.flex > div > article > a > .mediatype-image {flex-grow:0; flex-shrink:0; /* flex-shrink -> Bugfix IE11 */}
  .block-grid.flex > div > article > a, .block-grid.flex .outer-wrap-txt {align-items:flex-start;}

  .col-3.even-odd-bgs  .media {margin:-15px -15px 30px; width:calc(100% + 30px)}
  .col-3.even-odd-bgs time, .col-3.even-odd-bgs  .teaser-label  {left:-15px; top:-15px;}

  .teaser.nodestyle-masonry .inner:before, .teaser.nodestyle-masonry .inner:after { content:''; position:absolute; width:100%; height:100%; left:0; top:0; background:rgba(255,255,255,0.75); transition:0.5s opacity; pointer-events:none;}
  .teaser.nodestyle-masonry .inner:after {background:rgba(27,48,89,0.65);}
  .teaser.nodestyle-masonry .inner > * {position:relative; z-index:1;}
  .teaser.nodestyle-masonry a:hover .inner:before, .teaser.nodestyle-masonry a:not(:hover) .inner:after { opacity:0; visibility:hidden;}
  .teaser.nodestyle-masonry .inner {position:absolute; bottom:0; left:0; right:0; padding:15px; display:flex; flex-direction:column; justify-content:flex-end; transition:0.5s; overflow:hidden; min-height:0; max-height:100%;}
  .teaser.nodestyle-masonry a:not(:hover) .inner > .wrap-txt *:not(h4), .teaser.nodestyle-masonry a:not(:hover) .inner > span{display:none;}
  .teaser.nodestyle-masonry a:hover .inner { color:#fff; top:0;}
  .teaser.nodestyle-masonry a:hover time, .teaser.nodestyle-masonry a:hover .teaser-label {background:rgba(0,92,187,0);}
  .teaser.nodestyle-masonry .wrap-txt {max-height:72%; overflow:hidden;}
  .teaser.nodestyle-masonry .pseudo-link {color:#e4edf7;}
  .block-masonry > .col-3, .big-cube-teaser {padding:0; margin:0;}
 }
  .center-content {text-align:center;}
  .button--wide {width:200px; max-width:100%; text-align:center; display:inline-block;}

  .teaser figure, .teaser .image {overflow:hidden;}
  .teaser img {transition:0.5s;}
  .teaser:not(.nodestyle-slider) a:hover img {transform:scale(1.1);}
  .teaser h4 {position:relative; overflow:hidden; text-overflow:ellipsis; margin:0; padding-bottom:10px;}
  .teaser:not(.nodestyle-slider):not(.nodestyle-masonry) h4:before {content:''; transition:0.5s; position:absolute; bottom: 0.15em; left:0; border-bottom:1px solid #b41a28; width:0;}
  .teaser a:hover h4:before {width:30% !important;}

  .teaser .media + .media {position:absolute; top:0; left:0; opacity:0; transition:0.5s;}
  .teaser a:hover .media + .media {opacity:1;}

  /*
	newsroom
	*/
	.teaser.newsroom time {
		top: 15px;
		left: 15px;
	}
	.teaser.newsroom {
		background:#e4edf7;
	}
	.teaser.newsroom .button {
		margin-left:15px;
	}
	.teaser.newsroom .wrap-txt {
		padding:15px;
	}
	.teaser.newsroom > a > .icon-platform {
		width:61px;
		height:61px;
		line-height:61px;
		font-size:2em;
		position:absolute;
		left:15px;
		top:15px;
		margin-left:0;
		color:#fff;
		text-align:center;
		background:rgba(0,92,187,0.9);
	}

	.teaser.newsroom > a > .icon-platform.fa-facebook {background:#3b5998;}
	.teaser.newsroom > a > .icon-platform.fa-youtube {background:#FF0000;}
	.teaser.newsroom > a > .icon-platform.fa-google {background:#d34836;}
	.teaser.newsroom > a > .icon-platform.fa-xing {background:#b0d500;}

	.teaser.newsroom .icon-platform {
		margin-left:10px;
		color:#fff;
		float:none;
		font-size:1.2em;
		position:relative;
		top:0.1em;
	}

.teaser.newsroom p {
  word-wrap:break-word;
}


  @media (max-width: 1150px) and (min-width: 551px) {
    .teaser.nodestyle-masonry a:hover time, .teaser.nodestyle-masonry a:hover .teaser-label {display:none;}
    .teaser.nodestyle-masonry .wrap-txt {max-height:100%;}
  }

  @media (min-width: 551px) {
    .teaser.nodestyle-grid .button {margin-left:-15px;}
	.big-cube-teaser .outer-wrap-txt {position:absolute; bottom:0; left:0; width:100%; min-height:50%; background:rgba(27,48,89,0.9); color:#fff; padding:15px 15px 0;}
  }

  @media (max-width: 550px) {
    .teaser:not(.nodestyle-slider) a  {display:flex; flex-direction:row !important;}
    .teaser:not(.nodestyle-slider) .media {width:30%; margin-left: -15px; margin-right: 0; margin-bottom: -15px;}
    .teaser:not(.nodestyle-slider) .media + time, .teaser:not(.nodestyle-slider) .media + .teaser-label {left:-15px;}
    .layout-slider .media + time, .layout-slider .media + .teaser-label {left:0;}
    .teaser:not(.nodestyle-slider) * + .outer-wrap-txt, .teaser:not(.nodestyle-slider) *:not(.outer-wrap-txt) > .inner {width:70%; padding-left:15px;}
	.teaser .wrap-txt > *:not(h4), .teaser .button, .teaser .pseudo-link {display:none;}
	.teaser .media.media.media.media.media {margin-bottom:0;}

	.nodestyle-masonry .wrap-txt {padding-top:15px;}

	.block-grid > .col-3 {padding:0 15px;}

	.teaser time, .teaser-label {font-size:0.75em;}

    .block-newsroom .col-3 {padding:0;}
    .block-newsroom .wrap-txt {width:70%; order:1; padding:15px 15px 5px; flex-grow:1;}
	.block-newsroom .wrap-txt.wrap-txt > * {display:block;}
	.teaser.newsroom > a > .icon-platform {left:0; top:0; width:2em; height:2em; font-size:1.1em; line-height:2em;}

    .big-cube-teaser {padding-top:0;}
    .outer-wrap-txt { padding-top:15px;}
	.block-masonry .col-3 {padding:0 15px; margin:0;}
  }


  .nodetype-contact-person form > div {padding:0 15px; float:left;}
  .nodetype-contact-person form .mandatory-notice {margin-right:15px;}
  .nodetype-contact-person form > div:first-child, .nodetype-contact-person form > div:first-child + div {width:50%; clear:none;}
  .nodetype-contact-person .form-submit {float:left; margin-left:15px;}
  .nodetype-contact-person textarea {height:5em;}
  .nodetype-contact-person .form-submit {margin-top:5px;}
  .nodetype-contact-person .inner > * {margin-bottom:0;}
  .nodetype-contact-person .social_links {margin:5px 0; }

  .wrap-contact {position:relative;}
  .wrap-contact .inner {position:absolute; bottom:0; left:0; width:100%; background:rgba(255,255,255,0.9); padding:15px 15px 0; color:#1B3059;}

  .teaser .media + .media {position:absolute; top:0; left:0; opacity:0; transition:0.5s;}
  .teaser a:hover .media + .media {opacity:1;}

  /* Fix für IE11 */
  @media all and (-ms-high-contrast:none) {
	  .even-odd-bgs article {display:block !important; flex-shrink:0 !important; flex-grow:0 !important;}
	  .even-odd-bgs a { flex-grow:0 !important; flex-shrink:0 !important; }
  }
/*
==================================================
Service Boxes
==================================================
*/
  .service-box {
    font-size: 100%;
    max-width:250px;
  }
  .service-box h5 {
    font-size: 1.7rem;
  }
  .section-type-wrapper-services-boxes {
    text-align: center;
  }
  .section-type-wrapper-services-boxes .col-2 {
    float:none;
    clear:both;
    display:inline-block;
  }
  .service-box .inner:before {
    content: "\f00c";
    font: normal normal normal 14px/1 FontAwesome;
    background: #1b3059;
    font-size: 4rem;
    padding: 15px 0;
    display: block;
    color: #fff;
    border-radius: 50%;
    width: 65px;
    height: 65px;
    box-sizing: border-box;
    /* line-height: 51px; */
    margin: 0 auto 15px auto;
  }
  .service-box img + .inner:before {
    display:none;
  }
/*
==================================================
Forms
==================================================
*/
  input,textarea,select,label {border:0; background:transparent; color:inherit;}
  select, textarea {border:1px solid; margin-bottom: -1px;}
  select {padding:4px 6px;}
  option {color:#1B3059;}
  label {font-size:14px; padding-top:1rem; padding-left:1em;}
  .js-form-type-textarea label {padding-bottom:0.7em;}
  .underline {border-bottom:1px solid;}
  input.button {padding:4px 1em; /*text-transform:uppercase;*/ margin-top:20px;}
  .dark ::placeholder {
    color: inherit;
    opacity: 0.5;
  }
  .mandatory-notice {float:right; width:auto; padding-left:20px; margin-top:30px;}

  #filter > * {padding-top:0; margin:0;}
  .label-top label {width:100%; float:none; margin:0; padding:0;}
  .label-top select {border-width:1px; width:100%;}

  main .searchform .form-actions:before {background:#b41a28; color: #fff;}
  main .searchform .form-actions:hover:before {  opacity: 0.8;}

  .form-no-label input, .form-no-label textarea, .form-no-label select {width:100%;}
  .js-form-type-radio label, .js-form-type-checkbox label {float:none;}
  .js-form-type-radio .underline, .js-form-type-checkbox .underline  {display:none;}

  input[type="checkbox"], input[type="radio"] { top: 0.4em;}

  label.form-required:after, legend > span.form-required:after {content:' *';}

  /* iOS-Style entfernen (mit gesetztem border-radius oben) */
input[type=submit], input[type=search] {-webkit-appearance:none; appearance: none;}
/*
==================================================
Footer
==================================================
*/
  .shariff-outer {text-align:center; vertical-align:top; margin-bottom:20px; }

  .shariff .orientation-horizontal {width:100%; justify-content: center; padding:0 10px; }
  .shariff .info, .shariff .orientation-horizontal li .share_text {display:none;}
  .shariff.shariff .orientation-horizontal li {margin:0 5px 10px 5px; padding:0; min-width:0; max-width:60px;}
  .shariff-outer h5  { margin-bottom:10px;}
  @media (min-width:551px) {
    .shariff-outer h5 {display:inline-block; position:relative; top:-20px;}
    .shariff.shariff {display:inline-block; width:380px;}
  }
  footer .branding {float:right; margin-bottom:20px;}

  .layout-container > footer .section.closure nav li {
    float:right;
    line-height: 2.5em;
  }
  .layout-container > footer .section.further-navigation {
    padding:0 0 15px;
  }
  .layout-container > footer .section.further-navigation ul li {
    padding:0;
    margin:0;
    list-style:none;
  }
  .layout-container > footer .socials a {
    font-size:2em;
    margin-right:1rem;
  }
  footer li > .fa {width:1em; margin-right:0.5em;}

  footer {margin-top:40px;}

  .socials ul {text-align: center; margin: 0 auto;}
  .socials ul li {float: none; display: inline-block; padding: 0 0.5em !important;}
  .hauptnavigation-footer {column-width: 12em; column-count:4;}
  .hauptnavigation-footer li {float:none; margin-left:15px; font-weight:bold;}
  .hauptnavigation-footer li li {font-weight:normal;}
  .hauptnavigation-footer a {color:inherit; text-decoration:underline;}

  footer .section-type-gmap + h2 {padding-top:30px;}

  .layout-container > footer .section .navigation li {
    padding: 0.3em;
    margin: 0 -0.3em;
  }

  @media (max-width: 900px) and (min-width: 551px) {
    footer .col-3 {width:50%;}
  }
  @media (max-width: 900px) {
    .footer-contact {order:-1;}
    .footer-branding {order:-1;}
  }

/*
==================================================
Farbanpassungen
==================================================
*/
  .middle.section.layout-list .view ul > li, .middle ul.entitylist > li, .middle ul.searchresults > li, .middle .accordion .title {border-color:rgba(0,0,0,0.1);}
  .section.layout-list .view ul > li a:hover, ul.entitylist > li a:hover, .accordion .title:hover {background: #1b3059; color:#fff;}
  .primary.section.layout-list .view ul > li a:hover, .primary ul.entitylist > li a:hover, .primary .accordion .title:hover {background: #b41a28;}

/*
==================================================
Responsive Schriftgrößen
==================================================
*/
  #block-hauptnavigation li {font-size:30px;}

  @media (max-width: 1100px) {
    h1, blockquote .big {font-size: 60px; }
    h2 {font-size: 36px; }
    h3 {font-size: 30px; }
  #block-hauptnavigation li {font-size:24px;}
  }

  @media (max-width: 900px) {
    h1, blockquote .big {font-size: 50px; }
    h2 {font-size: 32px; }
    h3 {font-size: 26px; }
    h4 {font-size: 22px; }
  #block-hauptnavigation li {font-size:20px;}
  }

  @media (max-width: 750px) {
    body {font-size:17px;}
    h1, blockquote .big {font-size: 40px; }
    h2 {font-size: 38px; }
    h3 {font-size: 24px; }
    h4 {font-size: 20px; }
    h5 {font-size: 17px; }
    h6 {font-size: 15px; }
  #block-hauptnavigation li {font-size:18px;}
  }

  @media (max-width: 500px) {
    body {font-size:16px; line-height:1.4;}
    h1, blockquote .big {font-size: 30px; }
    h2 {font-size: 26px; }
    h3 {font-size: 22px; }
    h4 {font-size: 18px; }
    h5 {font-size: 16px; }
    h6 {font-size: 14px; }
  #block-hauptnavigation li {font-size:16px;}
  }

  .no-padding {padding:0;}
  .no-b-padding {padding-bottom:0;}
  .no-margin {margin:0;}

  li.disabled-job-filter {
    display: none !important;
  }

  /* tmp footer */
  .layout-container > footer .section.further-navigation .socials + .col {
    text-align:right;
  }
  .layout-container > footer .section.further-navigation .socials + .col ul li {
    display:inline;
    margin-left:10px;
  }
  .layout-container > footer .section.further-navigation {
    padding-bottom:0;
  }

  .layout-container > footer .section.further-navigation p,
  .layout-container > footer .section.further-navigation .socials + .col ul li {
    font-size:0.9em;
    line-height: 2.4em;
  }
  .layout-container > footer .section .branding {
    margin-top:-20px;
  }
  .layout-container > footer .socials a {
    font-size:1.4em;
  }

  .layout-container > footer .col-3 ul li {list-style:none; padding-left:0; margin-left:0;}
  .layout-container > footer .section.dark a {color:#fff; text-decoration:none;}

  .layout-container > footer .section .news li,
  .layout-container > footer .section .navigation li {
    border-bottom:1px solid rgba(255,255,255,0.1);
  }
  .layout-container > footer .section p,
  .layout-container > footer .section .news li,
  .layout-container > footer .section .navigation li {
    font-size:.9em;
  }
  .layout-container > footer .section p {
    line-height: 1.5em;
  }
  .layout-container > footer .section.dark h4 {
    color:#fff;
  }
  .layout-container > footer .section .news li small,
  .layout-container > footer .section .navigation li small {
    display:block;
    opacity:0.8;
    font-size:.7em;
    /*text-transform:uppercase;*/
  }
  .layout-container > footer .section .news li {
    padding: 0.45em 0.3em;
    margin: 0 -0.3em;
  }
  .layout-container > footer .section .navigation li {
    padding: 0.3em;
    margin: 0 -0.3em;
    width: 100%;
  }
  .layout-container > footer .section .navigation li ul {
    width: 100%;
  }
  .layout-container > footer .section .navigation li ul li {
    float: none;
    padding-left: 2em;
    border: none;
  }
  .layout-container > footer .section .navigation li:first-child {
    padding-top:0;
  }

  /*
   Bewerbungsformular // TA // 09.03.2018
   */
.applicationform .description {
  font-size: 0.82em;
  font-style: italic;
  padding-left: 1em;
}

 /*
 ics download for events
 */
.section-ics-link p i {
    font-size:1.2em;
    padding-right:15px;
}

/*
slider ajdustments; contentteaser
*/
@media (min-width: 900px) {
    .section-type-content-teaser.layout-slider.wide .teaser .inner h4 {
      font-size: 4rem;
    }
    .section-type-content-teaser.layout-slider.wide .teaser .inner h4 + p {
        max-width:750px;
    }
}

/*
footer adjustments; responsive
*/
@media (max-width: 750px) {
    footer .further-navigation .col {
      margin:0;
      padding-bottom:0;
      text-align:center !important;
    }
    footer .further-navigation .col.socials {
        margin-bottom:1em;
    }
    footer .further-navigation .col:not(.socials) ul li {
      float:none;
      clear:both;
    }
}

/*
footer service navigation
*/
footer .fixed-wrapper > .section.dark {
    padding-bottom:2em;
}
footer .fixed-wrapper .news,
footer .fixed-wrapper .navigation {
    padding-bottom:0;
}
.footer-branding {display:flex; flex-direction:column; justify-content:space-between; align-items:flex-end;}
footer .service-navigation {
    font-size:.9em;
	float:right;
	clear:both;
}
footer .service-navigation li a {
    line-height:25px;
    background:rgba(255,255,255,0.1);
    padding:3px 1em 3px 8px;
    display:block;
}
footer .service-navigation li a:hover {
    background:rgba(255,255,255,0.2);
}
footer .service-navigation li {
    margin-bottom:1px;
}
footer .service-navigation img,
footer .service-navigation i {
    width:25px;
    display:inline-block;
}
@media (max-width: 900px) {
    footer .service-navigation {
        width:100%;
    }
}
@media (max-width: 550px) {
    footer .service-navigation {
        position:static;
        padding:1em;
    }

    footer .navigation,
    footer .news {
        display:none;
    }

    .footer-branding {
        position:static;
    }

    .footer-branding .branding a {
        position: absolute;
        top: 0;
        right: 1em;
        width: 100px;
		padding-bottom:100px
    }

}

/*
cookie notice
*/
.cc_container {
    background: #1b3059;
    color: #fff;
    border: none;
    width: 95%;
    left: 2.5%;
    padding: 1em;
	padding-right:150px;
}
a.button.cc_btn {
    position: absolute;
    bottom: 0;
    right: 1em;
    min-width: 120px;
}

@media screen and (max-width: 880px) {
  .cc_container {
    bottom: unset;
    top: 0;
  }
}


/*
scroll options
*/
.scroll-options {
    position: fixed;
    right: 0;
    top:40vh;
    transition:0.5s;
    transform:translateX(65px);
    z-index:99;
}
.scroll-options.visible {
    transform:translateX(0);
}
.scroll-options a i.fa-share-alt {
    position:relative;
    left:-2px;
    top:2px;
}
.scroll-options a, a.to-top {
    display:block;
    width:50px;
    height:50px;
    background:rgba(0,92,187,0.7);
    color:#fff;
    font-size:1.6em;
    text-align:center;
    margin-top:2px;
}
.scroll-options a:hover, a.to-top:hover {
    background:rgba(0,92,187,0.9);
}
.footer-branding .service-navigation {
	margin-bottom: 20px;
}
@media (max-width: 750px) {
    .scroll-options {
        top:auto;
        bottom:15px;
    }
}

/*
Social Links (Ansprechpartner)
*/
.social_links {

}
.social_links li {
  list-style: none;
  display: inline-block;
  padding: 0;
  margin:0;
}
.social_links li + li { margin-left: 1em;}

.social_links li a {
  text-indent: -9999em;
  display: block;
  overflow: hidden;
  font-size: 1.5em;
  width: 1em;
  height: 1em;
  line-height: 1em;
  text-decoration: none;
}
.social_links li a:before {
  content: '';
  display: block;
  font-family: 'FontAwesome';
  text-indent: 0;
}
.social_links li.xing a:before {
  content: '\f169';
}
.social_links li.website a:before {
  content: '\f015';
}
.social_links li.linkedin a:before {
  content: '\f08c';
}

/*
Calendar
*/
.section-type-calendar select {
  border: 1px solid;
  width: auto;
  min-width: 168px;
}
.section-type-calendar form,
.section-type-calendar table {
    max-width:500px;
    margin:0 auto 10px auto;
}
.section-type-calendar th {
  background-color: #1b3059;
  color:#fff;
}
.section-type-calendar td {
    background:rgba(0,92,184,0.2);
    transition:0.1s;
    opacity:0.9;
}
    .primary.section-type-calendar th {
      background-color: #4b8ccd;
      cursor:default;
    }
    .primary.section-type-calendar td,
    .primary.section-type-calendar th {
      border-color:#1b3059;
    }
    .dark.section-type-calendar td,
    .dark.section-type-calendar th {
      border-color:#4b8ccd;
    }
    .middle.section-type-calendar td,
    .middle.section-type-calendar th {
      border-color:#e4edf7;
    }
    .light.section-type-calendar td,
    .light.section-type-calendar th {
      border-color:#fff;
    }

.section-type-calendar td a {
  color: #1b3058;
  text-decoration:none;
}
    .dark.section-type-calendar td a {
      color: #dce8f6;
    }
    .primary.section-type-calendar td a {
      color: #fff;
    }
.section-type-calendar td.has-event {
    background:rgba(0,92,184,0.3);
    cursor:pointer;
    opacity:1;
}
    .primary.section-type-calendar td.has-event,
    .dark.section-type-calendar td.has-event {
        background:rgba(0,92,184,0.5);
    }
.section-type-calendar td.other-month {
    opacity:0.4;
}
.section-type-calendar td.today,
.section-type-calendar td.has-event:hover,
.section-type-calendar td.active {
    border-left:2px solid rgb(180,26,40);
    background:rgba(0,92,184,0.5);
}
.section-type-calendar td.today.active,
.section-type-calendar td.today {
    background:rgba(255,255,255,0.2);
    border-left-color:#fff;
}
.middle.section-type-calendar td.today,
.light.section-type-calendar td.today {
    border-left:1px solid #324569;
}

.section-type-calendar td a {
    display:block;
    text-decoration:none;
}

.section-type-text a.button {margin-top:5px;}

@media (max-width: 1000px) {
.embedded.nodetype-contact-person .col-9 {width:65%;}
.embedded.nodetype-contact-person .col-3 {width:35%;}
.embedded.nodetype-contact-person .col-3 img {max-width:275px; margin:0 auto;}
.embedded.nodetype-contact-person .col-3 .media + .inner {position:static;}
}
@media (max-width: 750px) {
.embedded.nodetype-contact-person .col-3,
.embedded.nodetype-contact-person .col-9 {width:100%;}
.embedded.nodetype-contact-person .col-3 {width:35%;}
.embedded.nodetype-contact-person .col-3 img {margin:0;}
.section-more-links .center-content[class*="col"] {padding-top:0; margin-bottom:0;}
.section-more-links .center-content[class*="col"] a.button {width:75%;}
}
@media (max-width: 640px) {
.cc_container--open {padding-bottom:40px; padding-right:1em;}
}

.contact-form fieldset,
fieldset#edit-newsletter--2,
fieldset#edit-data-protection--2 {
  padding: 0 15px;
}

/*
Tagcloud
*/

.tag-cloud {
  list-style: none;
  margin-top: 10px;
  padding: 1em;
  text-align: center;
}

/* Mobile style for tag-cloud. */
@media (max-width: 640px) {
  .tag-cloud {
    font-size: 10px;
    margin: 0;
    padding: 0;
  }
}

.tag-cloud li {
  display: inline-block;
  margin: 0 0.3em;
  padding: 0;
  list-style: none;
}

.tag-cloud li a {
  text-decoration: none;
  color: #fff;
  text-transform: uppercase;
}
.tag-cloud li:nth-child(even) a {
  color: #d8d8d8;
}
.tag-cloud li.level1 a {
  font-size: 0.7em;
  line-height: 1em;
}
@media (max-width: 640px) {
  .tag-cloud li.level1 a {
    font-size: 1em;
  }
}

.tag-cloud li.level2 a {
  font-size: 1.33em;
  font-weight: bold;
  line-height: 1.5em;
}

.tag-cloud li.level3 a {
  font-size: 2em;
  font-weight: bold;
  line-height: 1em;
}
.tag-cloud li.level4 a {
  font-size: 2.66em;
  line-height: 1em;
}
.tag-cloud li.level5 a {
  font-size: 3.33em;
  line-height: 1em;
}
.tag-cloud li.level6 a {
  font-size: 4em;
  line-height: 1em;
}
.tag-cloud li, .tag-cloud li a {
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.tag-cloud li.inactive {
  opacity: 0.5;
}
.tag-cloud li.active, .tag-cloud li.active a {
  opacity: 1;
  color: #fff;
}

/** Paragraphs with pagination for auto-teasers */
.paragraph--hide-pagination [role=navigation] {
  display: none;
}
.paragraph--show-pagination [role=navigation] {
  display: table;
  margin-right: auto;
  margin-left: auto;
}

.section-anchor-link {
  background: rgba(255,255,255,0.3);
  color: #fff;
  display: inline-block;
  font-size: 18px;
  line-height: 25px;
  padding: 3px 8px;
  text-decoration: none;
  -webkit-transition: color 0.3s ease-out 0s, background 0.2s ease-out 0s, opacity 0.2s ease-out 0s;
  transition: color 0.3s ease-out 0s, background 0.2s ease-out 0s, opacity 0.2s ease-out 0s;
}

.section-anchor-link:hover {
  color: #fff;
  background: rgba(255,255,255,0.2);
}

.link--no-decoration {
  text-decoration: none;
}

.hide-desktop,
.display-print {
  display: none;
}


/**
 * Responsive tables
 *
 */
table {
  width: 100%;
  border-collapse: collapse;
  word-break:normal;
  table-layout: inherit;
}


.table-scrollable {
  width: 100%;
  overflow-y: auto;
  margin: 0 0 1em;
}

.table-scrollable::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 14px;
  height: 14px;
}

.table-scrollable::-webkit-scrollbar-thumb {
  border-radius: 8px;
  border: 3px solid #fff;
  background-color: rgba(0, 0, 0, .3);
}

details.captcha {
  display: flex;
}

details.captcha [data-drupal-selector="edit-captcha-image"] {
  max-width: 150px;
}

.g-recaptcha iframe {
  border: none;
  min-height: 0;
}
