@charset "UTF-8";

@-ms-viewport {
  width: device-width
}

@font-face {
  font-family: "boschsans";
  font-style: normal;
  font-weight: 700;
  src: url(../fonts/BoschSans-Bold.woff2) format("woff2"), url(../fonts/BoschSans-Bold.woff) format("woff")
}

@font-face {
  font-family: "boschsans";
  font-style: normal;
  font-weight: 400;
  src: url(../fonts/BoschSans-Regular.woff2) format("woff2"), url(../fonts/BoschSans-Regular.woff) format("woff")
}

@font-face {
  font-family: "boschicon";
  font-style: normal;
  font-weight: 400;
  src: url(../fonts/Bosch-Icon.woff2) format("woff2"), url(../fonts/Bosch-Icon.woff) format("woff")
}

/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent
}

body {
  font-size: 14px;
  background-color: #fff
}

figure, header, main, nav, section {
  display: block
}

a {
  background-color: transparent;
  text-decoration: none;
  color: #007BC0;
  font-weight: 400;
  cursor: pointer;
  transition: 0.35s;
}

a:active, a:hover {
  outline: 0;
  text-decoration: none;
}

b {
  font-weight: 700
}

h1 {
  font-size: 2em;
}

h1, h2, h3, h4, h5, h6 {
  margin: 48px 0 24px 0;
}

img {
  border: 0;
  vertical-align: middle
}

figure {
  margin: 0
}

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

th {
  padding: 0
}

.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px
}

.container:after, .container:before {
  content: " ";
  display: table
}

.container:after {
  clear: both
}

@media (min-width:768px) {
  .container {
    width: 750px
  }
}

@media (min-width:992px) {
  .container {
    width: 970px
  }
}

@media (min-width:1200px) {
  .container {
    width: 1170px
  }
}

.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px
}

.container-fluid:after, .container-fluid:before {
  content: " ";
  display: table
}

.container-fluid:after {
  clear: both
}

.row {
  margin-left: -15px;
  margin-right: -15px
}

.row:after, .row:before {
  content: " ";
  display: table
}

.row:after {
  clear: both
}

.col-md-10, .col-md-8, .col-sm-10, .col-sm-12, .col-xs-10, .col-xs-12 {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px
}

.col-xs-10, .col-xs-12 {
  float: left
}

.col-xs-10 {
  width: 83.3333333333%
}

.col-xs-12 {
  width: 100%
}

.col-xs-offset-1 {
  margin-left: 8.3333333333%
}

@media (min-width:768px) {
  .col-sm-10, .col-sm-12 {
    float: left
  }

  .col-sm-10 {
    width: 83.3333333333%
  }

  .col-sm-12 {
    width: 100%
  }

  .col-sm-offset-1 {
    margin-left: 8.3333333333%
  }
}

@media (min-width:992px) {
  .col-md-10, .col-md-8 {
    float: left
  }

  .col-md-8 {
    width: 66.6666666667%
  }

  .col-md-10 {
    width: 83.3333333333%
  }

  .col-md-offset-2 {
    margin-left: 16.6666666667%
  }
}

*, :after, :before {
  box-sizing: border-box
}

a:focus, a:hover {
  color: #00629A;
}

a:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px
}

.u-CustomScrollbarWebkit::-webkit-scrollbar:horizontal {
  height: 8px
}

.u-CustomScrollbarWebkit::-webkit-scrollbar-thumb:window-inactive {
  background: rgba(0, 0, 0, .05)
}

.u-TextColor--black {
  color: #000
}

.u-TextColor--fuchsia {
  color: #b90276
}

html {
  font-size: 100%
}

body {
  color: #000;
  font-family: "boschsans", "Helvetica Neue", Helvetica, Arial, sans-serif
}

.h1, .h3, h1, h2, h3 {
  font-weight: 700;
  line-height: 1.2
}

.h1, h1 {
  font-size: 2rem;
}

h2 {
  font-size: 1.75rem
}

.h3, h3 {
  font-size: 1.5rem
}

p {
  font-size: .875rem;
  font-weight: 400;
  line-height: 1.5
}

a:active, html:not(.is-touch) a:hover {
  cursor: pointer
}

a:active, a:active:hover, html:not(.is-touch) a:active:hover {
  color: #000
}

body {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  font-size: 1rem;
  line-height: 1.5;
  -ms-overflow-style: scrollbar;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

body, html {
  min-height: 100%;
  height: 100%
}

body, html {
  margin: 0;
  padding: 0;
  width: 100%
}

main {
  background-color: #fff;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  z-index: 1;
  padding-bottom: 5rem;
}

.container-fluid {
  max-width: 1170px
}

.A-Button--default:not(:disabled):focus, html:not(.is-touch) .A-Button--default:not(:disabled):hover {
  border-color: #000
}

.A-Button--primary:not(:disabled) {
  background: linear-gradient(to bottom, #007BC0 0%, #007BC0 50%, #1a679c 50%, #1a679c 100%);
  background-position: 0 0;
  background-size: 100% 200%
}

.A-Button--primary:not(:disabled):focus, html:not(.is-touch) .A-Button--primary:not(:disabled):hover {
  background-position: 0 100%;
  border-color: #007BC0
}

.A-Button--secondary:not(:disabled) {
  background: linear-gradient(to bottom, #d9d9d9 0%, #d9d9d9 50%, #ddd 50%, #ddd 100%);
  background-position: 0 0;
  background-size: 100% 200%
}

.A-Button--secondary:not(:disabled):focus, html:not(.is-touch) .A-Button--secondary:not(:disabled):hover {
  background-position: 0 100%;
  border-color: #d9d9d9
}

.A-Button--inverted:not(:disabled) {
  background: linear-gradient(to bottom, rgba(254, 254, 254, 0) 0%, rgba(254, 254, 254, 0) 50%, rgba(254, 254, 254, .05) 50%, rgba(254, 254, 254, .05) 100%);
  background-position: 0 0;
  background-size: 100% 200%
}

.A-Button--inverted:not(:disabled):focus, html:not(.is-touch) .A-Button--inverted:not(:disabled):hover {
  background-position: 0 100%;
  border-color: #fff
}

.A-HorizontalScrollBar::-webkit-scrollbar-thumb:window-inactive {
  background: #1a679c
}

.A-Image {
  width: 100%
}

.A-Image__preloadWrapper {
  position: relative;
  overflow: hidden
}

.A-Image__preloadWrapper:after {
  content: '';
  display: block;
  height: 0;
  width: 100%;
  background-color: #f7f7f7;
  padding-bottom: 56.25%
}

.A-Image--preload {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block
}

.A-Image__preloadWrapper--ratio113to37:after {
  padding-bottom: 32.7433628319%
}

.A-Link--button--inverted:not(:disabled):focus, html:not(.is-touch) .A-Link--button--inverted:not(:disabled):hover {
  border-color: #bfc0c2;
  color: #fff
}

.A-Text-ComponentHeader {
  text-align: center;
  float: none
}

.A-Text-ComponentHeader__headline {
  margin-bottom: 23px
}

.M-Navigation-Meta {
  display: none;
  padding: 0;
  margin: 0
}

.M-Navigation-Meta .M-Navigation__item {
  list-style: none
}

.M-Navigation-Meta .M-Navigation__link {
  font-size: 1rem;
  position: relative;
  transition: color cubic-bezier(.38, .04, .35, .96) 400ms;
  display: inline-block
}

.M-Navigation-Meta .M-Navigation__link--active {
  outline: 0;
  text-decoration: none;
  color: #007BC0 !important;
}

.M-Navigation-Meta__link {
  padding: 15px 0;
  font-size: .75rem
}

.M-Navigation-Meta__link:not(.M-Navigation-Meta__link--active):not(:focus):not(:hover) {
  color: #000000
}

@supports (-webkit-line-clamp:1) {}

.M-Stage {
  position: relative;
  clear: both;
  margin-bottom: 100px
}

.M-Stage__wrapper {
  overflow: hidden;
  position: relative
}

.M-Stage__container {
  padding-top: 80px;
  padding-bottom: 130px;
  position: relative;
  overflow: hidden
}

.M-Stage__text {
  position: relative;
  text-align: center
}

.M-Stage__mainHeadline {
  margin-bottom: 20px
}

.M-Stage__bottomSubline {
  line-height: 1.5;
  margin-bottom: 25px
}

.M-Table {
  padding-top: 30px;
  padding-bottom: 30px
}

@media (min-width:768px) {
  .M-Table {
    padding-top: 40px;
    padding-bottom: 40px
  }
}

@media (min-width:992px) {
  .M-Table {
    padding-top: 40px;
    padding-bottom: 40px
  }
}

.M-Table__container {
  float: none
}

.M-Table__contentWrapper {
  width: 100%;
  display: table
}

.M-Table__row {
  display: table-row
}

.M-Table__cell {
  padding: .75rem 1rem;
  overflow: hidden;
  font-size: 1rem;
  border-bottom: 1px solid #c1c7cc;
  min-height: 62px;
  white-space: normal;
  display: table-cell;
  vertical-align: top;
  transition: 0.35s;
}

.M-Table__cell:hover a {
  color: #00629A;
}

.M-Table__cell:hover {
  border-bottom: 1px solid #00629A;
}

.M-Table__cell.active-page {
  border-bottom: 2px solid #007BC0
}

.M-Table__cell--head {
  font-weight: 400;
  color: #007BC0;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
  text-overflow: ellipsis
}

.M-Table__cell--head a {
  color: #000000;
}

.M-Text-Monolith {
  padding-top: 30px;
  padding-bottom: 30px
}

@media (min-width:768px) {
  .M-Text-Monolith {
    padding-top: 40px;
    padding-bottom: 40px
  }
}

@media (min-width:992px) {
  .M-Text-Monolith {
    padding-top: 40px;
    padding-bottom: 40px
  }
}

.M-Text-Monolith__headline {
  text-align: center
}

.M-Text-Monolith--leftAligned .M-Text-Monolith__description p, .M-Text-Monolith--leftAligned .M-Text-Monolith__headline {
  text-align: left
}

.O-Header {
  -webkit-flex: none;
  -ms-flex: none;
  flex: none;
  position: relative;
  width: 100%;
  z-index: 3;
  margin-bottom: 80px;
}

.O-Header:before {
  position: absolute;
  left: 0;
  width: 100%;
  height: 6px;
  content: '';
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  background-image: url('../images/supergraphic_header__xs.svg');
}

.O-Header {
  background-color: #fff
}

.O-Header__logoRow {
  width: 100%;
  height: 96px;
  padding-top: 16px;
  position: relative;
  margin-bottom: 0;
}

.O-Header__logoRow:after, .O-Header__logoRow:before {
  content: " ";
  display: table
}

.O-Header__logoRow:after {
  clear: both
}

.O-Header__logoRow .container-fluid {
  position: relative
}

.O-Header__brandLogo {
  display: block;
  width: 130px;
  height: 42.5663716814px;
  margin: 20px 0 0
}

.O-Header__meta {
  position: absolute;
  top: 15px;
  right: 15px;
  max-width: 50%
}

@media (min-width:768px) {
  .h1, h1 {
    font-size: 2.25rem
  }

  h2 {
    font-size: 1.75rem
  }

  .h3, h3 {
    font-size: 1.5rem
  }

  p {
    font-size: 1rem
  }

  p {
    margin-bottom: 40px
  }
}

@media (min-width:768px) {
  .A-Text-ComponentHeader__headline {
    margin-bottom: 42px
  }

  .A-Text-RichText p {
    margin-bottom: 18px
  }
}

@media (min-width:768px) {
  @supports (-webkit-line-clamp:1) {}
}

@media (min-width:768px) {
  .O-Header__logoRow {
    height: 92px;
    margin-bottom: 0
  }

  .O-Header__brandLogo {
    width: 125px;
    height: 40.9292035398px;
    margin: 17px 0 0
  }

  .h1, h1 {
    font-size: 2.25rem
  }

  h2 {
    font-size: 1.75rem
  }

  .h3, h3 {
    font-size: 1.5rem
  }

  p {
    font-size: 1rem
  }

  p {
    margin-bottom: 40px
  }
}

@media (max-width:991px) {
  .M-Navigation-Meta__link {
    padding-top: 5px;
    padding-bottom: 5px
  }

  .M-Table--squash .M-Table__container {
    overflow: auto
  }

  .M-Table--squash .M-Table__container::-webkit-scrollbar {
    -webkit-appearance: none
  }

  .M-Table--scroll .M-Table__container::-webkit-scrollbar:vertical, .M-Table--squash .M-Table__container::-webkit-scrollbar:vertical {
    width: 12px
  }

  .M-Table--scroll .M-Table__container::-webkit-scrollbar:horizontal, .M-Table--squash .M-Table__container::-webkit-scrollbar:horizontal {
    height: 12px
  }

  .M-Table--squash .M-Table__container::-webkit-scrollbar-thumb {
    border-top: 2px solid #fff;
    border-bottom: 2px solid #fff;
    background-color: rgba(0, 0, 0, .4);
    border-radius: 8px
  }

  .M-Table--squash .M-Table__container::-webkit-scrollbar-track {
    background-color: #fff
  }

  .M-Table--squash .M-Table__cell {
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
  }

  .M-Table--squash .M-Table__cell--head {
    white-space: normal
  }

  .M-Table--squash .M-Table__cell {
    padding: 20px 10px
  }

  .M-Table--squash .M-Table__row .M-Table__cell:nth-child(even) {
    background: #f0f0f0
  }

  .M-Table--squash .M-Table__row .M-Table__cell--head:nth-child(even) {
    background: 0 0
  }

  .M-Table--collapse-column .M-Table__container::-webkit-scrollbar:vertical {
    width: 12px
  }

  .M-Table--collapse-column .M-Table__container::-webkit-scrollbar:horizontal {
    height: 12px
  }
}

@media (min-width:992px) {
  main {
    z-index: 1
  }

  .h1, h1 {
    font-size: 3rem
  }

  h2 {
    font-size: 2.25rem
  }

  .h3, h3 {
    font-size: 1.75rem
  }

  p {
    font-size: 1rem
  }

  .A-Text-ComponentHeader__headline {
    margin-bottom: 40px
  }

  .M-Navigation-Meta {
    display: block;
    margin-top: 6px
  }

  .M-Navigation-Meta:after, .M-Navigation-Meta:before {
    content: " ";
    display: table
  }

  .M-Navigation-Meta:after {
    clear: both
  }

  .M-Navigation-Meta__item {
    float: left
  }

  .M-Navigation-Meta__item:not(:first-child) {
    margin-left: 20px
  }

  .M-Navigation-Meta__link {
    padding: 10px 0
  }

  .M-Stage__mainHeadline {
    font-size: 3.75rem;
    margin-bottom: 2px
  }

  .M-Stage__bottomSubline {
    margin-top: 0
  }

  .M-Table__content .M-Table__row .M-Table__cell:nth-child(even) {
    background: #f0f0f0
  }

  .M-Table__content .M-Table__row .M-Table__cell--head:nth-child(even) {
    background: 0 0
  }

  .M-Table__contentWrapper {
    table-layout: fixed
  }

  .M-Teaser-Jumbotron__button--inverted .A-Link--button:not(:disabled):focus, html:not(.is-touch) .M-Teaser-Jumbotron__button--inverted .A-Link--button:not(:disabled):hover {
    border-color: #bfc0c2;
    color: #fff
  }
}

@media (min-width:992px) {
  .O-Header__logoRow {
    height: 94px;
    border-bottom: 0;
    margin-bottom: 26px
  }

  .O-Header__brandLogo {
    width: 170px;
    height: 55.6637168142px;
    margin: 25px 0 0
  }

  main {
    z-index: 1
  }

  .h1, h1 {
    font-size: 3rem
  }

  h2 {
    font-size: 2.25rem
  }

  .h3, h3 {
    font-size: 1.75rem
  }

  p {
    font-size: 1rem
  }
}

/* FROK text size modifier */

.size-xl {
  font-size: 24px;
  line-height: 1.4;
}

.size-l {
  font-size: 20px;
  line-height: 1.5;
}

.size-l {
  font-size: 16px;
  line-height: 1.5;
}

@media (max-width:991px) {
  .size-xl, .size-l {
    font-size: 16px;
    line-height: 1.4;
  }
}

.a-link {
  font-size: 16px;
  line-height: 1.5;
}

.a-link .a-icon {
  font-size: 24px;
  line-height: 1;
  font-family: 'boschicon';
  font-style: normal;
  vertical-align: bottom;
}

.a-link .a-icon:hover, .a-link .a-icon:active, .a-link:hover .a-icon, .a-link:active .a-icon {
  text-decoration: none;
}

.a-link.-icon-right:hover {
  text-decoration: underline;
}

.a-link-inline, .a-link-inline:hover, .a-link-inline:active {
  text-decoration: underline;
}

.boschicon-bosch-ic-emoji-super-happy:before {
  content: '\e893';
}