body {
  font-family: 'Roboto', 'Helvetica', sans-serif;
  overflow-x: hidden;
  padding-top: 55px;
  width: 100vw;
}

html {
  overflow-x: hidden;
  width: 100vw;
}

body.locked {
  overflow: hidden;
}



/* header */
header.site-header {
  background-color: #0060A7;
  color: white;
  left: 0;
  padding: 7px 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 61;
}

.site-header a {
  color: white;
}

.site-header-mobile {
  align-items: center;
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 64;
}

.site-mobile-logo img {
  height: 50px;
  width: 80px;
}

@media (min-width: 768px) {
  .site-header-mobile {
    display: none;
  }

  .site-mobile-logo {
    display: none;
  }
}

.site-mobile-toggle {
  cursor: pointer;
  flex: 0 0 85px;
  font-size: 18px;
  max-width: 85px;
  padding: 10px 5px;
}

.site-mobile-toggle.shown .site-mobile-toggle-hidden {
  display: none;
}

.site-mobile-toggle.shown .site-mobile-toggle-shown {
  display: block;
}

.site-mobile-toggle .site-mobile-toggle-shown {
  display: none;
}

.site-header-switch {
  display: flex;
  transition: all .2s ease-in-out;
}

@media (max-width: 767px) {
  .site-header-switch {
    background-color: rgba(0, 163, 226, .95);
    flex-direction: column;
    left: 0;
    padding: 20px 0;
    position: absolute;
    right: 0;
    top: -120vh;
    z-index: 60;
  }

  .site-header-switch.shown {
    top: 61px;
  }
}

@media (min-width: 768px) {
  .site-header-switch {
    padding-right: 200px;
  }
}

.header-navigation {
  margin-left: -15px;
}

.navigation-item {
	color: #FFFFFF;
  display: inline-block;
	font-size: 18px;
	line-height: 21px;
  padding: 10px 15px;
}

@media (max-width: 767px) {
  .navigation-item {
    display: block;
  	font-size: 25px;
    padding: 20px 15px;
    text-align: center;
  }
}

.navigation-item:hover {
  color: #FFFFFF;
}

.header-language-switch {
  margin-top: 20px;
  text-align: center;
}

@media (min-width: 768px) {
  .header-language-switch {
    margin-left: auto;
    margin-top: 0;
  }
}

.navigation-language-item-wrapper {
  display: inline-block;
}

.navigation-language-item-wrapper + .navigation-language-item-wrapper:before {
  background-color: white;
  content: '';
  display: inline-block;
  height: 1em;
  margin-bottom: -2px;
  width: 1.5px;
}

.navigation-language-item {
  color: #FFFFFF;
  display: inline-block;
	font-size: 18px;
	line-height: 21px;
  padding: 10px 5px;
}

.navigation-language-item:hover {
  color: white;
}

.navigation-language-item.active {
  color: #00A3E2;
  font-weight: 900;
}

@media (max-width: 767px) {
  .navigation-language-item-wrapper + .navigation-language-item-wrapper:before {
    margin-bottom: 0;
  }

  .navigation-language-item {
    font-size: 25px;
  }

  .navigation-language-item.active {
    color: #0060A7;
  }
}

.header-arc {
  position: absolute;
  right: 0;
  top: 0;
}

@media (max-width: 767px) {
  .header-arc {
    display: none;
  }
}






/* billboard / header */
.billboard {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 700px;
  justify-content: center;
  position: relative;
}

@media (min-width: 768px) {
  .billboard {
    padding-top: 60px;
  }
}

@media (min-width: 1380px) {
  .billboard {
    height: 910px;
  }
}

.billboard-logo {
  margin-bottom: 60px;
  position: relative;
  z-index: 2;
}

.billboard-logo img {
  height: auto;
  min-width: 80%;
}

@media (min-width: 768px) {
  .billboard-logo img {
    min-width: 420px;
  }
}

@media (min-width: 1380px) {
  .billboard-logo img {
    min-width: 570px;
  }
}

.billboard-button a {
  border: 1px solid #0060A7;
  border-radius: 35.5px;
  display: inline-block;
	color: #00A3E2;
	font-family: Roboto;
	font-size: 18px;
	line-height: 49px;
	text-align: center;
  padding-left: 21px;
  padding-right: 21px;
  position: relative;
  z-index: 2;
}

.billboard-button a:hover {
  background-color: #0060A7;
  color: white;
  text-decoration: none;
}

.billboard-background {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}

.billboard-background img {
  height: auto;
  min-height: 100%;
  min-width: 100%;
  width: 100%;
}

.billboard-background-mobile {

}

.billboard-background-desktop {
  display: none;
}

@media (min-width: 768px) {
  .billboard-background-mobile {
    display: none;
  }

  .billboard-background-desktop {
    display: block;
  }
}







/* company */
.company {
  overflow-x: hidden;
  padding: 70px 0;
  position: relative;
  width: 100vw;
}

.company-headline {
	color: #FFFFFF;
	font-size: 34px;
	font-weight: 300;
	line-height: 40px;
  margin-bottom: 20px;
  width: 100%;
}

@media (min-width: 768px) {
  .company-headline {
    font-size: 40px;
    line-height: 47px;
    width: 520px;
  }
}

.company-text {
	color: #FFFFFF;
	font-size: 16px;
	line-height: 19px;
  margin-bottom: 40px;
  width: 100%;
}

@media (min-width: 768px) {
  .company-text {
  	width: 360px;
  }
}

@media (min-width: 992px) {
  .company-text {
  	width: 380px;
  }
}

.company-downloads-headline {
	color: #FFFFFF;
	font-size: 25px;
  font-weight: 400;
	line-height: 29px;
  margin-bottom: 20px;
  width: 520px;
}

.company-download-listing + .company-downloads-headline {
  margin-top: 40px;
}

.company-download-listing-block {
  display: flex;
  flex-wrap: wrap;
}

.company-download-listing-item {
  flex: 0 0 100%;
  max-width: 100%;
}

@media (max-width: 767px) {
  .company-download-listing-item + .company-download-listing-item {
    margin-top: 20px;
  }
}

@media (min-width: 768px) {
  .company-download-listing-item {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
}

.company-download-listing-item a {
  align-items: center;
  color: white;
  display: flex;
  font-weight: 900;
}

.company-download-listing-item a:hover {
  color: white;
  text-decoration: none;
}

.company-download-icon img {
  height: 28px;
  width: 28px;
}

.company-download-text {
  font-size: 16px;
  line-height: 19px;
  padding-left: 10px;
}

.company-download-file-size {
  font-weight: 400 !important;
}

.company-download-listing-item a:hover .company-download-name {
  text-decoration: underline;
}

.company-download-key span:first-child {
  font-weight: 900;
}

.company-download-listing-item a:hover .company-download-key span:first-child {
  text-decoration: underline;
}

.company-background {
  background: url('/fileadmin/user_upload/bg-company.png');
  background-repeat: no-repeat;
  background-size: 100%;
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}

@supports (mix-blend-mode: multiply) {
  .company-background {
    background-color: #007bbe;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#00a2e1+0,0084c6+85,007bbe+100 */
    background: rgb(0,162,225); /* Old browsers */
    background: -moz-linear-gradient(top, rgba(0,162,225,1) 0%, rgba(0,132,198,1) 85%, rgba(0,123,190,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, rgba(0,162,225,1) 0%,rgba(0,132,198,1) 85%,rgba(0,123,190,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(0,162,225,1) 0%,rgba(0,132,198,1) 85%,rgba(0,123,190,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00a2e1', endColorstr='#007bbe',GradientType=0 ); /* IE6-9 */
    mix-blend-mode: multiply;
  }
}





/* products */
.products {
  background: white;
  padding: 70px 0;
}

.products-headline,
.products-subline {
	color: #0060A7;
	font-size: 25px;
	font-weight: 900;
	line-height: 29px;
}

@media (min-width: 768px) {
  .products-headline,
  .products-subline {
  	font-size: 34px;
  	line-height: 40px;
  }
}

.products-subline {
	font-weight: 300;
  margin-bottom: 70px;
}

.products-grid {
  display: flex;
  flex-wrap: wrap;
  margin: -20px;
}

.product-grid-item {
  flex: 0 0 100%;
  max-width: 100%;
  padding: 20px;
}

@media (min-width: 768px) {
  .product-grid-item {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media (min-width: 1280px) {
  .products-headline,
  .products-subline {
  	font-size: 40px;
  	line-height: 47px;
  }
}

.product-item {
  display: flex;
  flex-wrap: wrap;
}

.product-item-image {
  flex: 0 0 100%;
  max-width: 100%;
  text-align: center;
}

.product-item-image img {
  height: auto;
  max-width: 100%;
  width: auto;
}

.product-item-infos {
  display: flex;
  flex: 0 0 100%;
  flex-direction: column;
  max-width: 100%;
  padding-left: 20px;
  text-align: center;
}

@media (min-width: 768px) {
  .product-item-image {
    flex: 0 0 35%;
    max-width: 35%;
  }

  .product-item-infos {
    flex: 0 0 65%;
    max-width: 65%;
    text-align: left;
  }
}

.product-item-name {
	color: #0060A7;
	font-size: 18px;
	font-weight: 900;
	line-height: 21px;
  margin-bottom: 0;
  text-transform: uppercase;
}

.product-item-name-add {
	color: #0060A7;
	font-size: 14px;
  font-weight: normal;
	line-height: 16px;
  margin-bottom: 20px;
}

.product-item-description {
	color: #87888A;
	font-size: 12px;
	line-height: 14px;
  margin-bottom: 25px;
}

.product-item-download {
  margin-top: auto;
}

@media (max-width: 767px) {
  .product-item-download,
  .product-item-description {
    display: none;
  }
}

.product-modal {
  display: none;
  height: 0;
  visibility: hidden;
}

.product-modal-name {
	color: #0060A7;
	font-size: 25px;
	font-weight: 900;
	line-height: 29px;
}

.product-modal-name-add {
	color: #0060A7;
	font-size: 20px;
	font-weight: 300;
	line-height: 24px;
  margin-top: -5px;
}

@media (min-width: 768px) {
  .product-modal-name {
  	font-size: 40px;
  	line-height: 47px;
  }

  .product-modal-name-add {
    font-size: 25px;
    line-height: 29px;
  }
}

.product-modal-content {
  display: flex;
  flex-wrap: wrap;
  margin-top: 25px;
}

.product-modal-infos {
  flex: 0 0 100%;
  max-width: 100%;
}

.product-modal-image img {
  height: auto;
	min-width: 100%;
  width: auto;
}

.product-modal-description {
	color: #87888A;
	font-size: 14px;
	line-height: 16px;
  margin-bottom: 20px;
}

.product-modal-description-additional {
  flex: 0 0 100%;
  margin-top: 60px;
  max-width: 100%;
}

@media (min-width: 768px) {
  .product-modal-infos,
  .product-modal-description-additional {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .product-modal-description-additional {
    margin-top: 0;
    padding-left: 25px;
  }
}

.product-modal-description-additional h3 {
	color: #00A3E2;
	font-size: 25px;
  font-weight: normal;
	line-height: 29px;
  text-transform: uppercase;
}

.product-modal-description-additional ul + h3 {
  margin-top: 40px;
}

.product-modal-description-additional h4 {
	color: #0060A7;
	font-size: 14px;
  font-weight: normal;
	line-height: 16px;
}

.product-modal-description-additional h3 + h4 {
  margin-top: -5px;
}

.product-modal-description-additional ul {
  list-style-type: none;
  padding-left: 15px;
}

.product-modal-description-additional ul li {
	color: #87888A;
	font-size: 14px;
	line-height: 16px;
}

.product-modal-description-additional ul li:before {
  content: "–";
  position: absolute;
  /*change margin to move dash around*/
  margin-left: -1em;
}








/* jobs */
.jobs {
  background-color: #007bbe;
  background-repeat: no-repeat;
  padding: 70px 0;
}

@media (min-width: 768px) {
  .jobs {
    background-size: 150%;
  }
}

@media (max-width: 767px) {
  .jobs {
    background-size: 130%;
  }
}

.jobs-title {
	color: #FFFFFF;
	font-size: 40px;
	font-weight: 900;
	line-height: 47px;
  margin-bottom: 20px;
}

.jobs-students-title {
	color: #FFFFFF;
	font-size: 25px;
  font-weight: normal;
	line-height: 29px;
  margin-bottom: 20px;
  margin-top: 40px;
}

.jobs-copy {
	color: #FFFFFF;
	font-size: 16px;
	line-height: 19px;
  width: 100%;
}

@media (min-width: 768px) {
  .jobs-copy {
    width: 410px;
  }
}

.jobs-listing {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 25px -10px -10px -10px;
}

.jobs-listing-item {
  flex: 0 0 100%;
  max-width: 100%;
  padding: 10px;
}

@media (min-width: 768px) {
  .jobs-listing-item {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
}

.jobs-item-card {
  background-color: white;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  padding: 25px;

  -webkit-clip-path: polygon(30px 0, 100% 0, 100% 100%, 0 100%, 0 30px);
  clip-path: polygon(30px 0, 100% 0, 100% 100%, 0 100%, 0 30px);
}

.job-item-title {
	color: #00A3E2;
	font-size: 18px;
	line-height: 22px;
  margin-bottom: 20px;
}

.job-item-teaser {
	color: #87888A;
	font-size: 14px;
	line-height: 16px;
  margin-bottom: 20px;
  margin-top: -15px;
}

.download-button a {
  align-items: center;
  display: flex;
  text-decoration: none;
}

.download-button a:hover {
  text-decoration: none;
}

.download-button a img {
  height: auto;
  margin-right: 10px;
  width: 28px;
}

.download-button-label {
	color: #00A3E2;
	font-size: 16px;
	font-weight: 900;
  hyphens: auto;
  -webkit-hyphens: auto;
	line-height: 19px;
}


@media (min-width: 1280px) {
  .jobs-item-card {
    padding: 25px 40px;
  }

  .job-item-title {
  	font-size: 25px;
  	line-height: 29px;
  }
}








/* kontakt */
.contact {
  background: white;
  padding: 70px 0;
}

.contact-title {
  color: #0060A7;
  font-size: 40px;
  font-weight: 900;
  line-height: 47px;
  margin-bottom: 20px;
}

.contact-copy {
	color: #87888A;
	font-size: 16px;
	line-height: 19px;
  width: 100%;
}

@media (min-width: 768px) {
  .contact-copy {
    margin-bottom: 40px;
    width: 415px;
  }
}

.contact-addresses {
  display: flex;
  flex-wrap: wrap;
}

.contact-address {
  color: #87888A;
  flex: 0 0 100%;
  font-size: 16px;
  line-height: 19px;
  max-width: 100%;
}

@media (min-width: 992px) {
  .contact-address {
    flex: 0 0 415px;
    max-width: 415px;
  }
}

@media (max-width: 768px) {
  .contact-address + .contact-address {
    margin-top: 20px;
  }
}

.contact-address-add {
  color: #00A3E2;
  height: 19px;
}

.contact-address-name {
  color: #0060A7;
  font-weight: 900;
}

.contact-address-address {
  position: relative;
}

.contact-contacts {
  display: flex;
  flex-wrap: wrap;
  margin-top: 25px;
}

.contact-contact {
  flex: 0 0 100%;
  max-width: 100%;
}

@media (min-width: 992px) {
  .contact-contact {
    flex: 0 0 415px;
    max-width: 415px;
  }
}

@media (max-width: 768px) {
  .contact-contact + .contact-contact {
    margin-top: 20px;
  }
}


.contact-contact-headline {
  color: #00A3E2;
  font-size: 25px;
  font-weight: normal;
  line-height: 29px;
  margin-bottom: 15px;
}

.contact-contact-type {
  color: #87888A;
  font-size: 16px;
  line-height: 19px;
}

.contact-contact-type span:first-child {
  display: inline-block;
  font-weight: 900;
  width: 85px;
}

.contact-contact-type span:last-child,
.contact-contact-type a {
  color: #87888A;
  display: inline-block;
}

.contact-contact-type a[href^="mailto:"] {
  color: #00A3E2;
}












/* modal */
[data-toggle="modal"] {
  cursor: pointer;
}

.modal-wrapper {
  bottom: 0;
  display: none;
  left: 0;
  outline: 0;
  overflow-x: hidden;
  overflow-y: auto;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 92;
}

.modal-wrapper.visible {
  display: block;
}

.modal-backdrop {
  background-color: rgba(0, 0, 0, 0.8);
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: -1;
}

.modal-dialog {
  height: 100vh;
  margin: auto;
  max-width: 100vw;
  position: relative;
}

@media (min-width: 768px) {
  .modal-dialog {
    height: auto;
    margin: 10% auto;
    max-width: 900px;
    position: relative;
  }
}

.modal-content {
  background: white;
  padding: 25px;
}

@media (max-width: 767px) {
  .modal-content {
    padding: 50px 45px;
  }
}

.modal-close {
  cursor: pointer;
  height: 40px;
  position: fixed;
  right: 10px;
  top: 10px;
  width: 40px;
  z-index: 93;
}

@media (min-width: 768px) {
  .modal-close {
    height: 46px;
    position: absolute;
    right: -23px;
    top: -23px;
    width: 46px;
  }
}

.modal-close img {
  width: 100%;
}







/* footer */

.site-footer {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#00a2e1+0,0084c6+85,007bbe+100 */
  background: rgb(0,162,225); /* Old browsers */
  background: -moz-linear-gradient(left, rgba(0,162,225,1) 0%, rgba(0,132,198,1) 85%, rgba(0,123,190,1) 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(left, rgba(0,162,225,1) 0%,rgba(0,132,198,1) 85%,rgba(0,123,190,1) 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, rgba(0,162,225,1) 0%,rgba(0,132,198,1) 85%,rgba(0,123,190,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00a2e1', endColorstr='#007bbe',GradientType=1 ); /* IE6-9 */
  padding: 40px;
  position: relative;
  text-align: center;
}

.site-footer-nav-item {
  display: inline-block;
  color: white;
  font-size: 18px;
  line-height: 21px;
  padding: 10px;
}

.site-footer-nav-item:hover {
  color: white;
}

.site-footer-logo {
  margin-top: 25px;
}

@media (min-width: 768px) {
  .site-footer-logo {
    position: absolute;
    right: 40px;
    top: 5px;
  }
}

.site-footer-logo img {
  height: auto;
  width: 130px;
}

.footer-modal {
  display: none;
  height: 0;
  visibility: hidden;
}

.footer-modal-title {
	color: #0060A7;
	font-size: 40px;
	font-weight: 900;
	line-height: 47px;
}

.footer-modal-text h2, .footer-modal-text h3, .footer-modal-text h4 {
  color: #00A3E2;
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  margin-bottom: 0;
}

.footer-modal-text p {
  margin-bottom: 24px;
}

@media (min-width: 992px) {
  .footer-modal-text {
    columns: 2;
  }
}

.site-footer-logos {
  background-color: #5cb8dc;
  margin-top: 50px;
  padding: 30px;
  text-align: center;
}

.site-footer-logos-section + .site-footer-logos-section {
  margin-top: 60px;
}

.site-footer-logo-mouser {
  margin-bottom: 20px;
  margin-left: auto;
  margin-right: auto;
  max-width: 280px;
}

.site-footer-logo-mouser a {
  display: block;
}

.site-footer-headline-sponsors {
  display: block;
  width: 100%;
}

.site-footer-headline-sponsors span,
.site-footer-logo-mouser span {
  color: white;
  font-weight: normal;
  display: block;
  margin-bottom: 30px;
  text-align: center;
}

.site-footer-logo-mouser img {
  height: auto !important;
  max-width: 100%;
}

.site-footer-logo-efre {
  margin-bottom: 30px;
  margin-left: auto;
  margin-right: auto;
  max-width: 280px;
}

.site-footer-logo-efre img {
  max-width: 100%;
  width: 100%;
}

.site-footer-logo-bmbf img {
  width: 150px;
}

@media (min-width: 768px) {
  .site-footer-logos {
    display: flex;
    justify-content: center;
  }

  .site-footer-logo-efre,
  .site-footer-logo-bmbf,
  .site-footer-logo-mouser {
    display: inline-block;
  }

  .site-footer-logo-mouser img {
    width: 165px;
  }

  .site-footer-logo-mouser img,
  .site-footer-logo-efre img {
    max-height: 60px;
  }

  .site-footer-headline-sponsors span {
    margin-left: 22px;
    margin-bottom: 10px;
  }

  .site-footer-logo-mouser span {
    margin-left: 34px;
  }

  .site-footer-headline-sponsors span {
    text-align: left;
  }

  .site-footer-logos-section + .site-footer-logos-section {
    margin-left: 40px;
    margin-top: 0;
  }
}
