/* compiled by scssphp v0.8.0 on Mon, 31 Mar 2025 20:00:33 +0000 (0.0365s) */

html {
  font-size: 62.5%; }

html, body {
  scroll-behavior: smooth; }

* {
  margin: 0;
  padding: 0;
  border: 0;
  box-sizing: border-box;
  font: inherit;
  position: relative; }
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {
  display: block; }

ol, ul {
  list-style: none; }

blockquote::before, blockquote::after, q::before, q::after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

span {
  color: inherit;
  font-size: inherit; }

div.table-parent {
  max-width: calc(100vw - 6rem);
  overflow-x: scroll; }

:root {
  --ce-bg: white;
  --ce-text: #434865;
  --ce-bg-button: darkgreen;
  --ce-text-button: white;
  --ce-link-color: #446785;
  --font-size-default: clamp(1.8rem, 1.146vw, 2.2rem);
  --font-size-big: clamp(2rem, 1vw, 4rem);
  --font-size-bigger: clamp(3rem, 1vw, 6rem);
  --font-size-small: clamp(1.3rem, 1vw, 2rem);
  --font-size-smaller: clamp(1rem, 1vw, 1.5rem);
  --width-master: 192rem;
  --width-default: 85rem;
  --width-wide: 140rem;
  --width-narrow: 65rem;
  --space-default: 4rem;
  --space-big: 8rem;
  --space-small: 2rem;
  --space-xsmall: 1rem; }
  @media screen and (min-width: 75em) {
  :root {
    --space-default: 10rem;
    --space-big: 20rem;
    --space-small: 5rem;
    --space-xsmall: 3rem; } }

#page-header {
  position: sticky;
  top: -23vw;
  z-index: 1000;
  transition: all 0.2s;
  overflow: hidden; }
  #page-header h1 {
    padding: 30vw 0 40vw;
    background-position: bottom;
    background-size: 100% auto;
    background-repeat: no-repeat;
    text-align: center;
    /*
     span::after {
     content: "";
     position: absolute;
     right: 0;
     top: 0;
     bottom: 5%;
     left: 30%;
     }
     */ }
    #page-header h1 span {
      padding-left: 6rem;
      clip: rect(0 0 0 0);
      clip-path: inset(50%);
      height: 1px;
      overflow: hidden;
      position: absolute;
      white-space: nowrap;
      width: 1px; }
    #page-header h1 img {
      max-width: 90vw; }
    @media screen and (min-width: 65em) {
  #page-header h1 {
    padding: 5vw 0 25vw; } }
    #page-header h1::after {
      position: absolute;
      left: 0;
      bottom: -1px;
      width: 100%;
      height: 1vw;
      background-image: url(/lib/zigzag.svg.php?s=0);
      background-size: auto 100%;
      background-repeat: repeat-x;
      background-position: center bottom; }
  #page-header nav, #page-header div.wrapper {
    position: static; }
  #page-header nav {
    display: none; }
    #page-header nav #navi-main {
      border-top: 1rem solid white;
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
      justify-content: center; }
      #page-header nav #navi-main > li {
        text-align: center; }
        #page-header nav #navi-main > li:not(:last-child)::after {
          content: "";
          position: absolute;
          right: 0;
          top: 0;
          bottom: 0;
          display: block;
          width: 1rem;
          background-color: white;
          transform: translateX(50%); }
      #page-header nav #navi-main > li > a {
        display: inline-block;
        padding: 3rem 1rem 3rem 4rem; }
        #page-header nav #navi-main > li > a::before {
          position: absolute;
          left: 0;
          top: 50%;
          transform: translateY(-50%);
          font-size: 3rem; }
        #page-header nav #navi-main > li > a.start::before {
          content: "home"; }
        #page-header nav #navi-main > li > a.nutzfahrzeuge::before {
          content: "local_shipping   "; }
        #page-header nav #navi-main > li > a.car-service::before {
          content: "build"; }
        #page-header nav #navi-main > li > a.trailer:before {
          content: "rv_hookup"; }
        #page-header nav #navi-main > li > a.kontakt:before {
          content: "mail"; }
        #page-header nav #navi-main > li > a.jobs:before {
          content: "handshake"; }
        #page-header nav #navi-main > li > a.katalog:before {
          content: "flatware"; }
  #page-header #navi-service {
    position: fixed;
    top: 0;
    left: 0rem;
    right: 0;
    display: flex;
    padding: 2rem 2rem 2rem 2rem;
    gap: 2rem;
    transition: all 0.3s;
    z-index: 10; }
    @media screen and (min-width: 60em) {
  #page-header #navi-service {
    position: fixed;
    top: 10rem;
    right: auto;
    display: grid; } }
    #page-header #navi-service a {
      display: block; }
    #page-header #navi-service span {
      clip: rect(0 0 0 0);
      clip-path: inset(50%);
      height: 1px;
      overflow: hidden;
      position: absolute;
      white-space: nowrap;
      width: 1px; }
    #page-header #navi-service button {
      padding: 0;
      margin: 0;
      min-width: 0;
      background: none; }
    #page-header #navi-service li:last-child {
      position: absolute;
      top: 2rem;
      right: 2rem; }
    #page-header #navi-service a::before, #page-header #navi-service button::before {
      font-family: "MDIF";
      display: grid;
      width: 5rem;
      height: 5rem;
      border-radius: 50%;
      font-size: 3rem;
      align-content: center;
      justify-content: center;
      background-size: 100% 100%;
      box-shadow: 0.2rem 0.2rem 1rem rgba(0, 0, 0, 0.7); }
    #page-header #navi-service a.email::before {
      content: "email"; }
    #page-header #navi-service a.kontakt::before {
      content: "email"; }
    #page-header #navi-service a.telefon::before {
      content: "phone"; }
    #page-header #navi-service a.anfrageliste::before {
      content: "shopping_cart"; }
    #page-header #navi-service button.menu::before {
      content: "menu"; }
    #page-header #navi-service a.anfrageliste::after {
      display: flex;
      align-items: center;
      justify-content: center;
      position: absolute;
      right: 0;
      top: 0;
      font-size: 1.4rem;
      background-color: darkorange;
      color: white;
      width: 2.5rem;
      height: 2.5rem;
      border-radius: 50%;
      transform: translate(30%, -30%); }
  @media screen and (min-width: 68.75em) {
  #page-header nav {
    display: block; }
  #page-header #navi-service button.menu {
    display: none; }
  #page-header #navi-service {
    left: 0;
    padding-left: 4rem; } }

.ce a.email, .ce a.phone, .ce a.fax, .ce a.location, .ce a.vcf {
  padding-left: 3rem; }
  .ce a.email::before, .ce a.phone::before, .ce a.fax::before, .ce a.location::before, .ce a.vcf::before {
    font-family: "MDIF";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%); }
  .ce a.email.email::before, .ce a.phone.email::before, .ce a.fax.email::before, .ce a.location.email::before, .ce a.vcf.email::before {
    content: "email"; }
  .ce a.email.phone::before, .ce a.phone.phone::before, .ce a.fax.phone::before, .ce a.location.phone::before, .ce a.vcf.phone::before {
    content: "phone"; }
  .ce a.email.fax::before, .ce a.phone.fax::before, .ce a.fax.fax::before, .ce a.location.fax::before, .ce a.vcf.fax::before {
    content: "printer"; }
  .ce a.email.vcf::before, .ce a.phone.vcf::before, .ce a.fax.vcf::before, .ce a.location.vcf::before, .ce a.vcf.vcf::before {
    content: "contact_mail"; }
  .ce a.email.location::before, .ce a.phone.location::before, .ce a.fax.location::before, .ce a.location.location::before, .ce a.vcf.location::before {
    content: "location_on"; }

.type-portfolio {
  margin-bottom: 1rem; }
  .type-portfolio a {
    display: block;
    overflow: hidden; }
  .type-portfolio a::after {
    transition: all 0.4s;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -70%);
    font-size: 20rem;
    opacity: 0; }
  .type-portfolio a img {
    display: block;
    transition: all 0.4s;
    filter: blur(0); }
  .type-portfolio a:hover::after {
    opacity: 1; }

main > section > header {
  height: 40vh;
  background-attachment: scroll, fixed;
  background-size: auto 24px, cover;
  background-position: bottom left, center;
  background-repeat: repeat-x, no-repeat; }

button, a.button {
  display: inline-block;
  padding: 2rem 2rem 1.5rem;
  min-width: 30rem;
  cursor: pointer;
  text-decoration: none;
  text-align: center; }

p.details button, p.details a.button {
  width: 100%;
  max-width: none; }

dialog[open] {
  z-index: 1000;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  max-width: none;
  height: 100vh;
  max-height: none;
  background-color: rgba(0, 0, 0, 0.7);
  display: flex;
  justify-content: right; }
  dialog[open] > div {
    width: auto;
    min-width: 75vw;
    height: 100vh;
    overflow: auto;
    padding: 10rem 5rem 5rem 5rem; }
  dialog[open] div.wrapper {
    margin: auto;
    max-width: var(--width-default); }
  dialog[open] button {
    position: fixed;
    top: 2rem;
    right: 2rem;
    background: none;
    border: none;
    padding: 0;
    text-transform: none;
    min-width: 0; }
  dialog[open] button span {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px; }
  dialog[open] button::before {
    font-family: "MDIF";
    content: "close";
    display: grid;
    width: 5rem;
    height: 5rem;
    font-size: 3rem;
    align-content: center;
    justify-content: center;
    color: black; }
  dialog[open] ul li {
    margin-bottom: 1rem; }
  dialog[open] ul > li > a {
    display: block;
    padding: 1rem; }
  dialog[open] ul > li > ul {
    margin-top: 1rem; }

.ce table {
  border-collapse: separate; }
  .ce table th, .ce table td {
    text-align: left;
    vertical-align: top; }

figcaption {
  text-align: center;
  padding: 0.5rem; }

.type-menu {
  border-bottom: 1px solid black; }

body {
  background-color: #efefef; }

#navi-main, #navi-main-mobile > li > a, table.products th, .ce.style3 .FormBuilder.InputfieldForm button {
  background-color: #7bb724; }

#master, dialog > div, .type-gallery.logos a, .type-gallery img, table.products, #navi-service a::before, #navi-service button::before {
  background-color: white; }

#page-header, figcaption, button:not(.close) {
  background-color: black; }

#navi-main a:hover::before, #navi-main a.visible::before, #navi-main a.visible, #navi-main li.active a::before, #navi-main li.active a, table.products th {
  color: white; }

#page-header.sticky, table.products input {
  background-color: #efefef; }

#page-header h1 span::after {
  background-color: rgba(255, 255, 255, 0.48); }

.type-portfolio article > div {
  background-color: rgba(0, 0, 0, 0.5); }

.ce {
  background-color: var(--ce-bg);
  color: var(--ce-text); }
  .ce a {
    color: var(--ce-link-color); }
  .ce button, .ce .tabbed summary, .ce a.button {
    background-color: var(--ce-bg-button);
    color: var(--ce-text-button); }
  .ce .menu a {
    background-color: #647d92; }
  .ce .menu a[aria-current="page"] {
    background-color: #434865; }

.ce.style1 {
  background-image: url(/site/templates/images/backgrounds/bg-1.png); }

.ce.style2 {
  --ce-bg: #fae3c2;
  --ce-bg-button: #647d92;
  --ce-text-button: white; }

.ce.style3 {
  --ce-bg: darkgreen;
  --ce-text: white;
  --ce-bg-button: white;
  --ce-text-button: darkgreen;
  --ce-link-color: white; }

.ce.style4 {
  --ce-bg: #000;
  --ce-text: white;
  --ce-bg-button: white;
  --ce-text-button: #000;
  --ce-link-color: white; }

body, dialog a, table.products {
  color: #434865; }

#page-header h1 a, .type-portfolio a div *, .ce.style3, button, a.button, .tabbed summary, .menu a, #navi-main a::before, .type-portfolio article a::after, figcaption, .type-portfolio article > div {
  color: white; }

#navi-main a, #navi-main-mobile > li > a, #navi-main a::before, #navi-main-mobile > li > a::before, #navi-service a, #navi-service button {
  color: darkgreen; }

#page-header.sticky {
  box-shadow: 0px 3px 17px -8px rgba(0, 0, 0, 0.75); }

@font-face {
  font-family: "Roboto Light";

  src: url(/site/templates/fonts/roboto/Roboto-Light.woff2); }

@font-face {
  font-family: "Roboto Regular";

  src: url(/site/templates/fonts/roboto/Roboto-Regular.woff2); }

@font-face {
  font-family: "Roboto Bold";

  src: url(/site/templates/fonts/roboto/Roboto-Bold.woff2); }

@font-face {
  font-family: "Roboto Black";

  src: url(/site/templates/fonts/roboto/Roboto-Black.woff2); }

@font-face {
  font-family: "Roboto Bold Italic";

  src: url(/site/templates/fonts/roboto/Roboto-BoldItalic.woff2); }

@font-face {
  font-family: "Roboto Black Italic";

  src: url(/site/templates/fonts/roboto/Roboto-BlackItalic.woff2); }

@font-face {
  font-family: "MDIF";

  src: url(/site/templates/fonts/mdi_filled/MaterialIcons-Regular.woff2); }

body {
  font-family: "Roboto Light", sans-serif; }

#page-header h1 {
  font-family: "Roboto Black Italic", sans-serif; }

.ce h2, .ce h3, .ce h4, #navi-main a, strong, button, .tabbed summary, a.button, .menu a, label, dialog a, .type-portfolio a, .type-portfolio article p, .ce table th, table.products input, table.products tfoot, a.anfrageliste::after {
  font-family: "Roboto Bold", sans-serif; }

#navi-main a::before, .type-portfolio article a::after, td.images ul li a::before {
  font-family: "MDIF"; }

body {
  font-size: var(--font-size-default); }

#page-header h1 {
  font-size: clamp(4rem, 6.25vw, 12rem); }

#navi-main a, .ce h3 {
  font-size: clamp(2.5rem, 2.604vw, 3rem); }

.ce h2 {
  font-size: clamp(3rem, 2.604vw, 5rem); }

footer, .InputfieldCheckbox label span, figcaption, .menu a, table.products {
  font-size: clamp(1.6rem, 1.25vw, 1.8rem); }

table.products th span {
  font-size: clamp(1.3rem, 1.25vw, 1.6rem); }

#navi-main a span, .ce header h2, button, .tabbed summary, a.button, .menu a, dialog a {
  text-transform: uppercase; }

#navi-main a::before, #navi-service button.menu::before {
  text-transform: none; }

button, .menu a {
  letter-spacing: 0.2rem; }

#page-header h1 a, #navi-main a, #navi-service a, .type-portfolio a, #navi-main-mobile a {
  text-decoration: none; }

.ce p, .ce ul, .ce ol {
  line-height: 160%; }

.ce h3:not(:last-child), .ce p:not(:last-child), .ce ul:not(:last-child), .ce ol:not(:last-child) {
  margin-bottom: 2rem; }

.ce header h2 {
  margin-bottom: 5rem; }

.ce header h3 {
  margin-bottom: 3rem; }

.ce ul:not(.gallery):not(.menu) {
  list-style-type: disc;
  margin-left: 3rem; }

.align_center {
  text-align: center; }

.align_right {
  text-align: right; }

@media screen and (max-width: 60em) {
    .mobile-center * {
      text-align: center; } }

[data-cols] {
  gap: 1rem; }
  [data-cols]:not([data-cols="inline"]) {
    display: grid;
    grid-template-columns: 1fr; }
  @media screen and (min-width: 60em) {
    [data-cols]:not([data-cols="inline"])[data-cols="2"] {
      grid-template-columns: repeat(2, 1fr); }
      [data-cols]:not([data-cols="inline"])[data-cols="3"] {
        grid-template-columns: repeat(3, 1fr); }
      [data-cols]:not([data-cols="inline"])[data-cols="4"] {
        grid-template-columns: repeat(4, 1fr); }
      [data-cols]:not([data-cols="inline"])[data-cols="5"] {
        grid-template-columns: repeat(5, 1fr); }
      [data-cols]:not([data-cols="inline"])[data-cols="6"] {
        grid-template-columns: repeat(6, 1fr); }
      [data-cols]:not([data-cols="inline"])[data-cols="7"] {
        grid-template-columns: repeat(7, 1fr); }
      [data-cols]:not([data-cols="inline"])[data-cols="8"] {
        grid-template-columns: repeat(8, 1fr); }
      [data-cols]:not([data-cols="inline"])[data-cols="9"] {
        grid-template-columns: repeat(9, 1fr); }
      [data-cols]:not([data-cols="inline"])[data-cols="10"] {
        grid-template-columns: repeat(10, 1fr); } }
  [data-cols][data-cols="inline"] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
  [data-cols][data-gap="0"] {
    gap: 0; }
  @media screen and (min-width: 60em) {
  [data-cols][data-gap="5"] {
    gap: 0.5rem; }
  [data-cols][data-gap="10"] {
    gap: 1rem; }
  [data-cols][data-gap="15"] {
    gap: 1.5rem; }
  [data-cols][data-gap="20"] {
    gap: 2rem; } }
  [data-cols] img {
    max-width: 100%;
    height: auto; }

@keyframes slideInFromRight {
  0% {
    transform: translateX(100%); }

  100% {
    transform: translateX(0%); } }

@keyframes fadeIn {
  0% {
    opacity: 0; }

  100% {
    opacity: 1; } }

.ce {
  overflow: auto;
  padding: var(--space-default) 0; }
  .ce .wrapper, .ce header.default {
    margin: auto;
    max-width: var(--width-default); }
  .ce.wide .wrapper, .ce header.wide .wrapper {
    max-width: var(--width-wide); }
  .ce.narrow .wrapper, .ce header.narrow .wrapper {
    max-width: var(--width-narrow); }
  .ce.full .wrapper, .ce header.full .wrapper {
    max-width: 100%; }
  .ce.before-none, .ce.type-stopper {
    padding-top: 0; }
  .ce.after-none, .ce.type-stopper {
    padding-bottom: 0; }
  .ce.before-xsmall {
    padding-top: var(--space-xsmall); }
  .ce.after-xsmall {
    padding-bottom: var(--space-xsmall); }
  .ce.before-small {
    padding-top: var(--space-small); }
  .ce.after-small {
    padding-bottom: var(--space-small); }
  .ce.before-big {
    padding-top: var(--space-big); }
  .ce.after-big {
    padding-bottom: var(--space-big); }
  @media screen and (max-width: 90em) {
  .ce:not(.full) .wrapper {
    padding: 0 2rem; } }

.accordion details > *:last-child {
  margin-bottom: 3rem !important; }
  .accordion details summary {
    list-style: none;
    padding: 3rem 6rem 3rem 0;
    cursor: pointer;
    border-top-style: solid;
    border-top-width: 2px; }
  .accordion details summary::-webkit-details-marker {
    display: none; }
  .accordion details summary h2, .accordion details summary h3 {
    text-align: left; }
  .accordion details summary::after {
    font-family: "MDIF";
    content: "add";
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 3.5rem; }
  .accordion details[open] summary::after {
    content: "remove"; }
  .accordion details:last-of-type {
    border-bottom-style: solid;
    border-bottom-width: 2px; }
  .accordion details section.ce {
    padding: 0 !important; }

.tabbed {
  width: 100%;
  position: relative;
  justify-content: center;
  display: flex;
  flex-wrap: wrap; }
  .tabbed details {
    display: contents; }
  .tabbed details > div {
    order: 1;
    width: 100%; }
  .tabbed summary {
    position: sticky;
    top: 0;
    list-style: none;
    padding: 2rem 2rem 1.5rem;
    min-width: 30rem;
    cursor: pointer;
    text-align: center;
    margin: 0 0.5rem; }
  .tabbed summary::-webkit-details-marker {
    display: none; }

.type-persons div.element article {
  display: grid;
  grid-template-columns: 100%;
  gap: 4rem;
  margin-bottom: 8rem;
  align-items: center; }
  @media screen and (min-width: 40em) {
    .type-persons div.element article {
      grid-template-columns: auto 30%; }
      .type-persons div.element article:nth-child(even) {
        grid-template-columns: 30% auto; }
        .type-persons div.element article:nth-child(even) > div {
          order: 2; }
        .type-persons div.element article:nth-child(even) > figure {
          order: 1; } }
  .type-persons div.element article img {
    max-width: 100%;
    height: auto;
    display: block;
    border-radius: 50%; }
  .type-persons div.element article figure {
    margin: auto;
    max-width: 70vw; }
    @media screen and (min-width: 40em) {
    .type-persons div.element article figure {
      max-width: 100%; } }
    .type-persons div.element article figure::after, .type-persons div.element article figure::before {
      z-index: 10;
      content: "";
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      right: 0;
      border-radius: 50%; }
    .type-persons div.element article figure::before {
      border: 3px solid white;
      transform: translate(-2%, -2%); }
    .type-persons div.element article figure::after {
      border: 3px solid #1785a4;
      transform: translate(1%, 1%); }

.map {
  height: 40vh; }

form .Inputfield {
  margin: 0 0 3rem; }
  form label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: normal !important; }
  form input:not([type="checkbox"]):not([type="radio"]), form select, form textarea {
    width: 100%;
    display: block;
    padding: 1rem; }
  .type-menu {
    z-index: 100; }
  @media screen and (min-width: 75em) {
  .type-menu {
    position: sticky;
    top: 66px; } }

ul.menu {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
  gap: 1rem;
  margin: 0;
  list-style-type: none; }
  ul.menu li {
    display: flex; }
  ul.menu a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 1rem 1rem 0.5rem;
    text-align: center;
    text-decoration: none; }
  ul.menu a span {
    word-wrap: normal; }

.type-gallery img {
  display: block;
  width: 100%;
  max-width: none; }
  .type-gallery.logos li, .type-gallery.logos a {
    display: flex; }
  .type-gallery.logos img {
    width: auto !important;
    max-width: 75vw; }
  .type-gallery.logos a {
    padding: 2rem; }
  .type-gallery a {
    text-decoration: none; }

.type-text-image div.element {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem; }
  .type-text-image div.element[data-gap="0"] {
    gap: 0; }
  @media screen and (min-width: 60em) {
    .type-text-image div.element {
      grid-template-columns: repeat(10, 1fr); }
      .type-text-image div.element.right div.media, .type-text-image div.element.under div.media {
        order: 2; }
      .type-text-image div.element.left.r5050 div.media, .type-text-image div.element.right.r5050 div.media, .type-text-image div.element.left_inline.r5050 div.media, .type-text-image div.element.right_inline.r5050 div.media, .type-text-image div.element.left.r5050 div.text, .type-text-image div.element.right.r5050 div.text, .type-text-image div.element.left_inline.r5050 div.text, .type-text-image div.element.right_inline.r5050 div.text {
        grid-column: span 5; }
        .type-text-image div.element.left.r4060 div.media, .type-text-image div.element.right.r4060 div.media, .type-text-image div.element.left_inline.r4060 div.media, .type-text-image div.element.right_inline.r4060 div.media {
          grid-column: span 4; }
          .type-text-image div.element.left.r4060 div.text, .type-text-image div.element.right.r4060 div.text, .type-text-image div.element.left_inline.r4060 div.text, .type-text-image div.element.right_inline.r4060 div.text {
            grid-column: span 6; }
        .type-text-image div.element.left.r3070 div.media, .type-text-image div.element.right.r3070 div.media, .type-text-image div.element.left_inline.r3070 div.media, .type-text-image div.element.right_inline.r3070 div.media {
          grid-column: span 3; }
          .type-text-image div.element.left.r3070 div.text, .type-text-image div.element.right.r3070 div.text, .type-text-image div.element.left_inline.r3070 div.text, .type-text-image div.element.right_inline.r3070 div.text {
            grid-column: span 7; }
        .type-text-image div.element.left.r2080 div.media, .type-text-image div.element.right.r2080 div.media, .type-text-image div.element.left_inline.r2080 div.media, .type-text-image div.element.right_inline.r2080 div.media {
          grid-column: span 2; }
          .type-text-image div.element.left.r2080 div.text, .type-text-image div.element.right.r2080 div.text, .type-text-image div.element.left_inline.r2080 div.text, .type-text-image div.element.right_inline.r2080 div.text {
            grid-column: span 8; }
        .type-text-image div.element.left.r6040 div.media, .type-text-image div.element.right.r6040 div.media, .type-text-image div.element.left_inline.r6040 div.media, .type-text-image div.element.right_inline.r6040 div.media {
          grid-column: span 6; }
          .type-text-image div.element.left.r6040 div.text, .type-text-image div.element.right.r6040 div.text, .type-text-image div.element.left_inline.r6040 div.text, .type-text-image div.element.right_inline.r6040 div.text {
            grid-column: span 4; }
        .type-text-image div.element.left.r7030 div.media, .type-text-image div.element.right.r7030 div.media, .type-text-image div.element.left_inline.r7030 div.media, .type-text-image div.element.right_inline.r7030 div.media {
          grid-column: span 7; }
          .type-text-image div.element.left.r7030 div.text, .type-text-image div.element.right.r7030 div.text, .type-text-image div.element.left_inline.r7030 div.text, .type-text-image div.element.right_inline.r7030 div.text {
            grid-column: span 3; }
        .type-text-image div.element.left.r8020 div.media, .type-text-image div.element.right.r8020 div.media, .type-text-image div.element.left_inline.r8020 div.media, .type-text-image div.element.right_inline.r8020 div.media {
          grid-column: span 8; }
          .type-text-image div.element.left.r8020 div.text, .type-text-image div.element.right.r8020 div.text, .type-text-image div.element.left_inline.r8020 div.text, .type-text-image div.element.right_inline.r8020 div.text {
            grid-column: span 2; }
      .type-text-image div.element[data-gap="5"] {
        gap: 0.5rem; }
      .type-text-image div.element[data-gap="10"] {
        gap: 1rem; }
      .type-text-image div.element[data-gap="15"] {
        gap: 1.5rem; }
      .type-text-image div.element[data-gap="20"] {
        gap: 2rem; }
      .type-text-image div.element[data-gap="30"] {
        gap: 3rem; }
      .type-text-image div.element[data-gap="50"] {
        gap: 5rem; } }

.type-stopper div.element {
  text-align: center;
  opacity: 0.1; }
  .type-stopper div.element img {
    width: 20rem;
    background-color: var(--ce-bg);
    padding: 0 2rem; }
  .type-stopper div.element::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    border-top: 3px dashed black;
    transform: translateY(-50%); }

.type-portfolio .left-right div.element article {
  display: grid;
  grid-template-columns: 30% 70%; }
  .type-portfolio .left-right div.element article:nth-child(even) {
    grid-template-columns: 70% 30%; }
    .type-portfolio .left-right div.element article:nth-child(even) > *:nth-child(odd) {
      order: 2; }
  .type-portfolio .left-right div.element article > * {
    display: flex;
    width: 100%;
    align-items: center; }
  .type-portfolio .left-right div.element article section {
    text-align: center;
    width: 100%; }
  .type-portfolio .left-right div.element article img {
    border-radius: 50%; }
  .type-portfolio article > div {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    text-align: center;
    padding: 2rem; }
  .type-portfolio article > div .read-more {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px; }
  .type-portfolio article > div h3 {
    margin: 0 !important; }

.type-cart-list .FormBuilder {
  margin-top: 5rem; }

table.products {
  width: 100%;
  border-right: 1px solid darkgreen;
  border-bottom: 1px solid darkgreen; }
  table.products th {
    vertical-align: bottom; }
  table.products th span {
    display: block; }
  table.products th, table.products td {
    padding: 1rem;
    border-left: 1px solid darkgreen;
    border-top: 1px solid darkgreen; }
  table.products th:not(.title), table.products td:not(.title) {
    text-align: right; }
  table.products td.images {
    display: grid;
    grid-template-columns: 1fr auto; }
  table.products td.images ul {
    list-style: none !important;
    margin: 0 !important; }
  table.products td.images ul > li:not(:first-child) {
    display: none; }
  table.products td.images ul > li:first-child a span {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px; }
  table.products td.images ul > li:first-child a::before {
    content: "photo_camera";
    color: black;
    font-size: 3rem; }
  table.products td:not(.title) {
    white-space: nowrap; }
  table.products input {
    width: 8rem;
    text-align: right;
    padding: 0.5rem; }

#master {
  max-width: var(--width-master);
  min-height: 100vh;
  margin: auto;
  display: grid;
  grid-template-rows: auto 1fr auto; }
