:root {
  --primary-color: #FF6A13;
  --primary-gradient: linear-gradient(180deg, rgba(209, 70, 4, 1) 50%, rgba(231, 158, 86, 1) 100%);
  --secondary-color: #512D6D;
  --secondary-gradient: linear-gradient(180deg, rgb(75, 42, 104, 1) 50%, rgba(147, 118, 172, 1) 100%);
  --tertiary-color: #161830;
  --tertiary-gradient: linear-gradient(180deg, rgba(48, 55, 81, 1) 50%, rgba(146, 183, 219, 1) 100%);
}

/* roboto-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  src: url('../webfonts/roboto-v51-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-300italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 300;
  src: url('../webfonts/roboto-v51-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('../webfonts/roboto-v51-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  src: url('../webfonts/roboto-v51-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('../webfonts/roboto-v51-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 700;
  src: url('../webfonts/roboto-v51-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* Default */

body {
	font-family: 'Roboto', sans-serif;
  background-color: #efefef;
  color: #161830;
}

.wp-block-columns {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
  max-width: 1440px;
  margin-bottom: 0;
}

.wp-block-columns.has-background {
  border-radius: 30px;
  padding: 75px 60px;
  max-width: 1410px;
}

.wp-block-group {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
  max-width: 1440px;
  margin-bottom: 0;
}

.wp-block-group.has-background {
  border-radius: 30px;
  padding: 30px 15px 0 15px;
  max-width: 1410px;
}

.wp-block-group.has-background .wp-block-columns {
  padding: 0;
}

/* Header */

header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  padding: 14px 0;
  background-color: #ffffff;
  z-index: 999;
  transition: all 0.3s;
}

header .header_inner {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: center;
}

header .logo img {
  width: 200px;
}

header .logo img.logo_white {
  display: none;
}

header:has(+ main.primary) .logo img.logo_white {
  display: block;
}

header:has(+ main.primary) .logo img.logo_primary {
  display: none;
}

header:has(+ main.primary).scrollstate .logo img.logo_white {
  display: none;
}

header:has(+ main.primary).scrollstate .logo img.logo_primary {
  display: block;
}

header .navigation ul {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 30px;  
}

header .navigation ul li {
  display: inline-block;
  list-style: none;
}

header .navigation ul li a {
  display: block;
  color: var(--tertiary-color);
  font-size: 18px;
  transition: all 0.3s;
}

header .navigation ul li a:hover {
  color: var(--secondary-color);
  opacity: 0.8;
  text-decoration: none;
}

header .navigation ul li.current_page_item a {
  color: var(--secondary-color);
  font-weight: 700;
}

header .navigation ul li.button a {
  padding: 10px 15px;
  background-color: var(--tertiary-color);
  color: #ffffff;
  transition: all 0.3s;
}

header .navigation ul li.button a:hover {
  background-color: var(--primary-color);
  text-decoration: none;
}

header .navigation ul li.button.current_page_item a {
  font-weight: 400;
  background-color: var(--primary-color);
}

header .mobile_nav_headline {
  display: none;
  justify-content: space-between;
  text-transform: uppercase;
  background-color: var(--tertiary-color);
  color: #ffffff;
  padding: 10px;
  cursor: pointer;
  font-size: 22px;
  align-items: center;
}

header .mobile_nav_headline i {
  color: var(--primary-color);
}

header .mobile_nav_open {
  display: none;
  cursor: pointer;
  font-size: 25px;
}

header:has(+ main > section.hero) {
  position: fixed;
}

header:not(.scrollstate):has(+ main > section.hero) {
  background: none;
  color: #ffffff;
}

header:not(.scrollstate):has(+ main > section.hero) a,
header:not(.scrollstate):has(+ main > section.hero) a:hover,
header:not(.scrollstate):has(+ main > section.hero) .navigation ul li.current_page_item a {
  color: #ffffff;
}

header:not(.scrollstate):has(+ main > section.hero) a.button {
  background-color: #ffffff;
  color: var(--tertiary-color);
}

header:not(.scrollstate):has(+ main > section.hero) a.button:hover,
header:not(.scrollstate):has(+ main > section.hero) a.button.active {
  color: #ffffff;
  background-color: var(--primary-color);
}

/* Button */

.wp-block-column section.button {
  margin: 0 -15px;
}

a.button {
  display: inline-block;
  padding: 10px 15px;
  background-color: var(--tertiary-color);
  color: #ffffff;
  font-size: 18px;
  transition: all 0.3s;  
}

a.button:hover {
  background-color: var(--primary-color);
  text-decoration: none;
}

a.button.active {
  background-color: var(--primary-color);
  text-decoration: none;  
}

a.button.inverted,
.has-background a.button {
  background-color: #ffffff;
  color: var(--tertiary-color);
}

a.button.inverted:hover,
.has-background a.button:hover {
  background-color: var(--primary-color);
  color: #ffffff;
}

/* Hero */

section.hero {
  padding: 200px 0 150px 0;
  color: #ffffff;
  font-size: 20px;
  position: relative;
}

section.hero img.texture {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom center;
  z-index: 1;  
}

main.primary section.hero {
  background: var(--primary-gradient);
}

main.secondary section.hero {
  background: var(--secondary-gradient);
}

main.tertiary section.hero {
  background: var(--tertiary-gradient);
}

main.primary section.hero img.texture_primary {
  display: block;
}

main.secondary section.hero img.texture_secondary {
  display: block;
}

main.tertiary section.hero img.texture_tertiary {
  display: block;
}

section.hero .container {
  position: relative;
  z-index: 2;
}

section.hero h1 {
  font-size: 48px;
}

main.primary section.hero a.button:hover {
  background-color: var(--secondary-color)
}

/* Logos */

section.logos .logos_wrapper {
  display: flex;
  flex-wrap: wrap;
  padding: 75px;
  gap: 50px;
  background-color: #ffffff;
  border-radius: 30px;
}

section.logos .logos_wrapper img {
  width: calc(25% - 38px);
  height: 150px;
  padding: 15px;
  object-fit: contain;
  object-position: center;
}

/* Teaser */

.wp-block-group.has-background section.teaser {
  margin: 0 -15px;
}

section.teaser .teaser_single {
  margin-bottom: 30px;
  flex: 1 1 320px;
}

section.teaser .teaser_single .teaser_inner {
  border-radius: 30px;
  padding: 30px;
  color: #ffffff;
  height: 100%;
  position: relative;
}

section.teaser .teaser_single.primary .teaser_inner {
  background: var(--primary-gradient);
}

section.teaser .teaser_single.secondary .teaser_inner {
  background: var(--secondary-gradient);
}

section.teaser .teaser_single.tertiary .teaser_inner {
  background: var(--tertiary-gradient);
}

section.teaser .teaser_single .teaser_inner img.texture {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom center;
  border-radius: 30px;
  z-index: 1;  
}

section.teaser .teaser_single .teaser_inner .teaser_icon {
  margin-bottom: 30px;
  position: relative;
  z-index: 2;
}

section.teaser .teaser_single .teaser_inner .teaser_icon img {
  height: 90px;
  max-width: 100%;
}

section.teaser .teaser_single .teaser_inner .teaser_info {
  position: relative;
  z-index: 2;
}

section.teaser .teaser_single .teaser_inner .teaser_info strong {
  display: block;
  line-height: 1.1;
  font-size: 30px;
  font-weight: 400;
  margin-bottom: 15px;
}

section.teaser .teaser_single .teaser_inner .teaser_info p {
  font-size: 18px;
  margin-bottom: 15px;
}

section.teaser .teaser_single.primary .teaser_inner a.button:hover {
  background: var(--secondary-color);
}

/* Alternator */

section.alternator .alternator_inner {
  padding: 30px;
  border-radius: 30px;
  background-color: var(--tertiary-color);
  color: #ffffff;
  font-size: 18px;
}

section.alternator .alternator_inner .introduction {
  text-align: center;
  margin: 0 auto 50px auto;
  width: 750px;
  max-width: 100%;
}

section.alternator .alternator_inner .alternator_single {
  margin-bottom: 30px;
}

section.alternator .alternator_inner .alternator_single:last-child {
  margin-bottom: 0;
}

section.alternator .alternator_inner .alternator_single:nth-child(odd) {
  flex-direction: row-reverse;
}

section.alternator .alternator_inner .alternator_single .alternator_image img {
  width: 100%;
  object-fit: cover;
  object-position: center;
  aspect-ratio: 1/1;
}

section.alternator .alternator_inner .alternator_single .alternator_text {
  padding: 75px;
}

/* Stringslider */

section.stringslider {
  margin: -20px 0;
}

.wp-block-column section.stringslider {
  margin: -20px -15px;
}

section.stringslider strong {
  display: block;
  font-weight: 400;
  font-size: 30px;
  transition: all 0.3s;
  margin: 20px 0;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;  
}

section.stringslider .slick-current {
  opacity: 1;
}

section.stringslider .slick-current + .slick-slide {
  opacity: 0.8;
}

section.stringslider .slick-current + .slick-slide + .slick-slide {
  opacity: 0.6;
}

section.stringslider .slick-current + .slick-slide + .slick-slide + .slick-slide {
  opacity: 0.4;
}

section.stringslider .slick-current + .slick-slide + .slick-slide + .slick-slide + .slick-slide {
  opacity: 0.2;
}

section.stringslider .stringslider_inner {
  position: relative;
  padding-left: 50px;
}

section.stringslider .slick-dots {
  position: absolute;
  left: 0;
  top: 0;
  margin: 0;
  padding: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

section.stringslider .slick-dots:not(:has(li:nth-child(2))) {
  display: none;
}

section.stringslider .slick-dots li {
  list-style: none;
  margin: 5px 0;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  background-color: currentColor;
  opacity: 0.6;
  cursor: pointer;
  transition: all 0.3s;
}

section.stringslider .slick-dots li:hover,
section.stringslider .slick-dots li.slick-active {
  opacity: 1;
}

section.stringslider .slick-dots li button {
  display: none;
}


/* Treadmill */

section.treadmill .treadmill_wrapper {
  display: flex;
  gap: 30px;
  overflow: hidden;
  user-select: none;
  padding: 15px 0 10px 0;
}

section.treadmill .treadmill_inner {
  animation: scroll 25s linear infinite;
  display: flex;
  flex-shrink: 0;
  gap: 30px;
  justify-content: space-around;
  min-width: 100%;  
}

section.treadmill .treadmill_inner strong {
  font-size: 100px;
  text-transform: uppercase;
  font-weight: 400;
  line-height: 1;
}

section.treadmill .treadmill_inner strong span {
  display: inline-block;
  margin-right: 30px;
}

@keyframes scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc(-100% - 5vw));
  }
}

/* Scrollsection */

section.scrollsection .scrollsection_inner {
  background-color: var(--tertiary-color);
  color: #ffffff;
  border-radius: 30px;
  font-size: 18px;
  position: relative;
}

section.scrollsection .scrollsection_inner .slick-dots {
  position: absolute;
  left: 30px;
  top: 0;
  margin: 0;
  padding: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

section.scrollsection .scrollsection_inner .slick-dots:not(:has(li:nth-child(2))) {
  display: none;
}

section.scrollsection .scrollsection_inner .slick-dots li {
  list-style: none;
  margin: 5px 0;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  background-color: #ffffff;
  opacity: 0.8;
  cursor: pointer;
  transition: all 0.3s;
}

section.scrollsection .scrollsection_inner .slick-dots li:hover,
section.scrollsection .scrollsection_inner .slick-dots li.slick-active {
  opacity: 1;
}

section.scrollsection .scrollsection_inner .slick-dots li button {
  display: none;
}

section.scrollsection .scrollsection_inner .slick-track {
  display: flex;
  align-items: stretch;  
}

section.scrollsection .scrollsection_inner .section_single {
  height: inherit;
}

section.scrollsection .scrollsection_inner .scrollsection_image img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  object-position: center;
  border-top-right-radius: 30px;
  border-bottom-right-radius: 30px;
}

section.scrollsection .scrollsection_inner .scrollsection_text {
  padding: 75px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

section.scrollsection .scrollsection_inner .scrollsection_text:has(a.button) {
  display: block;
}

/* Text */

.wp-block-column section.text {
  margin: 0 -15px;
}

section.text {
  font-size: 18px;
}

section.text.text_large {
  font-size: 30px;
}

section.text.text_large strong {
  font-size: 56px;
  font-weight: 400;
  display: block;
  line-height: 1.3;
}

section.text a {
  color: var(--primary-color);
}

section.text ol {
  margin: 0;
  padding: 0;
  counter-reset: item;
}

section.text ol li {
  padding: 30px 0 30px 75px;
  position: relative;
  border-bottom: 1px solid currentColor;
  list-style: none;
  counter-increment: item;
}

ol li::before {
  content: counter(item, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: calc(50% - 20px);
  font-size: 40px;
  line-height: 1;
}

section.text ol li:first-child {
  padding-top: 0;
}

section.text ol li:first-child::before {
  top: calc(50% - 35px);
}

section.text ol li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

section.text ol li:last-child::before {
  top: calc(50% - 5px);
}

/* Contact */

section.contact .contact_inner {
  padding: 50px 50px 20px 50px;
  border-radius: 30px;
  background-color: #ffffff;
  font-size: 18px;
}

section.contact .info_half {
  margin-bottom: 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

section.contact p {
  width: 500px;
  max-width: 100%;
  margin-bottom: 30px;
}

section.contact span {
  display: block;
  margin-bottom: 8px;  
}

section.contact span i,
section.contact span a i {
  color: var(--primary-color);
}

section.contact span a {
  color: #000000;
  transition: all 0.3s;
  text-decoration: none;
}

section.contact span a:hover {
  opacity: 0.6;
}

section.contact .formfield {
  margin-bottom: 15px;
}

section.contact .formfield p {
  width: 100%;
  margin: 0;
}

section.contact .formfield .wpcf7-list-item {
  margin: 0;
}

section.contact .formfield span.wpcf7-list-item-label {
  display: inline-block;
  margin: 0;
}

section.contact .formfield input,
section.contact .formfield textarea,
section.contact .formfield select {
  width: 100%;
  padding: 10px;
  border: 1px solid #000000;
  outline: none;
}

section.contact .formfield select {
  appearance: none;
  cursor: pointer;
  background-image: url('/wp-content/themes/itn/assets/img/chevron-down-solid.svg');
  background-size: 15px;
  background-repeat: no-repeat;
  background-position: calc(100% - 15px) center;
  color: var(--secondary-color);
}

section.contact .formfield textarea {
  height: 200px;
}

section.contact .formfield input[type="checkbox"] {
  width: auto;
  display: inline-block;
  margin-right: 5px;
}

section.contact .formfield input[type="submit"] {
  width: auto;
  background-color: var(--tertiary-color);
  color: #ffffff;
  transition: all 0.3s;
  border: none;
  font-size: 18px;
}

section.contact .formfield input[type="submit"]:hover {
  background-color: var(--primary-color);
}


section.contact .formfield p .wpcf7-acceptance label {
  padding-left: 0;
  font-size: 14px;
}

.wpcf7-spinner {
  display: none;
}

/* CTA */

section.cta .cta_inner {
  color: #ffffff;
  padding: 75px;
  border-radius: 30px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  font-size: 20px;
  gap: 300px;
  position: relative;
}

section.cta .cta_inner img.texture {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom center;
  border-radius: 30px;
  z-index: 1;  
}

section.cta .cta_inner img.texture + * {
  z-index: 2;
  position: relative;
}

section.cta .cta_inner.primary {
  background: var(--primary-gradient);  
}

section.cta .cta_inner.secondary {
  background: var(--secondary-gradient);  
}

section.cta .cta_inner.tertiary {
  background: var(--tertiary-gradient);  
}

section.cta .cta_inner h2 {
  margin-bottom: 50px;
}

section.cta .cta_inner a.button {
  white-space: nowrap;
  z-index: 2;
  position: relative;
}

section.cta .cta_inner.primary a.button:hover {
  background-color: var(--secondary-color); 
}

/* Accordion */

.wp-block-column section.accordion {
  margin: 0 -15px;
}

section.accordion .accordion_single {
  padding: 30px 0 30px 0;
  position: relative;
  border-bottom: 1px solid currentColor;
}

section.accordion .accordion_single:first-child {
  padding-top: 0;
}

section.accordion .accordion_single:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

section.accordion .accordion_single .accordion_title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  cursor: pointer;
}

section.accordion .accordion_single .accordion_title i {
  font-size: 30px;
}

section.accordion .accordion_single .accordion_content {
  display: none;
  padding-top: 15px;
}

/* Footer */

footer {
  padding: 100px 0;
  color: #ffffff;
  position: relative;
  background: var(--tertiary-gradient);
}

footer img.texture {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom center;
  z-index: 1;
}

main:not(.primary, .secondary) + footer img.texture_tertiary {
  display: block;
}

footer .container {
  position: relative;
  z-index: 2;
}

main.primary + footer {
  background: var(--primary-gradient);
}

main.secondary + footer {
  background: var(--secondary-gradient);
}

main.tertiary + footer {
  background: var(--tertiary-gradient);
}

main.primary + footer img.texture_primary {
  display: block;
}

main.secondary + footer img.texture_secondary {
  display: block;
}

main.tertiary + footer img.texture_tertiary {
  display: block;
}

footer a:not(.button, .logo) {
  color: #ffffff;
  transition: all 0.3s;
}

footer a:not(.button, .logo):hover {
  color: #ffffff;
  opacity: 0.6;
  text-decoration: none;
}

footer ul {
  margin: 0;
  padding: 0;
}

footer ul li {
  display: block;
  list-style: none;
  margin-bottom: 15px;
}

footer .footer_inner {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 50px;
}

footer .footer_inner strong.headline {
  font-size: 22px;
  font-weight: 400;
  display: block;
  margin-bottom: 30px;
}

footer .footer_cta {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 50px;
  align-items: center; 
  flex-wrap: wrap;
}

footer .footer_cta a.logo img {
  width: 200px;
}

footer a.button {
  white-space: nowrap;
}

footer a.backlink {
  font-size: 14px;
}

main.primary + footer a.button:hover {
  background-color: var(--secondary-color)
}

/* Responsive */

@media only screen and (max-width: 1400px) {

  header .navigation {
    position: fixed;
    top: 0;
    right: -100%;
    height: 100vh;
    background-color: #ffffff;
    width: 500px;
    max-width: 80vw;
    box-shadow: -5px 0px 15px 5px rgba(0,0,0,0.1);    
    transition: all 0.3s;
  }

  header .navigation.open {
    right: 0;
  }

  header .navigation ul {
    flex-direction: column;
    gap: 0;
  }

  header .navigation ul li {
    display: block;
    width: 100%;
  }

  header .navigation ul li a,
  header:not(.scrollstate):has(+ main > section.hero) .navigation a {
    color: #000000;
    display: block;
    width: 100%;
    border-bottom: 1px solid #efefef;
    padding: 10px;
  }

  header:not(.scrollstate):has(+ main > section.hero) .navigation a:hover,
  header:not(.scrollstate):has(+ main > section.hero) .navigation ul li.current_page_item a {
    color: var(--secondary-color);
  }

  header .mobile_nav_open {
    display: block;
  }

  header .mobile_nav_headline {
    display: flex;
  }

  header .header_inner {
    justify-content: initial;
  }

  header a.button {
    margin-left: auto;
  }

  section.cta .cta_inner {
    gap: 30px;
  }

}

@media only screen and (max-width: 1199px) {

  footer .footer_inner {
    flex-wrap: wrap;
  }

  .wp-block-columns {
    max-width: 960px;
  }  

  .wp-block-columns.has-background,
  .wp-block-group.has-background {
    max-width: 930px;
  }  

  section.alternator .alternator_inner .alternator_single .alternator_text {
    padding: 50px;
  }

}

@media only screen and (max-width: 991px) {

  .wp-block-columns:not(.is-not-stacked-on-mobile) {
      flex-direction: column;
  }

  .reverse_columns {
    flex-direction: column-reverse !important;
  }

  section.scrollsection .scrollsection_inner .section_single {
    flex-direction: column;
    justify-content: space-between;
  }

  section.cta .cta_inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .wp-block-columns {
    max-width: 720px;
  }  

  .wp-block-columns.has-background,
  .wp-block-group.has-background {
    max-width: 690px;
  }

  section.text.text_large strong {
    font-size: 46px;
  }

  section.text.text_large {
    font-size: 28px;
  }

  section.hero h1 {
    font-size: 45px;
  }

  section.treadmill .treadmill_inner strong {
    font-size: 90px;
  }

  section.scrollsection .scrollsection_inner .scrollsection_image img {
    border-top-right-radius: 0;
    border-bottom-left-radius: 30px;
    height: 100%;
  }

  section.scrollsection .scrollsection_inner .slick-dots {
    flex-direction: row;
    justify-content: center;
    width: 100%;
    height: auto;
    gap: 10px;
    left: 0;
    top: 15px;
  }

  section.logos .logos_wrapper {
    padding: 50px;
  }

  section.logos .logos_wrapper img {
    width: calc(33.33% - 33.33px);
  }

  section.alternator .alternator_inner .alternator_single .alternator_text {
    padding: 15px;
  }

}

@media only screen and (max-width: 767px) {

  .wp-block-columns {
    max-width: 540px;
  }  

  .wp-block-columns.has-background,
  .wp-block-group.has-background {
    max-width: 510px;
    padding: 50px 35px;
  }  

  section.text.text_large strong {
    font-size: 40px;
  }  

  section.text.text_large {
    font-size: 25px;
  } 

  section.hero h1 {
    font-size: 40px;
  }

  section.treadmill .treadmill_inner strong {
    font-size: 75px;
  }  

  section.scrollsection .scrollsection_inner .scrollsection_text {
    padding: 50px;
  } 

  .wp-block-spacer {
    max-height: 75px;
  }

  section.logos .logos_wrapper {
    padding: 30px;
    gap: 30px;
  }

  section.logos .logos_wrapper img {
    width: calc(50% - 25px);
  } 

  section.cta .cta_inner {
    padding: 50px;
  } 

}

@media only screen and (max-width: 565px) {

  h1,
  h2,
  h3,
  h4 {
    hyphens: auto;
  }

  section.teaser .teaser_single .teaser_inner .teaser_info strong {
    hyphens: auto;
  }

  header a.button {
    display: none;
  }

  header .header_inner {
    justify-content: space-between;
  }  

  footer .footer_inner {
    justify-content: initial;
  }

  footer .footer_inner .footer_column {
    width: calc(50% - 15px);
  }

  section.text.text_large strong {
    font-size: 36px;
  }  

  section.text.text_large {
    font-size: 22px;
  }  

  section.teaser .teaser_single {
    flex: 100%;
  }

  section.hero h1 {
    font-size: 36px;
  }

  section.treadmill .treadmill_inner strong {
    font-size: 60px;
  }  

  section.scrollsection .scrollsection_inner .scrollsection_text {
    padding: 50px 30px 30px 30px;
  }

  .wp-block-spacer {
    max-height: 50px;
  }  

  section.cta .cta_inner {
    padding: 30px 15px;
  }   

  section.cta .cta_inner h2 {
    margin-bottom: 25px;
  }

  section.contact .contact_inner {
    padding: 30px 15px 15px 15px
  }

  section.alternator .alternator_inner {
    padding: 30px 15px;
  }

  section.teaser .teaser_single .teaser_inner {
    padding: 30px 15px;
  }

  header .logo img {
    width: 150px;
  }

  .wp-block-columns.has-background,
  .wp-block-group.has-background {
    padding: 30px 15px;
    max-width: 100%;
  }  

}