main {
  padding-top: 0px !important;
}

.main-biggest-banner {
  background: #000;
  position: absolute;
  top: 0;
  width: 100%;
  max-height: 100vh;
  z-index: -2;
  overflow: hidden;
}

.main-biggest-banner-wrapper {
  background: #000;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100vh;
  z-index: -1;
  opacity: 0.55;
}

.main-biggest-banner iframe.main-youtube {
  width: 100%;
  height: calc(100vh + 265px);
  margin-top: 0px;
  border: 0;
}

.tiles-stage-stage-wrapper {
  height: calc(100vh - 120px);
}

.tiles-stage-stage-wrapper .t.c.textbox.topline {
  font-size: 40px;
  font-weight: 400;
  line-height: 1.25;
  padding-top: 13%;
  padding-bottom: 0;
}

.tiles-stage-stage-wrapper .t.c.textbox.headline {
  font-size: 124px;
  font-weight: bold;
  line-height: 1.2;
  padding-top: 39px;
}

section#main-buttons {
  position: absolute;
  bottom: 40px;
  width: 100%;
  margin: 0 auto;
}

.mobile-top-bg {
  margin-top: 120px;
  height: calc(100vh - 120px);
  object-fit: cover;
}

#main-buttons .blockchain-content .items .item {
  width: 290px;
  height: 130px;
}

#main-buttons .blockchain-content .items .item:not(:last-child) {
  margin-right: 13px;
}

.c.blockchain .blockchain-content {
  overflow-x: auto;
}

.c.blockchain .blockchain-content-inner.items-length-4 {
  width: 1270px;
}

.module-theme-400 .c.blockchain .blockchain-content .items .item {
  background-color: #000;
}

.module-theme-400 .c.blockchain .blockchain-content .items .item .as-headline {
  color: #fff;
}

.module-theme-400 .c.blockchain .blockchain-content .items .item.is-active,
.module-theme-400 .c.blockchain .blockchain-content .items .item:hover {
  background-color: #dd0000;
}

.module-theme-400 .c.blockchain .blockchain-content .items .item.is-active .as-headline,
.module-theme-400 .c.blockchain .blockchain-content .items .item:hover .as-headline {
  background-color: #dd0000;
  color: #fff;
}

#about-kb .c.teaser-standard {
  padding: 72px;
}

#about-kb body.messe-theme-dark .module-theme-100 p.t.as-copy {
  font-size: 18px;
  line-height: 1.555;
  color: #000000;
}

#about-kb h2.t.generic-teaser-headline.as-headline {
  font-size: 34px;
  font-weight: bold;
}

#about-kb img {
  width: 600px;
  height: 320px;
}

#main-mid-search {
  padding: 46px;
  background-image: url('/assets/images/main/bg-search-products-exhibitors.jpg');
}

#main-mid-search .t.as-headline {
  font-size: 34px;
  font-weight: bold;
  line-height: 41px;
  margin-bottom: 0;
}

#main-mid-search .c.search.header {
  padding-top: 27px;
  background: none;
}

.c.textbox:not(.align-left) header:first-of-type {
  margin-bottom: 0.4rem;
}

.c.sponsors.component-node.module-theme-400 {
  padding-bottom: 0;
}

.sponsor-image-child.dropshadow-child {
  display: flex;
  justify-content: center;
  align-items: center;
}

.sponsor-image-child picture.o.picture {
  background-color: #fff;
  width: 200px;
  max-height: 200px;
  height: calc((100vw - 100px) / 2);
}

.sponsor-image-child picture.o.picture > img {
  object-fit: contain;
  width: 200px;
  max-height: 200px;
  height: calc((100vw - 100px) / 2);
}

.sponsor-image.product-image picture.o.picture > img {
  width: calc(1162px / 4 - 1.5rem);
  height: calc(1162px / 4 - 1.5rem);
  object-fit: cover;
}

.header-link {
  color: #dd0000;
}

.header-link::after {
  content: '\f30b';
  font-family: 'Font Awesome 5 Free';
  font-weight: 600;
  padding-left: 3px;
}

.c.sponsors.component-node .pos-relative > .header-link {
  position: absolute;
  right: 0;
  top: 20px;
}

.c.sponsors.component-node .pos-relative > .header-link > a {
  font-size: 1rem;
  font-weight: 500;
}

#main-request-for-quotation {
  padding: 46px;
  display: flex;
  justify-content: center;
  align-items: center;
}

#main-request-for-quotation .grid-container {
  padding-left: 0;
  padding-right: 0;
  width: 1100px;
}

#main-request-for-quotation > div.o.background.as-image {
  background-image: url('/assets/images/main/bg-request-for-quotation.jpg');
}

#main-request-for-quotation h2.as-headline.o.figure {
  font-size: 34px;
  font-weight: bold;
  margin-bottom: 31px;
  margin-top: 0.8rem !important;
}

#main-request-for-quotation h3.as-headline {
  font-size: 24px;
  font-weight: 400;
  margin-bottom: 12px;
}

#main-request-for-quotation p.as-copy {
  font-size: 18px;
  font-weight: 300;
}

#main-request-for-quotation form button {
  margin-top: 28px;
}

#main-request-for-quotation form button span.as-main {
  display: block;
  cursor: pointer;
}

#main-request-for-quotation form button span.topic-label {
  font-size: 18px;
  font-weight: 300;
  display: block;
  margin: 6px 17px;
}

#main-request-for-quotation form button span.topic-label::after {
  content: '\f054';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  padding-left: 12px;
}

#main-request-for-quotation label.error {
  color: #fff;
  margin-left: 0;
}

#main-newsletter {
  padding: 46px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#main-newsletter header h1 {
  font-size: 34px;
  font-weight: bold;
  color: #000;
  margin-top: 32px;
  margin-bottom: 15px;
  line-height: 1.2;
}

#main-newsletter header h2 {
  font-size: 24px;
  color: #777;
  margin-bottom: 38px;
  font-weight: normal;
  line-height: 1.2;
}

#main-newsletter .c.search.bar .search-bar-field input {
  height: 56px;
}

#main-newsletter .cell.textbox-footer {
  margin-bottom: 20px;
}

.subscribe-button {
  font-weight: 600;
}

.main-about {
  line-height: 1.4 !important;
  margin-bottom: 5px;
  height: 295px;
}

@media print, screen and (max-width: 64em) {
  .main-about {
    height: auto;
  }
  /* .sponsor-image-child picture.o.picture {
    background-color: #fff;
    width: 200px;
    max-height: 200px;
    height: calc((100vw - 100px) / 3);
  }

  .sponsor-image-child picture.o.picture > img {
    object-fit: contain;
    width: 200px;
    max-height: 200px;
    height: calc((100vw - 100px) / 3);
  } */

  .main-biggest-banner {
    max-height: 656px;
  }

  .main-biggest-banner-wrapper {
    height: 600px;
    margin-top: 56px;
  }

  .main-biggest-banner iframe.main-youtube {
    width: 1166px;
    height: 656px;
    margin-left: calc(((1166px - 100vw) / 2) * -1);
  }

  .tiles-stage-stage-wrapper {
    height: 600px;
  }

  .mobile-top-bg {
    margin-top: 56px;
    height: 600px;
  }

  .tiles-stage-stage-wrapper .t.c.textbox.topline {
    padding-top: 70px;
    font-size: 32px;
  }

  .tiles-stage-stage-wrapper .t.c.textbox.headline {
    font-size: 80px;
  }

  section#main-buttons {
    bottom: 20px;
  }

  #main-buttons .blockchain-content .items .item {
    width: 210px;
    height: 94px;
  }

  .c.blockchain .blockchain-content-inner.items-length-4 {
    width: 941px;
  }

  #main-request-for-quotation p.as-copy {
    margin-bottom: 1rem;
  }

  #main-request-for-quotation > div.o.background.as-image {
    background-position: center left;
  }

  .t.set-200-regular {
    font-size: 15px;
    line-height: 1.3;
  }
}

@media print, screen and (max-width: 40em) {
  .o.header .header-link {
    top: 28px;
  }

  .main-biggest-banner {
    max-height: 400px;
  }

  .main-biggest-banner-wrapper {
    height: 345px;
    margin-top: 56px;
  }

  .main-biggest-banner iframe.main-youtube {
    width: 862px;
    height: 485px;
    margin-left: calc(((862px - 100vw) / 2) * -1);
  }

  .tiles-stage-stage-wrapper {
    height: 578px;
  }

  .mobile-top-bg {
    height: 578px;
  }

  .tiles-stage-stage-wrapper .t.c.textbox.topline {
    padding-top: 70px;
    font-size: 20px;
    font-weight: 400;
    padding-top: 6rem;
  }

  .tiles-stage-stage-wrapper .t.c.textbox.headline {
    font-size: 64px;
    padding-top: 20px;
  }

  section#main-buttons {
    position: absolute;
    bottom: 0;
  }

  #main-buttons .blockchain-content-inner.items-length-4 {
    width: 100%;
  }

  #main-buttons .blockchain-content .items {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  #main-buttons .blockchain-content .items .item {
    width: calc(50% - 5px);
    margin-right: 0 !important;
    margin-bottom: 10px;
    margin-top: 0px;
  }

  #about-kb {
    padding-top: 45px;
  }

  #main-mid-search .grid-container {
    padding-left: 0;
    padding-right: 0;
  }

  #main-mid-search .c.search.header {
    padding-top: 0;
  }

  #main-mid-search .c.search.bar.as-type-normal .search-bar-field > input {
    padding-top: 12px;
    padding-bottom: 12px;
    height: auto;
  }

  #main-request-for-quotation,
  #main-mid-search,
  #main-newsletter {
    padding: 3rem 1.5rem;
  }

  section.c.sponsors.component-node.module-theme-400 h1.t.as-headline,
  #about-kb h2.t.generic-teaser-headline.as-headline,
  #main-request-for-quotation h2.as-headline.o.figure,
  #main-mid-search h1.t.as-headline,
  #main-newsletter h1.as-headline {
    font-size: 28px;
  }

  #main-request-for-quotation h3.as-headline {
    font-size: 20px;
  }

  #main-request-for-quotation p.as-copy,
  #main-newsletter h2.as-copy {
    font-size: 16px;
    font-weight: 400;
  }

  #main-newsletter {
    padding-left: 0;
    padding-right: 0;
  }

  #main-newsletter h1,
  #main-newsletter h2 {
    text-align: left;
  }

  #newsletterEmail {
    font-size: 18px;
  }

  #main-newsletter .subscribe-button {
    padding: 16px;
    font-size: 18px;
    font-weight: 400;
  }

  #main-newsletter header h1 {
    margin-top: 0;
  }

  #main-newsletter .cell.textbox-footer {
    margin-bottom: 0;
  }

  .c.sponsors.component-node .pos-relative > .header-link {
    position: initial;
    width: 100%;
    text-align: right;
  }
}

@media print, screen and (min-width: 64em) {
  .t.set-100-bold {
    font-size: 1.4rem;
    line-height: 1.8rem;
  }
}

.module-theme-400 .c.blockchain .blockchain-content .items .item.as-vertical-center.set-emphasis {
  background-color: #dd0000;
}

/* about */
.grid-container {
  padding-left: 4px;
  padding-right: 4px;
}

.about-kbuild section {
  margin-top: 55px;
}

.about-kbuild section h2 {
  font-size: 40px;
  line-height: 1.2;
  color: #000;
  font-weight: 600;
  margin-bottom: 22px;
}

.about-kbuild section p,
.about-kbuild section span {
  color: #555555;
  font-size: 18px;
  font-weight: 400;
  display: block;
}

.about-kbuild .feature-cards {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 60px;
}

.about-kbuild .feature-cards > li {
  width: calc((100% - 60px) / 3);
}

.feature-cards h3 {
  font-size: 26px;
  line-height: 1.25;
  font-weight: 500;
  margin-bottom: 23px;
}

.section-content {
  margin-top: 28px;
}

@media print, screen and (max-width: 64em) {
  .grid-container {
    padding-left: 30px;
    padding-right: 30px;
  }

  .about-kbuild .feature-cards > li {
    width: 100%;
    display: flex;
    margin-bottom: 14px;
  }

  .about-kbuild .feature-cards > li:nth-child(2) {
    flex-direction: row-reverse;
  }

  .about-kbuild .feature-cards > li > .section-image-wrap {
    flex-shrink: 0;
  }

  .section-image-wrap > img {
    width: 34vw;
  }

  .about-kbuild .feature-cards > li > .section-content {
    margin-top: 0;
    padding: 0 16px;
  }

  .about-kbuild .feature-cards > li > .section-content p,
  .about-kbuild .feature-cards > li > .section-content span {
    font-size: 15px;
  }
}

@media print, screen and (max-width: 40em) {
  .top-image {
    margin-left: -30px;
    margin-right: -30px;
    width: calc(100% + 60px);
    height: 30vh;
  }

  .top-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .about-kbuild section h2 {
    font-size: 30px;
  }

  .about-kbuild section p,
  .about-kbuild section span {
    font-size: 15px;
  }

  .about-kbuild .feature-cards > li {
    display: block;
  }

  .section-image-wrap > img {
    width: 100%;
  }

  .about-kbuild .feature-cards > li > .section-content {
    margin-top: 20px;
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 30px;
  }

  .feature-cards h3 {
    font-size: 22px;
  }
}

/* zoom support */
#support-block ul.support-list {
  padding-left: 2rem;
}

#support-block .support-list {
  list-style-type: disc;
  list-style: disc;
  padding: auto;
  margin: auto;
}

#support-block {
  display: flex;
  justify-content: center;
  align-items: center;
}

#support-block > div {
  border: 2px solid #999;
  padding: 0 20px;
  margin-top: 50px;
  background-color: #eee;
  padding-bottom: 20px;
}

#support-block .title {
  font-size: 1.3rem;
  font-weight: 600;
  padding: 10px;
  text-align: center;
}
