/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}
/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}
/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}
/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}
/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}
/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}
/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}
/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}
/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}
/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}
/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}
/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}
/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}
/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}
/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}
/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}
/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}
/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}
/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}
/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}
/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}
/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}
/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}
/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}
@font-face {
  font-family: 'fontello';
  src: url('../../Fonts/fontello/fontello.eot?76590147');
  src: url('../../Fonts/fontello/fontello.eot?76590147#iefix') format('embedded-opentype'), url('../../Fonts/fontello/fontello.woff?76590147') format('woff'), url('../../Fonts/fontello/fontello.ttf?76590147') format('truetype'), url('../../Fonts/fontello/fontello.svg?76590147#fontello') format('svg');
  font-weight: normal;
  font-style: normal;
}
/* jost-300 - cyrillic_latin_latin-ext */
@font-face {
  font-display: swap;
  font-family: 'Jost';
  font-style: normal;
  font-weight: 300;
  src: url('../../Fonts/jost/jost-v15-cyrillic_latin_latin-ext-300.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ url('../../Fonts/jost/jost-v15-cyrillic_latin_latin-ext-300.ttf') format('truetype');
  
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* jost-regular - cyrillic_latin_latin-ext */
@font-face {
  font-display: swap;
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  src: url('../../Fonts/jost/jost-v15-cyrillic_latin_latin-ext-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ url('../../Fonts/jost/jost-v15-cyrillic_latin_latin-ext-regular.ttf') format('truetype');
  
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* jost-600 - cyrillic_latin_latin-ext */
@font-face {
  font-display: swap;
  font-family: 'Jost';
  font-style: normal;
  font-weight: 600;
  src: url('../../Fonts/jost/jost-v15-cyrillic_latin_latin-ext-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ url('../../Fonts/jost/jost-v15-cyrillic_latin_latin-ext-600.ttf') format('truetype');
  
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* jost-900 - cyrillic_latin_latin-ext */
@font-face {
  font-display: swap;
  font-family: 'Jost';
  font-style: normal;
  font-weight: 900;
  src: url('../../Fonts/jost/jost-v15-cyrillic_latin_latin-ext-900.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ url('../../Fonts/jost/jost-v15-cyrillic_latin_latin-ext-900.ttf') format('truetype');
  
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* reenie-beanie-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Reenie Beanie';
  font-style: normal;
  font-weight: 400;
  src: url('../../Fonts/reenie-beanie/reenie-beanie-v16-latin-regular.woff2') format('woff2');
  
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-300 - cyrillic_cyrillic-ext_latin_latin-ext */
@font-face {
  font-display: swap;
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: url('../../Fonts/opensans/open-sans-v40-cyrillic_cyrillic-ext_latin_latin-ext-300.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ url('../../Fonts/opensans/open-sans-v40-cyrillic_cyrillic-ext_latin_latin-ext-300.ttf') format('truetype');
  
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* open-sans-regular - cyrillic_cyrillic-ext_latin_latin-ext */
@font-face {
  font-display: swap;
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../../Fonts/opensans/open-sans-v40-cyrillic_cyrillic-ext_latin_latin-ext-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ url('../../Fonts/opensans/open-sans-v40-cyrillic_cyrillic-ext_latin_latin-ext-regular.ttf') format('truetype');
  
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* open-sans-600 - cyrillic_cyrillic-ext_latin_latin-ext */
@font-face {
  font-display: swap;
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: url('../../Fonts/opensans/open-sans-v40-cyrillic_cyrillic-ext_latin_latin-ext-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ url('../../Fonts/opensans/open-sans-v40-cyrillic_cyrillic-ext_latin_latin-ext-600.ttf') format('truetype');
  
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* open-sans-800 - cyrillic_cyrillic-ext_latin_latin-ext */
@font-face {
  font-display: swap;
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  src: url('../../Fonts/opensans/open-sans-v40-cyrillic_cyrillic-ext_latin_latin-ext-800.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ url('../../Fonts/opensans/open-sans-v40-cyrillic_cyrillic-ext_latin_latin-ext-800.ttf') format('truetype');
  
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* caveat-regular - cyrillic_cyrillic-ext_latin_latin-ext */
@font-face {
  font-display: swap;
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 400;
  src: url('../../Fonts/caveat/caveat-v18-cyrillic_cyrillic-ext_latin_latin-ext-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ url('../../Fonts/caveat/caveat-v18-cyrillic_cyrillic-ext_latin_latin-ext-regular.ttf') format('truetype');
  
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
body.lang-ua body {
  font-family: 'Open Sans', sans-serif;
}
body.lang-ua .h1,
body.lang-ua h1 {
  font-family: 'Open Sans', sans-serif;
}
body.lang-ua .h2,
body.lang-ua h2 {
  font-family: 'Open Sans', sans-serif;
}
body.lang-ua .h3,
body.lang-ua h3 {
  font-family: 'Open Sans', sans-serif;
}
body.lang-ua .h4,
body.lang-ua h4 {
  font-family: 'Open Sans', sans-serif;
}
body.lang-ua .h5,
body.lang-ua h5 {
  font-family: 'Caveat', sans-serif;
}
body.lang-pl .h5,
body.lang-pl h5 {
  font-family: 'Caveat', sans-serif;
}
body.lang-cz .h5,
body.lang-cz h5 {
  font-family: 'Caveat', sans-serif;
}
html {
  box-sizing: border-box;
}
*,
*:before,
*:after {
  box-sizing: inherit;
}
figure {
  margin: 0;
}
.msg {
  box-sizing: border-box;
  width: 100%;
  clear: both;
  padding: 1em;
  border-left: 0.25em solid;
  margin: 0.25em 0;
}
.msg-red {
  background-color: #fbe3e4;
  color: #8a1f11;
  border-color: #fbc2c4;
}
.msg-blue {
  background-color: #d5edf8;
  color: #205791;
  border-color: #92cae4;
}
.msg-green {
  background-color: #e6efc2;
  color: #264409;
  border-color: #c6d880;
}
.msg-yellow {
  background-color: #fff6bf;
  color: #514721;
  border-color: #ffd324;
  list-style-type: none;
}
.transition {
  transition: all 0.2s ease-in-out 0s;
}
.transition-smooth {
  transition: all 0.5s cubic-bezier(0.05, 0.6899999999999999, 0.14, 1) 0s;
}
.transition-bounce {
  transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s;
}
.centerIcon {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
}
.resetList {
  margin: 0;
  padding: 0;
  list-style: none;
}
.selectArrow {
  background: #ffffff url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0ZWQgYnkgSWNvTW9vbi5pbyAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj4KPHBhdGggZD0iTTAgNmMwLTAuMTI4IDAuMDQ5LTAuMjU2IDAuMTQ2LTAuMzU0IDAuMTk1LTAuMTk1IDAuNTEyLTAuMTk1IDAuNzA3IDBsOC42NDYgOC42NDYgOC42NDYtOC42NDZjMC4xOTUtMC4xOTUgMC41MTItMC4xOTUgMC43MDcgMHMwLjE5NSAwLjUxMiAwIDAuNzA3bC05IDljLTAuMTk1IDAuMTk1LTAuNTEyIDAuMTk1LTAuNzA3IDBsLTktOWMtMC4wOTgtMC4wOTgtMC4xNDYtMC4yMjYtMC4xNDYtMC4zNTR6IiBmaWxsPSIjMDAwMDAwIj48L3BhdGg+Cjwvc3ZnPgo=) no-repeat 95% 50%;
  background-size: 0.75em;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}
.selectArrow::-ms-expand {
  display: none;
}
.hidden {
  display: none;
}
.h1,
body h1,
body .h1 {
  font-family: 'Jost', sans-serif;
  font-size: 2.5em;
  line-height: 1.25em;
  margin: 0.5em 0;
  font-weight: 300;
}
.h1.d,
body h1.d,
body .h1.d {
  color: #000;
}
.h2,
body h2 {
  font-family: 'Jost', sans-serif;
  font-size: 2em;
  margin: 0.5em 0;
  line-height: 1.5em;
  font-weight: 300;
  color: inherit;
  display: block;
  width: 100%;
}
.h2 span,
body h2 span {
  color: #8d7a67;
}
h2:has(+ h3) {
  margin-bottom: 0;
}
.h3,
body h3 {
  font-family: 'Jost', sans-serif;
  font-size: 1.5em;
  margin: 0.5em 0;
  padding: 0;
  line-height: 1.5em;
  font-weight: 300;
  color: inherit;
}
.h4,
body h4 {
  font-family: 'Jost', sans-serif;
  font-size: 1.25em;
  margin: 0.5em 0;
  padding: 0;
  line-height: 1.5em;
  font-weight: 300;
}
.h5,
body h5 {
  font-family: 'Reenie Beanie';
  font-size: 2.5em;
  margin: 0.5em 0;
  padding: 0;
  font-weight: 300;
  color: #8d7a67;
}
a {
  color: #005db2;
}
a:hover {
  color: #0078e5;
  text-decoration: none;
}
body,
html {
  float: left;
  width: 100%;
}
body {
  color: #595959;
  font-family: 'Jost', sans-serif;
  font-weight: 400;
  line-height: 1.75em;
  margin: 0;
  padding: 0;
  background: #fff;
  font-size: 1em;
}
434548 p,
pre {
  width: 100%;
  display: block;
}
section,
header,
footer {
  float: left;
  width: 100%;
  position: relative;
}
b,
strong {
  font-weight: 600;
}
img {
  border: none;
  max-width: 100%;
  display: block;
  height: auto;
}
html.touch * {
  text-rendering: optimizeSpeed;
}
.ce-gallery figure {
  position: relative;
}
.ce-gallery figure .image-caption {
  background: #fff;
  padding: 0.5em 1em;
  font-size: 0.8em;
  position: absolute;
  left: 1em;
  bottom: 1em;
  max-width: calc(100% - 2em);
}
.btn {
  text-decoration: none;
  line-height: 1em;
  padding: 1em 1.5em;
  display: inline-block;
  transition: all 0.2s ease-in-out 0s;
  position: relative;
  font-size: 1em;
  color: #fff;
  background: #8d7a67;
  border: none;
  overflow: hidden;
  cursor: pointer;
  border: 3px solid #8d7a67;
}
.btn:before {
  font-family: "fontello";
  position: absolute;
  font-size: 1em;
  right: -3em;
  line-height: 3em;
  top: 0;
  width: 3em;
  height: 100%;
  opacity: 1;
  color: #fff;
  text-align: center;
  transition: all 0.2s ease-in-out 0s;
}
.btn:hover {
  background: #a49483;
  border-color: #a49483;
  color: #fff;
}
.btn + .btn {
  margin-left: 1em;
}
.btn.right {
  padding-right: 3em;
}
.btn.right:before {
  left: auto;
  right: 0em;
}
.btn.left:before {
  right: auto;
  left: 0em;
  background: #8d7a67;
  width: 3em;
  height: 100%;
  position: absolute;
  left: -3em;
  top: 0;
}
.btn.left:hover {
  padding-left: 4em;
}
.btn.left:hover:before {
  left: 0;
}
.btn.large {
  font-size: 1.2em;
}
.btn.small {
  font-size: 1em;
}
.btn.outline {
  background: transparent;
  color: #000;
  border: 0.5em solid #8d7a67;
}
.btn.outline:hover {
  background: rgba(141, 122, 103, 0.3);
  border-color: #a49483;
}
.btn.ico-up:before {
  content: "\e804";
}
.btn.ico-right:before {
  content: "\e802";
}
.btn.ico-down:before {
  content: "\e805";
}
.btn.ico-left:before {
  content: "\e806";
}
.btn.ico-mail:before {
  content: "\e82c";
}
.btn.ico-mob:before {
  content: "\e802";
}
.btn.ico-back:before {
  content: "\e803";
}
.btn.ghost {
  border: 3px solid #8d7a67;
  background: rgba(141, 122, 103, 0);
  color: inherit;
}
.btn.ghost:hover {
  color: #fff;
  background: #8d7a67;
}
.btn.small {
  border: 1px solid #8d7a67;
  background: rgba(141, 122, 103, 0);
  color: inherit;
  padding: 0.5em 0.75em;
}
.btn.small:before {
  right: auto;
  left: 0em;
  background: #8d7a67;
  width: 2em;
  height: 100%;
  position: absolute;
  left: -3em;
  top: -0.5em;
}
.btn.small:hover {
  padding-left: 2em;
  color: #fff;
  background: #8d7a67;
}
.btn.small:hover:before {
  left: 0;
}
.btn.small.ico-back:before {
  content: "\e803";
}
.btn.sec {
  background: #8d7a67;
  border-color: #8d7a67;
}
.btn.sec:before {
  background: #8d7a67;
}
.btn.sec:hover {
  background: #998774;
}
.btn.sec:hover:before {
  background: #998774;
}
.btn.white {
  background: #fff;
  border-color: #fff;
  color: #005db2;
}
.btn.white:before {
  color: #005db2;
}
.btn.white:hover {
  background: #f2f2f2;
}
.btn.green {
  background: #19AB8D;
}
.btn.green:hover {
  background: #20d7b2;
}
.btn.paint.sec {
  overflow: initial;
}
.btn.paint.sec:before {
  content: "\e835";
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  right: calc(100% + 0.2em);
  left: auto;
  color: #8d7a67;
  font-size: 10em;
  pointer-events: none;
  background: transparent;
}
.btn.paint.sec:after {
  content: "\e835";
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  left: calc(100% + 0.2em);
  right: auto;
  color: #8d7a67;
  font-size: 10em;
  transform: rotateY(180deg);
  pointer-events: none;
}
.btn.ani {
  position: relative;
  overflow: hidden;
}
.btn.ani span {
  position: relative;
  z-index: 1;
}
.btn.ani:before {
  position: absolute;
  top: 0;
  left: -150%;
  z-index: 2;
  display: block;
  content: '';
  width: 50%;
  height: 100%;
  transform: skewX(45deg);
  background: linear-gradient(to right, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.05) 38%, rgba(255, 255, 255, 0) 39%, rgba(255, 255, 255, 0) 60%, rgba(255, 255, 255, 0.05) 61%, rgba(255, 255, 255, 0.05) 100%);
  animation: shine 3s infinite;
}
@keyframes shine {
  0% {
    left: -150%;
  }
  50% {
    left: -150%;
  }
  100% {
    left: 160%;
  }
}
.ico-src:before {
  content: "\e809";
}
/* Search */
.ico-loc:before {
  content: "\e80e";
}
/* Location Marker */
.ico-vca:before {
  content: "\e82b";
}
/* vCard */
.ico-eml:before {
  content: "\e82c";
}
/* Email */
.ico-bub:before {
  content: "\e80c";
}
/* Speech Bubbles */
.ico-use:before {
  content: "\e82d";
}
/* User */
.ico-ati:before {
  content: "\e838";
}
/* At Symbol */
.ico-hwr:before {
  content: "\e839";
}
/* Hammer & Wrench */
.ico-wha:before {
  content: "\e80a";
}
/* Whatsapp */
.ico-prs:before {
  content: "\e842";
}
/* Presentation */
.ico-pro:before {
  content: "\e843";
}
/* Profile */
.ico-upl:before {
  content: "\e849";
}
/* Cloud Upload */
.ico-dow:before {
  content: "\e848";
}
/* Cloud Download */
.ico-cog:before {
  content: "\e84a";
}
/* Gear */
.ico-wre:before {
  content: "\e845";
}
/* Wrench */
.ico-gra:before {
  content: "\e836";
}
/* Graduation Hat */
.ico-eur:before {
  content: "\e84b";
}
/* Coin Euro */
.ico-bbs:before {
  content: "\e847";
}
/* Bubbles */
.ico-sta:before {
  content: "\e830";
}
/* File Stats */
.ico-tel:before {
  content: "\e815";
}
/* Phone */
.ico-karr-ver:before {
  content: "\e831";
}
/* Karriere Vergütung */
.ico-karr-bew:before {
  content: "\e832";
}
/* Karriere Bewerbung */
.ico-karr-url:before {
  content: "\e833";
}
/* Karriere Urlaub */
.ico-karr-ort:before {
  content: "\e834";
}
/* Karriere Ausbildungsort */
.ico-karr-erf:before {
  content: "\e80f";
}
/* Karriere Erfolgsbeteiligung */
.ico-karr-ges:before {
  content: "\e83e";
}
/* Karriere Gesundheitsmanagement */
.ico-karr-mit:before {
  content: "\e83f";
}
/* Karriere Mitgestaltung */
.ico-karr-wei:before {
  content: "\e840";
}
/* Karriere Weiterbildung */
.ico-karr-per:before {
  content: "\e841";
}
/* Karriere Perspektive */
.ico-liv:before {
  content: "\e83a";
}
/* Livello */
.ico-pan:before {
  content: "\e83b";
}
/* Pannello */
.ico-pre:before {
  content: "\e83c";
}
/* Preciso */
.ico-cor:before {
  content: "\e83d";
}
/* Corpo */
.ico-eco:before {
  content: "\e807";
}
/* Eco */
.ico-gru:before {
  content: "\e83a";
  transform: rotate(90deg);
}
/* Grünfassaden */
.ico-uni:before {
  content: "\e80e";
  font-weight: bold;
}
/* Unico */
.container {
  float: left;
  width: 100%;
  overflow: hidden;
  position: relative;
}
.listReset {
  margin: 0;
  padding: 0;
  list-style: none;
}
.listReset strong {
  color: #000;
  min-width: 10em;
  display: inline-block;
}
.m-auto {
  margin: 0 auto;
}
.max-w-xs {
  max-width: 20rem;
  /* 320px */
}
.max-w-sm {
  max-width: 24rem;
  /* 384px */
}
.max-w-md {
  max-width: 28rem;
  /* 448px */
}
.max-w-lg {
  max-width: 32rem;
  /* 512px */
}
.max-w-xl {
  max-width: 36rem;
  /* 576px */
}
footer > [class*="wide"],
header [class*="wide"],
section > [class*="wide"],
section > div > [class*="wide"] {
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
}
footer > [class*="wide"],
header [class*="wide"],
section > [class*="wide"],
section > div > [class*="wide"] {
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
}
footer > [class*="normal"],
header > [class*="normal"],
section > [class*="normal"],
section > div > [class*="normal"] {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
}
header > [class*="small"],
section > [class*="small"],
section > div > [class*="small"] {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
section > .wrap.small-left,
section > div > .wrap.small-left {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
}
footer > .wrap > .inner,
header .wrap > .inner,
section > .wrap > .inner,
section > div > .wrap > .inner {
  width: 100%;
  float: left;
}
section > .wrap.small-left .inner {
  width: 65%;
}
.popcontainer {
  padding: 2em 2em;
  float: left;
  width: 100%;
  background: #fff;
}
.blockquote {
  float: left;
  width: 100%;
  margin: 0.5em 0;
  padding: 1em;
  border-left: 0.2em solid #005db2;
}
.blockquote u {
  text-decoration: none;
  border-bottom: 1px dashed #000;
}
.bgw {
  background: #fff;
}
.bgw blockquote {
  background: #f9f9f9;
  float: left;
  width: 100%;
  margin: 0.5em 0;
  padding: 1em;
  border-left: 0.2em solid #005db2;
}
.bgw blockquote u {
  text-decoration: none;
  border-bottom: 1px dashed #000;
}
.bgw [class*="popout"] .popcontainer {
  background: #005db2;
  color: #fff;
}
.bgg {
  background: #f9f9f9;
}
.bgg [class*="popout"] .popcontainer {
  background: #fff;
}
.bgdg {
  background: #f2f2f2;
}
.bgd {
  background: #005db2;
  color: #fff;
}
.bgd h2 {
  color: #fff;
}
.bgd h3 {
  color: #fff;
}
.bgd a {
  color: #fff;
}
.bgs {
  background: #8d7a67;
  color: #fff;
}
.bgs h2 {
  color: #fff;
}
.bgs h3 {
  color: #fff;
}
.bgs a {
  color: #fff;
}
.bgi {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.ce-headline-center,
.text-center,
.align-center,
.tac {
  text-align: center;
}
.text-right,
.tar {
  text-align: right;
}
.pt6 {
  padding-top: 6em;
}
.pt3 {
  padding-top: 3em;
}
.pt2 {
  padding-top: 2em;
  clear: both;
}
.pt1 {
  padding-top: 1em;
}
.pb3 {
  padding-bottom: 3em;
}
.pb6 {
  padding-bottom: 6em;
}
.pb9 {
  padding-bottom: 9em;
}
.pb2 {
  padding-bottom: 2em;
  clear: both;
}
.pb1 {
  padding-bottom: 1em;
}
.pl2 {
  padding-left: 2em;
}
.pd1 {
  padding: 1em;
}
.pd0 {
  padding: 0;
}
.m0 {
  margin: 0;
}
.mt0 {
  margin-top: 0;
}
.mb0 {
  margin-bottom: 0;
}
.mt1 {
  margin-top: 1em;
}
.mt2 {
  margin-top: 2em;
}
.flx {
  display: flex;
  flex-wrap: wrap;
}
.flx-jc {
  justify-content: center;
}
.flx-jfs {
  justify-content: flex-start;
}
.flx-jfe {
  justify-content: flex-end;
}
.flx-jsb {
  justify-content: space-between;
}
.flx-afs {
  align-items: flex-start;
}
.flx-ac {
  align-items: center;
}
.flx-afe {
  align-items: flex-end;
}
.flx-rr {
  flex-direction: row-reverse;
}
.flx-dc {
  flex-direction: column;
}
.bt1 {
  border-top: 1px solid #d9d9d9;
}
.bb1 {
  border-bottom: 1px solid #d9d9d9;
}
.bt05 {
  border-top: 0.5em solid #005db2;
}
.bt05p {
  border-top: 0.5em solid #005db2;
}
.w-100 {
  width: 100%;
}
.w-75 {
  width: 75%;
}
.w-70 {
  width: 70%;
}
.w-66 {
  width: 66.66666667%;
}
.w-65 {
  width: 65%;
}
.w-50 {
  width: 50%;
}
.w-35 {
  width: 35%;
}
.w-33 {
  width: 33.33333333%;
}
.w-30 {
  width: 30%;
}
.w-25 {
  width: 25%;
}
.w-20 {
  width: 20%;
}
.h-100 {
  height: 100%;
}
.cw {
  color: #fff;
}
.p1 {
  padding: 1em;
}
.pd2 {
  padding: 2em;
}
.pd3 {
  padding: 3em;
}
.pd6 {
  padding: 6em;
}
.pr05 {
  padding-right: 0.5em;
}
.pr1 {
  padding-right: 1em;
}
.pl05 {
  padding-left: 0.5em;
}
.pl1 {
  padding-left: 1em;
}
.fl {
  float: left;
}
.fr {
  float: right;
}
.xxs {
  font-size: 0.8em;
}
.xs {
  font-size: 0.9em;
}
.xl {
  font-size: 1.15em;
}
.pr {
  position: relative;
}
.pa {
  position: absolute;
}
.oh {
  overflow: hidden;
}
.oa {
  overflow: auto;
}
.topbar {
  line-height: 1em;
}
.topbar ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.topbar ul:not(.sf-menu) li {
  float: left;
}
.topbar a {
  padding: 1.5em 1em;
  text-decoration: none;
  background: #005db2;
  position: relative;
  transition: all 0.2s ease-in-out 0s;
}
.topbar a:hover {
  background: #006acb;
}
.topbar .tel {
  padding: 1.5em 1em 1.5em 2em;
  position: relative;
}
.topbar .tel:before {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  left: 0.5em;
  right: auto;
  content: "\e815";
}
.topbar .src a {
  display: block;
  width: 3em;
  text-indent: -9999px;
  overflow: hidden;
  position: relative;
}
.topbar .src a:after {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  content: "\e809";
}
.topbar .group:before {
  content: "";
  display: block;
  position: absolute;
  top: calc(100% + 0.5em);
  width: 5.5em;
  border-left: 1em solid #ffa22b;
  border-right: 1em solid #36b64b;
  height: 1em;
  left: 0;
  right: 0;
  margin: 0 auto;
  transition: all 0.2s ease-in-out 0s;
  z-index: 1;
  pointer-events: none;
}
.topbar .group:after {
  content: "";
  display: block;
  position: absolute;
  top: calc(100% + 0.5em);
  width: 2.5em;
  border-left: 1em solid #be1e10;
  border-right: 1em solid #466071;
  height: 1em;
  left: 0;
  right: 0;
  margin: 0 auto;
  transition: all 0.2s ease-in-out 0s;
  z-index: 1;
  pointer-events: none;
}
.topbar .group:hover:before,
.topbar .group:hover:after {
  height: 0.25em;
}
.topbar .social a {
  width: 4em;
  height: 4em;
}
.topbar .social a:before {
  font-size: 1.5em;
}
.topbar .sf-mega > li > a {
  padding: 1.5em 1em;
  color: #fff;
  border-left: none;
  border-top: none;
}
.topbar div.sf-mega {
  background: #fff;
}
.topbar div.sf-mega a {
  background: #fff;
  color: #666666;
  padding: 1em;
  border-left: none;
  border-top: none;
}
.topbar div.sf-mega a:hover {
  background: #f2f2f2;
}
.topbar div.sf-mega .w-20:not(:last-child) {
  border-right: 1px solid #d9d9d9;
}
.social a {
  width: 3em;
  height: 3em;
  display: block;
  overflow: hidden;
  text-indent: -999px;
  position: relative;
  background: #005db2;
  transition: all 0.2s ease-in-out 0s;
  color: #fff;
}
.social a:before {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
}
.social a:hover {
  background: #005099;
}
.social .li:before {
  content: "\e826";
}
.social .xi:before {
  content: "\e810";
}
.social .fb:before {
  content: "\e811";
}
.social .ig:before {
  content: "\e844";
}
.social .pi:before {
  content: "\f231";
}
.social .yt:before {
  content: "\e81b";
}
.bgdg.social {
  background: #ececec;
}
.bgdg.social li {
  margin: 0 0.25em;
}
.header .inner {
  transition: all 0.2s ease-in-out 0s;
}
.header ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.header li {
  float: left;
}
.header .l {
  width: 7em;
}
body .header:not(.karriere) .r {
  width: calc(100% - 7em);
}
.header .l a {
  display: block;
  width: 100%;
  height: auto;
  text-decoration: none;
}
.header .l img {
  width: 100%;
  height: auto;
}
.header .sf-menu ul a.sf-with-ul {
  position: relative;
  padding-right: 1.5em;
}
.header .sf-menu ul a.sf-with-ul:after {
  content: "\e802";
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  left: auto;
  right: 0.75em;
  font-size: 0.7em;
}
.header .low .sf-menu ul li {
  width: 100%;
}
.header .sf-menu li,
.header .sf-menu li:hover {
  background: #fff;
}
.header .sf-menu a {
  border: none;
  color: inherit;
  transition: all 0.2s ease-in-out 0s;
  background: #fff;
}
.header .sf-menu a:hover {
  background: #f9f9f9;
}
.header .top .sf-menu,
.header .low .sf-menu {
  width: auto;
}
.header .top .sf-menu > li > a.hs {
  padding-right: 2em;
}
.header .top .sf-menu > li > a.hs:before {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  left: auto;
  right: 1em;
  font-size: 0.7em;
  content: "\e804";
}
.header .top .sf-menu a {
  padding-left: 1em;
  padding-right: 1em;
}
.header .top .sf-menu a[data-action="contact"] {
  padding-left: 1em;
  padding-right: 1em;
  color: #fff;
  background: #8d7a67;
}
.header .top .sf-menu a[data-action="contact"]:hover {
  background: #998774;
}
.header .low a span {
  position: relative;
  display: block;
}
.header .low a span:after {
  content: "";
  display: block;
  border-bottom: 3px solid #005db2;
  position: absolute;
  left: 0;
  width: 100%;
  bottom: -0.5em;
  transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s;
}
.header .low a:hover span:after {
  width: 50%;
}
.header .low a.act span:after {
  border-color: #8d7a67;
}
.header .sub li {
  width: 100%;
}
.header .top > ul > li > a > span:after {
  content: "";
  display: block;
  width: 100%;
  bottom: 0;
  left: 0;
  height: 3px;
  background: #005db2;
  opacity: 0;
  transition: all 0.2s ease-in-out 0s;
}
.header .top > ul > li.sfHover > a > span:after,
.header .top > ul > li > a:hover > span:after {
  opacity: 1;
}
.header .sf-mega {
  background: #fff;
}
.banner {
  position: relative;
}
.banner > .wrap {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.banner img {
  display: block;
  width: 100%;
  height: auto;
}
.banner li .wrap {
  left: 0;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  padding: 3em 0;
  box-sizing: border-box;
  z-index: 1;
  margin: auto;
  position: absolute;
}
.banner li .wrap.wide {
  max-width: 1500px;
}
.banner li .wrap.full {
  max-width: 100%;
}
.banner li .inner {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}
.banner .message {
  float: left;
  width: 100%;
  padding: 1em 2em;
  position: relative;
  font-family: 'Jost', sans-serif;
  background: rgba(255, 255, 255, 0.65);
  backdrop-filter: blur(1em);
}
.banner.quote .message {
  backdrop-filter: blur(5px);
}
.banner .bg-w {
  background: rgba(255, 255, 255, 0.65);
}
.banner.panel .bg-w {
  background: #fff;
}
.banner .bg-d {
  background: rgba(0, 93, 178, 0.65);
  color: #fff;
}
.banner .pr .bg-d {
  background: #005db2;
  padding: 3em;
}
.banner .pr.wrap {
  padding: 0;
}
.banner .pr .inner {
  position: relative;
}
.banner .center {
  max-width: 30em;
  width: 100%;
}
.banner .w-100 .center {
  max-width: 1500px;
  position: relative;
}
.banner h1 {
  line-height: 1.15em;
}
.banner.bgt .flex-control-nav li a {
  background: #808080;
}
.banner .blur {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: all 0.2s ease-in-out 0s;
  transition-duration: 1s;
}
.banner .blur image {
  width: 100%;
  height: 100%;
}
.banner .pad {
  float: left;
  box-sizing: border-box;
  opacity: 1;
  transition: all 0.2s ease-in-out 0s;
  transition-duration: 1s;
}
.banner.aos-animate .pad,
.banner.aos-animate .blur,
.banner.go .pad,
.banner.go .blur {
  opacity: 1;
}
.banner ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.banner .flex-control-nav {
  position: absolute;
  left: 0;
  bottom: 2em;
  right: 0;
  margin: auto;
  width: 100%;
  max-width: 1500px;
  z-index: 10;
  text-align: left;
  box-sizing: border-box;
  padding: 0 3em;
  display: flex;
  justify-content: center;
}
.banner .flex-control-nav li {
  float: left;
  padding: 0 0.5em;
  margin: 0;
}
.banner .flex-control-nav li a {
  width: 0.5em;
  height: 0.5em;
  box-shadow: none;
  background: #fff;
  display: block;
  float: left;
  transition: all 0.5s cubic-bezier(0.05, 0.6899999999999999, 0.14, 1) 0s;
}
.banner .flex-control-nav li a:hover {
  width: 2.5em;
}
.banner .flex-control-nav li a.flex-active {
  background: #005db2;
  width: 2.5em;
}
.banner .logo {
  float: left;
  width: 100%;
  padding-bottom: 2em;
}
.banner .logo img {
  width: auto;
  height: auto;
  max-width: 10em;
}
.banner .h1 span,
.banner .h2 span,
.banner .h3 span {
  color: #fff;
}
.banner.quote .name {
  color: inherit;
}
.banner.quote .button {
  float: left;
  width: 100%;
  padding-top: 1em;
}
.banner.video-banner img {
  opacity: 0;
  pointer-events: none;
}
.banner.video-banner video {
  right: 0;
  bottom: 0;
  object-position: center;
  object-fit: cover;
}
.banner.video-banner.has-vid-overlay video {
  filter: saturate(1.75);
}
.banner.video-banner .vid-overlay {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  padding: 3em 0;
  width: 100%;
  margin: 0 auto;
  height: 100%;
  display: flex;
  align-items: flex-end;
  max-width: 1500px;
}
.banner.video-banner .vid-overlay .center {
  max-width: 50em;
  border-left: 0.5em solid #8d7a67;
}
.banner.video-banner .h1 {
  margin: 0;
}
.banner.video-banner h2 {
  margin-top: 0;
}
.paint .banner .bg-d {
  padding: 3em 3em 1em;
}
.banner.panel .txt {
  display: flex;
  justify-content: flex-end;
  padding: 3em 0;
}
.banner.panel .txt .wrap {
  width: 100%;
  max-width: 55em;
  transform: translateX(6em);
  padding: 3em 6em 3em 3em;
  clip-path: polygon(0 0, 100% 0%, 95% 100%, 0% 100%);
}
.banner .has-vid {
  position: relative;
  overflow: hidden;
}
.banner .has-vid img {
  opacity: 0;
}
.banner .has-vid > video {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.banner.visual .visual-overlay {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  font-size: 1.1vw;
  line-height: 1.5vw;
  color: #fff;
  text-transform: uppercase;
  font-family: 'Jost', sans-serif;
}
.banner.visual .tagline {
  border-bottom: 2px solid #8d7a67;
  padding: 0.5em 0;
}
.banner.visual .subline {
  font-family: 'Jost', sans-serif;
  font-size: 1.2em;
}
.banner.visual .name {
  font-family: 'Jost', sans-serif;
  font-size: 3em;
  padding-top: 0.5em;
  line-height: 1em;
  font-weight: 600;
}
.banner.visual .txt {
  text-transform: none;
}
.banner.visual .pd6 {
  padding-top: 0;
  padding-bottom: 0;
}
.banner.cs-banner .overlay {
  position: absolute;
  width: 50%;
  height: 100%;
  right: 0;
  top: 0;
}
.banner.cs-banner .overlay div {
  background: rgba(255, 255, 255, 0.95);
  padding: 1em;
}
.cp .icons li {
  float: left;
  padding-right: 0.5em;
}
.cp .icons a {
  display: block;
  width: 3em;
  height: 3em;
  background: #8d7a67;
  text-decoration: none;
  color: #fff;
  text-indent: -9999px;
  position: relative;
  transition: all 0.2s ease-in-out 0s;
  overflow: hidden;
}
.cp .icons a:before {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  transition: all 0.2s ease-in-out 0s;
}
.cp .icons a:hover {
  background: #998774;
}
.cp .icons .ani-down:hover:before {
  top: 5em;
}
.cp .icons .ani-left:hover:before {
  left: 5em;
}
.cp .icons .ani-up:hover:before {
  transform: translateY(-3em);
}
.cp .icons .after-ico-down:after {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  content: "\e804";
  top: -5em;
  transition: all 0.2s ease-in-out 0s;
}
.cp .icons .after-ico-down:hover:after {
  top: 0em;
}
.cp .icons .after-ico-left:after {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  content: "\e802";
  left: -5em;
  transition: all 0.2s ease-in-out 0s;
}
.cp .icons .after-ico-left:hover:after {
  left: 0em;
}
.cp .icons .after-ico-up:after {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  content: "\e805";
  bottom: -5em;
  transition: all 0.2s ease-in-out 0s;
}
.cp .icons .after-ico-up:hover:after {
  bottom: 0em;
}
.cp img {
  display: block;
  width: 100%;
  height: auto;
}
.cp.wide .ico {
  width: 3em;
  height: 3em;
  border-radius: 100%;
  background: #005db2;
  display: block;
  position: relative;
  font-size: 1.5em;
}
.cp.wide .ico:before {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  color: #fff;
}
.cp.wide .name {
  padding-top: 0.5em;
}
.cp.wide .img {
  float: left;
  width: 100%;
  position: relative;
}
.cp.wide .img img {
  display: block;
  width: 100%;
  height: auto;
}
.cp.wide .paint {
  display: none;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  transform: scale(1.05);
}
.bgw .cp.bgw {
  background: #f9f9f9;
}
.cp .icons .tip {
  position: relative;
}
.cp .icons .tip a {
  z-index: 1;
}
.cp .icons .tip span {
  display: block;
  width: 3em;
  height: 3em;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
}
.cp .icons .tip span:after {
  content: attr(data-tooltip);
  position: absolute;
  top: -3em;
  white-space: nowrap;
  right: 0;
  background: #8d7a67;
  color: #fff;
  display: block;
  padding: 1em;
  line-height: 1em;
  opacity: 0;
  transition: all 0.2s ease-in-out 0s;
  transition-duration: 0.1s;
  pointer-events: none;
}
.cp .icons .tip span:before {
  content: "";
  position: absolute;
  top: -0.75em;
  right: 1em;
  background: #8d7a67;
  display: block;
  width: 1em;
  height: 1em;
  transform: rotate(45deg);
  opacity: 0;
  transition: all 0.2s ease-in-out 0s;
  transition-duration: 0.1s;
  pointer-events: none;
}
.cp .icons .tip:hover span:after {
  top: -3.5em;
  opacity: 1;
}
.cp .icons .tip:hover span:before {
  top: -1.25em;
  opacity: 1;
}
.cp .xs {
  display: inline-block;
  line-height: 1.5em;
}
.paint .cp.wide .paint {
  display: block;
}
.paint .cp.wide .ico {
  background-color: transparent;
  background-image: url('../../../Public/Images/site-karr/content/ausbildung/paint-cp-wide-01.svg');
  background-size: cover;
}
.paint .cp.wide h3 {
  position: relative;
  z-index: 1;
  color: #fff;
  transform: translateY(1.5em);
}
.paint .cp.wide h3:before {
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 12em;
  height: 1em;
  background-image: url('../../../Public/Images/site-karr/content/ausbildung/stroke-blue-bg-01.svg');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  z-index: -1;
  transform: scale(1.75);
}
.teasers img {
  display: block;
  width: 100%;
  height: auto;
}
.teasers p {
  margin-top: 0;
}
.teasers .h3 {
  display: block;
  width: 100%;
}
.teasers a {
  text-decoration: none;
  color: inherit;
  flex-direction: column;
}
.teasers a:hover .btn {
  background: #8d7a67;
  color: #fff;
}
.teasers .wrap {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  flex: 1;
  align-content: space-between;
}
.teasers .txt {
  display: block;
  width: 100%;
}
.teasers .cp .img {
  width: 100%;
  float: left;
}
.teasers .img {
  float: left;
  width: 100%;
}
.bgw .teasers .wrap {
  background: #f9f9f9;
}
.teasers a.prod {
  flex-direction: initial;
  text-decoration: none;
}
.teasers a.prod .h4 {
  margin: 0;
}
.teasers a.prod .ico {
  display: block;
  width: 3em;
  height: 3em;
  background: #005db2;
  margin-right: 1em;
  color: #fff;
  position: relative;
  transition: all 0.2s ease-in-out 0s;
}
.teasers a.prod .ico:before {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
}
.teasers a.prod .txt {
  display: block;
  width: calc(100% - 4em);
}
.teasers a.prod .txt span {
  display: block;
}
.teasers a.prod:hover .ico {
  background: #8d7a67;
}
.teasers a.teaser-company .img {
  display: block;
  overflow: hidden;
  width: 100%;
}
.teasers a.teaser-company img {
  transform: scale(1);
  transition: all 0.2s ease-in-out 0s;
}
.teasers a.teaser-company:hover img {
  transform: scale(1.05);
}
.teasers a.teaser-company .name {
  padding: 1em;
  width: 100%;
  display: block;
  text-align: center;
  font-weight: bold;
  color: #fff;
}
.teasers a.teaser-company .name.yellow {
  background: #ffa22b;
}
.teasers a.teaser-company .name.red {
  background: #be1e10;
}
.teasers a.teaser-company .name.green {
  background: #36b64b;
}
.teasers a.teaser-company .name.grey {
  background: #466071;
}
.teasers a.teaser-company .cs-slogan {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  padding: 2em;
  background: rgba(255, 255, 255, 0.75);
  display: grid;
  align-items: center;
  opacity: 0;
  transition: all 0.2s ease-in-out 0s;
}
.teasers a.teaser-company:hover .cs-slogan {
  opacity: 1;
}
.benefits {
  padding-left: 1em;
  padding-right: 1em;
}
.benefits .icon {
  width: 5em;
  height: 5em;
  background-color: #8d7a67;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  display: block;
  position: relative;
}
.benefits .icon:before {
  color: #fff;
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  font-size: 3em;
}
.benefits .icon.xl {
  background-color: transparent !important;
}
.benefits .icon.xl:before {
  font-size: 5em;
  color: #8d7a67;
}
.benefits h4 {
  margin: 0;
}
.benefits .l {
  padding-right: 1em;
}
.benefits .r {
  width: calc(100% - 6em);
}
.benefits .b {
  padding: 1em 0.5em;
}
.benefits li {
  padding-left: 0 0.5em;
  padding-right: 0.5em;
}
.benefits .wrap {
  float: left;
  width: 100%;
}
.benefits .frame {
  padding: 1em;
}
.benefits .frame .wrap {
  padding: 1em;
  box-shadow: 0 1em 2em rgba(0, 0, 0, 0.05);
}
.benefits .number {
  color: #005db2;
}
.bgw .benefits .frame .wrap {
  background: #f9f9f9;
}
.bgg .benefits .frame .wrap {
  background: #fff;
}
.bg-dg .benefits .frame .wrap {
  background: #fff;
}
.bgd .benefits .frame .wrap {
  background: #fff;
}
.paint .benefits .icon {
  background-color: transparent;
  background-image: url('../../../Public/Images/site-karr/content/ausbildung/paint-benefits.svg');
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.accordion {
  float: left;
  width: 100%;
}
.accordion > h3 {
  float: left;
  width: 100%;
  padding: 1em 3em 1em 1em;
  font-size: 1em;
  font-weight: normal;
  outline: none;
  cursor: pointer;
  transition: all 0.2s ease-in-out 0s;
  position: relative;
  line-height: 1.25em;
  background: #f9f9f9;
  margin: 1px 0;
}
.accordion > h3.has-icon {
  padding: 0;
  display: flex;
}
.accordion > h3.has-icon .icon {
  width: 4em;
  display: block;
  background: #005db2;
  padding: 0.5em;
}
.accordion > h3.has-icon .icon img {
  width: 100%;
  height: auto;
}
.accordion > h3.has-icon .name {
  padding: 1.5em 3em 1.5em 1em;
  line-height: 1em;
  width: calc(100% - 4em);
}
.accordion > h3.ui-accordion-header-active,
.accordion > h3:hover {
  background: #ececec;
  transition: all 0.2s ease-in-out 0s;
}
/*.accordion.faq h3 { padding: 1.5em 3em 1.5em 3em; }
.accordion.faq h3:before { content: "?"; width: 1em; height: 1em; text-align: center; line-height: 1em; position: absolute; left: 0; top: 0; bottom: 0; margin: auto; opacity: 0.5; font-size: 3em; font-weight: bold; .transition(); }
.accordion.faq h3:nth-child(4n+1):before { transform: rotate(-5deg); }
.accordion.faq h3:nth-child(4n+1):hover:before { transform: rotate(5deg); }
.accordion.faq h3:nth-child(4n-1):before { transform: rotate(5deg); }
.accordion.faq h3:nth-child(4n-1):hover:before { transform: rotate(-5deg); }*/
.accordion .ui-accordion-content {
  float: left;
  width: 100%;
  overflow: hidden;
}
.accordion .ui-accordion-content .txt {
  float: left;
  width: 100%;
  padding: 0em 2em;
  background: #fff;
  color: #595959;
}
.accordion .ui-accordion-content .img {
  float: left;
  width: 100%;
}
.accordion .ui-accordion-content .img img {
  display: block;
  float: left;
  width: 100%;
  height: auto;
}
.accordion .ui-accordion-content h2 {
  font-family: 'Jost', sans-serif;
  font-size: 2em;
  margin: 0.5em 0;
  line-height: 1.5em;
  font-weight: 300;
  color: inherit;
  display: block;
  width: 100%;
  pointer-events: none;
}
.accordion .ui-accordion-content h2 span {
  color: #8d7a67;
}
.accordion .ui-accordion-content h3 {
  font-family: 'Jost', sans-serif;
  font-size: 1.5em;
  margin: 0.5em 0;
  padding: 0;
  line-height: 1.5em;
  font-weight: 300;
  color: inherit;
  pointer-events: none;
}
.accordion .ui-accordion-content * {
  overflow-wrap: break-word;
  word-wrap: break-word;
  -ms-word-break: break-all;
  word-break: break-word;
  -ms-hyphens: auto;
  -moz-hyphens: auto;
  -webkit-hyphens: auto;
  hyphens: auto;
}
.accordion .ui-icon {
  width: 2em;
  height: 2em;
  background: #8d7a67;
  position: absolute;
  right: 0.5em;
  top: 0;
  bottom: 0;
  margin: auto;
}
.accordion .ui-icon:after {
  content: "\e802";
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  color: #fff;
  transform: rotate(0);
  transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s;
}
.accordion h3.ui-accordion-header-active .ui-icon:after {
  transform: rotate(90deg);
}
.accordion .ui-accordion-content .cp {
  padding-bottom: 3em;
}
.accordion .ui-accordion-content .cp img {
  border-radius: 100%;
}
.accordion .ui-accordion-content .cp .img {
  width: 12em;
}
.accordion .ui-accordion-content .cp .txt {
  width: auto;
}
.accordion .ui-accordion-content .cp .txt h3,
.accordion .ui-accordion-content .cp .txt h4 {
  margin: 0;
}
.accordion .ui-accordion-content [class*="ico-"] {
  position: relative;
  padding-left: 2em;
}
.accordion .ui-accordion-content [class*="ico-"]:before {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  right: auto;
}
.bgd .accordion h3 {
  color: #005db2;
  background: #fff;
}
.btn.double-arrows {
  overflow: initial;
}
.btn.double-arrows:before {
  content: "\e835";
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  right: calc(100% + 0.2em);
  left: auto;
  color: #8d7a67;
  font-size: 10em;
  pointer-events: none;
}
.btn.double-arrows:after {
  content: "\e835";
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  left: calc(100% + 0.2em);
  right: auto;
  color: #8d7a67;
  font-size: 10em;
  transform: rotateY(180deg);
  pointer-events: none;
}
.bcc {
  background-position: center center;
}
.btc {
  background-position: top center;
}
.bbc {
  background-position: 100% 50%;
}
.blendp {
  position: relative;
  overflow: initial;
}
.blendp > section {
  padding-left: 0;
  padding-right: 0;
}
.blend {
  background-blend-mode: multiply;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  background-size: 100%;
  background-image: var(--background-image);
  background-color: rgba(0, 0, 0, 0.8);
  background-color: var(--background-color);
  background-size: cover;
}
.-ms- .blend {
  background-blend-mode: unset !important;
  background-image: none !important;
  display: none;
}
@supports (-ms-ime-align: auto) {
  .blend {
    opacity: 0.15;
  }
}
.blendp .wrap {
  position: relative;
  z-index: 1;
}
.tc .l {
  padding-right: 1em;
}
.tc .r {
  padding-left: 1em;
}
.tc .row.flx-rr > .col.l {
  padding-right: 0;
  padding-left: 1em;
}
.tc .row.flx-rr > .col.r {
  padding-left: 0;
  padding-right: 1em;
}
.tc img {
  display: block;
  width: 100%;
  height: auto;
}
.tc .hoverImg {
  float: left;
  width: 100%;
}
.tc .above {
  width: 100%;
}
[data-offset-top="3"] {
  margin-top: -3em;
}
.row {
  width: 100%;
}
.row > .col {
  float: left;
  padding: 0 0.5em;
  min-height: 1em;
}
.tc .row > .col.l {
  padding-right: 1em;
  padding-left: 0;
}
.tc .row > .col.r {
  padding-left: 1em;
  padding-right: 0;
}
.tc .row[data-columns="3"] > .col {
  padding-left: 0.5em;
  padding-right: 0.5em;
}
.tc hgroup > * {
  margin: 0;
}
.tc hgroup.ico {
  padding-left: 5em;
  position: relative;
}
.fassIco:after,
.tc hgroup.ico:after {
  content: "";
  width: 4em;
  height: 4em;
  background: #e6e6e6;
  border: 2px solid #595959;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.fassIco:before,
.tc hgroup.ico:before {
  color: #005db2;
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  right: auto;
  z-index: 1;
  font-size: 2em;
  width: 2em;
}
.tc a.hoverImg {
  text-decoration: none;
}
.tc .alternative {
  background: #fff;
  padding: 0.5em 1em;
  font-size: 0.8em;
  position: absolute;
  left: 1em;
  bottom: 1em;
  max-width: calc(100% - 2em);
  z-index: 1;
  color: #595959;
}
.tc .banner figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 4em;
  font-size: 0.8em;
  line-height: 1em;
  display: flex;
  justify-content: center;
}
.tc .banner figcaption span {
  background: #fff;
  border-radius: 1em;
  padding: 0.5em 1em;
  font-size: 0.8em;
}
body .flexslider {
  border: none;
  background: transparent;
  margin: 0;
}
.testimonials {
  float: left;
  width: 100%;
}
.testimonials .wrap {
  margin-top: 1em;
}
.testimonials .pad {
  padding: 1em;
  float: left;
  width: 100%;
}
.bgw .testimonials .pad .wrap {
  background: #f2f2f2;
}
.bgw .testimonials .card .wrap {
  background: #f2f2f2;
}
.testimonials .name {
  color: rgba(0, 0, 0, 0.5);
  float: left;
  width: 100%;
  padding: 1em;
  text-align: right;
}
.testimonials .card .wrap {
  margin-bottom: 1em;
}
.testimonials .card .name {
  width: auto;
  text-align: left;
  padding-left: 0;
}
.testimonials .card .logo {
  padding-right: 1em;
}
.testimonials .card .logo img {
  width: auto;
  height: 6em;
  display: block;
}
.testimonials .card .wrap {
  padding: 0 1em;
  background: #fff;
  float: left;
  width: 100%;
  box-shadow: 0 0em 1em rgba(0, 0, 0, 0.15);
}
.testimonials .card .txt {
  font-size: 1.25em;
  line-height: 1.5em;
  quotes: "„" "“" "‚" "‘";
}
.testimonials .card .img img {
  display: block;
  width: 100%;
  height: auto;
}
.testimonials .card .author {
  margin-top: 1em;
  float: left;
  width: 100%;
}
.testimonials .card .txt p:first-child:before {
  content: open-quote;
}
.testimonials .card .txt p:last-child:after {
  content: close-quote;
}
.flexslider .flex-direction-nav a {
  top: 2.1em;
  background: #8d7a67;
  color: #fff;
  opacity: 1;
  width: 2em;
  height: 2em;
  text-indent: -9999px;
  text-align: left;
  overflow: hidden;
  font-size: 1.5em;
}
.flexslider .flex-direction-nav a:after {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
}
.flexslider .flex-direction-nav a:hover {
  background: #7e6d5c;
}
.flexslider .flex-direction-nav a.flex-prev:hover {
  transform: translateX(-0.25em);
}
.flexslider .flex-direction-nav a.flex-prev:after {
  content: "\e803";
}
.flexslider .flex-direction-nav a.flex-next:hover {
  transform: translateX(0.25em);
}
.flexslider .flex-direction-nav a.flex-next:after {
  content: "\e802";
}
.flexslider .flex-direction-nav .flex-prev {
  left: -2em;
}
body .flexslider:hover .flex-direction-nav .flex-prev {
  left: -2em;
  opacity: 1;
}
.flexslider .flex-direction-nav .flex-next {
  right: -2em;
}
body .flexslider:hover .flex-direction-nav .flex-next {
  right: -2em;
  opacity: 1;
}
.testimonials .owl-stage,
.testimonials .owl-item {
  display: flex;
}
.testimonials .owl-item .card .wrap {
  margin: 0;
}
.testimonials .owl-item .quote {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: space-between;
}
.testimonials .owl-dots-container {
  display: flex;
  justify-content: center;
  padding-top: 1em;
}
.testimonials .owl-dots-container button {
  margin: 3px;
  width: 1em;
  height: 1em;
  background: transparent;
  border: 2px solid #ccc;
  transition: all 0.2s ease-in-out 0s;
}
.testimonials .owl-dots-container button:hover {
  background-color: #ccc;
}
.testimonials .owl-dots-container button.active {
  border-color: #8d7a67;
  background-color: #8d7a67;
}
.reference a {
  display: block;
  float: left;
  width: 100%;
  position: relative;
  text-decoration: none;
}
.reference li {
  padding: 1em;
}
.reference ul {
  justify-content: center;
}
.reference .img {
  position: relative;
  float: left;
  width: 100%;
  background-size: 100% auto;
  color: inherit;
}
.reference .img img {
  display: block;
  width: 100%;
  height: auto;
}
.reference .name {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 1em;
  overflow: hidden;
  background-image: inherit;
  background-position: left bottom;
  background-size: 100%;
  text-shadow: 0px -1px rgba(255, 255, 255, 0.5);
}
.reference .blur {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
.reference .blur image {
  display: block;
  width: 100%;
  height: auto;
}
.reference .blur svg {
  position: absolute;
  bottom: 0;
}
.reference .name:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(5px);
}
.reference .name .abs {
  position: relative;
  z-index: 1;
  color: #595959;
  font-size: 1.25em;
}
.reference .low {
  padding: 1em 1em 2em 1em;
  display: block;
  float: left;
  width: 100%;
  color: #737373;
  padding-bottom: 5em;
}
.reference a:hover .btn {
  padding-left: 4em;
  background: #8d7a67;
}
.reference a:hover .btn:before {
  left: 0;
}
.reference .btnwrap {
  position: absolute;
  left: 1em;
  bottom: 1em;
  height: 3em;
}
.reference li[data-segment="ing"] .name {
  position: relative;
}
.reference li[data-segment="ing"] .name:after {
  display: none;
}
.reference .reftip {
  color: #000;
  width: 100%;
}
.reference .reftip .head {
  background: #8d7a67;
  display: block;
  width: 100%;
  padding: 1em;
  color: #fff;
  margin: 0;
  font-weight: normal;
  font-size: 1.2em;
  cursor: pointer;
  transition: all 0.2s ease-in-out 0s;
  position: relative;
}
.reference .reftip .head:hover {
  background: #998774;
}
.reference .reftip .h3 {
  margin: 0;
  padding: 0.2em 0;
  font-weight: normal;
  font-size: 1.2em;
}
.reference .reftip .content {
  max-height: 0;
  overflow: hidden;
  transition: all 0.2s ease-in-out 0s;
  background: #fff;
}
.reference .reftip.is-active .content {
  max-height: 25em;
}
.reference .reftip .location {
  font-size: 0.9em;
  display: inline-block;
  padding-left: 1.5em;
  position: relative;
  opacity: 0.8;
}
.reference .reftip .location:before {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  content: "\e84e";
  right: auto;
}
.reference .preview {
  position: absolute;
  right: 1em;
  top: 1em;
}
.reference .preview li {
  padding: 0;
}
.reference .preview li:not(:last-child) {
  width: 0.5em;
}
.reference .preview img {
  border-radius: 100%;
  border: 3px solid #fff;
  max-width: none;
}
.reference .gallery li {
  width: 33.33333333%;
  padding: 0;
}
.reference .gallery[data-count="1"] li {
  width: 100%;
}
.reference .gallery[data-count="2"] li {
  width: 50%;
}
.reference .gallery[data-count="3"] li {
  width: 33.33333333%;
}
.reference .gallery[data-count="4"] li {
  width: 25%;
}
.w-50 [data-references="1"] li {
  width: 100%;
}
.news-home > ul {
  margin: 0;
  padding: 0;
  list-style: none;
  float: left;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.news-home > ul > li {
  width: 33.33333333%;
  box-sizing: border-box;
  display: flex;
  padding: 0.5em;
}
.news-home > ul > div:first-child {
  display: none;
}
.bgw .news-home > ul > li > a {
  background: #f9f9f9;
}
.news-home > ul > li > a {
  float: left;
  width: 100%;
  background: #fff;
  box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.2);
  color: inherit;
  text-decoration: none;
  position: relative;
  bottom: 0;
  transition: all 0.2s ease-in-out 0s;
}
.news-home > ul a .img {
  float: left;
  width: 100%;
  position: relative;
  overflow: hidden;
}
.news-home > ul a .img img {
  display: block;
  width: 100%;
  height: auto;
  transition: scale(1);
  position: relative;
  transition: all 0.2s ease-in-out 0s;
}
.news-home > ul a:hover img {
  transform: scale(1.05);
}
.news-home > ul a .txt {
  float: left;
  width: 100%;
  box-sizing: border-box;
  padding: 2em 2em 4em 2em;
  color: #808080;
}
.news-home > ul a h3 {
  color: #000;
}
.news-home > ul a .date {
  color: #005db2;
}
.news-home > ul a .low {
  float: left;
  width: 100%;
  color: #808080;
  padding-top: 1em;
  font-size: 0.9em;
  position: absolute;
  bottom: 2em;
  left: 2em;
  display: flex;
}
.news-home > ul a .low .cat {
  position: relative;
  padding-left: 0.5em;
  padding-right: 0.5em;
  line-height: 1em;
}
.news-home > ul a .low .cat.fassaden {
  border-left: 3px solid #be1e10;
}
.news-home > ul a .low .cat.kantprofile {
  border-left: 3px solid #ffa22b;
}
.news-home > ul a .low .cat.metall-am-dach {
  border-left: 3px solid #36b64b;
}
.news-home > ul a .low .cat.ingenieurleistungen {
  border-left: 3px solid #466071;
}
.news-home > ul a .low .cat.schrag-gruppe {
  border-left: 3px solid #005db2;
}
.news-home > ul a .low .news-list-category {
  float: left;
  width: 100%;
}
.news-home > ul a .low .news-list-category span {
  float: left;
  padding-left: 1.5em;
  position: relative;
}
.news-home > ul a .low .news-list-category span:before {
  content: "";
  display: block;
  width: 0.35em;
  height: 0.35em;
  top: 0;
  bottom: 0;
  margin: auto;
  left: 0.5em;
  position: absolute;
}
.news-home > ul a .low .fas:before {
  background: #be1e10;
}
.news-home > ul a .low .sch:before {
  background: #005db2;
}
.news-home > ul a .low .kan:before {
  background: #ffa22b;
}
.news-home > ul a .low .met:before {
  background: #36b64b;
}
.news-home > ul a .low .ing:before {
  background: #466071;
}
.news-home > ul a:hover {
  bottom: 0.25em;
  box-shadow: 0px 0.25em 3px rgba(0, 0, 0, 0.3);
}
.page-navigation {
  float: left;
  width: 100%;
}
.page-navigation li {
  width: 2em !important;
  margin: 0 2px !important;
  padding: 0 !important;
  text-align: center;
}
.page-navigation li.current {
  background: #005db2 !important;
  color: #fff !important;
}
.news-img-wrap img {
  display: block;
  width: 100%;
  height: auto;
}
.news .page-navigation p {
  margin: 0;
}
.news .page-navigation {
  padding: 1em;
}
.news .page-navigation ul {
  display: flex;
}
.news .page-navigation a,
.news .page-navigation .a,
.news .page-navigation .current {
  display: block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  text-align: center;
  background: #fff;
  text-decoration: none;
  color: #000;
  transition: all 0.2s ease-in-out 0s;
  overflow: hidden;
  position: relative;
}
.news .page-navigation .a,
.news .page-navigation a:hover {
  background: #8d7a67;
  color: #fff;
}
.news .page-navigation .prev a,
.news .page-navigation .previous a,
.news .page-navigation .next a {
  text-indent: -999px;
}
.news .page-navigation .next a:after {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  content: "\e802";
  font-size: 0.8em;
}
.news .page-navigation .prev a:after,
.news .page-navigation .previous a:after {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  content: "\e803";
  font-size: 0.8em;
}
.news-categories ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.news-categories li {
  padding: 0.25em;
}
.news-categories a {
  display: block;
  padding: 1em;
  position: relative;
  text-decoration: none;
  color: #000;
  background: #fff;
  border: 1px solid #d9d9d9;
  line-height: 1em;
  transition: all 0.2s ease-in-out 0s;
}
.news-categories a:hover {
  border-left-color: #000;
  border-top-color: #000;
  border-right-color: #000;
}
.news-categories a.active {
  border-left-color: #000;
  border-top-color: #000;
  border-right-color: #000;
}
.news-categories a.fassaden {
  border-bottom: 3px solid #be1e10;
}
.news-categories a.kantprofile {
  border-bottom: 3px solid #ffa22b;
}
.news-categories a.metall-am-dach {
  border-bottom: 3px solid #36b64b;
}
.news-categories a.ingenieurleistungen {
  border-bottom: 3px solid #466071;
}
.news-categories a.schrag-gruppe {
  border-bottom: 3px solid #005db2;
}
.f3-widget-paginator {
  margin: 0;
  padding: 0;
  list-style: none;
}
.news-related-files-size {
  display: none !important;
}
.news-related-files ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.news-related-files li {
  padding: 2px 0;
}
.news-related-files .news-related-files-link {
  border: none;
  margin: 0;
  padding: 0;
}
.news-related-files .news-related-files-link a {
  display: block;
  padding: 1em;
  text-decoration: none;
  background: #f9f9f9;
  border: none;
  margin: 0;
  width: 100%;
  border-left: 3px solid #005db2;
  word-break: break-all;
}
[data-layout="news"] .gallery .img {
  width: 100%;
  position: relative;
}
[data-layout="news"] .gallery .img:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  border: 0.5em solid #fff;
  position: absolute;
  pointer-events: none;
}
[data-layout="news"] .gallery figure {
  margin: 0;
}
[data-layout="news"] .gallery figcaption {
  position: absolute;
  z-index: 1;
  bottom: 1em;
  left: 1em;
  background: #fff;
  display: block;
  padding: 0.5em 1em;
  max-width: calc(100% - 2em);
  border-radius: 0.5em;
  font-size: 0.9em;
  padding-left: 2.5em;
  line-height: 1.5em;
}
[data-layout="news"] .gallery figcaption:after {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  right: auto;
  left: 1em;
  content: "\e80f";
  color: #005db2;
  font-weight: 600;
}
[data-layout="news"] .gallery figcaption {
  padding-left: 1em;
}
[data-layout="news"] .gallery figcaption:after {
  display: none;
}
.locations {
  position: relative;
}
.locations .l ul {
  float: left;
  width: 100%;
  display: none;
}
.locations .l li {
  float: left;
  width: 100%;
}
.locations .l li[class] a:after {
  display: none;
  content: "";
  width: 1em;
  height: 1em;
  position: absolute;
  right: 0.5em;
  top: 0;
  bottom: 0;
  margin: auto;
  background-size: 1em 1em;
  box-sizing: content-box;
  border: 1px solid #f9f9f9;
}
.locations .l li.de a:after {
  background-image: url('../../Images/site-schka/icons/flags/square-flag-de@2x.png');
}
.locations .l li.cz a:after {
  background-image: url('../../Images/site-schka/icons/flags/square-flag-cz@2x.png');
}
.locations .l li.pl a:after {
  background-image: url('../../Images/site-schka/icons/flags/square-flag-pl@2x.png');
}
.locations .l li.at a:after {
  background-image: url('../../Images/site-schka/icons/flags/square-flag-at.svg');
}
.locations .l li.ch a:after {
  background-image: url('../../Images/site-schka/icons/flags/square-flag-ch.svg');
}
.locations .l li.sk a:after {
  background-image: url('../../Images/site-schka/icons/flags/square-flag-sk.svg');
}
.locations .l li a {
  display: block;
  width: 100%;
  padding: 0.5em 1em 0.5em 2em;
  text-decoration: none;
  background: #fff;
  transition: all 0.2s ease-in-out 0s;
  line-height: 1em;
  color: #737373;
  position: relative;
}
.locations .l li a:hover {
  text-decoration: underline;
}
.locations .l li a:before {
  content: "";
  border: 2px solid #fff;
  width: 0.75em;
  height: 0.75em;
  position: absolute;
  left: 0.75em;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #8d7a67;
  display: block;
  transform: scale(1);
  transition: all 0.2s ease-in-out 0s;
}
.locations .l li a.mixitup-control-active:before {
  background: #005db2;
}
.locations .l li a.act:before {
  border: 2px solid #005db2;
}
.locations .a {
  display: block;
  width: 100%;
  padding: 0.5em 1em;
  position: relative;
  color: #fff;
}
.locations [data-company="kan"] .a,
.locations .l [data-company="kan"] a:before {
  background: #ffa22b;
}
.locations [data-company="fas"] .a,
.locations .l [data-company="fas"] a:before {
  background: #be1e10;
}
.locations [data-company="met"] .a,
.locations .l [data-company="met"] a:before {
  background: #36b64b;
}
.locations [data-company="ing"] .a,
.locations .l [data-company="ing"] a:before {
  background: #466071;
}
.locations .l li a.act,
.locations .l li a:hover {
  background: #fff;
}
.locations .r img {
  display: block;
  width: 100%;
  height: auto;
}
.locations .r {
  position: relative;
}
.locations .r li {
  position: absolute;
}
.locations .r a {
  display: block;
  width: 0.75em;
  height: 0.75em;
  text-indent: -9999px;
  overflow: hidden;
  transition: all 0.2s ease-in-out 0s;
  transform: scale(1);
}
.locations .r a:hover,
.locations .r a.act {
  transform: scale(1.1);
  border: 0.1em solid #005db2 !important;
  animation: pulse 2s infinite;
}
.locations .r [data-company="kan"] a {
  background: #ffa22b;
  border-color: #ffa22b;
}
.locations .r [data-company="fas"] a {
  background: #be1e10;
  border-color: #be1e10;
}
.locations .r [data-company="met"] a {
  background: #36b64b;
  border-color: #36b64b;
}
.locations .r [data-company="ing"] a {
  background: #466071;
  border-color: #466071;
}
.locations .route {
  position: absolute;
  right: 0;
  bottom: 0;
}
.locations[data-active="kan"] .l [data-company="kan"] {
  display: block;
}
.locations[data-active="kan"] .r ul:not([data-company="kan"]) a {
  border-width: 0.1em;
  border-style: solid;
  background: #fff;
  pointer-events: none;
}
.locations[data-active="fas"] .l [data-company="fas"] {
  display: block;
}
.locations[data-active="fas"] .r ul:not([data-company="fas"]) a {
  border-width: 0.1em;
  border-style: solid;
  background: #fff;
  pointer-events: none;
}
.locations[data-active="met"] .l [data-company="met"] {
  display: block;
}
.locations[data-active="met"] .r ul:not([data-company="met"]) a {
  border-width: 0.1em;
  border-style: solid;
  background: #fff;
  pointer-events: none;
}
.locations[data-active="ing"] .l [data-company="ing"] {
  display: block;
}
.locations[data-active="ing"] .r ul:not([data-company="ing"]) a {
  border-width: 0.1em;
  border-style: solid;
  background: #fff;
  pointer-events: none;
}
.locations[data-active="all"] .l [data-company="kan"],
.locations[data-active="all"] .l [data-company="fas"],
.locations[data-active="all"] .l [data-company="met"],
.locations[data-active="all"] .l [data-company="ing"] {
  display: block;
}
@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(0, 93, 178, 0.4);
  }
  70% {
    box-shadow: 0 0 0 0.5em rgba(0, 93, 178, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(0, 93, 178, 0);
  }
}
.tooltipster-sidetip .tooltipster-box {
  background: #fff;
  border: none;
  box-shadow: 0 1em 2em rgba(0, 0, 0, 0.15);
}
.tooltipster-sidetip .tooltipster-content {
  color: #000;
}
.tooltipster-sidetip .tooltipster-arrow-background,
.tooltipster-sidetip .tooltipster-arrow-border {
  border-top-color: #fff !important;
}
.locations .logo {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 15em;
  height: 15em;
  pointer-events: none;
}
.productGallery {
  float: left;
  width: 100%;
}
.productGallery .pad {
  padding: 1em;
  float: left;
  width: 100%;
}
.productGallery .img {
  float: left;
  width: 100%;
}
.productGallery .name {
  float: left;
  width: 100%;
  padding: 1em;
  text-align: center;
}
.productGallery a {
  float: left;
  width: 100%;
  position: relative;
}
.hoverImg {
  display: block;
  overflow: hidden;
}
.hoverImg img {
  display: block;
  position: relative;
  transform: scale(1);
  transition: all 0.2s ease-in-out 0s;
}
.hoverImg:hover img {
  transform: scale(1.1);
  transition: all 0.2s ease-in-out 0s;
}
/*.hoverImg:before { content: ""; display: block; width: 100%; height: 100%; position: absolute; left: 0; top: 0; background: fade(@secondary,15%); opacity: 0; .transition(); }
.hoverImg:after { content: "\e809"; .centerIcon(); font-size: 2em; color: @blue; text-shadow: 0px 2px 0px #fff, 0px -2px 0px #fff, -2px 0px 0px #fff, 2px 0px 0px #fff; opacity: 0; transform: translateY(-1em); .transition(); }
.hoverImg:hover:before { opacity: 1; }
.hoverImg:hover:after { transform: translateY(0em); opacity: 1; }*/
.lower .col > div {
  float: left;
  width: 100%;
  padding: 2em;
}
.schrag-companies li {
  width: 33.33333333%;
  padding: 1em;
  float: left;
}
.schrag-companies a {
  display: block;
  width: 100%;
  position: relative;
  bottom: 0;
  transition: all 0.2s ease-in-out 0s;
}
.schrag-companies a:before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
}
.schrag-companies a:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  transform: scale(1);
  transition: all 0.2s ease-in-out 0s;
}
.schrag-companies a:hover {
  bottom: 0.2em;
}
.schrag-companies .name {
  position: absolute;
  width: 100%;
  height: 100%;
  font-weight: 500;
  color: #fff;
  z-index: 2;
  top: 0;
  left: 0;
  padding: 1em;
  line-height: 1em;
  font-size: 0.95em;
  display: none;
}
.schrag-companies .img {
  display: block;
  position: absolute;
  width: 100%;
  width: calc(100% + 2em);
  z-index: 1;
  overflow: hidden;
}
.schrag-companies .img img {
  display: block;
  width: 100%;
  height: auto;
  transition: all 0.2s ease-in-out 0s;
  position: relative;
}
.schrag-companies .kan {
  background: #ffad45;
}
.schrag-companies .kan:after {
  background: #ffa22b;
}
.schrag-companies .kan .img {
  left: -1em;
  bottom: -1em;
}
.schrag-companies .fas {
  background: #d62212;
  z-index: 2;
}
.schrag-companies .fas:after {
  background: #be1e10;
}
.schrag-companies .fas .img {
  right: -1em;
  bottom: -1em;
}
.schrag-companies .met {
  background: #3fc655;
}
.schrag-companies .met:after {
  background: #36b64b;
}
.schrag-companies .met .img {
  right: -1em;
  bottom: -1em;
}
.schrag-companies .ing {
  background: #506d81;
}
.schrag-companies .ing:after {
  background: #466071;
}
.schrag-companies .ing .img {
  right: -1em;
  bottom: -1em;
}
.customSelect,
.newsletter select {
  width: 100%;
  height: 3em;
  border: none;
  border-bottom: 1px solid #d9d9d9;
  cursor: pointer;
  outline: none;
  background: #ffffff url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0ZWQgYnkgSWNvTW9vbi5pbyAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj4KPHBhdGggZD0iTTAgNmMwLTAuMTI4IDAuMDQ5LTAuMjU2IDAuMTQ2LTAuMzU0IDAuMTk1LTAuMTk1IDAuNTEyLTAuMTk1IDAuNzA3IDBsOC42NDYgOC42NDYgOC42NDYtOC42NDZjMC4xOTUtMC4xOTUgMC41MTItMC4xOTUgMC43MDcgMHMwLjE5NSAwLjUxMiAwIDAuNzA3bC05IDljLTAuMTk1IDAuMTk1LTAuNTEyIDAuMTk1LTAuNzA3IDBsLTktOWMtMC4wOTgtMC4wOTgtMC4xNDYtMC4yMjYtMC4xNDYtMC4zNTR6IiBmaWxsPSIjMDAwMDAwIj48L3BhdGg+Cjwvc3ZnPgo=) no-repeat 95% 50%;
  background-size: 0.75em;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}
.customInput,
.newsletter input {
  width: 100%;
  height: 3em;
  border: none;
  border-bottom: 1px solid #d9d9d9;
  outline: none;
  position: relative;
}
.newsletter .clever_form_error {
  background-color: #fff6bf;
  color: #514721;
  border-color: #ffd324;
  list-style-type: none;
}
.newsletter .w-33:nth-child(2) {
  padding: 0 0.5em;
}
.customRequired,
.newsletter .required:after {
  content: "\e818";
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  right: 0;
  font-family: "fontello";
  text-indent: 0;
  font-size: 0.7em;
  right: 1em;
  top: 0;
  bottom: 0;
  margin: auto;
  left: auto;
  font-size: 0.4em;
}
.legend {
  position: absolute;
  right: 2em;
  top: 3.5em;
  font-style: italic;
  line-height: 1em;
}
.legend .ico-star {
  display: block;
  float: left;
  width: 1em;
  height: 1em;
  position: absolute;
  font-style: normal;
  left: -1.5em;
  top: 0;
  color: #005db2;
  bottom: 0;
}
.legend .ico-star:after {
  content: "\e818";
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  font-size: 0.7em;
}
.meta {
  font-size: 0.9em;
}
.meta.bt {
  border-top: 0.25em solid #ececec;
}
.meta a {
  color: inherit;
  text-decoration: none;
  position: relative;
  transition: all 0.2s ease-in-out 0s;
}
.meta a:hover {
  color: #005db2;
}
.meta .l a:after {
  display: block;
  width: 0.25em;
  height: 0.25em;
  content: "";
  position: absolute;
  left: -1.5em;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #005db2;
  transform: translateX(0);
  transition: all 0.2s ease-in-out 0s;
  opacity: 0;
}
.meta .l a:hover:after {
  transform: translateX(0.75em);
  opacity: 1;
}
.meta .r {
  border-left: 0.25em solid #005db2;
  padding-left: 2em;
}
.meta .r ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
/*.meta .r li { padding-left: 1.5em; position: relative; 
	&:before { .centerIcon(); right: auto; opacity: 0.5; }
}
.meta .r li:nth-child(1):before { content: "\e815"; }
.meta .r li:nth-child(2):before { content: "\e813"; }
.meta .r li:nth-child(3):before { content: "\e82c"; }*/
.meta .r a:hover {
  color: #005db2;
}
.meta .scroll {
  width: 3em;
  height: 3em;
  background: #f9f9f9;
  display: block;
  position: absolute;
  right: 0;
  top: -0.25em;
  overflow: hidden;
  text-indent: -999px;
  border-bottom: 0.25em solid #e6e6e6;
}
.meta .scroll [class*="popout"] .popcontainer {
  background: #fff;
}
.meta .scroll:after {
  content: "\e805";
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
}
.meta .scroll:hover {
  transform: translateY(0.5em);
}
.meta .tc .row > .col.bl05 {
  padding-left: 2em;
}
body .row .col.pl2 {
  padding-left: 2em;
}
.footer .inner {
  font-size: 0.9em;
}
.footer li {
  float: left;
}
.footer li:not(:first-child) {
  padding-left: 1em;
}
.footer a {
  color: inherit;
  transition: all 0.2s ease-in-out 0s;
  text-decoration: none;
}
.footer a:hover {
  color: #005db2;
}
.ribbon {
  position: fixed;
  top: 0;
  bottom: 0;
  margin: auto;
  right: -12em;
  width: 15em;
  height: 9em;
  z-index: 10;
}
.ribbon ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.ribbon a {
  float: left;
  display: block;
  width: 100%;
  text-decoration: none;
  color: inherit;
  display: flex;
}
.ribbon li {
  float: left;
  display: block;
  width: 100%;
  background: #fff;
  display: flex;
  margin-top: 1px;
  transition: all 0.2s ease-in-out 0s;
}
.ribbon li:hover {
  transform: translateX(-12em);
}
.ribbon .trigger {
  width: 3em;
  height: 3em;
  overflow: hidden;
  background: #8d7a67;
  display: block;
  position: relative;
  cursor: pointer;
  transition: all 0.2s ease-in-out 0s;
}
/*.ribbon li.top a:hover .trigger,*/
.ribbon .trigger:hover {
  background: #7e6d5c;
}
.ribbon .trigger:before {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  color: #fff;
}
.ribbon .trigger.cal:before {
  content: "\e815";
}
.ribbon .trigger.con:before {
  content: "\e82c";
}
.ribbon .trigger.log:before {
  content: "\e82e";
}
.ribbon .trigger.top:before {
  content: "\e805";
}
.ribbon .trigger.tim:before {
  content: "\e84d";
}
.ribbon .content {
  float: left;
  width: calc(100% - 3em);
  padding: 1em;
  line-height: 1em;
}
/*.ribbon li.top { transform: translateX(3em); }
.ribbon.go li.top { transform: translateX(0); }*/
.ribbon .mobile {
  display: none;
}
[class*="Overlay"] {
  background: rgba(249, 249, 249, 0.85);
  z-index: 10;
  top: 0;
  position: fixed;
  width: 100%;
  min-height: 100%;
  left: 0;
  max-height: 100%;
  overflow-y: scroll;
  transition: all 0.5s cubic-bezier(0.05, 0.6899999999999999, 0.14, 1) 0s;
  backdrop-filter: blur(3px);
  opacity: 0;
  pointer-events: none;
}
[class*="Overlay"].open {
  opacity: 1;
  pointer-events: unset;
}
[class*="Overlay"] .topbar {
  background: #005db2;
  color: #fff;
  position: relative;
  z-index: 1;
}
[class*="Overlay"] .topbar .center {
  margin: 0 auto;
  max-width: 35em;
  display: flex;
  text-align: center;
}
[class*="Overlay"] form {
  width: 100%;
}
[class*="Overlay"] .form {
  width: 100%;
  display: flex;
  align-items: center;
}
[class*="Overlay"] .lowbar {
  float: left;
  width: 100%;
  height: 100%;
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 0;
}
[class*="Overlay"] .lowbar .center {
  background: #fff;
  border-bottom: 0.2em solid #005db2;
  padding: 3em;
  width: 100%;
  max-width: 40em;
  opacity: 0;
  margin-left: 2em;
  transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s;
  transition-delay: 0.2s;
}
[class*="Overlay"].open .lowbar .center {
  opacity: 1;
  transform: translateX(-2em);
}
[class*="Overlay"] .close {
  position: absolute;
  right: 3em;
  top: 0;
  bottom: 0;
  width: 3em;
  height: 3em;
  color: #fff;
  margin: auto;
  overflow: hidden;
  text-indent: -999px;
  font-size: 2em;
}
[class*="Overlay"] .close:after {
  content: "\e80e";
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  transition: all 0.2s ease-in-out 0s;
}
[class*="Overlay"] .close:hover {
  background: #005099;
}
[class*="Overlay"] .close:hover:after {
  transform: scale(0.9);
}
.searchOverlay .inner {
  position: relative;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.03), 0 2px 2px rgba(0, 0, 0, 0.03), 0 4px 4px rgba(0, 0, 0, 0.03), 0 8px 8px rgba(0, 0, 0, 0.03), 0 16px 16px rgba(0, 0, 0, 0.03);
}
.searchOverlay input[type="text"] {
  background: transparent;
  border: none;
  padding: 1em;
  height: 1em;
  font-size: 1.5em;
  width: calc(100% - 3em);
  outline: none;
  color: #000;
}
.searchOverlay .form {
  background: #f9f9f9;
  display: flex;
}
.searchOverlay ::-webkit-input-placeholder {
  color: #000;
}
.searchOverlay :-ms-input-placeholder {
  color: #000;
}
.searchOverlay ::placeholder {
  color: #000;
}
.searchOverlay button {
  background: transparent;
  width: 3em;
  height: 3em;
  border: none;
  position: relative;
  text-indent: -999px;
  overflow: hidden;
  font-size: 1.5em;
  background: #005db2;
  transition: all 0.2s ease-in-out 0s;
  cursor: pointer;
}
.searchOverlay button:after {
  content: "\e809";
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  color: #fff;
}
.searchOverlay button:hover {
  background: #005099;
}
.searchOverlay .inner:before {
  content: "";
  position: absolute;
  right: 0;
  top: -3em;
  width: 3em;
  height: 3em;
  background: #fff;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.03), 0 2px 2px rgba(0, 0, 0, 0.03), 0 4px 4px rgba(0, 0, 0, 0.03), 0 8px 8px rgba(0, 0, 0, 0.03), 0 16px 16px rgba(0, 0, 0, 0.03);
  z-index: -1;
}
.searchOverlay a[data-action="close-search"] {
  width: 3em;
  height: 3em;
  background: #fff;
  color: #000;
  display: block;
  position: absolute;
  right: 0;
  top: -3em;
  overflow: hidden;
  text-indent: -999px;
  transition: all 0.2s ease-in-out 0s;
}
.searchOverlay a[data-action="close-search"]:after {
  content: "\e80e";
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
}
.searchOverlay a[data-action="close-search"]:hover {
  background: #005db2;
  color: #fff;
}
.kesearchbox #ke_search_sword {
  border: none;
  padding: 1em 1em;
  background: #f9f9f9;
  font-size: 1.5em;
  width: 100%;
  height: auto;
  position: relative;
}
.kesearch_searchbox .kesearchbox {
  height: auto;
}
.kesearch_searchbox .resetbutt {
  display: none;
}
.kesearch_searchbox .submitbutt {
  float: left;
  width: 100%;
}
.kesearch_searchbox .submitbutt input[type="submit"] {
  min-width: 0;
  max-width: 100%;
  width: 100%;
  background: #005db2;
  color: #fff;
  padding: 1em;
  border: none;
  font-weight: bold;
  transition: all 0.2s ease-in-out 0s;
}
.kesearch_searchbox .submitbutt input[type="submit"]:hover {
  background: #005099;
}
#kesearch_num_results {
  box-sizing: border-box;
  width: 100%;
  clear: both;
  padding: 1em;
  border-left: 0.25em solid;
  margin: 0.25em 0;
  background-color: #fff6bf;
  color: #514721;
  border-color: #ffd324;
  list-style-type: none;
}
#kesearch_results {
  padding: 1em 0 0 0;
}
#kesearch_results > div:nth-child(odd) {
  background: #f9f9f9;
}
#kesearch_results > div.result-list-item {
  padding: 1em;
  margin: 0;
}
#kesearch_pagebrowser_bottom .result_txt {
  box-sizing: border-box;
  width: 100%;
  clear: both;
  padding: 1em;
  border-left: 0.25em solid;
  margin: 0.25em 0;
  background-color: #d5edf8;
  color: #205791;
  border-color: #92cae4;
}
.kesearch_pagebrowser ul {
  padding-left: 0;
  margin: 1em 0;
  list-style: none;
  float: left;
  width: 100%;
  display: flex !important;
  justify-content: center;
}
.kesearch_pagebrowser li {
  float: left;
  margin: 0.25em !important;
}
.kesearch_pagebrowser li + li {
  margin-left: 0.5em;
}
.kesearch_pagebrowser li a {
  display: block;
  width: 3em;
  height: 3em;
  line-height: 3em;
  padding: 0 !important;
  text-align: center;
  text-decoration: none;
  background: #f9f9f9;
  transition: all 0.2s ease-in-out 0s;
}
.kesearch_pagebrowser a.current {
  pointer-events: none;
}
.kesearch_pagebrowser a.current,
.kesearch_pagebrowser li a:hover {
  background: #005db2;
  color: #fff !important;
}
.kesearch_pagebrowser span.page-link {
  color: #fff !important;
  cursor: default;
  background-color: #005db2;
}
.kesearch_pagebrowser .disabled a {
  pointer-events: none;
  opacity: 0.5;
}
.kesearch_pagebrowser a.prev,
.kesearch_pagebrowser a.next {
  display: none;
}
.groupOverlay .lowbar .center {
  max-width: 80em;
}
.showname.schrag-companies .name,
.groupOverlay .schrag-companies .name {
  display: block;
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px #f9f9f9 inset !important;
}
.lower .powermail_fieldset {
  border: none;
  padding: 0;
}
.lower .powermail_fieldset .w-33 {
  float: left;
}
.lower .powermail_fieldset .w-33:nth-of-type(2) {
  padding: 0 0.5em;
}
.lower .powermail_fieldset .w-33 .powermail_label,
.lower .powermail_fieldset > .powermail_legend,
.lower .tx-powermail form > h3 {
  display: none;
}
.lower select {
  width: 100%;
  height: 3em;
  border: none;
  border-bottom: 1px solid #d9d9d9;
  cursor: pointer;
  outline: none;
  background: #ffffff url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0ZWQgYnkgSWNvTW9vbi5pbyAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj4KPHBhdGggZD0iTTAgNmMwLTAuMTI4IDAuMDQ5LTAuMjU2IDAuMTQ2LTAuMzU0IDAuMTk1LTAuMTk1IDAuNTEyLTAuMTk1IDAuNzA3IDBsOC42NDYgOC42NDYgOC42NDYtOC42NDZjMC4xOTUtMC4xOTUgMC41MTItMC4xOTUgMC43MDcgMHMwLjE5NSAwLjUxMiAwIDAuNzA3bC05IDljLTAuMTk1IDAuMTk1LTAuNTEyIDAuMTk1LTAuNzA3IDBsLTktOWMtMC4wOTgtMC4wOTgtMC4xNDYtMC4yMjYtMC4xNDYtMC4zNTR6IiBmaWxsPSIjMDAwMDAwIj48L3BhdGg+Cjwvc3ZnPgo=) no-repeat 95% 50%;
  background-size: 0.75em;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}
.lower input[type="text"],
.lower input[type="email"] {
  width: 100%;
  height: 3em;
  border: none;
  border-bottom: 1px solid #d9d9d9;
  outline: none;
  position: relative;
}
.lower .powermail_field.required {
  position: relative;
}
.lower .powermail_field.required:after {
  content: "\e818";
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  right: 0;
  font-family: "fontello";
  text-indent: 0;
  font-size: 0.7em;
  right: 1em;
  top: 0;
  bottom: 0;
  margin: auto;
  left: auto;
  font-size: 0.4em;
}
.lower .powermail_fieldwrap_type_textarea .required:after {
  content: "\e818";
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  right: 0;
  font-family: "fontello";
  text-indent: 0;
  font-size: 0.7em;
  right: 1em;
  top: 0;
  bottom: 0;
  margin: auto;
  left: auto;
  font-size: 0.4em;
  bottom: auto;
  top: 3.25em;
}
.lower .powermail_fieldwrap_type_textarea label {
  float: left;
  line-height: 3em;
}
.lower textarea {
  width: 100%;
  height: 3em;
  border: none;
  border-bottom: 1px solid #d9d9d9;
  outline: none;
  position: relative;
  border: 1px solid #d9d9d9;
  height: auto;
  padding: 0.5em;
  resize: vertical;
}
.lower .parsley-errors-list {
  display: none;
}
.lower .tx-powermail .parsley-error {
  background-color: #fff6bf;
  color: #514721;
  border-color: #ffd324;
  list-style-type: none;
}
.lower .tx-powermail .parsley-error::-webkit-input-placeholder {
  color: #514721;
}
.lower .tx-powermail .parsley-error:-ms-input-placeholder {
  color: #514721;
}
.lower .tx-powermail .parsley-error::placeholder {
  color: #514721;
}
.lower .checkbox {
  padding-left: 2em;
  position: relative;
}
.lower .checkbox input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.lower .powermail_fieldwrap_type_textarea .mandatory {
  display: none;
}
.lower .powermail_captchaimage {
  padding: 0.5em 0;
}
.lower .powermail_message_error {
  box-sizing: border-box;
  width: 100%;
  clear: both;
  padding: 1em;
  border-left: 0.25em solid;
  margin: 0.25em 0;
  background-color: #fff6bf;
  color: #514721;
  border-color: #ffd324;
  list-style-type: none;
}
.powermail_submit {
  text-decoration: none;
  line-height: 1em;
  padding: 1em 1.5em;
  display: inline-block;
  transition: all 0.2s ease-in-out 0s;
  position: relative;
  font-size: 1em;
  color: #fff;
  background: #8d7a67;
  border: none;
  overflow: hidden;
  border: 3px solid #8d7a67;
  margin-top: 1em;
  border-radius: 0;
  cursor: pointer;
}
.powermail_submit:before {
  font-family: "fontello";
  position: absolute;
  font-size: 1em;
  right: -3em;
  line-height: 3em;
  top: 0;
  width: 3em;
  height: 100%;
  opacity: 1;
  color: #fff;
  text-align: center;
  transition: all 0.2s ease-in-out 0s;
}
.powermail_submit:hover {
  background: #a49483;
  border-color: #a49483;
  color: #fff;
}
.powermail_submit.large {
  font-size: 1.2em;
}
.powermail_submit.small {
  font-size: 1em;
}
.powermail_submit.outline {
  background: transparent;
  color: #000;
  border: 0.5em solid #8d7a67;
}
.powermail_submit.outline:hover {
  background: rgba(141, 122, 103, 0.3);
  border-color: #a49483;
}
.powermail_submit.ico-up:before {
  content: "\e804";
}
.powermail_submit.ico-right:before {
  content: "\e802";
}
.powermail_submit.ico-down:before {
  content: "\e805";
}
.powermail_submit.ico-left:before {
  content: "\e806";
}
.powermail_submit.ico-mail:before {
  content: "\e82c";
}
.powermail_submit.ico-mob:before {
  content: "\e802";
}
.powermail_submit.ico-back:before {
  content: "\e803";
}
.checkmark {
  position: absolute;
  top: 0.25em;
  left: 0;
  height: 1.5em;
  width: 1.5em;
  background-color: #fff;
  border: 1px solid #d9d9d9;
  transition: all 0.2s ease-in-out 0s;
}
.checkbox label {
  display: block;
}
.checkbox label:hover {
  cursor: pointer;
}
.checkbox:hover input ~ .checkmark {
  background: #f9f9f9;
}
.checkbox input:checked ~ .checkmark {
  background-color: #005db2;
}
.checkmark:after {
  content: "\e806";
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  color: #fff;
  transform: scale(0);
  transition: all 0.2s ease-in-out 0s;
}
.checkbox input:checked ~ .checkmark:after {
  transform: scale(0.75);
}
.popcontainer .powermail_fieldwrap {
  padding: 0.25em;
}
.popcontainer .powermail_form .header {
  font-family: 'Jost', sans-serif;
  font-size: 1.5em;
  margin: 0.5em 0;
  padding: 0;
  line-height: 1.5em;
  font-weight: 300;
  color: inherit;
  width: 100%;
}
.popcontainer .powermail_form > h3 {
  display: none;
}
.popcontainer .powermail_fieldset {
  margin: 0;
  padding: 0;
  border: none;
  display: flex;
  flex-wrap: wrap;
}
.popcontainer .powermail_fieldset > legend {
  display: none;
}
.popcontainer .powermail_label {
  padding: 0.5em 0;
  font-weight: normal;
  display: block;
}
.popcontainer input[type="number"],
.popcontainer input[type="email"],
.popcontainer input[type="tel"],
.popcontainer input[type="text"] {
  padding: 1em;
  line-height: 1em;
  height: 3em;
  display: block;
  width: 100%;
  border: 1px solid #d9d9d9;
}
.popcontainer textarea {
  padding: 1em;
  line-height: 1em;
  min-height: 7em;
  display: block;
  width: 100%;
  border: 1px solid #d9d9d9;
  resize: vertical;
}
.popcontainer .powermail_select {
  padding: 0 1em;
  height: 3em;
  cursor: pointer;
  background: #ffffff url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0ZWQgYnkgSWNvTW9vbi5pbyAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj4KPHBhdGggZD0iTTAgNmMwLTAuMTI4IDAuMDQ5LTAuMjU2IDAuMTQ2LTAuMzU0IDAuMTk1LTAuMTk1IDAuNTEyLTAuMTk1IDAuNzA3IDBsOC42NDYgOC42NDYgOC42NDYtOC42NDZjMC4xOTUtMC4xOTUgMC41MTItMC4xOTUgMC43MDcgMHMwLjE5NSAwLjUxMiAwIDAuNzA3bC05IDljLTAuMTk1IDAuMTk1LTAuNTEyIDAuMTk1LTAuNzA3IDBsLTktOWMtMC4wOTgtMC4wOTgtMC4xNDYtMC4yMjYtMC4xNDYtMC4zNTR6IiBmaWxsPSIjMDAwMDAwIj48L3BhdGg+Cjwvc3ZnPgo=) no-repeat 95% 50%;
  background-size: 0.75em;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  border: 1px solid #d9d9d9;
}
.popcontainer .powermail_select::-ms-expand {
  display: none;
}
.popcontainer .parsley-errors-list {
  display: none;
}
.popcontainer select.parsley-error,
.popcontainer input.parsley-error,
.popcontainer .checkbox.parsley-error {
  background-color: #fff6bf;
  color: #514721;
  border-color: #ffd324;
  list-style-type: none;
}
.popcontainer > div {
  clear: both;
}
.powermail_fieldwrap.alert-100-blue {
  width: 100%;
}
.powermail_fieldwrap.alert-100-blue .powermail_field {
  box-sizing: border-box;
  clear: both;
  padding: 1em;
  border-left: 0.25em solid;
  margin: 0.25em 0;
  background-color: #d5edf8;
  color: #205791;
  border-color: #92cae4;
  width: 100%;
}
.powermail_fieldwrap.alert-100-green {
  width: 100%;
}
.powermail_fieldwrap.alert-100-green .powermail_field {
  box-sizing: border-box;
  clear: both;
  padding: 1em;
  border-left: 0.25em solid;
  margin: 0.25em 0;
  background-color: #e6efc2;
  color: #264409;
  border-color: #c6d880;
  width: 100%;
}
.powermail_fieldwrap.alert-100-yellow {
  width: 100%;
}
.powermail_fieldwrap.alert-100-yellow .powermail_field {
  box-sizing: border-box;
  clear: both;
  padding: 1em;
  border-left: 0.25em solid;
  margin: 0.25em 0;
  background-color: #fff6bf;
  color: #514721;
  border-color: #ffd324;
  list-style-type: none;
  width: 100%;
}
.powermail_form_25 .powermail_field {
  display: flex;
  width: 100%;
}
.powermail_form_25 .radio {
  padding: 0.5em;
}
.powermail_form_25 .radio img {
  background: #fff;
}
.powermail_form_25 .radio figcaption {
  text-align: center;
  padding: 1em;
  line-height: 1em;
}
.powermail_form_25 .radio figure {
  border: 1px solid #d9d9d9;
  background: #fff;
  transition: all 0.2s ease-in-out 0s;
  cursor: pointer;
}
.powermail_form_25 .radio figure:hover {
  border: 1px solid #bfbfbf;
  background: #f2f2f2;
}
.powermail_form_25 .radio input[type="radio"] {
  -webkit-appearance: none;
  appearance: none;
  height: 0;
  display: block;
}
.powermail_form_25 .radio input[type="radio"]:checked ~ figure {
  border: 1px solid #005db2;
}
.tx-powermail [data-pages="2"] .btn-group .btn {
  width: 50%;
}
.tx-powermail [data-pages="3"] .btn-group .btn {
  width: 33.33333333%;
}
.tx-powermail [data-pages="4"] .btn-group .btn {
  width: 25%;
}
.tx-powermail [data-pages="5"] .btn-group .btn {
  width: 20%;
}
.tx-powermail [data-pages="6"] .btn-group .btn {
  width: 16.66666667%;
}
.tx-powermail .btn-group {
  background: #f2f2f2;
  padding: 0;
  margin: 2em 0;
  overflow: hidden;
  height: 1em;
  display: flex;
  position: relative;
}
.tx-powermail .btn-group:after {
  content: "";
  width: 0.5em;
  height: 0.5em;
  background: #f9f9f9;
  position: absolute;
  left: -1px;
  top: -1px;
  clip-path: polygon(100% 0, 0 100%, 0 0);
}
.tx-powermail .btn-group .btn {
  overflow: initial;
  text-indent: -9999px;
  transform: skewX(0deg);
  height: 1em;
  padding: 0;
  transition: none;
  background: transparent;
  outline: none;
  border: none;
  margin: 0;
}
.tx-powermail .btn-group .btn:before {
  background: transparent;
  transition: none;
}
.tx-powermail .btn-group .btn-primary:before {
  width: 100em;
  height: 100%;
  background: #8d7a67;
  left: auto;
  top: 0;
  content: "";
  right: 0;
}
.tx-powermail .btn-group button:not(.btn-primary) {
  z-index: 1;
  background: transparent;
}
.tx-powermail .powermail_tab_navigation {
  display: flex;
  justify-content: flex-end;
  margin-top: 1em;
  width: 100%;
}
.tx-powermail .pull-right {
  text-indent: -9999px;
  overflow: hidden;
  float: right;
  margin-left: 1em;
}
.tx-powermail .pull-right:after {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  content: "\e802";
}
.tx-powermail .btn-warning {
  text-indent: -9999px;
  overflow: hidden;
  float: right;
}
.tx-powermail .btn-warning:after {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  content: "\e803";
}
#mobile {
  float: left;
  width: 100%;
  display: none;
}
#mobile .phone {
  width: 3em;
  height: 3em;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 100;
  text-indent: -999px;
  overflow: hidden;
}
#mobile .phone a {
  display: block;
  width: 3em;
  height: 3em;
  position: relative;
}
#mobile .phone:after {
  content: "\e815";
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  color: #fff;
  pointer-events: none;
}
#dl-menu {
  background: #005099;
}
#dl-menu .dl-menu {
  margin: 0;
}
.dl-menuwrapper button.dl-trigger:after {
  background: #fff;
  box-shadow: 0 10px 0 #fff, 0 20px 0 #fff;
  height: 2px;
  top: 0.8em;
}
.dl-menuwrapper button.dl-trigger:hover:after,
.dl-menuwrapper button.dl-trigger.dl-active:after {
  background: #fff;
  box-shadow: 0 10px 0 #fff, 0 20px 0 #fff;
}
.dl-menuwrapper button {
  background: #005db2;
  width: 3em;
  height: 3em;
}
.dl-menuwrapper button:hover,
.dl-menuwrapper button.dl-active,
.dl-menuwrapper ul {
  background: #005db2;
}
.dl-menuwrapper li.dl-back:after,
.dl-menuwrapper li > a:after {
  color: rgba(255, 255, 255, 0.5);
}
.dl-menuwrapper li.dl-back::after,
.dl-menuwrapper li > a:not(:only-child):after {
  content: "\e802";
  font-family: "fontello";
}
.breadcrumbs {
  padding-left: 1em;
  opacity: 0.75;
}
.breadcrumbs li {
  float: left;
  font-size: 0.9em;
}
.breadcrumbs li:first-child {
  font-weight: bold;
  padding-right: 1em;
}
.breadcrumbs li:not(:last-child):not(:first-child):after {
  content: "\e802";
  font-family: "fontello";
  font-size: 0.7em;
  padding: 0 1em;
}
.breadcrumbs a {
  color: inherit;
  text-decoration: none;
}
.breadcrumbs a:hover {
  text-decoration: underline;
}
.grid .col {
  padding: 1em;
}
.grid:not(.flx-rr)[data-config="50-50"] .col:nth-child(1) {
  padding-left: 0;
}
.grid:not(.flx-rr)[data-config="50-50"] .col:nth-child(2) {
  padding-right: 0;
}
.grid.flx-rr[data-config="50-50"] .col:nth-child(1) {
  padding-right: 0;
}
.grid.flx-rr[data-config="50-50"] .col:nth-child(2) {
  padding-left: 0;
}
section .inner,
.content .inner {
  float: left;
  width: 100%;
}
.content .left {
  width: 65%;
  float: left;
}
.content .right {
  width: 30%;
  float: right;
}
.content .intro {
  font-size: 1.25em;
  line-height: 1.5em;
}
.contenttable tr:nth-child(even) {
  background: #f9f9f9;
}
.contenttable td {
  padding: 0.5em 1em;
  vertical-align: top;
}
.contenttable tr > td:first-child {
  color: #000;
  border-right: 1px solid #e6e6e6;
}
.contenttable th {
  padding: 1em;
  color: #fff;
  background: #005db2;
  font-family: 'Jost', sans-serif;
  font-weight: 600;
}
.contenttable.ce-table-striped th,
.contenttable.ce-table-striped td {
  border: none;
}
ul.check {
  padding-left: 0;
  list-style: none;
}
ul.check li {
  padding-left: 2.5em;
  position: relative;
}
ul.check li:before {
  content: "✔";
  display: block;
  position: absolute;
  left: 1.25em;
  top: 0;
}
.categories.top {
  position: relative;
  z-index: 2;
}
.categories.top ul {
  height: 2em;
  width: 100%;
}
.categories.top li a {
  text-decoration: none;
  color: #000;
}
.categories.top li p {
  font-size: 0.8em;
}
.categories.top li {
  background: #fff;
  display: block;
  transform: translateY(-4em);
  line-height: 1em;
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.15);
}
.categories.top .icon {
  float: left;
  width: 100%;
  height: 4em;
  position: relative;
  margin-bottom: 1em;
}
.categories.top .fassIco:before,
.categories.top .fassIco:after {
  right: 0;
  margin: auto;
  transition: all 0.2s ease-in-out 0s;
}
.mixitup-control-active .fassIco:before {
  color: #fff;
}
.mixitup-control-active .fassIco:after {
  background: #005db2;
  border-color: #005db2;
}
.categories .controls li {
  padding: 0;
  box-shadow: none;
}
.categories .controls a {
  color: inherit;
  text-decoration: none;
  background: #fff;
  float: left;
  width: 100%;
  padding: 2em;
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.15);
  transition: all 0.2s ease-in-out 0s;
}
.categories .controls a:hover {
  background: #f9f9f9;
  transform: translateY(-2px);
  box-shadow: 0px 3px 2px rgba(0, 0, 0, 0.1);
}
.categories .controls p {
  margin-bottom: 0;
}
.controls .dropdown {
  float: left;
  width: 100%;
  padding-top: 2em;
  display: flex;
  flex-wrap: wrap;
}
.controls .dropdown fieldset {
  padding: 0 1em;
}
.categories.reference.top ul {
  height: 9em;
}
.mix-error {
  transform: scale(0);
  transition: all 0.2s ease-in-out 0s;
  display: none;
}
.mixitup-container-failed .mix-error {
  transform: scale(1);
  display: block;
}
.grid-container {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  -ms-grid-rows: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  grid-template-areas: "col1 col2" "col1 col3";
}
.col1 {
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  -ms-grid-column: 1;
  grid-area: col1;
}
.col2 {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: col2;
}
.col3 {
  -ms-grid-row: 2;
  -ms-grid-column: 2;
  grid-area: col3;
}
.alt-grid-container {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  -ms-grid-rows: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  grid-template-areas: "col1 col3" "col2 col3";
}
.alt-col1 {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: alt-col1;
}
.alt-col2 {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  grid-area: alt-col2;
}
.alt-col3 {
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  -ms-grid-column: 2;
  grid-area: alt-col3;
}
body .news-list h3 {
  color: inherit;
}
.news-list .item {
  width: 100%;
  padding: 0.5em;
}
.news-list .col1 .default .img {
  padding-left: 2em;
  padding-bottom: 0;
}
.news-list .col3 .reverse .img {
  padding-left: 2em;
  padding-bottom: 0;
}
.news-list .item .img {
  float: left;
  position: relative;
  padding: 2em 2em 2em 0;
}
.news-list .item img {
  display: block;
  width: 100%;
  height: auto;
}
.news-list .item .content {
  float: left;
  padding: 2em;
}
.news-list .item h3 {
  margin-top: 0;
}
.news-list .item a {
  float: left;
  width: 100%;
  text-decoration: none;
  color: #595959;
  overflow: hidden;
}
.news-list .item a:hover .btn {
  background: #998774;
}
.news-list .item .mobile {
  display: none;
}
.news-list .bgd .stroke {
  background-image: linear-gradient(transparent 0, #b2daff 0);
}
.news-list .categories {
  position: absolute;
  width: 100%;
  padding: 1em;
  left: 0;
  bottom: 0;
  z-index: 1;
  display: block;
}
.masonry {
  display: flex;
  flex-wrap: wrap;
}
.masonry .item {
  width: calc(25% - 1em);
  margin: 0.5em;
  background-color: #fff;
  display: block;
  padding: 2em;
  position: relative;
  overflow: hidden;
  page-break-inside: avoid;
  break-inside: avoid;
}
.masonry .item strong {
  position: absolute;
  right: 0em;
  bottom: 0em;
  opacity: 0.25;
  font-size: 5em;
  width: 1em;
  line-height: 1em;
  text-align: center;
}
.masonry .item a {
  text-decoration: none;
  position: relative;
  display: block;
  color: inherit;
}
.masonry .item a:hover {
  color: #005db2;
  text-decoration: underline;
}
.modal > .wrap {
  width: 100%;
  max-width: 800px;
  background: #fff;
  border-top: 0.5em solid #005db2;
  padding: 2em;
  color: #4d4d4d;
}
.modal h3 {
  color: #4d4d4d;
}
.modal fieldset {
  margin: 0;
  padding: 0;
  list-style: none;
  border: none;
}
.modal fieldset > legend {
  display: none;
}
.modal fieldset > div {
  width: 100%;
  float: left;
}
.modal fieldset input[type="text"],
.modal fieldset input[type="password"] {
  background: #fff;
  border: none;
  border: 1px solid #d9d9d9;
  padding: 1em;
  height: 3em;
  font-family: inherit;
  width: 100%;
  background: #f9f9f9;
}
.modal fieldset input[type="submit"] {
  text-decoration: none;
  padding: 1em 1.5em;
  display: inline-block;
  transition: all 0.2s ease-in-out 0s;
  position: relative;
  font-size: 1em;
  color: #fff;
  background: #8d7a67;
  border: none;
  overflow: hidden;
  border: 3px solid #8d7a67;
  cursor: pointer;
  line-height: 1em;
}
.modal fieldset input[type="submit"]:before {
  font-family: "fontello";
  position: absolute;
  font-size: 1em;
  right: -3em;
  line-height: 3em;
  top: 0;
  width: 3em;
  height: 100%;
  opacity: 1;
  color: #fff;
  text-align: center;
  transition: all 0.2s ease-in-out 0s;
}
.modal fieldset input[type="submit"]:hover {
  background: #a49483;
  border-color: #a49483;
  color: #fff;
}
.modal fieldset input[type="submit"].large {
  font-size: 1.2em;
}
.modal fieldset input[type="submit"].small {
  font-size: 1em;
}
.modal fieldset input[type="submit"].outline {
  background: transparent;
  color: #000;
  border: 0.5em solid #8d7a67;
}
.modal fieldset input[type="submit"].outline:hover {
  background: rgba(141, 122, 103, 0.3);
  border-color: #a49483;
}
.modal fieldset input[type="submit"].ico-up:before {
  content: "\e804";
}
.modal fieldset input[type="submit"].ico-right:before {
  content: "\e802";
}
.modal fieldset input[type="submit"].ico-down:before {
  content: "\e805";
}
.modal fieldset input[type="submit"].ico-left:before {
  content: "\e806";
}
.modal fieldset input[type="submit"].ico-mail:before {
  content: "\e82c";
}
.modal fieldset input[type="submit"].ico-mob:before {
  content: "\e802";
}
.modal fieldset input[type="submit"].ico-back:before {
  content: "\e803";
}
.modal fieldset input[type="submit"]:hover {
  background: #006acb;
}
.modal fieldset select {
  border: none;
  border: 1px solid #d9d9d9;
  padding: 0 1em;
  height: 3em;
  font-family: inherit;
  width: 100%;
  background-color: #f9f9f9;
}
.modal fieldset .submit {
  display: flex;
  justify-content: space-between;
  margin-top: 1em;
  align-items: baseline;
}
.modal fieldset .submit a {
  background: #fff;
  color: #000;
  display: block;
  padding: 1em;
  text-decoration: none;
}
.modal fieldset .submit a:hover {
  color: #005db2;
  text-decoration: underline;
}
.modal fieldset .submit p {
  margin: 0;
}
.modal fieldset input.clever_form_error {
  background-color: #fff6bf;
  color: #514721;
  border-color: #ffd324;
  list-style-type: none;
}
.paint .banner .inner:before,
.paint section.bgd:before,
.paint section.bgg:before,
.paint section.bgw:before,
.paint section.bgdg:before {
  content: "";
  z-index: 1;
  width: 100%;
  height: 1em;
  position: absolute;
  top: -1em;
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}
.paint section.bgdg:before {
  background-image: url('../../../Public/Images/site-karr/content/ausbildung/paint-above-bgdg.svg');
}
.paint section.bgg:before {
  background-image: url('../../../Public/Images/site-karr/content/ausbildung/paint-above-bgg.svg');
}
.paint section.bgw:before {
  background-image: url('../../../Public/Images/site-karr/content/ausbildung/paint-above-bgw.svg');
}
.paint .banner .inner:before,
.paint section.bgd:before {
  background-image: url('../../../Public/Images/site-karr/content/ausbildung/paint-above-bgd.svg');
}
h2.paint {
  position: relative;
  color: #fff;
}
h2.paint .center {
  position: relative;
}
h2.paint .txt {
  position: relative;
  z-index: 1;
  color: #fff;
}
h2.paint .stroke {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  transform: scale(1.5);
}
h2.paint .stroke img {
  display: block;
  width: 100%;
  height: auto;
}
.jobFilter {
  color: #fff;
  position: relative;
  height: 3em;
}
.jobFilter * {
  box-sizing: border-box;
}
.jobFilter .offset {
  position: absolute;
  bottom: 0;
  left: 0;
  background: #8d7a67;
  padding: 1em 2em 3em;
  width: 100%;
}
.jobFilter .headline {
  position: absolute;
  left: 0;
  bottom: 100%;
  background: #8d7a67;
  padding: 2em 2em 0 2em;
}
.jobFilter .headline h1 {
  margin: 0;
}
.jobFilter form {
  float: left;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
body .jobFilter fieldset {
  border: none;
  margin: 0;
  padding: 0 0.5em;
  width: 33.33333333%;
}
body .jobFilter fieldset select {
  width: 100%;
}
body .jobFilter button {
  width: 25%;
}
body .jobFilter .buttons > * {
  margin: 0 0.5em;
  width: auto;
}
body .jobFilter .buttons .btn {
  margin: 0 0.5em;
  width: auto;
  background: #8d7a67;
  color: #fff;
}
body .jobFilter .buttons .btn:hover {
  background: #fff;
  color: #8d7a67;
  cursor: pointer;
}
.jobFilter select {
  color: #000;
  border: none;
  background: #fff;
  border-radius: 0;
  padding: 1em;
  cursor: pointer;
  background: #ffffff url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0ZWQgYnkgSWNvTW9vbi5pbyAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj4KPHBhdGggZD0iTTAgNmMwLTAuMTI4IDAuMDQ5LTAuMjU2IDAuMTQ2LTAuMzU0IDAuMTk1LTAuMTk1IDAuNTEyLTAuMTk1IDAuNzA3IDBsOC42NDYgOC42NDYgOC42NDYtOC42NDZjMC4xOTUtMC4xOTUgMC41MTItMC4xOTUgMC43MDcgMHMwLjE5NSAwLjUxMiAwIDAuNzA3bC05IDljLTAuMTk1IDAuMTk1LTAuNTEyIDAuMTk1LTAuNzA3IDBsLTktOWMtMC4wOTgtMC4wOTgtMC4xNDYtMC4yMjYtMC4xNDYtMC4zNTR6IiBmaWxsPSIjMDAwMDAwIj48L3BhdGg+Cjwvc3ZnPgo=) no-repeat 95% 50%;
  background-size: 0.75em;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}
.jobFilter select::-ms-expand {
  display: none;
}
.jobList {
  float: left;
  width: 100%;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
}
.jobList .mix {
  width: 100%;
  padding: 0.5em 0;
}
.jobList .mix > h3[class*="accordion"] {
  padding: 0;
  margin: 0;
  background: transparent;
}
.jobList h3 .type {
  padding: 1em;
  float: left;
  text-transform: uppercase;
}
.jobList .headline {
  clear: both;
  padding-top: 0.5em;
}
.jobList .location {
  padding: 1em;
  float: left;
  cursor: pointer;
}
.jobList h3 .name {
  padding: 1em 3em 1em 1em;
  float: left;
  width: 100%;
  position: relative;
}
.jobList h3 .name:after {
  content: "\e802";
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  left: auto;
  right: 1em;
  transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0s;
}
.jobList h3.ui-state-active .name:after {
  transform: rotate(90deg);
}
.jobList .ui-accordion-header-icon {
  display: none;
}
.jobList img {
  display: block;
  width: 100%;
  height: auto;
}
.jobList .kan:not(.mix) {
  color: #fff;
  font-weight: 400;
  background: #ffa22b;
}
.jobList .fas:not(.mix) {
  color: #fff;
  font-weight: 400;
  background: #be1e10;
}
.jobList .met:not(.mix) {
  color: #fff;
  font-weight: 400;
  background: #36b64b;
}
.jobList .ing:not(.mix) {
  color: #fff;
  font-weight: 400;
  background: #466071;
}
.jobList .kan.ignore:not(.mix) {
  color: inherit;
  font-weight: 400;
  background: transparent;
}
.jobList .fas.ignore:not(.mix) {
  color: inherit;
  font-weight: 400;
  background: transparent;
}
.jobList .met.ignore:not(.mix) {
  color: inherit;
  font-weight: 400;
  background: transparent;
}
.jobList .ing.ignore:not(.mix) {
  color: inherit;
  font-weight: 400;
  background: transparent;
}
.mix-fail {
  display: none;
}
.mixitup-container-failed .mix-fail {
  display: block;
}
/*.ce-gallery .image { padding: 1em; }*/
.ce-textpic .image {
  padding: 1em;
  display: block;
  width: 100%;
}
.ce-textpic .ce-column {
  width: 25%;
  margin: 0;
}
.ce-textpic .ce-outer,
.ce-textpic .ce-inner,
.ce-textpic .ce-row {
  width: 100%;
  float: left;
  display: flex;
  justify-content: center;
}
.ce-textpic .ce-row img {
  display: block;
  width: 100%;
  height: auto;
}
.ce-textpic .ce-row a {
  display: block;
  width: 100%;
  border-top: 0.5em solid #8d7a67;
}
.ce-textpic .gallery .ce-row a {
  border: none;
}
.ce-textpic .gallery .ce-row a:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  box-shadow: inset 0px 0.5em 0 #ffffff, inset 0.5em 0 0 #ffffff, inset -0.5em 0 0 #ffffff, inset 0 -0.5em 0 #ffffff;
}
.ce-textpic .gallery .image {
  padding: 0;
}
.ce-textpic .gallery a:before {
  content: "\e809";
}
.ce-textpic .gallery .ce-inner {
  flex-wrap: wrap;
}
.ce-textpic .gallery .ce-row {
  margin: 0;
}
#pagebrowse ul {
  float: left;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}
#pagebrowse li {
  width: 50%;
  padding: 1em;
  display: flex;
}
#pagebrowse .prev {
  float: left;
}
#pagebrowse .next {
  float: right;
}
#pagebrowse a {
  display: block;
  width: 100%;
  float: left;
  position: relative;
  text-decoration: none;
  border-top: 0.5em solid #8d7a67;
}
#pagebrowse .image {
  float: left;
  width: 100%;
  overflow: hidden;
}
#pagebrowse .image img {
  display: block;
  width: 100%;
  height: auto;
  transition: all 0.2s ease-in-out 0s;
  transform: scale(1);
}
#pagebrowse .prev a:before {
  left: 0;
  content: "\e803";
}
#pagebrowse .next a:before {
  right: 0;
  content: "\e802";
}
#pagebrowse .prev a:before,
#pagebrowse .next a:before {
  display: block;
  width: 3em;
  height: 3em;
  background: #8d7a67;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  z-index: 1;
  color: #fff;
  font-family: "fontello";
  text-align: center;
  line-height: 3em;
}
.vidContainer {
  float: left;
  width: 100%;
}
.vidContainer.width1 {
  width: 100%;
}
.vidContainer.width2 {
  width: 50%;
}
.vidContainer.width3 {
  width: 33.33333333%;
}
.vidContainer.width4 {
  width: 50%;
}
.vidContainer .video {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 0;
  height: 0;
  overflow: hidden;
}
.vidContainer .video video {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.vidContainer object,
.vidContainer embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.vid .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.vidContainer .vjs-big-play-centered .vjs-big-play-button {
  margin: 0;
  left: calc(50% - 1em);
  top: calc(50% - 1em);
  width: 2em;
  height: 2em;
  font-size: 4em;
  border: none;
  border-radius: 100%;
  background: rgba(0, 93, 178, 0.75);
  transition: all 0.2s ease-in-out 0s;
}
.vidContainer .vjs-big-play-centered .vjs-big-play-button span:before {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
.vidContainer .vjs-big-play-centered:hover .vjs-big-play-button {
  background: #005db2;
}
.vidContainer .vjs-poster {
  background-size: cover;
}
.videos p {
  text-align: center;
  float: left;
  width: 100%;
}
.gallery img {
  display: block;
  width: 100%;
  height: auto;
}
.gallery div[class^="row"] {
  float: left;
  width: 100%;
}
.gallery .col {
  width: 25%;
  margin: 0;
}
.gallery .col.w-33 {
  width: 33.33333333%;
}
.gallery .col.spa a:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  box-shadow: inset 0px 0.5em 0 #ffffff, inset 0.5em 0 0 #ffffff, inset -0.5em 0 0 #ffffff, inset 0 -0.5em 0 #ffffff;
}
.gallery .row2-1-1 .col:nth-child(1) {
  width: 50%;
}
.gallery .row1-2-1 .col:nth-child(2) {
  width: 50%;
}
.gallery .row1-1-2 .col:nth-child(3) {
  width: 50%;
}
.gallery .row2-2 .col {
  width: 50%;
}
.gallery .row1-1 .col {
  width: 100%;
}
.gallery a {
  display: block;
  width: 100%;
  height: auto;
  position: relative;
  text-decoration: none;
  cursor: pointer;
  color: #fff;
}
.gallery a .overlay {
  background: rgba(0, 0, 0, 0.15);
  opacity: 0;
  transition: all 0.2s ease-in-out 0s;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.gallery a:hover .overlay {
  opacity: 1;
}
.gallery a .caption {
  position: absolute;
  left: 1em;
  right: 1em;
  bottom: 1em;
  padding: 0;
  text-align: center;
  color: #fff;
}
.gallery a:before {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  font-size: 2em;
  top: 1em;
  transition: all 0.2s ease-in-out 0s;
  opacity: 0;
  z-index: 1;
}
.gallery a.enlarge:before {
  content: "\e809";
}
.gallery a.link:before {
  content: "\e81d";
}
.gallery a:hover:before {
  top: 0;
  opacity: 1;
}
.gallery .col > .caption {
  float: left;
  width: 100%;
  padding: 1em;
  text-align: center;
  font-style: italic;
  font-size: 0.9em;
}
.gallery .flex-direction-nav {
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: flex;
  justify-content: space-between;
  margin: auto;
  height: 2em;
  pointer-events: none;
}
.gallery .flex-direction-nav a {
  top: 0;
  margin: 0;
  font-size: 1em;
  pointer-events: initial;
}
.controls.hidden {
  display: none;
}
.controls fieldset {
  border: none;
  padding: 0;
  margin: 0;
  width: 100%;
}
.controls select {
  padding: 1em;
  border: none;
  cursor: pointer;
  background: #ffffff url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0ZWQgYnkgSWNvTW9vbi5pbyAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj4KPHBhdGggZD0iTTAgNmMwLTAuMTI4IDAuMDQ5LTAuMjU2IDAuMTQ2LTAuMzU0IDAuMTk1LTAuMTk1IDAuNTEyLTAuMTk1IDAuNzA3IDBsOC42NDYgOC42NDYgOC42NDYtOC42NDZjMC4xOTUtMC4xOTUgMC41MTItMC4xOTUgMC43MDcgMHMwLjE5NSAwLjUxMiAwIDAuNzA3bC05IDljLTAuMTk1IDAuMTk1LTAuNTEyIDAuMTk1LTAuNzA3IDBsLTktOWMtMC4wOTgtMC4wOTgtMC4xNDYtMC4yMjYtMC4xNDYtMC4zNTR6IiBmaWxsPSIjMDAwMDAwIj48L3BhdGg+Cjwvc3ZnPgo=) no-repeat 95% 50%;
  background-size: 0.75em;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-color: #f9f9f9;
  border-bottom: 3px solid #005db2;
}
.controls select::-ms-expand {
  display: none;
}
.controls select.w-100 {
  width: 100%;
}
.mix-container {
  padding-top: 3em;
  padding-bottom: 3em;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  overflow: hidden;
  justify-content: center;
}
.mix-container .mix {
  display: inline-block;
  padding: 1em;
}
.mix-container .mix.hidden {
  opacity: 0;
  visibility: hidden;
  height: 0;
  overflow: hidden;
  position: absolute;
}
.mix-container div:not(.address) .wrap {
  display: flex;
  flex-wrap: wrap;
  background: #f9f9f9;
  width: 100%;
}
.mix-container .text {
  padding: 1em;
}
.mix-container .name h3,
.mix-container .name p {
  margin: 0;
}
.mix-container .address .wrap {
  background: #fff;
  box-shadow: 0 0 2em rgba(0, 0, 0, 0.05);
  overflow: hidden;
  position: relative;
  z-index: 0;
}
.mix-container .address .wrap .txt {
  padding: 0 1em;
}
.mix-container .address .wrap .header {
  background: #f2f2f2;
}
.mix-container .address .wrap .header div {
  background: #005db2;
  color: #fff;
  float: left;
  padding: 1em;
  position: relative;
}
.mix-container .address .wrap .header div:after {
  content: "";
  width: 1em;
  height: 1em;
  background: #f9f9f9;
  position: absolute;
  left: -1px;
  top: -1px;
  clip-path: polygon(100% 0, 0 100%, 0 0);
}
.mix-container .address .wrap .header h2 {
  margin: 0;
}
.mix-container .address.cka .wrap .header div {
  background: #ffa22b;
}
.mix-container .address.cfa .wrap .header div {
  background: #be1e10;
}
.mix-container .address.cin .wrap .header div {
  background: #466071;
}
.mix-container .address.cme .wrap .header div {
  background: #36b64b;
}
.mix-container .image {
  width: 25%;
}
.mix-container .image img {
  display: block;
  width: 100%;
  height: auto;
}
.mix-container .text {
  width: 75%;
}
.mix-container .square {
  padding: 0;
}
.mix-container .square .image {
  width: 100%;
  overflow: hidden;
  display: block;
}
.mix-container .square img {
  transition: all 0.2s ease-in-out 0s;
  transform: scale(1);
}
.mix-container .square:hover img {
  transform: scale(1.1);
}
.mix-container .square .text {
  width: 100%;
}
.mix-fail {
  display: none;
}
.mixitup-container-failed .mix-fail {
  display: block;
}
.contact-tabs .w1 li {
  width: 100%;
}
.contact-tabs .w2 li {
  width: 50%;
}
.contact-tabs .w3 li {
  width: 33.33333333%;
}
.contact-tabs .w4 li {
  width: 25%;
}
.contact-tabs .m {
  display: none;
}
.contact-tabs {
  margin-top: 1em;
  padding-top: 1em;
  border-top: 2px solid #f2f2f2;
  position: relative;
  float: left;
  width: 100%;
}
.contact-tabs.mobile {
  display: none;
}
.contact-tabs ul {
  position: relative;
  z-index: 2;
}
.contact-tabs ul a {
  display: block;
  width: 100%;
  background: #595959;
  color: #fff;
  height: 3em;
  position: relative;
  transition: all 0.2s ease-in-out 0s;
  text-decoration: none;
}
.contact-tabs ul a:hover {
  background: #666666;
}
.contact-tabs ul a.act {
  background: #8d7a67;
}
.contact-tabs li a:before {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  color: #fff !important;
}
.contact-tabs li a.tel:before {
  content: "\e815";
}
.contact-tabs li a.mob:before {
  content: "\e816";
}
.contact-tabs li a.eml:before {
  content: "\e82c";
}
.contact-tabs li a.vca:before {
  content: "\e82b";
}
.contact-tabs .show {
  height: 3.5em;
  top: 4em;
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
  z-index: 1;
}
.contact-tabs .show > div {
  position: absolute;
  width: 100%;
  background: #fff;
  top: -3em;
  height: 3em;
  padding: 1em;
  line-height: 1em;
  transition: all 0.5s cubic-bezier(0.05, 0.6899999999999999, 0.14, 1) 0s;
  box-shadow: 0px 0px 0px rgba(0, 0, 0, 0);
}
.contact-tabs .show > div.act {
  top: 0;
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.15);
}
.timeline {
  padding: 0 !important;
}
.timeline .flex-disabled {
  pointer-events: none;
}
.timeline img {
  display: block;
  width: 100%;
  height: auto;
}
.timeline .slides > li {
  position: relative;
}
.timeline .flex-direction-nav a {
  z-index: 15;
  margin: 0;
  background: #fff;
  opacity: 1;
  text-align: left;
  text-indent: -999px;
  overflow: hidden;
  font-size: 1.5em;
  width: 3em;
  height: 3em;
  transition: all 0.2s ease-in-out 0s;
}
.timeline .flex-direction-nav a:after {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
}
.timeline .flex-direction-nav a:hover {
  background: #005db2;
  color: #fff;
}
.timeline .flex-direction-nav .flex-next {
  right: calc(2em + 1px);
}
.timeline .flex-direction-nav .flex-next:after {
  content: "\e802";
}
.timeline .flex-direction-nav .flex-prev {
  left: calc(2em + 1px);
}
.timeline .flex-direction-nav .flex-prev:after {
  content: "\e803";
}
.timeline .overlay {
  position: absolute;
  left: 7.5em;
  top: 3em;
  background: rgba(255, 255, 255, 0.75);
  padding: 1em;
  transform: translateX(2em);
  opacity: 0;
  transition: all 0.5s cubic-bezier(0.05, 0.6899999999999999, 0.14, 1) 0s;
}
.timeline .flex-active-slide .overlay {
  transform: translateX(0);
  opacity: 1;
  transition-delay: 0.5s;
}
.timeline .overlay.item1 {
  font-size: 1.25em;
}
.timeline .overlay.item1 .h1,
.timeline .overlay.item1 h2 {
  margin: 0;
}
.timeline .overlay.item1 .next {
  display: block;
  width: 3em;
  height: 3em;
  background: #005db2;
  overflow: hidden;
  color: #fff;
  position: relative;
  text-indent: -999px;
  cursor: pointer;
  font-size: 0.8em;
  margin-top: 1em;
}
.timeline .overlay.item1 .next:after {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  content: "\e802";
  font-size: 1.5em;
}
.timeline .overlay:not(.item1) {
  width: 100%;
  max-width: 40em;
}
.timeline .accordion h3 {
  padding: 1em;
  /*background: #fff;*/
  background: transparent;
}
.timeline .accordion .ui-icon {
  font-size: 1.5em;
}
.timeline .accordion .ui-accordion-content {
  padding-top: 1em;
}
.timeline .accordion .w-75 {
  padding-right: 1em;
}
.timeline-years {
  background: #fff;
  position: absolute;
  bottom: 0;
  width: 100%;
}
.timeline-years ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  width: 100%;
  overflow-x: auto;
  margin-right: 1em;
}
.timeline-years a {
  background: #fff;
  color: #000;
  display: block;
  padding: 1em;
  cursor: pointer;
  transition: all 0.2s ease-in-out 0s;
}
.timeline-years a:hover {
  background: #f2f2f2;
}
.timeline-years .act a {
  background: #005db2;
  color: #fff;
}
/* ===== Scrollbar CSS ===== */
/* Firefox */
.timeline-years ul {
  scrollbar-width: auto;
  scrollbar-color: #005db2 #ffffff;
}
/* Chrome, Edge, and Safari */
.timeline-years ul::-webkit-scrollbar {
  width: 20px;
}
.timeline-years ul::-webkit-scrollbar-track {
  background: #ffffff;
}
.timeline-years ul::-webkit-scrollbar-thumb {
  background-color: #005db2;
  border-radius: 10px;
  border: 5px solid #ffffff;
}
.timeline .accordion .ui-icon {
  background: #005db2;
}
.download {
  display: inline-block;
  background: #f9f9f9;
  text-decoration: none;
  color: #444;
  padding: 0 1em 0 0;
  line-height: 3em;
  position: relative;
  transition: all 0.2s ease-in-out 0s;
  box-sizing: border-box;
}
.download .icon {
  display: block;
  width: 3em;
  height: 100%;
  text-align: center;
  line-height: 3em;
  background: #8d7a67;
  color: #fff;
  position: absolute;
  left: 0;
  top: 0;
  transition: all 0.2s ease-in-out 0s;
  text-indent: -9999px;
  overflow: hidden;
}
.download .icon:before {
  content: '\e819';
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  font-size: 1.2em;
  transition: all 0.2s ease-in-out 0s;
}
.download .icon.doc:before {
  content: 'doc';
  width: 100%;
}
.download .icon.d83:before {
  content: 'D83';
  width: 100%;
}
.download .icon.zip:before {
  content: '\e84f';
  width: 100%;
}
.download .icon img {
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 3px;
  fill: #444;
  display: none;
}
.download .name {
  display: block;
  margin-left: 3.5em;
}
.download:hover {
  background: #ececec;
}
.download:hover .icon {
  background: #005db2;
}
.download:hover .icon:before {
  color: #fff;
}
.downloadWrapper {
  float: left;
  width: 100%;
  padding-bottom: 1.5em;
}
.downloadWrapper.np {
  padding-bottom: 0;
}
.downloadWrapper a {
  display: block;
  clear: both;
  margin: 0.25em 0 0 0;
}
.rightCol .downloadWrapper {
  margin-top: 25px;
}
.download .icon.doc:before {
  content: "doc";
  font-family: "linearicons";
}
span.download {
  display: block;
  clear: both;
  margin: 2px 0 0;
}
span.download:hover {
  background: #f9f9f9;
}
span.download a {
  margin: 0;
}
span.download a.icon:hover {
  background: #005099;
}
span.download .alt {
  left: 3.25em;
}
span.download .sec {
  left: 6.5em;
}
span.download .for {
  left: 9.75em;
}
span.download .name {
  margin-left: 13.5em;
}
span.download .name.w3 {
  margin-left: 11em;
}
span.download .name.w2 {
  margin-left: 7em;
}
.download p {
  line-height: 1em;
  padding: 1em;
  margin: 0;
}
.download .flag:after {
  content: "";
  bottom: 0.25em;
  right: 0.25em;
  position: absolute;
  font-family: "linearicons";
  width: 3em;
  line-height: 1em;
  text-align: right;
  font-size: 0.8em;
}
.download .flag.de:after {
  content: "de";
}
.download .flag.en:after {
  content: "en";
}
body.is-active {
  overflow: hidden;
}
.visual-3d .markers {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.visual-3d .markers a {
  display: block;
  width: 3em;
  height: 3em;
  position: absolute;
  transition: all 0.2s ease-in-out 0s;
}
.visual-3d .markers a:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border: 0.5em solid #005db2;
}
.visual-3d .markers a:hover {
  border-color: #006acb;
}
.visual-3d .markers span {
  position: absolute;
  display: block;
  pointer-events: none;
  text-transform: uppercase;
  line-height: 1em;
  background: #fff;
  padding: 0.5em 1em;
  transition: all 0.2s ease-in-out 0s;
  height: 2em;
  top: 0;
  bottom: 0;
  margin: auto;
  white-space: nowrap;
}
.visual-3d .markers span:after {
  content: "";
  width: 1em;
  height: 1em;
  background: #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
.visual-3d .markers [data-position="left"] span {
  right: calc(100% + 1em);
}
.visual-3d .markers [data-position="left"] span:after {
  right: -0.25em;
}
.visual-3d .markers [data-position="left"]:hover span {
  right: calc(100% + 0.5em);
}
.visual-3d .markers [data-position="right"] span {
  left: calc(100% + 1em);
}
.visual-3d .markers [data-position="right"] span:after {
  left: -0.25em;
}
.visual-3d .markers [data-position="right"]:hover span {
  left: calc(100% + 0.5em);
}
.visual-3d-pop {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  height: 100%;
  z-index: 11;
  width: 100%;
  max-height: 100%;
  margin: auto;
  opacity: 0;
  transition: opacity 0.2s ease-in-out 0s;
  padding: 3em;
  flex-direction: column;
  justify-content: center;
}
.visual-3d-pop .center {
  width: 100%;
  max-width: 800px;
  max-height: 100%;
  position: relative;
  margin: 0 auto;
}
.visual-3d-pop .inner {
  float: left;
  width: 100%;
  position: relative;
}
.visual-3d-pop.is-active {
  display: flex;
  opacity: 1;
  overflow-y: scroll;
}
.visual-3d-pop .close {
  width: 3em;
  height: 3em;
  display: block;
  position: absolute;
  right: -3em;
  top: -3em;
  text-decoration: none;
  color: #fff;
  overflow: hidden;
  text-indent: -999px;
}
.visual-3d-pop .close:after {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  content: "\e80e";
}
.visual-3d-pop .img {
  float: left;
  width: 100%;
  position: relative;
}
.visual-3d-pop .img .name {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0.5em;
  font-family: 'Jost', sans-serif;
  font-size: 2.5em;
  line-height: 1.25em;
  margin: 0.5em 0;
  font-weight: 300;
  color: #fff;
  margin: 0;
  text-align: center;
  text-transform: uppercase;
  text-shadow: 0 0 0.5em #000;
}
.visual-3d-pop .img .name.d {
  color: #000;
}
.visual-3d-pop .img img {
  display: block;
  width: 100%;
  height: auto;
}
.visual-3d-pop .text {
  float: left;
  width: 100%;
  padding: 3em;
  background: #fff;
}
.visual-3d-pop-bg {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.85);
  position: fixed;
  top: 0;
  z-index: 10;
  opacity: 0;
  left: -100%;
  transition: opacity 0.2s ease-in-out 0s;
}
.visual-3d-pop-bg.is-active {
  opacity: 1;
  left: 0;
}
body #usercentrics-button .uc-banner-content,
body .usercentrics-button .uc-main-banner .more-info-button,
body .usercentrics-button .uc-main-banner .btn-deny,
body #usercentrics-button #uc-banner-modal .uc-banner-content {
  background: #005db2 !important;
}
body .usercentrics-button.layout-1 .uc-banner-content .btn-list .uc-btn.uc-btn-primary {
  background: #005099 !important;
}
body #ico_button_close-b,
body #uc-privacy-button #background > *:last-child,
body #uc-privacy-button #button > *:last-child {
  fill: #005099 !important;
}
body .usercentrics-button.layout-1 .uc-corner-modal .uc-corner-modal-content .uc-nav-tabs,
body .usercentrics-button.layout-1 .uc-corner-modal .uc-corner-modal-content .uc-card-header,
body .usercentrics-button .uc-corner-modal .uc-card-footer .uc-save-settings-button {
  background: #005099 !important;
}
body #uc-corner-modal a[href],
#uc-center-modal a[href],
#uc-banner-modal a[href],
#uc-central-banner-modal a[href] {
  color: #005db2 !important;
}
body #uc-btn-accept-banner {
  background: #8d7a67 !important;
  color: #fff;
}
.bgd .bgw {
  color: #595959;
}
.bgd .modal h2 {
  color: inherit;
}
.bgd .modal h3 {
  color: inherit;
}
.bgd .bgw a {
  color: #005db2;
}
.tx-femanager a {
  color: #005db2;
}
.tx-femanager fieldset {
  padding: 2em;
  border: none;
}
.tx-femanager legend {
  display: none;
}
.femanager_fieldset {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.femanager_fieldset > label {
  width: 14em;
  padding: 1em 0;
}
.femanager_fieldset:not(.checkbox):not(.femanager_submit) > div {
  width: calc(100% - 15em);
}
.femanager_fieldset textarea,
.femanager_fieldset input[type="password"],
.femanager_fieldset input[type="text"] {
  border: 1px solid #d9d9d9;
  width: 100%;
  background: #f9f9f9;
  padding: 1em;
}
.femanager_fieldset select {
  border: 1px solid #d9d9d9;
  background: #ffffff url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0ZWQgYnkgSWNvTW9vbi5pbyAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj4KPHBhdGggZD0iTTAgNmMwLTAuMTI4IDAuMDQ5LTAuMjU2IDAuMTQ2LTAuMzU0IDAuMTk1LTAuMTk1IDAuNTEyLTAuMTk1IDAuNzA3IDBsOC42NDYgOC42NDYgOC42NDYtOC42NDZjMC4xOTUtMC4xOTUgMC41MTItMC4xOTUgMC43MDcgMHMwLjE5NSAwLjUxMiAwIDAuNzA3bC05IDljLTAuMTk1IDAuMTk1LTAuNTEyIDAuMTk1LTAuNzA3IDBsLTktOWMtMC4wOTgtMC4wOTgtMC4xNDYtMC4yMjYtMC4xNDYtMC4zNTR6IiBmaWxsPSIjMDAwMDAwIj48L3BhdGg+Cjwvc3ZnPgo=) no-repeat 95% 50%;
  background-size: 0.75em;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-color: #f9f9f9;
  height: 3em;
  line-height: 1em;
  width: 100%;
  padding-left: 1em;
  cursor: pointer;
}
.femanager_fieldset select::-ms-expand {
  display: none;
}
.femanager_fieldset .btn {
  background: #8d7a67;
}
.femanager_fieldset .btn:hover {
  background: #7e6d5c;
}
.femanager_fieldset.femanager_submit {
  margin-top: 1em;
  justify-content: center;
}
.femanager_fieldset.checkbox {
  display: flex;
  margin-top: 1em;
}
.femanager_fieldset.checkbox label {
  padding-left: 1em;
  width: calc(100% - 3em);
  float: right;
}
.femanager_fieldset.checkbox,
.femanager_fieldset.checkbox .controls {
  width: 100%;
}
.femanager_fieldset.checkbox input[type="checkbox"] {
  margin-top: 0.5em;
}
.femanager_fieldset .alert-error {
  display: none;
}
.femanager_fieldset textarea.error,
.femanager_fieldset input[type="password"].error,
.femanager_fieldset input[type="text"].error,
.femanager_fieldset select.error {
  background-color: #fff6bf;
  color: #514721;
  border-color: #ffd324;
  list-style-type: none;
}
.tx-felogin-pi1 .error,
.femanager_flashmessages {
  width: 100%;
  padding: 1em;
}
.femanager_flashmessages .message-0 {
  box-sizing: border-box;
  width: 100%;
  clear: both;
  padding: 1em;
  border-left: 0.25em solid;
  margin: 0.25em 0;
  background-color: #e6efc2;
  color: #264409;
  border-color: #c6d880;
}
.tx-felogin-pi1 .error,
.femanager_flashmessages .message-2 {
  box-sizing: border-box;
  width: 100%;
  clear: both;
  padding: 1em;
  border-left: 0.25em solid;
  margin: 0.25em 0;
  background-color: #fff6bf;
  color: #514721;
  border-color: #ffd324;
  list-style-type: none;
}
.femanager_fieldset:not(.checkbox):not(.femanager_submit) > div.phone {
  display: flex;
}
.femanager_fieldset:not(.checkbox):not(.femanager_submit) > div.phone select {
  pointer-events: none;
  flex-shrink: 0;
  width: auto;
  border-right: 0;
  padding-right: 8px;
}
.femanager_fieldset:not(.checkbox):not(.femanager_submit) > div.phone input {
  border-left: 0;
  flex: 1;
  padding-left: 8px;
  outline: none;
}
.icon-teasers {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.icon-teasers.item2 li {
  width: 50%;
}
.icon-teasers li {
  box-sizing: border-box;
  padding: 0.5em;
}
.icon-teasers a {
  display: block;
  background: #f9f9f9;
  text-decoration: none;
  float: left;
  width: 100%;
  transition: all 0.2s ease-in-out 0s;
}
.icon-teasers a:hover {
  background: #f2f2f2;
}
.icon-teasers a:hover .h3 {
  background: #7e6d5c;
}
.icon-teasers .h3 {
  display: block;
  float: left;
  width: 100%;
  background: #8d7a67;
  color: #fff;
  padding: 1em;
  margin: 0;
  box-sizing: border-box;
  transition: all 0.2s ease-in-out 0s;
}
.icon-teasers .icon {
  display: block;
  float: left;
  width: 100%;
  height: 5vw;
  position: relative;
}
.icon-teasers .icon:after {
  font-family: "fontello";
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  color: #005db2;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-size: 3.5em;
}
.icon-teasers .icon.lte:after {
  content: "\e821";
}
.icon-teasers .icon.dow:after {
  content: "\e822";
}
.icon-teasers .icon.pro:after {
  content: "\e824";
}
.stock-legend li {
  padding-right: 1em;
  padding-bottom: 1em;
}
.colorpalette tr {
  border-top: 0.25em solid #fff;
}
.colorpalette th {
  padding: 0.5em 1em;
  font-weight: 600;
  text-align: left;
  border-bottom: 1px solid #d9d9d9;
}
.colorpalette a {
  display: inline-block;
  padding: 1em;
  text-decoration: none;
  color: inherit;
  background: #f2f2f2;
  line-height: 1em;
  position: relative;
  transition: all 0.2s ease-in-out 0s;
}
.colorpalette a:hover {
  background: #ececec;
}
.colorpalette a.act {
  padding-left: 3em;
}
.colorpalette a.act:before {
  content: "";
  position: absolute;
  left: 1em;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #005db2;
  width: 1em;
  height: 1em;
}
ol {
  list-style: none;
}
ol:not(.flex-control-nav):not(.nocheck) li {
  position: relative;
}
ol:not(.flex-control-nav):not(.nocheck) li:before {
  content: "\e806";
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  right: auto;
  bottom: auto;
  left: -2em;
  top: 0.45em;
}
[data-cols="2"] .col:first-child {
  padding-right: 1em;
}
[data-cols="2"] .col:last-child {
  padding-left: 1em;
}
[data-cols="3"] .col {
  padding: 0 1em;
}
.lang {
  display: flex;
  align-items: center;
}
.lang a {
  padding: 0;
  width: 2.5em;
  height: 2.5em;
  text-indent: -999px;
  overflow: hidden;
  display: block;
  margin: 0;
  position: relative;
  border: none !important;
}
.lang ul {
  min-width: 0;
}
.lang a:after {
  content: "";
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  width: 1.5em;
  height: 1.5em;
  display: block;
  background-size: 100%;
  outline: 1px solid rgba(255, 255, 255, 0.5);
}
.lang a.cs:after,
.lang a.cz:after {
  background-image: url('../../../Public/Images/site-schfa/icons/flags/square-flag-cz@2x.png');
}
.lang a.de:after {
  background-image: url('../../../Public/Images/site-schfa/icons/flags/square-flag-de@2x.png');
}
.lang a.pl:after {
  background-image: url('../../../Public/Images/site-schfa/icons/flags/square-flag-pl@2x.png');
}
.lang a.uk:after {
  background-image: url('../../../Public/Images/site-schfa/icons/flags/square-flag-ua@2x.jpg');
}
.lang a.en:after {
  background-image: url('../../../Public/Images/site-schfa/icons/flags/square-flag-en@2x.png');
}
#mobile .lang {
  position: absolute;
  right: 1em;
  top: 7em;
  z-index: 99;
}
#mobile .lang li {
  background: transparent;
}
#mobile .lang .sf-menu ul li {
  background: #fff;
}
.solarColors {
  display: flex;
}
.solarColors li {
  text-align: center;
  color: #fff;
  padding: 0.5em;
}
.solarColors li span {
  display: block;
  padding: 1.5em 0;
  font-size: 1.5em;
  font-size: 0.8vw;
}
.ui-tabs-vertical {
  width: 100%;
}
.ui-tabs-vertical .ui-tabs-panel {
  padding: 2em;
  /*border: 1px solid @border-color;*/
}
.ui-tabs-vertical .ui-tabs-nav {
  padding: 0;
  float: left;
  width: 12em;
}
.ui-tabs-vertical .ui-tabs-nav li {
  display: block;
  width: 100%;
}
.ui-tabs-vertical .ui-tabs-nav li a {
  display: block;
  padding: 1em;
  /*border: 1px solid #fff;*/
  line-height: 1em;
  text-decoration: none;
  font-weight: bold;
  color: #000;
}
.ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active a {
  /*border-color: @border-color; border-right-color: #fff;*/
  transform: translateX(1px);
  color: #005db2;
}
.ui-tabs-vertical .ui-tabs-panel {
  padding: 1em;
  float: right;
  width: calc(100% - 12em);
}
.ico-head .ico {
  width: 5em;
  aspect-ratio: 1;
  background: #005db2;
  margin-right: 2em;
  color: #fff;
  position: relative;
}
.ico-head .ico:before {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  font-size: 2em;
}
.sharelink {
  padding: 1em;
}
.sharelink a {
  display: block;
  width: 2em;
  height: 2em;
  text-indent: -999px;
  overflow: hidden;
  background: #8d7a67;
  text-decoration: none;
  color: #fff;
  position: relative;
  font-size: 1.25em;
  transition: all 0.2s ease-in-out 0s;
}
.sharelink a:after {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
}
.sharelink a:hover {
  background: #7e6d5c;
}
.sharelink li {
  padding: 0 0.5em 0 0;
}
.sharelink a.fb:after {
  content: "\e811";
}
.sharelink a.tw:after {
  content: "\e81c";
}
.sharelink a.em:after {
  content: "\e82c";
}
.sharelink a.li:after {
  content: "\e826";
}
.sharelink a.xi:after {
  content: "\e810";
}
.countwrap .counter {
  font-family: 'Jost', sans-serif;
  font-size: 2.5em;
  line-height: 1.25em;
  margin: 0.5em 0;
  font-weight: 300;
  color: #8d7a67;
  font-weight: 400;
  width: 100%;
  display: block;
  margin-top: 0;
}
.countwrap .counter.d {
  color: #000;
}
.countwrap .tag {
  width: 100%;
  display: block;
  padding: 0 1em 0 1em;
  font-weight: 300;
  font-size: 1.5em;
  opacity: 0.8;
}
.hero .item {
  height: 100%;
  align-content: flex-start;
}
.hero .owl-carousel .owl-stage {
  display: flex;
}
.hero .description {
  position: absolute;
  right: 3em;
  bottom: 0;
  padding: 0 2em 2em 2em;
  background: #fff;
  z-index: 1;
  max-width: 45em;
  color: #000;
  font-weight: bold;
  font-family: 'Jost', sans-serif;
}
.hero .has-vid {
  overflow: hidden;
}
.hero .has-vid > video {
  position: absolute;
  object-fit: fill;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.hero .has-vid img {
  z-index: -1;
  position: relative;
}
.hero .description .xl {
  font-size: 2em;
  line-height: 1.25em;
}
.hero .h1 {
  font-size: 4em;
  line-height: 1em;
  margin: 0;
}
.hero .h1 span {
  font-size: 0.5em;
  display: block;
}
.hero img {
  transform: scale(1.1);
  transition: all 0.2s ease-in-out 0s;
  transition-duration: 7s;
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.hero .active img {
  transform: scale(1);
}
.hero .owl-nav {
  position: relative;
}
.hero .owl-nav button {
  width: 1em;
  height: 1em;
  position: relative;
  color: #000 !important;
  font-size: 2em !important;
  margin: 0 0.15em;
  transition: all 0.2s ease-in-out 0s;
}
.hero .owl-nav button:after {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
}
.hero .owl-nav button:hover {
  color: #8d7a67 !important;
  background: #fff !important;
}
.hero .owl-nav button span {
  display: none;
}
.hero .owl-nav button.owl-prev:after {
  content: "\e800";
}
.hero .owl-nav button.owl-next:after {
  content: "\e801";
}
.hero .w-33 > div {
  max-width: 45em;
}
.widget-toc {
  padding: 1em;
  background: #f9f9f9;
  border-radius: 1em;
}
.fako-wizard-wrap {
  width: 100%;
}
.fako-wizard-wrap hr {
  border: none;
  border-top: 1px solid #fff;
}
.fako-wizard-tag {
  display: inline-block;
  padding-left: 1.5em;
  padding-right: 1em;
  position: relative;
}
.fako-wizard-tag:after {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  right: auto;
  content: "\e850";
  color: #005db2;
}
.fako-wizard-selection {
  opacity: 0.75;
  padding-top: 1em;
}
.fako-wizard .checkbox-label {
  padding: 0.5em;
  background: #ececec;
  transition: all 0.2s ease-in-out 0s;
}
.fako-wizard .checkbox-label.ui-state-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.fako-wizard .checkbox-label.ui-state-disabled:hover {
  background: #ececec;
}
.fako-wizard .checkbox-label .name {
  line-height: 1.25em;
}
.fako-wizard .checkbox-label:hover {
  background: #dfdfdf;
}
.fako-wizard .checkbox-label.ui-checkboxradio-checked {
  background: #005db2;
  color: #fff;
}
.fako-wizard .checkbox-label input {
  display: none;
}
.fako-wizard .checkbox-label .img {
  outline: 3px solid rgba(190, 30, 16, 0);
  transition: all 0.2s ease-in-out 0s;
}
.fako-wizard .checkbox-label:hover .img {
  outline: 3px solid #be1e10;
}
.fako-wizard .steps li {
  width: 20%;
}
.fako-wizard .steps li button {
  width: 100%;
}
.fako-wizard .body .ani {
  transform: translateX(-2em);
  position: relative;
  float: left;
  width: 100%;
  opacity: 0;
  transition: all 0.2s ease-in-out 0s;
}
.fako-wizard .body.current .ani {
  transform: translateX(0);
  opacity: 1;
  transition: all 0.2s ease-in-out 0s;
}
.fako-container .ico-head {
  padding-top: 0.5em;
  width: 100%;
  font-size: 0.8em;
}
.fako-container .ico-head .ico {
  margin-right: 1em;
  position: absolute;
  top: 1.3em;
  font-size: 0.5em;
}
.fako-container .ico-head .h2 {
  font-weight: 500;
}
.fako-container .ico-head .h2,
.fako-container .ico-head .h3 {
  margin: 0;
}
.fako-container .ico-head .h3 {
  font-size: 1.25em;
  line-height: 1.5em;
}
.fako-container a:not(.btn) {
  padding: 0.5em;
  text-decoration: none;
  background: #ececec;
  width: 100%;
  transition: all 0.2s ease-in-out 0s;
  color: inherit;
}
.fako-container a:not(.btn):hover {
  background: #dfdfdf;
}
.fako-container a .image {
  overflow: hidden;
}
.fako-container a .image img {
  transform: scale(1);
  transition: all 0.2s ease-in-out 0s;
}
.fako-container a:hover .image img {
  transform: scale(1.1);
}
.fako-container > div {
  padding: 0.25em;
}
.ani-person .icon {
  width: 1em;
  height: 1em;
  position: absolute;
  left: 1em;
  top: 0;
  bottom: 0;
  margin: auto;
}
.ani-person .icon.per:after {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  content: "\e82d";
  animation: gelatine 0.5s infinite;
}
.ani-person .icon.dow:after {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  content: "\e804";
  transform: translateX(1.75em);
  font-size: 0.5em;
}
@keyframes gelatine {
  from,
  to {
    transform: scale(1, 1);
  }
  25% {
    transform: scale(0.9, 1.1);
  }
  50% {
    transform: scale(1.1, 0.9);
  }
  75% {
    transform: scale(0.95, 1.05);
  }
}
#page7 .mix.square {
  display: block !important;
}
#page7 [data-filter-group] {
  display: none !important;
}
/*
  Tailwind-like utility classes for TYPO3 templates.
  Includes spacing (margin/padding/gap), width utilities, and responsive prefixes.
*/
/* ─── Display utilities ─────────────────────────────────────────────────── */
/* ─── Position utilities ────────────────────────────────────────────────── */
/* ─── Float utilities ───────────────────────────────────────────────────── */
/* ─────────────────────────────────────────────────────────────────────────── */
/* Auto margins */
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.ml-auto {
  margin-left: auto;
}
.mr-auto {
  margin-right: auto;
}
/* Explicit Gap utilities */
.gap-1 {
  --tw-gap-x: 0.25em;
  --tw-gap-y: 0.25em;
  gap: 0.25em;
}
.gap-2 {
  --tw-gap-x: 0.5em;
  --tw-gap-y: 0.5em;
  gap: 0.5em;
}
.gap-3 {
  --tw-gap-x: 0.75em;
  --tw-gap-y: 0.75em;
  gap: 0.75em;
}
.gap-4 {
  --tw-gap-x: 1em;
  --tw-gap-y: 1em;
  gap: 1em;
}
.gap-x-1 {
  --tw-gap-x: 0.25em;
  column-gap: 0.25em;
}
.gap-x-2 {
  --tw-gap-x: 0.5em;
  column-gap: 0.5em;
}
.gap-x-3 {
  --tw-gap-x: 0.75em;
  column-gap: 0.75em;
}
.gap-x-4 {
  --tw-gap-x: 1em;
  column-gap: 1em;
}
.gap-y-1 {
  --tw-gap-y: 0.25em;
  row-gap: 0.25em;
}
.gap-y-2 {
  --tw-gap-y: 0.5em;
  row-gap: 0.5em;
}
.gap-y-3 {
  --tw-gap-y: 0.75em;
  row-gap: 0.75em;
}
.gap-y-4 {
  --tw-gap-y: 1em;
  row-gap: 1em;
}
/* Base utilities */
/* Margin */
.m-0 {
  margin: 0;
}
.mx-0 {
  margin-left: 0;
  margin-right: 0;
}
.my-0 {
  margin-top: 0;
  margin-bottom: 0;
}
.mt-0 {
  margin-top: 0;
}
.mr-0 {
  margin-right: 0;
}
.mb-0 {
  margin-bottom: 0;
}
.ml-0 {
  margin-left: 0;
}
/* Padding */
.p-0 {
  padding: 0;
}
.px-0 {
  padding-left: 0;
  padding-right: 0;
}
.py-0 {
  padding-top: 0;
  padding-bottom: 0;
}
.pt-0 {
  padding-top: 0;
}
.pr-0 {
  padding-right: 0;
}
.pb-0 {
  padding-bottom: 0;
}
.pl-0 {
  padding-left: 0;
}
/* Gap */
.gap-0 {
  --tw-gap-x: 0;
  --tw-gap-y: 0;
  gap: 0;
}
.gap-x-0 {
  --tw-gap-x: 0;
  column-gap: 0;
}
.gap-y-0 {
  --tw-gap-y: 0;
  row-gap: 0;
}
/* Margin */
.m-1 {
  margin: 0.25em;
}
.mx-1 {
  margin-left: 0.25em;
  margin-right: 0.25em;
}
.my-1 {
  margin-top: 0.25em;
  margin-bottom: 0.25em;
}
.mt-1 {
  margin-top: 0.25em;
}
.mr-1 {
  margin-right: 0.25em;
}
.mb-1 {
  margin-bottom: 0.25em;
}
.ml-1 {
  margin-left: 0.25em;
}
/* Padding */
.p-1 {
  padding: 0.25em;
}
.px-1 {
  padding-left: 0.25em;
  padding-right: 0.25em;
}
.py-1 {
  padding-top: 0.25em;
  padding-bottom: 0.25em;
}
.pt-1 {
  padding-top: 0.25em;
}
.pr-1 {
  padding-right: 0.25em;
}
.pb-1 {
  padding-bottom: 0.25em;
}
.pl-1 {
  padding-left: 0.25em;
}
/* Gap */
.gap-1 {
  --tw-gap-x: 0.25em;
  --tw-gap-y: 0.25em;
  gap: 0.25em;
}
.gap-x-1 {
  --tw-gap-x: 0.25em;
  column-gap: 0.25em;
}
.gap-y-1 {
  --tw-gap-y: 0.25em;
  row-gap: 0.25em;
}
/* Margin */
.m-2 {
  margin: 0.5em;
}
.mx-2 {
  margin-left: 0.5em;
  margin-right: 0.5em;
}
.my-2 {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
.mt-2 {
  margin-top: 0.5em;
}
.mr-2 {
  margin-right: 0.5em;
}
.mb-2 {
  margin-bottom: 0.5em;
}
.ml-2 {
  margin-left: 0.5em;
}
/* Padding */
.p-2 {
  padding: 0.5em;
}
.px-2 {
  padding-left: 0.5em;
  padding-right: 0.5em;
}
.py-2 {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}
.pt-2 {
  padding-top: 0.5em;
}
.pr-2 {
  padding-right: 0.5em;
}
.pb-2 {
  padding-bottom: 0.5em;
}
.pl-2 {
  padding-left: 0.5em;
}
/* Gap */
.gap-2 {
  --tw-gap-x: 0.5em;
  --tw-gap-y: 0.5em;
  gap: 0.5em;
}
.gap-x-2 {
  --tw-gap-x: 0.5em;
  column-gap: 0.5em;
}
.gap-y-2 {
  --tw-gap-y: 0.5em;
  row-gap: 0.5em;
}
/* Margin */
.m-3 {
  margin: 0.75em;
}
.mx-3 {
  margin-left: 0.75em;
  margin-right: 0.75em;
}
.my-3 {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}
.mt-3 {
  margin-top: 0.75em;
}
.mr-3 {
  margin-right: 0.75em;
}
.mb-3 {
  margin-bottom: 0.75em;
}
.ml-3 {
  margin-left: 0.75em;
}
/* Padding */
.p-3 {
  padding: 0.75em;
}
.px-3 {
  padding-left: 0.75em;
  padding-right: 0.75em;
}
.py-3 {
  padding-top: 0.75em;
  padding-bottom: 0.75em;
}
.pt-3 {
  padding-top: 0.75em;
}
.pr-3 {
  padding-right: 0.75em;
}
.pb-3 {
  padding-bottom: 0.75em;
}
.pl-3 {
  padding-left: 0.75em;
}
/* Gap */
.gap-3 {
  --tw-gap-x: 0.75em;
  --tw-gap-y: 0.75em;
  gap: 0.75em;
}
.gap-x-3 {
  --tw-gap-x: 0.75em;
  column-gap: 0.75em;
}
.gap-y-3 {
  --tw-gap-y: 0.75em;
  row-gap: 0.75em;
}
/* Margin */
.m-4 {
  margin: 1em;
}
.mx-4 {
  margin-left: 1em;
  margin-right: 1em;
}
.my-4 {
  margin-top: 1em;
  margin-bottom: 1em;
}
.mt-4 {
  margin-top: 1em;
}
.mr-4 {
  margin-right: 1em;
}
.mb-4 {
  margin-bottom: 1em;
}
.ml-4 {
  margin-left: 1em;
}
/* Padding */
.p-4 {
  padding: 1em;
}
.px-4 {
  padding-left: 1em;
  padding-right: 1em;
}
.py-4 {
  padding-top: 1em;
  padding-bottom: 1em;
}
.pt-4 {
  padding-top: 1em;
}
.pr-4 {
  padding-right: 1em;
}
.pb-4 {
  padding-bottom: 1em;
}
.pl-4 {
  padding-left: 1em;
}
/* Gap */
.gap-4 {
  --tw-gap-x: 1em;
  --tw-gap-y: 1em;
  gap: 1em;
}
.gap-x-4 {
  --tw-gap-x: 1em;
  column-gap: 1em;
}
.gap-y-4 {
  --tw-gap-y: 1em;
  row-gap: 1em;
}
/* Margin */
.m-5 {
  margin: 1.25em;
}
.mx-5 {
  margin-left: 1.25em;
  margin-right: 1.25em;
}
.my-5 {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}
.mt-5 {
  margin-top: 1.25em;
}
.mr-5 {
  margin-right: 1.25em;
}
.mb-5 {
  margin-bottom: 1.25em;
}
.ml-5 {
  margin-left: 1.25em;
}
/* Padding */
.p-5 {
  padding: 1.25em;
}
.px-5 {
  padding-left: 1.25em;
  padding-right: 1.25em;
}
.py-5 {
  padding-top: 1.25em;
  padding-bottom: 1.25em;
}
.pt-5 {
  padding-top: 1.25em;
}
.pr-5 {
  padding-right: 1.25em;
}
.pb-5 {
  padding-bottom: 1.25em;
}
.pl-5 {
  padding-left: 1.25em;
}
/* Gap */
.gap-5 {
  --tw-gap-x: 1.25em;
  --tw-gap-y: 1.25em;
  gap: 1.25em;
}
.gap-x-5 {
  --tw-gap-x: 1.25em;
  column-gap: 1.25em;
}
.gap-y-5 {
  --tw-gap-y: 1.25em;
  row-gap: 1.25em;
}
/* Margin */
.m-6 {
  margin: 1.5em;
}
.mx-6 {
  margin-left: 1.5em;
  margin-right: 1.5em;
}
.my-6 {
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}
.mt-6 {
  margin-top: 1.5em;
}
.mr-6 {
  margin-right: 1.5em;
}
.mb-6 {
  margin-bottom: 1.5em;
}
.ml-6 {
  margin-left: 1.5em;
}
/* Padding */
.p-6 {
  padding: 1.5em;
}
.px-6 {
  padding-left: 1.5em;
  padding-right: 1.5em;
}
.py-6 {
  padding-top: 1.5em;
  padding-bottom: 1.5em;
}
.pt-6 {
  padding-top: 1.5em;
}
.pr-6 {
  padding-right: 1.5em;
}
.pb-6 {
  padding-bottom: 1.5em;
}
.pl-6 {
  padding-left: 1.5em;
}
/* Gap */
.gap-6 {
  --tw-gap-x: 1.5em;
  --tw-gap-y: 1.5em;
  gap: 1.5em;
}
.gap-x-6 {
  --tw-gap-x: 1.5em;
  column-gap: 1.5em;
}
.gap-y-6 {
  --tw-gap-y: 1.5em;
  row-gap: 1.5em;
}
/* Margin */
.m-8 {
  margin: 2em;
}
.mx-8 {
  margin-left: 2em;
  margin-right: 2em;
}
.my-8 {
  margin-top: 2em;
  margin-bottom: 2em;
}
.mt-8 {
  margin-top: 2em;
}
.mr-8 {
  margin-right: 2em;
}
.mb-8 {
  margin-bottom: 2em;
}
.ml-8 {
  margin-left: 2em;
}
/* Padding */
.p-8 {
  padding: 2em;
}
.px-8 {
  padding-left: 2em;
  padding-right: 2em;
}
.py-8 {
  padding-top: 2em;
  padding-bottom: 2em;
}
.pt-8 {
  padding-top: 2em;
}
.pr-8 {
  padding-right: 2em;
}
.pb-8 {
  padding-bottom: 2em;
}
.pl-8 {
  padding-left: 2em;
}
/* Gap */
.gap-8 {
  --tw-gap-x: 2em;
  --tw-gap-y: 2em;
  gap: 2em;
}
.gap-x-8 {
  --tw-gap-x: 2em;
  column-gap: 2em;
}
.gap-y-8 {
  --tw-gap-y: 2em;
  row-gap: 2em;
}
/* Margin */
.m-10 {
  margin: 2.5em;
}
.mx-10 {
  margin-left: 2.5em;
  margin-right: 2.5em;
}
.my-10 {
  margin-top: 2.5em;
  margin-bottom: 2.5em;
}
.mt-10 {
  margin-top: 2.5em;
}
.mr-10 {
  margin-right: 2.5em;
}
.mb-10 {
  margin-bottom: 2.5em;
}
.ml-10 {
  margin-left: 2.5em;
}
/* Padding */
.p-10 {
  padding: 2.5em;
}
.px-10 {
  padding-left: 2.5em;
  padding-right: 2.5em;
}
.py-10 {
  padding-top: 2.5em;
  padding-bottom: 2.5em;
}
.pt-10 {
  padding-top: 2.5em;
}
.pr-10 {
  padding-right: 2.5em;
}
.pb-10 {
  padding-bottom: 2.5em;
}
.pl-10 {
  padding-left: 2.5em;
}
/* Gap */
.gap-10 {
  --tw-gap-x: 2.5em;
  --tw-gap-y: 2.5em;
  gap: 2.5em;
}
.gap-x-10 {
  --tw-gap-x: 2.5em;
  column-gap: 2.5em;
}
.gap-y-10 {
  --tw-gap-y: 2.5em;
  row-gap: 2.5em;
}
/* Margin */
.m-12 {
  margin: 3em;
}
.mx-12 {
  margin-left: 3em;
  margin-right: 3em;
}
.my-12 {
  margin-top: 3em;
  margin-bottom: 3em;
}
.mt-12 {
  margin-top: 3em;
}
.mr-12 {
  margin-right: 3em;
}
.mb-12 {
  margin-bottom: 3em;
}
.ml-12 {
  margin-left: 3em;
}
/* Padding */
.p-12 {
  padding: 3em;
}
.px-12 {
  padding-left: 3em;
  padding-right: 3em;
}
.py-12 {
  padding-top: 3em;
  padding-bottom: 3em;
}
.pt-12 {
  padding-top: 3em;
}
.pr-12 {
  padding-right: 3em;
}
.pb-12 {
  padding-bottom: 3em;
}
.pl-12 {
  padding-left: 3em;
}
/* Gap */
.gap-12 {
  --tw-gap-x: 3em;
  --tw-gap-y: 3em;
  gap: 3em;
}
.gap-x-12 {
  --tw-gap-x: 3em;
  column-gap: 3em;
}
.gap-y-12 {
  --tw-gap-y: 3em;
  row-gap: 3em;
}
/* Margin */
.m-16 {
  margin: 4em;
}
.mx-16 {
  margin-left: 4em;
  margin-right: 4em;
}
.my-16 {
  margin-top: 4em;
  margin-bottom: 4em;
}
.mt-16 {
  margin-top: 4em;
}
.mr-16 {
  margin-right: 4em;
}
.mb-16 {
  margin-bottom: 4em;
}
.ml-16 {
  margin-left: 4em;
}
/* Padding */
.p-16 {
  padding: 4em;
}
.px-16 {
  padding-left: 4em;
  padding-right: 4em;
}
.py-16 {
  padding-top: 4em;
  padding-bottom: 4em;
}
.pt-16 {
  padding-top: 4em;
}
.pr-16 {
  padding-right: 4em;
}
.pb-16 {
  padding-bottom: 4em;
}
.pl-16 {
  padding-left: 4em;
}
/* Gap */
.gap-16 {
  --tw-gap-x: 4em;
  --tw-gap-y: 4em;
  gap: 4em;
}
.gap-x-16 {
  --tw-gap-x: 4em;
  column-gap: 4em;
}
.gap-y-16 {
  --tw-gap-y: 4em;
  row-gap: 4em;
}
.w-auto {
  width: auto;
}
.w-full {
  width: 100%;
}
.w-75 {
  width: 75%;
}
.w-66 {
  width: 66.6667%;
}
.w-50 {
  width: 50%;
}
.w-33 {
  width: 33.3333%;
}
.w-25 {
  width: 25%;
}
.w-screen {
  width: 100vw;
}
.w-fit {
  width: fit-content;
}
.w-1\/1 {
  width: 100%;
}
.w-1\/2 {
  width: 50%;
}
.w-1\/3 {
  width: 33.3333%;
}
.w-2\/3 {
  width: 66.6667%;
}
.w-1\/4 {
  width: 25%;
}
.w-2\/4 {
  width: 50%;
}
.w-3\/4 {
  width: 75%;
}
.w-1\/5 {
  width: 20%;
}
.w-2\/5 {
  width: 40%;
}
.w-3\/5 {
  width: 60%;
}
.w-4\/5 {
  width: 80%;
}
.w-1\/6 {
  width: 16.6667%;
}
.w-2\/6 {
  width: 33.3333%;
}
.w-1\/7 {
  width: 14.2857%;
}
/* Gap-aware width for wrapped flex/grid rows */
.w-gap-1\/2 {
  width: calc((100% - var(--tw-gap-x, 0em)) / 2);
  flex: 0 0 calc((100% - var(--tw-gap-x, 0em)) / 2);
  max-width: calc((100% - var(--tw-gap-x, 0em)) / 2);
  min-width: 0;
}
.w-gap-1\/3 {
  width: calc((100% - (var(--tw-gap-x, 0em) * 2)) / 3);
  flex: 0 0 calc((100% - (var(--tw-gap-x, 0em) * 2)) / 3);
  max-width: calc((100% - (var(--tw-gap-x, 0em) * 2)) / 3);
  min-width: 0;
}
.w-gap-2\/3 {
  width: calc((((100% - (var(--tw-gap-x, 0em) * 2)) / 3) * 2) + var(--tw-gap-x, 0em));
  flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 2)) / 3) * 2) + var(--tw-gap-x, 0em));
  max-width: calc((((100% - (var(--tw-gap-x, 0em) * 2)) / 3) * 2) + var(--tw-gap-x, 0em));
  min-width: 0;
}
.w-gap-1\/4 {
  width: calc((100% - (var(--tw-gap-x, 0em) * 3)) / 4);
  flex: 0 0 calc((100% - (var(--tw-gap-x, 0em) * 3)) / 4);
  max-width: calc((100% - (var(--tw-gap-x, 0em) * 3)) / 4);
  min-width: 0;
}
.w-gap-2\/4 {
  width: calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 2) + var(--tw-gap-x, 0em));
  flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 2) + var(--tw-gap-x, 0em));
  max-width: calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 2) + var(--tw-gap-x, 0em));
  min-width: 0;
}
.w-gap-3\/4 {
  width: calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 3) + (var(--tw-gap-x, 0em) * 2));
  flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 3) + (var(--tw-gap-x, 0em) * 2));
  max-width: calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 3) + (var(--tw-gap-x, 0em) * 2));
  min-width: 0;
}
.w-gap-1\/5 {
  width: calc((100% - (var(--tw-gap-x, 0em) * 4)) / 5);
  flex: 0 0 calc((100% - (var(--tw-gap-x, 0em) * 4)) / 5);
  max-width: calc((100% - (var(--tw-gap-x, 0em) * 4)) / 5);
  min-width: 0;
}
.w-gap-2\/5 {
  width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 2) + var(--tw-gap-x, 0em));
  flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 2) + var(--tw-gap-x, 0em));
  max-width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 2) + var(--tw-gap-x, 0em));
  min-width: 0;
}
.w-gap-3\/5 {
  width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 3) + (var(--tw-gap-x, 0em) * 2));
  flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 3) + (var(--tw-gap-x, 0em) * 2));
  max-width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 3) + (var(--tw-gap-x, 0em) * 2));
  min-width: 0;
}
.w-gap-4\/5 {
  width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 4) + (var(--tw-gap-x, 0em) * 3));
  flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 4) + (var(--tw-gap-x, 0em) * 3));
  max-width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 4) + (var(--tw-gap-x, 0em) * 3));
  min-width: 0;
}
.w-gap-1\/6 {
  width: calc((100% - (var(--tw-gap-x, 0em) * 5)) / 6);
  flex: 0 0 calc((100% - (var(--tw-gap-x, 0em) * 5)) / 6);
  max-width: calc((100% - (var(--tw-gap-x, 0em) * 5)) / 6);
  min-width: 0;
}
.w-gap-1\/7 {
  width: calc((100% - (var(--tw-gap-x, 0em) * 6)) / 7);
  flex: 0 0 calc((100% - (var(--tw-gap-x, 0em) * 6)) / 7);
  max-width: calc((100% - (var(--tw-gap-x, 0em) * 6)) / 7);
  min-width: 0;
}
.w-16 {
  width: 4em;
}
.w-24 {
  width: 6em;
}
.w-32 {
  width: 8em;
}
.w-40 {
  width: 10em;
}
.w-48 {
  width: 12em;
}
.w-56 {
  width: 14em;
}
.w-64 {
  width: 16em;
}
.w-80 {
  width: 20em;
}
.w-96 {
  width: 24em;
}
/* Display */
.block {
  display: block;
}
.inline-block {
  display: inline-block;
}
.inline {
  display: inline;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
/*.@{prefix}grid         { display: grid; }*/
.inline-grid {
  display: inline-grid;
}
.flow-root {
  display: flow-root;
}
.contents {
  display: contents;
}
.table {
  display: table;
}
.hidden {
  display: none;
}
/* Flex direction */
.flex-row {
  flex-direction: row;
}
.flex-row-reverse {
  flex-direction: row-reverse;
}
.flex-col {
  flex-direction: column;
}
.flex-col-reverse {
  flex-direction: column-reverse;
}
/* Flex wrap */
.flex-wrap {
  flex-wrap: wrap;
}
.flex-nowrap {
  flex-wrap: nowrap;
}
.flex-wrap-reverse {
  flex-wrap: wrap-reverse;
}
/* Flex shortcuts */
.flex-1 {
  flex: 1 1 0%;
}
.flex-auto {
  flex: 1 1 auto;
}
.flex-initial {
  flex: 0 1 auto;
}
.flex-none {
  flex: none;
}
/* Grow / Shrink */
.grow {
  flex-grow: 1;
}
.grow-0 {
  flex-grow: 0;
}
.shrink {
  flex-shrink: 1;
}
.shrink-0 {
  flex-shrink: 0;
}
/* Justify content */
.justify-start {
  justify-content: flex-start;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.justify-around {
  justify-content: space-around;
}
.justify-evenly {
  justify-content: space-evenly;
}
.justify-stretch {
  justify-content: stretch;
}
/* Align items */
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-center {
  align-items: center;
}
.items-baseline {
  align-items: baseline;
}
.items-stretch {
  align-items: stretch;
}
/* Align self */
.self-auto {
  align-self: auto;
}
.self-start {
  align-self: flex-start;
}
.self-end {
  align-self: flex-end;
}
.self-center {
  align-self: center;
}
.self-stretch {
  align-self: stretch;
}
.self-baseline {
  align-self: baseline;
}
/* Grid columns (1–12) */
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.grid-cols-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.grid-cols-7 {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.grid-cols-8 {
  grid-template-columns: repeat(8, minmax(0, 1fr));
}
.grid-cols-9 {
  grid-template-columns: repeat(9, minmax(0, 1fr));
}
.grid-cols-10 {
  grid-template-columns: repeat(10, minmax(0, 1fr));
}
.grid-cols-11 {
  grid-template-columns: repeat(11, minmax(0, 1fr));
}
.grid-cols-12 {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}
.grid-cols-none {
  grid-template-columns: none;
}
/* Column span (1–12 + full) */
.col-span-1 {
  grid-column: span 1 span 1;
}
.col-span-2 {
  grid-column: span 2 span 2;
}
.col-span-3 {
  grid-column: span 3 span 3;
}
.col-span-4 {
  grid-column: span 4 span 4;
}
.col-span-5 {
  grid-column: span 5 span 5;
}
.col-span-6 {
  grid-column: span 6 span 6;
}
.col-span-7 {
  grid-column: span 7 span 7;
}
.col-span-8 {
  grid-column: span 8 span 8;
}
.col-span-9 {
  grid-column: span 9 span 9;
}
.col-span-10 {
  grid-column: span 10 span 10;
}
.col-span-11 {
  grid-column: span 11 span 11;
}
.col-span-12 {
  grid-column: span 12 span 12;
}
.col-span-full {
  grid-column: -1;
}
/* Position */
.static {
  position: static;
}
.relative {
  position: relative;
}
.absolute {
  position: absolute;
}
.fixed {
  position: fixed;
}
.sticky {
  position: sticky;
}
/* Inset (top / right / bottom / left) */
.inset-0 {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.inset-auto {
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
}
.inset-x-0 {
  left: 0;
  right: 0;
}
.inset-x-auto {
  left: auto;
  right: auto;
}
.inset-y-0 {
  top: 0;
  bottom: 0;
}
.inset-y-auto {
  top: auto;
  bottom: auto;
}
.top-0 {
  top: 0;
}
.top-auto {
  top: auto;
}
.top-full {
  top: 100%;
}
.top-1\/2 {
  top: 50%;
}
.right-0 {
  right: 0;
}
.right-auto {
  right: auto;
}
.right-full {
  right: 100%;
}
.right-1\/2 {
  right: 50%;
}
.bottom-0 {
  bottom: 0;
}
.bottom-auto {
  bottom: auto;
}
.bottom-full {
  bottom: 100%;
}
.bottom-1\/2 {
  bottom: 50%;
}
.left-0 {
  left: 0;
}
.left-auto {
  left: auto;
}
.left-full {
  left: 100%;
}
.left-1\/2 {
  left: 50%;
}
/* Z-index */
.z-0 {
  z-index: 0;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-30 {
  z-index: 30;
}
.z-40 {
  z-index: 40;
}
.z-50 {
  z-index: 50;
}
.z-auto {
  z-index: auto;
}
/* Overflow */
.overflow-auto {
  overflow: auto;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-visible {
  overflow: visible;
}
.overflow-scroll {
  overflow: scroll;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-x-hidden {
  overflow-x: hidden;
}
.overflow-x-visible {
  overflow-x: visible;
}
.overflow-x-scroll {
  overflow-x: scroll;
}
.overflow-y-auto {
  overflow-y: auto;
}
.overflow-y-hidden {
  overflow-y: hidden;
}
.overflow-y-visible {
  overflow-y: visible;
}
.overflow-y-scroll {
  overflow-y: scroll;
}
.float-start {
  float: inline-start;
}
.float-end {
  float: inline-end;
}
.float-right {
  float: right;
}
.float-left {
  float: left;
}
.float-none {
  float: none;
}
/* Responsive variants */
@media (min-width: 640px) {
  /* Margin */
  .sm\:m-0 {
    margin: 0;
  }
  .sm\:mx-0 {
    margin-left: 0;
    margin-right: 0;
  }
  .sm\:my-0 {
    margin-top: 0;
    margin-bottom: 0;
  }
  .sm\:mt-0 {
    margin-top: 0;
  }
  .sm\:mr-0 {
    margin-right: 0;
  }
  .sm\:mb-0 {
    margin-bottom: 0;
  }
  .sm\:ml-0 {
    margin-left: 0;
  }
  /* Padding */
  .sm\:p-0 {
    padding: 0;
  }
  .sm\:px-0 {
    padding-left: 0;
    padding-right: 0;
  }
  .sm\:py-0 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .sm\:pt-0 {
    padding-top: 0;
  }
  .sm\:pr-0 {
    padding-right: 0;
  }
  .sm\:pb-0 {
    padding-bottom: 0;
  }
  .sm\:pl-0 {
    padding-left: 0;
  }
  /* Gap */
  .sm\:gap-0 {
    --tw-gap-x: 0;
    --tw-gap-y: 0;
    gap: 0;
  }
  .sm\:gap-x-0 {
    --tw-gap-x: 0;
    column-gap: 0;
  }
  .sm\:gap-y-0 {
    --tw-gap-y: 0;
    row-gap: 0;
  }
  /* Margin */
  .sm\:m-1 {
    margin: 0.25em;
  }
  .sm\:mx-1 {
    margin-left: 0.25em;
    margin-right: 0.25em;
  }
  .sm\:my-1 {
    margin-top: 0.25em;
    margin-bottom: 0.25em;
  }
  .sm\:mt-1 {
    margin-top: 0.25em;
  }
  .sm\:mr-1 {
    margin-right: 0.25em;
  }
  .sm\:mb-1 {
    margin-bottom: 0.25em;
  }
  .sm\:ml-1 {
    margin-left: 0.25em;
  }
  /* Padding */
  .sm\:p-1 {
    padding: 0.25em;
  }
  .sm\:px-1 {
    padding-left: 0.25em;
    padding-right: 0.25em;
  }
  .sm\:py-1 {
    padding-top: 0.25em;
    padding-bottom: 0.25em;
  }
  .sm\:pt-1 {
    padding-top: 0.25em;
  }
  .sm\:pr-1 {
    padding-right: 0.25em;
  }
  .sm\:pb-1 {
    padding-bottom: 0.25em;
  }
  .sm\:pl-1 {
    padding-left: 0.25em;
  }
  /* Gap */
  .sm\:gap-1 {
    --tw-gap-x: 0.25em;
    --tw-gap-y: 0.25em;
    gap: 0.25em;
  }
  .sm\:gap-x-1 {
    --tw-gap-x: 0.25em;
    column-gap: 0.25em;
  }
  .sm\:gap-y-1 {
    --tw-gap-y: 0.25em;
    row-gap: 0.25em;
  }
  /* Margin */
  .sm\:m-2 {
    margin: 0.5em;
  }
  .sm\:mx-2 {
    margin-left: 0.5em;
    margin-right: 0.5em;
  }
  .sm\:my-2 {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
  }
  .sm\:mt-2 {
    margin-top: 0.5em;
  }
  .sm\:mr-2 {
    margin-right: 0.5em;
  }
  .sm\:mb-2 {
    margin-bottom: 0.5em;
  }
  .sm\:ml-2 {
    margin-left: 0.5em;
  }
  /* Padding */
  .sm\:p-2 {
    padding: 0.5em;
  }
  .sm\:px-2 {
    padding-left: 0.5em;
    padding-right: 0.5em;
  }
  .sm\:py-2 {
    padding-top: 0.5em;
    padding-bottom: 0.5em;
  }
  .sm\:pt-2 {
    padding-top: 0.5em;
  }
  .sm\:pr-2 {
    padding-right: 0.5em;
  }
  .sm\:pb-2 {
    padding-bottom: 0.5em;
  }
  .sm\:pl-2 {
    padding-left: 0.5em;
  }
  /* Gap */
  .sm\:gap-2 {
    --tw-gap-x: 0.5em;
    --tw-gap-y: 0.5em;
    gap: 0.5em;
  }
  .sm\:gap-x-2 {
    --tw-gap-x: 0.5em;
    column-gap: 0.5em;
  }
  .sm\:gap-y-2 {
    --tw-gap-y: 0.5em;
    row-gap: 0.5em;
  }
  /* Margin */
  .sm\:m-3 {
    margin: 0.75em;
  }
  .sm\:mx-3 {
    margin-left: 0.75em;
    margin-right: 0.75em;
  }
  .sm\:my-3 {
    margin-top: 0.75em;
    margin-bottom: 0.75em;
  }
  .sm\:mt-3 {
    margin-top: 0.75em;
  }
  .sm\:mr-3 {
    margin-right: 0.75em;
  }
  .sm\:mb-3 {
    margin-bottom: 0.75em;
  }
  .sm\:ml-3 {
    margin-left: 0.75em;
  }
  /* Padding */
  .sm\:p-3 {
    padding: 0.75em;
  }
  .sm\:px-3 {
    padding-left: 0.75em;
    padding-right: 0.75em;
  }
  .sm\:py-3 {
    padding-top: 0.75em;
    padding-bottom: 0.75em;
  }
  .sm\:pt-3 {
    padding-top: 0.75em;
  }
  .sm\:pr-3 {
    padding-right: 0.75em;
  }
  .sm\:pb-3 {
    padding-bottom: 0.75em;
  }
  .sm\:pl-3 {
    padding-left: 0.75em;
  }
  /* Gap */
  .sm\:gap-3 {
    --tw-gap-x: 0.75em;
    --tw-gap-y: 0.75em;
    gap: 0.75em;
  }
  .sm\:gap-x-3 {
    --tw-gap-x: 0.75em;
    column-gap: 0.75em;
  }
  .sm\:gap-y-3 {
    --tw-gap-y: 0.75em;
    row-gap: 0.75em;
  }
  /* Margin */
  .sm\:m-4 {
    margin: 1em;
  }
  .sm\:mx-4 {
    margin-left: 1em;
    margin-right: 1em;
  }
  .sm\:my-4 {
    margin-top: 1em;
    margin-bottom: 1em;
  }
  .sm\:mt-4 {
    margin-top: 1em;
  }
  .sm\:mr-4 {
    margin-right: 1em;
  }
  .sm\:mb-4 {
    margin-bottom: 1em;
  }
  .sm\:ml-4 {
    margin-left: 1em;
  }
  /* Padding */
  .sm\:p-4 {
    padding: 1em;
  }
  .sm\:px-4 {
    padding-left: 1em;
    padding-right: 1em;
  }
  .sm\:py-4 {
    padding-top: 1em;
    padding-bottom: 1em;
  }
  .sm\:pt-4 {
    padding-top: 1em;
  }
  .sm\:pr-4 {
    padding-right: 1em;
  }
  .sm\:pb-4 {
    padding-bottom: 1em;
  }
  .sm\:pl-4 {
    padding-left: 1em;
  }
  /* Gap */
  .sm\:gap-4 {
    --tw-gap-x: 1em;
    --tw-gap-y: 1em;
    gap: 1em;
  }
  .sm\:gap-x-4 {
    --tw-gap-x: 1em;
    column-gap: 1em;
  }
  .sm\:gap-y-4 {
    --tw-gap-y: 1em;
    row-gap: 1em;
  }
  /* Margin */
  .sm\:m-5 {
    margin: 1.25em;
  }
  .sm\:mx-5 {
    margin-left: 1.25em;
    margin-right: 1.25em;
  }
  .sm\:my-5 {
    margin-top: 1.25em;
    margin-bottom: 1.25em;
  }
  .sm\:mt-5 {
    margin-top: 1.25em;
  }
  .sm\:mr-5 {
    margin-right: 1.25em;
  }
  .sm\:mb-5 {
    margin-bottom: 1.25em;
  }
  .sm\:ml-5 {
    margin-left: 1.25em;
  }
  /* Padding */
  .sm\:p-5 {
    padding: 1.25em;
  }
  .sm\:px-5 {
    padding-left: 1.25em;
    padding-right: 1.25em;
  }
  .sm\:py-5 {
    padding-top: 1.25em;
    padding-bottom: 1.25em;
  }
  .sm\:pt-5 {
    padding-top: 1.25em;
  }
  .sm\:pr-5 {
    padding-right: 1.25em;
  }
  .sm\:pb-5 {
    padding-bottom: 1.25em;
  }
  .sm\:pl-5 {
    padding-left: 1.25em;
  }
  /* Gap */
  .sm\:gap-5 {
    --tw-gap-x: 1.25em;
    --tw-gap-y: 1.25em;
    gap: 1.25em;
  }
  .sm\:gap-x-5 {
    --tw-gap-x: 1.25em;
    column-gap: 1.25em;
  }
  .sm\:gap-y-5 {
    --tw-gap-y: 1.25em;
    row-gap: 1.25em;
  }
  /* Margin */
  .sm\:m-6 {
    margin: 1.5em;
  }
  .sm\:mx-6 {
    margin-left: 1.5em;
    margin-right: 1.5em;
  }
  .sm\:my-6 {
    margin-top: 1.5em;
    margin-bottom: 1.5em;
  }
  .sm\:mt-6 {
    margin-top: 1.5em;
  }
  .sm\:mr-6 {
    margin-right: 1.5em;
  }
  .sm\:mb-6 {
    margin-bottom: 1.5em;
  }
  .sm\:ml-6 {
    margin-left: 1.5em;
  }
  /* Padding */
  .sm\:p-6 {
    padding: 1.5em;
  }
  .sm\:px-6 {
    padding-left: 1.5em;
    padding-right: 1.5em;
  }
  .sm\:py-6 {
    padding-top: 1.5em;
    padding-bottom: 1.5em;
  }
  .sm\:pt-6 {
    padding-top: 1.5em;
  }
  .sm\:pr-6 {
    padding-right: 1.5em;
  }
  .sm\:pb-6 {
    padding-bottom: 1.5em;
  }
  .sm\:pl-6 {
    padding-left: 1.5em;
  }
  /* Gap */
  .sm\:gap-6 {
    --tw-gap-x: 1.5em;
    --tw-gap-y: 1.5em;
    gap: 1.5em;
  }
  .sm\:gap-x-6 {
    --tw-gap-x: 1.5em;
    column-gap: 1.5em;
  }
  .sm\:gap-y-6 {
    --tw-gap-y: 1.5em;
    row-gap: 1.5em;
  }
  /* Margin */
  .sm\:m-8 {
    margin: 2em;
  }
  .sm\:mx-8 {
    margin-left: 2em;
    margin-right: 2em;
  }
  .sm\:my-8 {
    margin-top: 2em;
    margin-bottom: 2em;
  }
  .sm\:mt-8 {
    margin-top: 2em;
  }
  .sm\:mr-8 {
    margin-right: 2em;
  }
  .sm\:mb-8 {
    margin-bottom: 2em;
  }
  .sm\:ml-8 {
    margin-left: 2em;
  }
  /* Padding */
  .sm\:p-8 {
    padding: 2em;
  }
  .sm\:px-8 {
    padding-left: 2em;
    padding-right: 2em;
  }
  .sm\:py-8 {
    padding-top: 2em;
    padding-bottom: 2em;
  }
  .sm\:pt-8 {
    padding-top: 2em;
  }
  .sm\:pr-8 {
    padding-right: 2em;
  }
  .sm\:pb-8 {
    padding-bottom: 2em;
  }
  .sm\:pl-8 {
    padding-left: 2em;
  }
  /* Gap */
  .sm\:gap-8 {
    --tw-gap-x: 2em;
    --tw-gap-y: 2em;
    gap: 2em;
  }
  .sm\:gap-x-8 {
    --tw-gap-x: 2em;
    column-gap: 2em;
  }
  .sm\:gap-y-8 {
    --tw-gap-y: 2em;
    row-gap: 2em;
  }
  /* Margin */
  .sm\:m-10 {
    margin: 2.5em;
  }
  .sm\:mx-10 {
    margin-left: 2.5em;
    margin-right: 2.5em;
  }
  .sm\:my-10 {
    margin-top: 2.5em;
    margin-bottom: 2.5em;
  }
  .sm\:mt-10 {
    margin-top: 2.5em;
  }
  .sm\:mr-10 {
    margin-right: 2.5em;
  }
  .sm\:mb-10 {
    margin-bottom: 2.5em;
  }
  .sm\:ml-10 {
    margin-left: 2.5em;
  }
  /* Padding */
  .sm\:p-10 {
    padding: 2.5em;
  }
  .sm\:px-10 {
    padding-left: 2.5em;
    padding-right: 2.5em;
  }
  .sm\:py-10 {
    padding-top: 2.5em;
    padding-bottom: 2.5em;
  }
  .sm\:pt-10 {
    padding-top: 2.5em;
  }
  .sm\:pr-10 {
    padding-right: 2.5em;
  }
  .sm\:pb-10 {
    padding-bottom: 2.5em;
  }
  .sm\:pl-10 {
    padding-left: 2.5em;
  }
  /* Gap */
  .sm\:gap-10 {
    --tw-gap-x: 2.5em;
    --tw-gap-y: 2.5em;
    gap: 2.5em;
  }
  .sm\:gap-x-10 {
    --tw-gap-x: 2.5em;
    column-gap: 2.5em;
  }
  .sm\:gap-y-10 {
    --tw-gap-y: 2.5em;
    row-gap: 2.5em;
  }
  /* Margin */
  .sm\:m-12 {
    margin: 3em;
  }
  .sm\:mx-12 {
    margin-left: 3em;
    margin-right: 3em;
  }
  .sm\:my-12 {
    margin-top: 3em;
    margin-bottom: 3em;
  }
  .sm\:mt-12 {
    margin-top: 3em;
  }
  .sm\:mr-12 {
    margin-right: 3em;
  }
  .sm\:mb-12 {
    margin-bottom: 3em;
  }
  .sm\:ml-12 {
    margin-left: 3em;
  }
  /* Padding */
  .sm\:p-12 {
    padding: 3em;
  }
  .sm\:px-12 {
    padding-left: 3em;
    padding-right: 3em;
  }
  .sm\:py-12 {
    padding-top: 3em;
    padding-bottom: 3em;
  }
  .sm\:pt-12 {
    padding-top: 3em;
  }
  .sm\:pr-12 {
    padding-right: 3em;
  }
  .sm\:pb-12 {
    padding-bottom: 3em;
  }
  .sm\:pl-12 {
    padding-left: 3em;
  }
  /* Gap */
  .sm\:gap-12 {
    --tw-gap-x: 3em;
    --tw-gap-y: 3em;
    gap: 3em;
  }
  .sm\:gap-x-12 {
    --tw-gap-x: 3em;
    column-gap: 3em;
  }
  .sm\:gap-y-12 {
    --tw-gap-y: 3em;
    row-gap: 3em;
  }
  /* Margin */
  .sm\:m-16 {
    margin: 4em;
  }
  .sm\:mx-16 {
    margin-left: 4em;
    margin-right: 4em;
  }
  .sm\:my-16 {
    margin-top: 4em;
    margin-bottom: 4em;
  }
  .sm\:mt-16 {
    margin-top: 4em;
  }
  .sm\:mr-16 {
    margin-right: 4em;
  }
  .sm\:mb-16 {
    margin-bottom: 4em;
  }
  .sm\:ml-16 {
    margin-left: 4em;
  }
  /* Padding */
  .sm\:p-16 {
    padding: 4em;
  }
  .sm\:px-16 {
    padding-left: 4em;
    padding-right: 4em;
  }
  .sm\:py-16 {
    padding-top: 4em;
    padding-bottom: 4em;
  }
  .sm\:pt-16 {
    padding-top: 4em;
  }
  .sm\:pr-16 {
    padding-right: 4em;
  }
  .sm\:pb-16 {
    padding-bottom: 4em;
  }
  .sm\:pl-16 {
    padding-left: 4em;
  }
  /* Gap */
  .sm\:gap-16 {
    --tw-gap-x: 4em;
    --tw-gap-y: 4em;
    gap: 4em;
  }
  .sm\:gap-x-16 {
    --tw-gap-x: 4em;
    column-gap: 4em;
  }
  .sm\:gap-y-16 {
    --tw-gap-y: 4em;
    row-gap: 4em;
  }
  .sm\:w-auto {
    width: auto;
  }
  .sm\:w-full {
    width: 100%;
  }
  .sm\:w-75 {
    width: 75%;
  }
  .sm\:w-66 {
    width: 66.6667%;
  }
  .sm\:w-50 {
    width: 50%;
  }
  .sm\:w-33 {
    width: 33.3333%;
  }
  .sm\:w-25 {
    width: 25%;
  }
  .sm\:w-screen {
    width: 100vw;
  }
  .sm\:w-fit {
    width: fit-content;
  }
  .sm\:w-1\/1 {
    width: 100%;
  }
  .sm\:w-1\/2 {
    width: 50%;
  }
  .sm\:w-1\/3 {
    width: 33.3333%;
  }
  .sm\:w-2\/3 {
    width: 66.6667%;
  }
  .sm\:w-1\/4 {
    width: 25%;
  }
  .sm\:w-2\/4 {
    width: 50%;
  }
  .sm\:w-3\/4 {
    width: 75%;
  }
  .sm\:w-1\/5 {
    width: 20%;
  }
  .sm\:w-2\/5 {
    width: 40%;
  }
  .sm\:w-3\/5 {
    width: 60%;
  }
  .sm\:w-4\/5 {
    width: 80%;
  }
  .sm\:w-1\/6 {
    width: 16.6667%;
  }
  .sm\:w-2\/6 {
    width: 33.3333%;
  }
  .sm\:w-1\/7 {
    width: 14.2857%;
  }
  /* Gap-aware width for wrapped flex/grid rows */
  .sm\:w-gap-1\/2 {
    width: calc((100% - var(--tw-gap-x, 0em)) / 2);
    flex: 0 0 calc((100% - var(--tw-gap-x, 0em)) / 2);
    max-width: calc((100% - var(--tw-gap-x, 0em)) / 2);
    min-width: 0;
  }
  .sm\:w-gap-1\/3 {
    width: calc((100% - (var(--tw-gap-x, 0em) * 2)) / 3);
    flex: 0 0 calc((100% - (var(--tw-gap-x, 0em) * 2)) / 3);
    max-width: calc((100% - (var(--tw-gap-x, 0em) * 2)) / 3);
    min-width: 0;
  }
  .sm\:w-gap-2\/3 {
    width: calc((((100% - (var(--tw-gap-x, 0em) * 2)) / 3) * 2) + var(--tw-gap-x, 0em));
    flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 2)) / 3) * 2) + var(--tw-gap-x, 0em));
    max-width: calc((((100% - (var(--tw-gap-x, 0em) * 2)) / 3) * 2) + var(--tw-gap-x, 0em));
    min-width: 0;
  }
  .sm\:w-gap-1\/4 {
    width: calc((100% - (var(--tw-gap-x, 0em) * 3)) / 4);
    flex: 0 0 calc((100% - (var(--tw-gap-x, 0em) * 3)) / 4);
    max-width: calc((100% - (var(--tw-gap-x, 0em) * 3)) / 4);
    min-width: 0;
  }
  .sm\:w-gap-2\/4 {
    width: calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 2) + var(--tw-gap-x, 0em));
    flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 2) + var(--tw-gap-x, 0em));
    max-width: calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 2) + var(--tw-gap-x, 0em));
    min-width: 0;
  }
  .sm\:w-gap-3\/4 {
    width: calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 3) + (var(--tw-gap-x, 0em) * 2));
    flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 3) + (var(--tw-gap-x, 0em) * 2));
    max-width: calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 3) + (var(--tw-gap-x, 0em) * 2));
    min-width: 0;
  }
  .sm\:w-gap-1\/5 {
    width: calc((100% - (var(--tw-gap-x, 0em) * 4)) / 5);
    flex: 0 0 calc((100% - (var(--tw-gap-x, 0em) * 4)) / 5);
    max-width: calc((100% - (var(--tw-gap-x, 0em) * 4)) / 5);
    min-width: 0;
  }
  .sm\:w-gap-2\/5 {
    width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 2) + var(--tw-gap-x, 0em));
    flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 2) + var(--tw-gap-x, 0em));
    max-width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 2) + var(--tw-gap-x, 0em));
    min-width: 0;
  }
  .sm\:w-gap-3\/5 {
    width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 3) + (var(--tw-gap-x, 0em) * 2));
    flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 3) + (var(--tw-gap-x, 0em) * 2));
    max-width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 3) + (var(--tw-gap-x, 0em) * 2));
    min-width: 0;
  }
  .sm\:w-gap-4\/5 {
    width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 4) + (var(--tw-gap-x, 0em) * 3));
    flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 4) + (var(--tw-gap-x, 0em) * 3));
    max-width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 4) + (var(--tw-gap-x, 0em) * 3));
    min-width: 0;
  }
  .sm\:w-gap-1\/6 {
    width: calc((100% - (var(--tw-gap-x, 0em) * 5)) / 6);
    flex: 0 0 calc((100% - (var(--tw-gap-x, 0em) * 5)) / 6);
    max-width: calc((100% - (var(--tw-gap-x, 0em) * 5)) / 6);
    min-width: 0;
  }
  .sm\:w-gap-1\/7 {
    width: calc((100% - (var(--tw-gap-x, 0em) * 6)) / 7);
    flex: 0 0 calc((100% - (var(--tw-gap-x, 0em) * 6)) / 7);
    max-width: calc((100% - (var(--tw-gap-x, 0em) * 6)) / 7);
    min-width: 0;
  }
  .sm\:w-16 {
    width: 4em;
  }
  .sm\:w-24 {
    width: 6em;
  }
  .sm\:w-32 {
    width: 8em;
  }
  .sm\:w-40 {
    width: 10em;
  }
  .sm\:w-48 {
    width: 12em;
  }
  .sm\:w-56 {
    width: 14em;
  }
  .sm\:w-64 {
    width: 16em;
  }
  .sm\:w-80 {
    width: 20em;
  }
  .sm\:w-96 {
    width: 24em;
  }
  /* Display */
  .sm\:block {
    display: block;
  }
  .sm\:inline-block {
    display: inline-block;
  }
  .sm\:inline {
    display: inline;
  }
  .sm\:flex {
    display: flex;
  }
  .sm\:inline-flex {
    display: inline-flex;
  }
  /*.@{prefix}grid         { display: grid; }*/
  .sm\:inline-grid {
    display: inline-grid;
  }
  .sm\:flow-root {
    display: flow-root;
  }
  .sm\:contents {
    display: contents;
  }
  .sm\:table {
    display: table;
  }
  .sm\:hidden {
    display: none;
  }
  /* Flex direction */
  .sm\:flex-row {
    flex-direction: row;
  }
  .sm\:flex-row-reverse {
    flex-direction: row-reverse;
  }
  .sm\:flex-col {
    flex-direction: column;
  }
  .sm\:flex-col-reverse {
    flex-direction: column-reverse;
  }
  /* Flex wrap */
  .sm\:flex-wrap {
    flex-wrap: wrap;
  }
  .sm\:flex-nowrap {
    flex-wrap: nowrap;
  }
  .sm\:flex-wrap-reverse {
    flex-wrap: wrap-reverse;
  }
  /* Flex shortcuts */
  .sm\:flex-1 {
    flex: 1 1 0%;
  }
  .sm\:flex-auto {
    flex: 1 1 auto;
  }
  .sm\:flex-initial {
    flex: 0 1 auto;
  }
  .sm\:flex-none {
    flex: none;
  }
  /* Grow / Shrink */
  .sm\:grow {
    flex-grow: 1;
  }
  .sm\:grow-0 {
    flex-grow: 0;
  }
  .sm\:shrink {
    flex-shrink: 1;
  }
  .sm\:shrink-0 {
    flex-shrink: 0;
  }
  /* Justify content */
  .sm\:justify-start {
    justify-content: flex-start;
  }
  .sm\:justify-end {
    justify-content: flex-end;
  }
  .sm\:justify-center {
    justify-content: center;
  }
  .sm\:justify-between {
    justify-content: space-between;
  }
  .sm\:justify-around {
    justify-content: space-around;
  }
  .sm\:justify-evenly {
    justify-content: space-evenly;
  }
  .sm\:justify-stretch {
    justify-content: stretch;
  }
  /* Align items */
  .sm\:items-start {
    align-items: flex-start;
  }
  .sm\:items-end {
    align-items: flex-end;
  }
  .sm\:items-center {
    align-items: center;
  }
  .sm\:items-baseline {
    align-items: baseline;
  }
  .sm\:items-stretch {
    align-items: stretch;
  }
  /* Align self */
  .sm\:self-auto {
    align-self: auto;
  }
  .sm\:self-start {
    align-self: flex-start;
  }
  .sm\:self-end {
    align-self: flex-end;
  }
  .sm\:self-center {
    align-self: center;
  }
  .sm\:self-stretch {
    align-self: stretch;
  }
  .sm\:self-baseline {
    align-self: baseline;
  }
  /* Grid columns (1–12) */
  .sm\:grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .sm\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .sm\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .sm\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .sm\:grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .sm\:grid-cols-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .sm\:grid-cols-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
  .sm\:grid-cols-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
  .sm\:grid-cols-11 {
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }
  .sm\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .sm\:grid-cols-none {
    grid-template-columns: none;
  }
  /* Column span (1–12 + full) */
  .sm\:col-span-1 {
    grid-column: span 1 span 1;
  }
  .sm\:col-span-2 {
    grid-column: span 2 span 2;
  }
  .sm\:col-span-3 {
    grid-column: span 3 span 3;
  }
  .sm\:col-span-4 {
    grid-column: span 4 span 4;
  }
  .sm\:col-span-5 {
    grid-column: span 5 span 5;
  }
  .sm\:col-span-6 {
    grid-column: span 6 span 6;
  }
  .sm\:col-span-7 {
    grid-column: span 7 span 7;
  }
  .sm\:col-span-8 {
    grid-column: span 8 span 8;
  }
  .sm\:col-span-9 {
    grid-column: span 9 span 9;
  }
  .sm\:col-span-10 {
    grid-column: span 10 span 10;
  }
  .sm\:col-span-11 {
    grid-column: span 11 span 11;
  }
  .sm\:col-span-12 {
    grid-column: span 12 span 12;
  }
  .sm\:col-span-full {
    grid-column: -1;
  }
  /* Position */
  .sm\:static {
    position: static;
  }
  .sm\:relative {
    position: relative;
  }
  .sm\:absolute {
    position: absolute;
  }
  .sm\:fixed {
    position: fixed;
  }
  .sm\:sticky {
    position: sticky;
  }
  /* Inset (top / right / bottom / left) */
  .sm\:inset-0 {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  .sm\:inset-auto {
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
  }
  .sm\:inset-x-0 {
    left: 0;
    right: 0;
  }
  .sm\:inset-x-auto {
    left: auto;
    right: auto;
  }
  .sm\:inset-y-0 {
    top: 0;
    bottom: 0;
  }
  .sm\:inset-y-auto {
    top: auto;
    bottom: auto;
  }
  .sm\:top-0 {
    top: 0;
  }
  .sm\:top-auto {
    top: auto;
  }
  .sm\:top-full {
    top: 100%;
  }
  .sm\:top-1\/2 {
    top: 50%;
  }
  .sm\:right-0 {
    right: 0;
  }
  .sm\:right-auto {
    right: auto;
  }
  .sm\:right-full {
    right: 100%;
  }
  .sm\:right-1\/2 {
    right: 50%;
  }
  .sm\:bottom-0 {
    bottom: 0;
  }
  .sm\:bottom-auto {
    bottom: auto;
  }
  .sm\:bottom-full {
    bottom: 100%;
  }
  .sm\:bottom-1\/2 {
    bottom: 50%;
  }
  .sm\:left-0 {
    left: 0;
  }
  .sm\:left-auto {
    left: auto;
  }
  .sm\:left-full {
    left: 100%;
  }
  .sm\:left-1\/2 {
    left: 50%;
  }
  /* Z-index */
  .sm\:z-0 {
    z-index: 0;
  }
  .sm\:z-10 {
    z-index: 10;
  }
  .sm\:z-20 {
    z-index: 20;
  }
  .sm\:z-30 {
    z-index: 30;
  }
  .sm\:z-40 {
    z-index: 40;
  }
  .sm\:z-50 {
    z-index: 50;
  }
  .sm\:z-auto {
    z-index: auto;
  }
  /* Overflow */
  .sm\:overflow-auto {
    overflow: auto;
  }
  .sm\:overflow-hidden {
    overflow: hidden;
  }
  .sm\:overflow-visible {
    overflow: visible;
  }
  .sm\:overflow-scroll {
    overflow: scroll;
  }
  .sm\:overflow-x-auto {
    overflow-x: auto;
  }
  .sm\:overflow-x-hidden {
    overflow-x: hidden;
  }
  .sm\:overflow-x-visible {
    overflow-x: visible;
  }
  .sm\:overflow-x-scroll {
    overflow-x: scroll;
  }
  .sm\:overflow-y-auto {
    overflow-y: auto;
  }
  .sm\:overflow-y-hidden {
    overflow-y: hidden;
  }
  .sm\:overflow-y-visible {
    overflow-y: visible;
  }
  .sm\:overflow-y-scroll {
    overflow-y: scroll;
  }
  .sm\:float-start {
    float: inline-start;
  }
  .sm\:float-end {
    float: inline-end;
  }
  .sm\:float-right {
    float: right;
  }
  .sm\:float-left {
    float: left;
  }
  .sm\:float-none {
    float: none;
  }
  .sm\:mx-auto {
    margin-left: auto;
    margin-right: auto;
  }
  .sm\:ml-auto {
    margin-left: auto;
  }
  .sm\:mr-auto {
    margin-right: auto;
  }
  /* Responsive Gap utilities */
  .sm\:gap-1 {
    --tw-gap-x: 0.25em;
    --tw-gap-y: 0.25em;
    gap: 0.25em;
  }
  .sm\:gap-2 {
    --tw-gap-x: 0.5em;
    --tw-gap-y: 0.5em;
    gap: 0.5em;
  }
  .sm\:gap-3 {
    --tw-gap-x: 0.75em;
    --tw-gap-y: 0.75em;
    gap: 0.75em;
  }
  .sm\:gap-4 {
    --tw-gap-x: 1em;
    --tw-gap-y: 1em;
    gap: 1em;
  }
  .sm\:gap-x-1 {
    --tw-gap-x: 0.25em;
    column-gap: 0.25em;
  }
  .sm\:gap-x-2 {
    --tw-gap-x: 0.5em;
    column-gap: 0.5em;
  }
  .sm\:gap-x-3 {
    --tw-gap-x: 0.75em;
    column-gap: 0.75em;
  }
  .sm\:gap-x-4 {
    --tw-gap-x: 1em;
    column-gap: 1em;
  }
  .sm\:gap-y-1 {
    --tw-gap-y: 0.25em;
    row-gap: 0.25em;
  }
  .sm\:gap-y-2 {
    --tw-gap-y: 0.5em;
    row-gap: 0.5em;
  }
  .sm\:gap-y-3 {
    --tw-gap-y: 0.75em;
    row-gap: 0.75em;
  }
  .sm\:gap-y-4 {
    --tw-gap-y: 1em;
    row-gap: 1em;
  }
  /* Responsive Width utilities that work with gap */
  .sm\:w-1\/2-gap-1 {
    width: calc(50% - 0.125em);
  }
  .sm\:w-1\/2-gap-2 {
    width: calc(50% - 0.25em);
  }
  .sm\:w-1\/2-gap-3 {
    width: calc(50% - 0.375em);
  }
  .sm\:w-1\/2-gap-4 {
    width: calc(50% - 0.5em);
  }
  .sm\:w-1\/3-gap-1 {
    width: calc(33.3333% - 0.167em);
  }
  .sm\:w-1\/3-gap-2 {
    width: calc(33.3333% - 0.333em);
  }
  .sm\:w-1\/3-gap-3 {
    width: calc(33.3333% - 0.5em);
  }
  .sm\:w-1\/3-gap-4 {
    width: calc(33.3333% - 0.667em);
  }
  .sm\:w-1\/4-gap-1 {
    width: calc(25% - 0.1875em);
  }
  .sm\:w-1\/4-gap-2 {
    width: calc(25% - 0.375em);
  }
  .sm\:w-1\/4-gap-3 {
    width: calc(25% - 0.5625em);
  }
  .sm\:w-1\/4-gap-4 {
    width: calc(25% - 0.75em);
  }
}
@media (min-width: 768px) {
  /* Margin */
  .md\:m-0 {
    margin: 0;
  }
  .md\:mx-0 {
    margin-left: 0;
    margin-right: 0;
  }
  .md\:my-0 {
    margin-top: 0;
    margin-bottom: 0;
  }
  .md\:mt-0 {
    margin-top: 0;
  }
  .md\:mr-0 {
    margin-right: 0;
  }
  .md\:mb-0 {
    margin-bottom: 0;
  }
  .md\:ml-0 {
    margin-left: 0;
  }
  /* Padding */
  .md\:p-0 {
    padding: 0;
  }
  .md\:px-0 {
    padding-left: 0;
    padding-right: 0;
  }
  .md\:py-0 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .md\:pt-0 {
    padding-top: 0;
  }
  .md\:pr-0 {
    padding-right: 0;
  }
  .md\:pb-0 {
    padding-bottom: 0;
  }
  .md\:pl-0 {
    padding-left: 0;
  }
  /* Gap */
  .md\:gap-0 {
    --tw-gap-x: 0;
    --tw-gap-y: 0;
    gap: 0;
  }
  .md\:gap-x-0 {
    --tw-gap-x: 0;
    column-gap: 0;
  }
  .md\:gap-y-0 {
    --tw-gap-y: 0;
    row-gap: 0;
  }
  /* Margin */
  .md\:m-1 {
    margin: 0.25em;
  }
  .md\:mx-1 {
    margin-left: 0.25em;
    margin-right: 0.25em;
  }
  .md\:my-1 {
    margin-top: 0.25em;
    margin-bottom: 0.25em;
  }
  .md\:mt-1 {
    margin-top: 0.25em;
  }
  .md\:mr-1 {
    margin-right: 0.25em;
  }
  .md\:mb-1 {
    margin-bottom: 0.25em;
  }
  .md\:ml-1 {
    margin-left: 0.25em;
  }
  /* Padding */
  .md\:p-1 {
    padding: 0.25em;
  }
  .md\:px-1 {
    padding-left: 0.25em;
    padding-right: 0.25em;
  }
  .md\:py-1 {
    padding-top: 0.25em;
    padding-bottom: 0.25em;
  }
  .md\:pt-1 {
    padding-top: 0.25em;
  }
  .md\:pr-1 {
    padding-right: 0.25em;
  }
  .md\:pb-1 {
    padding-bottom: 0.25em;
  }
  .md\:pl-1 {
    padding-left: 0.25em;
  }
  /* Gap */
  .md\:gap-1 {
    --tw-gap-x: 0.25em;
    --tw-gap-y: 0.25em;
    gap: 0.25em;
  }
  .md\:gap-x-1 {
    --tw-gap-x: 0.25em;
    column-gap: 0.25em;
  }
  .md\:gap-y-1 {
    --tw-gap-y: 0.25em;
    row-gap: 0.25em;
  }
  /* Margin */
  .md\:m-2 {
    margin: 0.5em;
  }
  .md\:mx-2 {
    margin-left: 0.5em;
    margin-right: 0.5em;
  }
  .md\:my-2 {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
  }
  .md\:mt-2 {
    margin-top: 0.5em;
  }
  .md\:mr-2 {
    margin-right: 0.5em;
  }
  .md\:mb-2 {
    margin-bottom: 0.5em;
  }
  .md\:ml-2 {
    margin-left: 0.5em;
  }
  /* Padding */
  .md\:p-2 {
    padding: 0.5em;
  }
  .md\:px-2 {
    padding-left: 0.5em;
    padding-right: 0.5em;
  }
  .md\:py-2 {
    padding-top: 0.5em;
    padding-bottom: 0.5em;
  }
  .md\:pt-2 {
    padding-top: 0.5em;
  }
  .md\:pr-2 {
    padding-right: 0.5em;
  }
  .md\:pb-2 {
    padding-bottom: 0.5em;
  }
  .md\:pl-2 {
    padding-left: 0.5em;
  }
  /* Gap */
  .md\:gap-2 {
    --tw-gap-x: 0.5em;
    --tw-gap-y: 0.5em;
    gap: 0.5em;
  }
  .md\:gap-x-2 {
    --tw-gap-x: 0.5em;
    column-gap: 0.5em;
  }
  .md\:gap-y-2 {
    --tw-gap-y: 0.5em;
    row-gap: 0.5em;
  }
  /* Margin */
  .md\:m-3 {
    margin: 0.75em;
  }
  .md\:mx-3 {
    margin-left: 0.75em;
    margin-right: 0.75em;
  }
  .md\:my-3 {
    margin-top: 0.75em;
    margin-bottom: 0.75em;
  }
  .md\:mt-3 {
    margin-top: 0.75em;
  }
  .md\:mr-3 {
    margin-right: 0.75em;
  }
  .md\:mb-3 {
    margin-bottom: 0.75em;
  }
  .md\:ml-3 {
    margin-left: 0.75em;
  }
  /* Padding */
  .md\:p-3 {
    padding: 0.75em;
  }
  .md\:px-3 {
    padding-left: 0.75em;
    padding-right: 0.75em;
  }
  .md\:py-3 {
    padding-top: 0.75em;
    padding-bottom: 0.75em;
  }
  .md\:pt-3 {
    padding-top: 0.75em;
  }
  .md\:pr-3 {
    padding-right: 0.75em;
  }
  .md\:pb-3 {
    padding-bottom: 0.75em;
  }
  .md\:pl-3 {
    padding-left: 0.75em;
  }
  /* Gap */
  .md\:gap-3 {
    --tw-gap-x: 0.75em;
    --tw-gap-y: 0.75em;
    gap: 0.75em;
  }
  .md\:gap-x-3 {
    --tw-gap-x: 0.75em;
    column-gap: 0.75em;
  }
  .md\:gap-y-3 {
    --tw-gap-y: 0.75em;
    row-gap: 0.75em;
  }
  /* Margin */
  .md\:m-4 {
    margin: 1em;
  }
  .md\:mx-4 {
    margin-left: 1em;
    margin-right: 1em;
  }
  .md\:my-4 {
    margin-top: 1em;
    margin-bottom: 1em;
  }
  .md\:mt-4 {
    margin-top: 1em;
  }
  .md\:mr-4 {
    margin-right: 1em;
  }
  .md\:mb-4 {
    margin-bottom: 1em;
  }
  .md\:ml-4 {
    margin-left: 1em;
  }
  /* Padding */
  .md\:p-4 {
    padding: 1em;
  }
  .md\:px-4 {
    padding-left: 1em;
    padding-right: 1em;
  }
  .md\:py-4 {
    padding-top: 1em;
    padding-bottom: 1em;
  }
  .md\:pt-4 {
    padding-top: 1em;
  }
  .md\:pr-4 {
    padding-right: 1em;
  }
  .md\:pb-4 {
    padding-bottom: 1em;
  }
  .md\:pl-4 {
    padding-left: 1em;
  }
  /* Gap */
  .md\:gap-4 {
    --tw-gap-x: 1em;
    --tw-gap-y: 1em;
    gap: 1em;
  }
  .md\:gap-x-4 {
    --tw-gap-x: 1em;
    column-gap: 1em;
  }
  .md\:gap-y-4 {
    --tw-gap-y: 1em;
    row-gap: 1em;
  }
  /* Margin */
  .md\:m-5 {
    margin: 1.25em;
  }
  .md\:mx-5 {
    margin-left: 1.25em;
    margin-right: 1.25em;
  }
  .md\:my-5 {
    margin-top: 1.25em;
    margin-bottom: 1.25em;
  }
  .md\:mt-5 {
    margin-top: 1.25em;
  }
  .md\:mr-5 {
    margin-right: 1.25em;
  }
  .md\:mb-5 {
    margin-bottom: 1.25em;
  }
  .md\:ml-5 {
    margin-left: 1.25em;
  }
  /* Padding */
  .md\:p-5 {
    padding: 1.25em;
  }
  .md\:px-5 {
    padding-left: 1.25em;
    padding-right: 1.25em;
  }
  .md\:py-5 {
    padding-top: 1.25em;
    padding-bottom: 1.25em;
  }
  .md\:pt-5 {
    padding-top: 1.25em;
  }
  .md\:pr-5 {
    padding-right: 1.25em;
  }
  .md\:pb-5 {
    padding-bottom: 1.25em;
  }
  .md\:pl-5 {
    padding-left: 1.25em;
  }
  /* Gap */
  .md\:gap-5 {
    --tw-gap-x: 1.25em;
    --tw-gap-y: 1.25em;
    gap: 1.25em;
  }
  .md\:gap-x-5 {
    --tw-gap-x: 1.25em;
    column-gap: 1.25em;
  }
  .md\:gap-y-5 {
    --tw-gap-y: 1.25em;
    row-gap: 1.25em;
  }
  /* Margin */
  .md\:m-6 {
    margin: 1.5em;
  }
  .md\:mx-6 {
    margin-left: 1.5em;
    margin-right: 1.5em;
  }
  .md\:my-6 {
    margin-top: 1.5em;
    margin-bottom: 1.5em;
  }
  .md\:mt-6 {
    margin-top: 1.5em;
  }
  .md\:mr-6 {
    margin-right: 1.5em;
  }
  .md\:mb-6 {
    margin-bottom: 1.5em;
  }
  .md\:ml-6 {
    margin-left: 1.5em;
  }
  /* Padding */
  .md\:p-6 {
    padding: 1.5em;
  }
  .md\:px-6 {
    padding-left: 1.5em;
    padding-right: 1.5em;
  }
  .md\:py-6 {
    padding-top: 1.5em;
    padding-bottom: 1.5em;
  }
  .md\:pt-6 {
    padding-top: 1.5em;
  }
  .md\:pr-6 {
    padding-right: 1.5em;
  }
  .md\:pb-6 {
    padding-bottom: 1.5em;
  }
  .md\:pl-6 {
    padding-left: 1.5em;
  }
  /* Gap */
  .md\:gap-6 {
    --tw-gap-x: 1.5em;
    --tw-gap-y: 1.5em;
    gap: 1.5em;
  }
  .md\:gap-x-6 {
    --tw-gap-x: 1.5em;
    column-gap: 1.5em;
  }
  .md\:gap-y-6 {
    --tw-gap-y: 1.5em;
    row-gap: 1.5em;
  }
  /* Margin */
  .md\:m-8 {
    margin: 2em;
  }
  .md\:mx-8 {
    margin-left: 2em;
    margin-right: 2em;
  }
  .md\:my-8 {
    margin-top: 2em;
    margin-bottom: 2em;
  }
  .md\:mt-8 {
    margin-top: 2em;
  }
  .md\:mr-8 {
    margin-right: 2em;
  }
  .md\:mb-8 {
    margin-bottom: 2em;
  }
  .md\:ml-8 {
    margin-left: 2em;
  }
  /* Padding */
  .md\:p-8 {
    padding: 2em;
  }
  .md\:px-8 {
    padding-left: 2em;
    padding-right: 2em;
  }
  .md\:py-8 {
    padding-top: 2em;
    padding-bottom: 2em;
  }
  .md\:pt-8 {
    padding-top: 2em;
  }
  .md\:pr-8 {
    padding-right: 2em;
  }
  .md\:pb-8 {
    padding-bottom: 2em;
  }
  .md\:pl-8 {
    padding-left: 2em;
  }
  /* Gap */
  .md\:gap-8 {
    --tw-gap-x: 2em;
    --tw-gap-y: 2em;
    gap: 2em;
  }
  .md\:gap-x-8 {
    --tw-gap-x: 2em;
    column-gap: 2em;
  }
  .md\:gap-y-8 {
    --tw-gap-y: 2em;
    row-gap: 2em;
  }
  /* Margin */
  .md\:m-10 {
    margin: 2.5em;
  }
  .md\:mx-10 {
    margin-left: 2.5em;
    margin-right: 2.5em;
  }
  .md\:my-10 {
    margin-top: 2.5em;
    margin-bottom: 2.5em;
  }
  .md\:mt-10 {
    margin-top: 2.5em;
  }
  .md\:mr-10 {
    margin-right: 2.5em;
  }
  .md\:mb-10 {
    margin-bottom: 2.5em;
  }
  .md\:ml-10 {
    margin-left: 2.5em;
  }
  /* Padding */
  .md\:p-10 {
    padding: 2.5em;
  }
  .md\:px-10 {
    padding-left: 2.5em;
    padding-right: 2.5em;
  }
  .md\:py-10 {
    padding-top: 2.5em;
    padding-bottom: 2.5em;
  }
  .md\:pt-10 {
    padding-top: 2.5em;
  }
  .md\:pr-10 {
    padding-right: 2.5em;
  }
  .md\:pb-10 {
    padding-bottom: 2.5em;
  }
  .md\:pl-10 {
    padding-left: 2.5em;
  }
  /* Gap */
  .md\:gap-10 {
    --tw-gap-x: 2.5em;
    --tw-gap-y: 2.5em;
    gap: 2.5em;
  }
  .md\:gap-x-10 {
    --tw-gap-x: 2.5em;
    column-gap: 2.5em;
  }
  .md\:gap-y-10 {
    --tw-gap-y: 2.5em;
    row-gap: 2.5em;
  }
  /* Margin */
  .md\:m-12 {
    margin: 3em;
  }
  .md\:mx-12 {
    margin-left: 3em;
    margin-right: 3em;
  }
  .md\:my-12 {
    margin-top: 3em;
    margin-bottom: 3em;
  }
  .md\:mt-12 {
    margin-top: 3em;
  }
  .md\:mr-12 {
    margin-right: 3em;
  }
  .md\:mb-12 {
    margin-bottom: 3em;
  }
  .md\:ml-12 {
    margin-left: 3em;
  }
  /* Padding */
  .md\:p-12 {
    padding: 3em;
  }
  .md\:px-12 {
    padding-left: 3em;
    padding-right: 3em;
  }
  .md\:py-12 {
    padding-top: 3em;
    padding-bottom: 3em;
  }
  .md\:pt-12 {
    padding-top: 3em;
  }
  .md\:pr-12 {
    padding-right: 3em;
  }
  .md\:pb-12 {
    padding-bottom: 3em;
  }
  .md\:pl-12 {
    padding-left: 3em;
  }
  /* Gap */
  .md\:gap-12 {
    --tw-gap-x: 3em;
    --tw-gap-y: 3em;
    gap: 3em;
  }
  .md\:gap-x-12 {
    --tw-gap-x: 3em;
    column-gap: 3em;
  }
  .md\:gap-y-12 {
    --tw-gap-y: 3em;
    row-gap: 3em;
  }
  /* Margin */
  .md\:m-16 {
    margin: 4em;
  }
  .md\:mx-16 {
    margin-left: 4em;
    margin-right: 4em;
  }
  .md\:my-16 {
    margin-top: 4em;
    margin-bottom: 4em;
  }
  .md\:mt-16 {
    margin-top: 4em;
  }
  .md\:mr-16 {
    margin-right: 4em;
  }
  .md\:mb-16 {
    margin-bottom: 4em;
  }
  .md\:ml-16 {
    margin-left: 4em;
  }
  /* Padding */
  .md\:p-16 {
    padding: 4em;
  }
  .md\:px-16 {
    padding-left: 4em;
    padding-right: 4em;
  }
  .md\:py-16 {
    padding-top: 4em;
    padding-bottom: 4em;
  }
  .md\:pt-16 {
    padding-top: 4em;
  }
  .md\:pr-16 {
    padding-right: 4em;
  }
  .md\:pb-16 {
    padding-bottom: 4em;
  }
  .md\:pl-16 {
    padding-left: 4em;
  }
  /* Gap */
  .md\:gap-16 {
    --tw-gap-x: 4em;
    --tw-gap-y: 4em;
    gap: 4em;
  }
  .md\:gap-x-16 {
    --tw-gap-x: 4em;
    column-gap: 4em;
  }
  .md\:gap-y-16 {
    --tw-gap-y: 4em;
    row-gap: 4em;
  }
  .md\:w-auto {
    width: auto;
  }
  .md\:w-full {
    width: 100%;
  }
  .md\:w-75 {
    width: 75%;
  }
  .md\:w-66 {
    width: 66.6667%;
  }
  .md\:w-50 {
    width: 50%;
  }
  .md\:w-33 {
    width: 33.3333%;
  }
  .md\:w-25 {
    width: 25%;
  }
  .md\:w-screen {
    width: 100vw;
  }
  .md\:w-fit {
    width: fit-content;
  }
  .md\:w-1\/1 {
    width: 100%;
  }
  .md\:w-1\/2 {
    width: 50%;
  }
  .md\:w-1\/3 {
    width: 33.3333%;
  }
  .md\:w-2\/3 {
    width: 66.6667%;
  }
  .md\:w-1\/4 {
    width: 25%;
  }
  .md\:w-2\/4 {
    width: 50%;
  }
  .md\:w-3\/4 {
    width: 75%;
  }
  .md\:w-1\/5 {
    width: 20%;
  }
  .md\:w-2\/5 {
    width: 40%;
  }
  .md\:w-3\/5 {
    width: 60%;
  }
  .md\:w-4\/5 {
    width: 80%;
  }
  .md\:w-1\/6 {
    width: 16.6667%;
  }
  .md\:w-2\/6 {
    width: 33.3333%;
  }
  .md\:w-1\/7 {
    width: 14.2857%;
  }
  /* Gap-aware width for wrapped flex/grid rows */
  .md\:w-gap-1\/2 {
    width: calc((100% - var(--tw-gap-x, 0em)) / 2);
    flex: 0 0 calc((100% - var(--tw-gap-x, 0em)) / 2);
    max-width: calc((100% - var(--tw-gap-x, 0em)) / 2);
    min-width: 0;
  }
  .md\:w-gap-1\/3 {
    width: calc((100% - (var(--tw-gap-x, 0em) * 2)) / 3);
    flex: 0 0 calc((100% - (var(--tw-gap-x, 0em) * 2)) / 3);
    max-width: calc((100% - (var(--tw-gap-x, 0em) * 2)) / 3);
    min-width: 0;
  }
  .md\:w-gap-2\/3 {
    width: calc((((100% - (var(--tw-gap-x, 0em) * 2)) / 3) * 2) + var(--tw-gap-x, 0em));
    flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 2)) / 3) * 2) + var(--tw-gap-x, 0em));
    max-width: calc((((100% - (var(--tw-gap-x, 0em) * 2)) / 3) * 2) + var(--tw-gap-x, 0em));
    min-width: 0;
  }
  .md\:w-gap-1\/4 {
    width: calc((100% - (var(--tw-gap-x, 0em) * 3)) / 4);
    flex: 0 0 calc((100% - (var(--tw-gap-x, 0em) * 3)) / 4);
    max-width: calc((100% - (var(--tw-gap-x, 0em) * 3)) / 4);
    min-width: 0;
  }
  .md\:w-gap-2\/4 {
    width: calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 2) + var(--tw-gap-x, 0em));
    flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 2) + var(--tw-gap-x, 0em));
    max-width: calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 2) + var(--tw-gap-x, 0em));
    min-width: 0;
  }
  .md\:w-gap-3\/4 {
    width: calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 3) + (var(--tw-gap-x, 0em) * 2));
    flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 3) + (var(--tw-gap-x, 0em) * 2));
    max-width: calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 3) + (var(--tw-gap-x, 0em) * 2));
    min-width: 0;
  }
  .md\:w-gap-1\/5 {
    width: calc((100% - (var(--tw-gap-x, 0em) * 4)) / 5);
    flex: 0 0 calc((100% - (var(--tw-gap-x, 0em) * 4)) / 5);
    max-width: calc((100% - (var(--tw-gap-x, 0em) * 4)) / 5);
    min-width: 0;
  }
  .md\:w-gap-2\/5 {
    width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 2) + var(--tw-gap-x, 0em));
    flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 2) + var(--tw-gap-x, 0em));
    max-width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 2) + var(--tw-gap-x, 0em));
    min-width: 0;
  }
  .md\:w-gap-3\/5 {
    width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 3) + (var(--tw-gap-x, 0em) * 2));
    flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 3) + (var(--tw-gap-x, 0em) * 2));
    max-width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 3) + (var(--tw-gap-x, 0em) * 2));
    min-width: 0;
  }
  .md\:w-gap-4\/5 {
    width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 4) + (var(--tw-gap-x, 0em) * 3));
    flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 4) + (var(--tw-gap-x, 0em) * 3));
    max-width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 4) + (var(--tw-gap-x, 0em) * 3));
    min-width: 0;
  }
  .md\:w-gap-1\/6 {
    width: calc((100% - (var(--tw-gap-x, 0em) * 5)) / 6);
    flex: 0 0 calc((100% - (var(--tw-gap-x, 0em) * 5)) / 6);
    max-width: calc((100% - (var(--tw-gap-x, 0em) * 5)) / 6);
    min-width: 0;
  }
  .md\:w-gap-1\/7 {
    width: calc((100% - (var(--tw-gap-x, 0em) * 6)) / 7);
    flex: 0 0 calc((100% - (var(--tw-gap-x, 0em) * 6)) / 7);
    max-width: calc((100% - (var(--tw-gap-x, 0em) * 6)) / 7);
    min-width: 0;
  }
  .md\:w-16 {
    width: 4em;
  }
  .md\:w-24 {
    width: 6em;
  }
  .md\:w-32 {
    width: 8em;
  }
  .md\:w-40 {
    width: 10em;
  }
  .md\:w-48 {
    width: 12em;
  }
  .md\:w-56 {
    width: 14em;
  }
  .md\:w-64 {
    width: 16em;
  }
  .md\:w-80 {
    width: 20em;
  }
  .md\:w-96 {
    width: 24em;
  }
  /* Display */
  .md\:block {
    display: block;
  }
  .md\:inline-block {
    display: inline-block;
  }
  .md\:inline {
    display: inline;
  }
  .md\:flex {
    display: flex;
  }
  .md\:inline-flex {
    display: inline-flex;
  }
  /*.@{prefix}grid         { display: grid; }*/
  .md\:inline-grid {
    display: inline-grid;
  }
  .md\:flow-root {
    display: flow-root;
  }
  .md\:contents {
    display: contents;
  }
  .md\:table {
    display: table;
  }
  .md\:hidden {
    display: none;
  }
  /* Flex direction */
  .md\:flex-row {
    flex-direction: row;
  }
  .md\:flex-row-reverse {
    flex-direction: row-reverse;
  }
  .md\:flex-col {
    flex-direction: column;
  }
  .md\:flex-col-reverse {
    flex-direction: column-reverse;
  }
  /* Flex wrap */
  .md\:flex-wrap {
    flex-wrap: wrap;
  }
  .md\:flex-nowrap {
    flex-wrap: nowrap;
  }
  .md\:flex-wrap-reverse {
    flex-wrap: wrap-reverse;
  }
  /* Flex shortcuts */
  .md\:flex-1 {
    flex: 1 1 0%;
  }
  .md\:flex-auto {
    flex: 1 1 auto;
  }
  .md\:flex-initial {
    flex: 0 1 auto;
  }
  .md\:flex-none {
    flex: none;
  }
  /* Grow / Shrink */
  .md\:grow {
    flex-grow: 1;
  }
  .md\:grow-0 {
    flex-grow: 0;
  }
  .md\:shrink {
    flex-shrink: 1;
  }
  .md\:shrink-0 {
    flex-shrink: 0;
  }
  /* Justify content */
  .md\:justify-start {
    justify-content: flex-start;
  }
  .md\:justify-end {
    justify-content: flex-end;
  }
  .md\:justify-center {
    justify-content: center;
  }
  .md\:justify-between {
    justify-content: space-between;
  }
  .md\:justify-around {
    justify-content: space-around;
  }
  .md\:justify-evenly {
    justify-content: space-evenly;
  }
  .md\:justify-stretch {
    justify-content: stretch;
  }
  /* Align items */
  .md\:items-start {
    align-items: flex-start;
  }
  .md\:items-end {
    align-items: flex-end;
  }
  .md\:items-center {
    align-items: center;
  }
  .md\:items-baseline {
    align-items: baseline;
  }
  .md\:items-stretch {
    align-items: stretch;
  }
  /* Align self */
  .md\:self-auto {
    align-self: auto;
  }
  .md\:self-start {
    align-self: flex-start;
  }
  .md\:self-end {
    align-self: flex-end;
  }
  .md\:self-center {
    align-self: center;
  }
  .md\:self-stretch {
    align-self: stretch;
  }
  .md\:self-baseline {
    align-self: baseline;
  }
  /* Grid columns (1–12) */
  .md\:grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .md\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .md\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .md\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .md\:grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .md\:grid-cols-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .md\:grid-cols-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
  .md\:grid-cols-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
  .md\:grid-cols-11 {
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }
  .md\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .md\:grid-cols-none {
    grid-template-columns: none;
  }
  /* Column span (1–12 + full) */
  .md\:col-span-1 {
    grid-column: span 1 span 1;
  }
  .md\:col-span-2 {
    grid-column: span 2 span 2;
  }
  .md\:col-span-3 {
    grid-column: span 3 span 3;
  }
  .md\:col-span-4 {
    grid-column: span 4 span 4;
  }
  .md\:col-span-5 {
    grid-column: span 5 span 5;
  }
  .md\:col-span-6 {
    grid-column: span 6 span 6;
  }
  .md\:col-span-7 {
    grid-column: span 7 span 7;
  }
  .md\:col-span-8 {
    grid-column: span 8 span 8;
  }
  .md\:col-span-9 {
    grid-column: span 9 span 9;
  }
  .md\:col-span-10 {
    grid-column: span 10 span 10;
  }
  .md\:col-span-11 {
    grid-column: span 11 span 11;
  }
  .md\:col-span-12 {
    grid-column: span 12 span 12;
  }
  .md\:col-span-full {
    grid-column: -1;
  }
  /* Position */
  .md\:static {
    position: static;
  }
  .md\:relative {
    position: relative;
  }
  .md\:absolute {
    position: absolute;
  }
  .md\:fixed {
    position: fixed;
  }
  .md\:sticky {
    position: sticky;
  }
  /* Inset (top / right / bottom / left) */
  .md\:inset-0 {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  .md\:inset-auto {
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
  }
  .md\:inset-x-0 {
    left: 0;
    right: 0;
  }
  .md\:inset-x-auto {
    left: auto;
    right: auto;
  }
  .md\:inset-y-0 {
    top: 0;
    bottom: 0;
  }
  .md\:inset-y-auto {
    top: auto;
    bottom: auto;
  }
  .md\:top-0 {
    top: 0;
  }
  .md\:top-auto {
    top: auto;
  }
  .md\:top-full {
    top: 100%;
  }
  .md\:top-1\/2 {
    top: 50%;
  }
  .md\:right-0 {
    right: 0;
  }
  .md\:right-auto {
    right: auto;
  }
  .md\:right-full {
    right: 100%;
  }
  .md\:right-1\/2 {
    right: 50%;
  }
  .md\:bottom-0 {
    bottom: 0;
  }
  .md\:bottom-auto {
    bottom: auto;
  }
  .md\:bottom-full {
    bottom: 100%;
  }
  .md\:bottom-1\/2 {
    bottom: 50%;
  }
  .md\:left-0 {
    left: 0;
  }
  .md\:left-auto {
    left: auto;
  }
  .md\:left-full {
    left: 100%;
  }
  .md\:left-1\/2 {
    left: 50%;
  }
  /* Z-index */
  .md\:z-0 {
    z-index: 0;
  }
  .md\:z-10 {
    z-index: 10;
  }
  .md\:z-20 {
    z-index: 20;
  }
  .md\:z-30 {
    z-index: 30;
  }
  .md\:z-40 {
    z-index: 40;
  }
  .md\:z-50 {
    z-index: 50;
  }
  .md\:z-auto {
    z-index: auto;
  }
  /* Overflow */
  .md\:overflow-auto {
    overflow: auto;
  }
  .md\:overflow-hidden {
    overflow: hidden;
  }
  .md\:overflow-visible {
    overflow: visible;
  }
  .md\:overflow-scroll {
    overflow: scroll;
  }
  .md\:overflow-x-auto {
    overflow-x: auto;
  }
  .md\:overflow-x-hidden {
    overflow-x: hidden;
  }
  .md\:overflow-x-visible {
    overflow-x: visible;
  }
  .md\:overflow-x-scroll {
    overflow-x: scroll;
  }
  .md\:overflow-y-auto {
    overflow-y: auto;
  }
  .md\:overflow-y-hidden {
    overflow-y: hidden;
  }
  .md\:overflow-y-visible {
    overflow-y: visible;
  }
  .md\:overflow-y-scroll {
    overflow-y: scroll;
  }
  .md\:float-start {
    float: inline-start;
  }
  .md\:float-end {
    float: inline-end;
  }
  .md\:float-right {
    float: right;
  }
  .md\:float-left {
    float: left;
  }
  .md\:float-none {
    float: none;
  }
  .md\:mx-auto {
    margin-left: auto;
    margin-right: auto;
  }
  .md\:ml-auto {
    margin-left: auto;
  }
  .md\:mr-auto {
    margin-right: auto;
  }
  /* Responsive Gap utilities */
  .md\:gap-1 {
    --tw-gap-x: 0.25em;
    --tw-gap-y: 0.25em;
    gap: 0.25em;
  }
  .md\:gap-2 {
    --tw-gap-x: 0.5em;
    --tw-gap-y: 0.5em;
    gap: 0.5em;
  }
  .md\:gap-3 {
    --tw-gap-x: 0.75em;
    --tw-gap-y: 0.75em;
    gap: 0.75em;
  }
  .md\:gap-4 {
    --tw-gap-x: 1em;
    --tw-gap-y: 1em;
    gap: 1em;
  }
  .md\:gap-x-1 {
    --tw-gap-x: 0.25em;
    column-gap: 0.25em;
  }
  .md\:gap-x-2 {
    --tw-gap-x: 0.5em;
    column-gap: 0.5em;
  }
  .md\:gap-x-3 {
    --tw-gap-x: 0.75em;
    column-gap: 0.75em;
  }
  .md\:gap-x-4 {
    --tw-gap-x: 1em;
    column-gap: 1em;
  }
  .md\:gap-y-1 {
    --tw-gap-y: 0.25em;
    row-gap: 0.25em;
  }
  .md\:gap-y-2 {
    --tw-gap-y: 0.5em;
    row-gap: 0.5em;
  }
  .md\:gap-y-3 {
    --tw-gap-y: 0.75em;
    row-gap: 0.75em;
  }
  .md\:gap-y-4 {
    --tw-gap-y: 1em;
    row-gap: 1em;
  }
  /* Responsive Width utilities that work with gap */
  .md\:w-1\/2-gap-1 {
    width: calc(50% - 0.125em);
  }
  .md\:w-1\/2-gap-2 {
    width: calc(50% - 0.25em);
  }
  .md\:w-1\/2-gap-3 {
    width: calc(50% - 0.375em);
  }
  .md\:w-1\/2-gap-4 {
    width: calc(50% - 0.5em);
  }
  .md\:w-1\/3-gap-1 {
    width: calc(33.3333% - 0.167em);
  }
  .md\:w-1\/3-gap-2 {
    width: calc(33.3333% - 0.333em);
  }
  .md\:w-1\/3-gap-3 {
    width: calc(33.3333% - 0.5em);
  }
  .md\:w-1\/3-gap-4 {
    width: calc(33.3333% - 0.667em);
  }
  .md\:w-1\/4-gap-1 {
    width: calc(25% - 0.1875em);
  }
  .md\:w-1\/4-gap-2 {
    width: calc(25% - 0.375em);
  }
  .md\:w-1\/4-gap-3 {
    width: calc(25% - 0.5625em);
  }
  .md\:w-1\/4-gap-4 {
    width: calc(25% - 0.75em);
  }
}
@media (min-width: 1024px) {
  /* Margin */
  .lg\:m-0 {
    margin: 0;
  }
  .lg\:mx-0 {
    margin-left: 0;
    margin-right: 0;
  }
  .lg\:my-0 {
    margin-top: 0;
    margin-bottom: 0;
  }
  .lg\:mt-0 {
    margin-top: 0;
  }
  .lg\:mr-0 {
    margin-right: 0;
  }
  .lg\:mb-0 {
    margin-bottom: 0;
  }
  .lg\:ml-0 {
    margin-left: 0;
  }
  /* Padding */
  .lg\:p-0 {
    padding: 0;
  }
  .lg\:px-0 {
    padding-left: 0;
    padding-right: 0;
  }
  .lg\:py-0 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .lg\:pt-0 {
    padding-top: 0;
  }
  .lg\:pr-0 {
    padding-right: 0;
  }
  .lg\:pb-0 {
    padding-bottom: 0;
  }
  .lg\:pl-0 {
    padding-left: 0;
  }
  /* Gap */
  .lg\:gap-0 {
    --tw-gap-x: 0;
    --tw-gap-y: 0;
    gap: 0;
  }
  .lg\:gap-x-0 {
    --tw-gap-x: 0;
    column-gap: 0;
  }
  .lg\:gap-y-0 {
    --tw-gap-y: 0;
    row-gap: 0;
  }
  /* Margin */
  .lg\:m-1 {
    margin: 0.25em;
  }
  .lg\:mx-1 {
    margin-left: 0.25em;
    margin-right: 0.25em;
  }
  .lg\:my-1 {
    margin-top: 0.25em;
    margin-bottom: 0.25em;
  }
  .lg\:mt-1 {
    margin-top: 0.25em;
  }
  .lg\:mr-1 {
    margin-right: 0.25em;
  }
  .lg\:mb-1 {
    margin-bottom: 0.25em;
  }
  .lg\:ml-1 {
    margin-left: 0.25em;
  }
  /* Padding */
  .lg\:p-1 {
    padding: 0.25em;
  }
  .lg\:px-1 {
    padding-left: 0.25em;
    padding-right: 0.25em;
  }
  .lg\:py-1 {
    padding-top: 0.25em;
    padding-bottom: 0.25em;
  }
  .lg\:pt-1 {
    padding-top: 0.25em;
  }
  .lg\:pr-1 {
    padding-right: 0.25em;
  }
  .lg\:pb-1 {
    padding-bottom: 0.25em;
  }
  .lg\:pl-1 {
    padding-left: 0.25em;
  }
  /* Gap */
  .lg\:gap-1 {
    --tw-gap-x: 0.25em;
    --tw-gap-y: 0.25em;
    gap: 0.25em;
  }
  .lg\:gap-x-1 {
    --tw-gap-x: 0.25em;
    column-gap: 0.25em;
  }
  .lg\:gap-y-1 {
    --tw-gap-y: 0.25em;
    row-gap: 0.25em;
  }
  /* Margin */
  .lg\:m-2 {
    margin: 0.5em;
  }
  .lg\:mx-2 {
    margin-left: 0.5em;
    margin-right: 0.5em;
  }
  .lg\:my-2 {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
  }
  .lg\:mt-2 {
    margin-top: 0.5em;
  }
  .lg\:mr-2 {
    margin-right: 0.5em;
  }
  .lg\:mb-2 {
    margin-bottom: 0.5em;
  }
  .lg\:ml-2 {
    margin-left: 0.5em;
  }
  /* Padding */
  .lg\:p-2 {
    padding: 0.5em;
  }
  .lg\:px-2 {
    padding-left: 0.5em;
    padding-right: 0.5em;
  }
  .lg\:py-2 {
    padding-top: 0.5em;
    padding-bottom: 0.5em;
  }
  .lg\:pt-2 {
    padding-top: 0.5em;
  }
  .lg\:pr-2 {
    padding-right: 0.5em;
  }
  .lg\:pb-2 {
    padding-bottom: 0.5em;
  }
  .lg\:pl-2 {
    padding-left: 0.5em;
  }
  /* Gap */
  .lg\:gap-2 {
    --tw-gap-x: 0.5em;
    --tw-gap-y: 0.5em;
    gap: 0.5em;
  }
  .lg\:gap-x-2 {
    --tw-gap-x: 0.5em;
    column-gap: 0.5em;
  }
  .lg\:gap-y-2 {
    --tw-gap-y: 0.5em;
    row-gap: 0.5em;
  }
  /* Margin */
  .lg\:m-3 {
    margin: 0.75em;
  }
  .lg\:mx-3 {
    margin-left: 0.75em;
    margin-right: 0.75em;
  }
  .lg\:my-3 {
    margin-top: 0.75em;
    margin-bottom: 0.75em;
  }
  .lg\:mt-3 {
    margin-top: 0.75em;
  }
  .lg\:mr-3 {
    margin-right: 0.75em;
  }
  .lg\:mb-3 {
    margin-bottom: 0.75em;
  }
  .lg\:ml-3 {
    margin-left: 0.75em;
  }
  /* Padding */
  .lg\:p-3 {
    padding: 0.75em;
  }
  .lg\:px-3 {
    padding-left: 0.75em;
    padding-right: 0.75em;
  }
  .lg\:py-3 {
    padding-top: 0.75em;
    padding-bottom: 0.75em;
  }
  .lg\:pt-3 {
    padding-top: 0.75em;
  }
  .lg\:pr-3 {
    padding-right: 0.75em;
  }
  .lg\:pb-3 {
    padding-bottom: 0.75em;
  }
  .lg\:pl-3 {
    padding-left: 0.75em;
  }
  /* Gap */
  .lg\:gap-3 {
    --tw-gap-x: 0.75em;
    --tw-gap-y: 0.75em;
    gap: 0.75em;
  }
  .lg\:gap-x-3 {
    --tw-gap-x: 0.75em;
    column-gap: 0.75em;
  }
  .lg\:gap-y-3 {
    --tw-gap-y: 0.75em;
    row-gap: 0.75em;
  }
  /* Margin */
  .lg\:m-4 {
    margin: 1em;
  }
  .lg\:mx-4 {
    margin-left: 1em;
    margin-right: 1em;
  }
  .lg\:my-4 {
    margin-top: 1em;
    margin-bottom: 1em;
  }
  .lg\:mt-4 {
    margin-top: 1em;
  }
  .lg\:mr-4 {
    margin-right: 1em;
  }
  .lg\:mb-4 {
    margin-bottom: 1em;
  }
  .lg\:ml-4 {
    margin-left: 1em;
  }
  /* Padding */
  .lg\:p-4 {
    padding: 1em;
  }
  .lg\:px-4 {
    padding-left: 1em;
    padding-right: 1em;
  }
  .lg\:py-4 {
    padding-top: 1em;
    padding-bottom: 1em;
  }
  .lg\:pt-4 {
    padding-top: 1em;
  }
  .lg\:pr-4 {
    padding-right: 1em;
  }
  .lg\:pb-4 {
    padding-bottom: 1em;
  }
  .lg\:pl-4 {
    padding-left: 1em;
  }
  /* Gap */
  .lg\:gap-4 {
    --tw-gap-x: 1em;
    --tw-gap-y: 1em;
    gap: 1em;
  }
  .lg\:gap-x-4 {
    --tw-gap-x: 1em;
    column-gap: 1em;
  }
  .lg\:gap-y-4 {
    --tw-gap-y: 1em;
    row-gap: 1em;
  }
  /* Margin */
  .lg\:m-5 {
    margin: 1.25em;
  }
  .lg\:mx-5 {
    margin-left: 1.25em;
    margin-right: 1.25em;
  }
  .lg\:my-5 {
    margin-top: 1.25em;
    margin-bottom: 1.25em;
  }
  .lg\:mt-5 {
    margin-top: 1.25em;
  }
  .lg\:mr-5 {
    margin-right: 1.25em;
  }
  .lg\:mb-5 {
    margin-bottom: 1.25em;
  }
  .lg\:ml-5 {
    margin-left: 1.25em;
  }
  /* Padding */
  .lg\:p-5 {
    padding: 1.25em;
  }
  .lg\:px-5 {
    padding-left: 1.25em;
    padding-right: 1.25em;
  }
  .lg\:py-5 {
    padding-top: 1.25em;
    padding-bottom: 1.25em;
  }
  .lg\:pt-5 {
    padding-top: 1.25em;
  }
  .lg\:pr-5 {
    padding-right: 1.25em;
  }
  .lg\:pb-5 {
    padding-bottom: 1.25em;
  }
  .lg\:pl-5 {
    padding-left: 1.25em;
  }
  /* Gap */
  .lg\:gap-5 {
    --tw-gap-x: 1.25em;
    --tw-gap-y: 1.25em;
    gap: 1.25em;
  }
  .lg\:gap-x-5 {
    --tw-gap-x: 1.25em;
    column-gap: 1.25em;
  }
  .lg\:gap-y-5 {
    --tw-gap-y: 1.25em;
    row-gap: 1.25em;
  }
  /* Margin */
  .lg\:m-6 {
    margin: 1.5em;
  }
  .lg\:mx-6 {
    margin-left: 1.5em;
    margin-right: 1.5em;
  }
  .lg\:my-6 {
    margin-top: 1.5em;
    margin-bottom: 1.5em;
  }
  .lg\:mt-6 {
    margin-top: 1.5em;
  }
  .lg\:mr-6 {
    margin-right: 1.5em;
  }
  .lg\:mb-6 {
    margin-bottom: 1.5em;
  }
  .lg\:ml-6 {
    margin-left: 1.5em;
  }
  /* Padding */
  .lg\:p-6 {
    padding: 1.5em;
  }
  .lg\:px-6 {
    padding-left: 1.5em;
    padding-right: 1.5em;
  }
  .lg\:py-6 {
    padding-top: 1.5em;
    padding-bottom: 1.5em;
  }
  .lg\:pt-6 {
    padding-top: 1.5em;
  }
  .lg\:pr-6 {
    padding-right: 1.5em;
  }
  .lg\:pb-6 {
    padding-bottom: 1.5em;
  }
  .lg\:pl-6 {
    padding-left: 1.5em;
  }
  /* Gap */
  .lg\:gap-6 {
    --tw-gap-x: 1.5em;
    --tw-gap-y: 1.5em;
    gap: 1.5em;
  }
  .lg\:gap-x-6 {
    --tw-gap-x: 1.5em;
    column-gap: 1.5em;
  }
  .lg\:gap-y-6 {
    --tw-gap-y: 1.5em;
    row-gap: 1.5em;
  }
  /* Margin */
  .lg\:m-8 {
    margin: 2em;
  }
  .lg\:mx-8 {
    margin-left: 2em;
    margin-right: 2em;
  }
  .lg\:my-8 {
    margin-top: 2em;
    margin-bottom: 2em;
  }
  .lg\:mt-8 {
    margin-top: 2em;
  }
  .lg\:mr-8 {
    margin-right: 2em;
  }
  .lg\:mb-8 {
    margin-bottom: 2em;
  }
  .lg\:ml-8 {
    margin-left: 2em;
  }
  /* Padding */
  .lg\:p-8 {
    padding: 2em;
  }
  .lg\:px-8 {
    padding-left: 2em;
    padding-right: 2em;
  }
  .lg\:py-8 {
    padding-top: 2em;
    padding-bottom: 2em;
  }
  .lg\:pt-8 {
    padding-top: 2em;
  }
  .lg\:pr-8 {
    padding-right: 2em;
  }
  .lg\:pb-8 {
    padding-bottom: 2em;
  }
  .lg\:pl-8 {
    padding-left: 2em;
  }
  /* Gap */
  .lg\:gap-8 {
    --tw-gap-x: 2em;
    --tw-gap-y: 2em;
    gap: 2em;
  }
  .lg\:gap-x-8 {
    --tw-gap-x: 2em;
    column-gap: 2em;
  }
  .lg\:gap-y-8 {
    --tw-gap-y: 2em;
    row-gap: 2em;
  }
  /* Margin */
  .lg\:m-10 {
    margin: 2.5em;
  }
  .lg\:mx-10 {
    margin-left: 2.5em;
    margin-right: 2.5em;
  }
  .lg\:my-10 {
    margin-top: 2.5em;
    margin-bottom: 2.5em;
  }
  .lg\:mt-10 {
    margin-top: 2.5em;
  }
  .lg\:mr-10 {
    margin-right: 2.5em;
  }
  .lg\:mb-10 {
    margin-bottom: 2.5em;
  }
  .lg\:ml-10 {
    margin-left: 2.5em;
  }
  /* Padding */
  .lg\:p-10 {
    padding: 2.5em;
  }
  .lg\:px-10 {
    padding-left: 2.5em;
    padding-right: 2.5em;
  }
  .lg\:py-10 {
    padding-top: 2.5em;
    padding-bottom: 2.5em;
  }
  .lg\:pt-10 {
    padding-top: 2.5em;
  }
  .lg\:pr-10 {
    padding-right: 2.5em;
  }
  .lg\:pb-10 {
    padding-bottom: 2.5em;
  }
  .lg\:pl-10 {
    padding-left: 2.5em;
  }
  /* Gap */
  .lg\:gap-10 {
    --tw-gap-x: 2.5em;
    --tw-gap-y: 2.5em;
    gap: 2.5em;
  }
  .lg\:gap-x-10 {
    --tw-gap-x: 2.5em;
    column-gap: 2.5em;
  }
  .lg\:gap-y-10 {
    --tw-gap-y: 2.5em;
    row-gap: 2.5em;
  }
  /* Margin */
  .lg\:m-12 {
    margin: 3em;
  }
  .lg\:mx-12 {
    margin-left: 3em;
    margin-right: 3em;
  }
  .lg\:my-12 {
    margin-top: 3em;
    margin-bottom: 3em;
  }
  .lg\:mt-12 {
    margin-top: 3em;
  }
  .lg\:mr-12 {
    margin-right: 3em;
  }
  .lg\:mb-12 {
    margin-bottom: 3em;
  }
  .lg\:ml-12 {
    margin-left: 3em;
  }
  /* Padding */
  .lg\:p-12 {
    padding: 3em;
  }
  .lg\:px-12 {
    padding-left: 3em;
    padding-right: 3em;
  }
  .lg\:py-12 {
    padding-top: 3em;
    padding-bottom: 3em;
  }
  .lg\:pt-12 {
    padding-top: 3em;
  }
  .lg\:pr-12 {
    padding-right: 3em;
  }
  .lg\:pb-12 {
    padding-bottom: 3em;
  }
  .lg\:pl-12 {
    padding-left: 3em;
  }
  /* Gap */
  .lg\:gap-12 {
    --tw-gap-x: 3em;
    --tw-gap-y: 3em;
    gap: 3em;
  }
  .lg\:gap-x-12 {
    --tw-gap-x: 3em;
    column-gap: 3em;
  }
  .lg\:gap-y-12 {
    --tw-gap-y: 3em;
    row-gap: 3em;
  }
  /* Margin */
  .lg\:m-16 {
    margin: 4em;
  }
  .lg\:mx-16 {
    margin-left: 4em;
    margin-right: 4em;
  }
  .lg\:my-16 {
    margin-top: 4em;
    margin-bottom: 4em;
  }
  .lg\:mt-16 {
    margin-top: 4em;
  }
  .lg\:mr-16 {
    margin-right: 4em;
  }
  .lg\:mb-16 {
    margin-bottom: 4em;
  }
  .lg\:ml-16 {
    margin-left: 4em;
  }
  /* Padding */
  .lg\:p-16 {
    padding: 4em;
  }
  .lg\:px-16 {
    padding-left: 4em;
    padding-right: 4em;
  }
  .lg\:py-16 {
    padding-top: 4em;
    padding-bottom: 4em;
  }
  .lg\:pt-16 {
    padding-top: 4em;
  }
  .lg\:pr-16 {
    padding-right: 4em;
  }
  .lg\:pb-16 {
    padding-bottom: 4em;
  }
  .lg\:pl-16 {
    padding-left: 4em;
  }
  /* Gap */
  .lg\:gap-16 {
    --tw-gap-x: 4em;
    --tw-gap-y: 4em;
    gap: 4em;
  }
  .lg\:gap-x-16 {
    --tw-gap-x: 4em;
    column-gap: 4em;
  }
  .lg\:gap-y-16 {
    --tw-gap-y: 4em;
    row-gap: 4em;
  }
  .lg\:w-auto {
    width: auto;
  }
  .lg\:w-full {
    width: 100%;
  }
  .lg\:w-75 {
    width: 75%;
  }
  .lg\:w-66 {
    width: 66.6667%;
  }
  .lg\:w-50 {
    width: 50%;
  }
  .lg\:w-33 {
    width: 33.3333%;
  }
  .lg\:w-25 {
    width: 25%;
  }
  .lg\:w-screen {
    width: 100vw;
  }
  .lg\:w-fit {
    width: fit-content;
  }
  .lg\:w-1\/1 {
    width: 100%;
  }
  .lg\:w-1\/2 {
    width: 50%;
  }
  .lg\:w-1\/3 {
    width: 33.3333%;
  }
  .lg\:w-2\/3 {
    width: 66.6667%;
  }
  .lg\:w-1\/4 {
    width: 25%;
  }
  .lg\:w-2\/4 {
    width: 50%;
  }
  .lg\:w-3\/4 {
    width: 75%;
  }
  .lg\:w-1\/5 {
    width: 20%;
  }
  .lg\:w-2\/5 {
    width: 40%;
  }
  .lg\:w-3\/5 {
    width: 60%;
  }
  .lg\:w-4\/5 {
    width: 80%;
  }
  .lg\:w-1\/6 {
    width: 16.6667%;
  }
  .lg\:w-2\/6 {
    width: 33.3333%;
  }
  .lg\:w-1\/7 {
    width: 14.2857%;
  }
  /* Gap-aware width for wrapped flex/grid rows */
  .lg\:w-gap-1\/2 {
    width: calc((100% - var(--tw-gap-x, 0em)) / 2);
    flex: 0 0 calc((100% - var(--tw-gap-x, 0em)) / 2);
    max-width: calc((100% - var(--tw-gap-x, 0em)) / 2);
    min-width: 0;
  }
  .lg\:w-gap-1\/3 {
    width: calc((100% - (var(--tw-gap-x, 0em) * 2)) / 3);
    flex: 0 0 calc((100% - (var(--tw-gap-x, 0em) * 2)) / 3);
    max-width: calc((100% - (var(--tw-gap-x, 0em) * 2)) / 3);
    min-width: 0;
  }
  .lg\:w-gap-2\/3 {
    width: calc((((100% - (var(--tw-gap-x, 0em) * 2)) / 3) * 2) + var(--tw-gap-x, 0em));
    flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 2)) / 3) * 2) + var(--tw-gap-x, 0em));
    max-width: calc((((100% - (var(--tw-gap-x, 0em) * 2)) / 3) * 2) + var(--tw-gap-x, 0em));
    min-width: 0;
  }
  .lg\:w-gap-1\/4 {
    width: calc((100% - (var(--tw-gap-x, 0em) * 3)) / 4);
    flex: 0 0 calc((100% - (var(--tw-gap-x, 0em) * 3)) / 4);
    max-width: calc((100% - (var(--tw-gap-x, 0em) * 3)) / 4);
    min-width: 0;
  }
  .lg\:w-gap-2\/4 {
    width: calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 2) + var(--tw-gap-x, 0em));
    flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 2) + var(--tw-gap-x, 0em));
    max-width: calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 2) + var(--tw-gap-x, 0em));
    min-width: 0;
  }
  .lg\:w-gap-3\/4 {
    width: calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 3) + (var(--tw-gap-x, 0em) * 2));
    flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 3) + (var(--tw-gap-x, 0em) * 2));
    max-width: calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 3) + (var(--tw-gap-x, 0em) * 2));
    min-width: 0;
  }
  .lg\:w-gap-1\/5 {
    width: calc((100% - (var(--tw-gap-x, 0em) * 4)) / 5);
    flex: 0 0 calc((100% - (var(--tw-gap-x, 0em) * 4)) / 5);
    max-width: calc((100% - (var(--tw-gap-x, 0em) * 4)) / 5);
    min-width: 0;
  }
  .lg\:w-gap-2\/5 {
    width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 2) + var(--tw-gap-x, 0em));
    flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 2) + var(--tw-gap-x, 0em));
    max-width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 2) + var(--tw-gap-x, 0em));
    min-width: 0;
  }
  .lg\:w-gap-3\/5 {
    width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 3) + (var(--tw-gap-x, 0em) * 2));
    flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 3) + (var(--tw-gap-x, 0em) * 2));
    max-width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 3) + (var(--tw-gap-x, 0em) * 2));
    min-width: 0;
  }
  .lg\:w-gap-4\/5 {
    width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 4) + (var(--tw-gap-x, 0em) * 3));
    flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 4) + (var(--tw-gap-x, 0em) * 3));
    max-width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 4) + (var(--tw-gap-x, 0em) * 3));
    min-width: 0;
  }
  .lg\:w-gap-1\/6 {
    width: calc((100% - (var(--tw-gap-x, 0em) * 5)) / 6);
    flex: 0 0 calc((100% - (var(--tw-gap-x, 0em) * 5)) / 6);
    max-width: calc((100% - (var(--tw-gap-x, 0em) * 5)) / 6);
    min-width: 0;
  }
  .lg\:w-gap-1\/7 {
    width: calc((100% - (var(--tw-gap-x, 0em) * 6)) / 7);
    flex: 0 0 calc((100% - (var(--tw-gap-x, 0em) * 6)) / 7);
    max-width: calc((100% - (var(--tw-gap-x, 0em) * 6)) / 7);
    min-width: 0;
  }
  .lg\:w-16 {
    width: 4em;
  }
  .lg\:w-24 {
    width: 6em;
  }
  .lg\:w-32 {
    width: 8em;
  }
  .lg\:w-40 {
    width: 10em;
  }
  .lg\:w-48 {
    width: 12em;
  }
  .lg\:w-56 {
    width: 14em;
  }
  .lg\:w-64 {
    width: 16em;
  }
  .lg\:w-80 {
    width: 20em;
  }
  .lg\:w-96 {
    width: 24em;
  }
  /* Display */
  .lg\:block {
    display: block;
  }
  .lg\:inline-block {
    display: inline-block;
  }
  .lg\:inline {
    display: inline;
  }
  .lg\:flex {
    display: flex;
  }
  .lg\:inline-flex {
    display: inline-flex;
  }
  /*.@{prefix}grid         { display: grid; }*/
  .lg\:inline-grid {
    display: inline-grid;
  }
  .lg\:flow-root {
    display: flow-root;
  }
  .lg\:contents {
    display: contents;
  }
  .lg\:table {
    display: table;
  }
  .lg\:hidden {
    display: none;
  }
  /* Flex direction */
  .lg\:flex-row {
    flex-direction: row;
  }
  .lg\:flex-row-reverse {
    flex-direction: row-reverse;
  }
  .lg\:flex-col {
    flex-direction: column;
  }
  .lg\:flex-col-reverse {
    flex-direction: column-reverse;
  }
  /* Flex wrap */
  .lg\:flex-wrap {
    flex-wrap: wrap;
  }
  .lg\:flex-nowrap {
    flex-wrap: nowrap;
  }
  .lg\:flex-wrap-reverse {
    flex-wrap: wrap-reverse;
  }
  /* Flex shortcuts */
  .lg\:flex-1 {
    flex: 1 1 0%;
  }
  .lg\:flex-auto {
    flex: 1 1 auto;
  }
  .lg\:flex-initial {
    flex: 0 1 auto;
  }
  .lg\:flex-none {
    flex: none;
  }
  /* Grow / Shrink */
  .lg\:grow {
    flex-grow: 1;
  }
  .lg\:grow-0 {
    flex-grow: 0;
  }
  .lg\:shrink {
    flex-shrink: 1;
  }
  .lg\:shrink-0 {
    flex-shrink: 0;
  }
  /* Justify content */
  .lg\:justify-start {
    justify-content: flex-start;
  }
  .lg\:justify-end {
    justify-content: flex-end;
  }
  .lg\:justify-center {
    justify-content: center;
  }
  .lg\:justify-between {
    justify-content: space-between;
  }
  .lg\:justify-around {
    justify-content: space-around;
  }
  .lg\:justify-evenly {
    justify-content: space-evenly;
  }
  .lg\:justify-stretch {
    justify-content: stretch;
  }
  /* Align items */
  .lg\:items-start {
    align-items: flex-start;
  }
  .lg\:items-end {
    align-items: flex-end;
  }
  .lg\:items-center {
    align-items: center;
  }
  .lg\:items-baseline {
    align-items: baseline;
  }
  .lg\:items-stretch {
    align-items: stretch;
  }
  /* Align self */
  .lg\:self-auto {
    align-self: auto;
  }
  .lg\:self-start {
    align-self: flex-start;
  }
  .lg\:self-end {
    align-self: flex-end;
  }
  .lg\:self-center {
    align-self: center;
  }
  .lg\:self-stretch {
    align-self: stretch;
  }
  .lg\:self-baseline {
    align-self: baseline;
  }
  /* Grid columns (1–12) */
  .lg\:grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .lg\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .lg\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .lg\:grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .lg\:grid-cols-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .lg\:grid-cols-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
  .lg\:grid-cols-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
  .lg\:grid-cols-11 {
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }
  .lg\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .lg\:grid-cols-none {
    grid-template-columns: none;
  }
  /* Column span (1–12 + full) */
  .lg\:col-span-1 {
    grid-column: span 1 span 1;
  }
  .lg\:col-span-2 {
    grid-column: span 2 span 2;
  }
  .lg\:col-span-3 {
    grid-column: span 3 span 3;
  }
  .lg\:col-span-4 {
    grid-column: span 4 span 4;
  }
  .lg\:col-span-5 {
    grid-column: span 5 span 5;
  }
  .lg\:col-span-6 {
    grid-column: span 6 span 6;
  }
  .lg\:col-span-7 {
    grid-column: span 7 span 7;
  }
  .lg\:col-span-8 {
    grid-column: span 8 span 8;
  }
  .lg\:col-span-9 {
    grid-column: span 9 span 9;
  }
  .lg\:col-span-10 {
    grid-column: span 10 span 10;
  }
  .lg\:col-span-11 {
    grid-column: span 11 span 11;
  }
  .lg\:col-span-12 {
    grid-column: span 12 span 12;
  }
  .lg\:col-span-full {
    grid-column: -1;
  }
  /* Position */
  .lg\:static {
    position: static;
  }
  .lg\:relative {
    position: relative;
  }
  .lg\:absolute {
    position: absolute;
  }
  .lg\:fixed {
    position: fixed;
  }
  .lg\:sticky {
    position: sticky;
  }
  /* Inset (top / right / bottom / left) */
  .lg\:inset-0 {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  .lg\:inset-auto {
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
  }
  .lg\:inset-x-0 {
    left: 0;
    right: 0;
  }
  .lg\:inset-x-auto {
    left: auto;
    right: auto;
  }
  .lg\:inset-y-0 {
    top: 0;
    bottom: 0;
  }
  .lg\:inset-y-auto {
    top: auto;
    bottom: auto;
  }
  .lg\:top-0 {
    top: 0;
  }
  .lg\:top-auto {
    top: auto;
  }
  .lg\:top-full {
    top: 100%;
  }
  .lg\:top-1\/2 {
    top: 50%;
  }
  .lg\:right-0 {
    right: 0;
  }
  .lg\:right-auto {
    right: auto;
  }
  .lg\:right-full {
    right: 100%;
  }
  .lg\:right-1\/2 {
    right: 50%;
  }
  .lg\:bottom-0 {
    bottom: 0;
  }
  .lg\:bottom-auto {
    bottom: auto;
  }
  .lg\:bottom-full {
    bottom: 100%;
  }
  .lg\:bottom-1\/2 {
    bottom: 50%;
  }
  .lg\:left-0 {
    left: 0;
  }
  .lg\:left-auto {
    left: auto;
  }
  .lg\:left-full {
    left: 100%;
  }
  .lg\:left-1\/2 {
    left: 50%;
  }
  /* Z-index */
  .lg\:z-0 {
    z-index: 0;
  }
  .lg\:z-10 {
    z-index: 10;
  }
  .lg\:z-20 {
    z-index: 20;
  }
  .lg\:z-30 {
    z-index: 30;
  }
  .lg\:z-40 {
    z-index: 40;
  }
  .lg\:z-50 {
    z-index: 50;
  }
  .lg\:z-auto {
    z-index: auto;
  }
  /* Overflow */
  .lg\:overflow-auto {
    overflow: auto;
  }
  .lg\:overflow-hidden {
    overflow: hidden;
  }
  .lg\:overflow-visible {
    overflow: visible;
  }
  .lg\:overflow-scroll {
    overflow: scroll;
  }
  .lg\:overflow-x-auto {
    overflow-x: auto;
  }
  .lg\:overflow-x-hidden {
    overflow-x: hidden;
  }
  .lg\:overflow-x-visible {
    overflow-x: visible;
  }
  .lg\:overflow-x-scroll {
    overflow-x: scroll;
  }
  .lg\:overflow-y-auto {
    overflow-y: auto;
  }
  .lg\:overflow-y-hidden {
    overflow-y: hidden;
  }
  .lg\:overflow-y-visible {
    overflow-y: visible;
  }
  .lg\:overflow-y-scroll {
    overflow-y: scroll;
  }
  .lg\:float-start {
    float: inline-start;
  }
  .lg\:float-end {
    float: inline-end;
  }
  .lg\:float-right {
    float: right;
  }
  .lg\:float-left {
    float: left;
  }
  .lg\:float-none {
    float: none;
  }
  .lg\:mx-auto {
    margin-left: auto;
    margin-right: auto;
  }
  .lg\:ml-auto {
    margin-left: auto;
  }
  .lg\:mr-auto {
    margin-right: auto;
  }
  /* Responsive Gap utilities */
  .lg\:gap-1 {
    --tw-gap-x: 0.25em;
    --tw-gap-y: 0.25em;
    gap: 0.25em;
  }
  .lg\:gap-2 {
    --tw-gap-x: 0.5em;
    --tw-gap-y: 0.5em;
    gap: 0.5em;
  }
  .lg\:gap-3 {
    --tw-gap-x: 0.75em;
    --tw-gap-y: 0.75em;
    gap: 0.75em;
  }
  .lg\:gap-4 {
    --tw-gap-x: 1em;
    --tw-gap-y: 1em;
    gap: 1em;
  }
  .lg\:gap-x-1 {
    --tw-gap-x: 0.25em;
    column-gap: 0.25em;
  }
  .lg\:gap-x-2 {
    --tw-gap-x: 0.5em;
    column-gap: 0.5em;
  }
  .lg\:gap-x-3 {
    --tw-gap-x: 0.75em;
    column-gap: 0.75em;
  }
  .lg\:gap-x-4 {
    --tw-gap-x: 1em;
    column-gap: 1em;
  }
  .lg\:gap-y-1 {
    --tw-gap-y: 0.25em;
    row-gap: 0.25em;
  }
  .lg\:gap-y-2 {
    --tw-gap-y: 0.5em;
    row-gap: 0.5em;
  }
  .lg\:gap-y-3 {
    --tw-gap-y: 0.75em;
    row-gap: 0.75em;
  }
  .lg\:gap-y-4 {
    --tw-gap-y: 1em;
    row-gap: 1em;
  }
  /* Responsive Width utilities that work with gap */
  .lg\:w-1\/2-gap-1 {
    width: calc(50% - 0.125em);
  }
  .lg\:w-1\/2-gap-2 {
    width: calc(50% - 0.25em);
  }
  .lg\:w-1\/2-gap-3 {
    width: calc(50% - 0.375em);
  }
  .lg\:w-1\/2-gap-4 {
    width: calc(50% - 0.5em);
  }
  .lg\:w-1\/3-gap-1 {
    width: calc(33.3333% - 0.167em);
  }
  .lg\:w-1\/3-gap-2 {
    width: calc(33.3333% - 0.333em);
  }
  .lg\:w-1\/3-gap-3 {
    width: calc(33.3333% - 0.5em);
  }
  .lg\:w-1\/3-gap-4 {
    width: calc(33.3333% - 0.667em);
  }
  .lg\:w-1\/4-gap-1 {
    width: calc(25% - 0.1875em);
  }
  .lg\:w-1\/4-gap-2 {
    width: calc(25% - 0.375em);
  }
  .lg\:w-1\/4-gap-3 {
    width: calc(25% - 0.5625em);
  }
  .lg\:w-1\/4-gap-4 {
    width: calc(25% - 0.75em);
  }
}
@media (min-width: 1280px) {
  /* Margin */
  .xl\:m-0 {
    margin: 0;
  }
  .xl\:mx-0 {
    margin-left: 0;
    margin-right: 0;
  }
  .xl\:my-0 {
    margin-top: 0;
    margin-bottom: 0;
  }
  .xl\:mt-0 {
    margin-top: 0;
  }
  .xl\:mr-0 {
    margin-right: 0;
  }
  .xl\:mb-0 {
    margin-bottom: 0;
  }
  .xl\:ml-0 {
    margin-left: 0;
  }
  /* Padding */
  .xl\:p-0 {
    padding: 0;
  }
  .xl\:px-0 {
    padding-left: 0;
    padding-right: 0;
  }
  .xl\:py-0 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .xl\:pt-0 {
    padding-top: 0;
  }
  .xl\:pr-0 {
    padding-right: 0;
  }
  .xl\:pb-0 {
    padding-bottom: 0;
  }
  .xl\:pl-0 {
    padding-left: 0;
  }
  /* Gap */
  .xl\:gap-0 {
    --tw-gap-x: 0;
    --tw-gap-y: 0;
    gap: 0;
  }
  .xl\:gap-x-0 {
    --tw-gap-x: 0;
    column-gap: 0;
  }
  .xl\:gap-y-0 {
    --tw-gap-y: 0;
    row-gap: 0;
  }
  /* Margin */
  .xl\:m-1 {
    margin: 0.25em;
  }
  .xl\:mx-1 {
    margin-left: 0.25em;
    margin-right: 0.25em;
  }
  .xl\:my-1 {
    margin-top: 0.25em;
    margin-bottom: 0.25em;
  }
  .xl\:mt-1 {
    margin-top: 0.25em;
  }
  .xl\:mr-1 {
    margin-right: 0.25em;
  }
  .xl\:mb-1 {
    margin-bottom: 0.25em;
  }
  .xl\:ml-1 {
    margin-left: 0.25em;
  }
  /* Padding */
  .xl\:p-1 {
    padding: 0.25em;
  }
  .xl\:px-1 {
    padding-left: 0.25em;
    padding-right: 0.25em;
  }
  .xl\:py-1 {
    padding-top: 0.25em;
    padding-bottom: 0.25em;
  }
  .xl\:pt-1 {
    padding-top: 0.25em;
  }
  .xl\:pr-1 {
    padding-right: 0.25em;
  }
  .xl\:pb-1 {
    padding-bottom: 0.25em;
  }
  .xl\:pl-1 {
    padding-left: 0.25em;
  }
  /* Gap */
  .xl\:gap-1 {
    --tw-gap-x: 0.25em;
    --tw-gap-y: 0.25em;
    gap: 0.25em;
  }
  .xl\:gap-x-1 {
    --tw-gap-x: 0.25em;
    column-gap: 0.25em;
  }
  .xl\:gap-y-1 {
    --tw-gap-y: 0.25em;
    row-gap: 0.25em;
  }
  /* Margin */
  .xl\:m-2 {
    margin: 0.5em;
  }
  .xl\:mx-2 {
    margin-left: 0.5em;
    margin-right: 0.5em;
  }
  .xl\:my-2 {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
  }
  .xl\:mt-2 {
    margin-top: 0.5em;
  }
  .xl\:mr-2 {
    margin-right: 0.5em;
  }
  .xl\:mb-2 {
    margin-bottom: 0.5em;
  }
  .xl\:ml-2 {
    margin-left: 0.5em;
  }
  /* Padding */
  .xl\:p-2 {
    padding: 0.5em;
  }
  .xl\:px-2 {
    padding-left: 0.5em;
    padding-right: 0.5em;
  }
  .xl\:py-2 {
    padding-top: 0.5em;
    padding-bottom: 0.5em;
  }
  .xl\:pt-2 {
    padding-top: 0.5em;
  }
  .xl\:pr-2 {
    padding-right: 0.5em;
  }
  .xl\:pb-2 {
    padding-bottom: 0.5em;
  }
  .xl\:pl-2 {
    padding-left: 0.5em;
  }
  /* Gap */
  .xl\:gap-2 {
    --tw-gap-x: 0.5em;
    --tw-gap-y: 0.5em;
    gap: 0.5em;
  }
  .xl\:gap-x-2 {
    --tw-gap-x: 0.5em;
    column-gap: 0.5em;
  }
  .xl\:gap-y-2 {
    --tw-gap-y: 0.5em;
    row-gap: 0.5em;
  }
  /* Margin */
  .xl\:m-3 {
    margin: 0.75em;
  }
  .xl\:mx-3 {
    margin-left: 0.75em;
    margin-right: 0.75em;
  }
  .xl\:my-3 {
    margin-top: 0.75em;
    margin-bottom: 0.75em;
  }
  .xl\:mt-3 {
    margin-top: 0.75em;
  }
  .xl\:mr-3 {
    margin-right: 0.75em;
  }
  .xl\:mb-3 {
    margin-bottom: 0.75em;
  }
  .xl\:ml-3 {
    margin-left: 0.75em;
  }
  /* Padding */
  .xl\:p-3 {
    padding: 0.75em;
  }
  .xl\:px-3 {
    padding-left: 0.75em;
    padding-right: 0.75em;
  }
  .xl\:py-3 {
    padding-top: 0.75em;
    padding-bottom: 0.75em;
  }
  .xl\:pt-3 {
    padding-top: 0.75em;
  }
  .xl\:pr-3 {
    padding-right: 0.75em;
  }
  .xl\:pb-3 {
    padding-bottom: 0.75em;
  }
  .xl\:pl-3 {
    padding-left: 0.75em;
  }
  /* Gap */
  .xl\:gap-3 {
    --tw-gap-x: 0.75em;
    --tw-gap-y: 0.75em;
    gap: 0.75em;
  }
  .xl\:gap-x-3 {
    --tw-gap-x: 0.75em;
    column-gap: 0.75em;
  }
  .xl\:gap-y-3 {
    --tw-gap-y: 0.75em;
    row-gap: 0.75em;
  }
  /* Margin */
  .xl\:m-4 {
    margin: 1em;
  }
  .xl\:mx-4 {
    margin-left: 1em;
    margin-right: 1em;
  }
  .xl\:my-4 {
    margin-top: 1em;
    margin-bottom: 1em;
  }
  .xl\:mt-4 {
    margin-top: 1em;
  }
  .xl\:mr-4 {
    margin-right: 1em;
  }
  .xl\:mb-4 {
    margin-bottom: 1em;
  }
  .xl\:ml-4 {
    margin-left: 1em;
  }
  /* Padding */
  .xl\:p-4 {
    padding: 1em;
  }
  .xl\:px-4 {
    padding-left: 1em;
    padding-right: 1em;
  }
  .xl\:py-4 {
    padding-top: 1em;
    padding-bottom: 1em;
  }
  .xl\:pt-4 {
    padding-top: 1em;
  }
  .xl\:pr-4 {
    padding-right: 1em;
  }
  .xl\:pb-4 {
    padding-bottom: 1em;
  }
  .xl\:pl-4 {
    padding-left: 1em;
  }
  /* Gap */
  .xl\:gap-4 {
    --tw-gap-x: 1em;
    --tw-gap-y: 1em;
    gap: 1em;
  }
  .xl\:gap-x-4 {
    --tw-gap-x: 1em;
    column-gap: 1em;
  }
  .xl\:gap-y-4 {
    --tw-gap-y: 1em;
    row-gap: 1em;
  }
  /* Margin */
  .xl\:m-5 {
    margin: 1.25em;
  }
  .xl\:mx-5 {
    margin-left: 1.25em;
    margin-right: 1.25em;
  }
  .xl\:my-5 {
    margin-top: 1.25em;
    margin-bottom: 1.25em;
  }
  .xl\:mt-5 {
    margin-top: 1.25em;
  }
  .xl\:mr-5 {
    margin-right: 1.25em;
  }
  .xl\:mb-5 {
    margin-bottom: 1.25em;
  }
  .xl\:ml-5 {
    margin-left: 1.25em;
  }
  /* Padding */
  .xl\:p-5 {
    padding: 1.25em;
  }
  .xl\:px-5 {
    padding-left: 1.25em;
    padding-right: 1.25em;
  }
  .xl\:py-5 {
    padding-top: 1.25em;
    padding-bottom: 1.25em;
  }
  .xl\:pt-5 {
    padding-top: 1.25em;
  }
  .xl\:pr-5 {
    padding-right: 1.25em;
  }
  .xl\:pb-5 {
    padding-bottom: 1.25em;
  }
  .xl\:pl-5 {
    padding-left: 1.25em;
  }
  /* Gap */
  .xl\:gap-5 {
    --tw-gap-x: 1.25em;
    --tw-gap-y: 1.25em;
    gap: 1.25em;
  }
  .xl\:gap-x-5 {
    --tw-gap-x: 1.25em;
    column-gap: 1.25em;
  }
  .xl\:gap-y-5 {
    --tw-gap-y: 1.25em;
    row-gap: 1.25em;
  }
  /* Margin */
  .xl\:m-6 {
    margin: 1.5em;
  }
  .xl\:mx-6 {
    margin-left: 1.5em;
    margin-right: 1.5em;
  }
  .xl\:my-6 {
    margin-top: 1.5em;
    margin-bottom: 1.5em;
  }
  .xl\:mt-6 {
    margin-top: 1.5em;
  }
  .xl\:mr-6 {
    margin-right: 1.5em;
  }
  .xl\:mb-6 {
    margin-bottom: 1.5em;
  }
  .xl\:ml-6 {
    margin-left: 1.5em;
  }
  /* Padding */
  .xl\:p-6 {
    padding: 1.5em;
  }
  .xl\:px-6 {
    padding-left: 1.5em;
    padding-right: 1.5em;
  }
  .xl\:py-6 {
    padding-top: 1.5em;
    padding-bottom: 1.5em;
  }
  .xl\:pt-6 {
    padding-top: 1.5em;
  }
  .xl\:pr-6 {
    padding-right: 1.5em;
  }
  .xl\:pb-6 {
    padding-bottom: 1.5em;
  }
  .xl\:pl-6 {
    padding-left: 1.5em;
  }
  /* Gap */
  .xl\:gap-6 {
    --tw-gap-x: 1.5em;
    --tw-gap-y: 1.5em;
    gap: 1.5em;
  }
  .xl\:gap-x-6 {
    --tw-gap-x: 1.5em;
    column-gap: 1.5em;
  }
  .xl\:gap-y-6 {
    --tw-gap-y: 1.5em;
    row-gap: 1.5em;
  }
  /* Margin */
  .xl\:m-8 {
    margin: 2em;
  }
  .xl\:mx-8 {
    margin-left: 2em;
    margin-right: 2em;
  }
  .xl\:my-8 {
    margin-top: 2em;
    margin-bottom: 2em;
  }
  .xl\:mt-8 {
    margin-top: 2em;
  }
  .xl\:mr-8 {
    margin-right: 2em;
  }
  .xl\:mb-8 {
    margin-bottom: 2em;
  }
  .xl\:ml-8 {
    margin-left: 2em;
  }
  /* Padding */
  .xl\:p-8 {
    padding: 2em;
  }
  .xl\:px-8 {
    padding-left: 2em;
    padding-right: 2em;
  }
  .xl\:py-8 {
    padding-top: 2em;
    padding-bottom: 2em;
  }
  .xl\:pt-8 {
    padding-top: 2em;
  }
  .xl\:pr-8 {
    padding-right: 2em;
  }
  .xl\:pb-8 {
    padding-bottom: 2em;
  }
  .xl\:pl-8 {
    padding-left: 2em;
  }
  /* Gap */
  .xl\:gap-8 {
    --tw-gap-x: 2em;
    --tw-gap-y: 2em;
    gap: 2em;
  }
  .xl\:gap-x-8 {
    --tw-gap-x: 2em;
    column-gap: 2em;
  }
  .xl\:gap-y-8 {
    --tw-gap-y: 2em;
    row-gap: 2em;
  }
  /* Margin */
  .xl\:m-10 {
    margin: 2.5em;
  }
  .xl\:mx-10 {
    margin-left: 2.5em;
    margin-right: 2.5em;
  }
  .xl\:my-10 {
    margin-top: 2.5em;
    margin-bottom: 2.5em;
  }
  .xl\:mt-10 {
    margin-top: 2.5em;
  }
  .xl\:mr-10 {
    margin-right: 2.5em;
  }
  .xl\:mb-10 {
    margin-bottom: 2.5em;
  }
  .xl\:ml-10 {
    margin-left: 2.5em;
  }
  /* Padding */
  .xl\:p-10 {
    padding: 2.5em;
  }
  .xl\:px-10 {
    padding-left: 2.5em;
    padding-right: 2.5em;
  }
  .xl\:py-10 {
    padding-top: 2.5em;
    padding-bottom: 2.5em;
  }
  .xl\:pt-10 {
    padding-top: 2.5em;
  }
  .xl\:pr-10 {
    padding-right: 2.5em;
  }
  .xl\:pb-10 {
    padding-bottom: 2.5em;
  }
  .xl\:pl-10 {
    padding-left: 2.5em;
  }
  /* Gap */
  .xl\:gap-10 {
    --tw-gap-x: 2.5em;
    --tw-gap-y: 2.5em;
    gap: 2.5em;
  }
  .xl\:gap-x-10 {
    --tw-gap-x: 2.5em;
    column-gap: 2.5em;
  }
  .xl\:gap-y-10 {
    --tw-gap-y: 2.5em;
    row-gap: 2.5em;
  }
  /* Margin */
  .xl\:m-12 {
    margin: 3em;
  }
  .xl\:mx-12 {
    margin-left: 3em;
    margin-right: 3em;
  }
  .xl\:my-12 {
    margin-top: 3em;
    margin-bottom: 3em;
  }
  .xl\:mt-12 {
    margin-top: 3em;
  }
  .xl\:mr-12 {
    margin-right: 3em;
  }
  .xl\:mb-12 {
    margin-bottom: 3em;
  }
  .xl\:ml-12 {
    margin-left: 3em;
  }
  /* Padding */
  .xl\:p-12 {
    padding: 3em;
  }
  .xl\:px-12 {
    padding-left: 3em;
    padding-right: 3em;
  }
  .xl\:py-12 {
    padding-top: 3em;
    padding-bottom: 3em;
  }
  .xl\:pt-12 {
    padding-top: 3em;
  }
  .xl\:pr-12 {
    padding-right: 3em;
  }
  .xl\:pb-12 {
    padding-bottom: 3em;
  }
  .xl\:pl-12 {
    padding-left: 3em;
  }
  /* Gap */
  .xl\:gap-12 {
    --tw-gap-x: 3em;
    --tw-gap-y: 3em;
    gap: 3em;
  }
  .xl\:gap-x-12 {
    --tw-gap-x: 3em;
    column-gap: 3em;
  }
  .xl\:gap-y-12 {
    --tw-gap-y: 3em;
    row-gap: 3em;
  }
  /* Margin */
  .xl\:m-16 {
    margin: 4em;
  }
  .xl\:mx-16 {
    margin-left: 4em;
    margin-right: 4em;
  }
  .xl\:my-16 {
    margin-top: 4em;
    margin-bottom: 4em;
  }
  .xl\:mt-16 {
    margin-top: 4em;
  }
  .xl\:mr-16 {
    margin-right: 4em;
  }
  .xl\:mb-16 {
    margin-bottom: 4em;
  }
  .xl\:ml-16 {
    margin-left: 4em;
  }
  /* Padding */
  .xl\:p-16 {
    padding: 4em;
  }
  .xl\:px-16 {
    padding-left: 4em;
    padding-right: 4em;
  }
  .xl\:py-16 {
    padding-top: 4em;
    padding-bottom: 4em;
  }
  .xl\:pt-16 {
    padding-top: 4em;
  }
  .xl\:pr-16 {
    padding-right: 4em;
  }
  .xl\:pb-16 {
    padding-bottom: 4em;
  }
  .xl\:pl-16 {
    padding-left: 4em;
  }
  /* Gap */
  .xl\:gap-16 {
    --tw-gap-x: 4em;
    --tw-gap-y: 4em;
    gap: 4em;
  }
  .xl\:gap-x-16 {
    --tw-gap-x: 4em;
    column-gap: 4em;
  }
  .xl\:gap-y-16 {
    --tw-gap-y: 4em;
    row-gap: 4em;
  }
  .xl\:w-auto {
    width: auto;
  }
  .xl\:w-full {
    width: 100%;
  }
  .xl\:w-75 {
    width: 75%;
  }
  .xl\:w-66 {
    width: 66.6667%;
  }
  .xl\:w-50 {
    width: 50%;
  }
  .xl\:w-33 {
    width: 33.3333%;
  }
  .xl\:w-25 {
    width: 25%;
  }
  .xl\:w-screen {
    width: 100vw;
  }
  .xl\:w-fit {
    width: fit-content;
  }
  .xl\:w-1\/1 {
    width: 100%;
  }
  .xl\:w-1\/2 {
    width: 50%;
  }
  .xl\:w-1\/3 {
    width: 33.3333%;
  }
  .xl\:w-2\/3 {
    width: 66.6667%;
  }
  .xl\:w-1\/4 {
    width: 25%;
  }
  .xl\:w-2\/4 {
    width: 50%;
  }
  .xl\:w-3\/4 {
    width: 75%;
  }
  .xl\:w-1\/5 {
    width: 20%;
  }
  .xl\:w-2\/5 {
    width: 40%;
  }
  .xl\:w-3\/5 {
    width: 60%;
  }
  .xl\:w-4\/5 {
    width: 80%;
  }
  .xl\:w-1\/6 {
    width: 16.6667%;
  }
  .xl\:w-2\/6 {
    width: 33.3333%;
  }
  .xl\:w-1\/7 {
    width: 14.2857%;
  }
  /* Gap-aware width for wrapped flex/grid rows */
  .xl\:w-gap-1\/2 {
    width: calc((100% - var(--tw-gap-x, 0em)) / 2);
    flex: 0 0 calc((100% - var(--tw-gap-x, 0em)) / 2);
    max-width: calc((100% - var(--tw-gap-x, 0em)) / 2);
    min-width: 0;
  }
  .xl\:w-gap-1\/3 {
    width: calc((100% - (var(--tw-gap-x, 0em) * 2)) / 3);
    flex: 0 0 calc((100% - (var(--tw-gap-x, 0em) * 2)) / 3);
    max-width: calc((100% - (var(--tw-gap-x, 0em) * 2)) / 3);
    min-width: 0;
  }
  .xl\:w-gap-2\/3 {
    width: calc((((100% - (var(--tw-gap-x, 0em) * 2)) / 3) * 2) + var(--tw-gap-x, 0em));
    flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 2)) / 3) * 2) + var(--tw-gap-x, 0em));
    max-width: calc((((100% - (var(--tw-gap-x, 0em) * 2)) / 3) * 2) + var(--tw-gap-x, 0em));
    min-width: 0;
  }
  .xl\:w-gap-1\/4 {
    width: calc((100% - (var(--tw-gap-x, 0em) * 3)) / 4);
    flex: 0 0 calc((100% - (var(--tw-gap-x, 0em) * 3)) / 4);
    max-width: calc((100% - (var(--tw-gap-x, 0em) * 3)) / 4);
    min-width: 0;
  }
  .xl\:w-gap-2\/4 {
    width: calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 2) + var(--tw-gap-x, 0em));
    flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 2) + var(--tw-gap-x, 0em));
    max-width: calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 2) + var(--tw-gap-x, 0em));
    min-width: 0;
  }
  .xl\:w-gap-3\/4 {
    width: calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 3) + (var(--tw-gap-x, 0em) * 2));
    flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 3) + (var(--tw-gap-x, 0em) * 2));
    max-width: calc((((100% - (var(--tw-gap-x, 0em) * 3)) / 4) * 3) + (var(--tw-gap-x, 0em) * 2));
    min-width: 0;
  }
  .xl\:w-gap-1\/5 {
    width: calc((100% - (var(--tw-gap-x, 0em) * 4)) / 5);
    flex: 0 0 calc((100% - (var(--tw-gap-x, 0em) * 4)) / 5);
    max-width: calc((100% - (var(--tw-gap-x, 0em) * 4)) / 5);
    min-width: 0;
  }
  .xl\:w-gap-2\/5 {
    width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 2) + var(--tw-gap-x, 0em));
    flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 2) + var(--tw-gap-x, 0em));
    max-width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 2) + var(--tw-gap-x, 0em));
    min-width: 0;
  }
  .xl\:w-gap-3\/5 {
    width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 3) + (var(--tw-gap-x, 0em) * 2));
    flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 3) + (var(--tw-gap-x, 0em) * 2));
    max-width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 3) + (var(--tw-gap-x, 0em) * 2));
    min-width: 0;
  }
  .xl\:w-gap-4\/5 {
    width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 4) + (var(--tw-gap-x, 0em) * 3));
    flex: 0 0 calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 4) + (var(--tw-gap-x, 0em) * 3));
    max-width: calc((((100% - (var(--tw-gap-x, 0em) * 4)) / 5) * 4) + (var(--tw-gap-x, 0em) * 3));
    min-width: 0;
  }
  .xl\:w-gap-1\/6 {
    width: calc((100% - (var(--tw-gap-x, 0em) * 5)) / 6);
    flex: 0 0 calc((100% - (var(--tw-gap-x, 0em) * 5)) / 6);
    max-width: calc((100% - (var(--tw-gap-x, 0em) * 5)) / 6);
    min-width: 0;
  }
  .xl\:w-gap-1\/7 {
    width: calc((100% - (var(--tw-gap-x, 0em) * 6)) / 7);
    flex: 0 0 calc((100% - (var(--tw-gap-x, 0em) * 6)) / 7);
    max-width: calc((100% - (var(--tw-gap-x, 0em) * 6)) / 7);
    min-width: 0;
  }
  .xl\:w-16 {
    width: 4em;
  }
  .xl\:w-24 {
    width: 6em;
  }
  .xl\:w-32 {
    width: 8em;
  }
  .xl\:w-40 {
    width: 10em;
  }
  .xl\:w-48 {
    width: 12em;
  }
  .xl\:w-56 {
    width: 14em;
  }
  .xl\:w-64 {
    width: 16em;
  }
  .xl\:w-80 {
    width: 20em;
  }
  .xl\:w-96 {
    width: 24em;
  }
  /* Display */
  .xl\:block {
    display: block;
  }
  .xl\:inline-block {
    display: inline-block;
  }
  .xl\:inline {
    display: inline;
  }
  .xl\:flex {
    display: flex;
  }
  .xl\:inline-flex {
    display: inline-flex;
  }
  /*.@{prefix}grid         { display: grid; }*/
  .xl\:inline-grid {
    display: inline-grid;
  }
  .xl\:flow-root {
    display: flow-root;
  }
  .xl\:contents {
    display: contents;
  }
  .xl\:table {
    display: table;
  }
  .xl\:hidden {
    display: none;
  }
  /* Flex direction */
  .xl\:flex-row {
    flex-direction: row;
  }
  .xl\:flex-row-reverse {
    flex-direction: row-reverse;
  }
  .xl\:flex-col {
    flex-direction: column;
  }
  .xl\:flex-col-reverse {
    flex-direction: column-reverse;
  }
  /* Flex wrap */
  .xl\:flex-wrap {
    flex-wrap: wrap;
  }
  .xl\:flex-nowrap {
    flex-wrap: nowrap;
  }
  .xl\:flex-wrap-reverse {
    flex-wrap: wrap-reverse;
  }
  /* Flex shortcuts */
  .xl\:flex-1 {
    flex: 1 1 0%;
  }
  .xl\:flex-auto {
    flex: 1 1 auto;
  }
  .xl\:flex-initial {
    flex: 0 1 auto;
  }
  .xl\:flex-none {
    flex: none;
  }
  /* Grow / Shrink */
  .xl\:grow {
    flex-grow: 1;
  }
  .xl\:grow-0 {
    flex-grow: 0;
  }
  .xl\:shrink {
    flex-shrink: 1;
  }
  .xl\:shrink-0 {
    flex-shrink: 0;
  }
  /* Justify content */
  .xl\:justify-start {
    justify-content: flex-start;
  }
  .xl\:justify-end {
    justify-content: flex-end;
  }
  .xl\:justify-center {
    justify-content: center;
  }
  .xl\:justify-between {
    justify-content: space-between;
  }
  .xl\:justify-around {
    justify-content: space-around;
  }
  .xl\:justify-evenly {
    justify-content: space-evenly;
  }
  .xl\:justify-stretch {
    justify-content: stretch;
  }
  /* Align items */
  .xl\:items-start {
    align-items: flex-start;
  }
  .xl\:items-end {
    align-items: flex-end;
  }
  .xl\:items-center {
    align-items: center;
  }
  .xl\:items-baseline {
    align-items: baseline;
  }
  .xl\:items-stretch {
    align-items: stretch;
  }
  /* Align self */
  .xl\:self-auto {
    align-self: auto;
  }
  .xl\:self-start {
    align-self: flex-start;
  }
  .xl\:self-end {
    align-self: flex-end;
  }
  .xl\:self-center {
    align-self: center;
  }
  .xl\:self-stretch {
    align-self: stretch;
  }
  .xl\:self-baseline {
    align-self: baseline;
  }
  /* Grid columns (1–12) */
  .xl\:grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .xl\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .xl\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .xl\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .xl\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .xl\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .xl\:grid-cols-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .xl\:grid-cols-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .xl\:grid-cols-9 {
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
  .xl\:grid-cols-10 {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
  .xl\:grid-cols-11 {
    grid-template-columns: repeat(11, minmax(0, 1fr));
  }
  .xl\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .xl\:grid-cols-none {
    grid-template-columns: none;
  }
  /* Column span (1–12 + full) */
  .xl\:col-span-1 {
    grid-column: span 1 span 1;
  }
  .xl\:col-span-2 {
    grid-column: span 2 span 2;
  }
  .xl\:col-span-3 {
    grid-column: span 3 span 3;
  }
  .xl\:col-span-4 {
    grid-column: span 4 span 4;
  }
  .xl\:col-span-5 {
    grid-column: span 5 span 5;
  }
  .xl\:col-span-6 {
    grid-column: span 6 span 6;
  }
  .xl\:col-span-7 {
    grid-column: span 7 span 7;
  }
  .xl\:col-span-8 {
    grid-column: span 8 span 8;
  }
  .xl\:col-span-9 {
    grid-column: span 9 span 9;
  }
  .xl\:col-span-10 {
    grid-column: span 10 span 10;
  }
  .xl\:col-span-11 {
    grid-column: span 11 span 11;
  }
  .xl\:col-span-12 {
    grid-column: span 12 span 12;
  }
  .xl\:col-span-full {
    grid-column: -1;
  }
  /* Position */
  .xl\:static {
    position: static;
  }
  .xl\:relative {
    position: relative;
  }
  .xl\:absolute {
    position: absolute;
  }
  .xl\:fixed {
    position: fixed;
  }
  .xl\:sticky {
    position: sticky;
  }
  /* Inset (top / right / bottom / left) */
  .xl\:inset-0 {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  .xl\:inset-auto {
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
  }
  .xl\:inset-x-0 {
    left: 0;
    right: 0;
  }
  .xl\:inset-x-auto {
    left: auto;
    right: auto;
  }
  .xl\:inset-y-0 {
    top: 0;
    bottom: 0;
  }
  .xl\:inset-y-auto {
    top: auto;
    bottom: auto;
  }
  .xl\:top-0 {
    top: 0;
  }
  .xl\:top-auto {
    top: auto;
  }
  .xl\:top-full {
    top: 100%;
  }
  .xl\:top-1\/2 {
    top: 50%;
  }
  .xl\:right-0 {
    right: 0;
  }
  .xl\:right-auto {
    right: auto;
  }
  .xl\:right-full {
    right: 100%;
  }
  .xl\:right-1\/2 {
    right: 50%;
  }
  .xl\:bottom-0 {
    bottom: 0;
  }
  .xl\:bottom-auto {
    bottom: auto;
  }
  .xl\:bottom-full {
    bottom: 100%;
  }
  .xl\:bottom-1\/2 {
    bottom: 50%;
  }
  .xl\:left-0 {
    left: 0;
  }
  .xl\:left-auto {
    left: auto;
  }
  .xl\:left-full {
    left: 100%;
  }
  .xl\:left-1\/2 {
    left: 50%;
  }
  /* Z-index */
  .xl\:z-0 {
    z-index: 0;
  }
  .xl\:z-10 {
    z-index: 10;
  }
  .xl\:z-20 {
    z-index: 20;
  }
  .xl\:z-30 {
    z-index: 30;
  }
  .xl\:z-40 {
    z-index: 40;
  }
  .xl\:z-50 {
    z-index: 50;
  }
  .xl\:z-auto {
    z-index: auto;
  }
  /* Overflow */
  .xl\:overflow-auto {
    overflow: auto;
  }
  .xl\:overflow-hidden {
    overflow: hidden;
  }
  .xl\:overflow-visible {
    overflow: visible;
  }
  .xl\:overflow-scroll {
    overflow: scroll;
  }
  .xl\:overflow-x-auto {
    overflow-x: auto;
  }
  .xl\:overflow-x-hidden {
    overflow-x: hidden;
  }
  .xl\:overflow-x-visible {
    overflow-x: visible;
  }
  .xl\:overflow-x-scroll {
    overflow-x: scroll;
  }
  .xl\:overflow-y-auto {
    overflow-y: auto;
  }
  .xl\:overflow-y-hidden {
    overflow-y: hidden;
  }
  .xl\:overflow-y-visible {
    overflow-y: visible;
  }
  .xl\:overflow-y-scroll {
    overflow-y: scroll;
  }
  .xl\:float-start {
    float: inline-start;
  }
  .xl\:float-end {
    float: inline-end;
  }
  .xl\:float-right {
    float: right;
  }
  .xl\:float-left {
    float: left;
  }
  .xl\:float-none {
    float: none;
  }
  .xl\:mx-auto {
    margin-left: auto;
    margin-right: auto;
  }
  .xl\:ml-auto {
    margin-left: auto;
  }
  .xl\:mr-auto {
    margin-right: auto;
  }
  /* Responsive Gap utilities */
  .xl\:gap-1 {
    --tw-gap-x: 0.25em;
    --tw-gap-y: 0.25em;
    gap: 0.25em;
  }
  .xl\:gap-2 {
    --tw-gap-x: 0.5em;
    --tw-gap-y: 0.5em;
    gap: 0.5em;
  }
  .xl\:gap-3 {
    --tw-gap-x: 0.75em;
    --tw-gap-y: 0.75em;
    gap: 0.75em;
  }
  .xl\:gap-4 {
    --tw-gap-x: 1em;
    --tw-gap-y: 1em;
    gap: 1em;
  }
  .xl\:gap-x-1 {
    --tw-gap-x: 0.25em;
    column-gap: 0.25em;
  }
  .xl\:gap-x-2 {
    --tw-gap-x: 0.5em;
    column-gap: 0.5em;
  }
  .xl\:gap-x-3 {
    --tw-gap-x: 0.75em;
    column-gap: 0.75em;
  }
  .xl\:gap-x-4 {
    --tw-gap-x: 1em;
    column-gap: 1em;
  }
  .xl\:gap-y-1 {
    --tw-gap-y: 0.25em;
    row-gap: 0.25em;
  }
  .xl\:gap-y-2 {
    --tw-gap-y: 0.5em;
    row-gap: 0.5em;
  }
  .xl\:gap-y-3 {
    --tw-gap-y: 0.75em;
    row-gap: 0.75em;
  }
  .xl\:gap-y-4 {
    --tw-gap-y: 1em;
    row-gap: 1em;
  }
  /* Responsive Width utilities that work with gap */
  .xl\:w-1\/2-gap-1 {
    width: calc(50% - 0.125em);
  }
  .xl\:w-1\/2-gap-2 {
    width: calc(50% - 0.25em);
  }
  .xl\:w-1\/2-gap-3 {
    width: calc(50% - 0.375em);
  }
  .xl\:w-1\/2-gap-4 {
    width: calc(50% - 0.5em);
  }
  .xl\:w-1\/3-gap-1 {
    width: calc(33.3333% - 0.167em);
  }
  .xl\:w-1\/3-gap-2 {
    width: calc(33.3333% - 0.333em);
  }
  .xl\:w-1\/3-gap-3 {
    width: calc(33.3333% - 0.5em);
  }
  .xl\:w-1\/3-gap-4 {
    width: calc(33.3333% - 0.667em);
  }
  .xl\:w-1\/4-gap-1 {
    width: calc(25% - 0.1875em);
  }
  .xl\:w-1\/4-gap-2 {
    width: calc(25% - 0.375em);
  }
  .xl\:w-1\/4-gap-3 {
    width: calc(25% - 0.5625em);
  }
  .xl\:w-1\/4-gap-4 {
    width: calc(25% - 0.75em);
  }
}
/*
    Common 
*/
.wizard,
.tabcontrol {
  display: block;
  width: 100%;
  overflow: hidden;
}
.wizard a,
.tabcontrol a {
  outline: 0;
}
.wizard ul,
.tabcontrol ul {
  list-style: none !important;
  padding: 0;
  margin: 0;
}
.wizard ul > li,
.tabcontrol ul > li {
  display: block;
  padding: 0;
}
/* Accessibility */
.wizard > .steps .current-info,
.tabcontrol > .steps .current-info {
  position: absolute;
  left: -999em;
}
.wizard > .content > .title,
.tabcontrol > .content > .title {
  position: absolute;
  left: -999em;
}
/*
    Wizard
*/
.wizard > .steps {
  position: relative;
  display: block;
  width: 100%;
}
.wizard.vertical > .steps {
  display: inline;
  float: left;
  width: 30%;
}
/*
.wizard > .steps .number
{
    font-size: 1.429em;
}*/
.wizard > .steps > ul > li,
.wizard > .actions > ul > li {
  float: left;
}
.wizard.vertical > .steps > ul > li {
  float: none;
  width: 100%;
}
.wizard > .steps button,
.wizard > .steps a,
.wizard > .steps a:active {
  color: inherit;
  display: block;
  width: auto;
  padding: 1em 1em;
  text-decoration: none;
  border: none;
  width: 100%;
  line-height: 1.5em;
  cursor: pointer;
  background: rgba(255, 255, 255, 0);
  transition: all 0.2s ease-in-out 0s;
  /* -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;*/
}
.wizard > .steps button:hover,
.wizard > .steps a:hover {
  background: #f2f2f2;
}
.bgdg .wizard > .steps button:hover,
.bgdg .wizard > .steps a:hover {
  background: #fff;
}
.wizard > .steps .disabled a,
.wizard > .steps .disabled a:hover,
.wizard > .steps .disabled a:active {
  background: #ececec;
  color: #aaa;
  cursor: default;
}
.wizard > .steps .current a,
.wizard > .steps .current a:hover,
.wizard > .steps .current a:active {
  background: #005db2;
  color: #fff;
  cursor: default;
}
.wizard > .steps .done a,
.wizard > .steps .done a:hover,
.wizard > .steps .done a:active {
  /*background: desaturate(lighten(@primary,25%),25%);
    color: #fff;*/
}
.wizard > .steps .error a,
.wizard > .steps .error a:hover,
.wizard > .steps .error a:active {
  background: #ff3111;
  color: #fff;
}
.wizard > .content {
  background: #ececec;
  display: block;
  min-height: 15em;
  overflow: hidden;
  position: relative;
  width: 100%;
  border-top: 2px solid #005db2;
  /*-webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;*/
}
.wizard.vertical > .content {
  display: inline;
  float: left;
  margin: 0 2.5% 0.5em 2.5%;
  width: 65%;
}
.wizard > .content > .body {
  float: left;
  position: relative;
  width: 100%;
  padding: 1em;
}
.wizard > .content > .body ul {
  list-style: disc !important;
}
.wizard > .content > .body ul > li {
  display: list-item;
}
.wizard > .content > .body > iframe {
  border: 0 none;
  width: 100%;
  height: 100%;
}
/*.wizard > .content > .body input
{
    display: block;
    border: 1px solid #ccc;
}*/
/*.wizard > .content > .body input[type="checkbox"]
{
    display: inline-block;
}*/
.wizard > .content > .body input.error {
  background: #fbe3e4;
  border: 1px solid #fbc2c4;
  color: #8a1f11;
}
.wizard > .content > .body label {
  display: flex;
  align-items: center;
  margin-bottom: 0.5em;
  width: 100%;
}
.wizard > .content > .body label .img {
  width: 3em;
  margin-right: 1em;
  overflow: hidden;
}
.wizard > .content > .body label img {
  transform: scale(1);
  transition: all 0.2s ease-in-out 0s;
}
.wizard > .content > .body label:hover img {
  transform: scale(1.1);
}
.wizard > .content > .body label.error {
  color: #8a1f11;
  display: inline-block;
  margin-left: 1.5em;
}
.wizard > .actions {
  position: relative;
  display: block;
  text-align: right;
  width: 100%;
  padding-top: 0.5em;
}
.wizard.vertical > .actions {
  display: inline;
  float: right;
  margin: 0 2.5%;
  width: 95%;
}
.wizard > .actions > ul {
  display: inline-block;
  text-align: right;
}
.wizard > .actions > ul > li {
  margin-left: 0.5em;
}
.wizard.vertical > .actions > ul > li {
  margin: 0 0 0 1em;
}
.wizard > .actions a,
.wizard > .actions a:hover,
.wizard > .actions a:active {
  background: #005db2;
  color: #fff;
  display: block;
  padding: 0.5em 1em;
  text-decoration: none;
  /*-webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;*/
}
.wizard > .actions .disabled a,
.wizard > .actions .disabled a:hover,
.wizard > .actions .disabled a:active {
  background: #eee;
  color: #aaa;
}
/*
    Tabcontrol
*/
.tabcontrol > .steps {
  position: relative;
  display: block;
  width: 100%;
}
.tabcontrol > .steps > ul {
  position: relative;
  margin: 6px 0 0 0;
  top: 1px;
  z-index: 1;
}
.tabcontrol > .steps > ul > li {
  float: left;
  margin: 5px 2px 0 0;
  padding: 1px;
  -webkit-border-top-left-radius: 5px;
  -webkit-border-top-right-radius: 5px;
  -moz-border-radius-topleft: 5px;
  -moz-border-radius-topright: 5px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}
.tabcontrol > .steps > ul > li:hover {
  background: #edecec;
  border: 1px solid #bbb;
  padding: 0;
}
.tabcontrol > .steps > ul > li.current {
  background: #fff;
  border: 1px solid #bbb;
  border-bottom: 0 none;
  padding: 0 0 1px 0;
  margin-top: 0;
}
.tabcontrol > .steps > ul > li > a {
  color: #5f5f5f;
  display: inline-block;
  border: 0 none;
  margin: 0;
  padding: 10px 30px;
  text-decoration: none;
}
.tabcontrol > .steps > ul > li > a:hover {
  text-decoration: none;
}
.tabcontrol > .steps > ul > li.current > a {
  padding: 15px 30px 10px 30px;
}
.tabcontrol > .content {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 35em;
  overflow: hidden;
  border-top: 1px solid #bbb;
  padding-top: 20px;
}
.tabcontrol > .content > .body {
  float: left;
  position: absolute;
  width: 95%;
  height: 95%;
  padding: 2.5%;
}
.tabcontrol > .content > .body ul {
  list-style: disc !important;
}
.tabcontrol > .content > .body ul > li {
  display: list-item;
}
@media (max-width: 768px) {
  a.tel,
  a.tel:link,
  a.tel:visited,
  a.tel:hover {
    pointer-events: auto;
    cursor: pointer;
    color: #005db2;
    text-decoration: underline;
  }
}
.bgd {
  background: #8d7a67;
}
.meta .r,
.bt05p {
  border-color: #8d7a67;
}
.topbar.bgd {
  background: #8d7a67;
}
.topbar a,
.topbar .sf-menu > li > a {
  background: #8d7a67;
}
.header .top > ul > li > a > span:after {
  background: #8d7a67;
}
#nav li.current span:after {
  opacity: 1;
}
.brandvalues img {
  height: auto;
  opacity: 1;
  transition: all 0.2s ease-in-out 0s;
}
.brandvalues .is-fade img {
  opacity: 0.5;
}
.brandvalues li > .txt {
  display: none;
}
.brandvalues a {
  display: block;
  position: relative;
  background: #8d7a67;
}
.brandvalues .overlay {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  padding: 2em;
  background: #8d7a67;
  color: #fff;
  opacity: 0;
  transition: all 0.2s ease-in-out 0s;
  pointer-events: none;
}
.brandvalues .is-active .overlay {
  opacity: 1;
  pointer-events: default;
}
.segments img {
  height: auto;
  mix-blend-mode: multiply;
}
.segments li > .txt {
  display: none;
}
.segments > ul a {
  position: relative;
  float: left;
  width: 100%;
  overflow: hidden;
  background: #fff;
  transition: all 0.2s ease-in-out 0s;
}
.segments .overlay {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 1em;
  color: #fff;
}
.segments .overlay .center {
  font-size: 2em;
  line-height: 1.25em;
  opacity: 0;
  transform: translateY(2em);
  transition: all 0.2s ease-in-out 0s;
}
.segments .is-active .center,
.segments a:hover .overlay .center {
  transform: translateY(0);
  opacity: 1;
}
.segments .is-active a.fas,
.segments .fas .overlay:after,
.segments .fas:hover {
  background: #be1e10;
}
.segments .is-active a.kan,
.segments .kan .overlay:after,
.segments .kan:hover {
  background: #ffa22b;
}
.segments .is-active a.ing,
.segments .ing .overlay:after,
.segments .ing:hover {
  background: #466071;
}
.segments .is-active a.met,
.segments .met .overlay:after,
.segments .met:hover {
  background: #36b64b;
}
.segments .overlay:after {
  content: "";
  width: 100%;
  height: 1em;
  bottom: 0;
  left: 0;
  position: absolute;
}
.segments small {
  padding-top: 1em;
  line-height: 1.25em;
  display: block;
}
.benefits .ico {
  display: block;
  width: 4em;
  margin: 0 auto;
  height: 4em;
  position: relative;
  font-size: 1.5em;
}
.benefits li {
  padding: 0.5em;
  width: 16.66666667%;
  text-align: center;
}
.themeslider img {
  height: auto;
}
.themeslider figure {
  margin: 0;
}
.themeslider figcaption {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  padding: 2em;
}
.themeslider figcaption span {
  display: block;
  position: relative;
  z-index: 2;
}
.themeslider figcaption .xl {
  font-size: 2em;
}
.themeslider figcaption > div {
  position: relative;
  aspect-ratio: 1;
  padding: 2em;
  border-radius: 100%;
  background: -moz-radial-gradient(center, ellipse cover, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 65%);
  background: -webkit-radial-gradient(center, ellipse cover, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 65%);
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 65%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#a6000000', endColorstr='#00000000', GradientType=1);
}
.themeslider-nav {
  position: relative;
  z-index: 10;
}
.themeslider-nav > div {
  width: 14.28571429%;
  padding: 1em;
  display: flex;
  position: relative;
}
.themeslider-nav > div:after {
  content: "";
  width: 2em;
  height: 2em;
  background: #fff;
  display: block;
  bottom: 2em;
  left: 0;
  right: 0;
  margin: auto;
  position: absolute;
  transform: rotate(45deg);
  transition: all 0.2s ease-in-out 0s;
}
.themeslider-nav > div button {
  width: 100%;
  border: none;
  background-color: #fff;
  padding: 0;
  display: block;
  overflow: hidden;
  background-size: cover;
  position: relative;
  z-index: 1;
  aspect-ratio: 1;
  transition: all 0.2s ease-in-out 0s;
}
.themeslider-nav > div button span {
  display: none;
}
.themeslider-nav div.active button {
  background-color: #f9f9f9;
}
.themeslider-nav div.active:after {
  bottom: -1em;
}
.themeslider-popup {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.95);
  z-index: 99;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
  transition: all 0.2s ease-in-out 0s;
  opacity: 0;
}
.themeslider-popup.is-active {
  opacity: 1;
  pointer-events: auto;
}
.themeslider-popup .center {
  padding: 2em;
  border-radius: 1em;
  background: #fff;
  width: 100%;
  max-width: 45em;
  position: relative;
  max-height: 100vh;
  overflow-y: auto;
}
.themeslider-popup .close {
  width: 2em;
  height: 2em;
  background: #005db2;
  color: #fff;
  position: absolute;
  right: 1em;
  top: 1em;
  overflow: hidden;
  text-indent: -999px;
}
.themeslider-popup .close:after {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  content: "\e80e";
}
.themeslider .img {
  position: relative;
}
.themeslider .overlay {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-shadow: 0 0em 1.5em #000;
}
.megatrend > ul li {
  padding: 0 0.5em;
}
.megatrend > ul li.ui-state-active a {
  background: #8d7a67;
  color: #fff;
}
.megatrend > ul a {
  display: block;
  width: 100%;
  height: 6em;
  background: #f9f9f9;
  position: relative;
  transition: all 0.2s ease-in-out 0s;
}
.megatrend > ul a span {
  display: none;
}
.megatrend > ul a:after {
  width: 1em;
  height: 1em;
  text-align: center;
  line-height: 1em;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-family: "fontello";
  text-indent: 0;
  font-family: inherit;
  font-size: 2.75em;
  padding: 0.5em;
  background-size: 100%;
  background-color: #8d7a67;
  border-radius: 100%;
  border: 3px solid #fff;
}
.megatrend .erk a:after {
  content: "";
  background-image: url('../../Public/Images/site-schfa/content/marke-schrag/marke-ausrufezeichen.png');
}
.megatrend .fra a:after {
  content: "";
  background-image: url('../../Public/Images/site-schfa/content/marke-schrag/marke-fragezeichen.png');
}
.megatrend .loe a:after {
  content: "";
  background-image: url('../../Public/Images/site-schfa/content/marke-schrag/marke-check.png');
}
.megatrend .ui-tabs-panel {
  padding: 2em;
}
.ico-gesu {
  background-image: url('../../Public/Images/site-schfa/content/marke-schrag/icon-gesundheit.png');
}
.ico-glob {
  background-image: url('../../Public/Images/site-schfa/content/marke-schrag/icon-globalisierung.png');
}
.ico-konn {
  background-image: url('../../Public/Images/site-schfa/content/marke-schrag/icon-konnektivitaet.png');
}
.ico-work {
  background-image: url('../../Public/Images/site-schfa/content/marke-schrag/icon-new-work.png');
}
.ico-oeko {
  background-image: url('../../Public/Images/site-schfa/content/marke-schrag/icon-oekologie.png');
}
.ico-sich {
  background-image: url('../../Public/Images/site-schfa/content/marke-schrag/icon-sicherheit.png');
}
.ico-wiss {
  background-image: url('../../Public/Images/site-schfa/content/marke-schrag/icon-wissenskultur.png');
}
.banner.marke .overlay {
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  position: absolute;
}
.timeline-years .act a,
.timeline .accordion .ui-icon,
.timeline .overlay.item1 .next {
  background: #8d7a67;
}
.timeline .flex-direction-nav a:hover {
  background: #8d7a67;
}
.timeline-years ul {
  scrollbar-color: #8d7a67 #ffffff;
}
.timeline-years ul::-webkit-scrollbar-thumb {
  background-color: #8d7a67;
}
.legend .ico-star:after {
  color: #8d7a67;
}
.ribbon {
  background: #8d7a67 !important;
}
@media (max-width: 400px) {
  .overlay360-open #mobile {
    display: none;
  }
  body .center360 {
    font-size: 0.45em;
  }
  body .center360 [data-align="l"],
  body .center360 [data-align="r"] {
    max-width: 6em !important;
    line-height: 1.5em;
  }
  body .quick360 {
    display: none;
  }
  body .dial {
    transform: scale(0.35);
  }
}
@media (max-width: 500px) {
  body h1,
  body .h1 {
    font-size: 1.85em;
  }
  body h2,
  body .h2 {
    font-size: 1.65em;
  }
  .pt6 {
    padding-top: 3em;
  }
  .pb6 {
    padding-bottom: 3em;
  }
  .show-desktop {
    display: none;
  }
  .show-mobile {
    display: block;
  }
  .header .l {
    width: 3em;
  }
  .header .pt2 {
    padding-top: 1em;
  }
  .header .pb2 {
    padding-bottom: 1em;
  }
  .col.w-33,
  .col.w-50,
  .col.w-66 {
    width: 100%;
  }
  .grid > .col {
    padding: 0;
  }
  .grid > .col:not(:first-child) {
    padding-top: 1em;
  }
  .controls select {
    width: 100%;
  }
  .mix-container .mix {
    width: 100%;
  }
  .schrag-companies li {
    width: 100% !important;
    padding: 2em 1em;
  }
  .cp .icons {
    font-size: 3.15vw;
  }
  .ani-person .icon {
    display: none;
  }
  .mix-container .square .image {
    width: 25%;
  }
  .mix-container .square .text {
    width: 75%;
    padding-bottom: 4em;
  }
  .mix-container .square .contact-tabs {
    width: 75%;
    position: absolute;
    right: 0;
    bottom: 0;
    margin: 0;
    padding: 0;
    border: none;
  }
  .mix-container .square {
    position: relative;
  }
  .gotopeople {
    display: none;
  }
  .contenttable {
    font-size: 3vw;
    line-height: 1.5em;
  }
  .news-home li[data-year] {
    max-width: 100%;
  }
  .reference li.w-33 {
    width: 100%;
  }
  .gallery .col,
  .gallery .row2-2 .col {
    width: 100%;
  }
  .testimonials .card .w-30,
  .testimonials .card .w-65 {
    width: 100%;
  }
  .categories.top li {
    width: calc(50% - 0.5em);
    padding: 0.5em;
    margin: 0.25em;
  }
  .categories.top .h4 {
    font-size: 1em;
  }
  .sharelink {
    padding-left: 0;
  }
  [data-cols="2"] .col:first-child {
    padding-right: 0;
  }
  [data-cols="2"] .col:last-child {
    padding-left: 0;
  }
  .solarColors {
    flex-wrap: wrap;
  }
  .solarColors li {
    width: 50%;
  }
  .solarColors li span {
    font-size: 1em;
  }
  .banner.marke .overlay .wrap {
    background: transparent;
    width: inherit;
    width: 85%;
    padding-top: 1em;
  }
  .markenkeks svg {
    width: 100%;
    height: auto;
  }
  .brandvalues .overlay {
    display: none !important;
  }
  .brandvalues .is-fade img {
    opacity: 1;
  }
  .brandvalues .w-25 {
    width: 100%;
  }
  .brandvalues li > .txt {
    display: block;
  }
  .segments .w-33 {
    width: 100%;
  }
  .segments .overlay {
    display: none !important;
  }
  .segments li > .txt {
    display: block;
  }
  .themeslider figcaption div {
    font-size: 5vw;
  }
  .themeslider .w-50 {
    width: 100%;
  }
  .megatrend > ul li {
    padding: 0;
  }
  .themeslider-nav > div {
    padding: 0;
  }
  .themegrid .w-25 {
    width: 100%;
  }
  .themegrid .w-75 {
    width: 100%;
  }
  .themegrid img {
    max-width: 8em;
    margin: 0 auto;
  }
  .themegrid .tar {
    text-align: left;
  }
  .themegrid .pd2 {
    padding-left: 0;
    padding-right: 0;
  }
  .themegrid .empty {
    display: none;
  }
  .ui-tabs-vertical .ui-tabs-panel {
    margin-top: 0.5em;
  }
  .ui-tabs-vertical .ui-tabs-panel,
  .ui-tabs-vertical .ui-tabs-nav {
    width: 100%;
  }
  .ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active a {
    border-right-color: #d9d9d9;
    transform: translateX(0);
  }
  .productGallery li {
    width: 100%;
  }
  .popcontainer .powermail_fieldwrap.w-50,
  .popcontainer .powermail_fieldwrap.w-33,
  .popcontainer .powermail_fieldwrap.w-66 {
    width: 100%;
  }
  .fako-wizard .steps li {
    width: 50% !important;
  }
  .fako-wizard .steps li.end {
    width: 100% !important;
  }
  .fako-wizard .w-33 {
    width: 100%;
  }
  .fako-wizard .w-25 {
    width: 100%;
  }
  .fako-container .w-25 {
    width: 100%;
  }
  .overlay360-open #mobile {
    display: none;
  }
  body .center360 .wrap {
    transform: scale(0.85);
  }
  body .center360 {
    font-size: 0.65em;
  }
  body .center360 [data-align="l"],
  body .center360 [data-align="r"] {
    max-width: 10em;
    line-height: 1.5em;
  }
  body .quick360 {
    display: none;
  }
  body .dial {
    transform: scale(0.5);
  }
  .locations.tc .row > .col.r {
    padding: 0;
    margin: 4em 0;
  }
  .locations .r a {
    pointer-events: none;
    width: 8px;
    height: 8px;
  }
  .locations .logo {
    position: relative;
    height: auto;
    width: 15em;
    margin: 0 auto;
  }
  [data-active="fas"] [data-company="fas"] a {
    position: relative;
    z-index: 2;
    outline: 1px solid #fff;
  }
  [data-active="kan"] [data-company="kan"] a {
    position: relative;
    z-index: 2;
    outline: 1px solid #fff;
  }
  [data-active="ing"] [data-company="ing"] a {
    position: relative;
    z-index: 2;
    outline: 1px solid #fff;
  }
  body .jobFilter fieldset,
  body .jobFilter button {
    width: 100%;
    margin-top: 0.5em;
  }
  body .jobFilter .buttons .btn {
    width: 100%;
    margin: 0.5em 0 0 0;
    text-align: center;
  }
  .vireo .hidden {
    display: block;
  }
  .vireo h2 {
    font-size: 1.25em;
  }
  .vireo ~ h2 {
    display: none;
  }
  .vireo .grid-center-image:before {
    width: 55%;
    height: 55%;
  }
  .vireo [class*="grid-icon-"] {
    width: 15vw;
    height: 15vw;
    padding: 0.5em;
  }
  .vireo .grid-icon {
    margin: 0 auto;
  }
  .vireo .text-right {
    text-align: center;
  }
  .vireo .grid-item {
    padding: 0;
    text-align: center;
  }
  .accordion.hidden {
    display: block;
  }
  .accordion h3.ui-state-disabled .ui-icon {
    display: none;
  }
}
@media (max-width: 767px) {
  body {
    font-size: 0.95em;
  }
  body h1,
  body .h1 {
    font-size: 2em;
  }
  body h2,
  body .h2 {
    font-size: 1.7em;
  }
  nav#mobile {
    display: block;
  }
  nav#mobile .follow {
    position: absolute;
    top: 0;
    z-index: 100;
    right: 3em;
    max-width: calc(100% - 6em);
    overflow-x: auto;
  }
  nav#mobile .social {
    display: flex;
  }
  nav#mobile .social a {
    background: transparent;
  }
  [class*="Overlay"] .topbar .center,
  .container > section:not(.banner):not(.np),
  header {
    padding-left: 5%;
    padding-right: 5%;
  }
  .grid .col.w-33,
  .grid .col.w-66 {
    width: 100%;
  }
  .grid > .col {
    padding: 0;
  }
  .grid > .col:not(:first-child) {
    padding-top: 1em;
  }
  .breadcrumbs,
  .container > .topbar,
  .header .r {
    display: none;
  }
  .topbar .sf-mega > li > a,
  .topbar a {
    padding: 1em 0.5em;
  }
  .topbar .left,
  .topbar .tel {
    display: none;
  }
  .topbar ul {
    font-size: 0.9em;
  }
  .topbar .social a {
    padding: 0;
  }
  .topbar .right {
    padding-bottom: 1em;
    align-items: center;
    padding-bottom: 0;
  }
  .topbar nav[data-contains="group"] {
    display: none;
  }
  .topbar .inner {
    justify-content: center;
  }
  .ribbon {
    top: auto;
    width: 100%;
    right: auto;
    height: auto;
    display: flex;
    justify-content: center;
    background: #005db2;
  }
  .ribbon .content {
    display: none;
  }
  .ribbon li {
    width: 3em;
  }
  .ribbon li:hover {
    transform: translateX(0);
  }
  .ribbon .mobile {
    display: block;
  }
  .ribbon .desktop {
    display: none;
  }
  .banner .blur {
    display: none !important;
  }
  .banner .inner {
    position: relative;
  }
  .banner .wrap,
  .banner li .wrap {
    position: relative;
    padding-left: 5%;
    padding-right: 5%;
    float: left;
    width: 100%;
    background: #fff;
  }
  .banner .wrap.solid {
    padding: 0;
  }
  .banner .wrap.solid .bg-d {
    padding-left: 5%;
    padding-right: 5%;
  }
  .banner .pad {
    width: 100%;
  }
  .banner .message {
    padding-left: 1em;
    padding-right: 1em;
    padding-top: 0;
    width: 100%;
  }
  .banner:not(.slider) .message {
    padding-bottom: 0;
    padding-left: 5%;
    padding-right: 5%;
  }
  .banner .flex-control-nav li a {
    background: #b2daff;
  }
  .banner .w-50 {
    width: 100%;
  }
  .banner .h1 span,
  .banner .h2 span,
  .banner .h3 span {
    color: #595959;
  }
  .paint .banner .w-100 .center .h1 {
    background: none;
    position: relative;
    top: auto;
    color: #595959;
  }
  .paint .banner .w-100 .bg-d .center .h1 {
    color: #fff;
  }
  .banner .bg-d {
    background: #005db2;
  }
  .banner .logo {
    padding-top: 2em;
  }
  .banner li .wrap,
  .banner li .inner {
    position: relative;
  }
  .banner.panel .wrap {
    padding: 0;
  }
  .banner.panel .txt {
    padding: 0;
  }
  .banner.panel .txt .wrap {
    transform: translateX(0);
    padding: 1em;
    clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
  }
  .banner.panel .txt .center {
    font-size: 1em;
  }
  .banner.has-vid-overlay > div:not(.vid-overlay) {
    position: relative !important;
  }
  .banner.has-vid-overlay > div:not(.vid-overlay) video {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
  }
  .banner.has-vid-overlay img {
    display: none;
  }
  .banner.has-vid-overlay .vid-overlay {
    position: relative;
  }
  .banner.has-vid-overlay .xl {
    font-size: 1em;
  }
  .banner.has-vid-overlay .pd2 {
    padding: 1em;
  }
  .banner.has-vid-overlay {
    padding-bottom: 0;
  }
  .banner.visual .visual-overlay {
    position: relative;
    color: inherit;
    font-size: 1em;
    line-height: 1.5em;
  }
  .banner.visual .visual-overlay > div {
    width: 100%;
  }
  .banner.visual .pd6 {
    padding: 1em 5%;
  }
  .banner.cs-banner .overlay div {
    padding: 0.5em;
  }
  .banner.cs-banner .overlay {
    position: relative;
    width: 100%;
  }
  .cp.block .flx-afe {
    align-items: flex-start;
  }
  .cp.wide .l,
  .cp.wide .r {
    width: 100%;
    padding: 0;
  }
  .cp.wide .r .row .w-50 {
    width: 100%;
    display: flex;
    justify-content: center;
  }
  .paint .cp.wide h3:before {
    display: none;
  }
  .paint .cp.wide h3 {
    color: #005db2;
    transform: translateY(0);
  }
  .teasers .w-33 {
    width: 100%;
  }
  .teasers .col.p1 {
    padding-left: 0;
    padding-right: 0;
  }
  .benefits li {
    width: 100%;
  }
  .flexslider .flex-direction-nav .flex-prev {
    left: 0;
  }
  .flexslider .flex-direction-nav .flex-next {
    right: 0;
  }
  .flex-direction-nav a {
    top: 100%;
  }
  .news-home > ul > li,
  .news-home li {
    width: 100%;
    max-width: 20em;
  }
  .news-home .blur {
    display: none;
  }
  .bgg .news-home a {
    background: #fff;
  }
  .news-home a {
    background: #f9f9f9;
  }
  .news-home .name {
    position: relative;
    float: left;
  }
  .news-home .name:after {
    display: none;
  }
  .news-home .name .abs {
    float: left;
    width: 100%;
  }
  .hero .w-33,
  .hero .w-66 {
    width: 100%;
  }
  .hero .pd3 {
    padding-left: 5%;
    padding-right: 5%;
  }
  .schrag-companies li {
    width: 50%;
    padding: 1.5em 1em;
  }
  .groupOverlay .schrag-companies li {
    width: 100%;
  }
  [class*="Overlay"] .lowbar {
    position: relative;
  }
  [class*="Overlay"] .lowbar .center {
    margin: 0;
  }
  [class*="Overlay"].open .lowbar .center {
    transform: translateX(0em);
  }
  [class*="Overlay"] .close {
    bottom: auto;
    top: 1em;
    right: 1em;
    font-size: 1em;
  }
  .newsletter .w-33 {
    width: 100%;
  }
  .newsletter .w-33:nth-child(2) {
    padding: 0;
  }
  .legend {
    top: auto;
    position: relative;
    right: -2em;
  }
  .tc .center {
    width: 100%;
    max-width: 25em;
    margin: 0 auto;
  }
  .tc .col .flx-jfe {
    justify-content: flex-start;
  }
  .tc .row > .col {
    padding-right: 0;
    width: 100%;
  }
  .tc .row > .col.r {
    padding: 1em 0;
  }
  .tc .row > .col.l {
    padding: 1em 0;
  }
  .tc .l {
    padding-right: 0;
  }
  .tc .r:not(.pl05) {
    padding-left: 0;
  }
  .tc[data-offset-top="3"] {
    margin-top: 0;
  }
  .tc .alternative {
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    left: 0;
    bottom: 0;
    background: #f9f9f9;
  }
  .lower .powermail_fieldset .w-33:nth-of-type(2) {
    padding: 0;
  }
  .lower .powermail_fieldset .w-33 {
    width: 100%;
  }
  .meta .r {
    border-left: none;
    border-top: 0.25em solid #005db2;
    margin-top: 3em;
  }
  .meta .col {
    padding: 0;
    width: 100%;
  }
  .meta .tc .row .col {
    padding-left: 0 !important;
  }
  .lower .w-33,
  .lower .w-50 {
    width: 100%;
  }
  .footer .inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding-bottom: 6em;
  }
  .footer .l,
  .footer .r {
    padding-right: 1em;
    width: 100%;
    padding: 0;
    text-align: center;
    display: flex;
    justify-content: center;
  }
  .masonry .item {
    width: 100%;
  }
  .categories.reference.top ul {
    height: auto;
    padding-top: 1em;
  }
  .sharelink {
    padding-left: 0;
  }
  .alt-grid-container,
  .grid-container {
    display: block;
  }
  .news-list .item .content {
    padding: 1em;
  }
  .news-list .item .w-30,
  .news-list .item .w-70 {
    width: 100%;
  }
  .news-list .item .img {
    width: 100%;
  }
  .news-list .item .desktop {
    display: none;
  }
  .news-list .item .mobile {
    display: block;
    padding: 1em;
  }
  .news-home > ul a .txt {
    padding: 1em;
  }
  .modal fieldset .submit {
    flex-wrap: wrap;
  }
  .modal fieldset .submit a {
    padding-left: 0;
  }
  .femanager_fieldset:not(.checkbox):not(.femanager_submit) > div {
    width: 100%;
  }
  .accordion .ui-accordion-content .txt {
    padding: 1em;
  }
  .accordion .bewerbenline {
    text-align: center;
  }
  .accordion .bewerbenbutton {
    width: 100%;
    text-align: center;
  }
  .accordion .btn.forn {
    width: 100%;
  }
  .accordion .ui-accordion-content .cp .img {
    width: 7em;
  }
  .jobFilter {
    height: auto;
  }
  .jobFilter .offset {
    position: relative;
    float: left;
    padding: 1em;
  }
  .jobFilter fieldset {
    width: 100%;
    padding-top: 0.25em;
  }
  .jobFilter .headline {
    position: relative;
    padding: 0;
  }
  body .jobFilter fieldset {
    padding-left: 0;
    padding-right: 0;
  }
  .paint section.bgd:before,
  .paint section.bgg:before,
  .paint section.bgw:before,
  .paint section.bgdg:before {
    left: -5%;
    width: calc(100% + 10%);
  }
  h2.paint .txt {
    color: #005db2;
  }
  h2.paint .stroke {
    display: none;
  }
  .videos li {
    width: 100%;
  }
  section > .wrap.small-left .inner,
  .content .left,
  .content .right {
    width: 100%;
  }
  .timeline .overlay {
    position: relative;
    left: 0;
    top: 0;
    float: left;
    transform: translateX(0);
  }
  .timeline .flex-direction-nav a {
    font-size: 1em;
  }
  .timeline .flex-direction-nav .flex-prev {
    left: 0;
    top: 0;
  }
  .timeline .flex-direction-nav .flex-next {
    right: 0;
    top: 0;
  }
  .timeline-years {
    position: relative;
  }
  .contact-tabs.mobile {
    display: block;
  }
  .contact-tabs.desktop {
    display: none;
  }
  .mix-container {
    justify-content: center;
  }
  .mix-container .text {
    display: flex;
    align-items: center;
  }
  .mix-container .mix {
    width: 100%;
  }
  .mix-container .mix:not(.square) {
    max-width: 25em;
  }
  .mix-container .mix:not(.square) .image {
    max-width: 5em;
  }
  .mix-container .square .image {
    width: 40%;
  }
  .mix-container .square .text {
    width: 60%;
    padding-top: 0.5em;
    padding-bottom: 2.5em;
  }
  .mix-container .square .contact-tabs {
    width: 60%;
    position: absolute;
    right: 0;
    bottom: 0;
    margin: 0;
    padding: 0;
    border: none;
  }
  .mix-container .square {
    position: relative;
  }
  .mix-container .square .name p {
    line-height: 1em;
  }
  .mix-container .square .name h3 {
    line-height: 1.5em;
    font-size: 1.25em;
  }
  .mix-container .square .contact-tabs {
    font-size: 0.8em;
  }
  .mix-container .square .contact-tabs .show {
    top: 3em;
  }
  .teasers .col {
    width: 100%;
  }
  .visual-3d {
    font-size: 0.55em;
  }
  .visual-3d .markers a[data-popup="stahlbau"] {
    left: 10% !important;
    top: 43% !important;
  }
  .visual-3d .markers a[data-popup="stahlbau"] span {
    right: auto;
    left: calc(100% + 1em);
  }
  .visual-3d .markers a[data-popup="stahlbau"] span:after {
    right: auto;
    left: -0.25em;
  }
  .visual-3d .markers a[data-popup="torbau"] {
    left: 31% !important;
    top: 62% !important;
  }
  .visual-3d .markers a[data-popup="lichtbandbau"] {
    left: 42% !important;
    top: 25% !important;
  }
  .visual-3d-pop,
  .visual-3d-pop .text {
    padding-left: 5%;
    padding-right: 5%;
  }
  .visual-3d-pop .img .name {
    font-size: 1.5em;
  }
  .visual-3d-pop .close {
    right: -1em;
  }
  #pagebrowse ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  #pagebrowse li {
    width: 100%;
    max-width: 30em;
  }
  #pagebrowse .prev a:before,
  #pagebrowse .next a:before {
    bottom: auto;
    font-size: 0.8em;
  }
  #c3603 .row {
    flex-direction: column-reverse;
  }
  #c3603 .row .r {
    padding-bottom: 1em;
  }
  .testimonials li {
    width: 100%;
  }
  .tx-femanager fieldset {
    padding: 0;
  }
  .femanager_fieldset:not(.checkbox):not(.femanager_submit) > .controls {
    width: 100%;
  }
  .grid > div {
    width: 100%;
  }
  .grid .bg-white {
    background: #fff;
    padding: 1em;
  }
  .solarColors {
    flex-wrap: wrap;
  }
  .solarColors li {
    width: 33.33333333%;
  }
  .solarColors li span {
    font-size: 1em;
  }
  .responsive-table {
    width: 100%;
    overflow-x: auto;
  }
  .responsive-table table {
    min-width: 1024px;
  }
  .page-reference .responsive-table table {
    min-width: 0;
  }
  .bgdg.social {
    font-size: 0.9em !important;
  }
  .fako-container .ico-head {
    position: relative;
  }
  .fako-container .ico-head .ico {
    position: absolute;
    top: -5em;
    font-size: 0.5em;
  }
  #uid10:after {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.85);
  }
  #uid10 > .wrap {
    z-index: 1;
    position: relative;
  }
  .vireo .text-right {
    text-align: left;
  }
  .vireo .hidden {
    display: block;
  }
  .vireo ~ h2 {
    display: none;
  }
  .vireo .grid-center-image:before {
    width: 55%;
    height: 55%;
  }
  .vireo [class*="grid-icon-"] {
    width: 15vw;
    height: 15vw;
    padding: 0.5em;
  }
  .vireo .grid-icon {
    margin: 0 auto;
  }
  .vireo .text-right {
    text-align: center;
  }
  .vireo .grid-item {
    padding: 0;
    text-align: center;
  }
  .vireo .grid-item.split {
    display: none;
  }
}
@media (min-width: 500px) and (max-width: 767px) {
  .header .l {
    width: 4em;
  }
  .locations .w-33 {
    width: 33.33333333%;
  }
  .locations .w-66 {
    width: 66.66666667%;
  }
  .masonry .item {
    width: calc(50% - 1em);
  }
  .reference li.w-33 {
    width: 50%;
  }
  .gallery .col,
  .gallery .row2-2 .col {
    width: 50%;
  }
  .categories.top li {
    transform: translateY(0);
    padding: 1em;
    width: calc(33.33333333% - 0.5em);
    margin: 0.25em;
  }
  .categories.top .h4 {
    font-size: 1em;
  }
  .banner.marke .overlay .wrap {
    background: transparent;
    width: inherit;
    width: 65%;
    padding-top: 1em;
  }
  .markenkeks svg {
    width: 85%;
    height: auto;
  }
  .brandvalues .overlay {
    display: none !important;
  }
  .brandvalues .is-fade img {
    opacity: 1;
  }
  .brandvalues .w-25 {
    width: 50%;
  }
  .brandvalues li > .txt {
    display: block;
  }
  .segments .w-33 {
    width: 50%;
  }
  .segments .overlay {
    display: none !important;
  }
  .segments li > .txt {
    display: block;
  }
  .segments h2 {
    font-size: 1.5em;
  }
  .themeslider figcaption div {
    font-size: 5vw;
  }
  .themegrid .w-25 {
    width: 35%;
  }
  .themegrid .w-75 {
    width: 65%;
  }
  .themegrid .empty {
    display: none;
  }
  .themeslider .txt {
    width: 75%;
  }
  .themeslider .img {
    width: 25%;
    position: relative;
    overflow: hidden;
  }
  .themeslider img {
    position: absolute;
    height: 100%;
    max-width: none;
    width: auto;
    object-fit: cover;
    object-position: center;
  }
  .megatrend .ui-tabs-panel {
    padding: 1em;
  }
  .productGallery li {
    width: 50%;
  }
  .hero .w-33,
  .hero .w-66 {
    width: 100%;
  }
  .hero .pd3 {
    padding-left: 5%;
    padding-right: 5%;
  }
  .fako-container .w-25 {
    width: 50%;
  }
  .fako-wizard .w-33 {
    width: 50%;
  }
  .overlay360-open #mobile {
    display: none;
  }
  body .center360 {
    font-size: 0.8em;
  }
  body .quick360 {
    display: none;
  }
  body .dial {
    transform: scale(0.75);
  }
  .mix-container .mix:not(.square) .w-20 {
    width: 50%;
  }
  .mix-container .mix .w-20 {
    width: 100%;
  }
  .mix-container .square .image {
    width: 40%;
  }
  .mix-container .square .text {
    width: 60%;
    padding-top: 0.5em;
    padding-bottom: 2.5em;
  }
  .mix-container .square .contact-tabs {
    width: 60%;
    position: absolute;
    right: 0;
    bottom: 0;
    margin: 0;
    padding: 0;
    border: none;
  }
  .mix-container .square {
    position: relative;
  }
  .locations .logo {
    width: 7em;
    height: 7em;
  }
  .visual-3d {
    font-size: 0.75em;
  }
  body .jobFilter fieldset {
    width: 100%;
    margin-top: 0.5em;
  }
  .vireo .grid-item.split {
    display: flex;
    flex-direction: unset;
    flex-wrap: wrap;
  }
  .vireo .grid-item.split > .grid-top,
  .vireo .grid-item.split > .grid-bottom {
    width: 50%;
    padding: 0.5em;
  }
  .vireo .grid-item.split > .hidden {
    width: 100%;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  body {
    font-size: 0.95em;
  }
  body h1,
  body .h1 {
    font-size: 2em;
  }
  body h2,
  body .h2 {
    font-size: 1.7em;
  }
  .container > section:not(.banner):not(.topbar):not(.np),
  header,
  footer {
    padding-left: 2.5%;
    padding-right: 2.5%;
  }
  .topbar {
    font-size: 0.85em;
  }
  .topbar .tel {
    padding-left: 3em;
  }
  .topbar .src a {
    height: 3em;
  }
  .topbar .social {
    font-size: 0.6em;
  }
  .topbar .sf-mega .w-20 {
    width: 33.33333333%;
  }
  .header {
    font-size: 0.9em;
  }
  .header .l {
    width: 5em;
  }
  .header .r {
    width: 100%;
  }
  .header .top .sf-menu a {
    padding-left: 0.75em;
    padding-right: 0.75em;
  }
  .header .xl {
    font-size: 1.15em;
  }
  .header a[data-action="contact"] {
    display: none;
  }
  .header .xl {
    font-size: 1em;
  }
  .logo-karriere {
    position: absolute;
    right: 2em;
    top: 2em;
  }
  .banner .blur {
    display: none !important;
  }
  .banner .inner {
    position: relative;
  }
  .banner:not(.panel) .wrap,
  .banner li .wrap {
    position: relative;
    padding-left: 5%;
    padding-right: 5%;
    float: left;
    width: 100%;
    background: #fff;
  }
  .banner:not(.panel) .wrap .inner,
  .banner li .wrap .inner {
    position: relative;
  }
  .banner .wrap.solid {
    padding: 0;
  }
  .banner .wrap.solid .bg-d {
    padding-left: 5%;
    padding-right: 5%;
  }
  .banner .pad {
    width: 100%;
  }
  .banner .message {
    padding-left: 1em;
    padding-right: 1em;
    padding-top: 0;
    width: 100%;
  }
  .banner:not(.slider) .message {
    padding: 1em 1em 0 1em;
  }
  .banner .flex-control-nav li a {
    background: #b2daff;
  }
  .banner:not(.panel) .w-50 {
    width: 100%;
  }
  .banner .h1 span,
  .banner .h2 span,
  .banner .h3 span {
    color: #595959;
  }
  .paint .banner .w-100 .center .h1 {
    background: none;
    position: relative;
    top: auto;
    color: #595959;
  }
  .paint .banner .w-100 .bg-d .center .h1 {
    color: #fff;
  }
  .banner .bg-d {
    background: #005db2;
  }
  .banner.panel img {
    position: absolute;
    left: 0;
    top: 0;
    object-fit: cover;
    width: auto;
    height: 100%;
  }
  .banner.panel .xl {
    font-size: 1em;
  }
  .banner.visual .visual-overlay {
    position: relative;
    color: inherit;
    font-size: 1em;
    line-height: 1.5em;
  }
  .banner.visual .visual-overlay > div {
    width: 100%;
  }
  .banner.visual .pd6 {
    padding: 1em 0;
  }
  .cp.block:not(.job) .l,
  .cp.block:not(.job) .r {
    width: 100%;
    padding: 0;
  }
  .grid[data-config="50-50"] .cp.block:not(.job) .l {
    width: 33%;
    padding-right: 0.5em;
  }
  .grid[data-config="50-50"] .cp.block:not(.job) .r {
    width: 66%;
    padding-left: 0.5em;
  }
  .content .right .cp.block:not(.job) .l {
    width: 33%;
  }
  .content .right .cp.block:not(.job) .r {
    width: 100%;
    padding-top: 0.5em;
  }
  .teasers .col {
    padding: 0.5em;
  }
  .news-home .blur {
    display: none;
  }
  .bgg .news-home a {
    background: #fff;
  }
  .news-home a {
    background: #f9f9f9;
  }
  .news-home .name {
    position: relative;
    float: left;
  }
  .news-home .name:after {
    display: none;
  }
  .news-home .abs {
    float: left;
    width: 100%;
  }
  .news-home > ul > li {
    width: 50%;
  }
  .hero .w-33 {
    width: 40%;
  }
  .hero .w-66 {
    width: 60%;
  }
  .hero .pd3 {
    padding-left: 5%;
    padding-right: 5%;
  }
  .meta .pl2 {
    padding-left: 2em;
  }
  .masonry .item {
    width: calc(33.33333333% - 1em);
  }
  .jobFilter {
    height: 12em;
  }
  .paint section.bgd:before,
  .paint section.bgg:before,
  .paint section.bgw:before,
  .paint section.bgdg:before {
    left: -2.5%;
    width: calc(100% + 5%);
  }
  .contact-tabs.mobile {
    display: block;
  }
  .contact-tabs.desktop {
    display: none;
  }
  .mix-container .text {
    display: flex;
    align-items: center;
  }
  .timeline .overlay {
    position: relative;
    left: 0;
    top: 0;
    float: left;
    transform: translateX(0);
  }
  .timeline .flex-direction-nav a {
    font-size: 1em;
  }
  .timeline .flex-direction-nav .flex-prev {
    left: 0;
    top: 0;
  }
  .timeline .flex-direction-nav .flex-next {
    right: 0;
    top: 0;
  }
  .categories.top li {
    padding: 0.5em;
    width: calc(16.66666667% - 0.5em);
    margin: 0.25em;
  }
  .categories.top .h4 {
    font-size: 0.9em;
  }
  .page-reference .responsive-table table {
    min-width: 0;
  }
  .sharelink ul {
    font-size: 0.8em;
  }
  .teasers .col {
    width: 50%;
  }
  .visual-3d {
    font-size: 1.5vw;
  }
  .lower .powermail_fieldset .w-33 {
    width: 100%;
  }
  .lower .powermail_fieldset .w-33:nth-of-type(2) {
    padding: 0;
  }
  .legend {
    top: auto;
    position: relative;
    right: -2em;
  }
  .banner.marke .overlay .wrap {
    background: transparent;
    width: inherit;
    width: 50%;
  }
  .markenkeks svg {
    width: 85%;
    height: auto;
  }
  .brandvalues .overlay {
    display: none !important;
  }
  .brandvalues .is-fade img {
    opacity: 1;
  }
  .brandvalues .w-25 {
    width: 50%;
  }
  .brandvalues li > .txt {
    display: block;
  }
  .segments .overlay .center {
    font-size: 2vw;
  }
  .responsive-table {
    width: 100%;
    overflow-x: auto;
  }
  .responsive-table table {
    min-width: 1024px;
  }
  .themeslider .img {
    position: relative;
    overflow: hidden;
  }
  .themeslider img {
    position: absolute;
    height: 100%;
    max-width: none;
    width: auto;
    object-fit: cover;
    object-position: center;
  }
  body .center360 {
    font-size: 0.8em;
  }
  body .dial {
    transform: scale(0.75);
  }
  body .quick360 {
    font-size: 0.8em;
  }
  .mix-container .w-20 {
    width: 33.33333333%;
  }
  .vireo [class*="grid-icon-"] {
    width: 7vw;
    height: 7vw;
    padding: 0.5em;
  }
  .vireo .grid-center {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
@media (min-width: 1024px) and (max-width: 1200px) {
  body {
    font-size: 0.95em;
  }
  body h1,
  body .h1 {
    font-size: 2em;
  }
  body h2,
  body .h2 {
    font-size: 1.7em;
  }
  .container > section:not(.banner):not(.topbar):not(.np),
  header,
  footer {
    padding-left: 2.5%;
    padding-right: 2.5%;
  }
  .topbar .tel {
    padding-left: 3em;
  }
  .topbar .src a {
    height: 3em;
  }
  .header {
    font-size: 0.9em;
  }
  .header .r {
    width: calc(100% - 7em);
  }
  .header .sf-menu a {
    padding-left: 0.75em;
    padding-right: 0.75em;
  }
  .header .xl {
    font-size: 1.15em;
  }
  .header a[data-action="contact"] {
    display: none;
  }
  .grid .banner .blur {
    display: none !important;
  }
  .grid .banner .inner {
    position: relative;
  }
  .grid .banner .wrap {
    position: relative;
    padding-left: 5%;
    padding-right: 5%;
    float: left;
    width: 100%;
    background: #fff;
  }
  .grid .banner .pad {
    width: 100%;
  }
  .grid .banner .message {
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
    width: 100%;
  }
  .grid .banner:not(.slider) .message {
    padding-bottom: 0;
  }
  .grid .banner .flex-control-nav li a {
    background: #b2daff;
  }
  .grid .banner .w-50 {
    width: 100%;
  }
  .grid .banner .h1 span,
  .grid .banner .h2 span,
  .grid .banner .h3 span {
    color: #595959;
  }
  .banner .blur {
    display: none !important;
  }
  .banner .inner {
    position: relative;
  }
  .banner:not(.panel) .wrap {
    position: relative;
    padding-left: 5%;
    padding-right: 5%;
    float: left;
    width: 100%;
    background: #fff;
  }
  .banner .wrap.solid {
    padding: 0;
  }
  .banner .wrap.solid .bg-d {
    padding-left: 5%;
    padding-right: 5%;
  }
  .banner .pad {
    width: 100%;
  }
  .banner .message {
    padding-left: 1em;
    padding-right: 1em;
    padding-top: 0;
    width: 100%;
  }
  .banner:not(.slider) .message {
    padding-bottom: 0;
  }
  .banner .flex-control-nav li a {
    background: #b2daff;
  }
  .banner:not(.panel) .w-50 {
    width: 100%;
  }
  .banner .h1 span,
  .banner .h2 span,
  .banner .h3 span {
    color: #595959;
  }
  .paint .banner .w-100 .center .h1 {
    background: none;
    position: relative;
    top: auto;
    color: #595959;
  }
  .paint .banner .w-100 .bg-d .center .h1 {
    color: #fff;
  }
  .banner .bg-d {
    background: #005db2;
  }
  .banner li .inner {
    position: relative;
  }
  .banner.quote li .wrap {
    position: relative;
    padding-left: 5%;
    padding-right: 5%;
    float: left;
    width: 100%;
    background: #fff;
  }
  .banner.quote li .wrap .inner {
    position: relative;
  }
  .banner.panel img {
    position: absolute;
    left: 0;
    top: 0;
    object-fit: cover;
    width: auto;
    height: 100%;
  }
  .banner.panel .xl {
    font-size: 1em;
  }
  .teasers .col {
    padding: 0.5em;
  }
  .news-home .blur {
    display: none;
  }
  .bgg .news-home a {
    background: #fff;
  }
  .news-home a {
    background: #f9f9f9;
  }
  .news-home .name {
    position: relative;
    float: left;
  }
  .bgg .news-home .name {
    background: #fff;
  }
  .news-home .name:after {
    display: none;
  }
  .news-home .abs {
    float: left;
    width: 100%;
  }
  .meta .pl2 {
    padding-left: 2em;
  }
  .paint section.bgd:before,
  .paint section.bgg:before,
  .paint section.bgw:before,
  .paint section.bgdg:before {
    left: -2.5%;
    width: 105%;
  }
  .timeline .overlay:not(.item1) {
    max-width: calc(100% - 15em);
  }
  .teasers .col {
    width: 33.33333333%;
  }
  .legend {
    top: auto;
  }
  .categories.top li {
    font-size: 1.25vw;
    width: calc(16.66666667% - 1em);
    padding: 1em;
  }
  .categories.top .h4 {
    font-size: 1.1em;
  }
  .banner.marke .overlay .wrap {
    background: transparent;
    width: inherit;
    width: 50%;
  }
  .markenkeks svg {
    width: 85%;
    height: auto;
  }
  .brandvalues .overlay {
    font-size: 1vw;
    line-height: 1.75vw;
  }
  .segments .overlay .center {
    font-size: 2vw;
  }
  .themeslider .img {
    position: relative;
    overflow: hidden;
  }
  .themeslider img {
    position: absolute;
    height: 100%;
    max-width: none;
    width: auto;
    object-fit: cover;
    object-position: center;
  }
  .mix-container .w-20 {
    width: 25%;
  }
  .vireo [class*="grid-icon-"] {
    width: 6vw;
    height: 6vw;
    padding: 0.75em;
  }
  .vireo .grid-center {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
@media (min-width: 1201px) and (max-width: 1300px) {
  .grid .banner .blur {
    display: none !important;
  }
  .grid .banner .inner {
    position: relative;
  }
  .grid .banner .wrap {
    position: relative;
    padding-left: 5%;
    padding-right: 5%;
    float: left;
    width: 100%;
    background: #fff;
  }
  .grid .banner .pad {
    width: 100%;
  }
  .grid .banner .message {
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
    width: 100%;
  }
  .grid .banner:not(.slider) .message {
    padding-bottom: 0;
  }
  .grid .banner .flex-control-nav li a {
    background: #b2daff;
  }
  .grid .banner .w-50 {
    width: 100%;
  }
  .banner.panel img {
    position: absolute;
    left: 0;
    top: 0;
    object-fit: cover;
    width: auto;
    height: 100%;
  }
  .banner.panel .xl {
    font-size: 1em;
  }
  .banner.marke .overlay .wrap {
    background: transparent;
    width: inherit;
    width: 50%;
  }
  .markenkeks svg {
    width: 85%;
    height: auto;
  }
  .brandvalues .overlay {
    font-size: 1vw;
    line-height: 1.75vw;
  }
  .segments .overlay .center {
    font-size: 2vw;
  }
}
@media (min-width: 1201px) and (max-width: 2100px) {
  body h1,
  body .h1 {
    font-size: 2.25em;
  }
  body h2,
  body .h2 {
    font-size: 1.7em;
  }
  .container > section:not(.banner):not(.topbar):not(.np),
  header,
  footer {
    padding-left: 2.5%;
    padding-right: 2.5%;
  }
  .paint section.bgd:before,
  .paint section.bgg:before,
  .paint section.bgw:before,
  .paint section.bgdg:before {
    left: -2.5%;
    width: calc(100% + 5%);
  }
  .categories.top li {
    width: calc(16.66666667% - 1em);
    padding: 1em;
  }
  .categories.top .h4 {
    font-size: 1.2em;
  }
}
@media (min-width: 1201px) and (max-width: 1500px) {
  .brandvalues .overlay {
    font-size: 1vw;
    line-height: 1.75vw;
  }
  .vireo [class*="grid-icon-"] {
    width: 6vw;
    height: 6vw;
  }
  .vireo .grid-center {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
@media (min-width: 1500px) {
  .paint .banner .bg-d {
    padding: 3em;
  }
  .sticky {
    float: left;
    width: 100%;
    position: relative;
    top: 0;
    left: 0;
    z-index: 9;
    transform: translateY(0);
    box-shadow: 0 0 0.5em rgba(0, 0, 0, 0);
    transition: all 0.2s ease-in-out 0s;
  }
}
