@import "../css/fonts/typography.css";
@import "../css/fonts/linea_basic.css";
@import "../css/fonts/linea_ecommerce.css";
@import "../css/fonts/icomoon.css";
:root {
  --col-red: #BE272E;
  --col-on-red: #ffffff;
  --col-dgrey: #333;
  --col-offwhite: #f2f2f2;
  --col-lgrey: #e6e6e6;
  --col-border: #ccc;
}

:root {
  --max-width: 1000px;
}

header#header {
  background-color: #f2f2f2;
  border-bottom: 1px solid #ccc;
  position: relative;
  z-index: 1000;
}
header#header nav.inner-header {
  display: flex;
  flex-direction: row;
  height: 95px;
  justify-content: start;
  align-items: center;
}
@media screen and (max-width: 1000px) {
  header#header nav.inner-header {
    height: 70px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    padding-right: 1.25rem;
  }
}
header#header nav.inner-header .logo {
  align-self: center;
}
@media screen and (min-width: 1001px) {
  header#header nav.inner-header .logo {
    padding-right: 1.25rem;
  }
}
header#header nav.inner-header .logo img {
  max-width: 211px;
  width: 100%;
  height: auto;
  object-fit: contain;
}
@media screen and (max-width: 1000px) {
  header#header nav.inner-header .logo img {
    height: 50px;
    width: 129px;
  }
}
header#header nav.inner-header section.mainmenu {
  font-size: 0.875rem;
  font-family: sans-serif;
  align-self: end;
}
header#header nav.inner-header section.mainmenu ul {
  list-style: none;
}
header#header nav.inner-header section.mainmenu ul.menu {
  display: flex;
  flex-direction: row;
  padding: 0;
  margin: 0;
}
header#header nav.inner-header section.mainmenu ul.menu a {
  color: #666;
}
header#header nav.inner-header section.mainmenu ul.menu a .icon {
  font-size: 1.5rem;
  transform: translateY(3px);
}
header#header nav.inner-header section.mainmenu ul.menu.lvl-1:hover a.current {
  opacity: 0.8;
}
header#header nav.inner-header section.mainmenu ul.menu.lvl-1 a.lvl-1 {
  transition: opacity 120ms ease-in-out;
}
header#header nav.inner-header section.mainmenu ul.menu.lvl-1 a.lvl-1.current:hover {
  opacity: 1;
}
header#header nav.inner-header section.mainmenu ul.menu.lvl-1 li.lvl-1 a.current:is(.lvl-1), header#header nav.inner-header section.mainmenu ul.menu.lvl-1 li.lvl-1 a.lvl-1:hover:is(.lvl-1), header#header nav.inner-header section.mainmenu ul.menu.lvl-1 li.lvl-1:has(:hover a, a.current) a.lvl-1:is(.lvl-1) {
  background-color: #be272e;
  color: #fff;
}
header#header nav.inner-header section.mainmenu ul.menu.lvl-1 li.lvl-1 a.current:not(.lvl-1), header#header nav.inner-header section.mainmenu ul.menu.lvl-1 li.lvl-1 a.lvl-1:hover:not(.lvl-1), header#header nav.inner-header section.mainmenu ul.menu.lvl-1 li.lvl-1:has(:hover a, a.current) a.lvl-1:not(.lvl-1) {
  color: var(--col-red);
  border-left-color: var(--col-red);
}
header#header nav.inner-header section.mainmenu ul.menu.lvl-1 li.lvl-1:hover ul.menu.lvl-2 {
  display: block;
  background-color: #fff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  position: absolute;
  left: 0;
  top: 100%;
}
header#header nav.inner-header section.mainmenu ul.menu.lvl-1 a {
  display: block;
  text-decoration: none;
  hyphens: none;
}
header#header nav.inner-header section.mainmenu ul.menu.lvl-1 a.lvl-1 {
  padding: 10px 8px;
  border-right: solid 1px #ccc;
  text-transform: uppercase;
}
header#header nav.inner-header section.mainmenu li.lvl-2 {
  float: left;
  width: calc(100% / var(--columnCount, 2) - 10px);
  padding-right: 10px;
}
header#header nav.inner-header section.mainmenu li.lvl-2.c1 {
  --columnCount: 1;
}
header#header nav.inner-header section.mainmenu li.lvl-2.c2 {
  --columnCount: 2;
}
header#header nav.inner-header section.mainmenu li.lvl-2.c3 {
  --columnCount: 3;
}
header#header nav.inner-header section.mainmenu li.lvl-2.c4 {
  --columnCount: 4;
}
header#header nav.inner-header section.mainmenu li.lvl-2.c5 {
  --columnCount: 3;
}
header#header nav.inner-header section.mainmenu li.lvl-2.c6 {
  --columnCount: 3;
}
header#header nav.inner-header section.mainmenu li.lvl-2 > a.lvl-2 {
  padding: 10px 20px;
  border-bottom: 1px solid #ccc;
  height: 37px;
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
header#header nav.inner-header section.mainmenu li.lvl-2 a {
  padding: 5px 20px;
  border-left: 2px solid #fff;
}
header#header nav.inner-header section.mainmenu li.lvl-2 a:hover {
  border-left-color: var(--col-red);
  color: var(--col-red);
}
header#header nav.inner-header section.mainmenu li.lvl-2 > ul {
  padding-bottom: 15px;
}
header#header nav.inner-header section.mainmenu ul.menu.lvl-3 {
  display: flex;
  flex-direction: column;
}
header#header nav.inner-header section.mainmenu ul.lvl-2, header#header nav.inner-header section.mainmenu ul.lvl-3 {
  display: none;
}

#mmenu {
  display: none;
}

#mmenuBtn {
  order: -1;
  display: flex;
  flex-direction: column;
  width: 34px;
  height: 50px;
  justify-content: space-evenly;
  padding-block: 0.7rem;
  box-sizing: content-box;
  padding-inline: 1.25rem;
}
@media screen and (min-width: 1000px) {
  #mmenuBtn {
    display: none;
  }
}
#mmenuBtn i {
  display: block;
  height: 1px;
  width: 100%;
  background: var(--col-dgrey);
  transition: all 120ms ease-in-out;
}
@media screen and (min-width: 1001px) {
  #mmenuBtn i {
    display: none;
  }
}

.mm-wrapper--opened #mmenuBtn :nth-child(1) {
  transform: translateY(13px) rotateZ(45deg);
}
.mm-wrapper--opened #mmenuBtn :nth-child(2) {
  opacity: 0;
}
.mm-wrapper--opened #mmenuBtn :nth-child(3) {
  transform: translateY(-12px) rotateZ(-45deg);
}

.mm-menu.mm-menu--opened {
  display: flex !important;
  flex-direction: column;
}

.mm-listitem a.mm-listitem__text {
  display: flex;
  flex-direction: row-reverse;
  justify-content: start;
  align-items: center;
  gap: 0.5rem;
}
.mm-listitem a.mm-listitem__text .icon {
  transform: translateY(2px);
  font-size: 1.125rem;
}

footer#footer {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  background-color: #ccc;
  font-size: 0.875rem;
  color: #4d4d4d;
  padding-block: 20px;
}
@media screen and (max-width: 1000px) {
  footer#footer {
    padding-block: 0px !important;
    border-top: solid 1px var(--col-on-red);
    background-color: white;
  }
  footer#footer ul, footer#footer address {
    display: none;
    padding: 1.25rem;
  }
  footer#footer .cp {
    color: var(--col-on-red);
    background: var(--col-red) !important;
  }
}
footer#footer .footer-content {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  font-family: "Open Sans", sans-serif;
  line-height: 1.4em;
  padding-inline: 2rem;
}
@media screen and (max-width: 1000px) {
  footer#footer .footer-content {
    flex-direction: column;
    padding-inline: 0rem;
    color: var(--col-on-red);
  }
  footer#footer .footer-content .sup, footer#footer .footer-content .about, footer#footer .footer-content .social, footer#footer .footer-content .con {
    grid-template-rows: auto;
    width: 100%;
    border-bottom: solid 1px var(--col-on-red);
  }
  footer#footer .footer-content .title {
    color: var(--col-on-red);
    height: 45px;
    display: flex;
    align-items: center;
    padding-inline: 1.25rem;
    background: var(--col-red) !important;
    justify-content: space-between;
  }
  footer#footer .footer-content .title::after {
    content: "\e911";
    font-family: "icomoon" !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    font-size: 1.4rem;
    transition: transform 250ms ease-in-out;
  }
  footer#footer .footer-content .title.open::after {
    transform: rotateZ(180deg);
  }
}
footer#footer .footer-content a, footer#footer .footer-content address {
  color: #4d4d4d;
  text-decoration: none;
  font-style: normal;
}
footer#footer .footer-content a:is(a:hover), footer#footer .footer-content address:is(a:hover) {
  color: var(--col-red);
}
footer#footer .footer-content a *, footer#footer .footer-content address * {
  margin: 0;
}
footer#footer ul {
  list-style: none;
}
@media screen and (min-width: 1001px) {
  footer#footer ul, footer#footer address {
    display: initial;
  }
}
footer#footer .title {
  font-weight: 600;
}
@media screen and (max-width: 1000px) {
  footer#footer .title {
    cursor: pointer;
  }
}
footer#footer .sup, footer#footer .about, footer#footer .social, footer#footer .con {
  display: grid;
  grid-template-rows: 1.9rem auto;
  line-height: 2em;
}
footer#footer section.con {
  line-height: 1.4em;
}
footer#footer section.cp {
  padding-block: 1rem;
  flex-basis: 100%;
  text-align: center;
}

section.breadcrumb {
  background-color: var(--col-red);
  height: 40px;
  line-height: 40px;
  color: var(--col-on-red);
  padding-inline: 1rem;
}
section.breadcrumb ul {
  display: flex;
  flex-direction: row;
  list-style: none;
  align-items: center;
  font-family: "Open Sans", sans-serif;
}
@media screen and (max-width: 1000px) {
  section.breadcrumb ul {
    display: none;
  }
}
section.breadcrumb ul li {
  display: flex;
  flex-direction: row;
}
section.breadcrumb ul li:last-child {
  font-weight: 600;
}
section.breadcrumb ul li a {
  color: var(--col-on-red);
  text-decoration: none;
  font-size: 1rem;
  height: 100%;
  display: block;
}
section.breadcrumb ul li a:hover {
  text-decoration: underline;
}
section.breadcrumb ul li a.icon {
  font-size: 1.375rem;
  padding-right: 1rem;
  transform: translateY(1px);
}

.greyBoxes {
  display: flex;
  flex-flow: row wrap;
  gap: 5px;
  padding-block: 5px;
  justify-items: center;
}

article.greyBox {
  flex-basis: calc(33.333% - 5px);
  --primColor: #333;
  --secColor: #e6e6e6;
  flex-grow: 1;
}
@media screen and (max-width: 350px) {
  article.greyBox {
    flex-basis: 100%;
  }
}
article.greyBox:hover {
  --primColor: #ccc;
  --secColor: #333;
}
article.greyBox .container {
  --ani-time: 20ms;
  box-sizing: border-box;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  height: 215px;
  padding: 1.25rem;
  background-color: var(--secColor);
  color: var(--primColor);
  min-width: 320px;
  transition: color var(--ani-time) ease-in-out, background-color var(--ani-time) ease-in-out;
}
@media screen and (max-width: 350px) {
  article.greyBox .container {
    min-width: unset;
    height: 100%;
  }
}
article.greyBox span.icon {
  text-align: center;
  font-weight: bold;
  font-size: 1.8125rem;
  padding-bottom: 10px;
}
article.greyBox h2 {
  color: var(--col-red);
  font-size: 1.3125rem;
  text-transform: uppercase;
  font-family: "NewCicleFina", serif;
  margin: 0;
  font-weight: 400;
}
article.greyBox h3 {
  font-weight: 300;
  font-size: 14px;
  padding: 5px 0;
  margin: 0;
  font-family: "Open Sans", sans-serif;
}
article.greyBox .content {
  font-size: 13px;
  font-weight: 400;
  font-family: "Open Sans", sans-serif;
  line-height: 1.4em;
}

article.greyContent {
  background-color: var(--col-offwhite);
  padding-top: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--col-border);
  padding-inline: 2rem;
}

article.whiteContent {
  padding-inline: 2rem;
}

.flex {
  display: flex;
  gap: 5px;
}
.flex.center {
  justify-content: center;
}
.flex.row {
  flex-direction: row;
}
.flex.wrap {
  flex-wrap: wrap;
}

article.news {
  position: absolute;
  width: 198px;
  height: 45px;
  padding-left: 20px;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--col-on-red);
  background-color: var(--col-red);
  font-size: 14px;
  text-transform: uppercase;
  font-family: "Open Sans", sans-serif;
  text-decoration: none;
}
@media screen and (max-width: 1000px) {
  article.news {
    position: sticky;
    left: 0;
    right: 0;
    width: 100%;
    justify-content: center;
    padding-inline: 1rem;
    box-sizing: border-box;
    bottom: 0;
  }
}
@media (min-width: 1001px) {
  article.news {
    top: clamp(120px, 8vw, 180px);
  }
}
article.news a {
  color: inherit;
  text-decoration: none;
}
article.news::after {
  content: "";
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 0 22.5px 45px 22.5px;
  border-color: transparent transparent var(--col-red) transparent;
  transform: rotate(180deg);
  position: absolute;
  right: -22.5px;
  z-index: -1;
}
article.news::before {
  content: "";
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 0 22.5px 45px 22.5px;
  border-color: transparent transparent var(--col-red) transparent;
  right: -22.5px;
  position: absolute;
  z-index: -1;
  bottom: 0px;
}

.refs:has(.ref-item) {
  padding: 1.25rem;
  background-color: var(--col-offwhite);
  display: flex;
  flex-flow: row wrap;
  gap: 1.5rem;
}
@media screen and (max-width: calc(300px + 3rem)) {
  .refs:has(.ref-item) {
    flex-direction: column;
  }
}
.refs:has(.ref-item) .ref-filter {
  display: flex;
  flex-direction: row;
  gap: 5px;
  margin-bottom: 5px;
  flex-basis: 100%;
}
.refs:has(.ref-item) .ref-filter .icon {
  display: grid;
  place-content: center;
  height: 52px;
  width: 52px;
  font-size: 1.875rem;
  text-decoration: none;
  border: solid 1px var(--col-border);
  transition: all 120ms ease-in-out;
}
.refs:has(.ref-item) .ref-filter .icon.active, .refs:has(.ref-item) .ref-filter .icon:hover {
  background-color: var(--col-red);
  color: var(--col-on-red);
}
.refs:has(.ref-item) .ref-item {
  min-width: 300px;
  width: calc(33% - 1.5rem);
  border: 1px solid #ccc;
  overflow: hidden;
  flex-grow: 1;
  transition: 120ms background-color ease-in-out, 120ms border ease-in-out;
}
@media screen and (max-width: calc(300px + 3rem)) {
  .refs:has(.ref-item) .ref-item {
    min-width: unset;
    width: 100%;
  }
}
.refs:has(.ref-item) .ref-item:hover {
  background-color: #fff;
}
.refs:has(.ref-item) .ref-item:hover section {
  border-top-color: var(--col-red);
  background-color: #fff;
}
.refs:has(.ref-item) .ref-item a {
  text-decoration: none;
  display: grid;
}
.refs:has(.ref-item) .ref-item img {
  object-fit: contain;
  background-color: #fff;
  justify-self: center;
}
.refs:has(.ref-item) .ref-item section {
  color: var(--col-dgrey);
  font-family: "Open Sans", sans-serif;
  background-color: var(--col-offwhite);
  transition: 120ms background-color ease-in-out, 120ms border ease-in-out;
  padding-block: 0.9375rem;
  padding-inline: 1.25rem;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  border-top: solid 1px var(--col-border);
}
.refs.detail {
  flex-flow: column;
  display: flex;
  gap: 1rem;
  background-color: var(--col-offwhite);
  padding: 1rem;
}
.refs.detail img {
  max-width: 400px;
}
.refs.detail h2, .refs.detail h3 {
  margin: 0px;
}
.refs.detail strong {
  font-size: 1.125rem;
}
.refs.detail .toWeb {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  color: black;
  transition: color 80ms;
  font-size: 1.3125rem;
}
.refs.detail .toWeb:hover, .refs.detail .toWeb:hover > * {
  color: var(--col-red);
}
.refs.detail .toWeb .icon {
  font-size: 3rem;
  height: 50px;
}
.refs.detail .toWeb a {
  font-size: 1.8rem;
  color: black;
  font-family: "NewCicleFina";
}
@media screen and (max-width: 678px) {
  .refs.detail .toWeb * {
    font-size: 1.25rem !important;
    line-height: 1.25rem !important;
  }
  .refs.detail .toWeb .icon {
    height: unset;
  }
}

.stagCols {
  padding-bottom: 1.25rem;
}
.stagCols.grid > .max-width {
  display: grid;
  grid-template-columns: repeat(var(--cols), 1fr);
}
.stagCols > .max-width {
  display: flex;
  flex-flow: row wrap;
  gap: 1.25rem;
}
.stagCols .stagCol {
  flex-basis: calc(100% / var(--cols, 2) - 0.625rem * var(--cols, 2));
  flex-grow: 1;
}
.stagCols .stagCol .whiteContent {
  padding-inline: 0;
}
.stagCols .stagCol > .max-width {
  display: flex;
  flex-flow: column;
  gap: 0.5rem;
}
@media screen and (max-width: 380px) {
  .stagCols .stagCol {
    flex-basis: 100%;
  }
}
@media screen and (min-width: 380px) {
  .stagCols .stagCol {
    min-width: 300px;
  }
}

.btn {
  --primary: var(--col-lgrey);
  --secondary: var(--col-red);
  --border: var(--col-red);
  height: 45px;
  color: var(--secondary);
  background: var(--primary);
  border: 2px solid var(--primary);
  border-radius: 2px;
  font-weight: 700;
  display: flex;
  text-decoration: none !important;
  box-sizing: border-box;
  width: fit-content;
  align-items: center;
  padding-inline: 1.25rem;
  gap: 0.25rem;
  transition: all 200ms ease-in-out;
}
.btn:hover {
  border-color: var(--border);
  background-color: var(--secondary);
  color: var(--primary);
}
.btn .icon {
  font-size: 2rem;
}
.btn .icon:not(.icomoon-chevron-right)::before {
  font-size: 1.4rem;
  padding-right: 0.5rem;
}
.btn.red, .btn.action, .btn.cta {
  --primary: var(--col-red);
  --secondary: var(--col-on-red);
}
.btn .icon {
  transform: translateX(-0.625rem);
  font-size: 1.8rem;
}

.btn.cta, .btn-cta {
  --primary: var(--col-lgrey);
  --secondary: var(--col-red);
  --border: var(--col-red);
  height: 45px;
  color: var(--secondary) !important;
  background: var(--primary);
  border: 2px solid var(--primary);
  border-radius: 2px;
  font-weight: 700;
  display: flex;
  text-decoration: none !important;
  box-sizing: border-box;
  width: fit-content;
  align-items: center;
  padding-inline: 1.25rem;
  gap: 0.25rem;
  transition: all 200ms ease-in-out;
  --primary: var(--col-red);
  --secondary: var(--col-on-red);
}
.btn.cta:hover, .btn-cta:hover {
  border-color: var(--border);
  background-color: var(--secondary);
  color: var(--primary) !important;
}
.btn.cta .icon, .btn-cta .icon {
  font-size: 1.8rem;
  display: grid;
  place-content: center;
}
.btn.cta .icon:not(.icomoon-chevron-right)::before, .btn-cta .icon:not(.icomoon-chevron-right)::before {
  font-size: 1.4rem;
  padding-right: 0.5rem;
}

.btn-sub-form {
  --primary: var(--col-lgrey);
  --secondary: var(--col-red);
  --border: var(--col-red);
  height: 45px;
  color: var(--secondary);
  background: var(--primary);
  border: 2px solid var(--primary);
  border-radius: 2px;
  font-weight: 700;
  display: flex;
  text-decoration: none !important;
  box-sizing: border-box;
  width: fit-content;
  align-items: center;
  padding-inline: 1.25rem;
  gap: 0.25rem;
  transition: all 200ms ease-in-out;
}
.btn-sub-form:hover {
  border-color: var(--border);
  background-color: var(--secondary);
  color: var(--primary);
}
.btn-sub-form::before {
  content: "\e945";
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.contact {
  padding-bottom: 1rem;
}
.contact.down-sl .cb {
  display: flex;
  flex-flow: column;
  gap: 0.5rem;
  padding-left: 2rem;
  padding-bottom: 1rem;
}
.contact.down-sl .cb label {
  display: flex;
  flex-flow: row;
  gap: 0.5rem;
}
.contact #anfrage {
  appearance: none;
  border: solid 1px var(--col-border);
  background: transparent;
  height: 38px;
  width: 100%;
  padding-inline: 1rem;
  line-height: 1rem;
}
.contact #anfrage:is(:active, :focus, :focus-visible, :focus-within) {
  border-color: var(--col-red);
}
.contact .container {
  display: flex;
  gap: 1.5rem;
  flex-flow: column;
  padding-block: 1rem;
}
@media screen and (max-width: 1000px) {
  .contact .container {
    flex-flow: row wrap;
    gap: 1rem;
  }
}
.contact .field {
  position: relative;
}
@media screen and (max-width: 1000px) {
  .contact .field {
    display: flex;
    flex-grow: 1;
  }
}
.contact .field input[type=text],
.contact .field input[type=password],
.contact .field input[type=mail],
.contact .field input[type=tel],
.contact .field input[type=email],
.contact .field input[type=number],
.contact .field input[type=url],
.contact .field input[type=search],
.contact .field textarea {
  background-color: transparent;
  border: solid var(--col-border) 1px;
  width: 100%;
  resize: vertical;
  padding-inline: 1rem;
  box-sizing: border-box;
}
.contact .field input[type=text]:is(input),
.contact .field input[type=password]:is(input),
.contact .field input[type=mail]:is(input),
.contact .field input[type=tel]:is(input),
.contact .field input[type=email]:is(input),
.contact .field input[type=number]:is(input),
.contact .field input[type=url]:is(input),
.contact .field input[type=search]:is(input),
.contact .field textarea:is(input) {
  height: 38px;
}
.contact .field input[type=text]:focus,
.contact .field input[type=password]:focus,
.contact .field input[type=mail]:focus,
.contact .field input[type=tel]:focus,
.contact .field input[type=email]:focus,
.contact .field input[type=number]:focus,
.contact .field input[type=url]:focus,
.contact .field input[type=search]:focus,
.contact .field textarea:focus {
  border-color: var(--col-red);
  outline: none;
}
.contact .field textarea {
  max-width: unset;
  min-height: 38px;
  padding-block: 1rem;
}
.contact .field input:focus + label, .contact .field textarea:focus + label, .contact .field input:not(:placeholder-shown) + label, .contact .field textarea:not(:placeholder-shown) + label {
  top: -7px;
  font-size: 0.7rem;
}
.contact .field label {
  position: absolute;
  cursor: text;
  z-index: 2;
  top: 12px;
  left: 16px;
  background: #ffffff;
  transition: all 0.3s ease;
  color: rgb(113, 113, 113);
  padding-inline: 5px;
  width: fit-content;
}
.contact .field.anfrage {
  position: relative;
  flex-flow: column;
  flex-basis: 100%;
}
.contact .field.anfrage i {
  position: absolute;
  bottom: 0.5rem;
  right: 1rem;
  font-size: 1.125rem;
  z-index: -1;
}
.contact .field.msg {
  flex-basis: 100%;
}
.contact .field.privacy {
  position: initial;
}
.contact .field.privacy label {
  position: initial;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
}
.contact .field.privacy label > span {
  text-align: justify;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
}
.contact .field.privacy input {
  border: solid 2px var(--col-red);
  height: 1.25rem;
  width: 1.25rem;
  margin-right: 0.6rem;
}

.u-form-kit-response-output {
  position: absolute;
  top: 0;
  z-index: 10000000000;
  height: 100%;
  width: 100%;
  left: 0;
  display: grid;
  place-content: center;
  background: rgba(0, 0, 0, 0.3607843137);
  font-size: 1.4rem;
  color: white;
  text-shadow: 0 1px 6px black;
}

article.accordion {
  margin-bottom: 0.5rem !important;
}
article.accordion h2 {
  cursor: pointer;
  margin: 0;
  border: solid 1px var(--col-border);
  background-color: var(--col-offwhite);
  color: var(--col-red);
  padding-inline: 0.8rem;
  font-size: 1.7rem;
  height: 38px;
  display: flex;
  align-items: center;
}
article.accordion section {
  padding-top: 1rem;
}
article.accordion img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

#cw-bubble-holder {
  position: absolute;
}

table.filesystem-files {
  width: 100%;
  table-layout: fixed;
}
table.filesystem-files tr {
  display: table-row !important;
}
table.filesystem-files th {
  padding-inline: 10px;
}
table.filesystem-files .ff-filename {
  width: 65%;
}

#button {
  --color: #c0262d;
}

#image-container {
  display: none;
}

.login-form input {
  max-width: 500px;
}

.int-card .card {
  text-decoration: none;
  color: var(--col-dgrey);
  border-radius: 0px !important;
  transition: transform 0.2s ease-in-out, border-color 0.2s ease-in-out, background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
  height: 100% !important;
  display: block;
  border: solid 1px var(--col-lgrey);
  /* optional */
}
.int-card .card.card-lift:hover {
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;
  transform: translateY(-0.25rem);
  text-decoration: none;
}
.int-card .card .card-body {
  padding: 1.5rem;
  line-height: 1.4;
}
.int-card .card .card-body .logo {
  height: 35px;
  display: flex;
  align-items: center;
  margin-bottom: 1.5rem;
}
.int-card .card .card-body .logo img {
  max-height: 35px;
}
.int-card .card .card-body .logo .i-logo {
  height: 100%;
  aspect-ratio: 1/1;
  border-radius: 25%;
  background-color: #fff;
  display: grid;
  place-content: center;
  border: solid 1px #d5d5d5;
}
.int-card .card .card-body .logo .i-logo span::before {
  font-size: 1.25rem;
  line-height: 35px;
}
.int-card .card .card-body h4 {
  font-weight: bold;
  margin-bottom: 0.5rem;
  margin-top: 0;
  font-size: 1.5rem;
}
.int-card .card .card-body p {
  margin-bottom: 0;
  color: #757575;
}

.ints.row {
  display: flex;
  gap: 2rem;
  margin-bottom: 1.5rem;
  flex-flow: row wrap;
}
.ints.row > * {
  padding: 0;
  margin: 0;
  flex: 1 1 auto;
  width: clamp(280px, 33.3333333333% - 2rem, 33.33333%);
}
.ints.row > *.title {
  flex-basis: 100%;
}
.ints.row > *.title h3 {
  margin-bottom: 0;
}

.cta-card {
  color: var(--col-on-red);
  text-align: center;
}
.cta-card .container {
  box-shadow: 3px 4px 9px #737373;
}
.cta-card h3 {
  color: var(--col-on-red);
  font-family: "NewCicleFina";
  font-size: 2.3rem;
  font-weight: initial;
}
.cta-card .px-5 {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  align-items: center;
}
.cta-card .input-group {
  display: flex;
  flex-direction: row;
  max-width: 100%;
  padding-inline: 1rem;
  height: 45px;
  box-sizing: border-box;
}
.cta-card .input-group input {
  width: auto;
  height: 100%;
  box-sizing: border-box;
  padding-inline: 10px;
  border-radius: 4px;
  border-start-end-radius: 0;
  border-end-end-radius: 0;
  border: solid 2px transparent;
  border-right: solid 2px var(--col-red);
  outline: solid 2px var(--col-red);
}
.cta-card .input-group .btn {
  min-width: 115px;
}
.cta-card .input-group .btn:hover {
  box-shadow: 0px 0px 5px #333;
}
.cta-card .btn {
  z-index: 1;
  transition: scale 200ms ease-in-out, box-shadow 120ms ease-in-out;
  background-color: var(--col-on-red);
  color: var(--col-red);
  border: none;
}
.cta-card .btn:hover {
  background-color: var(--col-on-red);
  color: var(--col-red);
  scale: 1.15;
  scroll-behavior: smooth;
  border: none;
}

main:has(.cl.typography) {
  padding-bottom: 2rem;
}
@media screen and (max-width: 1000px) {
  main:has(.cl.typography) h1 {
    font-size: calc(2vw + 1.5rem);
  }
}

article.change {
  display: grid;
  grid-template-columns: 120px 4px auto;
  gap: 1rem;
}
@media screen and (max-width: 1000px) {
  article.change {
    grid-template-columns: 4px auto;
  }
}
article.change h3, article.change h4, article.change h5, article.change h6 {
  margin-top: 0.4rem !important;
  margin-bottom: 0;
}
article.change h2.change-title {
  margin-top: 0;
  margin-bottom: 0.3rem;
}
@media screen and (max-width: 1000px) {
  article.change h2.change-title {
    font-size: 1.8rem;
    position: relative;
    display: grid;
  }
}
article.change h2.change-title .change-href {
  line-height: 1.1em;
}
@media screen and (min-width: 1001px) {
  article.change h2.change-title .change-href span:last-of-type::before {
    content: " - ";
  }
}
@media screen and (max-width: 1000px) {
  article.change h2.change-title .change-href {
    display: flex;
    flex-flow: column wrap;
  }
}
article.change h2.change-title:hover::after {
  content: "#";
}
@media screen and (max-width: 1000px) {
  article.change h2.change-title:hover::after {
    position: absolute;
    align-self: center;
    justify-self: end;
  }
}
article.change hr.change-div {
  margin: 0;
}
@media screen and (max-width: 1000px) {
  article.change .change-title {
    grid-column: 2;
    grid-row: 1;
  }
}
article.change .change-details {
  display: flex;
  flex-flow: column;
  gap: 0.5rem;
  grid-row: 1/4;
}
@media screen and (max-width: 1000px) {
  article.change .change-details {
    grid-column: 2;
    grid-row: 2;
    padding-bottom: 0.8rem;
  }
}
article.change .change-details .date {
  font-size: 1.15rem;
  color: #626262;
  font-weight: lighter;
}
article.change .change-graph {
  display: grid;
  width: 4px;
  background-color: #eaeaea;
  border-radius: 4px;
  justify-content: center;
  grid-row: 1/4;
  grid-column: 2;
}
@media screen and (max-width: 1000px) {
  article.change .change-graph {
    grid-column: 1;
    grid-row: 1/4;
  }
}
article.change .change-graph::before {
  content: "";
  display: block;
  height: 0.6rem;
  background-color: #bdbdbd;
  aspect-ratio: 1;
  border-radius: 0.6rem;
  transform: translateY(0.8rem);
  outline: solid 4px white;
}
article.change .change-general {
  grid-column: 3;
  padding-bottom: 2rem;
}
@media screen and (max-width: 1000px) {
  article.change .change-general {
    grid-column: 2;
  }
}
article.change .change-tag-container {
  display: flex;
  flex-flow: row wrap;
  gap: 0.3rem;
  align-items: end;
}
article.change .change-tag {
  border-radius: 4px;
  border: solid 1px var(--color-fg);
  padding: 4px;
  background-color: var(--color-bg);
  color: var(--color-fg);
}
article.change .change-enhance, article.change .change-fix, article.change .change-notice {
  padding-bottom: 0.8rem;
}
@media screen and (max-width: 1000px) {
  article.change .change-enhance, article.change .change-fix, article.change .change-notice {
    padding-bottom: 1.4rem;
  }
}
@media screen and (max-width: 1000px) {
  article.change {
    gap: 0rem 1rem;
    margin-bottom: -4px;
  }
  article.change > :last-child {
    padding-bottom: 3rem;
  }
  article.change::after {
    content: "";
    display: block;
    width: calc(100% - 2rem);
    height: 2px;
    grid-column: 1/3;
    background-color: #be272e;
    transform: translateY(-2rem) translateX(1rem);
    border-radius: 2px;
    display: none;
  }
}

@media (min-width: 1001px) {
  .desktop-maxwidth {
    width: 1000px;
    margin: 0 auto;
    position: relative;
  }
}
body {
  display: flex;
  flex-direction: column;
  min-height: 100svh;
  height: 100%;
  justify-content: space-between;
  font-family: "Open Sans", sans-serif;
  hyphens: auto;
  background-color: #fff;
}
body ::selection {
  background-color: var(--col-red);
  color: var(--col-on-red);
}
body .max-width {
  max-width: var(--max-width);
  width: 100%;
  margin: auto;
  box-sizing: border-box;
}
body main .main-content {
  padding-bottom: 3rem;
}
body main .main-content table tr {
  display: flex;
  flex-flow: row wrap;
}
body main .main-content table tr td {
  flex-grow: 1;
  box-sizing: border-box;
}
@media screen and (max-width: 1000px) {
  body main .main-content table tr td {
    width: 50% !important;
  }
}
@media screen and (max-width: 666px) {
  body main .main-content table tr td {
    width: 100% !important;
  }
}

@media screen and (max-width: 1000px) {
  .desktop-only {
    display: none;
  }
}

@media screen and (min-width: 1001px) {
  .mobile-only {
    display: none;
  }
}

input[type=checkbox], input[type=radio], input[type=range] {
  accent-color: var(--col-red);
}

.mm-page {
  min-height: unset !important;
}

.umb-editor--medium {
  width: 50svw;
}

.login-status {
  position: fixed;
  right: 1.5rem;
  top: 1.5rem;
  z-index: 1;
  box-shadow: 0 0 5px 0px rgba(0, 0, 0, 0.2392156863);
}
@media screen and (max-width: 1000px) {
  .login-status {
    right: 0.8rem;
    top: 0.8rem;
  }
}

#tv {
  display: flex;
  place-content: center;
  position: fixed;
  bottom: 1rem;
  left: 1rem;
  background: var(--col-red);
  aspect-ratio: 1/1;
  height: 45px;
  color: var(--col-on-red);
  border-radius: 0.5rem;
  font-size: 1.5rem;
  z-index: 1;
  text-decoration: none;
}
@media screen and (max-width: 1000px) {
  #tv {
    display: none;
  }
}
#tv:hover i::before {
  content: "F";
}
#tv:hover::after {
  opacity: 1;
  width: 120px;
  transform: translateX(0rem);
}
#tv i {
  height: 45px;
  width: 45px;
  padding: 0.5rem;
  box-sizing: border-box;
  display: grid;
  place-content: center;
}
#tv::after {
  content: "TeamViewer";
  font-size: 1.25rem;
  font-weight: lighter;
  opacity: 0;
  width: 0;
  transition: all 250ms ease-in-out;
  position: absolute;
  left: 39px;
  height: 45px;
  background: var(--col-red);
  line-height: 45px;
  padding-inline: 0.2rem;
  border-start-end-radius: 0.5rem;
  border-end-end-radius: 0.5rem;
  transform: translateX(-0.7rem);
  overflow: hidden;
}

/*# sourceMappingURL=layout.css.map */
