/* LIGHT 300 */
@font-face {
  font-display: swap;
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 200;
  src: url('../fonts/fira-sans-v17-latin-200.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/fira-sans-v17-latin-200.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* LIGHT italic 300 */
@font-face {
  font-display: swap;
  font-family: 'Fira Sans';
  font-style: italic;
  font-weight: 200;
  src: url('../fonts/fira-sans-v17-latin-200italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/fira-sans-v17-latin-200italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* BOOK 300 */
@font-face {
  font-display: swap;
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/fira-sans-v17-latin-300.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/fira-sans-v17-latin-300.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* BOOK italic 300 */
@font-face {
  font-display: swap;
  font-family: 'Fira Sans';
  font-style: italic;
  font-weight: 300;
  src: url('../fonts/fira-sans-v17-latin-300italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/fira-sans-v17-latin-300italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* REGULAR 400 */
@font-face {
  font-display: swap;
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/fira-sans-v17-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/fira-sans-v17-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* REGULAR italic 400 */
@font-face {
  font-display: swap;
  font-family: 'Fira Sans';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/fira-sans-v17-latin-italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/fira-sans-v17-latin-italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* MEDIUM 500 */
@font-face {
  font-display: swap;
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/fira-sans-v17-latin-500.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/fira-sans-v17-latin-500.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* MEDIUM italic 500 */
@font-face {
  font-display: swap;
  font-family: 'Fira Sans';
  font-style: italic;
  font-weight: 500;
  src: url('../fonts/fira-sans-v17-latin-500italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/fira-sans-v17-latin-500italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* SEMIBOLD 600 */
@font-face {
  font-display: swap;
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/fira-sans-v17-latin-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/fira-sans-v17-latin-600.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* SEMIBOLD italic 600 */
@font-face {
  font-display: swap;
  font-family: 'Fira Sans';
  font-style: italic;
  font-weight: 600;
  src: url('../fonts/fira-sans-v17-latin-600italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/fira-sans-v17-latin-600italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* BOLD 700 */
@font-face {
  font-display: swap;
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/fira-sans-v17-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/fira-sans-v17-latin-700.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* BOLD italic 700 */
@font-face {
  font-display: swap;
  font-family: 'Fira Sans';
  font-style: italic;
  font-weight: 700;
  src: url('../fonts/fira-sans-v17-latin-700italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/fira-sans-v17-latin-700italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/*

FARBEN

#006fb9 blau Logo
#e4013a rot Logo

#005994 blau + 20% schwarz
#4d9ace hellblau (Links Nav/Footer)

#e3e7ea hellgrau (Linien)
#31424e dunkelgraublau (BG Nav/Footer)
#eaf4fa blassgraublau (BG Abschnitt/Infoboxen)

*/


/* Allgemein */

body {
  background-color: #ffffff;
  color: #000000;
  font-family: 'Fira Sans', sans-serif;
  font-size: 1rem;
  font-weight: 200;
}

.invisible {
  display: none !important;
}

.itemscenter {
  align-items: center;
  display: flex;
}

.itemsstart {
  align-items: start;
  display: flex;
}

.small-gap {
  margin-bottom: 1rem;
}

.gap {
  margin-bottom: 3rem;
}

.content-bg {
  background-color: #eaf4fa;
  padding-top: 3rem;
  padding-bottom: 1rem;
}

hr {
  border-bottom: 2px solid #e3e7ea;
}

@media screen and (min-width: 40em) and (max-width: 63.9375em) { /* Medium only */

  .small-gap {
    margin-bottom: 2rem;
  }

  .gap {
    margin-bottom: 4rem;
  }

  .content-bg {
    padding-top: 4rem;
  }

}

@media screen and (min-width: 64em) { /* Large and up */

  .small-gap {
    margin-bottom: 3rem;
  }

  .gap {
    margin-bottom: 8rem;
  }

  .content-bg {
    padding-top: 8rem;
    padding-bottom: 4rem;
  }

}

/* Font */

h1 {
  font-family: 'Fira Sans', sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #ffffff;
  line-height: 100%;
  margin: 0;
}

h2 {
  font-family: 'Fira Sans', sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #e4013a;
  line-height: 100%;
  margin-bottom: 1rem;
}

h3 {
  font-family: 'Fira Sans', sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  color: #e4013a;
  line-height: 110%;
  margin-bottom: 1rem;
}

h3.sub {
  margin-top: -0.8rem;
}

h4 {
  font-family: 'Fira Sans', sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  color: #e4013a;
  line-height: 120%;
  margin-bottom: 1rem;
}

@media screen and (min-width: 40em) and (max-width: 63.9375em) { /* Medium only */

  h1 {
    font-size: 3rem;
  }

  h2 {
    font-size: 2.2rem;
  }

  h3 {
    font-size: 1.3rem;
  }

}

@media screen and (min-width: 64em) {  /* Large and up */

  h1 {
    font-size: 3.5rem;
  }

  h2 {
    font-size: 2.5rem;
  }

  h3 {
    font-size: 1.6rem;
  }

}

/* Links + Buttons */

a {
  color: #006fb9;
  transition: color 0.25s ease-in-out;
}

a:hover,
a:focus {
  color: #6f6f6f;
}

.button {
  text-transform: uppercase;
  font-size: 1rem;
  font-weight: 600;
  padding: 0.6em 1.2rem;
  border-radius: 50px;
  background-color: #006fb9;
  transition: background-color 0.25s ease-in-out;
}

.button:hover,
.button:focus {
  background-color: #005994;
}

/* Bildnachweis */

.licence {
  font-size: 0.6rem;
  font-weight: 400;
  text-align: right;
  padding-right: 15px;
}

.licence,
.licence a,
.licence a:hover,
.licence a:focus {
  color: #888888;
}

.bg-licence {
  font-size: 0.6rem;
  font-weight: 400;
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 0.1rem 0.3rem;
  background-color: rgba(0, 0, 0, 0.5);
}

.bg-licence,
.bg-licence a,
.bg-licence a:hover,
.bg-licence a:focus {
  color: #ffffff;
}

/* Formular */

label,
legend,
input {
  font-size: 1rem;
  font-weight: 200;
  color: #000000;
}

legend {
  margin-bottom: 0;
}

form .widget-text input,
form textarea,
form .widget-text input:focus,
form textarea:focus {
  background-color: #eaf4fa;
  box-shadow: none;
  border: 0;
  border-width: 0;
  border-radius: 10px;
}

[type="radio"],
[type="checkbox"] {
  cursor: pointer;
  margin: 0;
}

form .checkbox_container > span {
  display: block;
  margin-bottom: 0.2rem;
}

form .checkbox_container,
form .radio_container {
  margin-bottom: 0.8rem;
}

[type="checkbox"] + label {
  display: inline;
  margin: 0;
}

@media screen and (min-width: 40em) { /* Medium and up */
  form div.left {
    padding-right: 0.5rem;
  }
  form div.right {
    padding-left: 0.5rem;
  }
}

/* Header */

.header {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

@media screen and (min-width: 64em) {  /* Large and up */
  .header {
    padding-top: 4.5rem;
    padding-bottom: 3.5rem;
  }
}

/* Header: Logo */

.header .logo {
  text-align: center;
  margin-bottom: 1.5rem;
}

.header .logo a {
  display: inline-block;
}

.header .logo a img {
  width:  300px;
}

@media screen and (min-width: 64em) {  /* Large and up */
  .header .logo {
    text-align: left;
    margin-bottom: 0;
  }
}

/* Header: Info */

.header .header-info {
  text-align: center;
}

.header .header-info .info-title {
  color: #006fb9;
  font-size: 1.2rem;
  font-weight: 500;
  text-transform: uppercase;
  line-height: 100%;
}

.header .header-info .info-subtitle {
  font-size: 1rem;
  font-weight: 400;
  line-height: 100%;
  margin-top: 0.5rem;
}

.header .header-info hr {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.header .header-info .clearfix {
  display: inline-block;
}

.header .header-info .icon-link {
  margin-right: 1rem;
}

.header .header-info .icon-link a {
  display: block;
}

.header .header-info .icon-link a,
.header .header-info .link-list a {
  color: #000000;
}

.header .header-info .icon-link a:hover,
.header .header-info .icon-link a:focus,
.header .header-info .link-list a:hover,
.header .header-info .link-list a:focus {
  color: #6f6f6f;
}

.header .header-info .icon-link img {
  height: 22px;
  margin-right: 0.5rem;
}

.header .header-info .icon-link p {
  font-size: 0.95rem;
  font-weight: 500;
  margin: 0.2rem 0 0 0;
  line-height: 100%;
}

.header .header-info .link-list {
  width: 100%;
}

.header .header-info .link-list ul {
  font-size: 0.9rem;
  line-height: 130%;
  font-weight: 400;
  list-style-type: none;
  margin: 0 auto 0 auto;
}

.header .header-info .link-list ul li {
  display: inline-flex;
  align-items: start;
  width: auto;
  margin-right: 0.5rem;
}

.header .header-info .link-list ul li::before {
  content: '\2022';
  color: #e4013a;
  font-size: 2rem;
  display: inline-block;
  line-height: 50%;
  margin-right: 0.3rem;
}

@media screen and (min-width: 40em) { /* Medium and up */

  .header .header-info .link-list {
    width: auto;
  }

  .header .header-info .link-list ul {
    margin: 0 1rem 0 1rem;
  }

  .header .header-info .link-list ul li {
    display: flex;
    margin-right: 0rem;
    margin-bottom: 0.3rem;
  }

}

@media screen and (min-width: 64em) {  /* Large and up */

  .header .header-info {
    text-align: left;
  }

  .header .header-info .info-title {
    font-size: 1.45rem;
  }

  .header .header-info hr {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  .header .header-info .icon-link img {
    height: 30px;
  }

  .header .header-info .icon-link p {
    font-size: 1.05rem;
  }

}

/* Header: Social Media Icons */

.social-bar {
  background-color: #e3e7ea;;
  padding-top: 1rem;
  padding-bottom: 0.5rem;
}

.social-bar .social-wrapper {
  display: flex;
  gap: 1.2rem;
  align-items: center;
  justify-content: center;
}

.social-bar .social-wrapper .social-title {
  color: #e4013a;
  font-size: 1rem;
  font-weight: 700;
  line-height: 100%;
  text-transform: uppercase;
}

.social-bar .social-wrapper .social-icon a {
  display: flex;
  gap: 0.3rem;
  color: #000000;
  font-weight: 500;
  font-size: 0.8rem;
}

.social-bar .social-wrapper .social-icon a img {
  height: 20px;
}

.social-bar .social-wrapper .social-icon a span {
  display: inline-block;
}

@media screen and (min-width: 64em) {  /* Large and up */

  .social-bar .social-wrapper {
    justify-content: left;
  }

}

/* Nav-Bar */

.nav-bar {
  background-color: #31424e;
}

/* Nav-Bar: Menu-Button */

.nav-bar .menu-button {
  text-transform: uppercase;
  font-weight: 700;
  font-size: 0.9rem;
  color: #ffffff;
  cursor: pointer;
  text-align: center;
  padding-top: 0.7rem;
  padding-bottom: 0.7rem;
}

.nav-bar .menu-button img {
  height: 30px;
  margin-right: 0.5rem;
}

/* Nav-Bar: Dropdown */

.nav-bar ul.dropdown {
  text-transform: uppercase;
  font-size: 1rem;
  font-weight: 700;
  padding-top: 0.7rem;
  padding-bottom: 0.7rem;
}

.nav-bar ul.dropdown li {
  margin-right: 3.5rem;
}

.nav-bar ul.dropdown li a {
  color: #ffffff;
  padding: 0.7rem 0.5rem 0.7rem 0;
}

.nav-bar ul.dropdown li a:hover,
.nav-bar ul.dropdown li a:focus,
.nav-bar ul.dropdown li a.active,
.nav-bar ul.dropdown li a.trail,
.nav-bar ul.dropdown li.is-active > a {
  color: #4d9ace;
  background: transparent;
}

.nav-bar ul.dropdown ul.is-dropdown-submenu {
  background-color: #31424e;
  border: 0;
  text-transform: none;
  font-weight: 500;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  min-width: 220px;
}

.nav-bar ul.dropdown ul.is-dropdown-submenu a {
  padding: 0.7rem 1rem;
}

.dropdown.menu > li.is-dropdown-submenu-parent > a::after,
.dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after,
.dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
  border-color: #ffffff transparent transparent;
}

.dropdown.menu.vertical > li.opens-left > a::after,
.dropdown.menu.medium-vertical > li.opens-left > a::after,
.dropdown.menu.large-vertical > li.opens-left > a::after,
.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
  border-color: transparent #ffffff transparent transparent;
}

.dropdown.menu.vertical > li.opens-right > a::after,
.dropdown.menu.medium-vertical > li.opens-right > a::after,
.dropdown.menu.large-vertical > li.opens-right > a::after,
.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after  {
  border-color: transparent transparent transparent #ffffff;
}

/* Header Image + Page Headline */

.header-img,
.page-headline {
  background-size: cover;
  background-position: center center;
}

.header-img {
  height: 300px;
}

.header-img .overlay,
.page-headline .overlay {
  height: 100%;
  position: relative;
}

.header-img .overlay-content {
  padding-top: 40px;
}

.header-img .overlay-content a.icon-button {
  color: #ffffff;
  text-align: center;
  padding: 1rem 0.5rem 1rem 0.5rem;
  display: block;
  background-color: #006fb9;
  border-radius: 20px;
  box-shadow: 0px 0px 20px 3px rgba(0,0,0,0.3);
  transition: background-color 0.25s ease-in-out;
  margin-bottom: 1rem;
}

.header-img .overlay-content a.icon-button:hover,
.header-img .overlay-content a.icon-button:focus {
  background-color: #005994;
}

.header-img .overlay-content a.icon-button img {
  height: 36px;
  margin-bottom: 0.8rem;
}

.header-img .overlay-content a.icon-button p {
  margin-bottom: 0;
  font-weight: 500;
  font-size: 0.95rem;
  line-height: 110%;
}

.page-headline {
  height: 170px;
}

.page-headline .overlay-flex {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.page-headline .txt {
  text-align: center;
  padding-left: 1rem;
  padding-right: 1rem;
}

@media screen and (min-width: 40em) and (max-width: 63.9375em) { /* Medium only */

  .header-img {
    height: 350px;
  }

  .header-img .overlay-content {
    padding-top: 180px;
  }

}

@media screen and (min-width: 64em) { /* Large and up */

  .header-img {
    height: 480px;
  }

  .header-img .overlay-content {
    padding-top: 320px;
  }

  .header-img .overlay-content a.icon-button {
    padding: 1rem;
  }

  .header-img .overlay-content a.icon-button img {
    height: 50px;
    margin-bottom: 0.8rem;
  }

  .header-img .overlay-content a.icon-button p {
    font-size: 1.1rem;
  }

}

/* Content: Bild + Text */

.content-img img {
  border-radius: 20px;
  box-shadow: 0px 0px 20px 3px rgba(0,0,0,0.1);
}

.content-img-txt .content-img,
.content-txt-img .content-img,
.content-news .content-img {
  margin-bottom: 1rem;
}

@media screen and (min-width: 64em) { /* Large and up */

  .content-img-txt .content-txt {
    margin-left: 2rem;
  }

  .content-txt-img .content-txt {
    margin-right: 2rem;
  }

}

/* Content: Icon + Text */

.content-icon-txt {
  text-align: center;
}

.content-icon-txt .icon-bg {
  background-color: #31424e;
  width: 70px;
  height: 70px;
  display: inline-block;
  border-radius: 35px;
  margin-bottom: 1rem;
}

.content-icon-txt .icon-bg img {
  height: 48px;
  margin-top: 9px;
}

/* Content: News */

.content-news {
  margin-bottom: 1rem;
}

.content-news h2 {
  border-bottom: 2px solid #e3e7ea;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
}

.content-news .date {
  font-weight: 600;
  line-height: 100%;
  margin-bottom: 0.3rem;
}

.content-news .content-txt {
  border-bottom: 2px solid #e3e7ea;
  padding-bottom: 0.5rem;
  margin-bottom: 2rem;
}

@media screen and (min-width: 40em) { /* Medium and up */

  .content-news {
    margin-bottom: 4rem;
  }

  .content-news h2 {
    border-bottom: 0;
    padding-bottom: 0;
    margin-bottom: 3rem;
  }

  .content-news .content-img {
    margin-bottom: 4rem;
  }

  .content-news .content-txt {
    border-bottom: 0;
    border-top: 2px solid #e3e7ea;
    padding-bottom: 0;
    padding-top: 2rem;
  }

}

/* Content: Infoboxen */

.infobox {
  background-color: #eaf4fa;
  border-radius: 20px;
  padding: 1.2rem 1.2rem 0.3rem 1.2rem;
  margin-bottom: 1rem;
  font-size: 0.9rem;
}

.infobox h3 {
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #ccd7de;
  margin-bottom: 1rem;
}

@media screen and (min-width: 40em) { /* Medium and up */

  .infobox {
    margin-bottom: 2rem;
  }

}

@media screen and (min-width: 64em) { /* Large and up */

  .infobox {
    padding: 3rem;
  }

  .infobox h3 {
    padding-bottom: 0.8rem;
    margin-bottom: 2rem;
  }

}

/* Content: Image Teaser */

.img-teaser {
  background-color: #ffffff;
  align-items: stretch;
  font-size: 0.9rem;
  border-radius: 20px;
  box-shadow: 0px 0px 20px 3px rgba(0,0,0,0.1);
  margin-bottom: 1rem;
  transition: box-shadow 0.25s ease-in-out;
}

.img-teaser .img a {
  display: block;
}

.img-teaser .img img {
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  border: solid #ffffff;
  border-width: 10px 10px 0 10px;
  padding-bottom: 15px;
}

.img-teaser .licence {
  height: 15px;
}

.img-teaser .txt {
  padding: 2rem 2rem 2rem 2rem;
  display: block;
  color: #000000;
  position: relative;
}

.img-teaser a.txt {
  padding-bottom: 4rem;
}

.img-teaser .txt h4 {
  border-bottom: 2px solid #e3e7ea;
  padding-bottom: 0.5rem;
}

.img-teaser .txt .more {
  position: absolute;
  bottom: 2rem;
  left: 2rem;
}

.img-teaser .txt .more svg {
  display: inline-block;
}

.img-teaser .txt .more svg path {
  stroke: #006fb9;
  fill: #006fb9;
  transition: all 0.25s ease-in-out;
}

.img-teaser .txt .more span {
  color: #006fb9;
  text-transform: uppercase;
  font-weight: 600;
  transition: color 0.25s ease-in-out;
}

.teaser-link:hover {
  box-shadow: 0px 0px 20px 3px rgba(0,0,0,0.3);
}

.img-teaser:hover .txt .more span {
  color: #005994;
}

.img-teaser:hover .txt .more svg path {
  stroke: #005994;
  fill: #005994;
}

@media screen and (min-width: 40em) { /* Medium and up */

  .img-teaser {
    margin-bottom: 2rem;
  }

}

/* Hinweis */

.notice {
  background-color: #faccd8;
  padding: 1.5rem 1.5rem 0.5rem 1.5rem;
  margin-bottom: 1rem;
}

/* Map */

.map {
  line-height: 0;
}

.map iframe {
  border: 0;
  width: 100%;
  height: 420px;
}

.contact-map iframe {
  height: 300px;
  border-radius: 20px;
  box-shadow: 0px 0px 20px 3px rgba(0,0,0,0.1);
}

@media screen and (min-width: 64em) { /* Large and up */

  .contact-map iframe {
    height: 600px;
  }

}

/* Footer */

.footer {
  background-color: #31424e;
  color: #ffffff;
  font-weight: 400;
  padding-top: 3rem;
}

.footer-block {
  margin-bottom: 2rem;
}

.footer h4 {
  font-family: 'Fira Sans', sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  color: #ffffff;
  line-height: 100%;
  padding-bottom: 0.8rem;
  border-bottom: 2px solid #52606a;
  margin-bottom: 1rem;
}

.footer a {
  color: #4d9ace;
}

.footer a:hover,
.footer a:focus {
  color: #d0d0d0;
}

.footer dl,
.footer dt,
.footer dd {
  margin: 0;
  padding: 0;
  line-height: 120%;
}

.footer dl {
  margin-bottom: 0.3rem;
}

.footer dl dt {
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 0.7rem;
}

.footer dl dd {
  margin-bottom: 0.7rem;
}

@media screen and (min-width: 40em) and (max-width: 63.9375em) { /* Medium only */

  .footer {
    padding-top: 4rem;
    padding-bottom: 1rem;
  }

  .footer h4 {
    margin-bottom: 2rem;
  }

}

@media screen and (min-width: 64em) { /* Large and up */

  .footer {
    padding-top: 6rem;
    padding-bottom: 4rem;
  }

  .footer h4 {
    margin-bottom: 3rem;
  }

}

/* Footerline */

.footerline {
  background-color: #006fb9;
  padding-top: 1rem;
  padding-bottom: 0.5rem;
}

.footerline ul.menu {
  text-transform: uppercase;
  font-size: 1rem;
  font-weight: 700;
}

.footerline ul.menu li {
  width: 100%;
  margin-bottom: 0.8rem;
}

.footerline ul.menu li a {
  color: #ffffff;
  padding: 0;
}

.footerline ul.menu li a:hover,
.footerline ul.menu li a:focus,
.footerline ul.menu li a.active {
  color: #d0d0d0;
  background: transparent;
}

@media screen and (min-width: 40em) { /* Medium and up */

  .footerline {
    padding-top: 0.5rem;
  }

  .footerline ul.menu li {
    width: auto;
    margin-right: 3.5rem;
    margin-bottom: 0;
  }

  .footerline ul.menu li a {
    padding: 0.7rem 0.5rem 0.7rem 0;
  }

}

/* Off Canvas */

.off-canvas {
  background: #31424e;
  color: #ffffff;
  padding: 3.5rem 0 1rem 0;
}

.off-canvas .close-button {
  transition: color 0.25s ease-in-out;
  color: #ffffff;
  font-size: 3rem;
}

.off-canvas .close-button:hover {
  color: #4d9ace;
}

.off-canvas ul.accordion-menu {
  text-transform: uppercase;
  font-size: 1rem;
  font-weight: 700;
}

.off-canvas ul.accordion-menu li a {
  color: #ffffff;
  transition: color 0.25s ease-in-out;
}

.off-canvas ul.accordion-menu li a:hover,
.off-canvas ul.accordion-menu li a:focus,
.off-canvas ul.accordion-menu li a.active {
  color: #4d9ace;
  background: transparent;
}

.off-canvas ul.accordion-menu ul.nested {
  text-transform: none;
  font-weight: 500;
}

.off-canvas ul.accordion-menu .submenu-toggle::after {
  border-color: #ffffff transparent transparent;
}