/* =============================================================================
   Tables
   ========================================================================== */

table.ce-table td {
  border: 2px solid rgb(var(--c-neutral-lightest));
  background: rgb(var(--c-neutral-lighter));
  padding: 0.3rem 0.7rem;
}

.content .frame-bg-grey table.ce-table td {
  border: 2px solid rgb(var(--c-neutral-lighter));
  background: rgb(var(--c-neutral-lightest));
}

table.ce-table th,
table.ce-table caption {
  color: rgb(var(--c-neutral-lightest));
  background: rgb(var(--c-primary));
  border: 2px solid rgb(var(--c-neutral-lightest));
  padding: 0.3rem 0.7rem;
  font-weight: var(--f-weight-sb);
}

.content .frame-bg-grey table.ce-table th,
.content .frame-bg-grey table.ce-table caption {
  border: 2px solid rgb(var(--c-neutral-lighter));
}

.ios-scrollbar {
  padding-bottom: 20px;
  position: relative;
}

.ios-scrollbar::after {
  content: '\f178';
  font-family: 'FaLight', sans-serif;
  font-size: 15px;
  line-height: 100%;
  position: absolute;
  right: 0;
  bottom: 0;
}


/* =============================================================================
   Standard contentelements
   ========================================================================== */

/* Uploads */
.uploads__item {
  background-color: rgb(var(--c-neutral-lighter));
}

.content .frame-bg-grey .uploads__item {
  background-color: rgb(var(--c-neutral-lightest));
}

.uploads__link {
  color: rgb(var(--c-neutral-dark));
}

.uploads__title {
  color: rgb(var(--c-primary));
  font-size: var(--f-size-l-1);
}

.uploads__arrowpath {
  stroke: rgb(var(--c-primary));
}

@media (hover: hover) {
  .content .frame-bg-grey .uploads__item:hover,
  .uploads__item:hover {
    background-color: rgb(var(--c-primary));
  }

  .uploads__item:hover,
  .uploads__item:hover .uploads__description,
  .uploads__item:hover .uploads__title {
    color: rgb(var(--c-neutral-lightest));
  }

  .uploads__item:hover .uploads__arrowpath {
    stroke: rgb(var(--c-neutral-lightest));
  }
}

/* Menus */
.frame-type-menu_pages li a,
.frame-type-menu_sitemap li a {
  color: rgb(var(--c-neutral-dark));
}

/* Same --f-size(126%) compounding as elsewhere on this project — Live's
   sitemap leaf links compute to 17.6px, ours to 22px without this */
.frame-type-menu_sitemap {
  font-size: 80%;
}

/* Paginator */
ul.f3-widget-paginator {
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}

ul.f3-widget-paginator li {
  list-style-type: none;
  width: 40px;
  height: 40px;
  margin: 0 5px 5px 0;
  background: rgb(var(--c-neutral-lighter));
  display: flex;
  justify-content: center;
  align-items: center;
}

ul.f3-widget-paginator a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
}

ul.f3-widget-paginator li.current {
  background: rgb(var(--c-primary));
  color: rgb(var(--c-neutral-lightest));
}

ul.f3-widget-paginator li.current a {
  color: rgb(var(--c-neutral-lightest));
}

@media (hover: hover) {
  ul.f3-widget-paginator li:hover {
    background: rgb(var(--c-primary));
    color: rgb(var(--c-neutral-lightest));
  }

  ul.f3-widget-paginator li:hover a {
    color: rgb(var(--c-neutral-lightest));
  }
}

ul.f3-widget-paginator li.previous a::after {
  content: '\f053';
  font-family: 'FaLight', sans-serif;
  font-weight: normal;
  font-style: normal;
  text-decoration: inherit;
  -webkit-font-smoothing: antialiased;
  height: auto;
  line-height: normal;
  vertical-align: baseline;
  font-size: var(--f-size);
}

ul.f3-widget-paginator li.next a::after {
  content: '\f054';
  font-family: 'FaLight', sans-serif;
  font-weight: normal;
  font-style: normal;
  text-decoration: inherit;
  -webkit-font-smoothing: antialiased;
  height: auto;
  line-height: normal;
  vertical-align: baseline;
  font-size: var(--f-size);
}

/* =============================================================================
   Menus
   ========================================================================== */

/* Metanav */
.metanav__link {
  color: rgb(var(--c-neutral-lightest));
  text-transform: uppercase;
}

@media (hover: hover) {
  .metanav__link:hover {
    color: rgb(var(--c-neutral-darker));
  }
}

/* Footer — one compact bar with the contact line and the Sitemap link on
   the same row, matching Live (padding "5px 45px", ~42px tall total) */
.footer {
  color: rgb(var(--c-neutral-lightest));
  background: rgb(var(--c-primary));
  padding: 5px 0;
  /* same --f-size(126%) double-compounding as elsewhere on this project —
     Live's footer text computes to 15.5px, ours to 22px without this */
  font-size: 70%;
}

.footer a {
  color: rgb(var(--c-neutral-lightest));
}

.footer__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1.5rem;
}

.footer__text .frame {
  padding: 0;
}

.metanav__nav {
  flex-shrink: 0;
  padding: 0;
}

/* Live hides the footer Sitemap link on mobile (it's only reachable there
   via the entry already appended to the mobile main menu) — same
   mobile/desktop-nav breakpoint as firstload.css (updated from 1280px to
   950px, see the .grid__top comment there for why). */
@media (max-width: 949px) {
  .footer .metanav__nav {
    display: none;
  }
}

/* Back to top: like on Live, positioned absolutely in the bottom-right corner
   of the content wrapper (not fixed to the viewport), so it only comes into
   view when the end of the content is reached. */
.contentwrap {
  position: relative;
}

.totop {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 900;
  display: none;
  width: 45px;
  height: 45px;
  background: rgb(var(--c-primary));
}

/* Menu pages: the button sits in the bottom-right corner of the white content
   card (.content__right) instead — see SubPageWithMenu.html. */
.-withmenu .content__right {
  position: relative;
}

.totop::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M201.4 137.4c12.5-12.5 32.8-12.5 45.3 0l160 160c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 205.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160z'/%3E%3C/svg%3E") no-repeat center / 20px;
  background-color: rgb(var(--c-neutral-lightest));
}

/* Shown by jquery.functions.js (topoffsetScroll) once scrolled past half the
   viewport height — at every viewport width, like on Live. */
.totop.-visible {
  display: block;
}

@media (hover: hover) {
  .totop:hover {
    background: rgb(var(--c-primary-dark));
  }
}

/* =============================================================================
   Forms
   ========================================================================== */

input,
select,
textarea {
  border: 1px solid rgb(var(--c-neutral-light));
  padding: calc(0.6rem - 1px) 0.6rem;
  margin: 0 0 0.5rem 0;
  line-height: 1.4;
}


.page.-content {
  margin: 0;
}

.page.-content .grid__main {
  display: block;
}

.product-slider-detail .frame,
.page.-content .content > .frame:first-child,
.page.-content .content__top,
.page.-content .content__bottom > .frame:first-child,
.page.-content .content > .frame-bg-grey + .frame,
.page.-content .content > .frame-bg-image,
.page.-content .content > .frame-bg-image + .frame {
  padding: 0;
}

/* =============================================================================
   Media Queries
   ========================================================================== */