/*!
Theme Name: multicash
Theme URI: http://multi-cash.at/
Author: Paschinger, Design- und Entwicklungsbüro
Author URI: https://www.martinpaschinger.com
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: multicash
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- k.A.
# Utilities
	- k.A.

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
:root {
  --text-2xl: 7.5rem;
  --text-xl: 4.5rem;
  --text-lg: 2.625rem;
  --text-md: 1.5rem;
  --text-base: 1rem;
  --text-sm: 1rem;
  --primary-color: #213a8f;
  --secondary-color: #b2c1d9;
  --background-color: #ffffff;
  --color-burned-orange: #eb5e50;
  --color-lilac: #c7a6cf;
  --color-lime: #c5c741;
}

@font-face {
  font-family: "PPMori-SemiBold";
  font-weight: normal;
  font-style: normal;
  src: url("./assets/fonts/pp-mori/PPMori-SemiBold.otf") format("opentype");
}

@font-face {
  font-family: "PPMori-Regular";
  font-weight: normal;
  font-style: normal;
  src: url("./assets/fonts/pp-mori/PPMori-Regular.otf") format("opentype");
}

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
  color: var(--primary-color);
  font-family: "PPMori-Regular", sans-serif;
  font-size: var(--text-base);
  line-height: 140%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
  font-weight: normal;
  font-style: normal;
}

h1 {
  font-family: "PPMori-Regular", sans-serif;
  font-size: var(--text-2xl);
  line-height: 115%;
}

strong.developing,
strong.producing,
strong.software-engineering {
  font-family: "PPMori-Regular", sans-serif;
}

h1.bold {
  font-family: "PPMori-SemiBold", sans-serif;
}

strong {
  font-family: "PPMori-SemiBold", sans-serif;
  font-weight: normal;
  font-style: normal;
}

.home h1 {
  font-size: var(--text-xl);
}

.page .entry-title h1 {
  font-size: var(--text-xl);
}

h2,
h3,
h4,
h5,
h6,
button,
input,
select,
textarea {
  font-family: "PPMori-Regular", sans-serif;
}

h2 {
  font-size: var(--text-xl);
  line-height: 120%;
}

h3 {
  font-size: var(text-lg);
  line-height: 130%;
}

h4 {
  font-size: var(text-md);
  line-height: 160%;
}

p {
  font-size: var(--text-base);
  line-height: 140%;
}

.site-footer p,
.site-footer a {
  font-size: var(--text-sm);
}

/* Elements
--------------------------------------------- */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  background: var(--background-color);
}

embed,
iframe,
object {
  max-width: 100%;
}

ul,
ol {
  list-style: none;
}

img {
  height: auto;
  max-width: 100%;
  width: 100%;
  display: block;
}

.site-header .divider {
  width: 100%;
  height: 0.0625rem;
  background: var(--primary-color);
  margin: 0 auto;
  position: relative;
}

.search-icon {
  width: var(--text-base);
  height: auto;
  display: block;
}

.lang-icon {
  width: var(--text-base);
  height: auto;
  display: block;
}

.language-label-w {
  background-color: var(--primary-color);
  color: var(--background-color);
  border-radius: 20rem;
  position: fixed;
  bottom: 1.125rem;
  right: 1.5625rem;
  z-index: 100;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.3rem 0.7rem;
  cursor: pointer;
	transition: all 0.4s ease-in-out;
}

.language-label-w:hover {
	transform: scale(1.05);
	background-color: #3a52a1;
}

.language-label-w button,
.language-label-w button:hover {
  color: var(--background-color);
}

.language-options {
  list-style: none;
  padding: 0;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: -3.8rem;
  left: 0;
  background-color: var(--background-color);
  border: 0.0625rem solid var(--primary-color);
  border-bottom: none;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
  width: 100%;
  transition: opacity 0.3s ease, visibility 0.3s ease,
    top 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.language-options.open {
  opacity: 1;
  visibility: visible;
  top: -4.2rem;
}

.language-options li {
  padding: 0px;
}

.language-options button {
  width: 100%;
  background: none;
  border: none;
  text-align: left;
  padding: 0.3rem 0.5rem;
  cursor: pointer;
  color: var(--primary-color);
  border-bottom: 0.0625rem solid var(--primary-color);
  line-height: 100%;
}

.language-options button span {
  display: inline-block;
  transform: translateY(0.1rem);
}

.language-options button:hover {
  background-color: var(--primary-color);
  color: var(--background-color);
}

.language-options[aria-hidden="false"] {
  display: block;
}

#language-display {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

#selected-language {
  transform: translateY(0.1rem);
}

.remove-pt {
  padding-top: 0rem !important;
}

.divider-title {
  font-size: var(--text-lg);
  margin-left: 0.1rem;
}

.svg-container {
  width: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

/* .svg-container svg {
  transform: translateY(-1.5rem);
} */

.svg-container img {
  width: 6.55rem;
  height: auto;
	padding: 0.8rem 0rem 0.4rem 0rem;
}

.col-product-title {
  width: 100%;
  height: 2.6rem;
  display: flex;
  justify-content: center;
  align-items: center;
  word-wrap: break-word;
  white-space: normal;
  background: var(--background-color);
}

.col-product-title strong {
  max-width: 5.5rem;
  line-height: 1.2;
  word-wrap: break-word;
  white-space: normal;
}

/* Marquee
--------------------------------------------- */
.marquee-w {
  width: 100vw;
  height: auto;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 10;
  overflow: hidden;
  white-space: nowrap;
  border-top: 0.0625rem solid var(--primary-color);
  border-bottom: 0.0625rem solid var(--primary-color);
  padding: 0.4rem 0;
}

.marquee {
  display: inline-block;
  will-change: transform;
}

/* Accordion
--------------------------------------------- */
.accordion {
  width: 100%;
  margin: 2.5rem auto;
  border-radius: 6px;
}

.accordion-item {
  width: 100%;
  min-height: 12.325rem;
}

.accordion-button {
  width: 100%;
  text-align: left;
  color: var(--primary-color);
  border: 0;
  padding: 0.625rem 0rem;
  font-size: var(--text-md);
  cursor: pointer;
  border-radius: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
	position: relative;
	overflow: visible;
}

.accordion-button .divider {
	width: 0%;
	height: 1px;
	background-color: var(--primary-color);
	position: absolute;
	top: 1px;
	left: 0;
}

.tab-content .accordion-button .divider {

	background-color: var(--background-color);

}

.accordion-button:focus {
  color: var(--primary-color);
}

.tab-content .accordion-button {
  color: var(--background-color);
  border-top-color: var(--background-color);
}

.tab-content .accordion-button:focus {
  color: var(--background-color);
  border-top-color: var(--background-color);
}

.accordion-panel {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height 400ms ease, opacity 400ms ease-in-out;
  padding: 0;
  border-radius: 0;
  margin-top: 0rem;
}

.accordion-panel-inner {
  padding: 0 0;
}

.is-open .accordion-panel {
  max-height: 240rem;
  opacity: 1;
}

.accordion-icon {
  margin-left: 1rem;
  flex-shrink: 0;
	width: 1rem;
	height: 1rem;
	    display: flex;
    justify-content: center;
    align-items: center;
	margin-top: -3px;
	margin-right: -1px;
}

.accordion-icon {
  transition: transform 0.4s;
}

.accordion-button:hover .accordion-icon {
	transform: rotate(180deg);
}

/* wenn geöffnet */
.is-open .accordion-icon {
  transform: rotate(180deg);
}

/* UND das Symbol selbst ändern */
.is-open .accordion-icon::after {
  content: "-";
	transform: translateY(1px);
}

.accordion-icon::after {
    content: "+";
    height: 0;
    line-height: 0;
    display: block;
	    transform: translateY(1px);
}
/* Links
--------------------------------------------- */
a {
  color: var(--primary-color);
  text-decoration: none;
}

a:visited {
  color: var(--primary-color);
}

a:hover,
a:focus,
a:active {
  color: var(--primary-color);
}

a:focus {
  outline: thin dotted;
}

a:hover,
a:active {
  outline: 0;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0, 0, 0, 0);
  overflow: hidden;
}

.link {
  text-decoration: underline;
	transition: opacity 0.4s ease-in-out;
}

.link:hover {
	opacity: 0.65;
}

.primary-btn {
  background-color: var(--background-color);
  border: 0.0625rem solid var(--background-color);
  color: var(--primary-color);
  padding: 0.5rem 1.5625rem 0.4rem 1.5625rem;
  border-radius: 5rem;
  /*font-size: var(--text-md);*/
	font-size: var(--text-base);
	display: inline-block;
	transition: all 0.4s ease-in-out;
}

.primary-btn:hover {
	transform: scale(1.05);
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  border: none;
  background: transparent;
  color: var(--primary-color);
  cursor: pointer;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  background: transparent;
  color: var(--primary-color);
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
  background: transparent;
  color: var(--background-color);
}

.site-header button:active,
.site-header button:focus {
  color: var(--primary-color);
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
  width: 100%;
  /*font-size: var(--text-md);*/
	font-size: var(--text-base);
  color: var(--primary-color);
  background-color: transparent;
  border: none;
  border-top: 0.063 solid var(--background-color);
  padding: 1rem 2rem 1rem 0rem;
  border-top: 0.0625rem solid var(--background-color);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
  color: var(--background-color);
}

input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="url"]::placeholder,
input[type="password"]::placeholder,
input[type="search"]::placeholder,
input[type="number"]::placeholder,
input[type="tel"]::placeholder,
input[type="range"]::placeholder,
input[type="date"]::placeholder,
input[type="month"]::placeholder,
input[type="week"]::placeholder,
input[type="time"]::placeholder,
input[type="datetime"]::placeholder,
input[type="datetime-local"]::placeholder,
input[type="color"]::placeholder,
textarea::placeholder {
  color: var(--background-color); /* Hier kannst du deine Farbe einsetzen */
  opacity: 1; /* Optional: Standardmäßig ist Placeholder oft leicht transparent */
}

select {
  border: 0.0625rem solid var(--primary-color);
}

textarea {
  width: 100%;
}

.searchform-w.solutions-nav-menu {
  width: 50vw;
}

#searchform {
  width: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translateX(2.5rem);
}

#searchform input[type="text"] {
  width: 100%;
  font-size: var(--text-md);
  background-color: var(--background-color);
  border: 0.0625rem solid var(--primary-color);
  padding: 0.8rem 1.6rem;
  border-radius: 20rem;
  color: var(--primary-color);
}

#searchform input[type="text"]::placeholder {
  color: var(--primary-color);
}

#searchform button {
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--text-md);
  transform: translateX(-3.5rem);
}

#searchform button {
  color: var(--primary-clr);
}

#searchform button:hover,
#searchform button:focus,
#searchform button:active {
  color: var(--primary-clr);
}

.search-title.entry-title {
  text-align: center;
}

.page .search-title h1 {
  font-size: var(--text-2xl);
  padding-top: 3.75rem;
  margin-bottom: 0.625rem;
}

.page .search-title p {
  font-size: var(--text-md);
}

.search-content {
  width: 100%;
  position: relative;
  padding: 3.75rem 1.5625rem;
  text-align: center;
}

.search-content ul {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 1.5625rem 0.625rem;
  text-align: left;
}

.search-content ul li a {
  text-decoration: underline;
  text-underline-offset: 0.2rem;
}

.search-page {
  min-height: 100svh;
}

.search-page .entry-header {
  height: auto;
}

#sbp-svg {
  width: 100%;
  height: auto;
  position: absolute;
  bottom: -35vw;
  left: 0;
  z-index: 10;
  pointer-events: none;
  overflow: visible;
}

#sbp-svg text {
  font-size: var(--text-md);
  fill: var(--color-burned-orange);
}
/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
/* Startseite HEADER
--------------------------------------------- */
.entry-header {
  width: 100%;
  height: 100svh;
  position: relative;
}

.impressum-page .entry-header {
  height: auto;
}

.impressum-page {
  padding: 4.375rem 1.5625rem;
}

.home.page .entry-header .entry-title {
  width: 100%;
  margin: 0 auto;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  text-align: center;
  padding: 0 5rem;
}

.home.page .entry-header .entry-title h1 {
  color: var(--background-color);
  max-width: 70rem;
}

.entry-header .entry-title h1 strong {
  color: var(--primary-color);
}

.home .entry-header .hintergrund-bild {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  object-fit: cover;
  overflow: hidden;
}

.home .entry-header .hintergrund-bild img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hintergrund-video {
	position: relative;
	width: 100%;
	height: 100vh; /* oder gewünschte Höhe */
	overflow: hidden;
}

.video-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.developing svg {
  transform: translate(0.6rem, -0.5rem);
}

.producing svg {
  transform: translate(0.1rem, -0.4rem);
}

.software-engineering svg {
  transform: translate(0.3rem, -0.2rem);
}

.entry-header h1 strong svg {
  display: inline-block; /* sicherstellen, dass es als Block behandelt wird */
  vertical-align: middle; /* passt die Ausrichtung zur Textlinie an */
  width: 1em; /* Größe an Texthöhe anpassen */
  height: 1em;
}

/* Startseite SOLUTION DESCRIPTION
--------------------------------------------- */
.solution-description-w,
.solution-further-description-w {
  width: 100%;
  height: 100%;
  position: relative;
  padding: 4.375rem 1.5625rem;
	background-color: white;
}

.solution-further-description-w {
  padding-bottom: 7.2rem;
}

.solution-beschreibung-titel p {
  font-size: var(--text-lg);
  margin-bottom: 1.5625rem;
}

.solution-beschreibung-galerie {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  gap: 0rem;
  padding: 6.25rem 0;
}

.solution-beschreibung-galerie div {
  width: 50%;
  position: relative;
}

.solution-beschreibung-galerie > div:first-of-type {
  width: 50%;
  height: 100%;
  display: flex;
}

.solution-beschreibung-galerie div div {
  width: 33.3333%;
  position: relative;
  aspect-ratio: 3 / 4;
}

.solution-beschreibung-galerie div div:first-of-type {
  transform: rotate(-6deg) translateX(1.5625rem);
}

.solution-beschreibung-galerie div div:last-of-type {
  transform: rotate(-6deg);
  z-index: 1;
}

.solution-beschreibung-galerie div div:nth-child(2) {
  transform: rotate(6deg) translateY(3rem);
  z-index: 2;
}

.solution-beschreibung-galerie div div img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.solution-beschreibung-galerie-text {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  justify-content: center;
  padding-right: 8vw;
}

.home .solution-beschreibung-galerie-text {
  padding-left: 8vw;
  padding-right: 0vw;
}

/* Startseite CONTACT US
--------------------------------------------- */
.contact-us-w {
  width: 100%;
  height: 100%;
  position: relative;
  background-color: var(--primary-color);
  color: var(--background-color);
  padding: 5rem 5rem;
  margin-bottom: 5rem;
  display: flex;
}

.contact-us-w .contact-us-img {
  width: 50%;
  aspect-ratio: 5 / 4;
  position: relative;
}

.contact-us-w .contact-us-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.contact-us-w .contact-us-desc {
  width: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2.5rem;
  padding: 0rem 4rem 0rem 8rem;
}

.contact-us-w .contact-us-desc h2 {
  font-size: var(--text-lg);
}

.contact-us-desc > div:last-of-type {
  display: flex;
  flex-direction: column;
  gap: 1.5625rem;
  text-align: center;
}

/* Startseite SOLUTION CARDS
--------------------------------------------- */
.solution-cards-w {
  width: 100vw;
  height: 45rem;
  position: relative;
  z-index: 10;
}

.solution-card {
  width: calc(100vw - 8.75rem * 2);
  height: 35rem;
  overflow: hidden;
  position: relative;
  left: 0;
  right: 0;
  margin: 0 auto;
  background-color: var(--primary-color);
  color: var(--background-color);
  padding: 5rem;
  display: flex;
  flex-direction: column;
  gap: 4rem;
  border-radius: 0.625rem;
  margin-bottom: 6rem;
}

.solution-card-content .link {
	margin-top: 0.4rem;
	display: inline-block
}

.solution-card.smart-cash-handling {
  background-color: var(--color-burned-orange);
}

.solution-card.oem-solutions {
  background-color: var(--color-lilac);
}

.solution-card.customized-solutions {
  background-color: var(--color-lime);
}

.solution-card-content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.solution-card-content h2 {
  line-height: 1;
}

.solution-card-content h2 {
  font-family: "PPMori-SemiBold";
}

.solution-card-content a:visited,
.solution-card-content a {
  color: var(--background-color);
}

/* About HEADER
--------------------------------------------- */
.page-id-19 .entry-title,
.page-id-248 .entry-title{
  width: 100%;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 5rem;
  padding-top: 26vh;
}

.page-id-19 .entry-title h1,
.page-id-248 .entry-title h1 {
  text-align: center;
  max-width: 78.75rem;
}

.page-id-19 .entry-description-w,
.page-id-248 .entry-description-w {
  width: 100%;
  display: flex;
  justify-content: flex-end;
}

.page-id-19 .entry-description,
.page-id-248 .entry-description {
  width: 50%;
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 7rem;
}

.page-id-19 .entry-description p,
.page-id-248 .entry-description p {
  max-width: 28rem;
}

.page-id-19 .entry-content,
.page-id-248 .entry-content {
  overflow: hidden;
}

.team-mitglieder-w {
  width: calc(115vw);
  height: 100%;
  position: relative;
  overflow: hidden;
  padding-left: calc(1.5625rem - 0.3125rem);
}

.team-mitglieder-w:first-of-type {
  margin-top: 13rem;
}

.team-member {
  padding: 0 calc(0.625rem / 2);
}

.team-mitglieder-w h2,
.solution-description-w.alt h2,
.offene-stellen-w h2 {
  font-size: var(--text-lg);
  margin-left: 0.1rem;
}

.team-member-portrait {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 3.8;
  overflow: hidden;
  margin-bottom: 0.525rem;
}

.team-member-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.alt .solution-beschreibung-galerie {
  flex-direction: row-reverse;
}

.alt .solution-beschreibung-galerie div div:last-of-type {
  transform: rotate(-3deg) translateX(-0.6125rem);
}

/* About OFFENE STELLEN
--------------------------------------------- */
.offene-stellen-w {
  width: 100%;
  position: relative;
  padding: 7.5rem 1.5625rem;
  padding-top: 2rem;
  display: flex;
  gap: 1.5625rem;
}

.offene-stellen-w div {
  width: 50%;
  position: relative;
}

.offene-stellen-liste {
  margin-top: -0.1rem;
  line-height: 140%;
}

/* About CONTACT
--------------------------------------------- */
.contact-form-w {
  width: calc(100vw - 2.625rem);
  position: relative;
  padding: 3.75rem;
  background-color: var(--color-lime);
  color: var(--background-color);
  margin: 0 auto;
  margin-bottom: 1.5625rem;
  border-radius: 0.625rem;
}

.contact-form-w h2 {
  font-size: var(--text-2xl);
}

.inner-contact-form-w {
  padding-top: 3.75rem;
  position: relative;
}

.mc-contact-form {
  width: 100%;
  display: flex;
  gap: 4.375rem;
}

.left-contact-form {
  width: 33.3333%;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.5625rem;
}

.right-contact-form {
  width: 66.6666%;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.5625rem;
}

.left-contact-form span,
.right-contact-form span {
  width: 100%;
  display: inline-block;
}

.wpcf7-form a {
  color: var(--background-color) !important;
}

.wpcf7-submit {
  /*font-size: var(--text-md);*/
	font-size: var(--text-base);
  border-radius: 50rem;
  /*padding: 0.8rem 2.5rem;*/
	padding: 0.8rem 2rem 0.7rem 2rem;
  background-color: var(--background-color) !important;
  color: var(--color-lime) !important;
	transition: all 0.4s ease-in-out;
}

.wpcf7-submit:hover {
  transform: scale(1.05);
}

.wpcf7-spinner {
  display: none;
}

.wpcf7-list-item {
  margin: 0;
}

input[type="checkbox"] {
  width: 1.5rem;
  height: 1.5rem;
  transform: translateY(0.1rem);
  border: 0.0625rem solid var(--background-color);
}

.cta-contact-form {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 4.375rem;
}

.cta-contact-form div {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.wpcf7-not-valid-tip {
  color: var(--background-color) !important;
}

/* Digitalisierung HEADER
--------------------------------------------- */
.entry-header.digitisierung {
  width: 100%;
  height: 100svh;
  position: relative;
  display: flex;
	justify-content: space-between;
  gap: 5rem;
  padding: 1.5625rem;
  /*padding-top: calc(6.25rem + 3.75rem);*/
}

.entry-header.digitisierung .entry-title {
  width: 66.6666%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.entry-header.digitisierung .hintergrund-bild {
  width: auto;
  height: calc(100% - 3.1rem);
	aspect-ratio: 4 / 5;
  /*aspect-ratio: 3.4 / 4;*/
}

.page-id-17 .entry-header.digitisierung .hintergrund-bild {
	aspect-ratio: 4 / 5;
  /*aspect-ratio: 1 / 1.4;*/
}

.entry-header.digitisierung .hintergrund-bild img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.entry-header.solutions .entry-title {
  height: calc(100% - 1.5625rem);
}

.entry-header.solutions .entry-title h1 {
  font-size: var(--text-2xl);
  transform: translateY(-0.9rem);
  color: var(--primary-color);
}

.smart-cash-handling .entry-header.solutions .entry-title h1 {
  color: var(--color-burned-orange);
}

.oem-solutions .entry-header.solutions .entry-title h1 {
  color: var(--color-lilac);
}

.customized-solutions .entry-header.solutions .entry-title h1 {
  color: var(--color-lime);
}

.entry-header.solutions .entry-title p {
  width: 50%;
  transform: translateY(0.3rem);
}

.entry-header.solutions .hintergrund-bild {
  height: calc(100% - 0.625rem);
}

/* Digitalisierung Wie wir arbeiten
--------------------------------------------- */

.wie-wir-arbeiten-w {
  width: 100%;
  position: relative;
  padding: 4.375rem 1.5625rem;
}

.wie-wir-arbeiten-w h2 {
  font-size: var(--text-lg);
}

.wie-wir-arbeiten-w .accordion {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 0.625rem;
}

/* Solutions
--------------------------------------------- */
.solutions-tabs {
  padding: 4.375rem 1.5625rem;
}
.tabs-w {
  width: 100%;
  position: relative;
  border-radius: 0.625rem;
}

.tabs-w .tabs {
  display: flex;
  gap: 0.0625rem;
  margin-left: 3.75rem;
}

.tabs button {
  /*font-size: var(--text-md);*/
	font-size: var(--text-base);
  background-color: var(--color-burned-orange);
  color: var(--background-color);
  padding: 0.8rem 1.6rem;
  border-radius: 0.625rem 0.625rem 0 0;
}

.smart-cash-handling .tabs button.active {
  background-color: var(--color-burned-orange);
  z-index: 4;
}

.smart-cash-handling .tabs button {
  background-color: #f67e72;
  z-index: 1;
}

.oem-solutions .tabs button {
  background-color: #d4bdda;
}

.oem-solutions .tabs button:first-child {
  z-index: 3;
}

.oem-solutions .tabs button:nth-child(2) {
  z-index: 2;
}

.oem-solutions .tabs button:last-child {
  background-color: #e1d2e4;
  z-index: 1;
}

.oem-solutions .tabs button.active {
  background-color: var(--color-lilac);
  z-index: 4;
}

.customized-solutions .tabs button {
  background-color: var(--color-lime);
}

.tabs-w .tab-panels {
  padding: 4.5rem 3.75rem 1.2rem 3.75rem;
  background-color: var(--color-burned-orange);
  color: var(--background-color);
  border-radius: 0.625rem;
  position: relative;
  z-index: 5;
}

.smart-cash-handling .tabs-w .tab-panels {
  background-color: var(--color-burned-orange);
}

.oem-solutions .tabs-w .tab-panels {
  background-color: var(--color-lilac);
}

.customized-solutions .tabs-w .tab-panels {
  background-color: var(--color-lime);
}

.tabs-w button {
  color: var(--background-color);
}

.tab-btn {
  width: 314px;
  height: 66px;
  background: lightcoral;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg width='314' height='66' viewBox='0 0 314 66' xmlns='http://www.w3.org/2000/svg'><path d='M13 42C13 53.6 4.5 55 0 55V65.5H313.5V55.1036C300.7 55.1036 298.5 49.3355 296 45C292.167 36 283.7 16.0166 280.5 8.0829C277.3 0.149227 270 0 266.5 0H23.5C15.9 0 13.3333 7 13 10.5V42Z' /></svg>")
    center/contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg width='314' height='66' viewBox='0 0 314 66' xmlns='http://www.w3.org/2000/svg'><path d='M13 42C13 53.6 4.5 55 0 55V65.5H313.5V55.1036C300.7 55.1036 298.5 49.3355 296 45C292.167 36 283.7 16.0166 280.5 8.0829C277.3 0.149227 270 0 266.5 0H23.5C15.9 0 13.3333 7 13 10.5V42Z' /></svg>")
    center/contain no-repeat;
  border: none;
  cursor: pointer;
  color: white;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  transform: translateX(-10px) translateY(11px);
}

.tab-btn:not(:first-child) {
  margin-left: -30px;
}

.tab-btn span {
  position: relative;
  z-index: 2;
  transform: translate(6px, -4px);
}

.tab-header {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.5625rem;
}

.tab-header h2 {
  font-size: var(--text-lg);
}

.tab-header div {
  width: 50%;
}

.table-wrapper {
  overflow-x: auto; /* horizontales Scrollen aktiv */
}

.table-wrapper {
  overflow-x: auto; /* horizontales Scrollen aktiv */
}

.compare {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  min-width: 600px; /* für Scrollen */
}

.compare th,
.compare td {
  border: none;
  padding: 0.44rem;
  /*white-space: nowrap;*/
  text-align: center;
}

/* Sticky erste Spalte */
.compare th:first-child,
.compare td:first-child {
  width: 13rem;
  position: sticky;
  left: 0;
  background: var(--background-color);
  color: var(--primary-color);
  z-index: 2;
  font-size: var(--text-base);
  line-height: 1.1;
  text-align: left;
  padding-left: 0.8rem;
  white-space: normal;
	transform: translatex(1px);
}

.hide-border {
  opacity: 0 !important;
  visibility: hidden !important;
  border: none !important;
}

thead tr th {
  border-top: 0.0625rem solid var(--primary-color) !important;
  /*border-bottom: 0.0625rem solid var(--primary-color) !important;*/
  background-color: var(--background-color);
  color: var(--primary-color);
}

thead .add-flex {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;
}

thead tr th:nth-child(2) {
  border-top-left-radius: 0.625rem;
  border-left: 0.0625rem solid var(--primary-color) !important;
}

thead tr th:last-child {
  border-top-right-radius: 0.625rem;
  border-right: 0.0625rem solid var(--primary-color) !important;
}

tbody tr:first-child th {
  border-top-left-radius: 0.625rem;
  border-top: 0.0625rem solid var(--primary-color) !important;
}

tbody tr th {
  border-left: 0.0625rem solid var(--primary-color) !important;
  border-right: 0.0625rem solid var(--primary-color) !important;
}

tbody tr:last-child th {
  border-bottom-left-radius: 0.625rem;
  border-bottom: 0.0625rem solid var(--primary-color) !important;
}

tbody tr td {
  background-color: var(--background-color);
  color: var(--primary-color);
}


tbody tr:first-of-type td {
  border-top: 0.0625rem solid var(--primary-color) !important;
}

tbody tr td:nth-child(2) {
  /*border-left: 0.0625rem solid var(--primary-color) !important;*/
}

tbody tr td:last-child {
  border-right: 0.0625rem solid var(--primary-color) !important;
}

tbody tr:last-child td {
  border-bottom: 0.0625rem solid var(--primary-color) !important;
}

tbody tr:last-child td:last-child {
  border-bottom-right-radius: 0.625rem;
}

/* Produkt Detailseite
--------------------------------------------- */
.solution-menu-padding {
  padding-top: calc(8.125rem + 3.375rem) !important;
}

.product-detail-page .entry-header {
  width: 100%;
  height: 100svh;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.product-detail-page .entry-header div {
  /*width: 50%;*/
  position: relative;
}

.entry-header-product-img {
  /*width: 100%;*/
	width: auto;
  height: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 4.375rem;
	aspect-ratio: 4 / 5;
}

.entry-header-product-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.entry-header-product-text {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0rem;
  padding-right: 4.375rem;
}

.entry-header-product-text h1 {
  font-size: var(--text-2xl);
}

.smart-cash-handling .entry-header-product-text h1 {
  color: var(--color-burned-orange);
}

.oem-solutions .entry-header-product-text h1 {
  color: var(--color-lilac);
}

.customized-solutions .entry-header-product-text h1 {
  color: var(--color-lime);
}

.entry-header-product-text h2 {
  font-size: var(--text-lg);
  margin-bottom: 1.5625rem;
}

.product-detail-page .entry-content {
  width: 100%;
  position: relative;
  padding: 0rem;
  padding-bottom: 0rem;
}

.product-detail-page .accordion-item {
  min-height: unset;
  padding-bottom: 1.625rem;
}

.accordion-panel-inner {
  padding-top: 0rem;
}

.product-downloads,
.product-details,
.product-galerie h3 {
  padding: 0rem 5rem;
}

.product-details .accordion-panel-inner {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.625rem;
}

.product-details .accordion-panel-inner div {
  width: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.5625rem;
}

.swiper-gallery {
  width: 100%;
  height: calc(30vw + 2.4rem);
  padding-left: calc(5rem - 0.3125rem);
  padding-right: calc(5rem - 0.3125rem);
	padding-bottom: 2.4rem;
}

.swiper-gallery .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0.3125rem;
}

.swiper-gallery .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.swiper-gallery .swiper-slide.is-portrait {
  width: calc(27.66666% - 0.625rem);
}

.swiper-gallery .swiper-slide.is-landscape {
  width: calc(44.6666666% - 0.625rem);
}

.swiper-pagination-custom {
	width: 100vw;
	padding: 0.6rem 1.5625rem 0rem 1.5625rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	z-index: 30;
}

.accordion-panel-inner .swiper-pagination-custom {
	width: 100%;
	padding: 1rem 0.3rem 1rem 0.3rem;
}

.accordion-panel-inner .swiper-pagination-custom button {
	background-color: transparent;
}

.swiper-pagination-custom svg {
	cursor: pointer;
}

.swiper-pagination-custom button:focus,
.swiper-pagination-custom button:active {
  color: inherit;        /* verhindert weißes Icon */
}

.swiper-pagination-custom button {
  background: none;
  border: 0;
  padding: 0;
  color: inherit;
  cursor: pointer;
  display: inline-flex;
	    background: #ffffff;
	border-radius: 1rem;
	    padding: 0.6rem;
	position: relative;
}

.swiper-button-prev-custom {
	left: -0.6rem;
}

.swiper-button-next-custom {
	right: -0.6rem;
}

/* SVG smooth machen */
.swiper-pagination-custom button svg {
	width: 28px;
	height: auto;
	display: block;
  transition: transform 0.6s ease;
}

/* Vorwärts-Button → nach rechts */
.swiper-button-next-custom:hover svg {
  animation: slideRight 0.6s ease;
}

/* Zurück-Button → nach links */
.swiper-button-prev-custom:hover svg {
  animation: slideLeft 0.6s ease;
}

@keyframes slideRight {
  0%   { transform: translateX(0); }
  40%  { transform: translateX(0.5rem); }
  100% { transform: translateX(0); }
}

@keyframes slideLeft {
  0%   { transform: translateX(0); }
  40%  { transform: translateX(-0.5rem); }
  100% { transform: translateX(0); }
}

/* Impressum
--------------------------------------------- */
.impressum-page h1,
.impressum-page h2,
.impressum-page h3,
.impressum-page p {
  font-size: var(--text-md);
}

.impressum-page p {
  margin-bottom: 3rem;
}

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/* Solutions Menu
--------------------------------------------- */
.solutions-nav-menu {
  width: auto;
  height: auto;
  position: fixed;
  top: 5.4rem;
  right: 0;
  z-index: 10;
  padding-right: 1.5625rem;
  display: flex;
  gap: 0.625rem;
}

.solutions-nav-menu .primary-btn.smart-cash-handling {
  border-color: var(--color-burned-orange);
  color: var(--color-burned-orange);
}

.solutions-nav-menu .primary-btn.smart-cash-handling:hover,
.solutions-nav-menu .primary-btn.smart-cash-handling.active {
  background-color: var(--color-burned-orange);
  color: var(--background-color);
}

.solutions-nav-menu .primary-btn.oem-solutions {
  border-color: var(--color-lilac);
  color: var(--color-lilac);
}

.solutions-nav-menu .primary-btn.oem-solutions:hover,
.solutions-nav-menu .primary-btn.oem-solutions.active {
  background-color: var(--color-lilac);
  color: var(--background-color);
}

.solutions-nav-menu .primary-btn.customized-solutions {
  border-color: var(--color-lime);
  color: var(--color-lime);
}

.solutions-nav-menu .primary-btn.customized-solutions:hover,
.solutions-nav-menu .primary-btn.customized-solutions.active {
  background-color: var(--color-lime);
  color: var(--background-color);
}

/* Ähnlche Produkte
--------------------------------------------- */
.similar-products-w {
  width: 100%;
  height: 100%;
  position: relative;
  padding: 4.375rem 1.5625rem;
  padding-top: 0;
}

.single .similar-products-w {
  padding-top: 0;
}

.similar-products-w h2 {
  font-size: var(--text-lg);
  margin-bottom: 0.625rem;
}

.similar-products-w .similar-products-container {
  width: 100%;
  height: 100%;
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  gap: 0.625rem;
}

.similar-product-item {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 0.625rem;
}

.similar-product-item-img {
  width: 100%;
  height: auto;
  /*aspect-ratio: 3 / 3.8;*/
	aspect-ratio: 4 / 5;
overflow: hidden;
}

.similar-product-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.similar-product-item a {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0.625rem;
}

.similar-product-item p {
  color: var(--color-burned-orange);
}

.smart-cash-handling .similar-product-item p {
  color: var(--color-burned-orange);
}

.oem-solutions .similar-product-item p {
  color: var(--color-lilac);
}

.customized-solutions .similar-product-item p {
  color: var(--color-lime);
}

.referenzen-w {
  width: 100%;
  height: 100%;
  position: relative;
  padding: 4.375rem 1.5625rem;
}

.referenzen-w h2 {
  margin-bottom: 0.625rem;
}

.referenzen-w .refernzen-container {
  width: 100%;
  height: 100%;
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 5rem 0.625rem;
}

.referenz-item {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0.625rem;
}

.referenz-item-img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 3.5;
  overflow: hidden;
}

.referenz-item:nth-child(2n) .referenz-item-img {
  aspect-ratio: 3.5 / 3;
}

.referenz-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.referenz-item a {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.625rem;
}

/* Labels
--------------------------------------------- */
.labels-w {
  width: 100%;
  height: auto;
  position: relative;
  display: flex;
  gap: 0.625rem;
}

.labels-w .label {
	transition: all 0.4s ease-in-out;
}

.labels-w .label:hover {
	transform: scale(1.05);
	background-color: var(--background-color);
}

.smart-cash-handling .label:hover {
	color: var(--color-burned-orange);
}

.oem-solutions .label:hover {
	color: var(--color-lilac);
}

.customized-solutions .label:hover {
	color: var(--color-lime);
}

.label {
  /*font-size: var(--text-md);*/
	font-size: var(--text-base);
  color: var(--background-color);
  padding: 0.45rem 1.5625rem 0.35rem 1.5625rem;
  border: 0.0625rem solid var(--background-color);
  border-radius: 20rem;
  display: inline-block;
}

.label span {
  display: inline-block;
  line-height: 1;
  transform: translateY(0.05rem);
}

/* Navigation
--------------------------------------------- */
.site-header {
  width: 100%;
  background: var(--background-color);
  padding: 1.125rem 1.5625rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5625rem;
  position: fixed;
  z-index: 100;
}

.site-header .divider {
  width: calc(100% - 3.125rem);
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}

.site-header button.menu-toggle {
  text-transform: uppercase;
  transform: translateY(0.06rem);
}

.header-right {
  display: flex;
  align-items: center;
  gap: 1.5625rem;
}

.menu-menu-1-container,
.menu-menu-1-en-container {
  width: 29.6875rem;
  position: fixed;
  top: 3.6rem;
  right: -0.0625rem;
  transform: translateX(100%);
  z-index: 101;
  background: var(--background-color);
  border: 0.0625rem solid var(--primary-color);
  border-bottom: none;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.admin-bar .menu-menu-1-container,
.admin-bar .menu-menu-1-en-container {
  top: 5.58rem;
}

.menu-menu-1-container ul li a,
.menu-menu-1-en-container ul li a {
  width: 100%;
  display: block;
  font-size: var(--text-md);
  padding: 1.5625rem 1.5625rem;
  border-bottom: 0.0625rem solid var(--primary-color);
	transition: all 0.3s ease-in-out;
}

.menu-menu-1-container ul li a:hover,
.menu-menu-1-en-container ul li a:hover {
  background-color: var(--primary-color);
	color: var(--background-color);
}

.menu-menu-1-container .sub-menu li a,
.menu-menu-1-en-container .sub-menu li a {
  padding-left: 3.125rem;
}

.menu-menu-1-container .sub-menu li a::before,
.menu-menu-1-en-container .sub-menu li a::before {
  content: "+";
  display: inline-block;
  width: 1rem;
  height: 1rem;
  margin-right: 0.1rem;
}

.main-navigation.toggled .menu-menu-1-container,
.main-navigation.toggled .menu-menu-1-en-container {
  transform: translateX(0);
}

/* Footer
--------------------------------------------- */
.site-footer {
  position: relative;
  background-color: var(--secondary-color);
  color: var(--primary-color);
}

.site-logo svg {
  width: 100%;
  height: auto;
  display: block;
  margin-top: -7vw;
}

.site-info {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.5625rem;
  padding: 3.125rem 1.5625rem;
}

.site-info-contact-details div {
  display: flex;
  gap: 3.125rem;
}

.site-info-media-legal div {
  display: flex;
  gap: 3.125rem;
}

.site-info-media-legal a:first-of-type svg {
  width: 1rem;
  height: auto;
  display: block;
}

.site-info-media-legal a:last-of-type svg {
  width: 1.4rem;
  height: auto;
  display: block;
}

.site-info-media-legal div {
  gap: 1.5625rem;
  padding-bottom: 1.3625rem;
}

.page-id-17 .entry-header.digitisierung .hintergrund-bild {
    /*min-width: 520px;*/
}

.search-toggle {
	transition: transform 0.4s ease-in-out;
}

.search-toggle:hover {
	transform: scale(1.15);
}

/* GSAP Animation */


.entry-title h1 { opacity: 0; }

.entry-title strong > svg { opacity: 0; display:inline-block; vertical-align:-0.15em; }
.entry-title .word { opacity: 0; display:inline-block; }

.entry-header-product-text .word { opacity: 0; display:inline-block; }

.entry-header-product-text,
.post-19 .entry-description p,
.entry-header-product-img img,
.digitisierung .hintergrund-bild img,
.digitisierung .entry-title p {
	opacity: 0;
}

.solution-beschreibung-galerie img {
  display: block;
}

.video-mobile {
	display: none;
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: transparent;
    padding: 0;
    margin: 0;
    padding-top: 1rem;
}

/* max-width: 1640px */
@media (max-width: 1640px) {
  .entry-header.digitisierung .entry-title {
    width: 60%;
  }

  .entry-header.digitisierung .hintergrund-bild {
    /*width: 40%;
    aspect-ratio: unset;*/
  }
	
	.page-id-17 .entry-header.digitisierung .hintergrund-bild {
		width: unset;
    	min-width: unset;
	}
}

/* max-width: 1300px */
@media (max-width: 1300px) {
	.compare th,
.compare td {
  white-space: nowrap;
}
	
	tbody tr:first-of-type td {
		white-space: unset;
	}
	
  /* Startseite */
  .solution-card {
    height: 34rem;
    width: calc(100vw - 1.5625rem * 2);
    padding: 3.625rem;
    gap: 2.625rem;
  }

  /* Solutions */
  .contact-form-w h2,
  .entry-header-product-text h1,
  .entry-header.solutions .entry-title h1 {
    font-size: 6.5rem;
    line-height: 1;
    transform: translateY(0);
  }

  h1,
  h2,
  .page .entry-title h1 {
    font-size: 3.5rem;
  }

  .entry-header.solutions .entry-title p {
    width: 100%;
  }

  .tabs-w .tab-panels {
    padding: 3.5rem 2.75rem 0.2rem 2.75rem;
    background-color: var(--color-burned-orange);
    color: var(--background-color);
    border-radius: 0.625rem;
  }

  .contact-us-w .contact-us-desc {
    padding: 0rem 0rem 0rem 4rem;
  }

  .wie-wir-arbeiten-w {
    padding-bottom: 0rem;
  }

  .svg-container img {
    width: 4.55rem;
  }
}

/* max-width: 1023px */
@media (max-width: 1023px) {
	
	.referenzen-w .refernzen-container {
    grid-template-columns: 1fr 1fr;
    gap: 2rem 0.625rem;
}
	
	
	
	.compare th:first-child,
.compare td:first-child {
  width: 8rem;
}
	
	/* Sticky erste Spalte */
.compare th:first-child,
.compare td:first-child {
	transform: translatex(0px);
}
	
	thead tr th:nth-child(2) {
    transform: translateX(-1px);
}
	
	.compare th, .compare td {
    transform: translateX(-1px);
}
	
  .tab-btn {
    width: 238px;
    height: 55px;
  }

  .tabs-w .tabs {
    margin-left: 2.75rem;
  }

  .contact-form-w h2,
  .entry-header-product-text h1,
  .entry-header.solutions .entry-title h1 {
    font-size: 3.5rem;
  }

  h2,
  .page .entry-title h1 {
    font-size: 2.625rem;
  }

  .entry-header-product-text h2,
  .similar-products-w h2,
  .solution-beschreibung-titel p {
    font-size: 2rem;
  }

  .entry-header-product-text h2 {
    margin-top: 1.25rem;
  }

  .contact-us-w {
    padding: 1.5625rem;
    margin-bottom: 3rem;
  }

  .contact-us-w .contact-us-desc h2 {
    font-size: 1.5rem;
  }

      .primary-btn {
        padding: 0.4rem 0.8rem 0.35rem 0.8rem;
    }

  #searchform button,
  #searchform input[type="text"],
  .accordion-button,
  .primary-btn,
  .tabs button {
    font-size: 1.2rem;
  }
	
	#searchform input[type="text"],
	.primary-btn,
	.tabs button {
    font-size: 1rem;
  }

  #searchform button {
    transform: translateX(-2.8rem);
  }

  #searchform input[type="text"] {
    padding: 0.4rem 0.8rem;
  }

  .team-mitglieder-w h2,
  .solution-description-w.alt h2,
  .offene-stellen-w h2,
  .tab-header h2 {
    font-size: 1.8rem;
  }

  .tabs-w .tab-panels {
    padding: 1.625rem 1rem 1rem 1rem;
  }
	
	.tabs-w .accordion {
		margin-bottom: 1rem;
	}

  .product-downloads,
  .product-details,
  .product-galerie h3 {
    padding: 0rem 1.625rem;
  }

  .swiper-gallery {
    width: 100%;
    height: 30vw;
    padding-left: calc(1.625rem - 0.3125rem);
    padding-right: calc(1.625rem - 0.3125rem);
  }

  .entry-header.digitisierung {
    height: auto;
    flex-direction: column;
    justify-content: flex-start;
    gap: 1.5625rem;
    padding: 2.313rem 1.5625rem;
  }

  .entry-header.digitisierung .entry-title {
    width: 100%;
    height: auto;
  }

  .entry-header.digitisierung .hintergrund-bild {
    width: auto;
    height: 100%;
	  aspect-ratio: 4 / 5;
    /*aspect-ratio: 1 / 1.3;*/
    overflow: hidden;
  }

  .page-id-19 .entry-description {
    padding-right: 1.5625rem;
  }

  .contact-form-w {
    padding: 3rem;
  }

  .inner-contact-form-w {
    padding-top: 3rem;
  }

  .mc-contact-form {
    gap: 1.5625rem;
  }

  .svg-container img {
    width: 4.55rem;
  }
}

/* max-width: 767px */
@media (max-width: 767px) {
	.video-desktop {
		display: none;
	}
	.video-mobile {
		display: block;
	}
	
		.referenzen-w .refernzen-container {
    grid-template-columns: 1fr;
    gap: 1.5rem;
}
	.swiper-gallery .swiper-slide img {
    display: block;
    width: auto;
    height: 100%;
    object-fit: unset;
}
	
	.entry-header-product-text {
		padding-right: 0;
	}
	
	.swiper-pagination-custom {
    padding: 0.3rem 1rem 0rem 1rem;
}
	
	.swiper-pagination-custom button svg {
    width: 24px;
}
	
	.developing svg {
    transform: translate(0.3rem, -0.2rem);
}
	
	.producing svg {
    transform: translate(0rem, -0.2rem);
}
	
	.software-engineering svg {
    transform: translate(0.1rem, -0.1rem);
}
	
	.site-header {
    padding: 1.125rem 1rem;
}
	
	.site-header .divider {
    width: calc(100% - 2rem);
}
	
  h1,
  h2,
  .page .entry-title h1 {
    font-size: 2rem;
  }

  #searchform {
    width: 100%;
    justify-content: flex-start;
    align-items: center;
    transform: translateX(1rem);
  }

  .searchform-w.solutions-nav-menu {
    width: 100%;
  }

  .solutions-nav-menu {
    padding-right: 0.8625rem;
  }

  .search-content ul {
    grid-template-columns: 1fr 1fr;
    gap: 1.5625rem 0.625rem;
  }

  .header-right {
    gap: 1rem;
  }

  .wie-wir-arbeiten-w h2,
  h2,
  .page .entry-title h1 {
    font-size: 1.35rem;
  }

  .entry-header-product-text h2,
  .similar-products-w h2,
  .solution-beschreibung-titel p {
    font-size: 1.15rem;
  }

  .menu-menu-1-container,
  .menu-menu-1-en-container {
    width: calc(100% + 0.0625rem);
	  top: 3.5rem;
  }

  .menu-menu-1-container ul li a,
  .menu-menu-1-en-container ul li a {
    font-size: 1rem;
    padding: 1rem 1.5625rem;
  }

  .home.page .entry-header .entry-title {
    width: 100%;
    padding: 0 1rem;
  }

  .solution-beschreibung-galerie {
    padding: 2.5rem 0;
  }

  .solution-card {
    height: auto;
    width: calc(100vw - 1rem * 2);
    padding: 1.5625rem;
    gap: 1.5625rem;
  }

  .solution-card-content {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
  }

  .solution-description-w,
  .solution-further-description-w {
    width: 100%;
    padding: 2.5rem 1rem 1rem 1rem;
  }

  .label {
    font-size: 1rem;
    padding: 0.4rem 0.8rem;
  }

  #searchform button,
  #searchform input[type="text"],
  .accordion-button,
  .primary-btn,
  .tabs button {
    font-size: 1rem;
  }

  .solution-further-description-w {
    padding-top: 0rem;
    padding-bottom: 2.5rem;
	  margin-top: -6rem;
  }

  .solution-beschreibung-galerie div div:first-of-type {
    transform: rotate(-6deg) translateX(0.5625rem);
  }

  .solution-beschreibung-galerie {
    padding: 2.5rem 0;
    flex-direction: column;
    gap: 5rem;
  }

  .solution-beschreibung-galerie > div:first-of-type {
    width: 100%;
    height: 100%;
    display: flex;
  }

  .home .solution-beschreibung-galerie-text {
    padding-left: 0;
    padding-right: 0;
  }

  .solution-beschreibung-galerie div {
    width: 100%;
    position: relative;
  }

  .contact-us-w .contact-us-desc {
    width: 100%;
    padding: 1.5rem 0rem 0rem 0rem;
  }

  .contact-us-w .contact-us-img {
    width: 100%;
    aspect-ratio: 5 / 4;
    position: relative;
  }

  .contact-us-w {
    padding: 1.5625rem 1rem;
    margin-bottom: 1.5625rem;
    flex-direction: column;
  }

  .site-info {
    justify-content: flex-start;
    flex-direction: column;
    padding: 1.5625rem 1rem;
  }

  .site-info-contact-details div {
    display: flex;
    flex-direction: column;
    gap: 1.5625rem;
  }

  .solutions-nav-menu {
    top: 5rem;
    gap: 0.425rem;
    flex-wrap: wrap;
    justify-content: flex-end;
  }

  .solution-menu-padding {
    padding-top: calc(2.125rem + 3.375rem) !important;
  }

	.marquee-w {
		background-color: white;
	}
  .entry-header.digitisierung .entry-title {
    gap: 1.2rem;
  }

  .entry-header.digitisierung {
    padding: 1.5625rem 1rem;
  }

  .solutions-tabs {
    padding: 1.5625rem 1rem;
  }
	
	.similar-products-w {
		padding: 2.375rem 1rem;
	}

  .tabs button {
    padding: 0.4rem 0.8rem;
  }

  .tabs-w .tabs {
    margin-left: 1rem;
  }

  .tab-header {
    flex-direction: column;
  }

  .tab-header div {
    width: 100%;
  }

  .similar-products-w .similar-products-container {
    width: 100%;
    height: 100%;
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.625rem;
  }

  .product-detail-page .entry-header {
    width: 100%;
    height: auto;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 1.5625rem 1rem;
    padding-bottom: 0;
  }
	
	.product-downloads, .product-details, .product-galerie h3 {
        padding: 0rem 1rem;
    }

  .product-detail-page .entry-header div {
    width: 100%;
    position: relative;
    /*aspect-ratio: 1 / 1;*/
  }
	
	    .swiper-gallery {
        height: 35vw;
        padding-left: calc(1rem - 0.3125rem);
        padding-right: calc(1rem - 0.3125rem);
    }

  .entry-header-product-img {
    margin-right: 0;
    margin-bottom: 1.5625rem;
	  aspect-ratio: 4 / 5;
  }

  .product-details .accordion-panel-inner {
    grid-template-columns: 1fr;
  }

  .swiper-gallery {
    height: 60vw;
  }

  .swiper-gallery .swiper-slide {
    width: auto;
  }

  .swiper-gallery .swiper-slide.is-portrait,
	.swiper-gallery .swiper-slide.is-landscape {
    width: auto;
  }

  .wie-wir-arbeiten-w .accordion {
    grid-template-columns: 1fr;
    gap: 0.625rem;
  }

  .accordion-item {
    width: 100%;
    min-height: auto;
  }

  .wie-wir-arbeiten-w {
    padding: 2.375rem 1rem;
  }

  .wie-wir-arbeiten-w .accordion {
    margin-top: 1.5625rem;
  }

  .contact-form-w {
    padding: 1.5625rem;
	  width: calc(100vw - 2rem);
  }
	
	.language-label-w {
    bottom: 1.125rem;
    right: 1rem;
}

  .contact-form-w h2,
  .entry-header-product-text h1,
  .entry-header.solutions .entry-title h1 {
    font-size: 2.5rem;
  }

  .mc-contact-form {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 4.375rem;
  }

  .left-contact-form {
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .right-contact-form {
    width: 100%;
  }

  input[type="text"],
  input[type="email"],
  input[type="url"],
  input[type="password"],
  input[type="search"],
  input[type="number"],
  input[type="tel"],
  input[type="range"],
  input[type="date"],
  input[type="month"],
  input[type="week"],
  input[type="time"],
  input[type="datetime"],
  input[type="datetime-local"],
  input[type="color"],
  textarea {
    font-size: 1rem;
    padding: 0.6rem 0.6rem 0.6rem 0rem;
  }

  .cta-contact-form {
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1.5625rem;
    flex-direction: column;
    gap: 0;
  }

  .wpcf7-submit {
    font-size: 1rem;
    padding: 0.5rem 1.2rem;
  }

  .offene-stellen-w {
    width: 100%;
    position: relative;
    padding: 3rem 1rem;
    padding-top: 1.5625rem;
    flex-direction: column;
    display: flex;
    gap: 1.5625rem;
  }

  .offene-stellen-w div {
    width: 100%;
    position: relative;
  }

  .solution-beschreibung-galerie {
    padding: 1.5rem 0;
    flex-direction: column;
    gap: 6rem;
  }

      .alt .solution-beschreibung-galerie {
        flex-direction: column-reverse;
        gap: 3.5rem;
        padding-bottom: 6rem;
    }

  .page-id-19 .entry-title,
	.page-id-248 .entry-title {
    padding: 0 1rem;
    padding-top: 8rem;
  }
	
	.team-member-name,
	.team-member-position {
		font-size: 1rem;
	}

  .page-id-19 .entry-description,
	.page-id-248 .entry-description {
    width: 100%;
    padding: 1rem;
    padding-top: 4rem;
  }

  .page-id-19 .entry-header,
	.page-id-248 .entry-header {
    height: auto;
  }
	
	.page-id-19 .entry-title h1 {
		font-size: 1.8rem!important;
	}
	
	.team-mitglieder-w {
    padding-left: calc(1rem - 0.3125rem);
}

  #sbp-svg {
    position: relative;
    bottom: 0vw;
    transform: scale(2.5) translateX(-29vw);
  }

  .team-mitglieder-w:first-of-type {
    margin-top: 0;
  }

  article#post-19 {
    overflow: hidden;
  }

  .tab-btn {
    width: 180px;
    height: 41px;
    transform: translateX(-8px) translateY(8px);
  }

  .tabs button {
	  width: 9rem;
    font-size: 0.7rem;
  }

  .tabs button:nth-child(2) {
    transform: translate(1px, 8px);
  }
	
	.tab-btn span {
    transform: translate(4px, -1px);
}

  .tabs button:nth-child(3) {
    transform: translate(10px, 8px);
  }
	
	 .tabs-w .tabs {
        transform: translateY(0.25rem);
    }
	
	.oem-solutions .tabs button {
        width: 7.8rem;
    }
	
	.impressum-page {
    padding: 1.5rem 1rem;
}
	
	.impressum-page h1, .impressum-page h2, .impressum-page h3, .impressum-page p {
    font-size: 1rem;
}
	
	.impressum-page p {
    margin-bottom: 1.25rem;
}
	.search .solutions-nav-menu {
		padding-right: 0;
	}
	
	.search .solution-menu-padding {
        padding-top: calc(6.125rem + 3.375rem) !important;
    }
	
	.smart-cash-handling .entry-header,
	.oem-solutions .entry-header,
	.customized-solutions .entry-header {
		padding-top: 12rem!important;
	}
}

/* max-width: 639px */
@media (max-width: 639px) {
}
