html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

q, blockquote {
  quotes: none; }

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none; }

a img {
  border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block; }

input,
button {
  border: none;
  margin: 0;
  padding: 0; }

.sitemap, .two_col_wrap_67_33,
.two_col_wrap_33_67, footer .footer_bottom .inner {
  width: 1200px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 1300px) {
    .sitemap, .two_col_wrap_67_33,
    .two_col_wrap_33_67, footer .footer_bottom .inner {
      width: 100%;
      margin: 0;
      padding-left: 4vw;
      padding-right: 4vw; } }

.one_col_wrap {
  width: 1000px;
  margin-left: auto;
  margin-right: auto; }
  @media only screen and (max-width: 1100px) {
    .one_col_wrap {
      width: 100%;
      margin: 0;
      padding-left: 4vw;
      padding-right: 4vw; } }

.sitemap, .two_col_wrap_67_33,
.two_col_wrap_33_67, footer .footer_bottom .inner, .one_col_wrap, .btn, .contact_list li a, table td,
body.mce-content-body table td, article ul li,
section ul li,
body.mce-content-body ul li, .sitemap ul, .sitemap li, .sitemap a, .two_col_wrap_67_33 .left_col,
.two_col_wrap_33_67 .left_col, .two_col_wrap_67_33 .right_col,
.two_col_wrap_33_67 .right_col, .menu_line, .menu_line .inner, .menu_line .small_icons a, nav, .hero, .hero .heading_line h1, .contact_person_list .each_contact_person ul.contact_list, aside .news_item {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.contact_list.horizontal, .contact_person_list, footer .footer_bottom .inner {
  font-size: 0;
  display: block; }
  .contact_list.horizontal > *, .contact_person_list > *, footer .footer_bottom .inner > * {
    display: inline-block;
    vertical-align: top;
    font-size: 1rem; }

.btn {
  text-decoration: none;
  border: none; }
  .btn:hover {
    border: none;
    text-decoration: none; }

.btn {
  display: inline-block;
  vertical-align: top;
  background-repeat: no-repeat;
  font-weight: 900;
  margin-bottom: 10px;
  -webkit-transition: background 0.2s, transform 0.2s, box-shadow 0.2s, color 0.4s;
  -moz-transition: background 0.2s, transform 0.2s, box-shadow 0.2s, color 0.4s;
  -ms-transition: background 0.2s, transform 0.2s, box-shadow 0.2s, color 0.4s;
  transition: background 0.2s, transform 0.2s, box-shadow 0.2s, color 0.4s;
  text-transform: uppercase; }
  .btn.large {
    font-size: 1.2rem;
    line-height: 1.4rem;
    padding-top: 16px;
    padding-right: 20px;
    padding-bottom: 18px;
    padding-left: 20px;
    background-position: right 25px center;
    background-size: 18px  auto; }
    .btn.large.up, .btn.large.right, .btn.large.down {
      padding-right: 60px; }
    .btn.large.left {
      padding-left: 60px; }
  .btn.small {
    font-size: 12px;
    line-height: 0.8rem;
    padding-top: 6px;
    padding-right: 16px;
    padding-bottom: 8px;
    padding-left: 16px;
    background-position: right 14px center;
    background-size: 8px auto; }
    .btn.small.up, .btn.small.right, .btn.small.down {
      padding-right: 34px; }
    .btn.small.left {
      padding-left: 44px; }
  .btn.light {
    background-color: #ffffff;
    color: #3f8600;
    -webkit-box-shadow: 0 5px 20px 0 rgba(16, 25, 64, 0.3);
    box-shadow: 0 5px 20px 0 rgba(16, 25, 64, 0.3); }
    .btn.light:hover {
      color: #3f8600;
      background-color: #ffffff;
      -webkit-box-shadow: 0 10px 34px 0 rgba(16, 25, 64, 0.5);
      box-shadow: 0 10px 34px 0 rgba(16, 25, 64, 0.5); }
  .btn.dark10 {
    background-color: #f9f9f9;
    color: #101940;
    -webkit-box-shadow: 0 5px 20px 0 rgba(16, 25, 64, 0.3);
    box-shadow: 0 5px 20px 0 rgba(16, 25, 64, 0.3); }
    .btn.dark10:hover {
      color: #3f8600;
      background-color: #ffffff;
      -webkit-box-shadow: 0 10px 34px 0 rgba(16, 25, 64, 0.5);
      box-shadow: 0 10px 34px 0 rgba(16, 25, 64, 0.5);
      -webkit-transform: scale(1.04);
      -moz-transform: scale(1.04);
      -ms-transform: scale(1.04);
      transform: scale(1.04); }
  .btn.dark {
    background-color: #579a00;
    color: #ffffff; }
    .btn.dark:hover {
      background-color: #9cf12c;
      -webkit-box-shadow: 0 10px 30px rgba(181, 255, 83, 0.5);
      box-shadow: 0 10px 30px rgba(181, 255, 83, 0.5); }
  .btn.accent {
    background-color: #002669;
    color: #ffffff; }
    .btn.accent:hover {
      background-color: #003694; }
  .btn.dark.up, .btnaccent.up {
    background-image: url(../gfx/icons/arrow_up_min_white.svg); }
  .btn.dark.right, .btnaccent.right {
    background-image: url(../gfx/icons/arrow_right_min_white.svg); }
  .btn.dark.down, .btnaccent.down {
    background-image: url(../gfx/icons/arrow_down_min_white.svg); }
  .btn.dark.left, .btnaccent.left {
    background-image: url(../gfx/icons/arrow_left_min_white.svg);
    background-position: 16px center; }
  .btn.dark10.up, .btn.light.up {
    background-image: url(../gfx/icons/arrow_up_color.svg); }
  .btn.dark10.right, .btn.light.right {
    background-image: url(../gfx/icons/arrow_right_color.svg); }
  .btn.dark10.down, .btn.light.down {
    background-image: url(../gfx/icons/arrow_down_color.svg); }
  .btn.dark10.left, .btn.light.left {
    background-image: url(../gfx/icons/arrow_left_color.svg);
    background-position: 16px center; }
  .btn.location {
    width: 100%;
    background-position: right 10px center;
    background-size: auto 30px;
    background-image: url(../gfx/icons/contact_location_grey.svg);
    margin-top: 20px;
    padding-right: 50px; }
  .btn.download {
    background-size: 24px auto;
    background-image: url(../gfx/icons/download.svg); }

.contact_list {
  width: 100%;
  word-wrap: break-word; }
  .contact_list li {
    display: block;
    padding: 0;
    background: none;
    border-bottom: 1px solid rgba(16, 25, 64, 0.1);
    -webkit-transition: border 0.3s;
    -moz-transition: border 0.3s;
    -ms-transition: border 0.3s;
    transition: border 0.3s; }
    .contact_list li:hover {
      border-bottom: 1px solid #579a00; }
    .contact_list li a {
      text-decoration: none;
      border: none;
      display: block;
      color: #101940;
      font-size: 0.9rem;
      line-height: 1.3rem;
      padding-top: 8px;
      padding-bottom: 8px;
      padding-left: 30px;
      -webkit-transition: color 0.3s;
      -moz-transition: color 0.3s;
      -ms-transition: color 0.3s;
      transition: color 0.3s; }
      .contact_list li a:hover {
        color: #377500; }
    .contact_list li.name, .contact_list li.title {
      color: #416574;
      font-size: 0.8rem;
      padding-top: 0px;
      padding-bottom: 10px; }
    .contact_list li.name {
      font-size: 1.2rem;
      line-height: 1.2rem;
      font-weight: 700;
      padding-bottom: 0;
      border: none; }
    .contact_list li.phone a, .contact_list li.mobile a, .contact_list li.mail a, .contact_list li.location a, .contact_list li.mail_location a, .contact_list li.company a {
      background-position: left center;
      background-repeat: no-repeat;
      background-size: 16px auto; }
    .contact_list li.phone a {
      background-image: url(../gfx/icons/contact_phone_dark.svg); }
    .contact_list li.mobile a {
      background-image: url(../gfx/icons/contact_mobile_dark.svg);
      background-size: auto 18px; }
    .contact_list li.mail a {
      background-image: url(../gfx/icons/contact_mail_dark.svg); }
    .contact_list li.location a {
      background-image: url(../gfx/icons/contact_location_dark.svg);
      background-size: auto 18px; }
    .contact_list li.mail_location a {
      background-image: url(../gfx/icons/contact_mail_location_dark.svg);
      background-size: auto 18px; }
    .contact_list li.company a {
      background-image: url(../gfx/icons/contact_org_nr_dark.svg);
      background-size: auto 20px; }
  .contact_list.light li.phone a {
    background-image: url(../gfx/icons/contact_phone_white.svg); }
  .contact_list.light li.mobile a {
    background-image: url(../gfx/icons/contact_mobile_white.svg); }
  .contact_list.light li.mail a {
    background-image: url(../gfx/icons/contact_mail_white.svg); }
  .contact_list.light li.location a {
    background-image: url(../gfx/icons/contact_location_white.svg); }
  .contact_list.light li.company a {
    background-image: url(../gfx/icons/contact_org_nr_white.svg); }
  .contact_list.horizontal li {
    border: none;
    margin-right: 20px; }
    .contact_list.horizontal li:last-of-type {
      margin-right: 0; }
    .contact_list.horizontal li a {
      background-position: left center; }
    @media only screen and (max-width: 580px) {
      .contact_list.horizontal li {
        width: 100%;
        display: block;
        text-align: center; }
        .contact_list.horizontal li a {
          display: inline-block; } }
  .contact_list.large {
    margin-bottom: 30px; }
    .contact_list.large li.name {
      border-bottom: none;
      padding-bottom: 4px; }
    .contact_list.large li a {
      padding-top: 14px;
      padding-bottom: 14px; }

a {
  text-decoration: none;
  color: #3f8600; }
  a:hover {
    text-decoration: none;
    color: #002669; }

article a,
section a,
body.mce-content-body a {
  color: #3f8600;
  border-bottom: 1px solid rgba(87, 154, 0, 0.2);
  -webkit-transition: border 0.4s, color 0.4s;
  -moz-transition: border 0.4s, color 0.4s;
  -ms-transition: border 0.4s, color 0.4s;
  transition: border 0.4s, color 0.4s; }
  article a:hover,
  section a:hover,
  body.mce-content-body a:hover {
    color: #3f8600;
    border-bottom: 1px solid #579a00; }

article img,
section img,
body.mce-content-body gfx {
  max-width: 100%; }

strong, b {
  font-weight: 700; }

h1, h2, h3, h4, h5 {
  font-family: "sofia-pro", Helvetica, Arial, sans-serif;
  font-weight: 300; }

article h1, article h2, article h3, article h4, article h5,
section h1,
section h2,
section h3,
section h4,
section h5,
aside h1,
aside h2,
aside h3,
aside h4,
aside h5,
.two_col_wrap_33_67 h1,
.two_col_wrap_33_67 h2,
.two_col_wrap_33_67 h3,
.two_col_wrap_33_67 h4,
.two_col_wrap_33_67 h5,
.two_col_wrap_67_33 h1,
.two_col_wrap_67_33 h2,
.two_col_wrap_67_33 h3,
.two_col_wrap_67_33 h4,
.two_col_wrap_67_33 h5,
.one_col_wrap h1,
.one_col_wrap h2,
.one_col_wrap h3,
.one_col_wrap h4,
.one_col_wrap h5 {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid #d6e2e8;
  padding-bottom: 1rem;
  position: relative;
  color: #3f8600; }
  article h1::before, article h2::before, article h3::before, article h4::before, article h5::before,
  section h1::before,
  section h2::before,
  section h3::before,
  section h4::before,
  section h5::before,
  aside h1::before,
  aside h2::before,
  aside h3::before,
  aside h4::before,
  aside h5::before,
  .two_col_wrap_33_67 h1::before,
  .two_col_wrap_33_67 h2::before,
  .two_col_wrap_33_67 h3::before,
  .two_col_wrap_33_67 h4::before,
  .two_col_wrap_33_67 h5::before,
  .two_col_wrap_67_33 h1::before,
  .two_col_wrap_67_33 h2::before,
  .two_col_wrap_67_33 h3::before,
  .two_col_wrap_67_33 h4::before,
  .two_col_wrap_67_33 h5::before,
  .one_col_wrap h1::before,
  .one_col_wrap h2::before,
  .one_col_wrap h3::before,
  .one_col_wrap h4::before,
  .one_col_wrap h5::before {
    content: '';
    position: absolute;
    width: 40px;
    height: 1px;
    background-color: #579a00;
    bottom: -1px; }

h1,
body.mce-content-body h1 {
  font-size: 2.8rem;
  line-height: 3.4rem;
  margin-bottom: 2rem; }
  @media only screen and (max-width: 1900px) {
    h1,
    body.mce-content-body h1 {
      font-size: calc(1.8rem + 1vw);
      line-height: calc(2.4rem + 1vw); } }

h2,
body.mce-content-body h2 {
  font-size: 2.4rem;
  line-height: 2.4rem;
  margin-bottom: 0.6rem; }
  @media only screen and (max-width: 1900px) {
    h2,
    body.mce-content-body h2 {
      font-size: calc(1.4rem + 1vw);
      line-height: calc(1.7rem + 1vw); } }

h3,
body.mce-content-body h3 {
  font-size: 2rem;
  line-height: 2rem;
  margin-bottom: 0.6rem; }
  @media only screen and (max-width: 1900px) {
    h3,
    body.mce-content-body h3 {
      font-size: calc(1rem + 1vw);
      line-height: calc(1.6rem + 0.8vw); } }

h4,
body.mce-content-body h4 {
  font-size: 1.6rem;
  line-height: 1.6rem;
  margin-bottom: 0.4rem; }
  @media only screen and (max-width: 1900px) {
    h4,
    body.mce-content-body h4 {
      font-size: calc(1rem + 0.7vw);
      line-height: calc(1.2rem + 0.8vw); } }

h5,
body.mce-content-body h5 {
  font-size: 1.4rem;
  line-height: 1.2rem;
  margin-bottom: 0.4rem; }
  @media only screen and (max-width: 1900px) {
    h5,
    body.mce-content-body h5 {
      font-size: calc(0.8rem + 0.6vw);
      line-height: calc(1rem + 0.8vw); } }

blockquote,
body.mce-content-body blockquote {
  background-color: #f9f9f9; }

table,
body.mce-content-body table {
  width: 100%;
  background-color: #ffffff;
  margin-bottom: 50px;
  border-top: 1px solid rgba(106, 142, 157, 0.2);
  border-left: 1px solid rgba(106, 142, 157, 0.2); }
  table tr:nth-child(odd),
  body.mce-content-body table tr:nth-child(odd) {
    background-color: #f9f9f9; }
  table td,
  body.mce-content-body table td {
    padding: 10px 20px;
    border-bottom: 1px solid rgba(106, 142, 157, 0.2);
    border-right: 1px solid rgba(106, 142, 157, 0.2); }
    @media only screen and (max-width: 500px) {
      table td,
      body.mce-content-body table td {
        width: 100%;
        display: block; } }

article ul,
section ul,
body.mce-content-body ul {
  width: 100%; }
  article ul li,
  section ul li,
  body.mce-content-body ul li {
    padding-left: 30px;
    background-repeat: no-repeat;
    background-position: left 4px;
    background-size: 20px 20px;
    background-image: url(../gfx/icons/icon_bullet.svg);
    margin-bottom: 10px;
    list-style: none;
  }

@media only screen and (max-width: 650px) {
  iframe,
  body.mce-content-body iframe {
    width: 100%; } }

.sitemap {
  margin-bottom: 10vh;
  background-color: #f9f9f9; }
  @media only screen and (max-width: 1500px) {
    .sitemap {
      padding-left: 0;
      padding-right: 0; } }
  .sitemap ul, .sitemap li, .sitemap a {
    margin: 0; }
  .sitemap li {
    background-image: none; }
  .sitemap a {
    display: block;
    color: #000;
    border-bottom: 1px solid #d6e2e8;
    padding-top: 18px;
    padding-right: 10px;
    padding-bottom: 20px;
    padding-left: 40px;
    font-size: 1.4rem;
    background-image: url(../gfx/icons/arrow_right_dark.svg);
    background-repeat: no-repeat;
    background-position: 20px center;
    background-size: 12px auto;
    -webkit-transition: padding 0.2s, background-color 0.4s;
    -moz-transition: padding 0.2s, background-color 0.4s;
    -ms-transition: padding 0.2s, background-color 0.4s;
    transition: padding 0.2s, background-color 0.4s; }
    .sitemap a:hover {
      background-color: #ffffff;
      padding-left: 50px; }
  .sitemap .second_level a {
    padding-top: 12px;
    padding-right: 0;
    padding-bottom: 14px;
    padding-left: 60px;
    font-size: 1.2rem;
    background-image: url(../gfx/icons/arrow_right_dark.svg);
    background-repeat: no-repeat;
    background-size: 10px auto;
    background-position: 40px center, 44px center; }
    .sitemap .second_level a:hover {
      padding-left: 70px; }

.two_col_wrap_67_33,
.two_col_wrap_33_67 {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-flex-flow: row wrap;
  -moz-box-flex-flow: row wrap;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  margin-bottom: 50px; }

.two_col_wrap_67_33 .left_col {
  width: 67%;
  padding-right: 50px; }

.two_col_wrap_67_33 .right_col {
  width: 33%; }

@media only screen and (max-width: 760px) {
  .two_col_wrap_67_33 .left_col,
  .two_col_wrap_67_33 .right_col {
    width: 100%;
    padding: 0; } }

.two_col_wrap_33_67 .left_col {
  width: 33%; }

.two_col_wrap_33_67 .right_col {
  width: 67%;
  padding-left: 50px; }

@media only screen and (max-width: 900px) {
  .two_col_wrap_33_67 .left_col,
  .two_col_wrap_33_67 .right_col {
    width: 50%;
    padding: 0; }
  .two_col_wrap_33_67 .left_col {
    padding-right: 40px; } }

@media only screen and (max-width: 700px) {
  .two_col_wrap_33_67 .left_col,
  .two_col_wrap_33_67 .right_col {
    width: 100%;
    padding: 0; } }

.one_col_wrap {
  margin-bottom: 50px; }

.one_col_wrap img,
.two_col_wrap_67_33 img,
.two_col_wrap_33_67 img {
  max-width: 100%; }

.menu_line {
  border-top: 4px solid #ffffff;
  width: 100%;
  padding-bottom: 120px;
  background-image: -o-linear-gradient(0deg, transparent, rgba(0, 38, 105, 0.9));
  background-image: -moz-linear-gradient(0deg, transparent, rgba(0, 38, 105, 0.9));
  background-image: -webkit-linear-gradient(0deg, transparent, rgba(0, 38, 105, 0.9));
  background-image: linear-gradient(0deg, transparent, rgba(0, 38, 105, 0.9)); }
  .menu_line .inner {
    width: 1200px;
    position: relative;
    margin-right: auto;
    margin-left: auto; }
    @media only screen and (max-width: 1300px) {
      .menu_line .inner {
        width: 100%;
        padding-left: 30px;
        padding-right: 30px; } }
  .menu_line a.logo {
    position: absolute;
    left: 0;
    top: 10px;
    width: 20%;
    z-index: 2; }
    @media only screen and (max-width: 900px) {
      .menu_line a.logo {
        width: 220px; } }
    @media only screen and (max-width: 500px) {
      .menu_line a.logo {
        width: 180px; } }
    .menu_line a.logo img {
      width: 100%; }
  .menu_line .small_icons {
    position: absolute;
    top: 60px;
    right: 0; }
    @media only screen and (max-width: 1300px) {
      .menu_line .small_icons {
        right: 30px; } }
    @media only screen and (max-width: 1100px) {
      .menu_line .small_icons {
        display: none; } }
    .menu_line .small_icons a {
      display: inline-block;
      border: 1px solid rgba(255, 255, 255, 0.1);
      width: 32px;
      height: 32px;
      background-repeat: no-repeat;
      background-position: center center;
      opacity: 0.7;
      -webkit-transition: background-color 0.3s, opacity 0.2s;
      -moz-transition: background-color 0.3s, opacity 0.2s;
      -ms-transition: background-color 0.3s, opacity 0.2s;
      transition: background-color 0.3s, opacity 0.2s; }
      .menu_line .small_icons a:hover {
        opacity: 1;
        background-color: #003694; }
      .menu_line .small_icons a.icon_aA {
        background-image: url(../gfx/icons/aA.svg);
        background-size: auto 11px;
        position: relative; }
        .menu_line .small_icons a.icon_aA .aA_popup {
          position: absolute;
          right: 0;
          top: 32px;
          width: 600px;
          text-align: left;
          background-color: #ffffff;
          -webkit-box-shadow: 0px 5px 50px 0px rgba(16, 25, 64, 0.6);
          box-shadow: 0px 5px 50px 0px rgba(16, 25, 64, 0.6);
          -webkit-border-radius: 5px;
          border-radius: 5px;
          padding: 40px;
          color: #101940;
          font-size: 1.8rem;
          line-height: 2.4rem;
          display: none; }
      .menu_line .small_icons a.icon_sitemap {
        background-image: url(../gfx/icons/sitemap.svg);
        background-size: auto 12px; }
      .menu_line .small_icons a.icon_fb {
        background-image: url(../gfx/icons/fb.svg);
        background-size: auto 12px; }

nav {
  display: block;
  width: 100%;
  text-align: right;
  padding-left: 22%; }
  nav .menuTrigger {
    width: 50px;
    height: 50px;
    position: absolute;
    z-index: 999;
    right: 30px;
    top: 40px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 30px auto;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background-image: url(../gfx/icons/menu_burger_white.svg);
    -webkit-border-radius: 5px;
    border-radius: 5px;
    display: none; }
    @media only screen and (max-width: 700px) {
      nav .menuTrigger {
        top: 20px; } }
    nav .menuTrigger.active {
      border: 1px solid rgba(16, 25, 64, 0.1);
      background-image: url(../gfx/icons/menu_x.svg); }
    @media only screen and (max-width: 900px) {
      nav .menuTrigger {
        display: block; } }
  nav ul {
    width: 100%; }
  nav .submenu {
    display: none; }
    nav .submenu a {
      color: #000;
      font-size: 16px;
      text-transform: capitalize; }
  nav li {
    display: inline-block;
    margin-right: 20px;
    vertical-align: top;
    position: relative; }
    @media only screen and (max-width: 1200px) {
      nav li {
        margin-right: 14px; } }
    nav li:last-of-type {
      margin-right: 0; }
    nav li.has_submenu {
      background-repeat: no-repeat;
      background-position: center bottom;
      background-size: 6px auto;
      background-image: url(../gfx/icons/arrow_min_white_down.svg); }
      nav li.has_submenu.open.open {
        background-repeat: no-repeat;
        background-position: center bottom;
        background-size: 14px 7px;
        background-image: url(../gfx/icons/dropdown_arrow.svg); }
    nav li a {
      display: block;
      padding-top: 20px;
      padding-bottom: 8px;
      color: #ffffff;
      text-transform: uppercase;
      font-size: 16px;
      -webkit-transition: color 0.3s;
      -moz-transition: color 0.3s;
      -ms-transition: color 0.3s;
      transition: color 0.3s; }
      @media only screen and (max-width: 1200px) {
        nav li a {
          font-size: 14px; } }
      @media only screen and (min-width: 900px) {
        nav li a:hover {
          color: #b5ff53; } }
    nav li.active > a {
      font-weight: 700;
      color: #9cf12c;
      position: relative; }
      nav li.active a::before {
        content: '';
        position: absolute;
        right: 0;
        top: -4px;
        width: 100%;
        height: 4px;
        background-color: #9cf12c; }
    nav li:last-of-type {
      padding-right: 0; }
  @media only screen and (max-width: 900px) {
    nav {
      padding-left: 0; }
      nav .submenu {
        background-color: #f9f9f9; }
      nav > ul {
        display: none;
        padding-top: 120px;
        position: absolute;
        left: 0;
        top: 0;
        z-index: 998;
        background-color: #ffffff;
        -webkit-box-shadow: 0px 5px 40px 0px rgba(0, 0, 0, 0.2);
        box-shadow: 0px 5px 40px 0px rgba(0, 0, 0, 0.2); }
        nav > ul li {
          margin-right: 0;
          display: block; }
          nav > ul li.active a {
            color: #6a8e9d; }
            nav > ul li.active a::before {
              top: 0;
              width: 6px;
              height: 100%; }
        nav > ul a {
          padding-top: 10px;
          padding-bottom: 10px;
          padding-right: 30px;
          color: #000;
          border-bottom: 1px solid #f9f9f9; } }
  @media only screen and (min-width: 900px) {
    nav .submenu {
      -webkit-border-radius: 6px;
      border-radius: 6px;
      overflow: hidden;
      width: 200px;
      position: absolute;
      text-align: left;
      background-color: #ffffff; }
      nav .submenu li {
        margin: 0;
        display: block;
        border-bottom: 1px solid #d6e2e8; }
      nav .submenu a {
        display: block;
        line-height: 20px;
        padding-top: 15px;
        padding-bottom: 15px;
        padding-left: 20px;
        padding-right: 20px;
        -webkit-transition: background 0.2s;
        -moz-transition: background 0.2s;
        -ms-transition: background 0.2s;
        transition: background 0.2s; }
        nav .submenu a:hover {
          color: #000;
          background-color: rgba(87, 154, 0, 0.03); } }

html {
  font-size: 18px;
  line-height: 26px;
  height: 100%;
  min-height: 100%; }
  @media only screen and (max-width: 1300px) {
    html {
      font-size: 16px;
      line-height: 26px; } }

body {
  background-color: #ffffff;
  font-family: "sofia-pro", Helvetica, Arial, sans-serif;
  font-weight: 200; }

.hero {
  width: 100%;
  height: auto;
  min-height: 75vh;
  position: relative;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  margin-bottom: 40px;
  -webkit-transition: height 0.2s;
  -moz-transition: height 0.2s;
  -ms-transition: height 0.2s;
  transition: height 0.2s; }
  .hero.subpage {
    height: auto;
    min-height: 60vh; }
  @media only screen and (max-width: 1000px) {
    .hero.portrait {
      min-height: 50vh; }
      .hero.portrait.subpage {
        min-height: 40vh; } }
  @media only screen and (max-width: 700px) {
    .hero.landscape {
      height: auto;
      min-height: auto; }
      .hero.landscape .heading_line {
        position: inherit; } }
  .hero .heading_line {
    width: 100%;
    text-align: center;
    position: absolute;
    z-index: 1;
    bottom: 0;
    color: #ffffff;
    padding-top: 60px;
    padding-bottom: 30px;
    background-image: -o-linear-gradient(0deg, rgba(0, 0, 0, 0.8), transparent);
    background-image: -moz-linear-gradient(0deg, rgba(0, 0, 0, 0.8), transparent);
    background-image: -webkit-linear-gradient(0deg, rgba(0, 0, 0, 0.8), transparent);
    background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.8), transparent); }
    @media only screen and (max-width: 700px) {
      .hero .heading_line {
        padding-bottom: 20px; } }
    .hero .heading_line h1 {
      padding-left: 30px;
      padding-right: 30px;
      font-size: 3rem;
      line-height: 4.2rem;
      padding-bottom: 0;
      margin-bottom: 0; }
      @media only screen and (max-width: 560px) {
        .hero .heading_line h1 {
          font-size: 2.05rem;
          line-height: 3.2rem; } }
      @media only screen and (max-width: 340px) {
        .hero .heading_line h1 {
          font-size: 1.8rem;
          line-height: 2.4rem; } }
      .hero .heading_line h1 span {
        color: #9cf12c; }

.left_col.contact_details h2, .left_col.contact_details h3, .left_col.contact_details h4 {
  margin-bottom: 0; }

.contact_person_list .each_contact_person {
  width: 48%;
  margin-right: 4%;
  margin-bottom: 30px;
  font-size: 0; }
  .contact_person_list .each_contact_person:nth-of-type(2n) {
    margin-right: 0; }
  .contact_person_list .each_contact_person .picture {
    width: 30%;
    display: inline-block;
    vertical-align: top; }
    .contact_person_list .each_contact_person .picture img {
      width: 100%; }
  .contact_person_list .each_contact_person ul.contact_list {
    padding-left: 12px;
    vertical-align: top;
    display: inline-block;
    width: 70%; }
  @media only screen and (max-width: 1000px) {
    .contact_person_list .each_contact_person {
      width: 100%;
      margin-right: 0; } }

.news_item {
  padding-bottom: 20px;
  display: block; }
  .news_item p {
    color: #000; }
  .news_item .btn {
    margin-top: 20px; }

a.link {
  display: inline-block;
  padding-left: 28px;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: auto 26px;
  padding-bottom: 6px;
  background-image: url(../gfx/icons/download.svg);
  font-weight: 700; }

aside .news_item {
  display: block;
  border-bottom: 1px solid #d6e2e8;
  padding-bottom: 20px;
  padding-top: 20px;
  padding-right: 10px;
  -webkit-transition: border 0.2s;
  -moz-transition: border 0.2s;
  -ms-transition: border 0.2s;
  transition: border 0.2s; }
  aside .news_item:first-of-type {
    padding-top: 0; }
  aside .news_item:hover {
    border-bottom: 1px solid #579a00; }
  aside .news_item h3 {
    border: none;
    margin: 0;
    padding: 0;
    font-size: 0.9rem;
    line-height: 1.4rem;
    text-transform: uppercase;
    font-weight: 700; }
    aside .news_item h3::before {
      display: none; }
  aside .news_item p {
    font-size: 0.9rem;
    line-height: 1.2rem;
    color: #000; }

aside .btn {
  margin-top: 20px; }

footer {
  width: 100%;
  background-color: #f9f9f9; }
  footer .footer_top {
    text-align: center;
    border-top: 1px solid #d6e2e8;
    padding-top: 10px;
    padding-bottom: 10px; }
    footer .footer_top a {
      display: inline-block;
      padding-top: 5px;
      padding-bottom: 5px;
      color: #3f8600;
      padding-right: 160px;
      background-repeat: no-repeat;
      background-position: right center;
      background-size: contain;
      background-image: url(../gfx/temp/fire_logo.png);
      -webkit-transition: padding 0.1s;
      -moz-transition: padding 0.1s;
      -ms-transition: padding 0.1s;
      transition: padding 0.1s; }
      @media only screen and (min-width: 1200px) {
        footer .footer_top a:hover {
          padding-right: 150px; } }
      @media only screen and (max-width: 480px) {
        footer .footer_top a {
          background-position: center top;
          padding-right: 0;
          padding-top: 60px; } }
  footer .footer_bottom {
    position: relative;
    background-color: #000; }
    footer .footer_bottom a {
      color: #ffffff;
      -webkit-transition: color 0.2s;
      -moz-transition: color 0.2s;
      -ms-transition: color 0.2s;
      transition: color 0.2s; }
      footer .footer_bottom a:hover {
        color: #9cf12c; }
    footer .footer_bottom .inner {
      position: relative;
      z-index: 2;
      color: #ffffff;
      padding-top: 30px;
      padding-bottom: 30px; }
    footer .footer_bottom::before {
      content: '';
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      z-index: 1;
      position: absolute;
      background-repeat: no-repeat;
      background-position: center center;
      background-size: cover;
      background-image: url(../gfx/temp/footer.bg.jpg);
      opacity: 0.3; }
    footer .footer_bottom .left_col {
      width: 70%; }
      @media only screen and (max-width: 480px) {
        footer .footer_bottom .left_col {
          width: 100%; } }
    footer .footer_bottom .right_col {
      width: 30%;
      text-align: right; }
      @media only screen and (max-width: 480px) {
        footer .footer_bottom .right_col {
          width: 100%;
          padding-top: 20px;
          text-align: center; } }
    footer .footer_bottom .cookies {
      position: relative;
      z-index: 2;
      width: 100%;
      text-align: center;
      background-color: rgba(0, 0, 0, 0.4);
      padding-top: 5px;
      padding-bottom: 5px;
      font-size: 0.8rem; }
      footer .footer_bottom .cookies a {
        padding-right: 34px;
        background-repeat: no-repeat;
        background-position: right center;
        background-size: 24px auto;
        background-image: url(../gfx/icons/cookies_white.svg); }
