@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/
   v4.0 | 20180602
   License: none (public domain)
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
main,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section {
  display: block;
}

/* HTML5 hidden-attribute fix for newer browsers */
*[hidden] {
  display: none;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

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

/* ==========================================================================
   Normalize.scss settings
   ========================================================================== */
/**
 * Includes legacy browser support IE6/7
 *
 * Set to false if you want to drop support for IE6 and IE7
 */
/* Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using
 *  `em` units.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
 * Prevents modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Addresses styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * 1. Remove border when inside `a` element in IE 8/9/10.
 * 2. Improves image quality when scaled in IE 7.
 */
img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *  Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 * 4. Improves appearance and consistency in all browsers.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *  and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *  `input` and others.
 * 4. Removes inner spacing in IE 7 without affecting normal text inputs.
 *  Known issue: inner spacing remains in IE 6.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}

/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 *  Known issue: excess padding remains in IE 6.
 */
input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  /* 2 */
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 * 3. Corrects text not wrapping in Firefox 3.
 * 4. Corrects alignment displayed oddly in IE 6/7.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/* Merriweather and Titillium Web were never used; removed 2026-10-02. */
@font-face {
  font-family: "Geogrotesque Bold";
  src: url("../fonts/Geogrotesque-Bold.woff2") format("woff2"),
    url("../fonts/Geogrotesque-Bold.woff") format("woff");
  /* The file is the Bold cut: any weight uses it as it is (it was declared
     300, so text set in bold got a fake extra bold on top) */
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Geogrotesque Fallback';
  src: local('Arial');
  font-weight: 600;
  font-style: normal;
  size-adjust: 88.89%;
  ascent-override: 88%; /* optional, helps with layout shift */
  descent-override: 26%; /* optional */
  line-gap-override: 0%;
}

/* Site colour (2026-10-09): Appearance > Customize > TDT Theme > Site colour.
   functions/customizer.php prints these from the chosen colour (tdt_site_colors());
   the values here are the TDT orange, used if that is ever missing.
   --tdt-accent         borders, lines, fills, bullets, focus rings
   --tdt-accent-hover   lighter fill (button hover)
   --tdt-accent-dark    darker version (menu highlights, sources)
   --tdt-accent-text    text on white (links, small headings): readable 4.5:1
   --tdt-accent-bright  text on dark backgrounds (footer, banners)
   --tdt-accent-on      text on an accent fill (near-black or white)
   --tdt-accent-tint    pale background */
:root {
  --tdt-accent: #ffa300;
  --tdt-accent-hover: #ffb126;
  --tdt-accent-dark: #db8a06;
  --tdt-accent-text: #b35900;
  --tdt-accent-bright: #ffa300;
  --tdt-accent-on: #1d2026;
  --tdt-accent-tint: #fff4e0;
}

code {
  background-color: #efefef;
  border: 1px solid #ccc;
  display: block;
  margin: 40px 0;
  padding: 20px;
}

button,
.button,
header .container .menu nav ul li.quote a {
  color: var(--tdt-quote-text, var(--tdt-accent-on));
  font-size: 18px;
  font-family: Geogrotesque Bold, Geogrotesque Fallback, sans-serif;
  font-weight: normal;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: 1px;
  padding: 9px 35px;
  margin: 0;
  display: inline-block;
  background: var(--tdt-accent);
  border: none;
  border-radius: 0;
  -webkit-transition: all 0.12s ease-in-out;
  transition: all 0.12s ease-in-out;
}
button i.fa,
.button i.fa,
header .container .menu nav ul li.quote a i.fa {
  color: inherit;
  display: inline-block;
  margin: 0 0 0 10px;
}
button:hover,
.button:hover,
header .container .menu nav ul li.quote a:hover {
  color: var(--tdt-quote-text, var(--tdt-accent-on));
  background: var(--tdt-accent-hover);
}
button.plain,
.plain.button,
header .container .menu nav ul li.quote a.plain {
  color: #22242d;
  font-weight: bold;
  padding: 0;
  background: none;
  border-radius: 0;
}
button.ghost,
.ghost.button,
header .container .menu nav ul li.quote a.ghost {
  color: var(--tdt-accent-text);
  padding: 10px 23px;
  background: transparent;
  border: 2px solid var(--tdt-accent);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
button.ghost:hover,
.ghost.button:hover,
header .container .menu nav ul li.quote a.ghost:hover {
  color: var(--tdt-quote-text, var(--tdt-accent-on));
  background: var(--tdt-accent);
}
button.gradient,
.gradient.button,
header .container .menu nav ul li.quote a.gradient {
  background: transparent;
  background-image: -webkit-gradient(
    linear,
    left top,
    right top,
    from(var(--tdt-accent-hover)),
    color-stop(50%, #53565A),
    to(var(--tdt-accent))
  );
  background-image: linear-gradient(
    to right,
    var(--tdt-accent-hover) 0%,
    #53565A 50%,
    var(--tdt-accent) 100%
  );
  background-size: 200% auto;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}
button.gradient:hover,
.gradient.button:hover,
header .container .menu nav ul li.quote a.gradient:hover {
  background-position: right center;
}
button.btn-alt,
.btn-alt.button,
header .container .menu nav ul li.quote a.btn-alt {
  font-family: Industry, sans-serif;
  font-weight: 700;
  padding: 12px 25px;
}
/* Outline ("ghost") buttons everywhere (2026-10-03): every .button, incl.
   the ones typed into page content, and the header's Request a Quote.
   Colours and Outline/Filled: Appearance > Customize > TDT Theme > Buttons
   (Filled adds body.tdt-buttons-filled and brings back the old filled look).
   The quote buttons (.quote-btn) have their own rules further down. */
body:not(.tdt-buttons-filled) .button:not(.quote-btn):not(.plain),
body:not(.tdt-buttons-filled) header .container .menu nav ul li.quote a {
  background: transparent;
  border: 2px solid var(--tdt-quote-bg, var(--tdt-accent));
  color: var(--tdt-quote-text, #1d2026);
  padding: 7px 33px;
}
body:not(.tdt-buttons-filled) .button:not(.quote-btn):not(.plain):hover,
body:not(.tdt-buttons-filled) .button:not(.quote-btn):not(.plain):focus-visible,
body:not(.tdt-buttons-filled) header .container .menu nav ul li.quote a:hover,
body:not(.tdt-buttons-filled) header .container .menu nav ul li.quote a:focus-visible {
  background: var(--tdt-quote-bg-hover, var(--tdt-accent-hover));
  border-color: var(--tdt-quote-bg-hover, var(--tdt-accent-hover));
  color: var(--tdt-quote-text, var(--tdt-quote-on, #fff));
}
/* Buttons typed into content with white text ("color: #ffffff" in the editor,
   made for the old filled orange buttons) were invisible on white once the
   buttons became outlines (2026-10-04: 7 on the Electrophysiology, Behavioral
   and Fiber Photometry category pages). Inline colours lose here; the dark
   backgrounds below still get light text. */
body:not(.tdt-buttons-filled) main .button:not(.quote-btn):not(.plain)[style*="color"] {
  color: var(--tdt-quote-text, #1d2026) !important;
}
body:not(.tdt-buttons-filled) main blockquote .button:not(.quote-btn):not(.plain)[style*="color"],
body:not(.tdt-buttons-filled) main#front .home-banner .button:not(.quote-btn):not(.plain)[style*="color"],
body:not(.tdt-buttons-filled) main#front .hero .button:not(.quote-btn):not(.plain)[style*="color"],
body:not(.tdt-buttons-filled) main#front .dedicated .card .button:not(.quote-btn):not(.plain)[style*="color"] {
  color: var(--tdt-button-text-dark-bg, #fff) !important;
}
body:not(.tdt-buttons-filled) main .button:not(.quote-btn):not(.plain)[style*="color"]:hover,
body:not(.tdt-buttons-filled) main .button:not(.quote-btn):not(.plain)[style*="color"]:focus-visible,
a:hover > .button:not(.quote-btn):not(.plain)[style*="color"],
a:focus-visible > .button:not(.quote-btn):not(.plain)[style*="color"] {
  color: var(--tdt-quote-text, var(--tdt-quote-on, #fff)) !important;
}
/* On dark backgrounds (banner, photo cards, quote blocks, footer) the text is light */
body:not(.tdt-buttons-filled) #front .home-banner .button:not(.quote-btn):not(.plain),
body:not(.tdt-buttons-filled) #front .hero .button:not(.quote-btn):not(.plain),
body:not(.tdt-buttons-filled) #front .dedicated .card .button:not(.quote-btn):not(.plain),
body:not(.tdt-buttons-filled) footer .button:not(.quote-btn):not(.plain),
body:not(.tdt-buttons-filled) blockquote .button:not(.quote-btn):not(.plain) {
  color: var(--tdt-button-text-dark-bg, #fff);
}
/* Phone menu (grey): its Request a Quote becomes an outline button too */
body:not(.tdt-buttons-filled) .mobile .block ul li.quote a {
  border: 2px solid var(--tdt-quote-bg, var(--tdt-accent));
  color: var(--tdt-button-text-dark-bg, #fff);
  display: inline-block;
  margin: 4px 0 0 15px;
  padding: 6px 18px;
  text-transform: uppercase;
}
body:not(.tdt-buttons-filled) .mobile .block ul li.quote a:hover,
body:not(.tdt-buttons-filled) .mobile .block ul li.quote a:focus-visible {
  background: var(--tdt-quote-bg-hover, var(--tdt-accent-hover));
  border-color: var(--tdt-quote-bg-hover, var(--tdt-accent-hover));
  color: var(--tdt-quote-text, var(--tdt-quote-on, #fff));
}
body:not(.tdt-buttons-filled) #front .home-banner .button:not(.quote-btn):not(.plain):hover,
body:not(.tdt-buttons-filled) #front .home-banner .button:not(.quote-btn):not(.plain):focus-visible,
body:not(.tdt-buttons-filled) #front .hero .button:not(.quote-btn):not(.plain):hover,
body:not(.tdt-buttons-filled) #front .hero .button:not(.quote-btn):not(.plain):focus-visible,
body:not(.tdt-buttons-filled) #front .dedicated .card .button:not(.quote-btn):not(.plain):hover,
body:not(.tdt-buttons-filled) #front .dedicated .card .button:not(.quote-btn):not(.plain):focus-visible,
body:not(.tdt-buttons-filled) footer .button:not(.quote-btn):not(.plain):hover,
body:not(.tdt-buttons-filled) footer .button:not(.quote-btn):not(.plain):focus-visible,
body:not(.tdt-buttons-filled) blockquote .button:not(.quote-btn):not(.plain):hover,
body:not(.tdt-buttons-filled) blockquote .button:not(.quote-btn):not(.plain):focus-visible {
  color: var(--tdt-quote-text, var(--tdt-quote-on, #fff));
}

main ul {
  width: 100%;
  margin: 0 0 20px 20px;
  display: inline-table;
}
main ul li {
  list-style: none;
  list-style-position: inside;
  padding: 0 0 0 40px;
  margin: 0 0 10px 0;
  position: relative;
}
main ul li:before {
  content: "";
  width: 15px;
  height: 2px;
  top: 15px;
  left: 10px;
  position: absolute;
  background: var(--tdt-accent);
}
main ul li ul {
  margin: 0 0 20px 20px;
}
main ul li ul li {
  list-style: none;
  list-style-position: inside;
  padding: 0 0 0 20px;
  margin: 0 0 10px 0;
  position: relative;
}
main ul li ul li:before {
  content: "•";
  color: var(--tdt-accent);
  top: 0;
  left: 0;
  position: absolute;
}

main ol {
  width: 100%;
  margin: 0 0 20px 20px;
  display: inline-table;
}
main ol li {
  list-style-type: none;
  padding: 0 0 0 20px;
  margin: 0 0 10px 0;
  display: block;
  position: relative;
  counter-increment: list;
}
main ol li:before {
  content: counter(list) ".";
  color: var(--tdt-accent-text);
  font-weight: bold;
  text-align: right;
  left: -10px;
  position: absolute;
}
main ol li ol li{
  list-style-type: lower-alpha;
  padding: 0 0 0 20px;
  margin: 0 0 10px 0;
  display: block;
  position: relative;
  counter-increment: innerlist;
}
main ol li ol li:before {
  content: counter(innerlist) ".";
  color: var(--tdt-accent-text);
  font-weight: bold;
  text-align: right;
  left: -10px;
  position: absolute;
}
main ol li ol li ul li{
  list-style-type: none;
  padding: 0 0 0 20px;
  margin: 0 0 10px 0;
  display: block;
  position: relative;
  counter-increment: none;
}
main ol li ol li ul li:before {
  content: "";
  color: var(--tdt-accent-text);
  font-weight: bold;
  text-align: right;
  left: -10px;
  position: absolute;
}

body {
  color: #22242d;
  font-size: 20px;
  /* font-family: Roboto, Helvetica, Arial, sans-serif; */
  font-family: Helvetica, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  letter-spacing: normal;
  background: white;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

::-moz-selection {
  color: white;
  background: var(--tdt-accent);
}

::selection {
  color: white;
  background: var(--tdt-accent);
}

/* Keyboard focus stays visible; mouse clicks show no ring */
*:focus:not(:focus-visible) {
  outline: 0;
}
:focus-visible {
  outline: 3px solid var(--tdt-accent);
  outline-offset: 3px;
}
.skip-link {
  position: absolute;
  left: 12px;
  top: -60px;
  z-index: 1000;
  padding: 10px 14px;
  background: #22242d;
  color: #fff;
}
.skip-link:focus {
  top: 12px;
}
/* Text for screen readers only (WordPress's standard class) */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

a {
  color: var(--tdt-accent-text);
  text-decoration: none;
}
a:hover {
  color: var(--tdt-accent);
}
main a {
  font-weight: bold;
}

blockquote {
  text-align: center;
  display: block;
  border-radius: var(--tdt-card-radius);
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
blockquote .filter {
  padding: 70px 40px;
  background-color: rgba(34, 36, 45, 0.7);
}
blockquote p {
  color: white;
  font-size: 22px;
  font-family: Industry, sans-serif;
  line-height: 1.5;
  margin: 0 auto 10px !important;
}
blockquote cite {
  color: white;
  font-size: 20px;
  font-family: Industry, sans-serif;
  font-weight: normal;
}

figure {
  margin: 0;
}

h1 {
  color: #22242d;
  font-size: 27px;
  font-family: Industry, sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  line-height: 1.3;
  margin: 0;
  margin-bottom: 0;
}
@media all and (max-width: 639.9375px) {
  h1 {
    font-size: 35px;
  }
}
@media all and (max-width: 479.9375px) {
  h1 {
    font-size: 30px;
  }
}

h2 {
  color: #22242d;
  font-size: 27px;
  font-family: Industry, sans-serif;
  font-weight: bold;
  text-transform: none;
  line-height: 1.3;
  margin: 0;
  margin-bottom: 15px;
}
@media all and (max-width: 639.9375px) {
  h2 {
    font-size: 30px;
  }
}
@media all and (max-width: 479.9375px) {
  h2 {
    font-size: 26px;
  }
}

h3 {
  color: #22242d;
  font-size: 20px;
  font-family: Industry, sans-serif;
  font-weight: bold;
  text-transform: none;
  line-height: 1.3;
  margin: 0;
  margin-bottom: 15px;
}
@media all and (max-width: 639.9375px) {
  h3 {
    font-size: 26px;
  }
}
@media all and (max-width: 479.9375px) {
  h3 {
    font-size: 23px;
  }
}

h4 {
  color: var(--tdt-accent-text);
  font-size: 20px;
  font-family: Industry, sans-serif;
  font-weight: bold;
  text-transform: none;
  line-height: 1.3;
  margin: 0;
  margin-bottom: 15px;
}
@media all and (max-width: 639.9375px) {
  h4 {
    font-size: 26px;
  }
}
@media all and (max-width: 479.9375px) {
  h4 {
    font-size: 23px;
  }
}

h5 {
  color: #22242d;
  font-size: 20px;
  font-family: Industry, sans-serif;
  font-weight: 400;
  text-transform: none;
  line-height: 1.3;
  margin: 0;
  margin-bottom: 15px;
}
@media all and (max-width: 639.9375px) {
  h5 {
    font-size: 22px;
  }
}
@media all and (max-width: 479.9375px) {
  h5 {
    font-size: 20px;
  }
}

h6 {
  color: #22242d;
  font-size: 20px;
  font-family: Industry, sans-serif;
  font-weight: 400;
  text-transform: none;
  line-height: 1.3;
  margin: 0;
  margin-bottom: 15px;
}
@media all and (max-width: 639.9375px) {
  h6 {
    font-size: 20px;
  }
}
@media all and (max-width: 479.9375px) {
  h6 {
    font-size: 20px;
  }
}

hr {
  margin: 40px auto;
  border: 1px solid #f3f3f3;
}

iframe,
object,
embed {
  width: 100%;
  height: 500px;
  top: 0;
  left: 0;
  margin: 0 auto 40px;
  position: relative;
}

i,
em {
  font-style: italic;
}

b,
strong {
  font-weight: bold;
}

img {
  width: auto;
  max-width: 100%;
  height: auto;
}
img.alignright {
  margin: 0 0 20px 20px;
  float: right;
}
img.alignleft {
  margin: 0 20px 20px 0;
  float: left;
}
img.aligncenter {
  margin-right: auto;
  margin-left: auto;
  display: block;
}
main img {
  margin-bottom: 20px;
}
main img:last-child {
  margin-bottom: 0;
}

.thumbnail {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

p {
  margin-bottom: 20px;
}
p:last-child {
  margin-bottom: 0;
}

pre {
  color: white;
  padding: 25px;
  display: block;
  position: relative;
  background: #22242d;
  border-radius: 15px;
}
pre:not(:last-of-type) {
  margin: 0 auto 20px;
}

ol {
  padding: 0;
  margin: 0;
}

ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

*,
*:focus {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.masthead {
  background: #53565A;
}
@media all and (max-width: 768.9375px) {
  .masthead {
    display: none;
  }
}
.masthead .container {
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
  padding: 7px 0;
}
.masthead .container:after {
  content: " ";
  display: block;
  clear: both;
}
@media all and (max-width: 969.9375px) {
  .masthead .container {
    padding: 7px 20px;
  }
}
.masthead .container form {
  background: #fff;
  height: auto;
  float: right;
  overflow: hidden;
}
.masthead .container form input {
  background-color: #fff;
  border: none;
  color: #22242d;
  font-size: 14px;
  font-family: Geogrotesque Bold, Geogrotesque Fallback, sans-serif;
  padding: 0px 10px 2px 15px;
  position: relative;
  text-transform: uppercase;
  top: -1px;
  width: 210px;
}
.masthead .container form button {
  background: none;
  border-radius: 0;
  color: #53565A;
  cursor: pointer;
  width: 30px;
  text-align: center;
  padding: 0;
  position: relative;
}
.masthead .container form button i.fa {
  font-size: 18px;
  margin: 0 20px 0 0;
}
.masthead .container form button:hover {
  color: var(--tdt-accent-text);
}

/* Search box: WordPress search (searchform.php), replaced Google search 2026-10-02 */
.search-form {
  display: -webkit-box;
  display: flex;
  background: #fff;
}
.search-form [type="search"] {
  -webkit-box-flex: 1;
  flex: 1 1 auto;
  min-width: 0;
  border: 1px solid #c9cacc;
  border-right: 0;
  color: #22242d;
  font-size: 16px;
  padding: 8px 12px;
  -webkit-appearance: none;
  appearance: none;
}
.search-form button {
  -webkit-box-flex: 0;
  flex: 0 0 auto;
  font-size: 16px;
  letter-spacing: 0;
  padding: 0 16px;
}
.search-form button i.fas {
  margin: 0;
}
.masthead .container form.search-form {
  float: right;
  display: -webkit-box;
  display: flex;
}
.masthead .container form.search-form [type="search"] {
  border: 0;
  font-size: 14px;
  padding: 4px 10px 4px 15px;
  top: 0;
  width: 230px;
}
.masthead .container form.search-form button {
  background: none;
  color: #53565A;
  width: auto;
  padding: 0 12px;
}
.masthead .container form.search-form button:hover,
.masthead .container form.search-form button:focus-visible {
  color: var(--tdt-accent-text);
}
.mobile .block form.search-form {
  padding: 10px 15px;
  background: none;
}
.mobile .block form.search-form [type="search"] {
  float: none;
  width: auto;
  font-size: 17px;
  padding: 10px 12px;
  border: 0;
}
.mobile .block form.search-form button {
  position: static;
  float: none;
  width: 52px;
  padding: 0;
  font-size: 18px;
  color: #22242d;
}

/* Page content is its own layer, so nothing in it (text + picture blocks
   have z-index 100, slider arrows up to 1000) can cover the header and
   its menus (2026-10-07: the Products menu was under the New Products
   page's blocks). */
main {
  isolation: isolate;
}

header {
  background: white;
  -webkit-box-shadow: 0px 10px 24px 3px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 10px 24px 3px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 99;
}
header .container {
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
}
header .container:after {
  content: " ";
  display: block;
  clear: both;
}
@media all and (max-width: 969.9375px) {
  header .container {
    padding: 0 20px;
  }
}
/* 970-1064px wide: the header (and the search bar above it) are 1024px
   wide, so the logo and Request a Quote touched the window edges
   (2026-10-07); same 20px margin as below 970px */
@media all and (max-width: 1063.9375px) {
  header .container,
  .masthead .container {
    box-sizing: border-box;
    padding-left: 20px;
    padding-right: 20px;
  }
}
header .container .logo {
  width: 23.58491%;
  float: left;
  margin-right: 1.88679%;
  height: 127px;
  display: table;
}
@media all and (max-width: 939.9375px) {
  header .container .logo {
    width: 20.18868%;
    float: left;
    margin-right: 1.88679%;
  }
}
@media all and (max-width: 767.9375px) {
  header .container .logo {
    width: 100%;
    text-align: center;
  }
}
header .container .logo a {
  display: table-cell;
  vertical-align: middle;
}
header .container .logo a img {
  max-width: 205px;
  width: 100%;
  top: 5px;
  position: relative;
}
header .container .menu {
  width: 74.5283%;
  float: right;
  margin-right: 0;
  height: 127px;
  display: table;
}
@media all and (max-width: 939.9375px) {
  header .container .menu {
    width: 77.92453%;
    float: right;
    margin-right: 0;
  }
}
@media all and (max-width: 767.9375px) {
  header .container .menu {
    display: none;
  }
}
header .container .menu nav {
  display: table-cell;
  vertical-align: middle;
}
header .container .menu nav .applications {
  float: left;
  display: inline-block;
  position: relative;
}
header .container .menu nav .products {
  float: right;
  display: inline-block;
  position: relative;
}
header .container .menu nav .applications > span,
header .container .menu nav .products > span {
  cursor: pointer;
  color: #22242d;
  font-size: 14px;
  font-family: Industry, sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  padding: 53px 5px;
  display: block;
}
header .container .menu nav ul {
  float: right;
  display: inline-block;
}
header .container .menu nav ul li {
  text-align: center;
  margin: 0 0 0 40px;
  display: inline-block;
}
header .container .menu nav ul li:before {
  display: none;
}
@media all and (max-width: 969.9375px) {
  header .container .menu nav ul li {
    margin: 0 0 0 20px;
  }
}
header .container .menu nav ul li a {
  color: #22242d;
  font-size: 14px;
  font-family: Industry, sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  padding: 53px 5px;
  display: block;
}

header .container .menu nav .applications > span a,
header .container .menu nav .products > span a {
  color: #22242d;
}

header .container .menu nav ul li a:hover,
header .container .menu nav .applications > span a:hover,
header .container .menu nav .products > span a:hover {
  color: var(--tdt-accent);
}
header .container .menu nav ul li a i.fa {
  width: 100%;
  margin: 0 0 5px 0;
}
header .container .menu nav ul li.quote a {
  font-size: 14px;
}
@media all and (max-width: 969.9375px) {
  header .container .menu nav ul li.quote a {
    padding-left: 10px;
    padding-right: 10px;
  }
}
header .container .menu nav ul li ul.dropdown {
  width: 100%;
  max-width: 240px;
  padding: 0 10px 10px;
  margin: 0 0 0 -10px;
  display: none;
  position: absolute;
  background: white;
  -webkit-box-shadow: 4px 4px 6px rgba(0, 0, 0, 0.05);
  box-shadow: 4px 4px 6px rgba(0, 0, 0, 0.05);
  z-index: 9;
}
header .container .menu nav ul li ul.dropdown li {
  text-align: left;
  margin: 0;
  display: block;
  position: relative;
  -webkit-transition: all 0.06s ease-in-out;
  transition: all 0.06s ease-in-out;
}
header .container .menu nav ul li ul.dropdown li:hover {
  background: white;
}
header .container .menu nav ul li ul.dropdown li:not(:last-child) {
  border-bottom: 1px solid rgba(34, 36, 45, 0.1);
}
header .container .menu nav ul li ul.dropdown li a {
  color: #22242d;
  font-size: 14px;
  /* font-family: Roboto, Helvetica, Arial, sans-serif; */
  font-family: Helvetica, Arial, sans-serif;
  font-weight: normal;
  text-transform: none;
  padding: 7px 15px;
  display: block;
}
header .container .menu nav ul li ul.dropdown li a:hover {
  color: #22242d;
  font-weight: bold;
}
header .container .menu nav ul li ul.dropdown li ul.dropdown {
  top: 0;
  left: 100%;
  margin: 0;
  display: none;
}

.mobile {
  display: none;
  position: relative;
  width: 100%;
  z-index: 999;
}
@media all and (max-width: 768.9375px) {
  .mobile {
    display: block;
  }
}
.mobile .topbar {
  cursor: pointer;
  padding: 10px 15px;
  background: #53565A;
}
.mobile .topbar i.fa {
  color: white;
  margin: 0 10px 0 0;
}
.mobile .topbar p {
  color: white;
  font-family: Industry, sans-serif;
  font-weight: bold;
  display: inline;
  text-transform: uppercase;
  -webkit-transition: all 0.12s ease-in-out;
  transition: all 0.12s ease-in-out;
}
.mobile .block {
  padding: 0 0 20px;
  display: none;
  background: #53565A;
}
.mobile .block form {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 10px;
  padding: 10px 15px;
  position: relative;
}
.mobile .block form:after {
  content: " ";
  display: block;
  clear: both;
}
.mobile .block form [type="search"] {
  background: #fff;
  border: none;
  color: #22242d;
  font-family: Geogrotesque Bold, Geogrotesque Fallback, sans-serif;
  font-size: 19px;
  float: left;
  padding: 10px 15px;
  display: inline-block;
  width: 95%;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.mobile .block form [type="search"]::-webkit-input-placeholder {
  color: #22242d;
}
.mobile .block form [type="search"]::-moz-placeholder {
  color: #22242d;
}
.mobile .block form [type="search"]:-ms-input-placeholder {
  color: #22242d;
}
.mobile .block form [type="search"]::-ms-input-placeholder {
  color: #22242d;
}
.mobile .block form [type="search"]::placeholder {
  color: #22242d;
}
.mobile .block form [type="search"]:focus {
  color: #53565A;
  background: white;
}
.mobile .block form [type="search"]:focus::-webkit-input-placeholder {
  color: #53565A;
}
.mobile .block form [type="search"]:focus::-moz-placeholder {
  color: #53565A;
}
.mobile .block form [type="search"]:focus:-ms-input-placeholder {
  color: #53565A;
}
.mobile .block form [type="search"]:focus::-ms-input-placeholder {
  color: #53565A;
}
.mobile .block form [type="search"]:focus::placeholder {
  color: #53565A;
}
.mobile .block form button {
  width: 10%;
  float: right;
  margin-right: 0;
  background: var(--tdt-accent-hover);
  border-radius: 0;
  cursor: pointer;
  display: inline-block;
  font-size: 21px;
  padding: 8px 0 7px;
  position: absolute;
  top: 10px;
  right: 10px;
  text-align: center;
}
.mobile .block form button i.fa {
  margin: 0;
}
.mobile .block form button:hover {
  color: var(--tdt-accent-text);
  background: white;
}
.mobile .block ul {
  padding: 0;
  background: #53565A;
}
.mobile .block ul li {
  margin-bottom: 10px;
}
.mobile .block ul li.parent span {
  cursor: pointer;
  padding: 0 5px 0 17px;
  display: inline-block;
}
.mobile .block ul li.parent span i.fa {
  color: white;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.mobile .block ul li.parent span:hover i.fa {
  color: var(--tdt-accent-bright);
}
.mobile .block ul li.parent span.selected i.fa {
  color: var(--tdt-accent-bright);
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}
.mobile .block ul li a {
  cursor: pointer;
  color: white;
  font-size: 18px;
  font-family: Industry, sans-serif;
  font-weight: 600;
  padding: 5px 15px;
  display: inline-block;
  -webkit-transition: all 0.08s ease-in-out;
  transition: all 0.08s ease-in-out;
}
.mobile .block ul li a:hover {
  color: var(--tdt-accent-bright);
}
.mobile .block ul li:hover .icon {
  -webkit-transform: scale(1.01);
  transform: scale(1.01);
}
.mobile .block ul li .dropdown {
  padding: 0;
  margin: 0 0 0 30px;
  display: none;
}
.mobile .block ul li .dropdown li {
  margin-bottom: 10px;
}
.mobile .block ul li .dropdown li a {
  font-size: 20px;
}
.mobile .block ul li .dropdown li .dropdown {
  margin-left: 50px;
}
.mobile .block ul li .dropdown li .dropdown li a {
  font-weight: 400;
}
.mobile .block a.button {
  margin-left: 15px;
}

footer {
  background: #22242d;
}
footer .container {
  max-width: 1250px;
  margin-left: auto;
  margin-right: auto;
  padding: 50px 0 40px;
}
footer .container:after {
  content: " ";
  display: block;
  clear: both;
}
@media all and (max-width: 1299.9375px) {
  footer .container {
    padding: 40px 20px;
  }
}
footer .container .info {
  width: 37.5%;
  float: left;
}
@media all and (max-width: 949.9375px) {
  footer .container .info {
    width: 100%;
    text-align: center;
    margin: 0 auto 40px;
  }
}
footer .container .info p {
  color: white;
  font-size: 16px;
  font-family: Industry, sans-serif;
  margin: 20px auto;
  padding-right: 150px;
}
@media all and (max-width: 949.9375px) {
  footer .container .info p {
    padding-right: 0;
  }
}
footer .container .info .social {
  color: #fff;
  font-size: 24px;
  display: inline-block;
}
footer .container .info .social:hover {
  color: var(--tdt-accent-bright);
}
footer .container .info .social:not(:last-child) {
  margin: 0 20px 0 0;
}
footer .container .widgets {
  width: 62.5%;
  float: right;
  margin-right: 0;
}
@media all and (max-width: 949.9375px) {
  footer .container .widgets {
    width: 100%;
    margin: 0 auto;
  }
}
footer .container .widgets .container {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0;
}
footer .container .widgets .container:after {
  content: " ";
  display: block;
  clear: both;
}
@media all and (max-width: 768.9375px) {
  footer .container .widgets .container {
    display: block;
  }
}
footer .container .widgets .container h6 {
  color: white;
  font-size: 16px;
  text-transform: uppercase;
}
footer .container .widgets .container a:not(.button) {
  color: white;
  font-size: 16px;
  margin: 0 auto 5px;
  display: block;
}
footer .container .widgets .container a:not(.button):last-of-type {
  margin: 0;
}
footer .container .widgets .container a:not(.button):hover {
  color: var(--tdt-accent-bright);
}
footer .container .widgets .container .button {
  margin: 15px auto 0;
}
footer .container .widgets .container .footer-block {
  width: 30.76923%;
  float: left;
  margin-right: 3.84615%;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  border-left: 1px solid #fff;
  padding-left: 35px;
}
@media all and (max-width: 949.9375px) {
  footer .container .widgets .container .footer-block {
    text-align: center;
  }
  footer .container .widgets .container .footer-block:first-child {
    border-left: 0px;
  }
}
@media all and (max-width: 768.9375px) {
  footer .container .widgets .container .footer-block {
    border-left: 0;
    display: block;
    float: none;
    margin-bottom: 40px;
    padding-left: 0;
    width: 100%;
  }
}
footer .container .widgets .container .footer-block h6 {
  font-weight: 700;
}
footer .container .widgets .container .right {
  width: 30.76923%;
  float: right;
  margin-right: 0;
}
@media all and (max-width: 768.9375px) {
  footer .container .widgets .container .right {
    margin-top: 20px;
    width: 100%;
  }
}
@media all and (max-width: 479.9375px) {
  footer .container .widgets .container .right {
    width: 100%;
    margin-top: 0;
  }
}
footer .container .widgets .container .right .button {
  font-family: Industry, sans-serif;
  font-size: 13px;
  font-weight: 700;
}
@media all and (max-width: 479.9375px) {
  footer .container .widgets .container .right .button {
    padding-left: 10px;
    padding-right: 10px;
  }
}
footer .copyright {
  border-top: 1px solid white;
}
footer .copyright .container {
  max-width: 1250px;
  margin-left: auto;
  margin-right: auto;
  padding: 7px 0;
}
footer .copyright .container:after {
  content: " ";
  display: block;
  clear: both;
}
@media all and (max-width: 969.9375px) {
  footer .copyright .container {
    padding: 10px 20px;
  }
}
@media all and (max-width: 949.9375px) {
  footer .copyright .container {
    text-align: center;
  }
}
footer .copyright .container section {
  width: 47.05882%;
  float: left;
  margin-right: 5.88235%;
}
@media all and (max-width: 768.9375px) {
  footer .copyright .container section {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
    text-align: center;
  }
}
footer .copyright .container aside {
  width: 47.05882%;
  float: right;
  margin-right: 0;
  text-align: right;
}
@media all and (max-width: 768.9375px) {
  footer .copyright .container aside {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
    text-align: center;
  }
}
footer .copyright .container p {
  color: white;
  font-size: 17px;
  margin: 0;
}
footer .copyright .container a {
  color: white;
  font-size: 17px;
  -webkit-transition: all 0.12s ease-in-out;
  transition: all 0.12s ease-in-out;
}
footer .copyright .container a:hover {
  color: var(--tdt-accent-bright);
}

.flex {
  /* padding: 80px 40px; */
  padding: 40px 40px;
}
@media all and (max-width: 768.9375px) {
  .flex {
    padding: 40px 20px;
  }
}
.flex:first-child {
  padding: 40px;
}
.flex:first-child.text {
  padding-top: 0;
}
.flex:first-child.columns {
  padding: 0;
}
.flex:not(:last-child) {
  margin: 0 auto 0px;
}
.flex:last-child {
  padding-bottom: 60px !important;
}
.flex.text {
  /* padding: 80px 0; */
  padding: 40px 0;
  margin-bottom: 0;
}
.flex.text .container {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
}
.flex.text .container:after {
  content: " ";
  display: block;
  clear: both;
}
@media all and (max-width: 969.9375px) {
  .flex.text .container {
    padding: 0 20px;
  }
}
.flex.text .container article {
  width: 100%;
  margin: 0 auto;
}
.flex.text .container article .gform_wrapper {
  display: block !important;
}
.flex.blockquote .container {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
}
.flex.blockquote .container:after {
  content: " ";
  display: block;
  clear: both;
}
@media all and (max-width: 969.9375px) {
  .flex.blockquote .container {
    padding: 0 20px;
  }
}
.flex.blockquote .container article {
  width: 100%;
  margin: 0 auto;
}
.flex.blockquote .container h2,
.flex.blockquote .container h3 {
  color: #fff;
}
.flex.columns {
  margin-bottom: 0;
  /* padding: 80px 0 40px; */
  padding: 40px 0 40px;
}
.flex.columns .container {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
}
.flex.columns .container:after {
  content: " ";
  display: block;
  clear: both;
}
@media all and (max-width: 969.9375px) {
  .flex.columns .container {
    padding: 0 20px;
  }
}
.flex.columns .container.two {
  padding-top: 40px;
}
@media all and (max-width: 519.9375px) {
  .flex.columns .container.two {
    text-align: center;
  }
}
.flex.columns .container.two article {
  width: 48.07692%;
  float: left;
  margin-right: 3.84615%;
}
.flex.columns .container.two article:last-of-type {
  float: right;
  margin-right: 0;
}
@media all and (max-width: 519.9375px) {
  .flex.columns .container.two article {
    margin-top: 0;
    margin-bottom: 50px;
    width: 100% !important;
  }
  .flex.columns .container.two article:last-child {
    margin: 0;
  }
}
.flex.columns .container.two article iframe {
  max-height: 275px;
}
.flex.columns .container.three article {
  width: 30.76923%;
  float: left;
  margin-right: 3.84615%;
}
.flex.columns .container.three article:last-of-type {
  float: right;
  margin-right: 0;
}
@media all and (max-width: 699.9375px) {
  .flex.columns .container.three article:nth-child(1) {
    width: 48.07692%;
    float: left;
    margin-right: 3.84615%;
  }
  .flex.columns .container.three article:nth-child(2) {
    width: 48.07692%;
    float: right;
    margin-right: 0;
  }
  .flex.columns .container.three article:last-child {
    width: 100%;
    margin-top: 50px;
  }
}
@media all and (max-width: 519.9375px) {
  .flex.columns .container.three article {
    width: 100% !important;
    margin-top: 0;
    margin-bottom: 50px;
    text-align: center;
  }
  .flex.columns .container.three article:last-child {
    margin: 0;
  }
}
.flex.module .container {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
  max-width: 100% !important;
  width: 100% !important;
}
.flex.module .container:after {
  content: " ";
  display: block;
  clear: both;
}
.flex.module .container article {
  width: 55%;
  float: left;
  margin-right: 5.88235%;
}
@media all and (max-width: 639.9375px) {
  .flex.module .container article {
    width: 100%;
    margin: 0 auto 30px;
  }
}
.flex.module .container article .block {
  max-width: 605px;
  width: 100%;
  float: right;
}
.flex.module .container article .block .subheading {
  color: #f3f3f3;
  font-size: 13px;
  font-family: Industry, sans-serif;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.flex.module .container article .block h2 {
  max-width: 450px;
  font-size: 25px;
  text-transform: uppercase;
}
.flex.module .container article .block a i.fa {
  font-size: 16px;
  display: inline-block;
  margin: 0 0 0 10px;
}
.flex.module .container aside {
  width: 39.11765%;
  float: right;
  margin-right: 0;
}
@media all and (max-width: 639.9375px) {
  .flex.module .container aside {
    width: 100%;
    margin: 0 auto;
  }
}
.flex.module .container aside img {
  float: left;
}
.flex.module.standard {
  margin-bottom: 0;
  /* padding-bottom: 80px; */
  padding-bottom: 40px;
  position: relative;
}
.flex.module.standard:last-child {
  padding-bottom: 0;
}
.flex.module.standard:nth-child(odd) {
  background-color: #f3f3f3;
}
.flex.module.standard.lr-bg {
  background-size: cover;
  background-position: center;
}
.flex.module.standard.lr-bg:after {
  background-color: rgba(0, 0, 0, 0.4);
  content: "";
  display: block;
  height: 100%;
  left: -40px;
  position: absolute;
  top: 0;
  width: 110%;
  z-index: 1;
}
.flex.module.standard.lr-bg h2,
.flex.module.standard.lr-bg h3,
.flex.module.standard.lr-bg p,
.flex.module.standard.lr-bg ul,
.flex.module.standard.lr-bg li {
  color: #fff;
}
.flex.module.standard.lr-bg .container {
  padding: 0 40px;
}
@media all and (max-width: 768.9375px) {
  .flex.module.standard.lr-bg .container {
    padding: 0 20px;
  }
}
.flex.module.standard.left .container {
  position: relative;
  z-index: 100;
}
.flex.module.standard.left .container article {
  width: 55%;
  float: right;
  margin-right: 0;
}
@media all and (max-width: 768.9375px) {
  .flex.module.standard.left .container article {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
}
.flex.module.standard.left .container article .block {
  float: left;
}
.flex.module.standard.left .container article .block .subheading {
  color: #22242d;
}
.flex.module.standard.left .container aside {
  width: 39.11765%;
  float: left;
  margin-right: 5.88235%;
}
@media all and (max-width: 768.9375px) {
  .flex.module.standard.left .container aside {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
}
.flex.module.standard.left .container aside img {
  float: right;
}
.flex.module.standard.right .container {
  position: relative;
  z-index: 100;
}
.flex.module.standard.right .container article .block .subheading {
  color: #22242d;
}
.flex.module.gallery {
  display: block;
  background-color: #c2dde5;
}
.flex.module.gallery .slides .slide {
  display: block;
}
.flex.module.gallery .slides .slide.first {
  display: block;
}

@media all and (max-width:768.9375px) {
   .flex.module.gallery .slides {
       padding: 0 40px
   }
}
@media all and (max-width:499.9375px) {
   .flex.module.gallery .slides {
       padding: 0
   }
}
.flex.module.gallery .slides .slick-list {
   padding: 0 20px
}
.flex.module.gallery .slides .slick-arrow {
   cursor: pointer;
   font-size: 30px;
   height: 50px;
   position: absolute;
   bottom: 15%;
   -webkit-transform: translateY(0);
   transform: translateY(0);
   width: 50px;
   z-index: 100
}
.flex.module.gallery .slides .slick-prev {
   left: 0
}
@media all and (max-width:1249.9375px) {
   .flex.module.gallery .slides .slick-prev {
       left: -20px
   }
}
@media all and (max-width:768.9375px) {
   .flex.module.gallery .slides .slick-prev {
       left: 0
   }
}
.flex.module.gallery .slides .slick-next {
   right: 0
}
@media all and (max-width:1249.9375px) {
   .flex.module.gallery .slides .slick-next {
       right: -20px
   }
}
@media all and (max-width:1249.9375px) {
   .flex.module.gallery .slides .slide {
       padding: 0 60px
   }
}
@media all and (max-width:768.9375px) {
   .flex.module.gallery .slides .slide {
       padding: 0 20px;
       min-width: 250px
   }
}
@media all and (max-width:768.9375px) {
   .flex.module.gallery .slides .slide .container article {
       width: 100%;
       float: left;
       margin-left: 0;
       margin-right: 0
   }
}
@media all and (max-width:768.9375px) {
   .flex.module.gallery .slides .slide .container aside {
       display: none
   }
}

.flex.module.display {
  padding: 60px 0;
  background-image: url("../images/info.jpg");
  background-color: #f3f3f3;
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}
@media all and (max-width: 1149.9375px) {
  .flex.module.display {
    padding: 60px 20px;
  }
}
@media all and (max-width: 639.9375px) {
  .flex.module.display {
    background-position: top left;
  }
}
.flex.module.display img {
  max-width: 500px;
}
.flex.module.info {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
}
.flex.module.info:after {
  content: " ";
  display: block;
  clear: both;
}
.flex.module.info p {
  color: white;
  font-size: 18px;
  font-family: Industry, sans-serif;
  text-transform: uppercase;
  -webkit-transition: all 0.12s ease-in-out;
  transition: all 0.12s ease-in-out;
}
.flex.module.info .block {
  width: 100%;
  display: table;
  position: relative;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.flex.module.info .block .align {
  padding: 15px 25px;
  display: table-cell;
  vertical-align: bottom;
  position: relative;
  background: rgba(0, 0, 0, 0);
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(rgba(0, 0, 0, 0)),
    to(black)
  );
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, black 100%);
  overflow: hidden;
}
.flex.module.info .block .align:hover > p {
  color: var(--tdt-accent-bright);
}
.flex.module.info .block .align p:first-child {
  margin: 0;
}
.flex.module.info .block .align .hidden {
  width: 100%;
  height: 100%;
  bottom: -110%;
  left: 0;
  padding: 15px 25px;
  position: absolute;
  background: rgba(0, 0, 0, 0);
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(rgba(0, 0, 0, 0)),
    color-stop(80%, black)
  );
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, black 80%);
  z-index: 10;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}
@media all and (max-width: 639.9375px) {
  .flex.module.info .block .align .hidden {
    bottom: 0% !important;
    -webkit-transition: all 0s ease-in-out;
    transition: all 0s ease-in-out;
  }
}
.flex.module.info .block .align .hidden .content {
  padding: 15px 0;
  bottom: 0;
  vertical-align: bottom;
  position: absolute;
}
.flex.module.info .block .align .hidden .content h3,
.flex.module.info .block .align .hidden .content p {
  color: white;
}
.flex.module.info .block .align .hidden .content p {
  font-size: 16px;
}
.flex.module.info .left {
  width: 50%;
  float: left;
}
@media all and (max-width: 639.9375px) {
  .flex.module.info .left {
    width: 100%;
  }
}
.flex.module.info .left .block {
  height: 440px;
}
@media all and (max-width: 639.9375px) {
  .flex.module.info .left .block {
    height: 300px;
  }
}
.flex.module.info .left .subheading {
  color: #22242d;
}
.flex.module.info .right {
  width: 50%;
  float: right;
  margin-right: 0;
}
@media all and (max-width: 639.9375px) {
  .flex.module.info .right {
    width: 100%;
  }
}
.flex.module.info .right section {
  width: 100%;
}
.flex.module.info .right section .block {
  min-height: 220px;
  height: 100%;
}
@media all and (max-width: 639.9375px) {
  .flex.module.info .right section .block {
    height: 300px;
  }
}
.flex.module.info .right .subheading {
  color: #22242d;
}
.flex ul {
  padding-left: 30px;
}
@media all and (max-width: 519.9375px) {
  .flex ul {
    display: inline-block;
  }
}
.flex ul li {
  margin-bottom: 10px;
  position: relative;
}
.flex ul li:before {
  content: "";
  width: 15px;
  height: 2px;
  top: 15px;
  left: -30px;
  position: absolute;
  background: var(--tdt-accent);
}
.flex .go-to-assist table tr td {
  padding: 10px 20px;
}
.flex .go-to-assist table tr td img {
  margin-bottom: 0;
  margin-right: 5px;
}
.flex .go-to-assist table tr td.name-block {
  padding: 0 20px;
}
.flex .go-to-assist table tr td.name-block p {
  margin-bottom: 0;
  vertical-align: top;
}
.flex .go-to-assist table tr td.name-block p:first-child {
  position: relative;
  top: -10px;
}
.flex .go-to-assist table tr td.name-block p:nth-child(2) {
  display: block;
  margin-top: -15px;
}
.flex .go-to-assist table tr td.name-block p:nth-child(2) span {
  display: block;
}
.flex .go-to-assist table tr td.name-block p span {
  vertical-align: top;
}

table {
  background-color: #efefef;
  border-collapse: collapse;
  margin: 0;
  padding: 0;
  width: 100%;
}

table caption {
  font-size: 1.5em;
  margin: 0.5em 0 0.75em;
}

table tr {
  border: 0px solid #e5e5e5;
  padding: 0.35em;
}
table tr:first-child {
  background-color: #ccc;
}

table th {
  background-color: #cdcdcd;
  font-weight: 700;
  font-style: italic;
}

table th,
table td {
  padding: 15px;
  text-align: left;
}

table th {
  font-size: 0.85em;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

table td {
  font-size: 18px;
}

.gfield.form-row-block.gfield_html.gfield_html_formatted.field_sublabel_below.field_description_below.gfield_visibility_visible {
  display: inline-block;
  margin-right: 40px;
  min-width: 190px;
}
.gfield.form-row-block.gfield_html.gfield_html_formatted.field_sublabel_below.field_description_below.gfield_visibility_visible
  h4 {
  color: #22242d;
  margin-bottom: 0;
}
.gfield.form-row-block.gfield_html.gfield_html_formatted.field_sublabel_below.field_description_below.gfield_visibility_visible
  table
  tr:nth-child(2)
  td {
  padding-top: 15px;
}
.gfield.form-row-block.gfield_html.gfield_html_formatted.field_sublabel_below.field_description_below.gfield_visibility_visible
  table
  tr:last-child
  td {
  padding-bottom: 15px;
}
.gfield.form-row-block.gfield_html.gfield_html_formatted.field_sublabel_below.field_description_below.gfield_visibility_visible
  table
  tr
  td {
  padding: 5px 15px;
}

#front {
  padding: 0;
  display: block;
  position: relative;
}
/* 440px on desktop (575 before; its bottom ~135px held the research area
   icons, now cards below the banner). Tablet and phone sizes unchanged. */
#front .hero {
  display: block;
  position: relative;
  height: 440px;
  overflow: hidden;
  width: 100%;
}

@media all and (max-width: 768.9375px) {
  #front .hero {
    height: 460px;
    overflow: visible;
  }
}
@media all and (max-width: 599.9375px) {
  #front .hero {
    height: 575px;
  }
}

#front .hero .slider {
  opacity: 0;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

#front .hero .slick-initialized {
    opacity: 1;
    transition:opacity .3s ease-out;
}

#front .hero .slider:after {
  content: " ";
  display: block;
  clear: both;
}

#front .hero .slider .slick-track .slide.slick-slide {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  height: 440px;
  padding: 0 350px;
  /* width: 1100px; */
  width: 100%;
}
@media all and (max-width: 768.9375px) {
  /* tablet and phone: as before the 2026-10-02 change */
  #front .hero .slider .slick-track .slide.slick-slide {
    height: 575px;
  }
}

@media all and (max-width: 1499.9375px) {
  #front .hero .slider .slick-track .slide.slick-slide {
    padding: 0 250px;
  }
}
@media all and (max-width: 1299.9375px) {
  #front .hero .slider .slick-track .slide.slick-slide {
    padding: 0 150px;
  }
}
@media all and (max-width: 1099.9375px) {
  #front .hero .slider .slick-track .slide.slick-slide {
    padding: 0 40px;
  }
}
@media all and (max-width: 599.9375px) {
  #front .hero .slider .slick-track .slide.slick-slide {
    padding: 0 20px;
  }
}
#front .hero .slider .slick-track .slide.slick-slide article {
  width: 47.05882%;
  float: left;
  margin-right: 5.88235%;
  padding: 80px 0;
}
@media all and (max-width: 1349.9375px) {
  #front .hero .slider .slick-track .slide.slick-slide article {
    padding: 70px 0;
  }
}
@media all and (max-width: 599.9375px) {
  #front .hero .slider .slick-track .slide.slick-slide article {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
}
@media all and (max-width: 399.9375px) {
  #front .hero .slider .slick-track .slide.slick-slide article {
    padding: 40px 0;
  }
}
#front .hero .slider .slick-track .slide.slick-slide article h1,
#front .hero .slider .slick-track .slide.slick-slide article h2,
#front .hero .slider .slick-track .slide.slick-slide article h3,
#front .hero .slider .slick-track .slide.slick-slide article h4,
#front .hero .slider .slick-track .slide.slick-slide article h5,
#front .hero .slider .slick-track .slide.slick-slide article h6 {
  color: white;
  font-size: 26px;
  font-family: Industry, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  margin: 0;
}
#front .hero .slider .slick-track .slide.slick-slide article p {
  color: white;
  margin: 20px auto 30px;
}
#front .hero .slider .slick-track .slide.slick-slide article a {
  margin: 0;
}
#front .hero .slider .slick-track .slide.slick-slide aside {
  width: 47.05882%;
  float: right;
  margin-right: 0;
}
@media all and (max-width: 599.9375px) {
  #front .hero .slider .slick-track .slide.slick-slide aside {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
}
#front .hero .slider .slick-track .slide.slick-slide aside img {
  top: 70px;
  position: relative;
}
@media all and (max-width: 768.9375px) {
  #front .hero .slider .slick-track .slide.slick-slide aside img {
    top: 100px;
  }
}
@media all and (max-width: 599.9375px) {
  #front .hero .slider .slick-track .slide.slick-slide aside img {
    margin: 0 auto;
    top: 0;
    width: 50%;
  }
}
@media all and (max-width: 399.9375px) {
  #front .hero .slider .slick-track .slide.slick-slide aside img {
    width: 70%;
  }
}
#front .hero .slider .slick-track .slide.slick-slide.content-slide article {
  width: 65.38462%;
  float: left;
  margin-right: 3.84615%;
  padding: 120px 0;
}
@media all and (max-width: 768.9375px) {
  #front .hero .slider .slick-track .slide.slick-slide.content-slide article {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
    padding: 200px 0;
  }
}
#front .hero .slider .slick-track .slide.slick-slide.content-slide article h1 {
  font-family: Industry, sans-serif;
  font-size: 40px;
  font-weight: 700;
}
/* Research area cards under the banner (2026-10-02; front-page.php,
   functions/home.php). Before, the icons were laid over the banner's bottom. */
#front .categories {
  background: #f4f4f4;
  padding: 50px 20px 56px;
}
#front .categories .container {
  max-width: 1024px;
  margin: 0 auto;
}
#front .categories__heading {
  color: #101820;
  font-size: 26px;
  letter-spacing: 0.5px;
  margin: 0 0 6px;
  text-align: center;
  text-transform: uppercase;
}
#front .categories__text {
  color: #53565A;
  font-size: 17px;
  margin: 0 0 28px;
  text-align: center;
}
#front .categories__grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(4, 1fr);
}
/* Card colours: Appearance > Customize > TDT Theme > Home page > Card style
   (functions/home.php prints the --tdt-card-* variables; the fallbacks here
   are the default, "Gunmetal"). */
#front .area-card {
  align-items: center;
  background: var(--tdt-card-bg, linear-gradient(160deg, #53565A 0%, #2a2f36 45%, #101820 100%));
  border: 1px solid var(--tdt-card-border, #2a2f36);
  border-radius: 14px;
  color: var(--tdt-card-text, #fff);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 26px 18px 22px;
  text-align: center;
  text-decoration: none;
  transition: box-shadow 0.15s, transform 0.15s;
}
#front .area-card:hover,
#front .area-card:focus-visible {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  color: var(--tdt-card-text, #fff);
  transform: translateY(-3px);
}
/* The white ring keeps a dark icon circle (Electrophysiology) visible on dark cards */
#front .area-card__icon {
  align-items: center;
  background: var(--area-color);
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.85);
  display: flex;
  flex: 0 0 auto;
  height: 84px;
  justify-content: center;
  margin-bottom: 14px;
  width: 84px;
}
#front .area-card__icon img {
  height: 52px;
  object-fit: contain;
  width: 52px;
}
#front .area-card__body {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}
#front .area-card__name {
  color: inherit;
  font-family: Geogrotesque Bold, Geogrotesque Fallback, sans-serif;
  font-size: 19px;
  line-height: 1.2;
  margin-bottom: 8px;
}
#front .area-card__text {
  color: var(--tdt-card-muted, #D0D0CE);
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.45;
  margin-bottom: 14px;
}
/* "Explore systems": outline button, filled on hover */
#front .area-card__link {
  border: 2px solid var(--tdt-card-button-border, var(--tdt-accent));
  border-radius: 999px;
  color: var(--tdt-card-button-text, var(--tdt-accent-bright));
  font-family: Geogrotesque Bold, Geogrotesque Fallback, sans-serif;
  font-size: 14px;
  letter-spacing: 0.3px;
  margin-top: auto;
  padding: 5px 16px;
  transition: background 0.15s, color 0.15s;
}
#front .area-card:hover .area-card__link,
#front .area-card:focus-visible .area-card__link {
  background: var(--tdt-card-button-border, var(--tdt-accent));
  color: var(--tdt-card-button-hover-text, #101820);
}
@media all and (max-width: 900px) {
  #front .categories__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (max-width: 599.9375px) {
  #front .categories {
    padding: 32px 16px 36px;
  }
  #front .categories__heading {
    font-size: 21px;
  }
  #front .categories__grid {
    gap: 12px;
    grid-template-columns: 1fr;
  }
  /* Phones: compact rows, icon at the left, the link as underlined text */
  #front .area-card {
    align-items: center;
    border-radius: 12px;
    flex-direction: row;
    padding: 14px 14px 14px 12px;
    text-align: left;
  }
  #front .area-card__icon {
    height: 60px;
    margin: 0 14px 0 3px;
    width: 60px;
  }
  #front .area-card__icon img {
    height: 38px;
    width: 38px;
  }
  #front .area-card__body {
    align-items: flex-start;
  }
  #front .area-card__name {
    font-size: 17px;
    margin-bottom: 4px;
  }
  #front .area-card__text {
    font-size: 14px;
    margin-bottom: 6px;
  }
  #front .area-card__link,
  #front .area-card:hover .area-card__link,
  #front .area-card:focus-visible .area-card__link {
    background: none;
    border: 0;
    border-radius: 0;
    color: var(--tdt-card-button-text, var(--tdt-accent-bright));
    padding: 0;
    text-decoration: underline;
    text-decoration-color: var(--tdt-card-button-border, var(--tdt-accent));
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
  }
}
/* The home page's text content moves itself up 150px (class deskContent,
   inline style typed into the page) to fill the gap the old overlaid icons
   left. The cards are no longer overlaid, so cancel it. */
#front .deskContent {
  top: 0 !important;
}
#front .dedicated {
  margin: -152px 0 0px;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 768.9375px) {
  #front .dedicated {
    margin: 0;
  }
}
#front .dedicated .container {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
  padding: 120px 0;
  position: relative;
  z-index: 10;
}
#front .dedicated .container:after {
  content: " ";
  display: block;
  clear: both;
}
@media all and (max-width: 969.9375px) {
  #front .dedicated .container {
    padding: 120px 20px;
  }
}
#front .dedicated .container .full {
  width: 100%;
  display: block;
  margin: 0 auto 20px;
}
#front .dedicated .container .full h2 {
  /* max-width: 500px; */
  font-size: 32px;
  /* text-transform: uppercase; */
}
#front .dedicated .container article {
  width: 22.85714%;
  float: left;
  margin-right: 2.85714%;
  height: 375px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  overflow: hidden;
}
@media all and (max-width: 599.9375px) {
  #front .dedicated .container article {
    height: 350px !important;
  }
}
@media all and (max-width: 399.9375px) {
  #front .dedicated .container article {
    height: 320px !important;
  }
}
#front .dedicated .container article:last-of-type {
  width: 22.85714%;
  float: right;
  margin-right: 0;
}
@media all and (max-width: 1099.9375px) {
  #front .dedicated .container article {
    width: 48.57143%;
    float: left;
    margin-right: 2.85714%;
    margin-bottom: 3.77358%;
  }
  #front .dedicated .container article:nth-child(odd) {
    width: 48.57143%;
    float: right;
    margin-right: 0;
  }
}
@media all and (max-width: 519.9375px) {
  #front .dedicated .container article {
    width: 100% !important;
    display: block;
  }
  #front .dedicated .container article:last-child {
    margin-bottom: 0;
  }
}
#front .dedicated .container article .block {
  width: 100%;
  display: table;
  position: relative;
  z-index: 1;
  background: rgba(0, 0, 0, 0);
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(rgba(0, 0, 0, 0)),
    to(black)
  );
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, black 100%);
}
#front .dedicated .container article .block:hover .hover {
  bottom: 0;
}
#front .dedicated .container article .block .align {
  text-align: center;
  display: table-cell;
  vertical-align: bottom;
}
#front .dedicated .container article .block .align h3 {
  color: white;
  margin-bottom: 10px;
  opacity: 1;
  padding: 0 20px;
  text-align: left;
  text-transform: uppercase;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}
@media all and (max-width: 599.9375px) {
  #front .dedicated .container article .block .align h3 {
    display: none;
  }
}
#front .dedicated .container article .block .align:hover h3 {
  opacity: 0;
}
#front .dedicated .container article .block .hover {
  width: 100%;
  bottom: -110%;
  left: 0;
  position: absolute;
  background: rgba(0, 0, 0, 0);
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(rgba(0, 0, 0, 0)),
    color-stop(80%, black)
  );
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, black 80%);
  z-index: 10;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}
@media all and (max-width: 768.9375px) {
  #front .dedicated .container article .block .hover {
    bottom: 0;
  }
}
@media all and (max-width: 599.9375px) {
  #front .dedicated .container article .block .hover {
    bottom: 20px;
  }
}
@media all and (max-width: 499.9375px) {
  #front .dedicated .container article .block .hover {
    text-align: center;
  }
}
#front .dedicated .container article .block .hover .content {
  padding: 20px;
}
#front .dedicated .container article .block .hover .content h3 {
  color: white;
  text-transform: uppercase;
}
#front .dedicated .container article .block .hover .content p {
  color: white;
  font-size: 16px;
}
#front .dedicated canvas {
  bottom: 0;
  position: absolute;
  top: 0;
  z-index: 1;
}
#front .innovations {
  background: #f3f3f3;
  position: relative;
  z-index: 10;
}
#front .innovations .container {
  max-width: 1250px;
  margin-left: auto;
  margin-right: auto;
  padding: 40px 0;
}
#front .innovations .container:after {
  content: " ";
  display: block;
  clear: both;
}
@media all and (max-width: 969.9375px) {
  #front .innovations .container {
    padding: 60px 20px;
  }
}
#front .innovations .container h4 {
  color: #22242d;
  font-size: 24px;
  text-transform: uppercase;
  margin: 0 auto 30px;
}
#front .innovations .container p {
  margin: 0;
}
#front .innovations .container .left {
  width: 31.3725%;
  float: left;
  margin-right: 2.94%;
}
@media all and (max-width: 767.9375px) {
  #front .innovations .container .left {
    width: 100%;
    margin-bottom: 40px;
  }
}
#front .innovations .container .left article {
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
#front .innovations .container .left article:hover .block .align p {
  margin-bottom: 0;
}
#front .innovations .container .left article .block {
  /*
  background: rgba(0, 0, 0, 0);
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(rgba(0, 0, 0, 0)),
    to(black)
  );
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, black 100%);    
  */  
  color: #fff;  
  display: table;
  height: 300px;
  position: relative;
  z-index: 1;
  width: 100%;
}
#front .innovations .container .left article .block .align { 
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(rgba(30, 87, 153, 0)),
    to(rgba(0, 0, 0, 0.5))
  );
  background: linear-gradient(
    to bottom,
    rgba(30, 87, 153, 0) 0%,
    rgba(0, 0, 0, 0.5) 100%
  ); 
  display: table-cell;
  overflow: hidden;
  padding: 20px;
  vertical-align: bottom;
}
#front .innovations .container .left article .block .align h3 {
  color: #fff;
  font-size: 18px;
  text-transform: uppercase;
}
#front .innovations .container .left article .block .align p {
  font-weight: 400;
  margin-bottom: -35%;
  -webkit-transition: margin-bottom 0.25s;
  transition: margin-bottom 0.25s;
}
#front .innovations .container .center {
  width: 31.3725%;
  float: left;
  margin-right: 2.94%;
}
@media all and (max-width: 767.9375px) {
  #front .innovations .container .center {
    width: 100%;
  }
}
#front .innovations .container .center .events {
  height: 300px;
  max-height: 300px;
  padding: 10px;
  background: white;
  overflow: auto;
}
#front .innovations .container .center .events:-webkit-scrollbar {
  -webkit-appearance: none;
  width: 8px;
}
#front .innovations .container .center .events:-webkit-scrollbar-track {
  background-color: rgba(57, 57, 57, 0.6);
  border-radius: 8px;
}
#front .innovations .container .center .events:-webkit-scrollbar-thumb {
  border-radius: 8px;
  background-color: rgba(156, 156, 156, 0.6);
}
#front .innovations .container .center .events article {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
#front .innovations .container .right .events article:after {
  content: " ";
  display: block;
  clear: both;
}
#front .innovations .container .center .events article:not(:last-of-type) {
  padding-bottom: 10px;
  margin-bottom: 10px;
  /* border-bottom: 1px solid #f3f3f3; */
}
@media all and (max-width: 768.9375px) {
  #front .innovations .container .center .events article {
    max-width: 450px;
    width: 100%;
  }
}
/*
#front .innovations .container .center .events article aside {
  width: 18.18182%;
  float: left;
  margin-right: 9.09091%;
  padding-bottom: 35px;
}


@media all and (max-width: 479.9375px) {
  #front .innovations .container .center .events article aside {
    width: 100%;
    display: block;
    margin-bottom: 20px;
  }
}
#front .innovations .container .center .events article aside .icon {
  width: 85px; 
  height: 85px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-color: #fff;
}
@media all and (max-width: 768.9375px) {
  #front .innovations .container .center .events article aside .icon {
    margin: 0 auto;
  }
}
@media all and (max-width: 479.9375px) {
  #front .innovations .container .center .events article aside .icon {
    margin: 0 auto;
  }
}
*/

#front .innovations .container .center .events article section {
  width: 100.0%;
  float: right;
  margin-right: 0;
  font-size: 14px;
  padding-bottom: 10px;
}
@media all and (max-width: 899.9375px) {
  #front .innovations .container .center.events article section {
    padding-left: 30px;
  }
}
@media all and (max-width: 479.9375px) {
  #front .innovations .container .center .events article section {
    width: 100%;
    text-align: center;
    display: block;
  }
}
#front .innovations .container .center .events article section a {
  color: #22242d;
  font-family: Industry, sans-serif;
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  -webkit-transition: all 0.12s ease-in-out;
  transition: all 0.12s ease-in-out;
}
#front .innovations .container .center .events article section a:hover {
  color: var(--tdt-accent-text);
}
#front .innovations .container .center .events article section p span {
  color: #22242d;
  font-family: Industry, sans-serif;
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
}
#front .innovations .container .right {
  width: 31.3725%;
  float: left;
  margin-right: 0;
}
@media all and (max-width: 767.9375px) {
  #front .innovations .container .right {
    width: 100%;
  }
}
#front .innovations .container .right .webinars {
  max-height: 300px;
  padding: 20px;
  background: white;
}

main {
  width: 100%;
  padding: 30px 0 0px;
  display: block;
  position: relative;
}
@media all and (max-width: 969.9375px) {
  main {
    padding: 30px 0 0px;
  }
}

#page .container,
#single .container {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
}
#page .container:after,
#single .container:after {
  content: " ";
  display: block;
  clear: both;
}
@media all and (max-width: 969.9375px) {
  #page .container,
  #single .container {
    padding-left: 20px;
    padding-right: 20px;
  }
}

#page.gizmos .flex.columns,
#single.gizmos .flex.columns {
  border-bottom: 1px solid #acaeb0;
  margin: 0;
  padding: 60px 0 40px;
}
#page.gizmos .flex.columns:last-child,
#single.gizmos .flex.columns:last-child {
  border-bottom: 0px;
}

#page.gizmos .flex.text,
#single.gizmos .flex.text {
  margin: 0;
  padding: 60px 0 0;
}

#page.products .applications .container,
#single.products .applications .container {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
}
#page.products .applications .container:after,
#single.products .applications .container:after {
  content: " ";
  display: block;
  clear: both;
}
@media all and (max-width: 1099.9375px) {
  #page.products .applications .container,
  #single.products .applications .container {
    padding: 0 20px;
  }
}
#page.products .applications .container .full,
#single.products .applications .container .full {
  width: 100%;
  text-align: center;
  margin: 0 auto 30px;
}
#page.products .applications .container .full h2,
#single.products .applications .container .full h2 {
  color: #22242d;
  font-style: 20px;
  font-family: Industry, sans-serif;
  text-transform: uppercase;
}
#page.products .applications .container a,
#single.products .applications .container a {
  width: 24.04762%;
  float: left;
  margin-right: 1.19048%;
}
#page.products .applications .container a:last-child,
#single.products .applications .container a:last-child {
  float: right;
  margin-right: 0;
}
@media all and (max-width: 1099.9375px) {
  #page.products .applications .container a,
  #single.products .applications .container a {
    width: 47.77778%;
    float: left;
    margin-left: 1.11111%;
    margin-right: 1.11111%;
    margin-bottom: 20px;
  }
  #page.products .applications .container a:last-child,
  #single.products .applications .container a:last-child {
    width: 100%;
  }
}
@media all and (max-width: 539.9375px) {
  #page.products .applications .container a,
  #single.products .applications .container a {
    width: 100% !important;
  }
}
#page.products .applications .container .block,
#single.products .applications .container .block {
  width: 100%;
  display: table;
}
#page.products .applications .container .block .align,
#single.products .applications .container .block .align {
  text-align: center;
  padding: 20px;
  display: table-cell;
  vertical-align: middle;
}
#page.products .applications .container .block .align h3,
#single.products .applications .container .block .align h3 {
  color: white;
  font-size: 18px;
  text-transform: uppercase;
  margin: 0;
}

#page.products hr,
#single.products hr {
  max-width: 900px;
  height: 1px;
  margin: 60px auto;
  background: #22242d;
  border: none;
}

#page.products .products .container,
#single.products .products .container {
  max-width: 1150px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0px;
}
#page.products .products .container:after,
#single.products .products .container:after {
  content: " ";
  display: block;
  clear: both;
}
#page.products .products .container .full,
#single.products .products .container .full {
  width: 100%;
  text-align: center;
  margin: 0 auto 30px;
}
#page.products .products .container .full h2,
#single.products .products .container .full h2 {
  color: #22242d;
  font-family: Industry, sans-serif;
  text-transform: uppercase;
}

#page.products .products .container a,
#single.products .products .container a {
   width: 13.55932%; 
  float: left;
  margin-right: 0.84746%;
  text-align: center;
}

#page.products .products .container a:last-child,
#single.products .products .container a:last-child {
  float: right;
  margin-right: 0;
}
@media all and (max-width: 767.9375px) {
  #page.products .products .container a,
  #single.products .products .container a {
    width: 30.76923%;
    float: left;
    margin-right: 3.84615%;
    margin-bottom: 25px;
  }
  #page.products .products .container a:nth-child(3),
  #single.products .products .container a:nth-child(3) {
    width: 30.76923%;
    float: right;
    margin-right: 0;
  }
  #page.products .products .container a:nth-child(6),
  #single.products .products .container a:nth-child(6) {
    width: 30.76923%;
    float: right;
    margin-right: 0;
  }
  #page.products .products .container a:last-child,
  #single.products .products .container a:last-child {
    float: right;
    margin-right: 0;
    width: 100%;
    margin: 0 auto;
  }
}
@media all and (max-width: 479.9375px) {
  #page.products .products .container a,
  #single.products .products .container a {
    width: 100% !important;
    margin-bottom: 25px;
  }
  #page.products .products .container a:last-child,
  #single.products .products .container a:last-child {
    margin: 0 auto;
  }
}
#page.products .products .container a:hover h3,
#single.products .products .container a:hover h3 {
  color: var(--tdt-accent-text);
}
#page.products .products .container h3,
#single.products .products .container h3 {
  width: 100%;
  color: dark;
  font-size: 16px;
  margin: 0;
  display: block;
  -webkit-transition: all 0.12s ease-in-out;
  transition: all 0.12s ease-in-out;
}
#page.products .products .container .block,
#single.products .products .container .block {
  width: 75px;
  text-align: center;
  display: table;
  margin: 0 auto 10px;
}
#page.products .products .container .block .align,
#single.products .products .container .block .align {
  height: 75px;
  display: table-cell;
  vertical-align: middle;
  background-color: #22242d;
  border-radius: 100%;
}
#page.products .products .container .block .align img,
#single.products .products .container .block .align img {
  top: 0;
  margin: 0 auto;
  display: block;
  position: relative;
  -webkit-transition: all 0.12s ease-in-out;
  transition: all 0.12s ease-in-out;
}

#page.systems,
#page.products,
#single.systems,
#single.products {
  padding-bottom: 0 !important;
}
#page.systems .container,
#page.products .container,
#single.systems .container,
#single.products .container {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0px;
}
#page.systems .container:after,
#page.products .container:after,
#single.systems .container:after,
#single.products .container:after {
  content: " ";
  display: block;
  clear: both;
}

#page.systems .container article,
#page.products .container article,
#single.systems .container article,
#single.products .container article {
  width: 65.38462%; 
  float: left;
  margin-right: 3.84615%;
}

@media all and (max-width: 1049.9375px) {
  #page.systems .container article,
  #page.products .container article,
  #single.systems .container article,
  #single.products .container article {
    width: 58.46154%;
    float: left;
    margin-right: 3.84615%;
  }
}
@media all and (max-width: 767.9375px) {
  #page.systems .container article,
  #page.products .container article,
  #single.systems .container article,
  #single.products .container article {
    width: 100%;
    margin-bottom: 50px;
  }
}
#page.systems .container article h1,
#page.products .container article h1,
#single.systems .container article h1,
#single.products .container article h1 {
  font-size: 27px;
  display: block;
  margin: 0 auto 20px;
}
#page.systems .container article h1 span,
#page.products .container article h1 span,
#single.systems .container article h1 span,
#single.products .container article h1 span {
  display: block;
}
#page.systems .container article h2,
#page.products .container article h2,
#single.systems .container article h2,
#single.products .container article h2 {
  font-size: 20px;
  font-weight: 400;
  text-transform: uppercase;
}
#page.systems .container article .tabs,
#page.products .container article .tabs,
#single.systems .container article .tabs,
#single.products .container article .tabs,
.container article .tabs {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 0 10px 0;
  margin-top: 45px;
  margin-bottom: 18px;
  border-bottom: 2px solid #e1e1e1;
}
#page.systems .container article .tabs:after,
#page.products .container article .tabs:after,
#single.systems .container article .tabs:after,
#single.products .container article .tabs:after,
.container article .tabs:after {
  content: " ";
  display: block;
  clear: both;
}
#page.systems .container article .tabs .tab,
#page.products .container article .tabs .tab,
#single.systems .container article .tabs .tab,
#single.products .container article .tabs .tab,
.container article .tabs .tab {
  cursor: pointer;
  float: left;
  padding: 0 14px 0 14px;
  border-right: 3px solid #e1e1e1;
  -webkit-transition: all 0.12s ease-in-out;
  transition: all 0.12s ease-in-out;
  height: 28.6px;
}
#page.systems .container article .tabs .tab:first-child,
#page.products .container article .tabs .tab:first-child,
#single.systems .container article .tabs .tab:first-child,
#single.products .container article .tabs .tab:first-child,
.container article .tabs .tab:first-child {
  padding: 0 14px 0 0;
}
#page.systems .container article .tabs .tab:last-child,
#page.products .container article .tabs .tab:last-child,
#single.systems .container article .tabs .tab:last-child,
#single.products .container article .tabs .tab:last-child, 
container article .tabs .tab:last-child {
  padding: 0 0 0 14px;
  border-right: none;
}
#page.systems .container article .tabs .tab:first-child:last-child,
#page.products .container article .tabs .tab:first-child:last-child,
#single.systems .container article .tabs .tab:first-child:last-child,
#single.products .container article .tabs .tab:first-child:last-child,
.container article .tabs .tab:first-child:last-child {
  padding: 0;
}
@media all and (max-width: 919.9375px) {
  #page.systems .container article .tabs .tab,
  #page.products .container article .tabs .tab,
  #single.systems .container article .tabs .tab,
  #single.products .container article .tabs .tab, 
  .container article .tabs .tab {
    width: 100%;
    padding: 15px !important;
    background: #e7e7e7;
  }
  #page.systems .container article .tabs .tab:not(:last-child),
  #page.products .container article .tabs .tab:not(:last-child),
  #single.systems .container article .tabs .tab:not(:last-child),
  #single.products .container article .tabs .tab:not(:last-child),
  .container article .tabs .tab:not(:last-child) {
    border: none;
    border-bottom: 1px solid #f3f3f3;
  }
  #page.systems .container article .tabs .tab h3,
  #page.products .container article .tabs .tab h3,
  #single.systems .container article .tabs .tab h3,
  #single.products .container article .tabs .tab h3,
  .container article .tabs .tab h3 {
    color: black;
  }
  #page.systems .container article .tabs .tab:hover,
  #page.products .container article .tabs .tab:hover,
  #single.systems .container article .tabs .tab:hover,
  #single.products .container article .tabs .tab:hover,
  .container article .tabs .tab:hover {
    background: #f3f3f3;
  }
}
@media all and (max-width: 767.9375px) {
  #page.systems .container article .tabs .tab,
  #page.products .container article .tabs .tab,
  #single.systems .container article .tabs .tab,
  #single.products .container article .tabs .tab,
  .container article .tabs .tab {
    padding: 10px 15px;
  }
}
#page.systems .container article .tabs .tab h3,
#page.products .container article .tabs .tab h3,
#single.systems .container article .tabs .tab h3,
#single.products .container article .tabs .tab h3,
.container article .tabs .tab h3 {
  color: #e1e1e1;
  font-size: 22px;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 0;
  -webkit-transition: all 0.12s ease-in-out;
  transition: all 0.12s ease-in-out;
}
#page.systems .container article .tabs .tab h3:hover,
#page.systems .container article .tabs .tab h3.selected,
#page.products .container article .tabs .tab h3:hover,
#page.products .container article .tabs .tab h3.selected,
#single.systems .container article .tabs .tab h3:hover,
#single.systems .container article .tabs .tab h3.selected,
#single.products .container article .tabs .tab h3:hover,
#single.products .container article .tabs .tab h3.selected,
.container article .tabs .tab h3:hover,
.container article .tabs .tab h3.selected {
  color: var(--tdt-accent-text);
}
@media all and (max-width: 1049.9375px) {
  #page.systems .container article .tabs .tab h3,
  #page.products .container article .tabs .tab h3,
  #single.systems .container article .tabs .tab h3,
  #single.products .container article .tabs .tab h3,
  .container article .tabs .tab h3 {
    font-size: 18px;
    letter-spacing: 0;
  }
}
@media all and (max-width: 919.9375px) {
  #page.systems .container article .tabs .tab h3,
  #page.products .container article .tabs .tab h3,
  #single.systems .container article .tabs .tab h3,
  #single.products .container article .tabs .tab h3,
  .container article .tabs .tab h3 {
    color: black;
    font-size: 22px;
    display: block;
  }
}
@media all and (max-width: 767.9375px) {
  #page.systems .container article .tabs .tab h3,
  #page.products .container article .tabs .tab h3,
  #single.systems .container article .tabs .tab h3,
  #single.products .container article .tabs .tab h3,
  .container article .tabs .tab h3 {
    font-size: 18px;
  }
}
#page.systems .container article .tabs .tab.selected h3,
#page.products .container article .tabs .tab.selected h3,
#single.systems .container article .tabs .tab.selected h3,
#single.products .container article .tabs .tab.selected h3,
.container article .tabs .tab.selected h3 {
  color: var(--tdt-accent-text);
  cursor: default;
}
#page.systems .container article .contents,
#page.products .container article .contents,
#single.systems .container article .contents,
#single.products .container article .contents {
  padding: 0 0 18px 0;
  margin: 0 auto 25px;
  border-bottom: 2px solid #e1e1e1;
}
#page.systems .container article .contents .content,
#page.products .container article .contents .content,
#single.systems .container article .contents .content,
#single.products .container article .contents .content {
  font-size: 18px;
  display: none;
}
#page.systems .container article .contents .content.default,
#page.products .container article .contents .content.default,
#single.systems .container article .contents .content.default,
#single.products .container article .contents .content.default {
  display: block;
}
#page.systems .container article .button,
#page.products .container article .button,
#single.systems .container article .button,
#single.products .container article .button {
  font-size: 20px;
}
/* Quote buttons: label, style and colours are set in
   Appearance > Customize > TDT Theme > Quote buttons (functions/customizer.php) */
.button.quote-btn {
  border: 2px solid var(--tdt-quote-bg, var(--tdt-accent));
  color: var(--tdt-quote-text, #1d2026);
  padding: 12px 28px;
}
.button.quote-btn--outline {
  background: transparent;
}
.button.quote-btn--filled {
  background: var(--tdt-quote-bg, var(--tdt-accent));
  color: var(--tdt-quote-text, var(--tdt-accent-on));
}
.button.quote-btn:hover,
.button.quote-btn:focus-visible {
  color: var(--tdt-quote-text, var(--tdt-quote-on, #fff));
  background: var(--tdt-quote-bg-hover, var(--tdt-accent-hover));
  border-color: var(--tdt-quote-bg-hover, var(--tdt-accent-hover));
}
/* :last-child: the button is the article's last paragraph, and the general
   p:last-child rule would remove its bottom margin (no gap before the next section) */
.quote-cta,
.quote-cta:last-child {
  text-align: center;
  margin: 30px 0 40px;
}
/* "Quote button" block in the flexible content (includes/flex.php) */
.flex.quote-button .container {
  max-width: 950px;
  margin: 0 auto;
  padding: 0 20px;
}
/* Product pages: quote button at the right of the breadcrumbs line
   (includes/breadcrumbs.php, $breadcrumbs_button); long trails wrap. */
.breadcrumbs--button .container {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 30px;
  justify-content: space-between;
}
.breadcrumbs--button .container:after {
  display: none;
}
.breadcrumbs--button .breadcrumbs__trail {
  flex: 1 1 300px;
}
.breadcrumbs--button .quote-bar {
  flex: 0 0 auto;
  margin-left: auto;
}
/* Undo the grey breadcrumb link style (.breadcrumbs .container a) on the button */
.breadcrumbs .container .quote-bar a.button.quote-btn {
  color: var(--tdt-quote-text, #1d2026);
  margin: 0;
}
.quote-bar .button.quote-btn {
  font-size: 16px;
  padding: 9px 22px;
}
@media all and (max-width: 767.9375px) {
  /* Phones: full-width buttons, smaller type so the label fits */
  .breadcrumbs--button .quote-bar {
    flex-basis: 100%;
  }
  .quote-cta .button.quote-btn,
  .quote-bar .button.quote-btn {
    display: block;
    text-align: center;
    font-size: 17px;
    padding: 13px 15px;
  }
}
#page.systems .container aside,
#page.products .container aside,
#single.systems .container aside,
#single.products .container aside {
  width: 30.76923%;
  float: right;
  margin-right: 0;
}

@media all and (max-width: 1049.9375px) {
  #page.systems .container aside,
  #page.products .container aside,
  #single.systems .container aside,
  #single.products .container aside {
    width: 37.69231%;
    float: right;
    margin-right: 0;
  }
}
@media all and (max-width: 767.9375px) {
  #page.systems .container aside,
  #page.products .container aside,
  #single.systems .container aside,
  #single.products .container aside {
    width: 100%;
  }
}
#page.systems .container aside img,
#page.products .container aside img,
#single.systems .container aside img,
#single.systems .container aside img {
  max-height: 100%;
  max-width: 100%;
}

#page.systems .container aside ul.product-images,
#page.products .container aside ul.product-images,
#single.systems .container aside ul.product-images,
#single.products .container aside ul.product-images {
  margin: 20px 0 0;
}


#page.systems .container aside ul.product-images li,
#page.products .container aside ul.product-images li,
#single.systems .container aside ul.product-images li,
#single.products .container aside ul.product-images li {
  width: 50%;
  float: left;
  padding: 5px;
}
#page.systems .container aside ul.product-images li:before,
#page.products .container aside ul.product-images li:before,
#single.systems .container aside ul.product-images li:before,
#single.products .container aside ul.product-images li:before {
  display: none;
}
#page.systems .container aside ul.product-images li img,
#page.products .container aside ul.product-images li img,
#single.systems .container aside ul.product-images li img,
#single.products .container aside ul.product-images li img {
  left: 50%;
  max-height: 200px;
  position: relative;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: auto;
}
#page.systems .container aside ul.product-images.slider-nav .slick-track,
#page.products .container aside ul.product-images.slider-nav .slick-track,
#single.systems .container aside ul.product-images.slider-nav .slick-track,
#single.products
  .container
  aside
  ul.product-images.slider-nav
  .slick-track {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#page.systems .container aside ul.product-images .slick-prev,
#page.systems .container aside ul.product-images .slick-next,
#page.products .container aside ul.product-images .slick-prev,
#page.products .container aside ul.product-images .slick-next,
#single.systems .container aside ul.product-images .slick-prev,
#single.systems .container aside ul.product-images .slick-next,
#single.products .container aside ul.product-images .slick-prev,
#single.products .container aside ul.product-images .slick-next {
  cursor: pointer;
  position: absolute;
  top: 30%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
#page.systems .container aside ul.product-images .slick-prev i.fas,
#page.systems .container aside ul.product-images .slick-next i.fas,
#page.products .container aside ul.product-images .slick-prev i.fas,
#page.products .container aside ul.product-images .slick-next i.fas,
#single.systems .container aside ul.product-images .slick-prev i.fas,
#single.systems .container aside ul.product-images .slick-next i.fas,
#single.products .container aside ul.product-images .slick-prev i.fas,
#single.products .container aside ul.product-images .slick-next i.fas {
  color: #acaeb0;
  font-size: 30px;
}
#page.systems .container aside ul.product-images .slick-prev,
#page.products .container aside ul.product-images .slick-prev,
#single.systems .container aside ul.product-images .slick-prev,
#single.products .container aside ul.product-images .slick-prev {
  left: -15px;
}
@media all and (max-width: 1099.9375px) {
  #page.systems .container aside ul.product-images .slick-prev,
  #page.products .container aside ul.product-images .slick-prev,
  #single.systems .container aside ul.product-images .slick-prev,
  #single.products .container aside ul.product-images .slick-prev {
    left: 0;
  }
}
#page.systems .container aside ul.product-images .slick-next,
#page.products .container aside ul.product-images .slick-next,
#single.systems .container aside ul.product-images .slick-next,
#single.products .container aside ul.product-images .slick-next {
  right: -35px;
}

@media all and (max-width: 1099.9375px) {
  #page.systems .container aside ul.product-images .slick-next,
  #page.products .container aside ul.product-images .slick-next,
  #single.systems .container aside ul.product-images .slick-next,
  #single.products .container aside ul.product-images .slick-next {
    right: 0;
  }
}
#page.systems .products,
#page.products .products,
#single.systems .products,
#single.products .products {
  width: 100%;
  margin: 60px auto 0;
  background: #f3f3f3;
}
#page.systems .products .container,
#page.products .products .container,
#single.systems .products .container,
#single.products .products .container {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
  padding: 45px 0;
}
#page.systems .products .container:after,
#page.products .products .container:after,
#single.systems .products .container:after,
#single.products .products .container:after {
  content: " ";
  display: block;
  clear: both;
}
@media all and (max-width: 969.9375px) {
  #page.systems .products .container,
  #page.products .products .container,
  #single.systems .products .container,
  #single.products .products .container {
    padding: 45px 20px;
  }
}
#page.systems .related .container h2,
#page.products .related .container h2,
#single.systems .related .container h2,
#single.products .related .container h2 {
  margin: 0 auto 25px;
}
#page.systems .related .container .product-slider,
#page.products .related .container .product-slider,
#single.systems .related .container .product-slider,
#single.products .related .container .product-slider {
  padding-left: 40px;
  position: relative;
}
#page.systems .related .container .product-slider .product,
#page.products .related .container .product-slider .product,
#single.systems .related .container .product-slider .product,
#single.products .related .container .product-slider .product {
  width: 22.85714%;
  float: left;
  margin-right: 2.85714%;
  text-align: center;
}
@media all and (max-width: 399.9375px) {
  #page.systems .related .container .product-slider .product,
  #page.products .related .container .product-slider .product,
  #single.systems .related .container .product-slider .product,
  #single.products .related .container .product-slider .product {
    margin-left: 47px;
  }
}
#page.systems .related .container .product-slider .product:last-child,
#page.products .related .container .product-slider .product:last-child,
#single.systems .related .container .product-slider .product:last-child,
#single.products
  .related
  .container
  .product-slider
  .product:last-child {
  float: right;
  margin-right: 0;
}
#page.systems .related .container .product-slider .product .image,
#page.products .related .container .product-slider .product .image,
#single.systems .related .container .product-slider .product .image,
#single.products .related .container .product-slider .product .image {
  width: 100%;
  height: 145px;
  display: block;
  margin: 0 auto 20px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
#page.systems .related .container .product-slider .product .content h4,
#page.products
  .related
  .container
  .product-slider
  .product
  .content
  h4,
#single.systems .related .container .product-slider .product .content h4,
#single.products
  .related
  .container
  .product-slider
  .product
  .content
  h4 {
  color: #22242d;
  font-size: 16px;
  font-family: Industry, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  display: inline-block;
  margin: 0 auto 8px;
  -webkit-transition: all 0.12s ease-in-out;
  transition: all 0.12s ease-in-out;
}
#page.systems
  .related
  .container
  .product-slider
  .product
  .content
  h4:hover,
#page.products
  .related
  .container
  .product-slider
  .product
  .content
  h4:hover,
#single.systems
  .related
  .container
  .product-slider
  .product
  .content
  h4:hover,
#single.products
  .related
  .container
  .product-slider
  .product
  .content
  h4:hover {
  color: var(--tdt-accent-text);
}
#page.systems .related .container .product-slider .slick-prev,
#page.systems .related .container .product-slider .slick-next,
#page.products .related .container .product-slider .slick-prev,
#page.products .related .container .product-slider .slick-next,
#single.systems .related .container .product-slider .slick-prev,
#single.systems .related .container .product-slider .slick-next,
#single.products .related .container .product-slider .slick-prev,
#single.products .related .container .product-slider .slick-next {
  cursor: pointer;
  position: absolute;
  top: 30%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
#page.systems .related .container .product-slider .slick-prev i.fas,
#page.systems .related .container .product-slider .slick-next i.fas,
#page.products .related .container .product-slider .slick-prev i.fas,
#page.products .related .container .product-slider .slick-next i.fas,
#single.systems .related .container .product-slider .slick-prev i.fas,
#single.systems .related .container .product-slider .slick-next i.fas,
#single.products .related .container .product-slider .slick-prev i.fas,
#single.products .related .container .product-slider .slick-next i.fas {
  color: #acaeb0;
  font-size: 40px;
}
#page.systems .related .container .product-slider .slick-prev,
#page.products .related .container .product-slider .slick-prev,
#single.systems .related .container .product-slider .slick-prev,
#single.products .related .container .product-slider .slick-prev {
  left: -15px;
}
@media all and (max-width: 1099.9375px) {
  #page.systems .related .container .product-slider .slick-prev,
  #page.products .related .container .product-slider .slick-prev,
  #single.systems .related .container .product-slider .slick-prev,
  #single.products .related .container .product-slider .slick-prev {
    left: 0;
  }
}
#page.systems .related .container .product-slider .slick-next,
#page.products .related .container .product-slider .slick-next,
#single.systems .related .container .product-slider .slick-next,
#single.products .related .container .product-slider .slick-next {
  right: -15px;
}
@media all and (max-width: 1099.9375px) {
  #page.systems .related .container .product-slider .slick-next,
  #page.products .related .container .product-slider .slick-next,
  #single.systems .related .container .product-slider .slick-next,
  #single.products .related .container .product-slider .slick-next {
    right: 0;
  }
}

#page.downloads,
#single.downloads {
  padding-bottom: 80px;
}
#page.downloads .container,
#single.downloads .container {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
}
#page.downloads .container:after,
#single.downloads .container:after {
  content: " ";
  display: block;
  clear: both;
}
@media all and (max-width: 1099.9375px) {
  #page.downloads .container,
  #single.downloads .container {
    padding: 0 20px;
  }
}
#page.downloads .container:first-of-type,
#single.downloads .container:first-of-type {
  margin-bottom: 20px;
}
#page.downloads .container:not(:first-of-type),
#single.downloads .container:not(:first-of-type) {
  margin-top: 60px;
}
#page.downloads .container article,
#single.downloads .container article {
  width: 74.28571%;
  float: left;
  margin-right: 2.85714%;
}
@media all and (max-width: 859.9375px) {
  #page.downloads .container article,
  #single.downloads .container article {
    width: 100%;
    margin-bottom: 0px;
  }
}
#page.downloads .container article h1,
#single.downloads .container article h1 {
  font-size: 27px;
  text-transform: uppercase;
  margin: 0 auto 20px;
}
@media all and (max-width: 859.9375px) {
  #page.downloads .container article h1,
  #single.downloads .container article h1 {
    margin-bottom: 0;
  }
}
#page.downloads .container aside,
#single.downloads .container aside {
  width: 22.85714%;
  float: right;
  margin-right: 0;
}
@media all and (max-width: 767.9375px) {
  #page.downloads .container aside,
  #single.downloads .container aside {
    width: 100%;
  }
}
#page.downloads .container aside a,
#single.downloads .container aside a {
  width: 100%;
  margin-top: 60px;
}
#page.downloads .row,
#single.downloads .row {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
  font-size: 16px;
  padding: 8px 0;
  border-bottom: 1px solid white;
}
#page.downloads .row:after,
#single.downloads .row:after {
  content: " ";
  display: block;
  clear: both;
}
@media all and (max-width: 1099.9375px) {
  #page.downloads .row,
  #single.downloads .row {
    padding: 8px 20px;
  }
}
@media all and (max-width: 859.9375px) {
  #page.downloads .row,
  #single.downloads .row {
    margin-bottom: 20px;
  }
}
#page.downloads .row div span,
#single.downloads .row div span {
  color: #22242d;
  display: none;
  font-size: 18px;
  font-family: Industry, sans-serif;
  text-transform: uppercase;
  letter-spacing: 1px;
}
@media all and (max-width: 859.9375px) {
  #page.downloads .row div span,
  #single.downloads .row div span {
    display: inline-block;
    min-width: 140px;
  }
}
#page.downloads .row div p,
#single.downloads .row div p {
  display: inline-block;
}
@media all and (max-width: 859.9375px) {
  #page.downloads .row .heading,
  #single.downloads .row .heading {
    display: none;
  }
}
#page.downloads .row .heading p,
#single.downloads .row .heading p {
  color: #22242d;
  font-size: 18px;
  font-family: Industry, sans-serif;
  text-transform: uppercase;
  letter-spacing: 1px;
}
#page.downloads .row .software,
#single.downloads .row .software {
  width: 23.94366%;
  float: left;
  margin-right: 1.40845%;
}
@media all and (max-width: 859.9375px) {
  #page.downloads .row .software,
  #single.downloads .row .software {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
}
#page.downloads .row .software a,
#single.downloads .row .software a {
  font-weight: bold;
}
#page.downloads .row .updated,
#single.downloads .row .updated {
  width: 10%;
  float: left;
  margin-right: 1.40845%;
}
@media all and (max-width: 859.9375px) {
  #page.downloads .row .updated,
  #single.downloads .row .updated {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
}
#page.downloads .row .version,
#single.downloads .row .version {
  width: 10%;
  float: left;
  margin-right: 1.40845%;
}
@media all and (max-width: 859.9375px) {
  #page.downloads .row .version,
  #single.downloads .row .version {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
}
#page.downloads .row .examples,
#single.downloads .row .examples {
  width: 10%;
  float: left;
  margin-right: 1.40845%;
}
@media all and (max-width: 859.9375px) {
  #page.downloads .row .examples,
  #single.downloads .row .examples {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
}
#page.downloads .row .examples a i.fa,
#single.downloads .row .examples a i.fa {
  font-size: 19px;
}
#page.downloads .row .notes,
#single.downloads .row .notes {
  width: 40.42254%;
  float: right;
  margin-right: 0;
}
@media all and (max-width: 859.9375px) {
  #page.downloads .row .notes,
  #single.downloads .row .notes {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
}

#page.manuals .container,
#single.manuals .container {
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
}
#page.manuals .container:after,
#single.manuals .container:after {
  content: " ";
  display: block;
  clear: both;
}
#page.manuals .container article,
#single.manuals .container article {
  width: 29.62963%;
  float: left;
  margin-left: 1.85185%;
  margin-right: 1.85185%;
  margin-bottom: 80px;
}
@media all and (max-width: 799.9375px) {
  #page.manuals .container article,
  #single.manuals .container article {
    width: 100%;
    margin-bottom: 30px;
  }
  #page.manuals .container article:last-child,
  #single.manuals .container article:last-child {
    margin-bottom: 0;
  }
}
#page.manuals .container article h1,
#single.manuals .container article h1 {
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 0 auto 10px;
}
#page.manuals .container article section,
#single.manuals .container article section {
  font-size: 16px;
}
#page.manuals .container article section:not(:last-child),
#single.manuals .container article section:not(:last-child) {
  margin: 0 auto 15px;
}
#page.manuals .container article section i,
#single.manuals .container article section i {
  color: #d2d2d2;
  display: inline-block;
  margin: 0 5px 0 0;
}
#page.manuals .container article section a.button,
#single.manuals .container article section a.button {
  margin: 20px auto 0;
}
#page.manuals .container article section time,
#single.manuals .container article section time {
  margin: 0 0 0 25px;
  display: block;
}

#archive .container,
#index .container,
#search .container,
#taxonomy .container {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
}
#archive .container:after,
#index .container:after,
#search .container:after,
#taxonomy .container:after {
  content: " ";
  display: block;
  clear: both;
}
#archive .container .search_term,
#index .container .search_term,
#search .container .search_term,
#taxonomy .container .search_term {
  margin-bottom: 30px;
}

#archive.systems,
#archive.products,
#index.systems,
#index.products,
#search.systems,
#search.products,
#taxonomy.systems,
#taxonomy.products {
  padding: 0;
  margin-bottom: 0px;
}
#archive.systems .heading,
#archive.products .heading,
#index.systems .heading,
#index.products .heading,
#search.systems .heading,
#search.products .heading,
#taxonomy.systems .heading,
#taxonomy.products .heading {
  background-image: url("../images/tint-bg.jpg");
  background-repeat: no-repeat;
  background-position: center right;
  background-size: cover;
}
@media all and (max-width: 949.9375px) {
  #archive.systems .heading,
  #archive.products .heading,
  #index.systems .heading,
  #index.products .heading,
  #search.systems .heading,
  #search.products .heading,
  #taxonomy.systems .heading,
  #taxonomy.products .heading {
    background-image: none;
  }
}
#archive.systems .heading .container,
#archive.products .heading .container,
#index.systems .heading .container,
#index.products .heading .container,
#search.systems .heading .container,
#search.products .heading .container,
#taxonomy.systems .heading .container,
#taxonomy.products .heading .container {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
  padding: 60px 0;
}
#archive.systems .heading .container:after,
#archive.products .heading .container:after,
#index.systems .heading .container:after,
#index.products .heading .container:after,
#search.systems .heading .container:after,
#search.products .heading .container:after,
#taxonomy.systems .heading .container:after,
#taxonomy.products .heading .container:after {
  content: " ";
  display: block;
  clear: both;
}
@media all and (max-width: 969.9375px) {
  #archive.systems .heading .container,
  #archive.products .heading .container,
  #index.systems .heading .container,
  #index.products .heading .container,
  #search.systems .heading .container,
  #search.products .heading .container,
  #taxonomy.systems .heading .container,
  #taxonomy.products .heading .container {
    padding: 60px 20px;
  }
}
#archive.systems .heading .container .block,
#archive.products .heading .container .block,
#index.systems .heading .container .block,
#index.products .heading .container .block,
#search.systems .heading .container .block,
#search.products .heading .container .block,
#taxonomy.systems .heading .container .block,
#taxonomy.products .heading .container .block {
  width: 100%;
  text-align: center;
  margin: 0 auto;
}
#archive.systems .heading .container .block .circle,
#archive.products .heading .container .block .circle,
#index.systems .heading .container .block .circle,
#index.products .heading .container .block .circle,
#search.systems .heading .container .block .circle,
#search.products .heading .container .block .circle,
#taxonomy.systems .heading .container .block .circle,
#taxonomy.products .heading .container .block .circle {
  width: 100px !important;
  height: 100px !important;
  display: table;
  margin: 0 auto;
  border-radius: 100%;
}
#archive.systems .heading .container .block .circle.product,
#archive.products .heading .container .block .circle.product,
#index.systems .heading .container .block .circle.product,
#index.products .heading .container .block .circle.product,
#search.systems .heading .container .block .circle.product,
#search.products .heading .container .block .circle.product,
#taxonomy.systems .heading .container .block .circle.product,
#taxonomy.products .heading .container .block .circle.product {
  background: #22242d;
}
#archive.systems .heading .container .block .circle .align,
#archive.products .heading .container .block .circle .align,
#index.systems .heading .container .block .circle .align,
#index.products .heading .container .block .circle .align,
#search.systems .heading .container .block .circle .align,
#search.products .heading .container .block .circle .align,
#taxonomy.systems .heading .container .block .circle .align,
#taxonomy.products .heading .container .block .circle .align {
  display: table-cell;
  vertical-align: middle;
  height: 100px;
  width: 100px;
  padding: 20px;
}
#archive.systems .heading .container .block .circle .align img,
#archive.products .heading .container .block .circle .align img,
#index.systems .heading .container .block .circle .align img,
#index.products .heading .container .block .circle .align img,
#search.systems .heading .container .block .circle .align img,
#search.products .heading .container .block .circle .align img,
#taxonomy.systems .heading .container .block .circle .align img,
#taxonomy.products .heading .container .block .circle .align img {
  top: 4px;
  position: relative;
}
#archive.systems .heading .container .block h1,
#archive.products .heading .container .block h1,
#index.systems .heading .container .block h1,
#index.products .heading .container .block h1,
#search.systems .heading .container .block h1,
#search.products .heading .container .block h1,
#taxonomy.systems .heading .container .block h1,
#taxonomy.products .heading .container .block h1 {
  font-size: 35px;
  margin: 20px auto 15px;
}
@media all and (max-width: 479.9375px) {
  #archive.systems .heading .container .block h1,
  #archive.products .heading .container .block h1,
  #index.systems .heading .container .block h1,
  #index.products .heading .container .block h1,
  #search.systems .heading .container .block h1,
  #search.products .heading .container .block h1,
  #taxonomy.systems .heading .container .block h1,
  #taxonomy.products .heading .container .block h1 {
    font-size: 27px;
  }
}
#archive.systems .heading .container .block p,
#archive.products .heading .container .block p,
#index.systems .heading .container .block p,
#index.products .heading .container .block p,
#search.systems .heading .container .block p,
#search.products .heading .container .block p,
#taxonomy.systems .heading .container .block p,
#taxonomy.products .heading .container .block p {
  font-size: 20px;
  font-family: Industry, sans-serif;
  text-transform: uppercase;
  margin: 0;
}
@media all and (max-width: 479.9375px) {
  #archive.systems .heading .container .block p,
  #archive.products .heading .container .block p,
  #index.systems .heading .container .block p,
  #index.products .heading .container .block p,
  #search.systems .heading .container .block p,
  #search.products .heading .container .block p,
  #taxonomy.systems .heading .container .block p,
  #taxonomy.products .heading .container .block p {
    font-size: 16px;
  }
}
#archive.systems .channels,
#archive.products .channels,
#index.systems .channels,
#index.products .channels,
#search.systems .channels,
#search.products .channels,
#taxonomy.systems .channels,
#taxonomy.products .channels {
  width: 100%;
  margin-bottom: 50px;
  background: #f3f3f3;
}
@media all and (max-width: 639.9375px) {
  #archive.systems .channels,
  #archive.products .channels,
  #index.systems .channels,
  #index.products .channels,
  #search.systems .channels,
  #search.products .channels,
  #taxonomy.systems .channels,
  #taxonomy.products .channels {
    margin-bottom: 0;
  }
}
#archive.systems .channels .container,
#archive.products .channels .container,
#index.systems .channels .container,
#index.products .channels .container,
#search.systems .channels .container,
#search.products .channels .container,
#taxonomy.systems .channels .container,
#taxonomy.products .channels .container {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
  padding: 45px 0;
}
#archive.systems .channels .container:after,
#archive.products .channels .container:after,
#index.systems .channels .container:after,
#index.products .channels .container:after,
#search.systems .channels .container:after,
#search.products .channels .container:after,
#taxonomy.systems .channels .container:after,
#taxonomy.products .channels .container:after {
  content: " ";
  display: block;
  clear: both;
}
@media all and (max-width: 969.9375px) {
  #archive.systems .channels .container,
  #archive.products .channels .container,
  #index.systems .channels .container,
  #index.products .channels .container,
  #search.systems .channels .container,
  #search.products .channels .container,
  #taxonomy.systems .channels .container,
  #taxonomy.products .channels .container {
    padding: 45px 40px;
  }
}
#archive.systems .channels .container .product-slider,
#archive.products .channels .container .product-slider,
#index.systems .channels .container .product-slider,
#index.products .channels .container .product-slider,
#search.systems .channels .container .product-slider,
#search.products .channels .container .product-slider,
#taxonomy.systems .channels .container .product-slider,
#taxonomy.products .channels .container .product-slider {
  padding-left: 40px;
  position: relative;
}
#archive.systems .channels .container .product-slider .product,
#archive.products .channels .container .product-slider .product,
#index.systems .channels .container .product-slider .product,
#index.products .channels .container .product-slider .product,
#search.systems .channels .container .product-slider .product,
#search.products .channels .container .product-slider .product,
#taxonomy.systems .channels .container .product-slider .product,
#taxonomy.products .channels .container .product-slider .product {
  width: 22.85714%;
  float: left;
  margin-right: 2.85714%;
  text-align: center;
}
#archive.systems .channels .container .product-slider .product:last-child,
#archive.products
  .channels
  .container
  .product-slider
  .product:last-child,
#index.systems .channels .container .product-slider .product:last-child,
#index.products .channels .container .product-slider .product:last-child,
#search.systems .channels .container .product-slider .product:last-child,
#search.products .channels .container .product-slider .product:last-child,
#taxonomy.systems .channels .container .product-slider .product:last-child,
#taxonomy.products
  .channels
  .container
  .product-slider
  .product:last-child {
  float: right;
  margin-right: 0;
}
#archive.systems .channels .container .product-slider .product .image,
#archive.products .channels .container .product-slider .product .image,
#index.systems .channels .container .product-slider .product .image,
#index.products .channels .container .product-slider .product .image,
#search.systems .channels .container .product-slider .product .image,
#search.products .channels .container .product-slider .product .image,
#taxonomy.systems .channels .container .product-slider .product .image,
#taxonomy.products .channels .container .product-slider .product .image {
  width: 100%;
  height: 145px;
  display: block;
  margin: 0 auto 20px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
#archive.systems .channels .container .product-slider .product .content h4,
#archive.products
  .channels
  .container
  .product-slider
  .product
  .content
  h4,
#index.systems .channels .container .product-slider .product .content h4,
#index.products .channels .container .product-slider .product .content h4,
#search.systems .channels .container .product-slider .product .content h4,
#search.products
  .channels
  .container
  .product-slider
  .product
  .content
  h4,
#taxonomy.systems .channels .container .product-slider .product .content h4,
#taxonomy.products
  .channels
  .container
  .product-slider
  .product
  .content
  h4 {
  color: #22242d;
  font-size: 16px;
  font-family: Industry, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  display: inline-block;
  margin: 0 auto 8px;
  -webkit-transition: all 0.12s ease-in-out;
  transition: all 0.12s ease-in-out;
}
#archive.systems
  .channels
  .container
  .product-slider
  .product
  .content
  h4:hover,
#archive.products
  .channels
  .container
  .product-slider
  .product
  .content
  h4:hover,
#index.systems
  .channels
  .container
  .product-slider
  .product
  .content
  h4:hover,
#index.products
  .channels
  .container
  .product-slider
  .product
  .content
  h4:hover,
#search.systems
  .channels
  .container
  .product-slider
  .product
  .content
  h4:hover,
#search.products
  .channels
  .container
  .product-slider
  .product
  .content
  h4:hover,
#taxonomy.systems
  .channels
  .container
  .product-slider
  .product
  .content
  h4:hover,
#taxonomy.products
  .channels
  .container
  .product-slider
  .product
  .content
  h4:hover {
  color: var(--tdt-accent-text);
}
#archive.systems .channels .container .product-slider .slick-prev,
#archive.systems .channels .container .product-slider .slick-next,
#archive.products .channels .container .product-slider .slick-prev,
#archive.products .channels .container .product-slider .slick-next,
#index.systems .channels .container .product-slider .slick-prev,
#index.systems .channels .container .product-slider .slick-next,
#index.products .channels .container .product-slider .slick-prev,
#index.products .channels .container .product-slider .slick-next,
#search.systems .channels .container .product-slider .slick-prev,
#search.systems .channels .container .product-slider .slick-next,
#search.products .channels .container .product-slider .slick-prev,
#search.products .channels .container .product-slider .slick-next,
#taxonomy.systems .channels .container .product-slider .slick-prev,
#taxonomy.systems .channels .container .product-slider .slick-next,
#taxonomy.products .channels .container .product-slider .slick-prev,
#taxonomy.products .channels .container .product-slider .slick-next {
  cursor: pointer;
  position: absolute;
  top: 30%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
#archive.systems .channels .container .product-slider .slick-prev i.fal,
#archive.systems .channels .container .product-slider .slick-next i.fal,
#archive.products .channels .container .product-slider .slick-prev i.fal,
#archive.products .channels .container .product-slider .slick-next i.fal,
#index.systems .channels .container .product-slider .slick-prev i.fal,
#index.systems .channels .container .product-slider .slick-next i.fal,
#index.products .channels .container .product-slider .slick-prev i.fal,
#index.products .channels .container .product-slider .slick-next i.fal,
#search.systems .channels .container .product-slider .slick-prev i.fal,
#search.systems .channels .container .product-slider .slick-next i.fal,
#search.products .channels .container .product-slider .slick-prev i.fal,
#search.products .channels .container .product-slider .slick-next i.fal,
#taxonomy.systems .channels .container .product-slider .slick-prev i.fal,
#taxonomy.systems .channels .container .product-slider .slick-next i.fal,
#taxonomy.products .channels .container .product-slider .slick-prev i.fal,
#taxonomy.products .channels .container .product-slider .slick-next i.fal {
  color: #acaeb0;
  font-size: 40px;
}
#archive.systems .channels .container .product-slider .slick-prev,
#archive.products .channels .container .product-slider .slick-prev,
#index.systems .channels .container .product-slider .slick-prev,
#index.products .channels .container .product-slider .slick-prev,
#search.systems .channels .container .product-slider .slick-prev,
#search.products .channels .container .product-slider .slick-prev,
#taxonomy.systems .channels .container .product-slider .slick-prev,
#taxonomy.products .channels .container .product-slider .slick-prev {
  left: -15px;
}
@media all and (max-width: 1099.9375px) {
  #archive.systems .channels .container .product-slider .slick-prev,
  #archive.products .channels .container .product-slider .slick-prev,
  #index.systems .channels .container .product-slider .slick-prev,
  #index.products .channels .container .product-slider .slick-prev,
  #search.systems .channels .container .product-slider .slick-prev,
  #search.products .channels .container .product-slider .slick-prev,
  #taxonomy.systems .channels .container .product-slider .slick-prev,
  #taxonomy.products .channels .container .product-slider .slick-prev {
    left: 0;
  }
}
#archive.systems .channels .container .product-slider .slick-next,
#archive.products .channels .container .product-slider .slick-next,
#index.systems .channels .container .product-slider .slick-next,
#index.products .channels .container .product-slider .slick-next,
#search.systems .channels .container .product-slider .slick-next,
#search.products .channels .container .product-slider .slick-next,
#taxonomy.systems .channels .container .product-slider .slick-next,
#taxonomy.products .channels .container .product-slider .slick-next {
  right: -15px;
}
@media all and (max-width: 1099.9375px) {
  #archive.systems .channels .container .product-slider .slick-next,
  #archive.products .channels .container .product-slider .slick-next,
  #index.systems .channels .container .product-slider .slick-next,
  #index.products .channels .container .product-slider .slick-next,
  #search.systems .channels .container .product-slider .slick-next,
  #search.products .channels .container .product-slider .slick-next,
  #taxonomy.systems .channels .container .product-slider .slick-next,
  #taxonomy.products .channels .container .product-slider .slick-next {
    right: 0;
  }
}
#archive.systems .channels .container .channel-slider .channel,
#archive.products .channels .container .channel-slider .channel,
#index.systems .channels .container .channel-slider .channel,
#index.products .channels .container .channel-slider .channel,
#search.systems .channels .container .channel-slider .channel,
#search.products .channels .container .channel-slider .channel,
#taxonomy.systems .channels .container .channel-slider .channel,
#taxonomy.products .channels .container .channel-slider .channel {
  width: 22.85714%;
  float: left;
  margin-right: 2.85714%;
  text-align: center;
  margin-right: 60px !important;
}
@media all and (max-width: 399.9375px) {
  #archive.systems .channels .container .channel-slider .channel,
  #archive.products .channels .container .channel-slider .channel,
  #index.systems .channels .container .channel-slider .channel,
  #index.products .channels .container .channel-slider .channel,
  #search.systems .channels .container .channel-slider .channel,
  #search.products .channels .container .channel-slider .channel,
  #taxonomy.systems .channels .container .channel-slider .channel,
  #taxonomy.products .channels .container .channel-slider .channel {
    margin-left: 50px;
  }
}
#archive.systems .channels .container .channel-slider .channel:last-child,
#archive.products .channels .container .channel-slider .channel:last-child,
#index.systems .channels .container .channel-slider .channel:last-child,
#index.products .channels .container .channel-slider .channel:last-child,
#search.systems .channels .container .channel-slider .channel:last-child,
#search.products .channels .container .channel-slider .channel:last-child,
#taxonomy.systems .channels .container .channel-slider .channel:last-child,
#taxonomy.products .channels .container .channel-slider .channel:last-child {
  float: right;
  margin-right: 0;
}
#archive.systems .channels .container .channel-slider .channel .image,
#archive.products .channels .container .channel-slider .channel .image,
#index.systems .channels .container .channel-slider .channel .image,
#index.products .channels .container .channel-slider .channel .image,
#search.systems .channels .container .channel-slider .channel .image,
#search.products .channels .container .channel-slider .channel .image,
#taxonomy.systems .channels .container .channel-slider .channel .image,
#taxonomy.products .channels .container .channel-slider .channel .image {
  width: 100%;
  height: 145px;
  display: block;
  margin: 0 auto 20px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
#archive.systems .channels .container .channel-slider .channel .content a,
#archive.products .channels .container .channel-slider .channel .content a,
#index.systems .channels .container .channel-slider .channel .content a,
#index.products .channels .container .channel-slider .channel .content a,
#search.systems .channels .container .channel-slider .channel .content a,
#search.products .channels .container .channel-slider .channel .content a,
#taxonomy.systems .channels .container .channel-slider .channel .content a,
#taxonomy.products .channels .container .channel-slider .channel .content a {
  color: #22242d;
  font-size: 16px;
  font-family: Industry, sans-serif;
  text-transform: uppercase;
  display: inline-block;
  margin: 0 auto 8px;
  -webkit-transition: all 0.12s ease-in-out;
  transition: all 0.12s ease-in-out;
}
#archive.systems .channels .container .channel-slider .channel .content a:hover,
#archive.products
  .channels
  .container
  .channel-slider
  .channel
  .content
  a:hover,
#index.systems .channels .container .channel-slider .channel .content a:hover,
#index.products
  .channels
  .container
  .channel-slider
  .channel
  .content
  a:hover,
#search.systems .channels .container .channel-slider .channel .content a:hover,
#search.products
  .channels
  .container
  .channel-slider
  .channel
  .content
  a:hover,
#taxonomy.systems
  .channels
  .container
  .channel-slider
  .channel
  .content
  a:hover,
#taxonomy.products
  .channels
  .container
  .channel-slider
  .channel
  .content
  a:hover {
  color: var(--tdt-accent-text);
}
#archive.systems .channels .container .channel-slider .channel .content p,
#archive.products .channels .container .channel-slider .channel .content p,
#index.systems .channels .container .channel-slider .channel .content p,
#index.products .channels .container .channel-slider .channel .content p,
#search.systems .channels .container .channel-slider .channel .content p,
#search.products .channels .container .channel-slider .channel .content p,
#taxonomy.systems .channels .container .channel-slider .channel .content p,
#taxonomy.products .channels .container .channel-slider .channel .content p {
  font-size: 12px;
  margin: 0;
}
#archive.systems .channels .container .channel-slider .slick-prev,
#archive.systems .channels .container .channel-slider .slick-next,
#archive.products .channels .container .channel-slider .slick-prev,
#archive.products .channels .container .channel-slider .slick-next,
#index.systems .channels .container .channel-slider .slick-prev,
#index.systems .channels .container .channel-slider .slick-next,
#index.products .channels .container .channel-slider .slick-prev,
#index.products .channels .container .channel-slider .slick-next,
#search.systems .channels .container .channel-slider .slick-prev,
#search.systems .channels .container .channel-slider .slick-next,
#search.products .channels .container .channel-slider .slick-prev,
#search.products .channels .container .channel-slider .slick-next,
#taxonomy.systems .channels .container .channel-slider .slick-prev,
#taxonomy.systems .channels .container .channel-slider .slick-next,
#taxonomy.products .channels .container .channel-slider .slick-prev,
#taxonomy.products .channels .container .channel-slider .slick-next {
  cursor: pointer;
  position: absolute;
  top: 30%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
#archive.systems .channels .container .channel-slider .slick-prev i.fal,
#archive.systems .channels .container .channel-slider .slick-next i.fal,
#archive.products .channels .container .channel-slider .slick-prev i.fal,
#archive.products .channels .container .channel-slider .slick-next i.fal,
#index.systems .channels .container .channel-slider .slick-prev i.fal,
#index.systems .channels .container .channel-slider .slick-next i.fal,
#index.products .channels .container .channel-slider .slick-prev i.fal,
#index.products .channels .container .channel-slider .slick-next i.fal,
#search.systems .channels .container .channel-slider .slick-prev i.fal,
#search.systems .channels .container .channel-slider .slick-next i.fal,
#search.products .channels .container .channel-slider .slick-prev i.fal,
#search.products .channels .container .channel-slider .slick-next i.fal,
#taxonomy.systems .channels .container .channel-slider .slick-prev i.fal,
#taxonomy.systems .channels .container .channel-slider .slick-next i.fal,
#taxonomy.products .channels .container .channel-slider .slick-prev i.fal,
#taxonomy.products .channels .container .channel-slider .slick-next i.fal {
  color: #acaeb0;
  font-size: 40px;
}
#archive.systems .channels .container .channel-slider .slick-prev,
#archive.products .channels .container .channel-slider .slick-prev,
#index.systems .channels .container .channel-slider .slick-prev,
#index.products .channels .container .channel-slider .slick-prev,
#search.systems .channels .container .channel-slider .slick-prev,
#search.products .channels .container .channel-slider .slick-prev,
#taxonomy.systems .channels .container .channel-slider .slick-prev,
#taxonomy.products .channels .container .channel-slider .slick-prev {
  left: -15px;
}
@media all and (max-width: 1099.9375px) {
  #archive.systems .channels .container .channel-slider .slick-prev,
  #archive.products .channels .container .channel-slider .slick-prev,
  #index.systems .channels .container .channel-slider .slick-prev,
  #index.products .channels .container .channel-slider .slick-prev,
  #search.systems .channels .container .channel-slider .slick-prev,
  #search.products .channels .container .channel-slider .slick-prev,
  #taxonomy.systems .channels .container .channel-slider .slick-prev,
  #taxonomy.products .channels .container .channel-slider .slick-prev {
    left: 0;
  }
}
#archive.systems .channels .container .channel-slider .slick-next,
#archive.products .channels .container .channel-slider .slick-next,
#index.systems .channels .container .channel-slider .slick-next,
#index.products .channels .container .channel-slider .slick-next,
#search.systems .channels .container .channel-slider .slick-next,
#search.products .channels .container .channel-slider .slick-next,
#taxonomy.systems .channels .container .channel-slider .slick-next,
#taxonomy.products .channels .container .channel-slider .slick-next {
  right: -15px;
}
@media all and (max-width: 1099.9375px) {
  #archive.systems .channels .container .channel-slider .slick-next,
  #archive.products .channels .container .channel-slider .slick-next,
  #index.systems .channels .container .channel-slider .slick-next,
  #index.products .channels .container .channel-slider .slick-next,
  #search.systems .channels .container .channel-slider .slick-next,
  #search.products .channels .container .channel-slider .slick-next,
  #taxonomy.systems .channels .container .channel-slider .slick-next,
  #taxonomy.products .channels .container .channel-slider .slick-next {
    right: 0;
  }
}
#archive.systems .explore,
#archive.products .explore,
#index.systems .explore,
#index.products .explore,
#search.systems .explore,
#search.products .explore,
#taxonomy.systems .explore,
#taxonomy.products .explore {
  width: 100%;
  background: #f3f3f3;
}
#archive.systems .explore .container,
#archive.products .explore .container,
#index.systems .explore .container,
#index.products .explore .container,
#search.systems .explore .container,
#search.products .explore .container,
#taxonomy.systems .explore .container,
#taxonomy.products .explore .container {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
  padding: 45px 0;
}
#archive.systems .explore .container:after,
#archive.products .explore .container:after,
#index.systems .explore .container:after,
#index.products .explore .container:after,
#search.systems .explore .container:after,
#search.products .explore .container:after,
#taxonomy.systems .explore .container:after,
#taxonomy.products .explore .container:after {
  content: " ";
  display: block;
  clear: both;
}
@media all and (max-width: 969.9375px) {
  #archive.systems .explore .container,
  #archive.products .explore .container,
  #index.systems .explore .container,
  #index.products .explore .container,
  #search.systems .explore .container,
  #search.products .explore .container,
  #taxonomy.systems .explore .container,
  #taxonomy.products .explore .container {
    padding: 45px 20px;
  }
}
#archive.systems .explore .container .full,
#archive.products .explore .container .full,
#index.systems .explore .container .full,
#index.products .explore .container .full,
#search.systems .explore .container .full,
#search.products .explore .container .full,
#taxonomy.systems .explore .container .full,
#taxonomy.products .explore .container .full {
  width: 100%;
  text-align: center;
  margin: 0 auto 30px;
}
#archive.systems .explore .container .full h2,
#archive.products .explore .container .full h2,
#index.systems .explore .container .full h2,
#index.products .explore .container .full h2,
#search.systems .explore .container .full h2,
#search.products .explore .container .full h2,
#taxonomy.systems .explore .container .full h2,
#taxonomy.products .explore .container .full h2 {
  color: #22242d;
  font-family: Industry, sans-serif;
  text-transform: uppercase;
}
#archive.systems .explore .container a,
#archive.products .explore .container a,
#index.systems .explore .container a,
#index.products .explore .container a,
#search.systems .explore .container a,
#search.products .explore .container a,
#taxonomy.systems .explore .container a,
#taxonomy.products .explore .container a {
  width: 32.3006%;
  float: left;
  margin-right: 1.49254%;
}
#archive.systems .explore .container a:last-child,
#archive.products .explore .container a:last-child,
#index.systems .explore .container a:last-child,
#index.products .explore .container a:last-child,
#search.systems .explore .container a:last-child,
#search.products .explore .container a:last-child,
#taxonomy.systems .explore .container a:last-child,
#taxonomy.products .explore .container a:last-child {
  float: right;
  margin-right: 0;
}
@media all and (max-width: 969.9375px) {
  #archive.systems .explore .container a,
  #archive.products .explore .container a,
  #index.systems .explore .container a,
  #index.products .explore .container a,
  #search.systems .explore .container a,
  #search.products .explore .container a,
  #taxonomy.systems .explore .container a,
  #taxonomy.products .explore .container a {
    width: 48.57143%;
    float: left;
    margin-right: 2.85714%;
  }
  #archive.systems .explore .container a:nth-child(1),
  #archive.systems .explore .container a:nth-child(2),
  #archive.products .explore .container a:nth-child(1),
  #archive.products .explore .container a:nth-child(2),
  #index.systems .explore .container a:nth-child(1),
  #index.systems .explore .container a:nth-child(2),
  #index.products .explore .container a:nth-child(1),
  #index.products .explore .container a:nth-child(2),
  #search.systems .explore .container a:nth-child(1),
  #search.systems .explore .container a:nth-child(2),
  #search.products .explore .container a:nth-child(1),
  #search.products .explore .container a:nth-child(2),
  #taxonomy.systems .explore .container a:nth-child(1),
  #taxonomy.systems .explore .container a:nth-child(2),
  #taxonomy.products .explore .container a:nth-child(1),
  #taxonomy.products .explore .container a:nth-child(2) {
    margin-bottom: 30px;
  }
  #archive.systems .explore .container a:nth-child(odd),
  #archive.products .explore .container a:nth-child(odd),
  #index.systems .explore .container a:nth-child(odd),
  #index.products .explore .container a:nth-child(odd),
  #search.systems .explore .container a:nth-child(odd),
  #search.products .explore .container a:nth-child(odd),
  #taxonomy.systems .explore .container a:nth-child(odd),
  #taxonomy.products .explore .container a:nth-child(odd) {
    width: 48.57143%;
    float: right;
    margin-right: 0;
  }
}
@media all and (max-width: 479.9375px) {
  #archive.systems .explore .container a,
  #archive.products .explore .container a,
  #index.systems .explore .container a,
  #index.products .explore .container a,
  #search.systems .explore .container a,
  #search.products .explore .container a,
  #taxonomy.systems .explore .container a,
  #taxonomy.products .explore .container a {
    width: 100% !important;
  }
  #archive.systems .explore .container a:not(:last-of-type),
  #archive.products .explore .container a:not(:last-of-type),
  #index.systems .explore .container a:not(:last-of-type),
  #index.products .explore .container a:not(:last-of-type),
  #search.systems .explore .container a:not(:last-of-type),
  #search.products .explore .container a:not(:last-of-type),
  #taxonomy.systems .explore .container a:not(:last-of-type),
  #taxonomy.products .explore .container a:not(:last-of-type) {
    margin-bottom: 15px;
  }
}
#archive.systems .explore .container .block,
#archive.products .explore .container .block,
#index.systems .explore .container .block,
#index.products .explore .container .block,
#search.systems .explore .container .block,
#search.products .explore .container .block,
#taxonomy.systems .explore .container .block,
#taxonomy.products .explore .container .block {
  width: 100%;
  display: table;
}
#archive.systems .explore .container .block .align,
#archive.products .explore .container .block .align,
#index.systems .explore .container .block .align,
#index.products .explore .container .block .align,
#search.systems .explore .container .block .align,
#search.products .explore .container .block .align,
#taxonomy.systems .explore .container .block .align,
#taxonomy.products .explore .container .block .align {
  text-align: center;
  padding: 20px;
  display: table-cell;
  vertical-align: middle;
}
#archive.systems .explore .container .block .align img,
#archive.products .explore .container .block .align img,
#index.systems .explore .container .block .align img,
#index.products .explore .container .block .align img,
#search.systems .explore .container .block .align img,
#search.products .explore .container .block .align img,
#taxonomy.systems .explore .container .block .align img,
#taxonomy.products .explore .container .block .align img {
  height: 55px;
  top: 0;
  margin: 0 auto 8px;
  display: block;
  position: relative;
  -webkit-transition: all 0.12s ease-in-out;
  transition: all 0.12s ease-in-out;
}
#archive.systems .explore .container .block .align h3,
#archive.products .explore .container .block .align h3,
#index.systems .explore .container .block .align h3,
#index.products .explore .container .block .align h3,
#search.systems .explore .container .block .align h3,
#search.products .explore .container .block .align h3,
#taxonomy.systems .explore .container .block .align h3,
#taxonomy.products .explore .container .block .align h3 {
  color: white;
  font-size: 16px;
  margin: 0;
}
#archive.systems .explore .container .block .align:hover img,
#archive.products .explore .container .block .align:hover img,
#index.systems .explore .container .block .align:hover img,
#index.products .explore .container .block .align:hover img,
#search.systems .explore .container .block .align:hover img,
#search.products .explore .container .block .align:hover img,
#taxonomy.systems .explore .container .block .align:hover img,
#taxonomy.products .explore .container .block .align:hover img {
  top: -5px;
}
#archive.systems .feat-comp,
#archive.products .feat-comp,
#index.systems .feat-comp,
#index.products .feat-comp,
#search.systems .feat-comp,
#search.products .feat-comp,
#taxonomy.systems .feat-comp,
#taxonomy.products .feat-comp {
  padding: 0 40px;
}
@media all and (max-width: 768.9375px) {
  #archive.systems .feat-comp,
  #archive.products .feat-comp,
  #index.systems .feat-comp,
  #index.products .feat-comp,
  #search.systems .feat-comp,
  #search.products .feat-comp,
  #taxonomy.systems .feat-comp,
  #taxonomy.products .feat-comp {
    padding: 0 20px;
  }
}
#archive.systems .feat-comp .container,
#archive.products .feat-comp .container,
#index.systems .feat-comp .container,
#index.products .feat-comp .container,
#search.systems .feat-comp .container,
#search.products .feat-comp .container,
#taxonomy.systems .feat-comp .container,
#taxonomy.products .feat-comp .container {
  padding: 20px 0 100px;
}
@media all and (max-width: 639.9375px) {
  #archive.systems .feat-comp .container,
  #archive.products .feat-comp .container,
  #index.systems .feat-comp .container,
  #index.products .feat-comp .container,
  #search.systems .feat-comp .container,
  #search.products .feat-comp .container,
  #taxonomy.systems .feat-comp .container,
  #taxonomy.products .feat-comp .container {
    padding-top: 60px;
  }
}
#archive.systems .feat-comp .container .feat-comp-slider,
#archive.products .feat-comp .container .feat-comp-slider,
#index.systems .feat-comp .container .feat-comp-slider,
#index.products .feat-comp .container .feat-comp-slider,
#search.systems .feat-comp .container .feat-comp-slider,
#search.products .feat-comp .container .feat-comp-slider,
#taxonomy.systems .feat-comp .container .feat-comp-slider,
#taxonomy.products .feat-comp .container .feat-comp-slider {
  position: relative;
}
#archive.systems .feat-comp .container .feat-comp-slider .slick-next,
#archive.systems .feat-comp .container .feat-comp-slider .slick-prev,
#archive.products .feat-comp .container .feat-comp-slider .slick-next,
#archive.products .feat-comp .container .feat-comp-slider .slick-prev,
#index.systems .feat-comp .container .feat-comp-slider .slick-next,
#index.systems .feat-comp .container .feat-comp-slider .slick-prev,
#index.products .feat-comp .container .feat-comp-slider .slick-next,
#index.products .feat-comp .container .feat-comp-slider .slick-prev,
#search.systems .feat-comp .container .feat-comp-slider .slick-next,
#search.systems .feat-comp .container .feat-comp-slider .slick-prev,
#search.products .feat-comp .container .feat-comp-slider .slick-next,
#search.products .feat-comp .container .feat-comp-slider .slick-prev,
#taxonomy.systems .feat-comp .container .feat-comp-slider .slick-next,
#taxonomy.systems .feat-comp .container .feat-comp-slider .slick-prev,
#taxonomy.products .feat-comp .container .feat-comp-slider .slick-next,
#taxonomy.products .feat-comp .container .feat-comp-slider .slick-prev {
  cursor: pointer;
  height: 35px;
  position: absolute;
  bottom: -50px;
  width: 70px;
  -webkit-transition: background-color 0.15s;
  transition: background-color 0.15s;
  z-index: 1000;
}
#archive.systems .feat-comp .container .feat-comp-slider .slick-next:hover,
#archive.systems .feat-comp .container .feat-comp-slider .slick-prev:hover,
#archive.products .feat-comp .container .feat-comp-slider .slick-next:hover,
#archive.products .feat-comp .container .feat-comp-slider .slick-prev:hover,
#index.systems .feat-comp .container .feat-comp-slider .slick-next:hover,
#index.systems .feat-comp .container .feat-comp-slider .slick-prev:hover,
#index.products .feat-comp .container .feat-comp-slider .slick-next:hover,
#index.products .feat-comp .container .feat-comp-slider .slick-prev:hover,
#search.systems .feat-comp .container .feat-comp-slider .slick-next:hover,
#search.systems .feat-comp .container .feat-comp-slider .slick-prev:hover,
#search.products .feat-comp .container .feat-comp-slider .slick-next:hover,
#search.products .feat-comp .container .feat-comp-slider .slick-prev:hover,
#taxonomy.systems .feat-comp .container .feat-comp-slider .slick-next:hover,
#taxonomy.systems .feat-comp .container .feat-comp-slider .slick-prev:hover,
#taxonomy.products .feat-comp .container .feat-comp-slider .slick-next:hover,
#taxonomy.products .feat-comp .container .feat-comp-slider .slick-prev:hover {
  background-color: var(--tdt-accent-hover);
}
#archive.systems .feat-comp .container .feat-comp-slider .slick-next,
#archive.products .feat-comp .container .feat-comp-slider .slick-next,
#index.systems .feat-comp .container .feat-comp-slider .slick-next,
#index.products .feat-comp .container .feat-comp-slider .slick-next,
#search.systems .feat-comp .container .feat-comp-slider .slick-next,
#search.products .feat-comp .container .feat-comp-slider .slick-next,
#taxonomy.systems .feat-comp .container .feat-comp-slider .slick-next,
#taxonomy.products .feat-comp .container .feat-comp-slider .slick-next {
  background-image: url("../images/arrow-right.png");
  background-color: var(--tdt-accent);
  background-position: 57% 47%;
  background-repeat: no-repeat;
  left: 80px;
}
@media all and (max-width: 768.9375px) {
  #archive.systems .feat-comp .container .feat-comp-slider .slick-next,
  #archive.products .feat-comp .container .feat-comp-slider .slick-next,
  #index.systems .feat-comp .container .feat-comp-slider .slick-next,
  #index.products .feat-comp .container .feat-comp-slider .slick-next,
  #search.systems .feat-comp .container .feat-comp-slider .slick-next,
  #search.products .feat-comp .container .feat-comp-slider .slick-next,
  #taxonomy.systems .feat-comp .container .feat-comp-slider .slick-next,
  #taxonomy.products .feat-comp .container .feat-comp-slider .slick-next {
    left: unset;
    right: 0;
  }
}
#archive.systems .feat-comp .container .feat-comp-slider .slick-prev,
#archive.products .feat-comp .container .feat-comp-slider .slick-prev,
#index.systems .feat-comp .container .feat-comp-slider .slick-prev,
#index.products .feat-comp .container .feat-comp-slider .slick-prev,
#search.systems .feat-comp .container .feat-comp-slider .slick-prev,
#search.products .feat-comp .container .feat-comp-slider .slick-prev,
#taxonomy.systems .feat-comp .container .feat-comp-slider .slick-prev,
#taxonomy.products .feat-comp .container .feat-comp-slider .slick-prev {
  background-image: url("../images/arrow-left.png");
  background-color: var(--tdt-accent);
  background-position: 47% 50%;
  background-repeat: no-repeat;
  left: 0;
}
#archive.systems .feat-comp .container .feat-comp-slider article,
#archive.products .feat-comp .container .feat-comp-slider article,
#index.systems .feat-comp .container .feat-comp-slider article,
#index.products .feat-comp .container .feat-comp-slider article,
#search.systems .feat-comp .container .feat-comp-slider article,
#search.products .feat-comp .container .feat-comp-slider article,
#taxonomy.systems .feat-comp .container .feat-comp-slider article,
#taxonomy.products .feat-comp .container .feat-comp-slider article {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
}
#archive.systems .feat-comp .container .feat-comp-slider article:after,
#archive.products .feat-comp .container .feat-comp-slider article:after,
#index.systems .feat-comp .container .feat-comp-slider article:after,
#index.products .feat-comp .container .feat-comp-slider article:after,
#search.systems .feat-comp .container .feat-comp-slider article:after,
#search.products .feat-comp .container .feat-comp-slider article:after,
#taxonomy.systems .feat-comp .container .feat-comp-slider article:after,
#taxonomy.products .feat-comp .container .feat-comp-slider article:after {
  content: " ";
  display: block;
  clear: both;
}
#archive.systems .feat-comp .container .feat-comp-slider article section,
#archive.products .feat-comp .container .feat-comp-slider article section,
#index.systems .feat-comp .container .feat-comp-slider article section,
#index.products .feat-comp .container .feat-comp-slider article section,
#search.systems .feat-comp .container .feat-comp-slider article section,
#search.products .feat-comp .container .feat-comp-slider article section,
#taxonomy.systems .feat-comp .container .feat-comp-slider article section,
#taxonomy.products .feat-comp .container .feat-comp-slider article section {
  width: 47.05882%;
  float: left;
  margin-right: 5.88235%;
}
@media all and (max-width: 1019.9375px) {
  #archive.systems .feat-comp .container .feat-comp-slider article section,
  #archive.products .feat-comp .container .feat-comp-slider article section,
  #index.systems .feat-comp .container .feat-comp-slider article section,
  #index.products .feat-comp .container .feat-comp-slider article section,
  #search.systems .feat-comp .container .feat-comp-slider article section,
  #search.products .feat-comp .container .feat-comp-slider article section,
  #taxonomy.systems .feat-comp .container .feat-comp-slider article section,
  #taxonomy.products .feat-comp .container .feat-comp-slider article section {
    width: 65.38462%;
    float: left;
    margin-right: 3.84615%;
  }
}
@media all and (max-width: 768.9375px) {
  #archive.systems .feat-comp .container .feat-comp-slider article section,
  #archive.products .feat-comp .container .feat-comp-slider article section,
  #index.systems .feat-comp .container .feat-comp-slider article section,
  #index.products .feat-comp .container .feat-comp-slider article section,
  #search.systems .feat-comp .container .feat-comp-slider article section,
  #search.products .feat-comp .container .feat-comp-slider article section,
  #taxonomy.systems .feat-comp .container .feat-comp-slider article section,
  #taxonomy.products .feat-comp .container .feat-comp-slider article section {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 20px;
  }
}
#archive.systems .feat-comp .container .feat-comp-slider article aside,
#archive.products .feat-comp .container .feat-comp-slider article aside,
#index.systems .feat-comp .container .feat-comp-slider article aside,
#index.products .feat-comp .container .feat-comp-slider article aside,
#search.systems .feat-comp .container .feat-comp-slider article aside,
#search.products .feat-comp .container .feat-comp-slider article aside,
#taxonomy.systems .feat-comp .container .feat-comp-slider article aside,
#taxonomy.products .feat-comp .container .feat-comp-slider article aside {
  width: 47.05882%;
  float: right;
  margin-right: 0;
}
@media all and (max-width: 1019.9375px) {
  #archive.systems .feat-comp .container .feat-comp-slider article aside,
  #archive.products .feat-comp .container .feat-comp-slider article aside,
  #index.systems .feat-comp .container .feat-comp-slider article aside,
  #index.products .feat-comp .container .feat-comp-slider article aside,
  #search.systems .feat-comp .container .feat-comp-slider article aside,
  #search.products .feat-comp .container .feat-comp-slider article aside,
  #taxonomy.systems .feat-comp .container .feat-comp-slider article aside,
  #taxonomy.products .feat-comp .container .feat-comp-slider article aside {
    width: 30.76923%;
    float: right;
    margin-right: 0;
  }
}
@media all and (max-width: 768.9375px) {
  #archive.systems .feat-comp .container .feat-comp-slider article aside,
  #archive.products .feat-comp .container .feat-comp-slider article aside,
  #index.systems .feat-comp .container .feat-comp-slider article aside,
  #index.products .feat-comp .container .feat-comp-slider article aside,
  #search.systems .feat-comp .container .feat-comp-slider article aside,
  #search.products .feat-comp .container .feat-comp-slider article aside,
  #taxonomy.systems .feat-comp .container .feat-comp-slider article aside,
  #taxonomy.products .feat-comp .container .feat-comp-slider article aside {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
}
#archive.systems .feat-comp .container .feat-comp-slider article aside img,
#archive.products .feat-comp .container .feat-comp-slider article aside img,
#index.systems .feat-comp .container .feat-comp-slider article aside img,
#index.products .feat-comp .container .feat-comp-slider article aside img,
#search.systems .feat-comp .container .feat-comp-slider article aside img,
#search.products .feat-comp .container .feat-comp-slider article aside img,
#taxonomy.systems .feat-comp .container .feat-comp-slider article aside img,
#taxonomy.products .feat-comp .container .feat-comp-slider article aside img {
  max-height: 250px;
}
@media all and (max-width: 768.9375px) {
  #archive.systems .feat-comp .container .feat-comp-slider article aside img,
  #archive.products .feat-comp .container .feat-comp-slider article aside img,
  #index.systems .feat-comp .container .feat-comp-slider article aside img,
  #index.products .feat-comp .container .feat-comp-slider article aside img,
  #search.systems .feat-comp .container .feat-comp-slider article aside img,
  #search.products .feat-comp .container .feat-comp-slider article aside img,
  #taxonomy.systems .feat-comp .container .feat-comp-slider article aside img,
  #taxonomy.products
    .feat-comp
    .container
    .feat-comp-slider
    article
    aside
    img {
    margin: 0 auto;
  }
}
#archive.systems .feat-comp .container .feat-comp-slider article.left section,
#archive.products
  .feat-comp
  .container
  .feat-comp-slider
  article.left
  section,
#index.systems .feat-comp .container .feat-comp-slider article.left section,
#index.products .feat-comp .container .feat-comp-slider article.left section,
#search.systems .feat-comp .container .feat-comp-slider article.left section,
#search.products .feat-comp .container .feat-comp-slider article.left section,
#taxonomy.systems .feat-comp .container .feat-comp-slider article.left section,
#taxonomy.products
  .feat-comp
  .container
  .feat-comp-slider
  article.left
  section {
  width: 47.05882%;
  float: right;
  margin-right: 0;
}
@media all and (max-width: 1019.9375px) {
  #archive.systems .feat-comp .container .feat-comp-slider article.left section,
  #archive.products
    .feat-comp
    .container
    .feat-comp-slider
    article.left
    section,
  #index.systems .feat-comp .container .feat-comp-slider article.left section,
  #index.products
    .feat-comp
    .container
    .feat-comp-slider
    article.left
    section,
  #search.systems .feat-comp .container .feat-comp-slider article.left section,
  #search.products
    .feat-comp
    .container
    .feat-comp-slider
    article.left
    section,
  #taxonomy.systems
    .feat-comp
    .container
    .feat-comp-slider
    article.left
    section,
  #taxonomy.products
    .feat-comp
    .container
    .feat-comp-slider
    article.left
    section {
    width: 65.38462%;
    float: right;
    margin-right: 0;
  }
}
@media all and (max-width: 768.9375px) {
  #archive.systems .feat-comp .container .feat-comp-slider article.left section,
  #archive.products
    .feat-comp
    .container
    .feat-comp-slider
    article.left
    section,
  #index.systems .feat-comp .container .feat-comp-slider article.left section,
  #index.products
    .feat-comp
    .container
    .feat-comp-slider
    article.left
    section,
  #search.systems .feat-comp .container .feat-comp-slider article.left section,
  #search.products
    .feat-comp
    .container
    .feat-comp-slider
    article.left
    section,
  #taxonomy.systems
    .feat-comp
    .container
    .feat-comp-slider
    article.left
    section,
  #taxonomy.products
    .feat-comp
    .container
    .feat-comp-slider
    article.left
    section {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 20px;
  }
}
#archive.systems .feat-comp .container .feat-comp-slider article.left aside,
#archive.products .feat-comp .container .feat-comp-slider article.left aside,
#index.systems .feat-comp .container .feat-comp-slider article.left aside,
#index.products .feat-comp .container .feat-comp-slider article.left aside,
#search.systems .feat-comp .container .feat-comp-slider article.left aside,
#search.products .feat-comp .container .feat-comp-slider article.left aside,
#taxonomy.systems .feat-comp .container .feat-comp-slider article.left aside,
#taxonomy.products
  .feat-comp
  .container
  .feat-comp-slider
  article.left
  aside {
  width: 47.05882%;
  float: left;
  margin-right: 5.88235%;
}
@media all and (max-width: 1019.9375px) {
  #archive.systems .feat-comp .container .feat-comp-slider article.left aside,
  #archive.products
    .feat-comp
    .container
    .feat-comp-slider
    article.left
    aside,
  #index.systems .feat-comp .container .feat-comp-slider article.left aside,
  #index.products .feat-comp .container .feat-comp-slider article.left aside,
  #search.systems .feat-comp .container .feat-comp-slider article.left aside,
  #search.products .feat-comp .container .feat-comp-slider article.left aside,
  #taxonomy.systems .feat-comp .container .feat-comp-slider article.left aside,
  #taxonomy.products
    .feat-comp
    .container
    .feat-comp-slider
    article.left
    aside {
    width: 30.76923%;
    float: left;
    margin-right: 3.84615%;
  }
}
@media all and (max-width: 768.9375px) {
  #archive.systems .feat-comp .container .feat-comp-slider article.left aside,
  #archive.products
    .feat-comp
    .container
    .feat-comp-slider
    article.left
    aside,
  #index.systems .feat-comp .container .feat-comp-slider article.left aside,
  #index.products .feat-comp .container .feat-comp-slider article.left aside,
  #search.systems .feat-comp .container .feat-comp-slider article.left aside,
  #search.products .feat-comp .container .feat-comp-slider article.left aside,
  #taxonomy.systems .feat-comp .container .feat-comp-slider article.left aside,
  #taxonomy.products
    .feat-comp
    .container
    .feat-comp-slider
    article.left
    aside {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
}

#archive.pub-vid-archive,
#index.pub-vid-archive,
#search.pub-vid-archive,
#taxonomy.pub-vid-archive {
  padding: 0 40px;
}
@media all and (max-width: 768.9375px) {
  #archive.pub-vid-archive,
  #index.pub-vid-archive,
  #search.pub-vid-archive,
  #taxonomy.pub-vid-archive {
    padding: 0 20px;
  }
}
#archive.pub-vid-archive .container h1,
#index.pub-vid-archive .container h1,
#search.pub-vid-archive .container h1,
#taxonomy.pub-vid-archive .container h1 {
  margin-bottom: 40px;
}
#archive.pub-vid-archive .container .publications-videos,
#index.pub-vid-archive .container .publications-videos,
#search.pub-vid-archive .container .publications-videos,
#taxonomy.pub-vid-archive .container .publications-videos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
#archive.pub-vid-archive
  .container
  .publications-videos
  .publication-video-block,
#index.pub-vid-archive .container .publications-videos .publication-video-block,
#search.pub-vid-archive
  .container
  .publications-videos
  .publication-video-block,
#taxonomy.pub-vid-archive
  .container
  .publications-videos
  .publication-video-block {
  width: 30.76923%;
  float: left;
  margin-right: 3.84615%;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  background-color: transparent;
  border: 2px solid transparent;
  margin-bottom: 40px;
  padding: 20px;
  position: relative;
  text-align: center;
  -webkit-transition: background-color 0.15s;
  transition: background-color 0.15s;
}
#archive.pub-vid-archive
  .container
  .publications-videos
  .publication-video-block:hover,
#index.pub-vid-archive
  .container
  .publications-videos
  .publication-video-block:hover,
#search.pub-vid-archive
  .container
  .publications-videos
  .publication-video-block:hover,
#taxonomy.pub-vid-archive
  .container
  .publications-videos
  .publication-video-block:hover {
  background-color: transparent;
  border: 2px solid #efefef;
}
#archive.pub-vid-archive
  .container
  .publications-videos
  .publication-video-block:hover
  p,
#index.pub-vid-archive
  .container
  .publications-videos
  .publication-video-block:hover
  p,
#search.pub-vid-archive
  .container
  .publications-videos
  .publication-video-block:hover
  p,
#taxonomy.pub-vid-archive
  .container
  .publications-videos
  .publication-video-block:hover
  p {
  color: var(--tdt-accent-text);
}
@media all and (max-width: 499.9375px) {
  #archive.pub-vid-archive
    .container
    .publications-videos
    .publication-video-block,
  #index.pub-vid-archive
    .container
    .publications-videos
    .publication-video-block,
  #search.pub-vid-archive
    .container
    .publications-videos
    .publication-video-block,
  #taxonomy.pub-vid-archive
    .container
    .publications-videos
    .publication-video-block {
    width: 47.05882%;
    float: left;
    margin-right: 5.88235%;
  }
}
@media all and (max-width: 359.9375px) {
  #archive.pub-vid-archive
    .container
    .publications-videos
    .publication-video-block,
  #index.pub-vid-archive
    .container
    .publications-videos
    .publication-video-block,
  #search.pub-vid-archive
    .container
    .publications-videos
    .publication-video-block,
  #taxonomy.pub-vid-archive
    .container
    .publications-videos
    .publication-video-block {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
}
#archive.pub-vid-archive
  .container
  .publications-videos
  .publication-video-block:nth-child(3n + 3),
#index.pub-vid-archive
  .container
  .publications-videos
  .publication-video-block:nth-child(3n + 3),
#search.pub-vid-archive
  .container
  .publications-videos
  .publication-video-block:nth-child(3n + 3),
#taxonomy.pub-vid-archive
  .container
  .publications-videos
  .publication-video-block:nth-child(3n + 3) {
  width: 30.76923%;
  float: right;
  margin-right: 0;
}
@media all and (max-width: 499.9375px) {
  #archive.pub-vid-archive
    .container
    .publications-videos
    .publication-video-block:nth-child(3n + 3),
  #index.pub-vid-archive
    .container
    .publications-videos
    .publication-video-block:nth-child(3n + 3),
  #search.pub-vid-archive
    .container
    .publications-videos
    .publication-video-block:nth-child(3n + 3),
  #taxonomy.pub-vid-archive
    .container
    .publications-videos
    .publication-video-block:nth-child(3n + 3) {
    width: 47.05882%;
    float: left;
    margin-right: 5.88235%;
  }
}
@media all and (max-width: 359.9375px) {
  #archive.pub-vid-archive
    .container
    .publications-videos
    .publication-video-block:nth-child(3n + 3),
  #index.pub-vid-archive
    .container
    .publications-videos
    .publication-video-block:nth-child(3n + 3),
  #search.pub-vid-archive
    .container
    .publications-videos
    .publication-video-block:nth-child(3n + 3),
  #taxonomy.pub-vid-archive
    .container
    .publications-videos
    .publication-video-block:nth-child(3n + 3) {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
}
@media all and (max-width: 499.9375px) {
  #archive.pub-vid-archive
    .container
    .publications-videos
    .publication-video-block:nth-child(2n + 2),
  #index.pub-vid-archive
    .container
    .publications-videos
    .publication-video-block:nth-child(2n + 2),
  #search.pub-vid-archive
    .container
    .publications-videos
    .publication-video-block:nth-child(2n + 2),
  #taxonomy.pub-vid-archive
    .container
    .publications-videos
    .publication-video-block:nth-child(2n + 2) {
    width: 47.05882%;
    float: right;
    margin-right: 0;
  }
}
@media all and (max-width: 359.9375px) {
  #archive.pub-vid-archive
    .container
    .publications-videos
    .publication-video-block:nth-child(2n + 2),
  #index.pub-vid-archive
    .container
    .publications-videos
    .publication-video-block:nth-child(2n + 2),
  #search.pub-vid-archive
    .container
    .publications-videos
    .publication-video-block:nth-child(2n + 2),
  #taxonomy.pub-vid-archive
    .container
    .publications-videos
    .publication-video-block:nth-child(2n + 2) {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
  }
}
#archive.pub-vid-archive
  .container
  .publications-videos
  .publication-video-block
  .default-img,
#index.pub-vid-archive
  .container
  .publications-videos
  .publication-video-block
  .default-img,
#search.pub-vid-archive
  .container
  .publications-videos
  .publication-video-block
  .default-img,
#taxonomy.pub-vid-archive
  .container
  .publications-videos
  .publication-video-block
  .default-img {
  opacity: 0.2;
}
#archive.pub-vid-archive
  .container
  .publications-videos
  .publication-video-block
  p,
#index.pub-vid-archive
  .container
  .publications-videos
  .publication-video-block
  p,
#search.pub-vid-archive
  .container
  .publications-videos
  .publication-video-block
  p,
#taxonomy.pub-vid-archive
  .container
  .publications-videos
  .publication-video-block
  p {
  color: #22242d;
  -webkit-transition: color 0.15s;
  transition: color 0.15s;
}
#archive.pub-vid-archive
  .container
  .publications-videos
  .publication-video-block
  iframe,
#index.pub-vid-archive
  .container
  .publications-videos
  .publication-video-block
  iframe,
#search.pub-vid-archive
  .container
  .publications-videos
  .publication-video-block
  iframe,
#taxonomy.pub-vid-archive
  .container
  .publications-videos
  .publication-video-block
  iframe {
  margin-bottom: 10px;
  max-height: 200px;
}
#archive.pub-vid-archive .pagination,
#index.pub-vid-archive .pagination,
#search.pub-vid-archive .pagination,
#taxonomy.pub-vid-archive .pagination {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin: 0 auto 40px;
}
#archive.pub-vid-archive .pagination:after,
#index.pub-vid-archive .pagination:after,
#search.pub-vid-archive .pagination:after,
#taxonomy.pub-vid-archive .pagination:after {
  content: " ";
  display: block;
  clear: both;
}

#notfound .container {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
}
#notfound .container:after {
  content: " ";
  display: block;
  clear: both;
}
#notfound .container article {
  width: 100%;
  margin: 0 auto;
}

/* Search results and Page not found (2026-10-02) */
#search .container,
#notfound .container {
  padding: 40px 20px 60px;
}
#search .search-form,
#notfound .search-form {
  max-width: 560px;
  margin: 0 0 25px;
}
.search-count {
  color: #53565A;
  margin: 0 0 10px;
}
/* "Research areas and categories" / "Products and pages" */
#search .search-heading {
  font-size: 18px;
  letter-spacing: 0.5px;
  margin: 30px 0 10px;
  text-transform: uppercase;
}
.search-results {
  display: block;
  list-style: none;
  margin: 0 0 30px;
  padding: 0;
}
.search-results .search-result {
  border-top: 1px solid #e1e1e1;
  display: flex;
  position: relative;
  align-items: flex-start;
  margin: 0;
  padding: 18px 0;
}
/* Picture at the left: product thumbnail / featured image, category icon, or
   page/news symbol. Images keep their shape (wide module diagrams use the
   full column width, square photos are capped by height). */
.search-result .search-result__pic {
  flex: 0 0 140px;
  margin-right: 20px;
}
.search-result .search-result__body {
  flex: 1 1 auto;
  min-width: 0;
}
.search-result__thumb {
  display: flex;
  justify-content: center;
}
.search-result__thumb img {
  display: block;
  height: auto;
  max-height: 110px;
  max-width: 100%;
  width: auto;
}
.search-result__thumb--symbol,
.search-result__thumb--category {
  align-items: center;
  box-sizing: border-box;
  height: 96px;
  margin: 0 auto;
  width: 96px;
}
.search-result__thumb--symbol {
  background: #f4f4f4;
  color: #53565A;
}
.search-result__thumb--category {
  background-color: #53565A;
  border-radius: 50%;
  padding: 20px;
}
/* Larger picture when the mouse is over a result's picture: wide screens
   with a mouse only. The page widens and keeps a column free at the right,
   where the picture opens level with its result, so no text is covered. */
.search-result__zoom {
  display: none;
}
@media (hover: hover) and (pointer: fine) and (min-width: 1200px) {
  /* 1024px of content: lines up with the header's logo and menu */
  #search .container {
    max-width: 1064px;
  }
  .search-results .search-result {
    padding-right: 370px;
  }
  .search-result__pic:hover .search-result__zoom {
    background: #fff;
    border: 1px solid #e1e1e1;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18);
    display: block;
    padding: 10px;
    position: absolute;
    right: 0;
    top: 12px;
    z-index: 20;
  }
  .search-result__zoom img {
    display: block;
    height: auto;
    max-height: 300px;
    max-width: 330px;
    width: auto;
  }
}
.search-results .search-result:before {
  display: none;
}
.search-result .search-result__type {
  color: #53565A;
  font-size: 13px;
  letter-spacing: 0.5px;
  margin: 0 0 4px;
  text-transform: uppercase;
}
.search-result h2 {
  font-size: 22px;
  margin: 0 0 6px;
}
.search-result p {
  margin: 0;
}
.search-result .search-result__why {
  color: #53565A;
  font-family: monospace;
  font-size: 13px;
  margin-top: 6px;
}
.search-kh {
  border-top: 1px solid #e1e1e1;
  padding-top: 20px;
}
.notfound-links {
  margin: 0 0 30px;
}
.notfound-links li {
  margin: 0 0 8px;
}
.notfound-quote .button.quote-btn {
  margin-left: 10px;
}
@media all and (max-width: 767.9375px) {
  #search .container,
  #notfound .container {
    padding: 25px 16px 40px;
  }
  .notfound-quote .button.quote-btn {
    margin: 10px 0 0;
  }
  .search-result .search-result__pic {
    flex-basis: 88px;
    margin-right: 14px;
  }
  .search-result__thumb img {
    max-height: 88px;
  }
  .search-result__thumb--symbol,
  .search-result__thumb--category {
    height: 64px;
    width: 64px;
  }
  .search-result__thumb--category {
    padding: 14px;
  }
  .search-result__thumb svg {
    height: 30px;
    width: 30px;
  }
  .search-result h2 {
    font-size: 19px;
  }
}

.fbx-modal {
  overflow-y: scroll;
}
.fbx-modal .fbx-next,
.fbx-modal .fbx-prev {
  display: none;
}

.featured {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.featured .filter {
  background-color: rgba(34, 36, 45, 0.7);
}
.featured .container {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
  padding: 60px 0;
}
.featured .container:after {
  content: " ";
  display: block;
  clear: both;
}
@media all and (max-width: 969.9375px) {
  .featured .container {
    padding: 60px 20px;
  }
}
.featured .container h1 {
  max-width: 700px;
  color: white;
  font-size: 35px;
  font-family: Industry, sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  text-shadow: 1px 2px 18px rgba(34, 36, 45, 0.3);
  margin: 0;
}
@media all and (max-width: 767.9375px) {
  .featured .container h1 {
    font-size: 30px;
  }
}
.featured .container p {
  max-width: 700px;
  color: white;
  font-size: 18px;
  margin: 20px 0 0;
}

.breadcrumbs .container {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
  padding: 15px 0;
}
.breadcrumbs .container:after {
  content: " ";
  display: block;
  clear: both;
}
@media all and (max-width: 969.9375px) {
  .breadcrumbs .container {
    padding: 15px 20px;
  }
}
.breadcrumbs .container span {
  color: #d1d1d1;
  font-size: 12px;
  font-family: Geogrotesque Bold, Geogrotesque Fallback, sans-serif;
  text-transform: uppercase;
  margin: 0 0 0 5px;
}
.breadcrumbs .container span:first-child {
  margin-left: 0;
}
.breadcrumbs .container span .breadcrumb_last {
  color: #000;
}
.breadcrumbs .container a {
  color: #d1d1d1;
  font-size: 12px;
  font-family: Geogrotesque Bold, Geogrotesque Fallback, sans-serif;
  text-transform: uppercase;
  margin: 0 5px 0 0;
  -webkit-transition: all 0.12s ease-in-out;
  transition: all 0.12s ease-in-out;
}
.breadcrumbs .container a:hover {
  color: var(--tdt-accent-text);
}

article.post {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  padding: 0 0 60px;
  margin: 0 auto 60px;
  display: block;
  position: relative;
  border-bottom: 2px solid #f3f3f3;
}
article.post:after {
  content: " ";
  display: block;
  clear: both;
}
article.post:last-of-type {
  margin: 0 auto;
}
article.post aside {
  width: 30.76923%;
  float: left;
  margin-right: 3.84615%;
  min-height: 300px;
  background-repeat: repeat;
  background-position: center;
  background-size: cover;
  border-radius: 10px;
}
article.post .block {
  width: 65.38462%;
  float: right;
  margin-right: 0;
}
article.post .block .content h2 {
  font-size: 30px;
  font-weight: bold;
  line-height: 1.3;
}
article.post .block .content h2 a {
  color: #22242d;
  -webkit-transition: all 0.12s ease-in-out;
  transition: all 0.12s ease-in-out;
}
article.post .block .content h2 a:hover {
  color: var(--tdt-accent-text);
}
article.post .block .content .details time {
  color: #acaeb0;
  font-style: italic;
  font-weight: lighter;
  margin: 0 auto 15px;
  display: block;
}
article.post .block .content .button {
  display: table;
  margin: 20px 0 0;
}

.pagination {
  width: 100%;
  display: block;
  margin: 80px auto 0;
}
.pagination .count {
  float: left;
  display: inline-block;
}
@media all and (max-width: 899.9375px) {
  .pagination .count {
    float: none;
  }
}
.pagination .pages {
  float: right;
  display: inline-block;
}
@media all and (max-width: 899.9375px) {
  .pagination .pages {
    float: none;
  }
}
.pagination span {
  color: white;
  font-size: pagination_font_size;
  padding: 5px 15px;
  display: inline-block;
  background: var(--tdt-accent-hover);
}
.pagination a {
  color: white;
  font-size: pagination_font_size;
  padding: 5px 15px;
  display: inline-block;
  margin: 0 0 0 1px;
  background: var(--tdt-accent-hover);
  -webkit-transition: all 0.12s ease-in-out;
  transition: all 0.12s ease-in-out;
}
@media all and (max-width: 899.9375px) {
  .pagination a {
    margin: 0 1px 0 0;
  }
}
.pagination a:hover {
  color: var(--tdt-accent-text);
  background: #53565A;
}
.pagination .current {
  color: #fff;
  font-size: pagination_font_size;
  padding: 5px 15px;
  margin: 0 0 0 1px;
  display: inline-block;
  background: #53565A;
  -webkit-transition: all 0.12s ease-in-out;
  transition: all 0.12s ease-in-out;
}
@media all and (max-width: 899.9375px) {
  .pagination .current {
    margin: 0 1px 0 0;
  }
}

/*===============================================================
    Added by R. Kern for J. Rottier - Desktop/Mobile Content
===============================================================*/
@media all and (min-width: 800px) {
    .deskContent {display:block;}
    .phoneContent {display:none;}
}

@media all and (max-width: 799px) {
    .deskContent {display:none;}
    .phoneContent {display:block;}
}


/*===============================================================
    Gravity Forms
===============================================================*/
.gform_wrapper {
  margin-top: 40px !important;
}
.gform_wrapper .gform_body ul.gform_fields li.gfield {
  padding: 0;
}
.gform_wrapper h2.gsection_title {
  margin: 80px 0 0 !important;
}

/*===============================================================
    Comparison tables
===============================================================*/
.tdt_table tr, .tdt_table td {
  font-size: 14px;
  padding: 10px;
}
.tdt_table th {
  font-size: 15px;
  padding: 10px;
  background-color: #EFEFF2;
}
.tdt_table tr:nth-child(even) {
  background-color: #fff;
}
.tdt_footnote {
  font-size: 14px;
}
/*===============================================================
    Publication references 
===============================================================*/ 
#single.systems .container article .contents .publications ul {
  padding-left: 0; 
  margin-left: 0;
  font-size: 14px;
}
#single.systems .container article .contents .publications ul li {
  list-style-type: none;
  margin-left: .5in;
  text-indent: -.5in;
  margin-left: 2em;
  text-indent: -2em;
  margin-top: 1em;
  margin-bottom: 1em;
}
#single.systems .container article .contents .publications ul li:before {
  background: none;
}


/* Moved from TDT's Customizer > Additional CSS (2026-10-01) */
#front .dedicated canvas {
  /* width: auto; */
  max-width: -webkit-fill-available;
}

.alertbar {
  background-color: #ff0000;
  color: #FFFFFF;
  display: block;
  line-height: 45px;
  height: 50px;
  position: relative;
  text-align: center;
  text-decoration: none;
  top: 0px;
  width: 100%;
  z-index: 100;
}

.quote-options {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 10px 0 30px;
}
.quote-options .button {
  margin: 0;
}

/* ==========================================================================
   Home page sections (2026-10-03): front-page.php, functions/home-page.php,
   functions/publications.php. Wording: Pages > Home > "Home page sections".
   ========================================================================== */

/* Announcement bar above the header (one announcement with "Top bar" on) */
.home-bar {
  background: #101820;
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  line-height: 1.4;
  padding: 9px 16px;
  text-align: center;
}
.home-bar b {
  color: var(--tdt-accent-bright);
  font-family: Geogrotesque Bold, Geogrotesque Fallback, sans-serif;
  font-weight: normal;
  letter-spacing: .5px;
  margin-right: 8px;
  text-transform: uppercase;
}
.home-bar a {
  color: #fff;
  margin-left: 10px;
  text-decoration: underline;
  text-decoration-color: var(--tdt-accent);
  text-underline-offset: 3px;
}
.home-bar a:hover,
.home-bar a:focus-visible {
  color: var(--tdt-accent-bright);
}

/* Banner: one fixed slide; its title is the page's H1 */
#front .home-banner {
  background: #101820 center / cover no-repeat;
  color: #fff;
  position: relative;
}
#front .home-banner--shade:before {
  background: linear-gradient(90deg, rgba(16, 24, 32, .94) 0%, rgba(16, 24, 32, .8) 42%, rgba(16, 24, 32, .1) 100%);
  content: "";
  inset: 0;
  position: absolute;
}
#front .home-banner__in {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  gap: 40px;
  margin: 0 auto;
  max-width: 1180px;
  min-height: 480px;
  padding: 40px;
  position: relative;
}
#front .home-banner__text {
  flex: 1 1 50%;
  max-width: 560px;
}
#front .home-banner p.home-banner__eyebrow {
  color: var(--tdt-accent-bright);
  font-family: Geogrotesque Bold, Geogrotesque Fallback, sans-serif;
  font-size: 14px;
  letter-spacing: 2px;
  margin: 0 0 14px;
  text-transform: uppercase;
}
#front .home-banner h1 {
  color: #fff;
  font-family: Industry, sans-serif;
  font-size: 46px;
  font-weight: 700;
  line-height: 1.08;
  margin: 0 0 18px;
  text-align: left;
  text-transform: uppercase;
}
#front .home-banner p.home-banner__lead {
  color: #e4e4e4;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 19px;
  line-height: 1.5;
  margin: 0 0 28px;
}
#front .home-banner__pic {
  align-items: center;
  display: flex;
  flex: 1 1 50%;
  height: 380px;
  justify-content: center;
  max-width: 560px;
}
#front .home-banner__pic img {
  height: auto;
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
  width: auto;
}

/* Featured system: picture left; text and module cards right */
#front .home-feature {
  background: linear-gradient(180deg, color-mix(in srgb, var(--tdt-accent) 27%, #fff) 0%, var(--tdt-accent-tint) 50%, color-mix(in srgb, var(--tdt-accent) 7%, #fff) 100%);
  border-bottom: 4px solid var(--tdt-accent);
  padding: 70px 20px 76px;
}
#front .home-feature__in {
  align-items: center;
  display: flex;
  gap: 56px;
  margin: 0 auto;
  max-width: 1180px;
}
#front .home-feature__pic {
  flex: 0 0 400px;
}
#front .home-feature__pic img {
  display: block;
  height: auto;
  width: 100%;
}
#front .home-feature__body {
  flex: 1;
  min-width: 0;
}
#front .home-feature p.home-feature__eyebrow {
  color: color-mix(in srgb, var(--tdt-accent-text) 75%, #000);
  font-family: Geogrotesque Bold, Geogrotesque Fallback, sans-serif;
  font-size: 14px;
  letter-spacing: 2px;
  margin: 0 0 10px;
  text-transform: uppercase;
}
#front .home-feature h2 {
  color: #101820;
  font-family: Industry, sans-serif;
  font-size: 38px;
  font-weight: 700;
  margin: 0 0 12px;
  text-align: left;
  text-transform: uppercase;
}
#front .home-feature p.home-feature__lead {
  color: #3d4046;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 18px;
  line-height: 1.55;
  margin: 0 0 22px;
}
#front .home-feature__label {
  align-items: baseline;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin: 0 0 10px;
}
#front .home-feature__label b {
  color: #101820;
  font-family: Geogrotesque Bold, Geogrotesque Fallback, sans-serif;
  font-size: 15px;
  font-weight: normal;
  letter-spacing: 1px;
  text-transform: uppercase;
}
#front .home-feature__label span {
  color: #53565A;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
}

/* Module cards: all of them, or one opened in the panel over the same space */
#front .home-modules {
  margin: 0 0 26px;
  position: relative;
}
#front .home-modules__grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  transition: opacity .8s ease;
}
#front .home-modules--1 .home-modules__grid {
  grid-template-columns: minmax(0, 1fr);
}
#front .home-module {
  background: linear-gradient(160deg, rgba(255, 255, 255, .75) 0%, rgba(255, 244, 226, .6) 100%);
  border: 2px solid #3a3f46;
  border-radius: 10px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .8) inset, 0 4px 14px rgba(160, 90, 0, .08);
  color: #101820;
  cursor: pointer;
  display: block;
  font: inherit;
  letter-spacing: normal;
  margin: 0;
  min-width: 0;
  padding: 10px 10px 8px;
  text-align: left;
  text-transform: none;
  transition: transform .15s, box-shadow .15s, border-color .15s, background .15s;
  width: 100%;
}
#front .home-module:hover,
#front .home-module:focus-visible {
  background: linear-gradient(160deg, #fff 0%, var(--tdt-accent-tint) 100%);
  border-color: var(--module-color, var(--tdt-accent));
  box-shadow: 0 6px 16px rgba(0, 0, 0, .12);
  transform: translateY(-2px);
}
#front .home-module img {
  border-radius: 5px;
  display: block;
  height: auto;
  width: 100%;
}
#front .home-module span {
  color: #6b5a45;
  display: block;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  margin-top: 7px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#front .home-module span b {
  color: #101820;
  font-family: Geogrotesque Bold, Geogrotesque Fallback, sans-serif;
  font-size: 15px;
  font-weight: normal;
  margin-right: 4px;
}
#front .home-modules.is-open .home-modules__grid {
  opacity: 0;
  pointer-events: none;
}
#front .home-modules__panel {
  background: linear-gradient(160deg, #3a3a3c 0%, #22262c 100%);
  border-radius: var(--tdt-card-radius);
  border-top: 4px solid var(--module-color, var(--tdt-accent));
  box-sizing: border-box;
  color: #fff;
  display: flex;
  flex-direction: column;
  inset: 0;
  opacity: 0;
  overflow: hidden;
  padding: 12px 18px 16px;
  position: absolute;
  /* A plain cross-fade (2026-10-05: the card flip felt too aggressive to
     some users; it was a .45s, then .7s rotation). Fade .8s (was .4s, then .6s). */
  transition: opacity .8s ease, visibility 0s .8s;
  visibility: hidden;
}
#front .home-modules.is-open .home-modules__panel {
  opacity: 1;
  transition: opacity .8s ease;
  visibility: visible;
}
#front .home-modules__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 10px;
  padding-right: 30px;
}
#front .home-modules__chips button {
  background: transparent;
  border: 1px solid #53565A;
  border-radius: 999px;
  color: #D0D0CE;
  cursor: pointer;
  font-family: Geogrotesque Bold, Geogrotesque Fallback, sans-serif;
  font-size: 13px;
  letter-spacing: normal;
  margin: 0;
  padding: 3px 10px;
  text-transform: none;
}
#front .home-modules__chips button:hover,
#front .home-modules__chips button:focus-visible {
  border-color: var(--module-color, var(--tdt-accent));
  color: #fff;
}
#front .home-modules__chips button.is-on {
  background: var(--module-color, var(--tdt-accent));
  border-color: var(--module-color, var(--tdt-accent));
  color: #101820;
}
/* Close: a drawn X (the x character in the button font was slanted) */
#front .home-modules__close {
  align-items: center;
  background: none;
  border: 0;
  border-radius: 50%;
  color: #D0D0CE;
  cursor: pointer;
  display: flex;
  height: 30px;
  justify-content: center;
  line-height: 1;
  margin: 0;
  padding: 0;
  position: absolute;
  right: 8px;
  top: 8px;
  width: 30px;
}
#front .home-modules__close svg {
  display: block;
}
#front .home-modules__close:hover,
#front .home-modules__close:focus-visible {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}
#front .home-modules__item {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
}
#front .home-modules__item[hidden] {
  display: none;
}
#front .home-modules p.home-modules__head {
  color: #fff;
  font-family: Geogrotesque Bold, Geogrotesque Fallback, sans-serif;
  font-size: 16px;
  margin: 0;
}
#front .home-modules__head b {
  color: var(--module-color, var(--tdt-accent-bright));
  font-size: 22px;
  font-weight: normal;
  margin-right: 8px;
}
#front .home-modules__fig {
  border-radius: 6px;
  display: block;
  height: auto;
  margin: 10px 0 4px;
  width: 100%;
}
#front .home-modules__drawing,
#front .home-modules__graphic {
  color: var(--module-color, var(--tdt-accent-bright));
  display: block;
  height: auto;
  margin: 6px auto 8px;
  max-height: 110px;
  max-width: 100%;
  width: 100%;
}
#front .home-modules__graphic {
  object-fit: contain;
  width: auto;
}
#front .home-modules__foot {
  align-items: flex-end;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  margin-top: auto;
}
#front .home-modules__foot p {
  color: #D0D0CE;
  flex: 1;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  line-height: 1.45;
  margin: 0 0 4px;
}
#front .home-modules__foot a {
  color: #fff;
  font-family: Geogrotesque Bold, Geogrotesque Fallback, sans-serif;
  font-size: 14px;
  text-decoration: underline;
  text-decoration-color: var(--module-color, var(--tdt-accent));
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  #front .home-modules__panel,
  #front .home-modules.is-open .home-modules__panel {
    transform: none;
    transition: opacity .2s;
  }
}

/* Publication cards (home page and /publications/) */
.pub-cards {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.pub-card {
  background: #fff;
  border: 1px solid #e2e2e0;
  border-radius: var(--tdt-card-radius);
  border-top: 3px solid var(--tdt-accent);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  padding: 20px 22px 18px;
  text-align: left;
}
.pub-card__source {
  color: var(--tdt-accent-dark);
  font-family: Geogrotesque Bold, Geogrotesque Fallback, sans-serif;
  font-size: 12px;
  letter-spacing: 1px;
  margin-bottom: 8px;
  text-transform: uppercase;
}
main .pub-card h3 {
  font-family: Geogrotesque Bold, Geogrotesque Fallback, sans-serif;
  font-size: 18px;
  font-weight: normal;
  line-height: 1.28;
  margin: 0 0 8px;
  text-transform: none;
}
main .pub-card h3 a {
  color: #101820;
  text-decoration: none;
}
main .pub-card h3 a:hover,
main .pub-card h3 a:focus-visible {
  text-decoration: underline;
  text-decoration-color: var(--tdt-accent);
}
main .pub-card p.pub-card__authors {
  color: #53565A;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-style: italic;
  line-height: 1.45;
  margin: 0 0 10px;
}
main .pub-card p.pub-card__abstract {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  color: #3d4046;
  display: -webkit-box;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  margin: 0 0 14px;
  overflow: hidden;
}
.pub-card__products {
  align-items: center;
  border-top: 1px solid #ececea;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: auto 0 14px;
  padding-top: 12px;
}
.pub-card__products .pub-card__products-label {
  background: none;
  border: 0;
  color: #53565A;
  flex: 0 0 100%;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  margin: 0 0 2px;
  padding: 0;
}
.pub-card__products a,
.pub-card__products span {
  background: var(--tdt-accent-tint);
  border: 1px solid color-mix(in srgb, var(--tdt-accent) 50%, #fff);
  border-radius: 999px;
  color: #101820;
  font-family: Geogrotesque Bold, Geogrotesque Fallback, sans-serif;
  font-size: 13px;
  line-height: 1;
  padding: 5px 10px;
  text-decoration: none;
}
.pub-card__products a:hover,
.pub-card__products a:focus-visible {
  background: var(--tdt-accent);
  border-color: var(--tdt-accent);
}
.pub-card__more,
#front .home-pubs__all {
  align-self: flex-start;
  color: #101820;
  font-family: Geogrotesque Bold, Geogrotesque Fallback, sans-serif;
  font-size: 14px;
  text-decoration: underline;
  text-decoration-color: var(--tdt-accent);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}
.pub-card__more {
  margin-top: auto;
}
.pub-card__products + .pub-card__more {
  margin-top: 0;
}
#front .home-pubs {
  background: #fff;
  padding: 64px 20px 70px;
}
#front .home-pubs__in {
  margin: 0 auto;
  max-width: 1180px;
}
#front .home-pubs__top {
  align-items: baseline;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  margin: 0 0 20px;
}
#front .home-pubs h2 {
  color: #101820;
  font-family: Industry, sans-serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.1;
  margin: 0;
  text-align: left;
  text-transform: uppercase;
}
/* /publications/ and /publications/area/...: dark header with search,
   research areas and filters at the left, the papers as a list (2026-10-06,
   includes/publications-list.php). Phones: areas and filters fold away. */
.pubs {
  color: #1d2026;
}
.pubs-in {
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 1180px;
  padding: 0 20px;
}
.pubs h1,
.pubs h2,
.pubs-fold > summary,
.pubs-results__count {
  font-family: "Geogrotesque Bold", "Geogrotesque Fallback", sans-serif;
  font-weight: normal;
}
.pubs-hero {
  /* glow and red line: the page header rules (.tdt-ph-... after .pcat-hero) */
  background: #101820;
  color: #fff;
  padding: 42px 0 38px;
}
.pubs .pubs-hero h1 {
  color: #fff;
  font-size: 42px;
  letter-spacing: 1px;
  line-height: 1.1;
  margin: 0 0 10px;
  text-align: left;
  text-transform: uppercase;
}
.pubs .pubs-hero p {
  color: #d0d0ce;
  font-size: 18px;
  line-height: 1.5;
  margin: 0 0 22px;
  max-width: 760px;
}
.pubs-search {
  background: #fff;
  border-radius: 6px;
  display: flex;
  max-width: 620px;
  overflow: hidden;
}
.pubs-search:focus-within {
  box-shadow: 0 0 0 3px var(--tdt-accent);
}
.pubs-search input {
  background: transparent;
  border: 0;
  color: #1d2026;
  flex: 1 1 auto;
  font-size: 16px;
  min-width: 0;
  outline: 0;
  padding: 14px 16px;
}
.pubs-search button {
  align-items: center;
  background: transparent;
  border: 0;
  color: #53565a;
  cursor: pointer;
  display: flex;
  padding: 0 16px;
}
.pubs-search button:hover,
.pubs-search button:focus-visible {
  color: var(--tdt-accent-dark);
}
.pubs-body {
  align-items: start;
  display: grid;
  gap: 26px 44px;
  grid-template-columns: 250px minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  padding-bottom: 70px;
  padding-top: 34px;
}
.pubs-fold > summary {
  display: none;
}
.pubs .pubs-side h2 {
  color: #53565a;
  font-size: 13px;
  letter-spacing: 1px;
  margin: 0 0 8px;
  text-align: left;
  text-transform: uppercase;
}
.pubs-areas ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.pubs-areas li {
  margin: 0;
  padding: 0;
}
.pubs-areas li::before {
  content: none;
}
.pubs-areas a {
  border-left: 3px solid transparent;
  color: #1d2026;
  display: block;
  font-size: 15px;
  line-height: 1.3;
  padding: 6px 10px;
  text-decoration: none;
}
.pubs-areas ul ul a {
  color: #53565a;
  font-size: 14px;
  padding: 4px 10px 4px 24px;
}
.pubs-areas a:hover,
.pubs-areas a:focus-visible {
  background: #f4f4f2;
  border-left-color: #d0d0ce;
}
.pubs-areas a.is-on {
  background: var(--tdt-accent-tint);
  border-left-color: var(--tdt-accent);
  color: #101820;
  font-weight: bold;
}
.pubs-filter {
  border-top: 1px solid #e1e1e1;
  margin-top: 22px;
  padding-top: 20px;
}
.pubs-filter label {
  color: #1d2026;
  display: block;
  font-size: 13px;
  font-weight: bold;
  margin: 0 0 5px;
}
.pubs-filter select {
  background-color: #fff;
  border: 1px solid #c9cacc;
  border-radius: 6px;
  box-sizing: border-box;
  color: #1d2026;
  font-size: 15px;
  height: 40px;
  margin: 0 0 14px;
  padding: 0 8px;
  width: 100%;
}
.pubs-filter select:focus {
  border-color: var(--tdt-accent);
  outline: 2px solid var(--tdt-accent);
  outline-offset: 0;
}
.pubs-filter__apply {
  background: transparent;
  border: 2px solid var(--tdt-accent);
  border-radius: 6px;
  color: #1d2026;
  cursor: pointer;
  font-size: 15px;
  padding: 8px 16px;
}
.pubs-filter__apply:hover,
.pubs-filter__apply:focus-visible {
  background: var(--tdt-accent);
}
.pubs-results__top {
  align-items: center;
  border-bottom: 3px solid var(--tdt-accent);
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  padding-bottom: 12px;
}
.pubs .pubs-results__count {
  color: #101820;
  font-size: 20px;
  margin: 0;
}
.pubs-active {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.pubs-active li {
  margin: 0;
  padding: 0;
}
.pubs-active li::before {
  content: none;
}
.pubs-active a {
  align-items: center;
  background: #101820;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 13px;
  gap: 6px;
  padding: 5px 12px;
  text-decoration: none;
}
.pubs-active a span[aria-hidden] {
  color: var(--tdt-accent-bright);
  font-size: 16px;
  line-height: 1;
}
.pubs-active a:hover,
.pubs-active a:focus-visible {
  background: #53565a;
  color: #fff;
}
.pubs-active a.pubs-active__clear {
  background: none;
  color: #53565a;
  text-decoration: underline;
}
.pub-item {
  border-bottom: 1px solid #e1e1e1;
  padding: 20px 0 18px;
}
.pubs .pub-item__source {
  color: var(--tdt-accent-dark);
  font-family: "Geogrotesque Bold", "Geogrotesque Fallback", sans-serif;
  font-size: 12px;
  letter-spacing: 1px;
  margin: 0 0 6px;
  text-transform: uppercase;
}
.pubs .pub-item__title {
  font-family: industry, "Geogrotesque Fallback", sans-serif;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: 0.3px;
  line-height: 1.3;
  margin: 0 0 6px;
  text-align: left;
  text-transform: none;
}
.pub-item__title a {
  color: #101820;
  text-decoration: none;
}
.pub-item__title a:hover,
.pub-item__title a:focus-visible {
  color: #101820;
  text-decoration: underline;
  text-decoration-color: var(--tdt-accent);
  text-decoration-thickness: 2px;
}
.pubs .pub-item__authors {
  color: #53565A;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-style: italic;
  line-height: 1.45;
  margin: 0 0 10px;
}
.pub-item__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 8px;
}
.pub-item__product,
.pub-item__area {
  border-radius: 999px;
  font-size: 13px;
  line-height: 1;
  padding: 5px 10px;
  text-decoration: none;
}
.pub-item__product {
  background: var(--tdt-accent-tint);
  border: 1px solid color-mix(in srgb, var(--tdt-accent) 50%, #fff);
  color: #101820;
  font-family: "Geogrotesque Bold", "Geogrotesque Fallback", sans-serif;
}
.pub-item__area {
  background: #fff;
  border: 1px solid #c9cacc;
  color: #53565a;
  font-family: Arial, Helvetica, sans-serif;
}
a.pub-item__product:hover,
a.pub-item__product:focus-visible {
  background: var(--tdt-accent);
  border-color: var(--tdt-accent);
  color: #101820;
}
a.pub-item__area:hover,
a.pub-item__area:focus-visible {
  border-color: #101820;
  color: #101820;
}
.pub-item__abstract summary {
  color: #53565a;
  cursor: pointer;
  display: inline-block;
  font-size: 13px;
  font-weight: bold;
  list-style: none;
  padding: 2px 0;
}
.pub-item__abstract summary::-webkit-details-marker {
  display: none;
}
.pub-item__abstract summary::after {
  border-bottom: 2px solid var(--tdt-accent);
  border-right: 2px solid var(--tdt-accent);
  content: "";
  display: inline-block;
  height: 6px;
  margin: 0 0 3px 8px;
  transform: rotate(45deg);
  transition: transform 0.15s;
  width: 6px;
}
.pub-item__abstract[open] summary::after {
  margin-bottom: 0;
  transform: rotate(225deg);
}
.pub-item__abstract summary:hover,
.pub-item__abstract summary:focus-visible {
  color: #101820;
}
.pubs .pub-item__abstract p {
  color: #3d4046;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14.5px;
  line-height: 1.6;
  margin: 8px 0 4px;
  max-width: 860px;
}
.pubs .pagination {
  display: flow-root; /* holds its floated parts */
  margin-top: 36px;
}
.pubs-none {
  font-size: 17px;
  padding: 30px 0;
}
/* "How to cite TDT" and "Published with TDT?": under the filters on
   desktop (grid: the papers span both rows at the right), after the papers
   on phones */
.pubs-side {
  grid-column: 1;
  grid-row: 1;
}
.pubs-extra {
  align-self: start;
  grid-column: 1;
  grid-row: 2;
}
.pubs-results {
  grid-column: 2;
  grid-row: 1 / span 2;
}
.pubs-box {
  background: #f6f6f4;
  border-left: 3px solid var(--tdt-accent);
  border-radius: 6px;
  margin: 0 0 16px;
  padding: 14px 16px;
}
.pubs .pubs-box h2 {
  color: #101820;
  font-size: 15px;
  letter-spacing: 0.5px;
  margin: 0 0 6px;
  text-align: left;
  text-transform: uppercase;
}
.pubs .pubs-box p {
  color: #3d4046;
  font-size: 14px;
  line-height: 1.5;
  margin: 0 0 8px;
}
.pubs .pubs-box p:last-child {
  margin-bottom: 0;
}
.pubs .pubs-cite__example {
  background: #fff;
  border: 1px solid #d0d0ce;
  border-radius: 4px;
  color: #101820;
  font-size: 13.5px;
  padding: 8px 10px;
}
.pubs-cite__copy {
  background: transparent;
  border: 2px solid var(--tdt-accent);
  border-radius: 6px;
  color: #1d2026;
  cursor: pointer;
  font-size: 13px;
  padding: 4px 12px;
}
.pubs-cite__copy:hover,
.pubs-cite__copy:focus-visible {
  background: var(--tdt-accent);
}
.pubs-add a {
  color: #101820;
  font-weight: bold;
  text-decoration: underline;
  text-decoration-color: var(--tdt-accent);
}
@media all and (max-width: 899.9375px) {
  .pubs-body {
    gap: 26px 30px;
    grid-template-columns: 210px minmax(0, 1fr);
  }
}
@media all and (max-width: 767.9375px) {
  .pubs-in {
    padding: 0 16px;
  }
  .pubs-hero {
    padding: 28px 0 26px;
  }
  .pubs .pubs-hero h1 {
    font-size: 30px;
  }
  .pubs .pubs-hero p {
    font-size: 16px;
  }
  .pubs-body {
    display: flex;
    flex-direction: column;
    padding-top: 18px;
  }
  .pubs-side {
    order: 1;
  }
  .pubs-results {
    order: 2;
  }
  .pubs-extra {
    margin-top: 30px;
    order: 3;
  }
  .pubs-side {
    margin-bottom: 18px;
  }
  .pubs-fold {
    border: 1px solid #c9cacc;
    border-radius: 6px;
  }
  .pubs-fold > summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    font-size: 16px;
    justify-content: space-between;
    list-style: none;
    padding: 12px 14px;
  }
  .pubs-fold > summary::-webkit-details-marker {
    display: none;
  }
  .pubs-fold > summary::after {
    border-bottom: 2px solid var(--tdt-accent);
    border-right: 2px solid var(--tdt-accent);
    content: "";
    height: 8px;
    margin-bottom: 4px;
    transform: rotate(45deg);
    width: 8px;
  }
  .pubs-fold[open] > summary::after {
    margin: 4px 0 0;
    transform: rotate(225deg);
  }
  .pubs-fold[open] > summary {
    border-bottom: 1px solid #e1e1e1;
  }
  .pubs-areas,
  .pubs-filter {
    padding: 14px;
  }
  .pubs-filter {
    margin-top: 0;
  }
  .pubs .pub-item__title {
    font-size: 17px;
  }
  .pubs .pagination .pages a,
  .pubs .pagination .pages span {
    margin-bottom: 4px;
  }
}

/* Product pages: the papers are <article>s inside the page's own <article>,
   whose old width/float rules (65%, floated) must not reach them */
#single.products .container article article.pub-item,
#single.products .container article.pub-card {
  float: none;
  margin: 0;
  width: auto;
}
/* Four tabs (with Publications) fit on one line: smaller labels (desktop) */
@media all and (min-width: 920px) {
  #single.products .container article .tabs:has(> .tab:nth-child(4)) .tab {
    padding: 0 10px;
  }
  #single.products .container article .tabs:has(> .tab:nth-child(4)) .tab:first-child {
    padding-left: 0;
  }
  #single.products .container article .tabs:has(> .tab:nth-child(4)) .tab:last-child {
    padding-right: 0;
  }
  #single.products .container article .tabs:has(> .tab:nth-child(4)) .tab h3 {
    font-size: 17px;
  }
}
/* Four tabs on phones: two rows of two (one row of four doesn't fit) */
@media all and (max-width: 599.9375px) {
  #single.products .container article .tabs:has(> .tab:nth-child(4)) {
    flex-wrap: wrap;
  }
  #single.products .container article .tabs:has(> .tab:nth-child(4)) .tab {
    flex: 1 1 50%;
    box-sizing: border-box;
  }
  #single.products .container article .tabs:has(> .tab:nth-child(4)) .tab:nth-child(odd) {
    border-left: none;
  }
  #single.products .container article .tabs:has(> .tab:nth-child(4)) .tab:nth-child(n+3) {
    border-top: 1px solid #c9cacc;
  }
}
/* Product pages: Publications tab (3 newest papers as a list) */
.pub-tab {
  font-size: 16px;
}
#single.products .container article .pub-tab__lead {
  color: #53565a;
  font-size: 16px;
  margin: 4px 0 2px;
}
#single.products .container article .pub-item {
  border-bottom: 1px solid #e1e1e1;
  padding: 18px 0 16px;
}
#single.products .container article .pub-item__source {
  color: var(--tdt-accent-dark);
  font-family: "Geogrotesque Bold", "Geogrotesque Fallback", sans-serif;
  font-size: 12px;
  letter-spacing: 1px;
  margin: 0 0 6px;
  text-transform: uppercase;
}
#single.products .container article h2.pub-item__title {
  font-family: industry, "Geogrotesque Fallback", sans-serif;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.3px;
  line-height: 1.3;
  margin: 0 0 6px;
  text-transform: none;
}
#single.products .container article .pub-item__authors {
  color: #53565A;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-style: italic;
  line-height: 1.45;
  margin: 0 0 10px;
}
#single.products .container article .pub-item__abstract p {
  color: #3d4046;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14.5px;
  line-height: 1.6;
  margin: 8px 0 4px;
}
#single.products .container article .pub-tab__all {
  margin: 18px 0 0;
}
#single.products .container article .pub-tab__all a {
  color: #101820;
  font-family: industry, "Geogrotesque Fallback", sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.3px;
  text-decoration: underline;
  text-decoration-color: var(--tdt-accent);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}
/* Product pages: pages without the tabs (iCon): "Published research using the iCon" band */
.prod-pubs {
  background: #f6f6f4;
  border-top: 3px solid var(--tdt-accent);
  padding: 50px 20px 56px;
}
.prod-pubs .container {
  margin: 0 auto;
  max-width: 1180px;
}
.prod-pubs__top {
  align-items: baseline;
  display: flex;
  gap: 8px 20px;
  justify-content: space-between;
  margin: 0 0 20px;
}
main .prod-pubs h2 {
  color: #101820;
  font-family: industry, sans-serif;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.15;
  margin: 0;
  text-align: left;
  text-transform: uppercase;
}
.prod-pubs__all {
  color: #101820;
  flex: none;
  font-family: industry, "Geogrotesque Fallback", sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.3px;
  text-decoration: underline;
  text-decoration-color: var(--tdt-accent);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

/* News & events: its own dark band */
#front .home-news {
  background: linear-gradient(160deg, #2f343b 0%, #1a2028 55%, #101820 100%);
  border-bottom: 4px solid var(--tdt-accent);
  border-top: 4px solid var(--tdt-accent);
  padding: 40px 20px 44px;
}
#front .home-news__in {
  align-items: stretch;
  display: grid;
  gap: 20px;
  grid-template-columns: auto repeat(3, minmax(0, 1fr));
  margin: 0 auto;
  max-width: 1180px;
}
#front .home-news__in--1 { grid-template-columns: auto minmax(0, 1fr); }
#front .home-news__in--2 { grid-template-columns: auto repeat(2, minmax(0, 1fr)); }
#front .home-news__in--4 { grid-template-columns: auto repeat(4, minmax(0, 1fr)); }
#front .home-news h2 {
  align-self: center;
  color: #fff;
  font-family: Industry, sans-serif;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.1;
  margin: 0 12px 0 0;
  text-align: left;
  text-transform: uppercase;
}
#front .home-news__item {
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: var(--tdt-card-radius);
  color: #fff;
  display: block;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  line-height: 1.4;
  padding: 14px 18px;
  text-decoration: none;
  transition: border-color .15s, background .15s;
}
#front a.home-news__item:hover,
#front a.home-news__item:focus-visible {
  background: rgba(255, 255, 255, .1);
  border-color: var(--tdt-accent);
}
#front .home-news__item b {
  color: var(--tdt-accent-bright);
  display: block;
  font-family: Geogrotesque Bold, Geogrotesque Fallback, sans-serif;
  font-size: 12px;
  font-weight: normal;
  letter-spacing: 1px;
  margin-bottom: 4px;
  text-transform: uppercase;
}

/* Why TDT: heading, text, cards, button; background in TDT Theme > Home page */
#front .dedicated.home-why {
  background: var(--tdt-why-bg, #f2f2f1) center / cover no-repeat;
  margin: 0;
  overflow: hidden;
}
#front .dedicated.home-why--hexagons,
#front .dedicated.home-why--still {
  background-image: linear-gradient(180deg, rgba(255, 255, 255, .45) 0%, rgba(0, 0, 0, .03) 100%);
}
#front .dedicated.home-why .container .full h2 {
  color: #101820;
  font-family: Industry, sans-serif;
  font-size: 30px;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
}
#front .home-why p.home-why__text {
  color: #3d4046;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 18px;
  line-height: 1.55;
  margin: -6px auto 34px;
  max-width: 760px;
  text-align: center;
}
#front .home-why p.home-why__button {
  clear: both;
  margin: 0;
  padding: 40px 0 0;
  text-align: center;
}
/* Softer cards (2026-10-19): rounded like the research area cards, a soft
   shadow instead of a hard photo edge, a lighter fade behind the title */
#front .home-why .container article {
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(16, 24, 32, .14), 0 1px 3px rgba(16, 24, 32, .08);
  isolation: isolate;
  transition: box-shadow .15s, transform .15s;
}
#front .home-why .container article:hover {
  box-shadow: 0 10px 28px rgba(16, 24, 32, .2), 0 2px 4px rgba(16, 24, 32, .08);
  transform: translateY(-3px);
}
#front .home-why .container article .block {
  background: linear-gradient(to bottom, rgba(16, 24, 32, 0) 45%, rgba(16, 24, 32, .88) 100%);
}
.home-hex {
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}
.home-hex i {
  display: block;
  position: absolute;
  transform: translate(-50%, -50%);
}
.home-hex svg {
  display: block;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .04));
  height: auto;
  width: 100%;
}
.home-why--hexagons .home-hex svg {
  animation: tdt-hex-drift var(--d, 20s) ease-in-out var(--dl, 0s) infinite alternate;
}
@keyframes tdt-hex-drift {
  to {
    transform: translate(var(--dx, 0), var(--dy, 0)) rotate(var(--r, 0deg));
  }
}
@media (prefers-reduced-motion: reduce) {
  .home-why--hexagons .home-hex svg {
    animation: none;
  }
}

/* Tablet */
@media all and (max-width: 1099.9375px) {
  #front .home-banner__in { min-height: 440px; }
  #front .home-banner h1 { font-size: 38px; }
  #front .home-banner__pic { height: 300px; }
  #front .home-feature__in { gap: 36px; }
  #front .home-feature__pic { flex-basis: 300px; }
  #front .pub-cards,
  .prod-pubs .pub-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #front .pub-cards .pub-card:nth-child(3),
  .prod-pubs .pub-cards .pub-card:nth-child(3) { display: none; }
}
@media all and (max-width: 899.9375px) {
  #front .home-banner__in {
    align-items: flex-start;
    flex-direction: column;
    gap: 26px;
    min-height: 0;
    padding: 40px 20px 36px;
  }
  #front .home-banner__text { max-width: 640px; }
  #front .home-banner--shade:before {
    background: linear-gradient(180deg, rgba(16, 24, 32, .92) 0%, rgba(16, 24, 32, .78) 60%, rgba(16, 24, 32, .45) 100%);
  }
  #front .home-banner__pic {
    align-self: center;
    height: auto;
    max-width: 300px;
  }
  #front .home-feature__in {
    align-items: stretch;
    flex-direction: column;
    gap: 24px;
  }
  #front .home-feature__pic {
    align-self: center;
    flex: none;
    width: 260px;
  }
  #front .home-news__in,
  #front .home-news__in--1,
  #front .home-news__in--2,
  #front .home-news__in--4 {
    gap: 12px;
    grid-template-columns: minmax(0, 1fr);
  }
  #front .home-news h2 { margin: 0 0 6px; }
}
/* Phone */
@media all and (max-width: 599.9375px) {
  .home-bar { font-size: 13px; }
  .home-bar a {
    display: block;
    margin: 3px 0 0;
  }
  #front .home-banner h1 { font-size: 31px; }
  #front .home-banner p.home-banner__lead {
    font-size: 17px;
    margin-bottom: 22px;
  }
  #front .home-feature { padding: 44px 16px; }
  #front .home-feature h2 { font-size: 28px; }
  #front .home-feature__label {
    flex-direction: column;
    gap: 2px;
  }
  #front .home-modules__grid { gap: 8px; }
  #front .home-module { padding: 7px 7px 6px; }
  #front .home-module span { font-size: 12px; }
  #front .home-module span b { font-size: 14px; }
  #front .home-modules.is-open .home-modules__grid { display: none; }
  #front .home-modules.is-open .home-modules__panel { position: relative; }
  #front .home-modules__foot {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
  #front .home-pubs { padding: 44px 16px; }
  #front .home-pubs__top {
    flex-direction: column;
    gap: 6px;
  }
  #front .pub-cards,
  .prod-pubs .pub-cards { grid-template-columns: minmax(0, 1fr); }
  #front .pub-cards .pub-card:nth-child(3),
  .prod-pubs .pub-cards .pub-card:nth-child(3) { display: flex; }
  .prod-pubs { padding: 40px 16px 44px; }
  .prod-pubs__top { flex-direction: column; }
  main .prod-pubs h2 { font-size: 22px; }
  #front .home-news { padding: 32px 16px 36px; }
  .home-hex i { zoom: .7; }
}

/* ==========================================================================
   Header menus (2026-10-04)
   Menu row: Systems, Products, then the Header menu (Support, About,
   Contact, Request a Quote) in one flex row, so nothing drops to a second
   line at tablet widths. Below 769px the phone menu takes over.
   Mega menus (functions/menus.php tdt_mega_menu): every category and all of
   its systems/products at once, in a panel under the header.
   ========================================================================== */
header .container {
  position: relative;
}
header .container .menu {
  display: flex;
  align-items: center;
}
header .container .menu nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
}
header .container .menu nav > ul {
  display: contents;
}
header .container .menu nav > ul > li {
  margin: 0;
}
header .container .menu nav .applications,
header .container .menu nav .products {
  float: none;
  position: static;
}
header .container .menu nav .applications {
  order: -2;
}
header .container .menu nav .products {
  order: -1;
}
header .container .menu nav .applications > span,
header .container .menu nav .products > span {
  padding: 0;
}
header .container .menu nav .applications > span a,
header .container .menu nav .products > span a {
  display: block;
  padding: 53px 5px;
}
header .container .menu nav .applications:hover > span a,
header .container .menu nav .products:hover > span a,
header .container .menu nav .applications > span a[aria-expanded="true"],
header .container .menu nav .products > span a[aria-expanded="true"] {
  color: var(--tdt-accent-dark);
}
@media all and (max-width: 939.9375px) {
  header .container .menu nav {
    gap: 4px;
  }
  header .container .menu nav ul li a,
  header .container .menu nav .applications > span a,
  header .container .menu nav .products > span a {
    font-size: 13px;
    padding-left: 3px;
    padding-right: 3px;
  }
  header .container .menu nav ul li.quote a {
    font-size: 14px;
    letter-spacing: .5px;
    padding: 8px 12px;
  }
}
@media all and (max-width: 768.9375px) {
  header .container .logo {
    width: 100%;
    text-align: center;
  }
  header .container .menu {
    display: none;
  }
}

/* The panel */
header .container .menu nav .megamenu.mm {
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 1104px;
  max-width: calc(100vw - 20px);
  margin: 0;
  background: #fff;
  border-top: 3px solid var(--tdt-accent-dark);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22);
  font-family: Arial, Helvetica, sans-serif;
  text-align: left;
  z-index: 9;
}
/* Keeps the panel open while the pointer moves down from the menu word */
header .container .menu nav .megamenu.mm:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  height: 14px;
}
.mm__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px 26px;
  padding: 14px 26px;
  background: #fafafa;
  border-bottom: 1px solid #e9e9e9;
}
.mm__links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 26px;
}
header .container .menu nav .mm__top a {
  color: #101820;
  font-family: Geogrotesque Bold, Geogrotesque Fallback, sans-serif;
  font-size: 14px;
  letter-spacing: .5px;
  text-decoration: none;
  text-transform: uppercase;
}
header .container .menu nav .mm__top a:hover,
header .container .menu nav .mm__top a:focus-visible {
  color: var(--tdt-accent-dark);
}
header .container .menu nav .mm__top a.mm__all {
  flex: 0 0 auto;
  background: #101820;
  color: #fff;
  padding: 8px 16px;
}
header .container .menu nav .mm__top a.mm__all:hover,
header .container .menu nav .mm__top a.mm__all:focus-visible {
  background: var(--tdt-accent-dark);
  color: #101820;
}
.mm__cols {
  column-count: 4;
  column-gap: 30px;
  padding: 18px 26px 4px;
}
.mm--systems .mm__cols {
  column-count: auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0 30px;
}
.mm__cat {
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  margin: 0 0 18px;
}
header .container .menu nav .mm a.mm__head {
  display: flex;
  align-items: center;
  border-bottom: 2px solid #e9e9e9;
  color: #101820;
  font-family: Geogrotesque Bold, Geogrotesque Fallback, sans-serif;
  font-size: 15px;
  line-height: 1.2;
  margin: 0 0 6px;
  padding: 0 0 6px;
  text-decoration: none;
  text-transform: uppercase;
}
header .container .menu nav .mm a.mm__head:hover,
header .container .menu nav .mm a.mm__head:focus-visible {
  color: var(--tdt-accent-dark);
}
/* Category picture in a circle of the category colour (Products/Systems >
   Product/System Categories > edit: Icon, Category Color / Color Picker) */
.mm__icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin: 0 10px 0 0;
  overflow: hidden;
  background: #53565A;
  border-radius: 50%;
}
.mm__icon img {
  display: block;
  width: 26px;
  height: 26px;
  object-fit: contain;
}
/* Systems: same proportions as the home page research area cards */
.mm--systems .mm__icon {
  width: 44px;
  height: 44px;
}
.mm--systems .mm__icon img {
  width: 28px;
  height: 28px;
}
.mm__head em {
  color: #97999B;
  font-size: 12px;
  font-style: normal;
  margin: 0 0 0 6px;
}
header .container .menu nav .mm a.mm__item {
  display: block;
  color: #101820;
  font-size: 13.5px;
  line-height: 1.3;
  padding: 3px 0;
  text-decoration: none;
}
header .container .menu nav .mm--systems a.mm__item {
  font-size: 14.5px;
  padding: 5px 0;
}
.mm__item b {
  font-weight: 700;
}
.mm__item span {
  color: #53565A;
}
.mm__item span:before {
  content: "\2013\00a0";
}
header .container .menu nav .mm a.mm__item:hover,
header .container .menu nav .mm a.mm__item:focus-visible {
  color: var(--tdt-accent-dark);
}
header .container .menu nav .mm a.mm__item:hover span,
header .container .menu nav .mm a.mm__item:focus-visible span {
  color: #101820;
}
/* Columns set per category ("Menu column" field) */
.mm__cols--set {
  column-count: auto;
  display: grid;
  grid-template-columns: repeat(var(--mm-cols, 4), minmax(0, 1fr));
  gap: 0 30px;
}
@media all and (max-width: 1023.9375px) {
  .mm__cols {
    column-count: 3;
  }
  /* Too narrow for the set columns: let the browser balance 3 columns */
  .mm__cols--set {
    display: block;
  }
  .mm__col {
    display: contents;
  }
  .mm--systems .mm__cols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Products menu, one group at a time (2026-10-08, functions/products-menu.php):
   the groups on the left, the products of one group on the right. Each pane
   follows its group in the HTML; the grid puts all panes in column 2. */
.pm {
  background: linear-gradient(to right, #f4f4f4 249px, #e3e3e3 249px, #e3e3e3 250px, #fff 250px);
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  grid-template-rows: repeat(var(--pm-rows, 11), auto) 1fr;
  min-height: 430px;
  padding: 10px 0 8px;
}
header .container .menu nav .pm a.pm__tab {
  align-items: center;
  border-left: 4px solid transparent;
  color: #101820;
  display: flex;
  font-family: Geogrotesque Bold, Geogrotesque Fallback, sans-serif;
  font-size: 14.5px;
  gap: 6px;
  grid-column: 1;
  letter-spacing: .3px;
  line-height: 1.2;
  padding: 9px 14px 9px 22px;
  text-decoration: none;
  text-transform: uppercase;
}
header .container .menu nav .pm a.pm__tab:after {
  color: #97999B;
  content: "\203A";
  font-size: 20px;
  line-height: 1;
}
.pm__tab > span {
  flex: 1;
}
.pm__tab em {
  color: #97999B;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  font-style: normal;
}
header .container .menu nav .pm a.pm__tab.is-on {
  background: #fff;
  border-left-color: var(--tdt-accent-dark);
}
header .container .menu nav .pm a.pm__tab:hover,
header .container .menu nav .pm a.pm__tab:focus-visible {
  color: var(--tdt-accent-dark);
}
.pm__pane {
  grid-column: 2;
  grid-row: 1 / -1;
  padding: 10px 26px 10px 28px;
}
.pm__pane[hidden] {
  display: none;
}
header .container .menu nav .pm__title {
  color: #101820;
  font-family: Geogrotesque Bold, Geogrotesque Fallback, sans-serif;
  font-size: 19px;
  letter-spacing: .3px;
  line-height: 1.2;
  margin: 0 0 4px;
  text-transform: uppercase;
}
header .container .menu nav .pm__lead {
  color: #53565A;
  font-size: 14px;
  line-height: 1.4;
  margin: 0 0 10px;
  max-width: 640px;
}
.pm__grid {
  display: grid;
  gap: 2px 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
header .container .menu nav .pm__sub {
  color: #97999B;
  font: bold 11px/1.2 Arial, Helvetica, sans-serif;
  grid-column: 1 / -1;
  letter-spacing: .6px;
  margin: 10px 0 2px;
  text-transform: uppercase;
}
header .container .menu nav .pm .pm__item {
  align-items: center;
  border-radius: 8px;
  color: #101820;
  display: flex;
  gap: 12px;
  margin: 0 -8px;
  padding: 5px 8px;
  text-decoration: none;
}
header .container .menu nav .pm a.pm__item:hover,
header .container .menu nav .pm a.pm__item:focus-visible {
  background: #f4f4f4;
}
header .container .menu nav .pm a.pm__item:hover b,
header .container .menu nav .pm a.pm__item:focus-visible b {
  color: var(--tdt-accent-text);
}
.pm__pic {
  align-items: center;
  background: #f4f4f4;
  border-radius: 6px;
  box-sizing: border-box;
  display: flex;
  flex: 0 0 66px;
  height: 50px;
  justify-content: center;
  overflow: hidden;
  padding: 2px;
}
/* "iCon Platform" after the model (TDT Theme > Header menus > Label on iCon
   products) */
.pm__tag {
  color: var(--tdt-accent-text);
  font-size: 11px;
  font-style: normal;
  font-weight: bold;
  letter-spacing: .2px;
  margin-left: 4px;
  white-space: nowrap;
}
.pm__pic img {
  height: auto;
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
  width: auto;
}
.pm__txt {
  display: flex;
  flex-direction: column;
  font-size: 14px;
  line-height: 1.3;
  min-width: 0;
}
.pm__txt b {
  font-weight: 700;
}
.pm__txt span {
  color: #6b6e72;
  font-size: 13.5px;
}
.pm__txt small {
  color: #97999B;
  font-size: 11.5px;
  font-style: italic;
}
header .container .menu nav .pm__foot {
  border-top: 1px solid #eee;
  font-size: 14px;
  margin: 14px 0 0;
  padding: 10px 0 0;
}
header .container .menu nav .pm__foot a {
  color: var(--tdt-accent-text);
  font-weight: bold;
  text-decoration: none;
}
header .container .menu nav .pm__foot a:hover,
header .container .menu nav .pm__foot a:focus-visible {
  text-decoration: underline;
}
@media all and (max-width: 1023.9375px) {
  .pm {
    background: linear-gradient(to right, #f4f4f4 209px, #e3e3e3 209px, #e3e3e3 210px, #fff 210px);
    grid-template-columns: 210px minmax(0, 1fr);
  }
  header .container .menu nav .pm a.pm__tab {
    font-size: 13.5px;
    padding-left: 16px;
  }
  .pm__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/* Phone menu: sub-headings and grey descriptors */
.mobile .block ul li.pm-m__sub {
  color: #d0d0ce;
  font: bold 12px/1.2 Arial, Helvetica, sans-serif;
  letter-spacing: .6px;
  margin: 14px 0 6px 15px;
  text-transform: uppercase;
}
.mobile .block ul li.pm-m__item .pm__tag {
  color: color-mix(in srgb, var(--tdt-accent-bright) 65%, #fff);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
}
/* Long group names wrap beside their arrow, not under it */
.mobile .block ul li.prods li.parent > a {
  max-width: calc(100% - 45px);
  vertical-align: top;
}
.mobile .block ul li .dropdown li.pm-m__item {
  margin-bottom: 4px;
}
.mobile .block ul li .dropdown li.pm-m__item a {
  font-size: 18px;
}
.mobile .block ul li.pm-m__item span {
  color: #d0d0ce;
  display: block;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 400;
  margin-top: 1px;
  padding: 0; /* not the arrow padding of li.parent span */
}
.mobile .block ul li.pm-m__item--soon {
  color: #fff;
  font-family: Industry, sans-serif;
  font-size: 18px;
  opacity: .75;
  padding: 5px 15px;
}

/* Products page, groups layout (2026-10-08): all cards alike; iCon
   products only get the small "iCon Platform" label above the model; cards
   without a page yet are dashed */
.pcat-card .pcat-card__tag--icon {
  color: var(--tdt-accent-text);
  letter-spacing: 0;
  text-transform: none;
}
.pcat-grid .pcat-card--soon {
  border-style: dashed;
}
.pcat-card__soon {
  color: #97999B;
  font-size: 12px;
  font-style: italic;
  margin-top: 4px;
}

/* ==========================================================================
   Product and system pages (2026-10-04)
   ========================================================================== */

/* Category pages: every product/system as a card (functions/product-cards.php
   tdt_category_card), instead of the carousel */
.cat-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 20px;
  padding: 40px 0;
}
a.cat-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e1e1e1;
  border-radius: var(--tdt-card-radius);
  color: #101820;
  overflow: hidden;
  text-decoration: none;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
a.cat-card:hover,
a.cat-card:focus-visible {
  border-color: var(--tdt-accent);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.10);
  transform: translateY(-2px);
}
.cat-card__pic {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  background: #fff;
  border-bottom: 1px solid #efefef;
}
.cat-card__pic img.cat-card__img {
  position: absolute;
  top: 12px;
  left: 12px;
  width: calc(100% - 24px);
  height: calc(100% - 24px);
  max-width: none;
  object-fit: contain;
}
.cat-card__body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px 16px 18px;
}
.cat-card__name {
  font-family: Geogrotesque Bold, Geogrotesque Fallback, sans-serif;
  font-size: 19px;
  line-height: 1.15;
}
a.cat-card:hover .cat-card__name,
a.cat-card:focus-visible .cat-card__name {
  color: var(--tdt-accent-text);
}
.cat-card__sub {
  color: #101820;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
}
.cat-card__text {
  color: #53565A;
  display: -webkit-box;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13.5px;
  font-weight: 400;
  line-height: 1.45;
  margin-top: 4px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  line-clamp: 4;
}
/* Phones: one card per row, picture at the left */
@media all and (max-width: 599.9375px) {
  .cat-cards {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 24px 0;
  }
  a.cat-card {
    flex-direction: row;
    align-items: stretch;
  }
  .cat-card__pic {
    flex: 0 0 108px;
    aspect-ratio: auto;
    min-height: 96px;
    border-bottom: 0;
    border-right: 1px solid #efefef;
  }
  .cat-card__pic img.cat-card__img {
    top: 8px;
    left: 8px;
    width: calc(100% - 16px);
    height: calc(100% - 16px);
  }
  .cat-card__text {
    -webkit-line-clamp: 3;
    line-clamp: 3;
  }
  .cat-card__body {
    padding: 10px 12px 12px;
  }
  .cat-card__name {
    font-size: 17px;
  }
}

/* Tabs (Research uses / Product specs / Resources; Description / Specs &
   Resources / Publications): the ones not shown were light grey (#e1e1e1)
   on white and easy to miss. Now dark grey; the open one is dark with an
   orange underline. */
@media all and (min-width: 920px) {
  #single.products .container article .tabs .tab h3,
  #single.systems .container article .tabs .tab h3,
  .container article .tabs .tab h3 {
    color: #53565A;
    text-decoration: underline 3px transparent;
    text-underline-offset: 9px;
  }
  #single.products .container article .tabs .tab h3:hover,
  #single.systems .container article .tabs .tab h3:hover,
  .container article .tabs .tab h3:hover {
    color: #101820;
    text-decoration-color: color-mix(in srgb, var(--tdt-accent) 50%, #fff);
  }
  #single.products .container article .tabs .tab.selected h3,
  #single.systems .container article .tabs .tab.selected h3,
  #single.products .container article .tabs .tab h3.selected,
  #single.systems .container article .tabs .tab h3.selected,
  .container article .tabs .tab.selected h3 {
    color: #101820;
    text-decoration-color: var(--tdt-accent);
  }
}
/* Narrow screens (2026-10-05): the tabs were stacked grey bars; now one row
   of equal buttons (a segmented control), the open one dark. */
@media all and (max-width: 919.9375px) {
  #page.systems .container article .tabs,
  #page.products .container article .tabs,
  #single.products .container article .tabs,
  #single.systems .container article .tabs,
  .container article .tabs {
    display: flex;
    padding: 0;
    border: 1px solid #c9cacc;
    border-radius: 6px;
    overflow: hidden;
  }
  #page.systems .container article .tabs:after,
  #page.products .container article .tabs:after,
  #single.products .container article .tabs:after,
  #single.systems .container article .tabs:after,
  .container article .tabs:after {
    display: none;
  }
  #page.systems .container article .tabs .tab,
  #page.products .container article .tabs .tab,
  #single.products .container article .tabs .tab,
  #single.systems .container article .tabs .tab,
  .container article .tabs .tab {
    flex: 1 1 0;
    float: none;
    width: auto;
    height: auto;
    min-height: 48px;
    padding: 8px 6px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #f3f3f3;
    border: none;
    box-shadow: none;
  }
  #page.systems .container article .tabs .tab + .tab,
  #page.products .container article .tabs .tab + .tab,
  #single.products .container article .tabs .tab + .tab,
  #single.systems .container article .tabs .tab + .tab,
  .container article .tabs .tab + .tab {
    border-left: 1px solid #c9cacc;
  }
  #page.systems .container article .tabs .tab:hover,
  #page.products .container article .tabs .tab:hover,
  #single.products .container article .tabs .tab:hover,
  #single.systems .container article .tabs .tab:hover,
  .container article .tabs .tab:hover {
    background: #e7e7e7;
  }
  #page.systems .container article .tabs .tab h3,
  #page.products .container article .tabs .tab h3,
  #single.products .container article .tabs .tab h3,
  #single.systems .container article .tabs .tab h3,
  .container article .tabs .tab h3 {
    color: #53565A;
    font-size: 14px;
    line-height: 1.2;
    letter-spacing: 0.5px;
  }
  #page.systems .container article .tabs .tab.selected,
  #page.products .container article .tabs .tab.selected,
  #single.products .container article .tabs .tab.selected,
  #single.systems .container article .tabs .tab.selected,
  .container article .tabs .tab.selected {
    background: #101820;
  }
  #page.systems .container article .tabs .tab.selected h3,
  #page.products .container article .tabs .tab.selected h3,
  #single.products .container article .tabs .tab.selected h3,
  #single.systems .container article .tabs .tab.selected h3,
  #single.products .container article .tabs .tab h3.selected,
  #single.systems .container article .tabs .tab h3.selected,
  .container article .tabs .tab.selected h3 {
    color: #fff;
  }
}

/* Product pages, desktop: the photos stay in view while the text scrolls
   (long pages like iX7 had an empty right side) */
@media all and (min-width: 768px) {
  #single.products > .container > aside {
    position: -webkit-sticky;
    position: sticky;
    top: 20px;
  }
}
/* Product pages, phones: theme.js moves the photos up under the name */
@media all and (max-width: 767.9375px) {
  #single.products .container article > aside {
    float: none;
    width: 100%;
    margin: 0 0 28px;
  }
}

/* Phones (2026-10-05, from a 160-page check at 390px):
   - Tables typed into page text (comparison tables, adapter lists, events)
     were wider than the screen, so the whole page could be dragged
     sideways; now the table scrolls on its own.
   - Long links (DOIs) in article text break instead of widening the page;
     image captions (WordPress gives them a fixed width) fit the screen.
   - Form fields at 16px (iPhones zoom in on smaller fields when tapped)
     and full width in quote/RMA/feedback forms (some were half width).
   - Footer social icons get a bigger tap area. */
@media all and (max-width: 767.9375px) {
  main article table,
  .flex article table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  main article,
  .flex article {
    overflow-wrap: break-word;
  }
  main article a,
  .flex article a {
    overflow-wrap: anywhere;
  }
  main input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
  main select,
  main textarea,
  .flex input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
  .flex select,
  .flex textarea {
    font-size: 16px !important;
  }
  main .gform_wrapper input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
  main .gform_wrapper select,
  main .gform_wrapper textarea {
    width: 100% !important;
    max-width: 100%;
  }
  main .wp-caption,
  .flex .wp-caption {
    max-width: 100%;
  }
  footer .container .info .social {
    padding: 6px;
  }
  footer .container .info .social:not(:last-child) {
    margin: 0 14px 0 0;
  }
}

/* Products page (2026-10-05, page-products.php): header with search and
   "Talk to a specialist", sticky jump links, product cards in sections with
   an orange line between sections. Wording: TDT Theme > Products page. */
.pcat {
  --pcat-dark: #101820;
  --pcat-orange: var(--tdt-accent);
  color: #1d2026;
}
/* Search: cards and sections without a match are hidden (the card's own
   display: flex would otherwise win over the hidden attribute) */
.pcat [hidden] {
  display: none !important;
}
.pcat-in {
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 1140px;
  padding: 0 20px;
}
.pcat h1,
.pcat h2,
.pcat h3,
.pcat-card__code,
.pcat-chip {
  font-family: "Geogrotesque Bold", "Geogrotesque Fallback", sans-serif;
  font-weight: normal;
}
.pcat-hero {
  background: var(--pcat-dark);
  background-position: center;
  background-size: cover;
  color: #fff;
  padding: 44px 0 40px;
  position: relative;
}
/* A picture behind the header: dark tint so the white text stays readable */
.pcat-hero--image:before {
  /* --tdt-hero-tint: TDT Theme > Page headers (functions/page-layouts.php) */
  background: rgba(16, 24, 32, var(--tdt-hero-tint, 0.72));
  content: "";
  inset: 0;
  position: absolute;
}
/* Headers without a picture: black with a touch of the site colour on the
   right, the text side stays black (TDT Theme > Page headers > Headers
   without a picture; body class from functions/page-layouts.php). Browsers
   without color-mix() keep the plain black above. */
.tdt-ph-glow_line .pcat-hero:not(.pcat-hero--image),
.tdt-ph-glow .pcat-hero:not(.pcat-hero--image),
.tdt-ph-glow_line .pubs-hero,
.tdt-ph-glow .pubs-hero {
  background: radial-gradient(70% 160% at 100% 60%, color-mix(in srgb, var(--tdt-accent) 70%, transparent) 0%, color-mix(in srgb, var(--tdt-accent) 25%, transparent) 45%, transparent 75%), var(--pcat-dark, #101820);
}
.tdt-ph-fade .pcat-hero:not(.pcat-hero--image),
.tdt-ph-fade .pubs-hero {
  background: linear-gradient(105deg, var(--pcat-dark, #101820) 45%, color-mix(in srgb, var(--tdt-accent) 55%, transparent) 85%, color-mix(in srgb, var(--tdt-accent) 80%, transparent) 100%), var(--pcat-dark, #101820);
}
.tdt-ph-low_line .pcat-hero:not(.pcat-hero--image),
.tdt-ph-low_line .pubs-hero {
  background: linear-gradient(180deg, var(--pcat-dark, #101820) 40%, color-mix(in srgb, var(--tdt-accent) 45%, transparent) 100%), var(--pcat-dark, #101820);
}
.tdt-ph-grid .pcat-hero:not(.pcat-hero--image),
.tdt-ph-grid .pubs-hero {
  background: linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px) 0 0 / 40px 40px, linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px) 0 0 / 40px 40px, radial-gradient(60% 140% at 100% 100%, color-mix(in srgb, var(--tdt-accent) 60%, transparent) 0%, transparent 70%), var(--pcat-dark, #101820);
}
.tdt-ph-glow_line .pcat-hero:not(.pcat-hero--image),
.tdt-ph-low_line .pcat-hero:not(.pcat-hero--image),
.tdt-ph-glow_line .pubs-hero,
.tdt-ph-low_line .pubs-hero {
  border-bottom: 2px solid var(--tdt-accent);
}
/* Research area pages: the area's icon on its colour above the heading */
.tax-hero__icon {
  align-items: center;
  background: var(--tdt-accent);
  /* white ring: Electrophysiology's circle is black, like the header */
  border: 3px solid #fff;
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  height: 72px;
  justify-content: center;
  margin: 0 0 16px;
  width: 72px;
}
.tax-hero__icon img {
  height: auto;
  max-height: 44px;
  max-width: 44px;
}
/* Search results and Page not found: the search box in the header */
.pg-head--search .search-form {
  border-radius: 6px;
  max-width: 560px;
  overflow: hidden;
}
.pg-head--search .search-form [type="search"] {
  border: 0;
  padding: 12px 14px;
}
.pg-head--search .pcat-hero p {
  margin-bottom: 18px;
}
.pcat-hero__in {
  align-items: center;
  display: flex;
  gap: 40px;
  justify-content: space-between;
  position: relative;
}
.pcat-hero__main {
  flex: 1 1 auto;
  max-width: 680px;
}
.pcat-hero h1 {
  color: #fff;
  font-size: 44px;
  letter-spacing: 1px;
  line-height: 1.1;
  margin: 0 0 10px;
  text-transform: uppercase;
}
.pcat-hero p {
  color: #d0d0ce;
  font-size: 18px;
  line-height: 1.5;
  margin: 0 0 22px;
}
.pcat-search {
  background: #fff;
  border-radius: 6px;
  display: flex;
  max-width: 520px;
  overflow: hidden;
}
.pcat-search input {
  background: transparent;
  border: 0;
  color: #1d2026;
  flex: 1 1 auto;
  font-size: 16px;
  min-width: 0;
  outline: 0;
  padding: 14px 16px;
}
.pcat-search:focus-within {
  box-shadow: 0 0 0 3px var(--pcat-orange);
}
.pcat-search__count {
  color: #53565a;
  flex: none;
  font-size: 14px;
  padding: 14px 16px;
}
.pcat-talk {
  background: #1a232d;
  border: 1px solid #53565a;
  border-left: 4px solid var(--pcat-orange);
  border-radius: var(--tdt-card-radius);
  box-sizing: border-box;
  flex: 0 0 310px;
  padding: 18px 20px;
}
.pcat .pcat-talk__title {
  color: #fff;
  font-size: 19px;
  margin: 0 0 4px;
  text-transform: uppercase;
}
.pcat-hero .pcat-talk__text {
  font-size: 14px;
  margin: 0 0 14px;
}
.pcat-talk .button.quote-btn,
.pcat-end .button.quote-btn {
  color: var(--tdt-button-text-dark-bg, #fff);
  margin: 0;
}
.pcat-talk .button.quote-btn:hover,
.pcat-talk .button.quote-btn:focus-visible,
.pcat-end .button.quote-btn:hover,
.pcat-end .button.quote-btn:focus-visible {
  color: var(--tdt-quote-text, var(--tdt-quote-on, #fff));
}
.pcat-hero .pcat-talk__more {
  color: #97999b;
  font-size: 13px;
  line-height: 1.6;
  margin: 10px 0 0;
}
.pcat-talk__more a {
  color: #d0d0ce;
  text-decoration: underline;
}
.pcat-chips {
  background: #fff;
  border-bottom: 1px solid #e1e1e1;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  position: sticky;
  top: 0;
  z-index: 20;
}
.pcat-chips__in {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 12px;
  padding-top: 12px;
  scrollbar-width: none;
}
.pcat-chip {
  border: 1px solid #c9cacc;
  border-radius: 999px;
  color: #1d2026;
  font-size: 14px;
  padding: 7px 14px;
  text-decoration: none;
  white-space: nowrap;
}
.pcat-chip:hover,
.pcat-chip:focus-visible {
  border-color: var(--pcat-orange);
  color: #1d2026;
}
.pcat-chip.is-on {
  background: var(--pcat-dark);
  border-color: var(--pcat-dark);
  color: #fff;
}
.pcat-sec {
  margin-bottom: 34px;
  scroll-margin-top: 70px;
}
.pcat-sec .pcat-in > h2 {
  border-top: 3px solid var(--pcat-orange);
  padding-top: 30px;
}
.pcat-sec:first-of-type .pcat-in > h2 {
  border-top: 0;
  padding-top: 36px;
}
.pcat .pcat-sec h2 {
  color: var(--pcat-dark);
  font-size: 28px;
  letter-spacing: 0.5px;
  margin: 0 0 6px;
  text-transform: uppercase;
}
.pcat .pcat-sec__lead {
  color: #53565a;
  font-size: 16px;
  line-height: 1.5;
  margin: 0 0 20px;
  max-width: 760px;
}
.pcat .pcat-sub h3 {
  border-bottom: 1px solid #e1e1e1;
  color: #53565a;
  font-size: 16px;
  letter-spacing: 0.5px;
  margin: 26px 0 10px;
  padding-bottom: 6px;
  text-transform: uppercase;
}
.pcat-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
}
.pcat-card {
  background: #fff;
  border: 2px solid #d0d0ce;
  border-radius: var(--tdt-card-radius);
  color: #1d2026;
  display: flex;
  flex-direction: column;
  padding: 10px 12px 12px;
  text-decoration: none;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.pcat-card:hover,
.pcat-card:focus-visible {
  border-color: var(--pcat-orange);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
  color: #1d2026;
}
.pcat-card__pic {
  aspect-ratio: 4 / 3;
  display: block;
  margin-bottom: 8px;
  position: relative;
}
/* The picture sits 3% inside its box, so the hover zoom (1.06, below) ends
   at the edges instead of cutting off wide pictures such as the RZs */
.pcat-card__pic img {
  height: 94%;
  inset: 3%;
  object-fit: contain;
  position: absolute;
  width: 94%;
}
.pcat-card__tag {
  align-items: center;
  color: #53565a;
  display: flex;
  font-size: 11px;
  font-weight: bold;
  gap: 6px;
  letter-spacing: 0.5px;
  margin-bottom: 2px;
  text-transform: uppercase;
}
/* The module dot: flat, with a soft ring in a light tint of its own colour
   (option A, user 2026-10-05). The ring is a little stronger on card hover.
   Browsers without color-mix() show the plain dot. */
.pcat-card__dot {
  background: var(--dot, #97999b);
  border-radius: 50%;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--dot, #97999b) 28%, transparent);
  flex: none;
  height: 8px;
  margin: 0 3px;
  width: 8px;
}
.pcat-card:hover .pcat-card__dot,
.pcat-card:focus-visible .pcat-card__dot {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--dot, #97999b) 45%, transparent);
}
/* Hover (computers only): the picture zooms a little and the short
   description slides up over it. Phones go straight to the product page. */
.pcat-card__pic {
  overflow: hidden;
}
.pcat-card__sum {
  display: none;
}
@media (hover: hover) and (pointer: fine) {
  .pcat-card__pic img {
    transition: transform 0.35s ease;
  }
  .pcat-card:hover .pcat-card__pic img,
  .pcat-card:focus-visible .pcat-card__pic img {
    transform: scale(1.06);
  }
  .pcat-card__sum {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    background: rgba(255, 255, 255, 0.97);
    border-top: 2px solid var(--pcat-orange);
    bottom: 0;
    box-sizing: border-box;
    color: #1d2026;
    display: -webkit-box;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 12.5px;
    font-weight: normal;
    left: 0;
    letter-spacing: 0;
    line-height: 1.35;
    max-height: 100%;
    text-transform: none;
    opacity: 0;
    overflow: hidden;
    padding: 8px 4px 0;
    position: absolute;
    right: 0;
    transform: translateY(100%);
    transition: opacity 0.25s ease, transform 0.25s ease;
  }
  .pcat-card:hover .pcat-card__sum,
  .pcat-card:focus-visible .pcat-card__sum {
    opacity: 1;
    transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .pcat-card__pic img,
  .pcat-card__sum {
    transition: none;
  }
}
.pcat-card__code {
  color: var(--pcat-dark);
  font-size: 20px;
}
.pcat-card__name {
  color: #53565a;
  font-size: 14px;
  line-height: 1.35;
  margin-top: 2px;
}
.pcat-none {
  font-size: 16px;
  padding-bottom: 30px;
  padding-top: 30px;
}
.pcat-end {
  background: var(--pcat-dark);
  color: #fff;
  margin-top: 40px;
  padding: 36px 0;
}
.pcat-end__in {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  justify-content: space-between;
}
.pcat .pcat-end h2 {
  color: #fff;
  font-size: 26px;
  margin: 0 0 6px;
  text-transform: uppercase;
}
.pcat-end p {
  color: #d0d0ce;
  margin: 0;
}
.pcat-end__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
@media all and (max-width: 767.9375px) {
  .pcat-in {
    padding: 0 16px;
  }
  .pcat-hero {
    padding: 30px 0;
  }
  .pcat-hero__in {
    align-items: stretch;
    flex-direction: column;
    gap: 22px;
  }
  .pcat-hero h1 {
    font-size: 32px;
  }
  .pcat-hero p {
    font-size: 16px;
  }
  .pcat-talk {
    flex: none;
    padding: 14px 16px;
  }
  .pcat .pcat-talk__title {
    font-size: 16px;
    margin-bottom: 10px;
  }
  .pcat-hero .pcat-talk__text {
    display: none;
  }
  /* Phones: one row that scrolls sideways; the right edge fades so the
     cut-off chip reads as "more this way", and the last chip can scroll
     clear of the fade */
  .pcat-chips__in {
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 44px), transparent);
    mask-image: linear-gradient(to right, #000 calc(100% - 44px), transparent);
    flex-wrap: nowrap;
    padding-bottom: 10px;
    padding-right: 44px;
    padding-top: 10px;
  }
  .pcat-sec {
    margin-bottom: 24px;
  }
  .pcat-sec .pcat-in > h2 {
    padding-top: 24px;
  }
  .pcat .pcat-sec h2 {
    font-size: 23px;
  }
  /* minmax(0, ...): the columns may shrink below a card's longest word
     (cards ran off the side at 360px and narrower, 2026-10-07) */
  .pcat-grid {
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .pcat-card {
    min-width: 0;
  }
  .pcat-card__code,
  .pcat-card__name,
  .pcat-card__tag {
    overflow-wrap: anywhere;
  }
  .pcat-card__label {
    min-width: 0;
  }
  .pcat-card__code {
    font-size: 16px;
  }
  .pcat-card__name {
    font-size: 12px;
  }
}

/* Home page: research area card names, publication card titles and the
   "All publications using TDT" link looked too heavy and cramped
   (2026-10-05). Geogrotesque only exists here as the Bold cut, so they use
   Industry Bold instead (Adobe Fonts, already loaded for the big section
   headings; option 1 of three, user 2026-10-05), a little letter spacing.
   The publication cards look the same on /publications/. */
#front .area-card__name,
#front .home-pubs__all,
.pub-card__more,
main .pub-card h3,
main .pub-card h3 a {
  font-family: industry, "Geogrotesque Fallback", sans-serif;
  font-weight: 700;
  letter-spacing: 0.3px;
}

/* Study count (2026-10-06, functions/publications-pages.php): footer line
   under the tagline (every page links to /publications/), home page line
   under "Latest publications", product link on a product's publication
   page. */
footer .container .info p.footer-pubs {
  margin: -8px auto 20px;
}
footer .container .info p.footer-pubs a {
  color: var(--tdt-accent-bright);
  font-family: Industry, sans-serif;
  font-size: 15px;
  text-decoration: none;
}
footer .container .info p.footer-pubs a:hover,
footer .container .info p.footer-pubs a:focus-visible {
  color: #fff;
  text-decoration: underline;
  text-decoration-color: var(--tdt-accent);
}
#front .home-pubs__claim {
  color: #53565A;
  font-size: 17px;
  line-height: 1.45;
  margin: -8px 0 22px;
  text-align: left;
}
.pubs .pubs-hero .pubs-hero__product {
  color: var(--tdt-accent-bright);
  margin-left: 4px;
  text-decoration: underline;
  text-underline-offset: 3px;
  white-space: nowrap;
}
.pubs .pubs-hero .pubs-hero__product:hover,
.pubs .pubs-hero .pubs-hero__product:focus-visible {
  color: #fff;
}

/* Systems page (2026-10-06, page-systems.php): header and bottom band as on
   the Products page (.pcat), then a panel per research area in its colour
   (Systems > Categories), how it works, specialized research, proof row.
   Wording: TDT Theme > Systems page. */
.sys-hero__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.sys-hero__buttons .button.quote-btn {
  color: var(--tdt-button-text-dark-bg, #fff);
  margin: 0;
}
.sys-hero__buttons .button.quote-btn:hover,
.sys-hero__buttons .button.quote-btn:focus-visible {
  color: var(--tdt-quote-text, var(--tdt-quote-on, #fff));
}
.sys-areas-wrap {
  padding: 36px 0 40px;
}
.sys-areas {
  display: grid;
  gap: 18px;
  grid-template-columns: 1fr 1fr;
}
.sys-area {
  background: #fff;
  border: 1px solid #e1e1e1;
  border-radius: var(--tdt-card-radius);
  border-top: 6px solid var(--area, #101820);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.sys-area__head {
  align-items: center;
  display: flex;
  gap: 14px;
  padding: 18px 20px 12px;
}
.sys-area__icon {
  align-items: center;
  background: var(--area, #101820);
  border-radius: 50%;
  display: flex;
  flex: none;
  height: 56px;
  justify-content: center;
  width: 56px;
}
.pcat .sys-area__icon img {
  height: 36px;
  margin: 0;
  object-fit: contain;
  width: 36px;
}
.pcat .sys-area h2 {
  color: var(--pcat-dark);
  font-size: 24px;
  line-height: 1.15;
  margin: 0;
  text-transform: uppercase;
}
.pcat .sys-area h2 a {
  color: inherit;
  font-weight: normal;
}
.pcat .sys-area h2 a:hover,
.pcat .sys-area h2 a:focus-visible {
  color: var(--tdt-accent-text);
}
.pcat .sys-area__text {
  color: #3d3935;
  font-size: 15px;
  line-height: 1.5;
  margin: 0 0 8px;
  padding: 0 20px;
}
.pcat .sys-area__pubs {
  font-size: 14px;
  margin: 0 0 8px;
  padding: 0 20px;
}
.pcat .sys-area__pubs a {
  color: #53565a;
  font-weight: normal;
  text-decoration: underline;
  text-decoration-color: #c9cacc;
  text-underline-offset: 3px;
}
.pcat .sys-area__pubs a:hover,
.pcat .sys-area__pubs a:focus-visible {
  color: #1d2026;
  text-decoration-color: var(--tdt-accent);
}
.pcat .sys-area__pubs b {
  color: var(--pcat-dark);
}
.pcat ul.sys-list {
  display: block;
  margin: 0;
  padding: 0 12px 6px;
  width: auto;
}
.pcat ul.sys-list li {
  margin: 0;
  padding: 0;
}
.pcat ul.sys-list li:before {
  content: none;
  display: none;
}
.sys-list a {
  align-items: center;
  border-radius: 6px;
  color: #1d2026;
  display: flex;
  font-weight: normal;
  gap: 14px;
  padding: 8px;
}
.sys-list a:hover,
.sys-list a:focus-visible {
  background: #f6f3ee;
  color: #1d2026;
}
.sys-list__pic {
  display: block;
  flex: none;
  height: 52px;
  width: 70px;
}
.pcat .sys-list__pic img {
  height: 100%;
  margin: 0;
  object-fit: contain;
  width: 100%;
}
.sys-list__body {
  display: block;
  min-width: 0;
}
.sys-list__name {
  color: var(--pcat-dark);
  display: block;
  font-family: "Geogrotesque Bold", "Geogrotesque Fallback", sans-serif;
  font-size: 16px;
  line-height: 1.25;
}
.sys-list a:hover .sys-list__name,
.sys-list a:focus-visible .sys-list__name {
  color: var(--tdt-accent-text);
}
.sys-list__text {
  color: #53565a;
  display: block;
  font-size: 13px;
  line-height: 1.4;
  margin-top: 2px;
}
.pcat .sys-area__more {
  margin: auto 0 0;
  padding: 10px 20px 18px;
}
.pcat .sys-area__more a {
  font-family: "Geogrotesque Bold", "Geogrotesque Fallback", sans-serif;
  font-size: 14px;
  font-weight: normal;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
/* Proof band: dark, big white figures, right under the research areas
   (white, not the site colour: a dark site colour is unreadable here) */
.sys-proof-band {
  background: var(--pcat-dark);
  color: #fff;
  padding: 34px 0 36px;
}
.pcat ul.sys-proof {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(4, 1fr);
  list-style: none;
  margin: 0;
  padding: 0;
  width: auto;
}
.pcat ul.sys-proof li {
  border-left: 1px solid rgba(255, 255, 255, 0.18);
  margin: 0;
  padding: 4px 24px;
}
.pcat ul.sys-proof li:first-child {
  border-left: 0;
  padding-left: 0;
}
.pcat ul.sys-proof li:before {
  content: none;
  display: none;
}
.sys-proof a {
  color: inherit;
  display: block;
  font-weight: normal;
}
.sys-proof b {
  color: #fff;
  display: block;
  font-family: industry, "Geogrotesque Fallback", sans-serif;
  font-size: 42px;
  font-weight: 700;
  line-height: 1.05;
}
.sys-proof span {
  color: #d5d7d9;
  display: block;
  font-size: 15px;
  line-height: 1.45;
  margin-top: 6px;
}
.sys-proof a:hover span,
.sys-proof a:focus-visible span {
  color: #fff;
  text-decoration: underline;
}
/* What every TDT system includes: light band, white cards with pictures */
.pcat-sec.sys-how {
  background: #f4f2ee;
  margin: 0 0 34px;
  padding: 0 0 44px;
}
.pcat-sec.sys-how .pcat-in > h2 {
  border-top: 0;
  padding-top: 42px;
}
.sys-how__grid {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(3, 1fr);
}
.sys-how__box {
  background: #fff;
  border-radius: var(--tdt-card-radius);
  box-shadow: 0 1px 3px rgba(16, 24, 32, 0.08);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.sys-how__pic {
  align-items: center;
  background: #fff;
  border-bottom: 1px solid #ecebe8;
  display: flex;
  gap: 10px;
  height: 180px;
  justify-content: center;
  padding: 14px;
}
.pcat .sys-how__pic img {
  height: 100%;
  margin: 0;
  max-width: 100%;
  min-width: 0;
  object-fit: contain;
}
.sys-how__pic--2 img {
  flex: 1 1 0;
}
/* Photos and screenshots fill the picture area */
.pcat .sys-how__box:nth-child(n+2) .sys-how__pic--1 {
  padding: 0;
}
.pcat .sys-how__box:nth-child(n+2) .sys-how__pic--1 img {
  object-fit: cover;
  width: 100%;
}
.sys-how__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 18px 20px 20px;
}
.pcat .sys-how__box h3 {
  align-items: center;
  color: var(--pcat-dark);
  display: flex;
  font-size: 19px;
  gap: 10px;
  margin: 0 0 8px;
  text-transform: uppercase;
}
/* Number: dark figure in a site-colour ring, no fill */
.sys-how__num {
  align-items: center;
  background: none;
  border: 2px solid var(--pcat-orange);
  border-radius: 50%;
  box-sizing: border-box;
  color: var(--pcat-dark);
  display: inline-flex;
  flex: none;
  font-size: 15px;
  height: 28px;
  justify-content: center;
  line-height: 1;
  width: 28px;
}
.pcat .sys-how__box p {
  color: #3d3935;
  font-size: 15px;
  line-height: 1.5;
  margin: 0 0 12px;
}
.pcat .sys-how__link {
  font-family: "Geogrotesque Bold", "Geogrotesque Fallback", sans-serif;
  font-size: 14px;
  letter-spacing: 0.5px;
  margin-top: auto;
  text-transform: uppercase;
}
/* From first question to first recording: numbered steps on a line */
.pcat ol.sys-steps__list {
  counter-reset: sys-step;
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(4, 1fr);
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
}
.pcat ol.sys-steps__list li {
  counter-increment: sys-step;
  margin: 0;
  padding: 0;
  position: relative;
}
.pcat ol.sys-steps__list li:before {
  background: #fff;
  border: 2px solid var(--pcat-orange);
  border-radius: 50%;
  color: var(--pcat-dark);
  content: counter(sys-step);
  display: flex;
  font-family: industry, "Geogrotesque Fallback", sans-serif;
  font-size: 20px;
  font-weight: 700;
  height: 44px;
  justify-content: center;
  align-items: center;
  margin: 0 0 12px;
  position: relative;
  width: 44px;
  z-index: 1;
}
/* the line joining the circles */
.pcat ol.sys-steps__list li:not(:last-child):after {
  border-top: 2px dashed #d9d6cf;
  content: "";
  left: 52px;
  position: absolute;
  right: -14px;
  top: 22px;
}
.sys-steps__list b {
  color: var(--pcat-dark);
  display: block;
  font-family: "Geogrotesque Bold", "Geogrotesque Fallback", sans-serif;
  font-size: 18px;
  font-weight: normal;
  line-height: 1.25;
  margin: 0 0 6px;
}
.sys-steps__list span {
  color: #53565a;
  display: block;
  font-size: 15px;
  line-height: 1.5;
}
@media all and (max-width: 900px) {
  .sys-how__grid {
    grid-template-columns: 1fr;
  }
  .sys-how__pic {
    height: 160px;
  }
  .pcat ul.sys-proof {
    gap: 22px 0;
    grid-template-columns: 1fr 1fr;
  }
  .pcat ul.sys-proof li:nth-child(odd) {
    border-left: 0;
    padding-left: 0;
  }
  .pcat ol.sys-steps__list {
    grid-template-columns: 1fr 1fr;
  }
  .pcat ol.sys-steps__list li:after {
    display: none;
  }
}
@media all and (max-width: 767.9375px) {
  .sys-areas-wrap {
    padding: 24px 0 28px;
  }
  .sys-areas {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .sys-area__head {
    padding: 14px 16px 10px;
  }
  .sys-area__icon {
    height: 46px;
    width: 46px;
  }
  .pcat .sys-area__icon img {
    height: 30px;
    width: 30px;
  }
  .pcat .sys-area h2 {
    font-size: 20px;
  }
  .pcat .sys-area__text,
  .pcat .sys-area__pubs {
    padding: 0 16px;
  }
  .pcat ul.sys-list {
    padding: 0 8px 4px;
  }
  .pcat .sys-area__more {
    padding: 8px 16px 14px;
  }
  .sys-proof-band {
    padding: 26px 0 28px;
  }
  .pcat ul.sys-proof li {
    padding: 2px 0 2px 16px;
  }
  .sys-proof b {
    font-size: 30px;
  }
  .sys-proof span {
    font-size: 14px;
  }
  .pcat-sec.sys-how .pcat-in > h2 {
    padding-top: 30px;
  }
  .pcat ol.sys-steps__list {
    gap: 16px;
    grid-template-columns: 1fr;
  }
  .pcat ol.sys-steps__list li {
    padding-left: 58px;
  }
  .pcat ol.sys-steps__list li:before {
    left: 0;
    position: absolute;
    top: -4px;
  }
}

/* System pages (single-system.php, 2026-10-06): one "Overview" label in
   the old tab style instead of the tab bar, then one band (.prod-pubs
   styles) as wide as the text above, with two tabs: "Pre-configured
   systems" cards and "Published research". functions/system-pages.php */
#single.systems .sysp-label {
  border-bottom: 2px solid #e1e1e1;
  color: var(--tdt-accent-text);
  font-family: industry, "Geogrotesque Fallback", sans-serif;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1.3;
  margin: 45px 0 18px;
  padding: 0 0 10px;
  text-transform: uppercase;
}
.sysp-in {
  margin: 0 auto;
  max-width: 950px;
}
.sysp-more {
  margin-top: 20px;
}
/* Tabs (shown by assets/theme.js when there are both) */
.sysp-tabs {
  border-bottom: 2px solid #e1e1e1;
  display: flex;
  gap: 0 34px;
  margin: 0 0 26px;
}
.sysp-tabs[hidden],
.sysp-panel[hidden] {
  display: none;
}
main .sysp-tabs button {
  background: none;
  border: 0;
  border-bottom: 4px solid transparent;
  border-radius: 0;
  color: #8a8d8f;
  cursor: pointer;
  font-family: industry, "Geogrotesque Fallback", sans-serif;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.5px;
  line-height: 1.2;
  margin: 0 0 -2px;
  padding: 0 0 10px;
  text-align: left;
  text-transform: uppercase;
  transition: color 0.12s ease-in-out, border-color 0.12s ease-in-out;
}
main .sysp-tabs button:hover {
  color: #101820;
}
main .sysp-tabs button[aria-selected="true"] {
  border-bottom-color: var(--tdt-accent);
  color: #101820;
}
main .sysp-tabs button:focus-visible {
  outline: 2px solid var(--tdt-accent);
  outline-offset: 4px;
}
/* With tabs, the tab names the panel */
.sysp-more.is-tabbed .sysp-panel__title {
  display: none;
}
/* Without tabs (no JS, or only one of the two): one under the other */
.sysp-more:not(.is-tabbed) .sysp-panel + .sysp-panel {
  border-top: 1px solid #e1e1e1;
  margin-top: 46px;
  padding-top: 40px;
}
main .sysp-panel h2 {
  color: #101820;
  font-family: industry, sans-serif;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.15;
  margin: 0;
  text-align: left;
  text-transform: uppercase;
}
main p.sysp-panel__lead {
  color: #444;
  font-size: 17px;
  margin: 10px 0 24px;
  max-width: 760px;
}
.sysp-more.is-tabbed p.sysp-panel__lead {
  margin-top: 0;
}
main .sysp-pubs .prod-pubs__top p.sysp-panel__lead {
  margin-bottom: 0;
}
.sysp-setups__grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
}
/* Pre-configured system cards: a thumbnail (picture, name, text); what the
   setup includes and its quote button show over it (dark) on hover,
   keyboard focus or a tap on "What's included" (.is-open, theme.js) */
.sysp-setup {
  background: #fff;
  border: 1px solid #e1e1e1;
  border-radius: var(--tdt-card-radius);
  border-top: 4px solid var(--tdt-accent);
  cursor: default;
  display: flex;
  flex-direction: column;
  min-height: 320px;
  padding: 18px 20px 18px;
  position: relative;
}
.sysp-setup__pic {
  align-items: center;
  display: flex;
  height: 130px;
  justify-content: center;
  margin: 0 0 14px;
}
.sysp-setup__pic img {
  height: 100%;
  object-fit: contain;
  width: 100%;
}
main p.sysp-setup__label {
  align-self: flex-start;
  background: #101820;
  color: #fff;
  font-family: industry, "Geogrotesque Fallback", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.5px;
  margin: 0 0 8px;
  padding: 3px 8px;
  text-transform: uppercase;
}
main .sysp-setup h3 {
  color: #101820;
  font-family: industry, sans-serif;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 6px;
  text-transform: uppercase;
}
main p.sysp-setup__text {
  color: #333;
  font-size: 15px;
  line-height: 1.45;
  margin: 0 0 14px;
}
main .sysp-setup__open {
  align-self: flex-start;
  background: none;
  border: 0;
  color: #101820;
  cursor: pointer;
  font-family: industry, "Geogrotesque Fallback", sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.5px;
  margin: auto 0 0;
  padding: 0;
  text-decoration: underline;
  text-decoration-color: var(--tdt-accent);
  text-decoration-thickness: 2px;
  text-transform: uppercase;
  text-underline-offset: 4px;
}
/* A raised copy of the card with a gunmetal outline (TDT Cool Gray 11);
   it covers the card exactly and grows downward if the list is longer */
.sysp-setup__more {
  background: #fff;
  border: 1px solid #53565A;
  border-radius: var(--tdt-card-radius);
  border-top: 4px solid var(--tdt-accent);
  box-shadow: 0 0 0 1px #53565A, 0 10px 24px rgba(16, 24, 32, 0.14);
  color: #101820;
  display: flex;
  flex-direction: column;
  left: -1px;
  min-height: calc(100% + 5px);
  opacity: 0;
  padding: 18px 20px 20px;
  position: absolute;
  right: -1px;
  top: -4px;
  transform: translateY(8px);
  transition: opacity var(--sysp-flip) ease, transform var(--sysp-flip) cubic-bezier(0.2, 0.7, 0.2, 1), visibility 0s linear var(--sysp-flip);
  visibility: hidden;
  z-index: 5;
}
/* How long the card takes to change to "What's included" (was 0.18s;
   slower since 2026-10-07). The hover version waits a moment first, so
   passing over a card with the mouse doesn't flash it. */
.sysp-setups {
  --sysp-flip: 0.5s;
}
.sysp-setup.is-open .sysp-setup__more,
.sysp-setup:has(:focus-visible) .sysp-setup__more {
  opacity: 1;
  transform: none;
  transition-delay: 0s;
  visibility: visible;
}
@media (hover: hover) {
  .sysp-setup:hover .sysp-setup__more {
    opacity: 1;
    transform: none;
    transition-delay: 0.12s;
    visibility: visible;
  }
}
@media (prefers-reduced-motion: reduce) {
  .sysp-setups {
    --sysp-flip: 0.01s;
  }
}
main .sysp-setup__close {
  background: none;
  border: 0;
  color: #53565A;
  cursor: pointer;
  display: none;
  font-family: Arial, sans-serif;
  font-size: 28px;
  font-weight: normal;
  line-height: 1;
  padding: 4px 8px;
  position: absolute;
  right: 6px;
  top: 6px;
}
.sysp-setup.is-open .sysp-setup__close {
  display: block;
}
main p.sysp-setup__more-name {
  color: #101820;
  font-family: industry, sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 30px 12px 0;
  text-transform: uppercase;
}
main p.sysp-setup__includes {
  color: #53565A;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.5px;
  margin: 0 0 6px;
  text-transform: uppercase;
}
/* The products link to their pages: rows with an arrow */
main ul.sysp-setup__products {
  border-top: 1px solid #D0D0CE;
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
}
main ul.sysp-setup__products li {
  border-bottom: 1px solid #D0D0CE;
  margin: 0;
  padding: 0;
}
main ul.sysp-setup__products li:before {
  display: none;
}
main ul.sysp-setup__products a.sysp-prod__link {
  align-items: center;
  color: #101820;
  display: flex;
  font-size: 14px;
  gap: 10px;
  justify-content: space-between;
  line-height: 1.3;
  padding: 6px 0;
}
main ul.sysp-setup__products a.sysp-prod__link:after {
  color: var(--tdt-accent-dark);
  content: "\203A";
  flex: none;
  font-size: 20px;
  line-height: 1;
}
main ul.sysp-setup__products a.sysp-prod__link:hover,
main ul.sysp-setup__products a.sysp-prod__link:focus-visible {
  text-decoration: underline;
  text-decoration-color: var(--tdt-accent);
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
main p.sysp-setup__quote {
  margin: auto 0 0;
}
/* Product preview (2026-10-07): picture, name, short description and a
   link to the product page. Mouse: beside the card while the pointer is on
   the product (or on the preview); keyboard: while the product has focus.
   theme.js puts it on the left (sysp-setup--peek-left) when there is no
   room on the right. Phones / touch: a tap on the product opens it under
   the name (is-peek); a second tap on the link opens the page. */
main ul.sysp-setup__products li.sysp-prod {
  position: relative;
}
/* The card being used stays above another card left open */
.sysp-setup:hover .sysp-setup__more,
.sysp-setup:focus-within .sysp-setup__more {
  z-index: 7;
}
.sysp-prod__peek {
  background: #fff;
  border: 2px solid #53565A; /* gunmetal all round (TDT Cool Gray 11) */
  border-radius: var(--tdt-card-radius);
  box-shadow: 0 10px 24px rgba(16, 24, 32, 0.18);
  display: none; /* not just invisible: it would widen the page */
  flex-direction: column;
  gap: 6px;
  left: calc(100% + 34px);
  opacity: 0;
  padding: 14px 16px 16px;
  position: absolute;
  top: -40px;
  transform: translateX(-6px);
  transition: opacity 0.3s ease, transform 0.3s ease, display 0.3s allow-discrete;
  width: 270px;
  z-index: 10;
}
/* A bridge over the gap, so the pointer can move onto the preview */
.sysp-prod__peek:before {
  bottom: 0;
  content: "";
  position: absolute;
  right: 100%;
  top: 0;
  width: 36px;
}
.sysp-setup--peek-left .sysp-prod__peek {
  left: auto;
  right: calc(100% + 34px);
  transform: translateX(6px);
}
.sysp-setup--peek-left .sysp-prod__peek:before {
  left: 100%;
  right: auto;
}
.sysp-prod:focus-within .sysp-prod__peek,
.sysp-prod.is-peek .sysp-prod__peek {
  display: flex;
  opacity: 1;
  transform: none;
}
@media (hover: hover) {
  .sysp-prod:hover .sysp-prod__peek {
    display: flex;
    opacity: 1;
    transform: none;
    transition-delay: 0.15s;
  }
}
/* Where the fade starts when it appears (browsers without @starting-style
   just show it) */
@starting-style {
  .sysp-prod:focus-within .sysp-prod__peek,
  .sysp-prod.is-peek .sysp-prod__peek,
  .sysp-prod:hover .sysp-prod__peek {
    opacity: 0;
  }
}
.sysp-prod__pic {
  align-items: center;
  display: flex;
  height: 120px;
  justify-content: center;
  margin-bottom: 4px;
}
.sysp-prod__pic img {
  height: auto;
  max-height: 120px;
  max-width: 100%;
  object-fit: contain;
  width: auto;
}
.sysp-prod__name {
  color: #101820;
  font-family: industry, sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
}
.sysp-prod__text {
  color: #53565A;
  font-size: 14px;
  line-height: 1.45;
}
main .sysp-prod__peek a.sysp-prod__more {
  color: #101820;
  font-size: 14px;
  font-weight: 700;
  margin-top: 4px;
  text-decoration: underline;
  text-decoration-color: var(--tdt-accent);
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
/* Touch screens and phones: the preview opens under the product instead */
@media (hover: none), (max-width: 768.9375px) {
  .sysp-prod__peek,
  .sysp-setup--peek-left .sysp-prod__peek {
    border: 0;
    border-radius: 0;
    border-top: 1px dashed #D0D0CE;
    box-shadow: none;
    display: none;
    left: auto;
    margin: 0 0 10px;
    opacity: 1;
    padding: 10px 0 0;
    position: static;
    right: auto;
    transform: none;
    width: auto;
  }
  .sysp-prod__peek:before {
    display: none;
  }
  .sysp-prod.is-peek .sysp-prod__peek {
    display: flex;
  }
  .sysp-prod__pic {
    height: 90px;
    justify-content: flex-start;
  }
  .sysp-prod__name {
    display: none; /* the product name is right above */
  }
  .sysp-prod__pic img {
    max-height: 90px;
  }
}
main .sysp-setup__more .button.quote-btn {
  display: block;
  font-size: 16px;
  padding: 10px 16px;
  text-align: center;
}
/* The "gallery" flex block was light blue (#c2dde5); white on system and
   product pages */
:is(.single-system, .single-product) .flex.module.gallery {
  background-color: #fff;
}
/* Section backgrounds "White, thin lines" (TDT Theme > System pages; body
   class tdt-sections-lines, functions/system-pages.php), option A of
   13-system-page-backgrounds-compare.png (2026-10-06). System pages: the
   blocks below (includes/flex.php) all white instead of grey/white
   stripes, a thin warm grey line between them; the "Why TDT?" box keeps
   its picture. Setting "Grey and white stripes" = as before. Product
   pages too since 2026-10-19 (same blocks, same setting). */
.tdt-sections-lines:is(.single-system, .single-product) .flex.module.standard:nth-child(odd):not(.lr-bg) {
  background-color: #fff;
}
.tdt-sections-lines:is(.single-system, .single-product) .flex.module.standard {
  padding-bottom: 56px;
  padding-top: 56px;
}
.tdt-sections-lines:is(.single-system, .single-product) .flex:not(.lr-bg) + .flex:not(.lr-bg):not(.blockquote) {
  position: relative;
}
.tdt-sections-lines:is(.single-system, .single-product) .flex:not(.lr-bg) + .flex:not(.lr-bg):not(.blockquote):before {
  background: #e3e1dc;
  content: "";
  height: 1px;
  left: 50%;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: min(1180px, calc(100% - 80px));
}
@media all and (max-width: 767.9375px) {
  .tdt-sections-lines:is(.single-system, .single-product) .flex.module.standard {
    padding-bottom: 40px;
    padding-top: 40px;
  }
  .tdt-sections-lines:is(.single-system, .single-product) .flex:not(.lr-bg) + .flex:not(.lr-bg):not(.blockquote):before {
    width: calc(100% - 40px);
  }
}
/* Text + picture blocks centered (TDT Theme > System pages > "Text +
   picture blocks"; body class tdt-lr-centered, functions/system-pages.php),
   2026-10-07. The "standard" blocks (includes/flex.php) were full screen
   width (and so were "gallery" slides): the text sat near the middle and the picture far out at the
   screen edge. Now text and picture share one centered row (1180px, like
   the lines between sections), picture centered next to the text, both
   vertically centered. Same markup and editing; phones as before (one
   column). "Full screen width" = as before. Also the About page with
   its clean-up on (.tdt-about-clean, functions/about-page.php), and
   product pages since 2026-10-19 (e.g. RZ11, iConZ). */
@media all and (min-width: 769px) {
  :is(.tdt-lr-centered.single-system, .tdt-lr-centered.single-product, .tdt-about-clean) .flex.module.standard .container,
  :is(.tdt-lr-centered.single-system, .tdt-lr-centered.single-product, .tdt-about-clean) .flex.module.gallery .slide .container {
    align-items: center;
    box-sizing: border-box;
    column-gap: 56px;
    display: grid;
    grid-template-columns: minmax(0, 11fr) minmax(0, 9fr);
    margin-left: auto;
    margin-right: auto;
    max-width: 1180px !important;
    padding-left: 40px;
    padding-right: 40px;
  }
  :is(.tdt-lr-centered.single-system, .tdt-lr-centered.single-product, .tdt-about-clean) .flex.module.standard.left .container {
    grid-template-columns: minmax(0, 9fr) minmax(0, 11fr);
  }
  :is(.tdt-lr-centered.single-system, .tdt-lr-centered.single-product, .tdt-about-clean) .flex.module.standard .container:after,
  :is(.tdt-lr-centered.single-system, .tdt-lr-centered.single-product, .tdt-about-clean) .flex.module.gallery .slide .container:after {
    display: none;
  }
  :is(.tdt-lr-centered.single-system, .tdt-lr-centered.single-product, .tdt-about-clean) .flex.module.standard .container article,
  :is(.tdt-lr-centered.single-system, .tdt-lr-centered.single-product, .tdt-about-clean) .flex.module.standard .container aside,
  :is(.tdt-lr-centered.single-system, .tdt-lr-centered.single-product, .tdt-about-clean) .flex.module.gallery .slide .container article,
  :is(.tdt-lr-centered.single-system, .tdt-lr-centered.single-product, .tdt-about-clean) .flex.module.gallery .slide .container aside {
    float: none;
    margin: 0;
    width: auto;
  }
  :is(.tdt-lr-centered.single-system, .tdt-lr-centered.single-product, .tdt-about-clean) .flex.module.standard.left .container aside {
    order: -1;
  }
  :is(.tdt-lr-centered.single-system, .tdt-lr-centered.single-product, .tdt-about-clean) .flex.module.standard .container article .block,
  :is(.tdt-lr-centered.single-system, .tdt-lr-centered.single-product, .tdt-about-clean) .flex.module.gallery .slide .container article .block {
    float: none;
    max-width: none;
  }
  /* matchHeight (data-mh) would make the picture as tall as the text */
  :is(.tdt-lr-centered.single-system, .tdt-lr-centered.single-product, .tdt-about-clean) .flex.module.standard [data-mh],
  :is(.tdt-lr-centered.single-system, .tdt-lr-centered.single-product, .tdt-about-clean) .flex.module.gallery .slide [data-mh] {
    height: auto !important;
  }
  :is(.tdt-lr-centered.single-system, .tdt-lr-centered.single-product, .tdt-about-clean) .flex.module.standard .container aside img,
  :is(.tdt-lr-centered.single-system, .tdt-lr-centered.single-product, .tdt-about-clean) .flex.module.gallery .slide .container aside img {
    display: block;
    float: none;
    height: auto;
    margin: 0 auto;
    max-width: 100%;
  }
}
/* Product pages: their text column is 950px (.flex.text, tabs), so the
   centered text + picture row and the lines between sections are 950px
   too, lined up with the rest of the page. */
@media all and (min-width: 769px) {
  .tdt-lr-centered.single-product .flex.module.standard .container,
  .tdt-lr-centered.single-product .flex.module.gallery .slide .container {
    max-width: 1030px !important;
  }
}
.tdt-sections-lines.single-product .flex:not(.lr-bg) + .flex:not(.lr-bg):not(.blockquote):before {
  width: min(950px, calc(100% - 80px));
}
/* A line typed at the top of a Text block (<hr>, e.g. above "Choose TDT")
   would double the line drawn between sections */
.tdt-sections-lines:is(.single-system, .single-product) .flex:not(.lr-bg) + .flex.text .container article > hr:first-child {
  display: none;
}
@media all and (max-width: 767.9375px) {
  .tdt-sections-lines.single-product .flex:not(.lr-bg) + .flex:not(.lr-bg):not(.blockquote):before {
    width: calc(100% - 40px);
  }
}
@media all and (max-width: 1049.9375px) {
  #single.systems .sysp-label {
    font-size: 18px;
    letter-spacing: 0;
  }
}
@media all and (max-width: 767.9375px) {
  #single.systems .sysp-label {
    margin-top: 30px;
  }
  .sysp-more {
    margin-top: 10px;
  }
  .sysp-tabs {
    gap: 0 18px;
  }
  main .sysp-tabs button {
    flex: 1 1 0;
    font-size: 16px;
    letter-spacing: 0;
  }
  main .sysp-panel h2 {
    font-size: 22px;
  }
  main p.sysp-panel__lead {
    font-size: 16px;
  }
  .sysp-setup {
    min-height: 300px;
  }
  .sysp-setup__pic {
    height: 120px;
  }
}

/* Product pages (2026-10-21): "Commonly used in these systems", the
   pre-configured systems that include the product, in the published
   research band style (grey, red line on top), the cards as wide as on
   system pages (3 a row), right under the product's tabs.
   functions/product-setups.php */
.prod-setups {
  clear: both;
  margin-top: 50px;
}
/* Page builder layout: after the blocks, at the top of the bottom part */
.prod-setups:first-child {
  margin-top: 0;
}
.prod-setups .prod-pubs__top {
  margin-bottom: 0;
}
.prod-setups .prod-pubs__top + .sysp-setups__grid {
  margin-top: 24px;
}
@media all and (max-width: 767.9375px) {
  .prod-setups {
    margin-top: 0;
  }
}

/* Section backgrounds "White, thin lines" on the Systems page (/systems/;
   TDT Theme > System pages): sections start with a thin warm grey line
   instead of the orange one, "What every TDT system includes" is white
   with outlined cards instead of a beige band. The dark proof band and
   the dark end band stay. /products/ is unchanged. */
.tdt-sections-lines .pcat.sys .pcat-sec .pcat-in > h2 {
  border-top: 1px solid #e3e1dc;
}
.tdt-sections-lines .pcat.sys .pcat-sec.sys-how {
  background: none;
  padding-bottom: 10px;
}
.tdt-sections-lines .pcat.sys .pcat-sec.sys-how .pcat-in > h2 {
  padding-top: 30px;
}
.tdt-sections-lines .sys-how__box {
  border: 1px solid #e3e1dc;
  box-shadow: none;
}

/* Rounded corners (2026-10-06): every card or box uses the home page's
   radius (pub cards, home panels, product/system cards, setup cards, the
   boxed quote block). Buttons and fields keep their own smaller radius. */
:root {
  --tdt-card-radius: 12px;
}

/* Bold font "Industry Bold" (TDT Theme > Fonts; body class tdt-industry-bold,
   functions/customizer.php), 2026-10-07. Geogrotesque is only here as its
   Bold cut, heavy and tight; the home page card names were moved to
   Industry Bold on 2026-10-05 and this does the same everywhere else.
   The selectors are every rule above that sets "Geogrotesque Bold"
   (generated; re-run the list if such a rule is added), except the
   Arial close "x" and the "TDT products used:" label. Setting
   "Geogrotesque Bold (as before)" = the old look. */
.tdt-industry-bold button:not(.sysp-setup__close),
.tdt-industry-bold .button,
.tdt-industry-bold header .container .menu nav ul li.quote a,
.tdt-industry-bold .masthead .container form input,
.tdt-industry-bold .mobile .block form [type="search"],
.tdt-industry-bold #front .area-card__name,
.tdt-industry-bold #front .area-card__link,
.tdt-industry-bold .breadcrumbs .container span,
.tdt-industry-bold .breadcrumbs .container a,
.tdt-industry-bold .home-bar b,
.tdt-industry-bold #front .home-banner p.home-banner__eyebrow,
.tdt-industry-bold #front .home-feature p.home-feature__eyebrow,
.tdt-industry-bold #front .home-feature__label b,
.tdt-industry-bold #front .home-module span b,
.tdt-industry-bold #front .home-modules__chips button,
.tdt-industry-bold #front .home-modules p.home-modules__head,
.tdt-industry-bold #front .home-modules__foot a,
.tdt-industry-bold .pub-card__source,
.tdt-industry-bold main .pub-card h3,
.tdt-industry-bold .pub-card__products a,
.tdt-industry-bold .pub-card__products span:not(.pub-card__products-label),
.tdt-industry-bold .pub-card__more,
.tdt-industry-bold #front .home-pubs__all,
.tdt-industry-bold .pubs h1,
.tdt-industry-bold .pubs h2,
.tdt-industry-bold .pubs-fold > summary,
.tdt-industry-bold .pubs-results__count,
.tdt-industry-bold .pubs .pub-item__source,
.tdt-industry-bold .pub-item__product,
.tdt-industry-bold #single.products .container article .pub-item__source,
.tdt-industry-bold #front .home-news__item b,
.tdt-industry-bold header .container .menu nav .mm__top a,
.tdt-industry-bold header .container .menu nav .mm a.mm__head,
.tdt-industry-bold header .container .menu nav .pm a.pm__tab,
.tdt-industry-bold header .container .menu nav .pm__title,
.tdt-industry-bold .cat-card__name,
.tdt-industry-bold .pcat h1,
.tdt-industry-bold .pcat h2,
.tdt-industry-bold .pcat h3,
.tdt-industry-bold .pcat-card__code,
.tdt-industry-bold .pcat-chip,
.tdt-industry-bold .sys-list__name,
.tdt-industry-bold .pcat .sys-area__more a,
.tdt-industry-bold .pcat .sys-how__link,
.tdt-industry-bold .sys-steps__list b {
  font-family: industry, "Geogrotesque Fallback", sans-serif;
  font-weight: 700;
}
/* Industry Bold is about 10% wider than Geogrotesque Bold: buttons get less
   letter spacing (was 1px), so labels keep to one line */
.tdt-industry-bold .button,
.tdt-industry-bold header .container .menu nav ul li.quote a {
  letter-spacing: 0.3px;
}
.tdt-industry-bold .pcat-talk .button.quote-btn {
  padding-left: 18px;
  padding-right: 18px;
}
.tdt-industry-bold .pcat-chip {
  font-size: 13px;
  padding-left: 12px;
  padding-right: 12px;
}

/* Events, Careers, Contact and Support pages (2026-10-07,
   page-tdt-*.php, functions/page-layouts.php): the Systems page look
   (.pcat): dark header, white sections with an orange line, light bands,
   cards. */
main.tdt-pl ul,
main.tdt-pl ol {
  display: block;
  margin: 0;
  padding: 0;
  width: auto;
}
main.tdt-pl ul li {
  margin: 0;
  padding: 0;
}
main.tdt-pl ul li:before {
  content: none;
  display: none;
}
main.tdt-pl a {
  font-weight: normal;
}
main.tdt-pl h2 a,
main.tdt-pl h3 a,
main.tdt-pl h4 a {
  font-weight: inherit;
}
.tdt-pl .pcat-sec {
  margin-bottom: 0;
  padding-bottom: 50px;
}
.tdt-pl__band {
  background: #f4f2ee;
}
.pcat .tdt-pl__band .pcat-in > h2,
.pcat .tdt-pl__band + .tdt-pl__sec .pcat-in > h2 {
  border-top: 0;
  padding-top: 44px;
}
.tdt-pl .pcat-end {
  margin-top: 0;
}
.pcat .tdt-pl__sub {
  color: var(--pcat-dark);
  font-size: 19px;
  letter-spacing: 0.5px;
  margin: 30px 0 14px;
  text-transform: uppercase;
}
.pcat .pcat-sec__lead + .tdt-pl__sub {
  margin-top: 0;
}
.tdt-pl__tag,
.tdt-pl__card-link,
.ev-item__month,
.ev-item__day,
.ev-web__more summary,
.ev-past__year summary,
.car-job__pdf,
.con-visit__list dt,
.dist-card__list dt,
.ord-contact dt,
.sup-remote label,
.tdt-pl__facts b,
.sup-war__table th,
.sp-table th,
.sp-related span,
.sp-form input[type="submit"] {
  font-family: "Geogrotesque Bold", "Geogrotesque Fallback", sans-serif;
  font-weight: normal;
}
.tdt-industry-bold .tdt-pl__tag,
.tdt-industry-bold .tdt-pl__card-link,
.tdt-industry-bold .ev-item__month,
.tdt-industry-bold .ev-item__day,
.tdt-industry-bold .ev-web__more summary,
.tdt-industry-bold .ev-past__year summary,
.tdt-industry-bold .car-job__pdf,
.tdt-industry-bold .con-visit__list dt,
.tdt-industry-bold .dist-card__list dt,
.tdt-industry-bold .ord-contact dt,
.tdt-industry-bold .sup-remote label,
.tdt-industry-bold .tdt-pl__facts b,
.tdt-industry-bold .sup-war__table th,
.tdt-industry-bold .sp-table th,
.tdt-industry-bold .sp-related span,
.tdt-industry-bold .sp-form input[type="submit"],
.tdt-industry-bold .pcat .ev-web h4 {
  font-family: industry, "Geogrotesque Fallback", sans-serif;
  font-weight: 700;
}
.tdt-pl__tag {
  background: var(--tdt-accent-tint);
  border-radius: 999px;
  color: color-mix(in srgb, var(--tdt-accent-text) 75%, #000);
  display: inline-block;
  font-size: 12px;
  letter-spacing: 0.5px;
  line-height: 1;
  padding: 5px 9px 4px;
  text-transform: uppercase;
}
/* "Nothing here right now" box */
.tdt-pl__empty {
  align-items: center;
  background: #fff;
  border: 1px solid #e1e1e1;
  border-left: 4px solid var(--pcat-orange);
  border-radius: var(--tdt-card-radius);
  display: flex;
  flex-wrap: wrap;
  gap: 16px 28px;
  justify-content: space-between;
  margin-top: 18px;
  padding: 22px 24px;
}
.tdt-pl__empty p {
  color: #3d3935;
  font-size: 16px;
  line-height: 1.55;
  margin: 0;
  max-width: 680px;
}
.tdt-pl__empty .button.quote-btn {
  margin: 0;
}
/* Cards (Contact: who to contact; Support: documentation) */
.pcat ul.tdt-pl__cards {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 18px;
}
.pcat ul.tdt-pl__cards--3 {
  grid-template-columns: repeat(3, 1fr);
}
.pcat ul.tdt-pl__cards--2 {
  grid-template-columns: repeat(2, 1fr);
}
.pcat ul.tdt-pl__cards--1 {
  grid-template-columns: 1fr;
}
.pcat ul li.tdt-pl__card {
  background: #fff;
  border: 1px solid #e1e1e1;
  border-radius: var(--tdt-card-radius);
  border-top: 3px solid var(--pcat-orange);
  display: flex;
  flex-direction: column;
  padding: 22px 22px 20px;
  position: relative;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.pcat .tdt-pl__card h2,
.pcat .tdt-pl__card h3 {
  color: var(--pcat-dark);
  font-size: 20px;
  letter-spacing: 0.3px;
  line-height: 1.2;
  margin: 0 0 8px;
  text-transform: uppercase;
}
.pcat .tdt-pl__card h3 a {
  color: inherit;
}
/* the whole card is the link */
.pcat .tdt-pl__card--link h3 a:after {
  border-radius: var(--tdt-card-radius);
  content: "";
  inset: 0;
  position: absolute;
}
.pcat .tdt-pl__card--link:hover,
.pcat .tdt-pl__card--link:focus-within {
  border-color: #c9cacc;
  border-top-color: var(--pcat-orange);
  box-shadow: 0 6px 18px rgba(16, 24, 32, 0.1);
}
.pcat .tdt-pl__card--link:focus-within h3 a:after {
  outline: 2px solid var(--pcat-dark);
  outline-offset: 2px;
}
.pcat .tdt-pl__card p {
  color: #3d3935;
  font-size: 15px;
  line-height: 1.5;
  margin: 0 0 14px;
}
.pcat .tdt-pl__card-link {
  color: var(--tdt-accent-text);
  font-size: 14px;
  letter-spacing: 0.5px;
  margin-top: auto;
  text-transform: uppercase;
}
.pcat a.tdt-pl__card-link:hover,
.pcat .tdt-pl__card--link:hover .tdt-pl__card-link {
  color: var(--pcat-dark);
}
.pcat ul.tdt-pl__more {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 28px;
  margin-top: 22px;
}
.pcat .tdt-pl__more a {
  color: #1d2026;
  font-size: 15px;
  text-decoration: underline;
  text-decoration-color: var(--pcat-orange);
  text-underline-offset: 3px;
}
.pcat .tdt-pl__more a:hover {
  color: var(--tdt-accent-text);
}
/* Text + photo, facts */
.tdt-pl__split {
  align-items: center;
  display: grid;
  gap: 40px;
  grid-template-columns: minmax(0, 11fr) minmax(0, 9fr);
}
.pcat .tdt-pl__text p {
  color: #3d3935;
  font-size: 16px;
  line-height: 1.65;
  margin: 0 0 16px;
}
.tdt-pl__photo img {
  border-radius: var(--tdt-card-radius);
  box-shadow: 0 1px 3px rgba(16, 24, 32, 0.12);
  display: block;
  height: auto;
  width: 100%;
}
.pcat ul.tdt-pl__facts {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 32px;
}
.pcat ul.tdt-pl__facts li {
  background: #fff;
  border-radius: var(--tdt-card-radius);
  border-top: 3px solid var(--pcat-orange);
  padding: 18px 20px 20px;
}
.tdt-pl__facts b {
  color: var(--pcat-dark);
  display: block;
  font-size: 24px;
  line-height: 1.15;
  margin-bottom: 6px;
}
.tdt-pl__facts span {
  color: #53565a;
  display: block;
  font-size: 15px;
  line-height: 1.45;
}

/* Events: upcoming */
.pcat ul.ev-list {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}
.pcat ul li.ev-item {
  align-items: start;
  background: #fff;
  border: 1px solid #e1e1e1;
  border-radius: var(--tdt-card-radius);
  display: grid;
  gap: 22px;
  grid-template-columns: 74px minmax(0, 1fr) auto;
  padding: 20px 22px;
}
.ev-item__date {
  background: var(--pcat-dark);
  border-radius: 8px;
  color: #fff;
  padding: 9px 0 10px;
  text-align: center;
}
.ev-item__month {
  color: var(--pcat-orange);
  display: block;
  font-size: 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.ev-item__day {
  display: block;
  font-size: 30px;
  line-height: 1.05;
}
.pcat .ev-item h3 {
  color: var(--pcat-dark);
  font-size: 21px;
  line-height: 1.25;
  margin: 6px 0 4px;
}
.pcat .ev-item h3 a {
  color: inherit;
}
.pcat .ev-item h3 a:hover {
  color: var(--tdt-accent-text);
}
.pcat .ev-item__when {
  color: #53565a;
  font-size: 15px;
  margin: 0 0 8px;
  white-space: pre-wrap;
}
.pcat .ev-item__note {
  color: #3d3935;
  font-size: 15px;
  line-height: 1.5;
  margin: 0 0 10px;
}
.pcat ul.ev-item__links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.pcat .ev-item__links a {
  border: 1px solid #c9cacc;
  border-radius: 999px;
  color: #1d2026;
  display: inline-block;
  font-size: 13px;
  padding: 4px 11px;
}
.pcat .ev-item__links a:hover {
  border-color: var(--pcat-orange);
}
.ev-item__act {
  align-self: center;
}
.ev-item__act .button.quote-btn {
  margin: 0;
  white-space: nowrap;
}
/* Events: recorded webinars */
.ev-web {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.ev-web__card {
  background: #fff;
  border-radius: var(--tdt-card-radius);
  box-shadow: 0 1px 3px rgba(16, 24, 32, 0.08);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.ev-web__play,
.ev-web__frame {
  aspect-ratio: 16 / 9;
  background: #101820;
  border: 0;
  display: block;
  margin: 0;
  padding: 0;
  position: relative;
  width: 100%;
}
/* the theme gives every iframe a fixed height */
.ev-web__frame {
  height: auto !important;
}
.ev-web__play {
  cursor: pointer;
  overflow: hidden;
}
.ev-web__play img {
  display: block;
  height: 100%;
  object-fit: cover;
  opacity: 0.9;
  transition: opacity 0.2s, transform 0.4s;
  width: 100%;
}
/* bottom left: the middle of the picture often has the speaker's name */
.ev-web__icon {
  background: var(--pcat-orange);
  border-radius: 50%;
  bottom: 12px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
  height: 48px;
  left: 12px;
  position: absolute;
  transition: transform 0.2s;
  width: 48px;
}
.ev-web__icon:after {
  border-bottom: 9px solid transparent;
  border-left: 15px solid var(--pcat-dark);
  border-top: 9px solid transparent;
  content: "";
  left: 18px;
  position: absolute;
  top: 15px;
}
.ev-web__play:hover img,
.ev-web__play:focus-visible img {
  opacity: 1;
  transform: scale(1.03);
}
.ev-web__play:hover .ev-web__icon,
.ev-web__play:focus-visible .ev-web__icon {
  transform: scale(1.1);
}
.ev-web__play:focus-visible {
  outline: 3px solid var(--pcat-orange);
  outline-offset: -3px;
}
.ev-web__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 16px 20px 20px;
}
.pcat .ev-web h4 {
  color: var(--pcat-dark);
  font-family: "Geogrotesque Bold", "Geogrotesque Fallback", sans-serif;
  font-size: 18px;
  font-weight: normal;
  line-height: 1.3;
  margin: 0 0 6px;
}
.pcat .ev-web h4 a {
  color: inherit;
}
.pcat .ev-web h4 a:hover {
  color: var(--tdt-accent-text);
}
.pcat .ev-web__who {
  color: #53565a;
  font-size: 14px;
  line-height: 1.45;
  margin: 0 0 8px;
}
.pcat .ev-web__text {
  color: #3d3935;
  font-size: 15px;
  line-height: 1.5;
  margin: 0 0 10px;
}
.ev-web__more {
  margin: 0 0 10px;
}
.ev-web__more summary {
  color: var(--tdt-accent-text);
  cursor: pointer;
  font-size: 14px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.ev-web__more summary:hover {
  color: var(--pcat-dark);
}
.pcat .ev-web__more p {
  color: #3d3935;
  font-size: 14px;
  line-height: 1.55;
  margin: 10px 0 0;
}
.pcat .ev-web__more a {
  text-decoration: underline;
}
.pcat .ev-web__link {
  padding-top: 6px;
}
/* Events: past events by year */
.ev-past {
  display: grid;
  gap: 10px;
}
.ev-past__year {
  background: #fff;
  border: 1px solid #e1e1e1;
  border-radius: var(--tdt-card-radius);
}
.ev-past__year summary {
  align-items: center;
  color: var(--pcat-dark);
  cursor: pointer;
  display: flex;
  font-size: 21px;
  gap: 10px;
  list-style: none;
  padding: 14px 20px;
}
.ev-past__year summary::-webkit-details-marker {
  display: none;
}
.ev-past__year summary:after {
  border-bottom: 2px solid #53565a;
  border-right: 2px solid #53565a;
  content: "";
  height: 9px;
  margin: -4px 4px 0 auto;
  transform: rotate(45deg);
  transition: transform 0.2s;
  width: 9px;
}
.ev-past__year[open] summary:after {
  margin-top: 4px;
  transform: rotate(-135deg);
}
.ev-past__year summary small {
  background: #f4f2ee;
  border-radius: 999px;
  color: #53565a;
  font-size: 13px;
  padding: 2px 9px;
}
.pcat .ev-past__year ul {
  column-gap: 40px;
  columns: 2;
  padding: 0 20px 14px;
}
.pcat .ev-past__year ul li {
  align-items: baseline;
  border-top: 1px solid #efede9;
  break-inside: avoid;
  display: flex;
  flex-wrap: wrap;
  gap: 2px 10px;
  padding: 9px 0;
}
.ev-past__name {
  color: var(--pcat-dark);
  font-size: 15px;
  font-weight: 600;
}
.pcat .ev-past__name a {
  color: inherit;
  font-weight: 600;
}
.pcat .ev-past__name a:hover {
  color: var(--tdt-accent-text);
  text-decoration: underline;
}
.ev-past__meta {
  color: #6b6e72;
  font-size: 14px;
  white-space: pre-wrap;
}
.pcat .ev-past__video {
  color: var(--tdt-accent-text);
  font-size: 14px;
  text-decoration: underline;
}

/* Careers */
.car-jobs {
  display: grid;
  gap: 16px;
  margin-top: 18px;
}
.car-job {
  align-items: center;
  background: #fff;
  border: 1px solid #e1e1e1;
  border-left: 4px solid var(--pcat-orange);
  border-radius: var(--tdt-card-radius);
  display: flex;
  gap: 18px 32px;
  justify-content: space-between;
  padding: 22px 26px;
}
.pcat .car-job h3 {
  color: var(--pcat-dark);
  font-size: 23px;
  line-height: 1.2;
  margin: 0 0 10px;
}
.pcat ul.car-job__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.pcat ul.car-job__meta li {
  background: #f4f2ee;
  border-radius: 999px;
  color: #3d3935;
  font-size: 13px;
  padding: 4px 11px;
}
.pcat .car-job p {
  color: #3d3935;
  font-size: 15px;
  line-height: 1.55;
  margin: 12px 0 0;
  max-width: 720px;
}
.car-job__act {
  align-items: stretch;
  display: flex;
  flex: none;
  flex-direction: column;
  gap: 12px;
  text-align: center;
}
.car-job__act .button.quote-btn {
  margin: 0;
}
.pcat .car-job__pdf {
  color: var(--tdt-accent-text);
  font-size: 14px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.pcat .car-job__pdf:hover {
  color: var(--pcat-dark);
}
.car-how {
  background: #f4f2ee;
  border-radius: var(--tdt-card-radius);
  margin-top: 22px;
  padding: 20px 24px;
}
.pcat .car-how h3 {
  color: var(--pcat-dark);
  font-size: 18px;
  margin: 0 0 6px;
  text-transform: uppercase;
}
.pcat .car-how p {
  color: #3d3935;
  font-size: 15px;
  line-height: 1.55;
  margin: 0;
}
.pcat .car-eeo {
  color: #6b6e72;
  font-size: 13px;
  line-height: 1.5;
  margin: 26px 0 0;
}

/* Contact */
.con .tdt-pl__sec:first-of-type .pcat-in {
  padding-top: 22px;
}
.con-main__in {
  align-items: start;
  display: grid;
  gap: 32px;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  padding-top: 44px;
}
.con-form,
.con-visit {
  background: #fff;
  border-radius: var(--tdt-card-radius);
  box-shadow: 0 1px 3px rgba(16, 24, 32, 0.08);
}
.con-form {
  padding: 26px 28px 20px;
}
.pcat .con-form h2,
.pcat .con-visit h2 {
  color: var(--pcat-dark);
  font-size: 23px;
  margin: 0 0 6px;
  text-transform: uppercase;
}
.pcat .con-form__text {
  color: #53565a;
  font-size: 15px;
  margin: 0 0 6px;
}
.con-form .gform_wrapper.gform_legacy_markup_wrapper {
  margin-top: 6px;
}
.con-form .gform_wrapper input:not([type="submit"]):not([type="hidden"]),
.con-form .gform_wrapper textarea {
  border: 1px solid #c9cacc;
  border-radius: 4px;
  padding: 10px 12px !important;
}
.con-form .gform_wrapper input:focus,
.con-form .gform_wrapper textarea:focus {
  border-color: var(--pcat-dark);
  outline: 2px solid var(--pcat-orange);
  outline-offset: 0;
}
.con-visit {
  overflow: hidden;
}
.con-visit__photo {
  aspect-ratio: 16 / 9;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}
.con-visit__body {
  padding: 22px 24px 24px;
}
.pcat .con-visit address {
  color: #1d2026;
  font-size: 16px;
  font-style: normal;
  line-height: 1.6;
  margin: 0 0 8px;
}
.pcat .con-visit p {
  margin: 0 0 16px;
}
.con-visit__list {
  display: grid;
  gap: 8px 14px;
  grid-template-columns: 64px minmax(0, 1fr);
  margin: 0;
}
.con-visit__list dt {
  color: #53565a;
  font-size: 13px;
  letter-spacing: 0.5px;
  padding-top: 2px;
  text-transform: uppercase;
}
.con-visit__list dd {
  color: #1d2026;
  font-size: 15px;
  margin: 0;
}
.pcat .con-visit__list a {
  color: #1d2026;
  text-decoration: underline;
  text-decoration-color: var(--pcat-orange);
  text-underline-offset: 3px;
}

/* Orders and International distributors (2026-10-19): label/value lists
   like the Contact page's */
.dist-card__list,
.ord-contact {
  display: grid;
  gap: 6px 12px;
  grid-template-columns: 64px minmax(0, 1fr);
  margin: 0 0 16px;
}
.dist-card__list div,
.ord-contact div {
  display: contents;
}
.dist-card__list dt,
.ord-contact dt {
  color: #53565a;
  font-size: 13px;
  letter-spacing: 0.5px;
  padding-top: 2px;
  text-transform: uppercase;
}
.dist-card__list dd,
.ord-contact dd {
  color: #1d2026;
  font-size: 15px;
  margin: 0;
  overflow-wrap: anywhere;
}
.pcat .dist-card__list a,
.pcat .ord-contact a {
  color: #1d2026;
  text-decoration: underline;
  text-decoration-color: var(--pcat-orange);
  text-underline-offset: 3px;
}
.pcat .dist-card .tdt-pl__tag {
  align-self: flex-start;
  margin-bottom: 12px;
}
.pcat .dist-card h3 {
  font-size: 19px;
  text-transform: none;
}
.pcat .dist-card address {
  color: #3d3935;
  font-size: 15px;
  font-style: normal;
  line-height: 1.5;
  margin: 0 0 14px;
}
.pcat .dist-card p.dist-card__links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
  margin: auto 0 0;
}
.pcat ul li.dist-card--hq {
  background: #f8f7f4;
}
.pcat .ord-contact {
  background: #f4f2ee;
  border-radius: var(--tdt-card-radius);
  display: flex;
  flex-wrap: wrap;
  gap: 10px 36px;
  margin: 26px 0 0;
  padding: 16px 22px;
}
.pcat .ord-contact div {
  align-items: baseline;
  display: flex;
  gap: 10px;
}

/* System requirements (2026-10-20): check lists in cards, a notes box */
.pcat .sr-card h3 {
  font-size: 19px;
  text-transform: none;
}
.pcat .tdt-pl__card p.sr-card__for {
  color: #53565a;
  font-size: 14px;
  margin: 0 0 16px;
}
.pcat ul.sr-card__items {
  display: grid;
  gap: 10px;
}
.pcat ul.sr-card__items li {
  color: #1d2026;
  font-size: 15px;
  line-height: 1.45;
  padding-left: 26px;
  position: relative;
}
.pcat ul.sr-card__items li:before {
  background: none;
  border-bottom: 2px solid var(--pcat-orange);
  border-left: 2px solid var(--pcat-orange);
  content: "";
  display: block;
  height: 6px;
  left: 3px;
  position: absolute;
  top: 5px;
  transform: rotate(-45deg);
  width: 11px;
}
.sr-card__items li span {
  color: #63666a;
  display: block;
  font-size: 13.5px;
  margin-top: 2px;
}
.sr-notes {
  background: #f4f2ee;
  border-left: 4px solid var(--pcat-orange);
  border-radius: var(--tdt-card-radius);
  margin-top: 26px;
  padding: 18px 22px;
}
.pcat .sr-notes h3 {
  color: var(--pcat-dark);
  font-size: 16px;
  letter-spacing: 0.5px;
  margin: 0 0 6px;
  text-transform: uppercase;
}
.pcat .sr-notes p {
  color: #3d3935;
  font-size: 15px;
  line-height: 1.55;
  margin: 0 0 8px;
}
.pcat .sr-notes p:last-child {
  margin-bottom: 0;
}
.pcat .sr-notes a {
  color: #1d2026;
  text-decoration: underline;
  text-decoration-color: var(--pcat-orange);
  text-underline-offset: 3px;
}

/* Comparison and form pages (2026-10-20, page-tdt-simple.php): the page's
   own text blocks (includes/flex.php) inside the new layout */
.sp .flex.text {
  padding: 0 !important;
}
.sp .flex.text + .flex {
  margin-top: 28px;
}
.sp .flex.text .container,
#page.sp .flex .container {
  margin: 0;
  max-width: none;
  padding: 0;
}
.sp--compare .sp-body .pcat-in {
  padding-top: 40px;
}
.pcat .sp-body article > p,
.pcat .sp-body article > ul li,
.pcat .sp-body article > ol li {
  color: #3d3935;
  font-size: 16px;
  line-height: 1.6;
}
.pcat .sp-body article > p {
  margin: 0 0 14px;
  max-width: 820px;
}
.pcat .sp-body article h2 {
  color: var(--pcat-dark);
  font-size: 23px;
  line-height: 1.2;
  margin: 30px 0 10px;
  text-align: left !important;
  text-transform: uppercase;
}
.pcat .sp-body article h3 {
  color: var(--pcat-dark);
  font-size: 19px;
  line-height: 1.25;
  margin: 24px 0 8px;
}
.pcat .sp-body article > h2:first-child,
.pcat .sp-body article > h3:first-child {
  margin-top: 0;
}
/* comparison tables */
.sp-table {
  background: #fff;
  border: 1px solid #e1e1e1;
  border-radius: var(--tdt-card-radius);
  margin: 24px 0 14px;
  overflow-x: auto;
}
.sp-table:focus-visible {
  outline: 2px solid var(--pcat-dark);
  outline-offset: 2px;
}
.pcat .sp-table table {
  border-collapse: collapse;
  margin: 0;
  min-width: 760px;
  width: 100%;
}
.pcat .sp-table th {
  background: #f4f2ee;
  border-bottom: 2px solid var(--pcat-orange);
  color: var(--pcat-dark);
  font-size: 13px;
  font-style: normal;
  letter-spacing: 0.5px;
  line-height: 1.3;
  padding: 14px 14px 12px;
  text-align: left;
  text-transform: uppercase;
  vertical-align: bottom;
}
.pcat .sp-table td {
  background: #fff;
  border-top: 1px solid #ebe9e4;
  color: #1d2026;
  font-size: 14.5px;
  line-height: 1.45;
  padding: 12px 14px;
  vertical-align: top;
}
.pcat .sp-table tr:nth-child(odd) td {
  background: #faf9f7;
}
.pcat .sp-table td:first-child {
  font-weight: bold;
  white-space: nowrap;
}
.pcat .sp-table td:first-child a {
  color: var(--tdt-accent-text);
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
}
.pcat .sp-table td:first-child a:hover {
  text-decoration: underline;
}
.pcat .sp-body .tdt_footnote {
  color: #53565a;
  font-size: 13.5px;
  line-height: 1.5;
  margin: 0 0 6px;
  max-width: 900px;
}
.sp-related {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 30px;
}
.sp-related span {
  color: #53565a;
  font-size: 13px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.pcat .sp-related ul.tdt-pl__more {
  margin: 0;
}
/* form pages: the form in a card, contacts beside it */
.sp-form__in {
  align-items: start;
  display: grid;
  gap: 32px;
  grid-template-columns: minmax(0, 1fr) 300px;
  padding-top: 44px;
}
.sp-form__main,
.sp-aside {
  background: #fff;
  border-radius: var(--tdt-card-radius);
  box-shadow: 0 1px 3px rgba(16, 24, 32, 0.08);
}
.sp-form__main {
  padding: 28px 32px 26px;
}
.sp-aside {
  padding: 22px 24px 24px;
  position: sticky;
  top: 20px;
}
.pcat .sp-aside h2 {
  color: var(--pcat-dark);
  font-size: 21px;
  margin: 0 0 8px;
  text-transform: uppercase;
}
.pcat .sp-aside p {
  color: #3d3935;
  font-size: 15px;
  line-height: 1.5;
  margin: 0 0 16px;
}
.sp-form .gform_wrapper {
  margin-top: 18px !important;
}
.sp-form .gform_wrapper .gsection_title {
  color: var(--pcat-dark);
  font-size: 18px;
  margin: 26px 0 0 !important;
  text-transform: uppercase;
}
.sp-form .gform_wrapper input:not([type="submit"]):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="button"]),
.sp-form .gform_wrapper select,
.sp-form .gform_wrapper textarea,
.sp-form .ctct-form input[type="email"],
.sp-form .ctct-form input[type="text"] {
  background: #fff;
  border: 1px solid #c9cacc;
  border-radius: 4px;
  box-sizing: border-box;
  font-size: 16px;
  max-width: 100%;
  padding: 10px 12px !important;
  width: 100% !important;
}
.sp-form .gform_wrapper input:focus,
.sp-form .gform_wrapper select:focus,
.sp-form .gform_wrapper textarea:focus,
.sp-form .ctct-form input:focus {
  border-color: var(--pcat-dark);
  outline: 2px solid var(--pcat-orange);
  outline-offset: 0;
}
.sp-form .gform_wrapper .gform_footer {
  margin-top: 18px;
  padding: 0;
}
.sp-form input[type="submit"] {
  background: transparent !important;
  border: 2px solid var(--tdt-quote-bg, var(--tdt-accent)) !important;
  border-radius: 0 !important;
  color: var(--tdt-quote-text, #1d2026) !important;
  cursor: pointer;
  font-size: 18px !important;
  letter-spacing: 1px;
  line-height: 1.2 !important;
  padding: 12px 28px !important;
  text-transform: uppercase;
  transition: all 0.12s ease-in-out;
  width: auto !important;
}
.sp--filled .sp-form input[type="submit"] {
  background: var(--tdt-quote-bg, var(--tdt-accent)) !important;
  color: var(--tdt-quote-text, var(--tdt-accent-on)) !important;
}
.sp-form input[type="submit"]:hover,
.sp-form input[type="submit"]:focus-visible {
  background: var(--tdt-quote-bg-hover, var(--tdt-accent-hover)) !important;
  border-color: var(--tdt-quote-bg-hover, var(--tdt-accent-hover)) !important;
  color: var(--tdt-quote-text, var(--tdt-quote-on, #fff)) !important;
}
.pcat .sp-form .ctct-form-description h2 {
  font-size: 21px;
  margin: 10px 0 6px;
}
.sp-form .ctct-form-field {
  margin: 0 0 14px;
}
.sp-form .ctct-form label {
  color: #1d2026;
  display: block;
  font-size: 15px;
  margin-bottom: 4px;
}
.sp-form .ctct-disclosure small {
  color: #63666a;
  display: block;
  font-size: 13px;
  line-height: 1.5;
}
.sp-form .gform_required_legend {
  color: #53565a;
  font-size: 14px;
  margin: 0 0 6px;
}
/* A hint above its box ("e.g. ..." on the quote form, functions/quote-setup.php):
   grey, close under the label */
.sp-form .gform_wrapper .field_description_above .gfield_description {
  color: #53565a;
  font-size: 14px;
  line-height: 1.45;
  padding: 0 0 8px;
}
@media all and (max-width: 1000px) {
  .sp-form__in {
    grid-template-columns: 1fr;
  }
  .sp-aside {
    position: static;
  }
}
@media all and (max-width: 767.9375px) {
  .sp-form__in {
    padding-top: 28px;
  }
  .sp-form__main {
    padding: 22px 18px 20px;
  }
  .sp--compare .sp-body .pcat-in {
    padding-top: 28px;
  }
}

/* Support */
.sup-talk {
  align-items: center;
  display: grid;
  gap: 40px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  padding-top: 44px;
}
.pcat .sup-talk h2 {
  margin-bottom: 10px;
}
.pcat .sup-talk__main > p {
  color: #3d3935;
  font-size: 16px;
  line-height: 1.6;
  margin: 0 0 18px;
}
.sup-talk .con-visit__list {
  grid-template-columns: 70px minmax(0, 1fr);
}
.sup-remote {
  background: #fff;
  border-radius: var(--tdt-card-radius);
  border-top: 3px solid var(--pcat-orange);
  box-shadow: 0 1px 3px rgba(16, 24, 32, 0.08);
  padding: 22px 26px 18px;
}
.pcat .sup-remote h3 {
  color: var(--pcat-dark);
  font-size: 20px;
  margin: 0 0 6px;
  text-transform: uppercase;
}
.pcat .sup-remote p {
  color: #3d3935;
  font-size: 15px;
  line-height: 1.5;
  margin: 0 0 14px;
}
.sup-remote label {
  color: #53565a;
  display: block;
  font-size: 13px;
  letter-spacing: 0.5px;
  margin-bottom: 6px;
  text-transform: uppercase;
}
.sup-remote__row {
  display: flex;
  gap: 10px;
}
.sup-remote__row input {
  border: 1px solid #c9cacc;
  border-radius: 4px;
  flex: 1 1 auto;
  font-size: 16px;
  min-width: 0;
  padding: 10px 12px;
}
.sup-remote__row input:focus {
  border-color: var(--pcat-dark);
  outline: 2px solid var(--pcat-orange);
  outline-offset: 0;
}
.sup-remote__row .button.quote-btn {
  flex: none;
  margin: 0;
}
.pcat .sup-remote .sup-remote__by {
  color: #6b6e72;
  font-size: 12px;
  margin: 10px 0 0;
}
.tdt-pl .sup-war {
  padding-top: 46px;
}
.sup-war__in {
  align-items: center;
  display: grid;
  gap: 48px;
  grid-template-columns: minmax(0, 1fr) 220px;
}
.pcat .sup-war h2 {
  margin-bottom: 10px;
}
.pcat .sup-war__text {
  color: #3d3935;
  font-size: 16px;
  line-height: 1.6;
  margin: 0 0 18px;
  max-width: 720px;
}
.sup-war__table {
  background: none;
  border-collapse: collapse;
  margin: 0 0 24px;
  width: 100%;
}
.sup-war__table tr,
.sup-war__table tr:first-child {
  background: none;
}
.sup-war__table th,
.sup-war__table td {
  background: none;
  border-top: 1px solid #e1e1e1;
  font-style: normal;
  letter-spacing: 0;
  padding: 14px 0;
  text-align: left;
  text-transform: none;
  vertical-align: top;
}
.sup-war__table tr:last-child th,
.sup-war__table tr:last-child td {
  border-bottom: 1px solid #e1e1e1;
}
.sup-war__table th {
  color: var(--pcat-dark);
  font-size: 18px;
  padding-right: 20px;
  width: 30%;
}
.sup-war__table td {
  color: #3d3935;
  font-size: 15px;
  line-height: 1.5;
}
.pcat .sup-war__table ul {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
}
.pcat .sup-war__table ul li {
  background: #f4f2ee;
  border-radius: 12px;
  font-size: 14px;
  padding: 3px 11px;
}
.sup-war .button.quote-btn {
  margin: 0;
}
.sup-war__badge img {
  display: block;
  height: auto;
  margin: 0 auto;
  max-width: 100%;
}

@media all and (max-width: 1000px) {
  .pcat ul.tdt-pl__cards {
    grid-template-columns: repeat(2, 1fr);
  }
  .ev-web {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .con-main__in,
  .sup-talk {
    grid-template-columns: 1fr;
  }
}
@media all and (max-width: 767.9375px) {
  .tdt-pl .pcat-sec {
    padding-bottom: 36px;
  }
  .pcat .tdt-pl__band .pcat-in > h2,
  .pcat .tdt-pl__band + .tdt-pl__sec .pcat-in > h2 {
    padding-top: 32px;
  }
  .pcat ul.tdt-pl__cards,
  .pcat ul.tdt-pl__facts,
  .ev-web,
  .tdt-pl__split {
    grid-template-columns: 1fr;
  }
  .tdt-pl__split {
    gap: 24px;
  }
  .pcat ul li.ev-item {
    gap: 6px 16px;
    grid-template-columns: 58px minmax(0, 1fr);
    padding: 16px;
  }
  .ev-item__day {
    font-size: 24px;
  }
  .ev-item__month {
    font-size: 12px;
  }
  .ev-item__act {
    grid-column: 2;
  }
  .pcat .ev-item h3 {
    font-size: 19px;
    margin-top: 2px;
  }
  .pcat .ev-past__year ul {
    columns: 1;
    padding: 0 16px 10px;
  }
  .ev-past__year summary {
    padding: 13px 16px;
  }
  .car-job {
    align-items: stretch;
    flex-direction: column;
    padding: 18px;
  }
  .pcat .car-job h3 {
    font-size: 21px;
  }
  .con-main__in,
  .sup-talk {
    gap: 24px;
    padding-top: 32px;
  }
  .con-form {
    padding: 20px 18px 16px;
  }
  .con-visit__body {
    padding: 18px;
  }
  .sup-remote {
    padding: 18px;
  }
  .sup-remote__row {
    flex-wrap: wrap;
  }
  .sup-remote__row .button.quote-btn {
    flex: 1 1 100%;
  }
  .tdt-pl .sup-war {
    padding-top: 34px;
  }
  .sup-war__in {
    gap: 20px;
    grid-template-columns: 1fr;
  }
  .sup-war__badge {
    grid-row: 1;
  }
  .sup-war__badge img {
    margin: 0;
    max-width: 120px;
  }
  .sup-war__table th,
  .sup-war__table td {
    display: block;
    width: auto;
  }
  .sup-war__table td {
    border-top: 0;
    padding-top: 0;
  }
  .sup-war__table tr:last-child th {
    border-bottom: 0;
  }
}

/* About page clean-up (2026-10-07, body class tdt-about-clean,
   functions/about-page.php; TDT Theme > About page). Text + picture
   blocks: see "Text + picture blocks centered" above. */
.tdt-about-clean .flex.columns article img {
  border-radius: var(--tdt-card-radius);
  box-shadow: 0 1px 3px rgba(16, 24, 32, 0.12);
  display: block;
  height: auto;
  margin: 0 auto 22px;
  max-width: 100%;
}
.tdt-about-clean .flex.columns article h4 {
  font-size: 19px;
  margin: 0 0 6px;
}
.tdt-about-clean main ul.tdt-about__list {
  margin: 0 0 20px;
}
.tdt-about-clean main ul.tdt-about__list li {
  margin-bottom: 6px;
  padding-left: 26px;
}
.tdt-about-clean main ul.tdt-about__list li:before {
  left: 0;
  top: 12px;
}
/* text + picture blocks as wide as the text blocks (950px), so all left
   edges line up */
@media all and (min-width: 769px) {
  .tdt-about-clean.page .flex.module.standard .container {
    max-width: 1030px !important;
  }
}
.tdt-about-clean .flex.module.standard .block h2 + p,
.tdt-about-clean .flex.module.standard .block h3 + p {
  margin-top: 0;
}
.tdt-about-clean .flex.module.standard .block h2:has(> a.button) {
  margin: 8px 0 0;
}
@media all and (max-width: 767.9375px) {
  /* the intro column was centered on phones (list dashes at the edge) */
  .tdt-about-clean .flex.columns article:first-child {
    text-align: left;
  }
  .tdt-about-clean .flex.text h3 {
    font-size: 20px;
  }
}
/* About page top: tabs "Our advantage / Support / Warranty / Published
   research" (functions/about-page.php, TDT Theme > About page > Top
   section). Tabs and panels use the system pages' tab styles (.sysp-tabs,
   .sysp-panel); these rules are the About content inside them. */
.flex.ab-why {
  padding: 36px 0 60px;
}
.ab-why__in {
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 950px;
}
main h2.ab-why__title {
  margin-bottom: 18px;
}
.ab-tabs.sysp-more {
  margin-top: 0;
}
.ab-panel__grid {
  align-items: start;
  display: grid;
  gap: 44px;
  grid-template-columns: minmax(0, 11fr) minmax(0, 9fr);
}
.ab-panel__grid--icon {
  align-items: center;
  grid-template-columns: minmax(0, 1fr) 220px;
}
main p.ab-why__lead {
  color: #3d3935;
  font-size: 17px;
  line-height: 1.65;
  margin: 0 0 18px;
}
main h4.ab-panel__head {
  color: #101820;
  font-size: 20px;
  margin: 0 0 8px;
  text-transform: uppercase;
}
main ul.ab-why__points {
  display: grid;
  gap: 10px 20px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 4px 0 24px;
  padding: 0;
  width: auto;
}
main ul.ab-why__points li {
  color: #22242d;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  margin: 0;
  padding: 0 0 0 30px;
}
/* orange check mark instead of the theme's dash */
main ul.ab-why__points li:before {
  background: none;
  border-bottom: 2.5px solid var(--tdt-accent);
  border-right: 2.5px solid var(--tdt-accent);
  height: 11px;
  left: 6px;
  top: 2px;
  transform: rotate(45deg);
  width: 6px;
}
main .ab-why__points a {
  color: inherit;
  font-weight: 600;
}
main .ab-why__points a:hover,
main .ab-why__points a:focus-visible {
  color: var(--tdt-accent-text);
  text-decoration: underline;
  text-underline-offset: 3px;
}
main p.ab-why__cta {
  color: #3d3935;
  font-size: 15px;
  line-height: 1.6;
  margin: 0 0 16px;
}
.ab-panel .button.quote-btn {
  margin: 0;
}
.ab-panel__photo {
  border-radius: var(--tdt-card-radius);
  box-shadow: 0 1px 3px rgba(16, 24, 32, 0.12);
  display: block;
  height: auto;
  width: 100%;
}
.ab-panel__icon {
  display: block;
  height: auto;
  margin: 0 auto;
  max-width: 200px;
  width: 100%;
}
.ab-panel__list {
  display: grid;
  gap: 8px 14px;
  grid-template-columns: 64px minmax(0, 1fr);
  margin: 0 0 22px;
}
.ab-panel__list dt {
  color: #53565a;
  font-family: industry, "Geogrotesque Fallback", sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.5px;
  padding-top: 2px;
  text-transform: uppercase;
}
.ab-panel__list dd {
  color: #1d2026;
  font-size: 15px;
  margin: 0;
}
main .ab-panel__list a {
  color: #1d2026;
  font-weight: normal;
  text-decoration: underline;
  text-decoration-color: var(--tdt-accent);
  text-underline-offset: 3px;
}
table.ab-war {
  background: none;
  border-collapse: collapse;
  margin: 0 0 18px;
  width: 100%;
}
table.ab-war tr,
table.ab-war tr:first-child {
  background: none;
}
table.ab-war th,
table.ab-war td {
  background: none;
  border-top: 1px solid #e1e1e1;
  font-style: normal;
  letter-spacing: 0;
  padding: 10px 0;
  text-align: left;
  text-transform: none;
  vertical-align: top;
}
table.ab-war th {
  color: #101820;
  font-family: industry, "Geogrotesque Fallback", sans-serif;
  font-size: 16px;
  font-weight: 700;
  padding-right: 18px;
  white-space: nowrap;
  width: 1%;
}
table.ab-war td {
  color: #3d3935;
  font-size: 15px;
  line-height: 1.5;
}
main .ab-panel__more {
  font-family: industry, "Geogrotesque Fallback", sans-serif;
  font-size: 14px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.ab-panel .prod-pubs__top {
  align-items: baseline;
}
.ab-panel .prod-pubs__top p.ab-why__lead {
  margin: 0;
}
@media all and (max-width: 990px) {
  .ab-why__in {
    padding: 0 20px;
  }
}
@media all and (max-width: 767.9375px) {
  .flex.ab-why {
    padding: 28px 0 40px;
  }
  .ab-panel__grid,
  .ab-panel__grid--icon {
    gap: 24px;
    grid-template-columns: 1fr;
  }
  .ab-panel__icon {
    max-width: 130px;
    margin: 0;
  }
  main ul.ab-why__points {
    grid-template-columns: 1fr;
  }
  /* four tabs: scroll sideways instead of squeezing */
  .ab-tabs .sysp-tabs {
    overflow-x: auto;
    scrollbar-width: none;
  }
  .ab-tabs .sysp-tabs::-webkit-scrollbar {
    display: none;
  }
  main .ab-tabs .sysp-tabs button {
    flex: none;
    font-size: 15px;
    white-space: nowrap;
  }
  table.ab-war th {
    white-space: normal;
    width: 34%;
  }
}
@media all and (max-width: 400px) {
  /* module labels ("Electrophysiology") fit narrow phone cards */
  .pcat-card__tag {
    font-size: 10px;
    gap: 5px;
    letter-spacing: 0;
  }
}

/* Product pages: "How to cite" (functions/product-cite.php), at the end of
   the Publications tab, or of the Published research band on pages without
   tabs (functions/publications-pages.php) */
.prod-cite {
  margin-top: 26px;
}
.prod-cite__in {
  background: #f6f6f4;
  border-left: 4px solid var(--tdt-accent);
  border-radius: var(--tdt-card-radius);
  box-sizing: border-box;
  padding: 18px 20px;
}
main .prod-cite h3,
#single.products .container article .prod-cite h3 {
  color: #101820;
  font-family: industry, "Geogrotesque Fallback", sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.3px;
  line-height: 1.2;
  margin: 0 0 6px;
  text-align: left;
  /* no uppercase: model names keep their case (iX7, not IX7) */
  text-transform: none;
}
main .prod-cite p,
#single.products .container article .prod-cite p {
  color: #3d4046;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
  text-align: left;
}
.prod-cite__row {
  align-items: center;
  display: flex;
  gap: 12px;
  margin-top: 10px;
}
main .prod-cite p.prod-cite__example,
#single.products .container article .prod-cite p.prod-cite__example {
  background: #fff;
  border: 1px solid #d0d0ce;
  border-radius: 4px;
  color: #101820;
  flex: 1 1 auto;
  min-width: 0;
  padding: 9px 12px;
}
.prod-cite__copy {
  background: transparent;
  border: 2px solid var(--tdt-accent);
  border-radius: 6px;
  color: #1d2026;
  cursor: pointer;
  flex: none;
  font-size: 13px;
  padding: 6px 14px;
}
.prod-cite__copy:hover,
.prod-cite__copy:focus-visible {
  background: var(--tdt-accent);
}
/* In the wide band: heading and sentence side by side */
.prod-pubs .prod-cite__in {
  align-items: center;
  display: grid;
  gap: 10px 32px;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
}
.prod-pubs .prod-cite__row {
  margin-top: 0;
}
/* Product pages: the band heading keeps the model's case (iQn, not IQN) */
.single-product main .prod-pubs__top h2 {
  text-transform: none;
}
/* Fewer than 3 papers: overall record, links */
.pub-tab__send,
#single.products .container article .pub-tab__send {
  color: #3d4046;
  font-size: 15px;
  margin: 12px 0 0;
}
.pub-tab__send a {
  color: #101820;
  font-weight: bold;
  text-decoration: underline;
  text-decoration-color: var(--tdt-accent);
  text-underline-offset: 3px;
}
.prod-pubs__none .pub-tab__lead {
  color: #3d4046;
  font-size: 17px;
  margin: 0 0 8px;
}
.prod-pubs__none .pub-tab__all a {
  color: #101820;
  font-family: industry, "Geogrotesque Fallback", sans-serif;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: var(--tdt-accent);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}
@media all and (max-width: 767.9375px) {
  .prod-pubs .prod-cite__in {
    grid-template-columns: 1fr;
  }
  .prod-cite__in {
    padding: 16px;
  }
  .prod-cite__row {
    align-items: stretch;
    flex-direction: column;
  }
}

/* ---- Downloads, News and Testimonials (2026-10-12) ---------------------
   Same house style as the Support/Events pages (.pcat, .tdt-pl). */
.dl-latest__ver,
.news-topics a,
.news-more summary,
.tm-card__source,
.tm-card__story,
.tm-card figcaption b,
.tm-band__all,
.home-quotes__all,
.news-single__tags b,
.news-single__back a {
  font-family: "Geogrotesque Bold", "Geogrotesque Fallback", sans-serif;
  font-weight: normal;
}
.tdt-industry-bold .dl-latest__ver,
.tdt-industry-bold .news-topics a,
.tdt-industry-bold .news-more summary,
.tdt-industry-bold .tm-card__source,
.tdt-industry-bold .tm-card__story,
.tdt-industry-bold .tm-card figcaption b,
.tdt-industry-bold .tm-band__all,
.tdt-industry-bold .home-quotes__all,
.tdt-industry-bold .news-single__tags b,
.tdt-industry-bold .news-single__back a {
  font-family: industry, "Geogrotesque Fallback", sans-serif;
  font-weight: 700;
}

/* Downloads */
.dl-top__in {
  align-items: stretch;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(220px, 300px) 1fr;
  padding-top: 36px;
}
.pcat .dl-top h2 {
  border-top: 0;
  padding-top: 0;
}
.dl-latest {
  background: var(--pcat-dark);
  border-radius: var(--tdt-card-radius);
  color: #fff;
  padding: 22px 24px;
}
.pcat .dl-latest h2 {
  color: #d0d0ce;
  font-size: 15px;
  letter-spacing: 1px;
  margin: 0 0 6px;
}
.dl-latest__ver {
  color: var(--tdt-accent-bright);
  font-size: 64px;
  line-height: 1;
  margin: 0 0 6px;
}
.dl-latest__date {
  color: #d0d0ce;
  font-size: 15px;
  margin: 0;
}
.dl-note {
  background: #fff;
  border: 1px solid #e1e1e1;
  border-left: 4px solid var(--pcat-orange);
  border-radius: var(--tdt-card-radius);
  padding: 20px 24px;
}
.pcat .dl-note h2 {
  font-size: 20px;
  margin: 0 0 8px;
}
.dl-note p {
  color: #3d3935;
  font-size: 16px;
  line-height: 1.55;
  margin: 0 0 10px;
}
.dl-note p:last-child {
  margin-bottom: 0;
}
.dl-note a {
  color: var(--tdt-accent-text);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.dl-filter {
  padding-bottom: 6px;
  padding-top: 28px;
}
.dl-filter label {
  color: var(--pcat-dark);
  display: block;
  font-size: 14px;
  letter-spacing: 0.5px;
  margin: 0 0 6px;
  text-transform: uppercase;
}
.dl-filter input {
  background: #fff;
  border: 1px solid #b9bbbd;
  border-radius: 6px;
  box-sizing: border-box;
  font-size: 16px;
  max-width: 420px;
  padding: 11px 14px;
  width: 100%;
}
.dl-filter input:focus {
  border-color: var(--pcat-dark);
  outline: 2px solid var(--tdt-accent);
  outline-offset: 1px;
}
.dl-filter__none {
  color: #3d3935;
  margin: 12px 0 0;
}
.dl-intro {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 14px 28px;
  justify-content: space-between;
  padding-top: 30px;
}
.pcat .dl-intro__text {
  color: #26292e;
  font-size: 19px;
  line-height: 1.5;
  margin: 0;
  max-width: 720px;
}
.dl-intro .button.quote-btn {
  margin: 0;
}
.pcat table.dl-table {
  background: none;
  border-collapse: collapse;
  margin: 14px 0 0;
  table-layout: fixed;
  width: 100%;
}
.pcat .dl-table tr,
.pcat .dl-table tr:first-child {
  background: none;
  border: 0;
}
/* every column has the same 20px gap; widths are set once, on the heading row */
.pcat .dl-table thead th:nth-child(1) {
  width: 25%;
}
.pcat .dl-table thead th:nth-child(2) {
  width: 11%;
}
.pcat .dl-table thead th:nth-child(3) {
  width: 13%;
}
.pcat .dl-table thead th:nth-child(5) {
  width: 14%;
}
.pcat .dl-table thead th {
  background: none;
  border-bottom: 2px solid var(--pcat-dark);
  color: #6b6e72;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0;
  padding: 8px 20px 10px 0;
  text-align: left;
  text-transform: none;
}
.pcat .dl-table td,
.pcat .dl-table tbody th {
  background: none;
  border-bottom: 1px solid #e3e3e3;
  color: #3d3935;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 15px;
  font-style: normal;
  letter-spacing: 0;
  line-height: 1.4;
  padding: 10px 20px 10px 0;
  text-align: left;
  text-transform: none;
  vertical-align: top;
}
.pcat .dl-table tbody th {
  font-size: 16px;
  font-weight: 700;
}
.pcat .dl-table tbody th a {
  color: var(--tdt-accent-text);
  font-weight: 700;
  text-decoration: none;
}
.pcat .dl-table tbody th a:hover,
.pcat .dl-table tbody th a:focus-visible {
  color: var(--pcat-dark);
  text-decoration: underline;
  text-decoration-color: var(--tdt-accent);
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.pcat .dl-table tbody tr:hover td,
.pcat .dl-table tbody tr:hover th {
  background: #faf9f7;
}
.pcat .dl-table__notes a {
  color: var(--tdt-accent-text);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.pcat .dl-table td.dl-table__ex {
  padding-right: 0;
}
.pcat .dl-table thead th:nth-child(5) {
  padding-right: 0;
}
.pcat .dl-table td.dl-table__ex a {
  align-items: center;
  color: var(--tdt-accent-text);
  display: inline-flex;
  gap: 6px;
  text-decoration: none;
}
.pcat .dl-table td.dl-table__ex a span {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.pcat .dl-table td.dl-table__ex a:hover {
  color: var(--pcat-dark);
}
.dl-table tr[hidden],
.dl-sec[hidden] {
  display: none !important;
}
.dl-prev summary {
  cursor: pointer;
  list-style: none;
}
.dl-prev summary::-webkit-details-marker {
  display: none;
}
.pcat .dl-prev summary h2 {
  margin: 0;
}
.dl-prev summary h2:after {
  color: var(--tdt-accent-text);
  content: "+";
  display: inline-block;
  margin-left: 12px;
}
.dl-prev[open] summary h2:after {
  content: "\2212";
}
.dl-prev summary small {
  background: var(--tdt-accent-tint);
  border-radius: 999px;
  font-size: 14px;
  margin-left: 8px;
  padding: 3px 9px;
  vertical-align: middle;
}
.dl-prev summary:focus-visible {
  outline: 2px solid var(--pcat-dark);
  outline-offset: 4px;
}
.dl-prev .pcat-sec__lead {
  margin-top: 8px;
}

/* News */
.news-topics {
  margin: 16px 0 26px;
}
/* .pcat: wins over main.tdt-pl ul (display: block), which stacked the
   buttons with no gap */
.pcat .news-topics ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.news-topics li {
  list-style: none;
  margin: 0;
}
.pcat .news-topics a {
  background: #fff;
  border: 2px solid #d4d5d6;
  border-radius: 999px;
  color: var(--pcat-dark);
  display: inline-block;
  font-size: 14px;
  letter-spacing: 0.4px;
  padding: 7px 14px 6px;
  text-decoration: none;
  text-transform: uppercase;
}
.pcat .news-topics a:hover,
.pcat .news-topics a:focus-visible {
  border-color: var(--pcat-dark);
}
.pcat .news-topics a.is-on {
  background: var(--pcat-dark);
  border-color: var(--pcat-dark);
  color: #fff;
}
.news-more {
  margin-top: 12px;
}
.news-more summary {
  color: var(--tdt-accent-text);
  cursor: pointer;
  font-size: 14px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.news-more ul {
  margin-top: 10px;
}
.pcat ul.news-grid {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(3, 1fr);
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
}
.pcat ul li.news-card {
  background: #fff;
  border: 1px solid #e1e1e1;
  border-radius: var(--tdt-card-radius);
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: 0;
  overflow: hidden;
  position: relative;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.pcat .news-card:hover,
.pcat .news-card:focus-within {
  border-color: #c9cacc;
  box-shadow: 0 6px 18px rgba(16, 24, 32, 0.1);
}
.news-card__pic {
  aspect-ratio: 16 / 10;
  background: #f4f2ee;
  overflow: hidden;
}
.news-card__pic img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.news-card__pic--none {
  align-items: center;
  display: flex;
  justify-content: center;
}
.news-card__pic--none img {
  height: auto;
  object-fit: contain;
  width: 55%;
}
.news-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  padding: 18px 20px;
}
.news-card__body .tdt-pl__tag {
  align-self: flex-start;
  margin: 0 0 10px;
}
.pcat .news-card h3 {
  color: var(--pcat-dark);
  font-size: 20px;
  line-height: 1.2;
  margin: 0 0 6px;
  text-transform: none;
}
.pcat .news-card h3 a {
  color: inherit;
}
.pcat .news-card h3 a:after {
  content: "";
  inset: 0;
  position: absolute;
}
.pcat .news-card h3 a:focus-visible:after {
  outline: 2px solid var(--pcat-dark);
  outline-offset: -2px;
}
.pcat .news-card__date {
  color: #6b6e72;
  font-size: 14px;
  margin: 0 0 8px;
}
.pcat .news-card__text {
  color: #3d3935;
  font-size: 15px;
  line-height: 1.5;
  margin: 0 0 14px;
}
.news .pagination {
  margin-top: 30px;
}
.news-single__label {
  margin: 0 0 12px;
}
.pcat-hero .news-single__date {
  font-size: 16px;
  margin: 0;
}
.pcat .news-single__body {
  max-width: 820px;
  padding-bottom: 46px;
  padding-top: 40px;
}
.news-single__text {
  color: #26292e;
  font-size: 18px;
  line-height: 1.65;
}
.news-single__text img {
  height: auto;
  max-width: 100%;
}
.news-single__text a {
  color: var(--tdt-accent-text);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.pcat .news-single__tags {
  color: #3d3935;
  font-size: 15px;
  margin: 30px 0 0;
}
.news-single__tags a {
  background: var(--tdt-accent-tint);
  border-radius: 999px;
  color: var(--pcat-dark);
  display: inline-block;
  font-size: 13px;
  margin: 0 6px 6px 8px;
  padding: 4px 10px 3px;
  text-decoration: none;
}
.pcat .news-single__back {
  margin: 14px 0 0;
}
.pcat .news-single__back a {
  color: var(--pcat-dark);
  text-decoration: underline;
  text-decoration-color: var(--tdt-accent);
  text-underline-offset: 4px;
}

/* Testimonials */
.tm-grid {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 18px;
}
.tm-grid--1 {
  grid-template-columns: minmax(0, 640px);
}
.tm-grid--2 {
  grid-template-columns: repeat(2, 1fr);
}
.tm-wall {
  column-gap: 22px;
  columns: 3;
  margin-top: 18px;
}
.pcat .tm-wall .tm-card {
  break-inside: avoid;
  margin: 0 0 22px;
}
.tm-card {
  background: #fff;
  border: 1px solid #e1e1e1;
  border-radius: var(--tdt-card-radius);
  border-top: 3px solid var(--tdt-accent);
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 20px 22px 18px;
  scroll-margin-top: 80px;
}
.tm-card__top {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  justify-content: space-between;
  margin: 0 0 10px;
}
.tm-stars {
  color: var(--tdt-accent-text);
  font-size: 18px;
  letter-spacing: 2px;
}
.tm-card__source {
  color: #6b6e72;
  font-size: 12px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
}
a.tm-card__source:hover {
  color: #101820;
}
.tm-card blockquote {
  border: 0;
  margin: 0;
  padding: 0;
  text-align: left;
}
.tm-card blockquote p {
  color: #26292e;
  font-size: 16px;
  line-height: 1.55;
  margin: 0 0 12px;
}
.tm-card blockquote > p:first-child:before {
  color: var(--tdt-accent);
  content: "\201C";
  font-family: Georgia, serif;
  font-size: 40px;
  line-height: 0;
  margin-right: 4px;
  vertical-align: -14px;
}
.tm-card__more summary {
  color: var(--tdt-accent-text);
  cursor: pointer;
  font-size: 14px;
  list-style: none;
}
.tm-card__more summary::-webkit-details-marker {
  display: none;
}
.tm-card__more[open] summary {
  display: none;
}
.tm-card:has(.tm-card__more[open]) .tm-card__dots {
  display: none;
}
.tm-card__more summary:hover {
  text-decoration: underline;
}
.tm-card__more summary:focus-visible {
  outline: 2px solid #101820;
  outline-offset: 2px;
}
.tm-card figcaption {
  border-top: 1px solid #ececec;
  color: #3d3935;
  font-size: 14px;
  line-height: 1.4;
  margin-top: auto;
  padding-top: 12px;
}
.tm-card figcaption b {
  color: #101820;
  display: block;
  font-size: 16px;
}
.tm-card figcaption span {
  display: block;
}
.tm-card__story {
  color: var(--tdt-accent-text);
  font-size: 14px;
  letter-spacing: 0.4px;
  margin-top: 12px;
  text-transform: uppercase;
}
a.tm-card__story:hover {
  color: #101820;
}
.tm-band__top {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  justify-content: space-between;
}
.pcat .tm-band .pcat-in > .tm-band__top > h2 {
  border-top: 0;
  padding-top: 0;
}
/* Room above the heading, like the other bands (their 44px sits on the h2;
   here the h2 is inside .tm-band__top) */
.tdt-pl .tm-band {
  padding-top: 44px;
}
@media all and (max-width: 767.9375px) {
  .tdt-pl .tm-band {
    padding-top: 32px;
  }
}
.tm-band__all {
  color: #101820;
  font-size: 15px;
  text-decoration: underline;
  text-decoration-color: var(--tdt-accent);
  text-underline-offset: 4px;
}
#front .home-quotes {
  background: #f4f2ee;
  padding: 64px 20px 70px;
}
#front .home-quotes__in {
  margin: 0 auto;
  max-width: 1180px;
}
#front .home-quotes__top {
  align-items: baseline;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  margin: 0 0 4px;
}
#front .home-quotes h2 {
  color: #101820;
  font-family: Industry, sans-serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.1;
  margin: 0;
  text-align: left;
  text-transform: uppercase;
}
#front .home-quotes__all {
  color: #101820;
  font-size: 15px;
  text-decoration: underline;
  text-decoration-color: var(--tdt-accent);
  text-underline-offset: 4px;
}
@media all and (max-width: 991.9375px) {
  .pcat ul.news-grid,
  .tm-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .tm-wall {
    columns: 2;
  }
  .dl-top__in {
    grid-template-columns: 1fr;
  }
}
@media all and (max-width: 767.9375px) {
  .pcat ul.news-grid,
  .tm-grid,
  .tm-grid--2 {
    grid-template-columns: 1fr;
  }
  .tm-wall {
    columns: 1;
  }
  .news-single__text {
    font-size: 17px;
  }
  .dl-latest__ver {
    font-size: 52px;
  }
  #front .home-quotes {
    padding: 44px 16px;
  }
  #front .home-quotes__top {
    flex-wrap: wrap;
  }
  .pcat table.dl-table,
  .dl-table tbody,
  .dl-table tr,
  .pcat .dl-table td,
  .pcat .dl-table tbody th {
    display: block;
    width: auto;
  }
  .dl-table thead {
    height: 1px;
    overflow: hidden;
    position: absolute;
    width: 1px;
  }
  .pcat .dl-table tbody tr {
    border-bottom: 1px solid #e3e3e3;
    padding: 12px 0;
  }
  .pcat .dl-table td,
  .pcat .dl-table tbody th {
    border: 0;
    padding: 2px 0;
  }
  .pcat .dl-table tbody th {
    font-size: 17px;
  }
  .pcat .dl-table tbody tr:hover td,
  .pcat .dl-table tbody tr:hover th {
    background: none;
  }
  .pcat .dl-table td[data-label]:before {
    color: #6b6e72;
    content: attr(data-label) ": ";
    font-size: 13px;
  }
  .pcat .dl-table td:empty {
    display: none;
  }
  .pcat .dl-table td.dl-table__ver,
  .pcat .dl-table td.dl-table__date {
    display: inline-block;
    margin-right: 16px;
  }
  .pcat .dl-table td.dl-table__notes:before {
    content: none;
  }
  .pcat .dl-table td.dl-table__ex {
    margin-top: 4px;
  }
}

/* Products cards about 15% smaller in area (2026-10-12): shorter picture box, same grid. Phones keep their size. */
@media all and (min-width: 768px) {
  .pcat-card__pic {
    aspect-ratio: 16 / 9;
  }
}

/* Banner without a picture (default, 2026-10-12): the text gets the width; two buttons */
#front .home-banner__buttons {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 14px 16px;
}
#front .home-banner__buttons .button {
  margin: 0;
}
/* "Request a quote": a plain underlined link, so the two actions are not boxes of different sizes */
#front .home-banner__quote {
  border-bottom: 2px solid var(--tdt-accent);
  color: #fff;
  font-family: Industry, sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 1px;
  padding-bottom: 2px;
  text-decoration: none;
  text-transform: uppercase;
}
#front .home-banner__quote:hover,
#front .home-banner__quote:focus-visible {
  border-bottom-color: #fff;
  color: var(--tdt-accent-bright);
}
#front .home-banner--text .home-banner__in {
  min-height: 380px;
}
#front .home-banner--text .home-banner__text {
  flex: 1 1 auto;
  max-width: 720px;
}
#front .home-banner--text h1 {
  font-size: 54px;
}
#front .home-banner--text p.home-banner__lead {
  font-size: 20px;
  max-width: 600px;
}
#front .home-banner--text.home-banner--shade:before {
  background: linear-gradient(90deg, rgba(16, 24, 32, .94) 0%, rgba(16, 24, 32, .82) 50%, rgba(16, 24, 32, .25) 100%);
}
@media all and (max-width: 899.9375px) {
  #front .home-banner--text .home-banner__in {
    min-height: 0;
    padding: 36px 20px 40px;
  }
  #front .home-banner--text h1 {
    font-size: 40px;
  }
  #front .home-banner--text.home-banner--shade:before {
    background: linear-gradient(180deg, rgba(16, 24, 32, .92) 0%, rgba(16, 24, 32, .78) 60%, rgba(16, 24, 32, .45) 100%);
  }
}
@media all and (max-width: 599.9375px) {
  #front .home-banner--text h1 {
    font-size: 32px;
  }
  #front .home-banner--text p.home-banner__lead {
    font-size: 17px;
  }
  #front .home-banner__buttons {
    gap: 18px 22px;
  }
}

/* In-depth testimonials (2026-10-13): who | headline quote + Q&A toggle */
.tm-deep__who b,
.tm-deep dt,
.tm-deep__more summary {
  font-family: "Geogrotesque Bold", "Geogrotesque Fallback", sans-serif;
  font-weight: normal;
}
.tdt-industry-bold .tm-deep__who b,
.tdt-industry-bold .tm-deep dt,
.tdt-industry-bold .tm-deep__more summary {
  font-family: industry, "Geogrotesque Fallback", sans-serif;
  font-weight: 700;
}
.tm-deeps {
  display: grid;
  gap: 24px;
  margin-top: 18px;
}
.tm-deep {
  background: #fff;
  border: 1px solid #e1e1e1;
  border-radius: var(--tdt-card-radius);
  border-top: 3px solid var(--tdt-accent);
  display: grid;
  gap: 18px 40px;
  grid-template-columns: minmax(180px, 250px) minmax(0, 1fr);
  padding: 28px 32px 26px;
  scroll-margin-top: 80px;
}
.tm-deep__who {
  color: #3d3935;
  font-size: 14px;
  line-height: 1.45;
}
.tm-deep__who img {
  border-radius: 50%;
  display: block;
  height: 96px;
  margin: 0 0 14px;
  object-fit: cover;
  width: 96px;
}
.tm-deep__who b {
  color: #101820;
  display: block;
  font-size: 18px;
}
.tm-deep__who span {
  display: block;
}
.tm-deep blockquote {
  border: 0;
  margin: 0;
  padding: 0;
  text-align: left;
}
.tm-deep blockquote p {
  color: #101820;
  font-size: 22px;
  line-height: 1.45;
  margin: 0 0 16px;
}
.tm-deep blockquote p:before {
  color: var(--tdt-accent);
  content: "\201C";
  font-family: Georgia, serif;
  font-size: 54px;
  line-height: 0;
  margin-right: 6px;
  vertical-align: -20px;
}
.tm-deep__more summary {
  color: var(--tdt-accent-text);
  cursor: pointer;
  font-size: 15px;
  list-style: none;
}
.tm-deep__more summary::-webkit-details-marker {
  display: none;
}
.tm-deep__more summary span {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.tm-deep__more summary:after {
  content: " \25BE";
}
.tm-deep__more[open] summary:after {
  content: " \25B4";
}
.tm-deep__more summary:hover {
  color: #101820;
}
.tm-deep__more summary:focus-visible {
  outline: 2px solid #101820;
  outline-offset: 3px;
}
.tm-deep dl {
  border-top: 1px solid #ececec;
  margin: 16px 0 0;
  padding-top: 4px;
}
.tm-deep dt {
  color: #101820;
  font-size: 16px;
  margin: 18px 0 6px;
}
.tm-deep dd {
  margin: 0;
}
.tm-deep dd p {
  color: #26292e;
  font-size: 16px;
  line-height: 1.6;
  margin: 0 0 10px;
}
@media all and (max-width: 767.9375px) {
  .tm-deep {
    gap: 14px;
    grid-template-columns: 1fr;
    padding: 22px 20px 20px;
  }
  .tm-deep__who img {
    float: left;
    height: 64px;
    margin: 0 14px 0 0;
    width: 64px;
  }
  .tm-deep blockquote p {
    font-size: 19px;
  }
}

/* Products chips on testimonials, "Show more" */
.tm-card .pub-card__products {
  margin: 12px 0 0;
}
.tm-deep__who .pub-card__products {
  border-top: 0;
  margin: 14px 0 0;
  padding-top: 0;
}
.tm-deep__who .pub-card__products a {
  display: inline-block;
}
.tm-deep__who .tm-card__story {
  display: block;
}
.tm-deeps__more {
  margin-top: 24px;
}
.tm-deeps__more .tm-deeps {
  margin-top: 24px;
}
.tm-deeps__more summary {
  color: var(--tdt-accent-text);
  cursor: pointer;
  font-family: "Geogrotesque Bold", "Geogrotesque Fallback", sans-serif;
  font-size: 16px;
  list-style: none;
}
.tdt-industry-bold .tm-deeps__more summary {
  font-family: industry, "Geogrotesque Fallback", sans-serif;
  font-weight: 700;
}
.tm-deeps__more summary::-webkit-details-marker {
  display: none;
}
.tm-deeps__more summary span {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.tm-deeps__more summary:after {
  content: " \25BE";
}
.tm-deeps__more[open] > summary {
  display: none;
}
.tm-deeps__more summary:hover {
  color: #101820;
}
.tm-deeps__more summary:focus-visible {
  outline: 2px solid #101820;
  outline-offset: 3px;
}

/* closing quotation mark, like the opening one */
.tm-deep blockquote p:after,
.tm-card blockquote > p:last-child:after,
.tm-card__more p:after {
  color: var(--tdt-accent);
  content: "\201D";
  font-family: Georgia, serif;
  font-size: 40px;
  line-height: 0;
  margin-left: 4px;
  vertical-align: -14px;
}
.tm-deep blockquote p:after {
  font-size: 54px;
  margin-left: 6px;
  vertical-align: -20px;
}

/* an opened long review shows the full text once (not after its shortened start) */
.tm-card:has(.tm-card__more[open]) blockquote > p:first-child {
  display: none;
}
.tm-card__more p:before {
  color: var(--tdt-accent);
  content: "\201C";
  font-family: Georgia, serif;
  font-size: 40px;
  line-height: 0;
  margin-right: 4px;
  vertical-align: -14px;
}

/* Article: products mentioned (2026-10-14) */
.news-single__body .pub-card__products {
  border-top: 0;
  margin: 28px 0 0;
  padding-top: 0;
}

/* Product pages for search engines (2026-10-16, functions/product-seo.php, product-docs.php) */
/* Headings typed as H1 in product/system text are H2 now (one H1 per page); same look as before */
#single .container article h2.tdt-h1,
.flex .container article h2.tdt-h1,
.flex.module .container article .block h2.tdt-h1 {
  display: block;
  font-size: 27px;
  font-weight: bold;
  line-height: 1.3;
  max-width: none;
  text-transform: uppercase;
}
#single .container article h2.tdt-h1 {
  margin: 0 auto 20px;
}
.flex .container article h2.tdt-h1 {
  margin: 0;
}
@media all and (max-width: 639.9375px) {
  #single .container article h2.tdt-h1,
  .flex .container article h2.tdt-h1,
  .flex.module .container article .block h2.tdt-h1 { font-size: 35px; }
}
@media all and (max-width: 479.9375px) {
  #single .container article h2.tdt-h1,
  .flex .container article h2.tdt-h1,
  .flex.module .container article .block h2.tdt-h1 { font-size: 30px; }
}
/* Page-builder products (iCon...): the product name as H1 above the blocks */
#single.products .prod-flex-head {
  padding-top: 30px;
}
#single.products .prod-flex-head h1 {
  margin: 0;
}
/* "Used in N published studies" under the heading */
#single.products .prod-proof,
#single.products .container article .prod-proof {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  margin: 6px 0 18px;
}
#single.products .prod-proof a {
  color: var(--tdt-accent-text);
  font-weight: 700;
  text-decoration: none;
}
#single.products .prod-proof a:hover,
#single.products .prod-proof a:focus-visible {
  text-decoration: underline;
}
/* Resources tab: each link on a line of its own is a row with a badge;
   Knowledge Hub links highlighted (functions/product-docs.php) */
#single.products .container article .content.resources ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#single.products .container article .content.resources li {
  margin: 0;
  padding: 0;
}
#single.products .container article .content.resources li:before {
  content: none;
}
#single.products .container article .content.resources p:has(> a.res-link) {
  margin: 0;
}
#single.products .container article .content.resources br {
  display: none;
}
#single.products .container article a.res-link {
  align-items: center;
  background: #fff;
  border: 1px solid #e1e1e1;
  border-radius: 8px;
  box-sizing: border-box;
  color: #101820;
  display: flex;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  font-weight: 700;
  gap: 12px;
  line-height: 1.35;
  margin: 0 0 8px;
  max-width: 560px;
  padding: 11px 14px;
  text-decoration: none;
}
#single.products .container article a.res-link:after {
  color: var(--tdt-accent-text);
  content: "\2192";
  margin-left: auto;
  padding-left: 8px;
}
#single.products .container article a.res-link:hover,
#single.products .container article a.res-link:focus-visible {
  border-color: var(--tdt-accent);
}
#single.products .container article a.res-link:hover .res-link__text {
  text-decoration: underline;
}
#single.products .container article a.res-link--hub {
  background: #f6f6f4;
  border-left: 4px solid var(--tdt-accent);
}
.res-link__badge {
  background: #e8e8e6;
  border-radius: 4px;
  color: #3d4046;
  flex: none;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  padding: 3px 7px;
  text-transform: uppercase;
}
.res-link--hub .res-link__badge {
  background: var(--tdt-accent);
  color: var(--tdt-accent-on);
}
.res-link__text {
  overflow-wrap: anywhere;
}

/* Wide tables in page text (guides, comparisons): wrapped in
   <div class="table-scroll"> they scroll sideways on phones instead of
   widening the page (2026-10-16; FORMATTING-GUIDE.txt "Guides") */
.table-scroll {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.table-scroll table {
  width: 100%;
}
.table-scroll--wide table {
  min-width: 640px;
}

/* Guides (/guides/..., 2026-10-16, v3 "quick reference"): the guide sits
   in one Text block wrapped in <div class="guide"> (built by
   D:/tdt-dev/tools/build_guides.py). Calm on purpose: a Quick answer box,
   plain tables, the engineer's take, visible questions, an Ask card. */
.guide {
  color: #2b2e34;
  font-size: 17px;
  line-height: 1.65;
}
.guide > p,
.guide-faq,
.guide-answer,
.guide-take,
.guide-ask {
  max-width: 780px;
}
.guide > h2 {
  font-size: 24px;
  margin: 48px 0 16px;
}
.guide p.guide-lead {
  color: #3d4046;
  font-size: 19px;
  margin: 0 0 32px;
}
.guide ul,
.flex .guide ul {
  display: block;
  margin: 0 0 16px;
  padding: 0 0 0 22px;
}
.guide ul li,
.flex .guide ul li {
  list-style: disc;
  margin: 0 0 6px;
  padding: 0;
}
.guide ul li:before,
.flex .guide ul li:before {
  content: none;
}
.guide ul li::marker {
  color: var(--tdt-accent);
}

/* Byline: who reviewed it, when, how long */
.guide p.guide-byline {
  align-items: center;
  color: #5b5f66;
  display: flex;
  font-size: 14px;
  gap: 12px;
  line-height: 1.45;
  margin: 0 0 22px;
}
.guide-byline img {
  border-radius: 50%;
  flex: none;
  height: 44px;
  object-fit: cover;
  width: 44px;
}
.guide-byline strong {
  color: #101820;
}

/* Quick answer */
.guide-answer {
  background: #f6f6f4;
  border-left: 4px solid var(--tdt-accent);
  border-radius: 8px;
  margin: 0 0 32px;
  padding: 20px 24px 8px;
}
.guide p.guide-answer__label {
  color: var(--tdt-accent-text);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin: 0 0 8px;
  text-transform: uppercase;
}
.guide-answer p {
  margin: 0 0 12px;
}

/* Product pictures */
.guide-figures {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
  margin: 0 0 8px;
}
.guide-figures figure {
  margin: 0;
  text-align: center;
}
.guide-figures img {
  height: 220px;
  max-width: 100%;
  object-fit: contain;
  width: auto;
}
.guide-figures figcaption {
  color: #5b5f66;
  font-size: 14px;
  line-height: 1.45;
  margin-top: 8px;
}

/* Tables: plain, readable */
.guide .table-scroll {
  border: 1px solid #e3e3e1;
  border-radius: 8px;
}
.guide table {
  border-collapse: collapse;
  margin: 0;
}
.guide table tr,
.guide table tr:first-child {
  background: #fff;
}
.guide table th,
.guide table td {
  border-bottom: 1px solid #ececea;
  font-size: 15px;
  font-style: normal;
  letter-spacing: 0;
  line-height: 1.45;
  padding: 12px 16px;
  text-transform: none;
  vertical-align: top;
}
.guide table tbody tr:last-child th,
.guide table tbody tr:last-child td {
  border-bottom: 0;
}
.guide table thead th {
  background: #f0f0ee;
  color: #101820;
  font-family: industry, "Geogrotesque Fallback", sans-serif;
  font-weight: 700;
}
.guide table tbody th {
  background: transparent;
  color: #101820;
  font-weight: 700;
  width: 34%;
}

/* The engineer's take */
.guide-take {
  border-bottom: 1px solid #e3e3e1;
  border-top: 1px solid #e3e3e1;
  display: flex;
  gap: 20px;
  margin: 48px 0 0;
  padding: 24px 0;
}
.guide-take img {
  border-radius: 50%;
  flex: none;
  height: 72px;
  object-fit: cover;
  width: 72px;
}
.guide p.guide-take__label {
  color: var(--tdt-accent-text);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin: 0 0 6px;
  text-transform: uppercase;
}
.guide-take p {
  margin: 0 0 8px;
}
.guide p.guide-take__name {
  color: #5b5f66;
  font-size: 14px;
  margin: 0;
}

/* Questions: visible, short */
.guide .guide-faq h3 {
  font-size: 17px;
  line-height: 1.35;
  margin: 22px 0 4px;
}
.guide .guide-faq p {
  margin: 0;
}

/* Ask <name> */
.guide-ask {
  align-items: center;
  background: #f6f6f4;
  border-radius: var(--tdt-card-radius, 12px);
  box-sizing: border-box;
  display: flex;
  gap: 24px;
  margin: 48px 0 0;
  padding: 24px 28px;
}
.guide-ask img {
  border-radius: 50%;
  flex: none;
  height: 96px;
  object-fit: cover;
  width: 96px;
}
.guide .guide-ask h2 {
  font-size: 22px;
  margin: 0 0 6px;
}
.guide-ask p {
  margin: 0 0 10px;
}
.guide p.guide-ask__links {
  display: flex;
  flex-wrap: wrap;
  font-weight: 700;
  gap: 6px 24px;
  margin: 0;
}
.guide p.guide-related {
  color: #5b5f66;
  font-size: 15px;
  margin: 28px 0 0;
}

/* The Guides page: one row per guide, with its preview picture */
.guide-library {
  display: grid;
  gap: 20px;
  margin: 0 0 32px;
}
.guide a.guide-item {
  align-items: center;
  border-bottom: 1px solid #e3e3e1;
  color: #2b2e34;
  display: grid;
  gap: 24px;
  grid-template-columns: 280px 1fr;
  padding: 0 0 20px;
  text-decoration: none;
}
.guide-item img {
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  object-fit: cover;
  width: 100%;
}
.guide-item__title {
  color: #101820;
  display: block;
  font-family: industry, "Geogrotesque Fallback", sans-serif;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 6px;
}
.guide a.guide-item:hover .guide-item__title,
.guide a.guide-item:focus-visible .guide-item__title {
  color: var(--tdt-accent-text);
  text-decoration: underline;
}
.guide-item__text {
  display: block;
  font-size: 16px;
  font-weight: 400;
}
.guide-item__meta {
  color: #5b5f66;
  display: block;
  font-size: 14px;
  font-weight: 400;
  margin-top: 6px;
}

/* the Quote button block right under a guide */
.flex.text:has(.guide-ask) {
  padding-bottom: 0;
}
.flex.text:has(.guide-ask) + .flex.quote-button {
  padding-top: 24px;
}
@media all and (max-width: 639.9375px) {
  .guide { font-size: 16px; }
  .guide > h2 { font-size: 22px; margin-top: 40px; }
  .guide a.guide-item { grid-template-columns: 1fr; gap: 12px; }
  .guide-ask { align-items: flex-start; flex-direction: column; gap: 14px; padding: 22px 20px; }
  .guide-take { gap: 14px; }
  .guide-take img { height: 56px; width: 56px; }
  .guide table tbody th { width: auto; }
}
