@charset "UTF-8";
h1, h2, h3, h4, h5, strong, th {
  font-weight: 700;
  font-family: "Roboto", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
}

p, li, address, td {
  font-weight: 400;
}

h1 {
  font-size: 2rem;
}

h2 {
  font-size: 1.55556rem;
  font-weight: 400;
  line-height: 1.2857142857;
}

h3 {
  font-size: 1.33333rem;
  font-weight: 400;
  line-height: 1.5;
}

h4 {
  font-size: 1.22222rem;
  margin-bottom: 0;
  line-height: 1.6363;
}

h5 {
  font-size: 1rem;
}

h6 {
  font-size: 0.88889rem;
}

.video-wrap {
  width: 100%;
  height: auto;
  position: relative;
}
.video-wrap iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.video-wrap video {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

* {
  box-sizing: border-box;
}

html {
  font-size: 18px;
  scroll-behavior: smooth;
}

body {
  font-family: "Noto Sans", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  line-height: 1.5;
  margin: 0;
  color: #333;
}
body.no-scroll {
  overflow: hidden;
}

sup {
  line-height: 1;
}

a {
  color: #000;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
a.ext::after {
  content: url(/images/interface/icon_link-ext.svg);
  display: inline-block;
  width: 16px;
  height: 14px;
  margin-left: 8px;
}

a.li-download span::before, a.li-download strong::after {
  content: url(/images/interface/icon_file.svg);
  margin: 0px 6px 4px 6px;
  display: inline-block;
  width: 1em;
  height: 1em;
  line-height: 1;
  vertical-align: bottom;
}

.button {
  color: #333;
  text-transform: uppercase;
  font-size: 0.77778rem;
  padding: 0.5rem;
  font-weight: 500;
  background: #FFDE00;
  background: linear-gradient(#FFDE00 0%, #FFDE00 50%, #ff0 100%) repeat-x 0 0%;
  background-size: 100% 200%;
  display: inline-block;
  line-height: 1;
  box-shadow: rgba(0, 0, 0, 0.6) 0 1px 2px;
  transition: background-position 0.25s ease, box-shadow-color 0.25s ease;
  border: 0;
}
.button::after {
  content: none;
}
.button:hover {
  background-position: 0 100%;
  box-shadow: rgba(0, 0, 0, 0.8) 0 1px 2px;
}
.button a {
  color: #333;
}

.learnmore:empty {
  display: none;
}

.dark-section {
  background: #666;
  color: #fff;
  font-weight: 300;
}
.dark-section a {
  color: #FFF;
  font-weight: 600;
}

.learnmore a, .key-feature .learnmore a, .visit a {
  display: inline-block;
  padding: 0.25rem 1rem;
  outline: 1px solid #999;
  border-radius: 0;
  background: inherit;
  transition: all 0.25s ease-out;
}
.learnmore a::after, .key-feature .learnmore a::after, .visit a::after {
  content: url(/images/interface/forward-arrow-grey.svg);
  display: inline-block;
  padding-left: 8px;
  height: 6px;
  width: 12px;
  vertical-align: top;
  transition: all 0.25s ease-out;
}
.learnmore a:hover, .key-feature .learnmore a:hover, .visit a:hover {
  outline-color: #000;
}

.learnmore a:hover::after, .key-feature .learnmore a:hover::after {
  transform: translateX(8px);
}

.visit a::after {
  content: url(/images/interface/icon_link-ext.svg);
}

.text-block p a, .uni-seg-text p a, .intro-content p a, .news-text-block p a {
  font-weight: 500;
  display: inline-block;
  color: #000;
}

p, li {
  max-width: 55rem;
}

ul li {
  margin-bottom: 0.5rem;
}

img {
  opacity: 1;
  transition: opacity 0.5s ease-in-out;
  max-width: 100%;
  height: auto;
}

table {
  border-collapse: collapse;
  font-size: 0.88889rem;
  margin-bottom: 2rem;
  border: 1px solid rgba(0, 0, 0, 0.2);
}
table thead th, table thead td, table tbody th, table tbody td {
  vertical-align: top;
  padding: 0.25rem 0.5rem;
  vertical-align: top;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  border-right: 1px solid rgba(0, 0, 0, 0.2);
}
table thead th *:first-child, table thead td *:first-child, table tbody th *:first-child, table tbody td *:first-child {
  margin-top: 0;
}
table thead th *:last-child, table thead td *:last-child, table tbody th *:last-child, table tbody td *:last-child {
  margin-bottom: 0;
}
table tbody td, table tbody th {
  padding: 0.5rem 0.5rem;
  vertical-align: top;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  border-right: 1px solid rgba(0, 0, 0, 0.2);
}
table tbody td p, table tbody th p {
  font-weight: inherit;
}
table tbody th {
  background-color: #f3f3f3;
}
table thead th {
  background-color: #e0e0e0;
}
table thead th p {
  font-weight: inherit;
}
table thead tr th:first-child {
  text-transform: uppercase;
  background: #CCC;
  font-weight: 500;
}
table.centered {
  width: 100%;
  border: 0;
}
table.centered tbody td {
  border: 0;
  text-align: center;
}
table.leftright {
  width: 100%;
  border: 0;
}
table.leftright tbody td {
  border: 0;
  text-align: left;
}
table.leftright tbody td:last-child {
  text-align: right;
}

.niilogo {
  height: 68px;
  width: 84px;
  position: relative;
}
.niilogo img {
  width: 68px;
}
.niilogo span {
  font-size: 0.77778rem;
  vertical-align: baseline;
  display: inline-block;
  position: absolute;
  bottom: 0;
  right: 0;
}

img.lazy {
  opacity: 0;
}

.caption, figcaption, .note {
  font-size: 0.77778rem;
  line-height: 1.7142857143;
  color: #666;
}
.caption *:first-child, figcaption *:first-child, .note *:first-child {
  margin-top: 0;
}

#legal-notice-region {
  background: #fd0;
  border-radius: 0;
  border: 0;
  font-size: 0.88889rem;
  padding: 0.5rem;
  box-shadow: rgba(0, 0, 0, 0.5) 0 1px 2px;
}

#wrapper {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
  position: relative;
}

.raq {
  width: auto;
}
.raq a {
  color: #333;
  text-transform: uppercase;
  font-size: 0.77778rem;
  padding: 0.5rem;
  font-weight: 500;
  background: #FFDE00;
  background: linear-gradient(#FFDE00 0%, #FFDE00 50%, #ff0 100%) repeat-x 0 0%;
  background-size: 100% 200%;
  display: inline-block;
  line-height: 1;
  box-shadow: rgba(0, 0, 0, 0.6) 0 1px 2px;
  transition: background-position 0.25s ease, box-shadow-color 0.25s ease;
  border: 0;
}
.raq a::after {
  content: none;
}
.raq a:hover {
  background-position: 0 100%;
  box-shadow: rgba(0, 0, 0, 0.8) 0 1px 2px;
}

.rad {
  width: auto;
}
.rad a {
  color: #FD0;
  text-transform: uppercase;
  font-size: 0.77778rem;
  padding: 0.5rem;
  font-weight: 500;
  background: #333;
  background: linear-gradient(#000 0%, #000 50%, #666 100%) repeat-x 0 0%;
  background-size: 100% 200%;
  display: inline-block;
  line-height: 1;
  outline: 2px solid #FFDE00;
  outline-offset: -2px;
  box-shadow: rgba(0, 0, 0, 0.6) 0 1px 2px;
  transition: background-position 0.25s ease, box-shadow-color 0.25s ease;
  border: 0;
}
.rad a:hover {
  background-position: 0 100%;
  box-shadow: rgba(0, 0, 0, 0.8) 0 1px 2px;
}
.rad a:hover::after {
  content: none;
}

figure {
  margin: 0;
}

address {
  font-style: normal;
}

h3 a::after, h4 a::after, h5 a::after {
  content: url(/images/interface/icon_angle-right-grey.svg);
  width: 0.4em;
  display: inline-block;
  margin-left: 8px;
}

.jumpnav {
  border-bottom: 0;
  border-top: 0;
}
.jumpnav ul {
  margin: 0 -1px 0 -0.5rem;
  padding: 1px 0 0 0;
  width: 100%;
}
.jumpnav li {
  list-style: none;
  font-weight: 700;
  padding-left: 0;
  font-family: "Roboto", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  display: block;
  margin-bottom: 0;
  height: auto;
}
.jumpnav li:last-child {
  border-bottom: 1px solid #ccc;
}
.jumpnav li a {
  display: block;
  margin: -1px 0 0 0;
  padding: 0.5rem;
  transition: background-color 0.25s ease;
  border-top: 1px solid #ccc;
  color: #333;
  font-weight: 400;
}
.jumpnav li a::after {
  content: "";
}
.jumpnav li a::before {
  content: url(/images/interface/icon_angle-right-grey.svg);
  display: inline-block;
  width: 7px;
  height: 20px;
  margin-right: 12px;
  vertical-align: middle;
  margin-top: 0;
  transform: rotate(90deg);
}
.jumpnav li a:hover {
  text-decoration: underline;
}
.jumpnav.horiz {
  border-bottom: 1px solid #ccc;
  border-top: 1px solid #ccc;
  margin: 2rem auto;
}
.jumpnav.horiz ul {
  margin: 0 0 1px 0;
  display: grid;
  gap: 0 3rem;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  width: 100%;
}
.jumpnav.horiz ul li {
  display: inline-block;
  white-space: nowrap;
}
.jumpnav.horiz ul li:last-child {
  border-bottom: 0;
}
.jumpnav.horiz ul li a {
  border-top: 0;
  display: block;
  padding: 0.5rem 0;
  font-weight: 500;
  font-size: 0.88889rem;
}
.jumpnav.horiz ul li a::after {
  content: url(/images/interface/icon_angle-right-grey.svg);
  display: inline-block;
  width: 7px;
  height: 20px;
  margin-left: 12px;
  vertical-align: middle;
  margin-top: 0;
  transform: rotate(90deg);
}
.jumpnav.horiz ul li a::before {
  content: none;
}

#to-top {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.9215686275);
  position: fixed;
  bottom: 40px;
  right: 20px;
  transition: all 0.2s ease-out;
  opacity: 0;
  visibility: hidden;
}
#to-top.visible {
  visibility: visible;
  opacity: 1;
}
#to-top a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  background: 50% 50% no-repeat url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2212%22%20viewBox%3D%220%200%2024%2012%22%3E%3Cg%20transform%3D%22translate(-17.967%20-15.298)%22%3E%3Cpath%20d%3D%22M22.91%2C12a1.088%2C1.088%2C0%2C0%2C1-.717-.268L12.008%2C2.875%2C1.8%2C11.7A1.1%2C1.1%2C0%2C0%2C1%2C.267%2C11.6a1.081%2C1.081%2C0%2C0%2C1%2C.106-1.529L12.011%2C0%2C23.628%2C10.1A1.083%2C1.083%2C0%2C0%2C1%2C22.91%2C12Z%22%20transform%3D%22translate(17.967%2015.298)%22%20fill%3D%22%236f6f6f%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
#to-top a span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
img[loading=lazy].complete {
  animation: fade-in 1s ease;
}

@media (max-width: 1280px) {
  .jumpnav.horiz ul {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (max-width: 960px) {
  .jumpnav.horiz ul {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 640px) {
  .jumpnav.horiz ul {
    grid-template-columns: 1fr;
  }
}
#mainhead {
  width: 100%;
  padding: 1.11111rem 0;
  background: #fff;
  border-bottom: 1px solid #CCC;
  color: #333;
  position: relative;
  z-index: 3;
  height: 109px;
}
#mainhead #dropdown-search {
  height: 0;
  overflow: hidden;
  transition: height 0.25s ease;
  top: 100%;
  width: 100%;
  position: absolute;
  border-bottom: 1px solid #CCC;
  background: #FFF;
}
#mainhead #dropdown-search .inner {
  width: 100%;
  padding: 6px 5% 0 5%;
  gap: 0 22px;
}
#mainhead #dropdown-search .inner input[type=search] {
  flex-grow: 1;
  border: 1px solid #949494;
  border-radius: 22px;
  height: 40px;
  padding: 0 40px 0 23px;
  box-sizing: border-box;
  font-size: 1rem;
  vertical-align: top;
  max-width: 800px;
}
#mainhead #dropdown-search form {
  display: flex;
  width: 800px;
  margin: 0 auto;
  position: relative;
  max0width: 100%;
}
#mainhead #dropdown-search label {
  display: inline-block;
  padding: 6px 6px 0 0;
}
#mainhead #dropdown-search #mh-search-icon {
  border: none;
  background: transparent;
  border-radius: 0;
  cursor: pointer;
  padding: 0;
  position: absolute;
  top: 11px;
  right: 19px;
  width: 18px;
  height: 18px;
}
#mainhead #dropdown-search #mh-search-submit {
  position: absolute;
  right: 16px;
  width: 24px;
  height: 24px;
  top: 6px;
  opacity: 0;
}
#mainhead #dropdown-search.open {
  height: 3rem;
}
#mainhead #mainhead-inner {
  padding: 0 5%;
  margin: 0 auto;
  height: 68px;
  position: relative;
  display: grid;
  grid-auto-columns: fit-content(100%) auto;
  gap: 16px 32px;
  align-items: start;
  justify-content: space-between;
  grid-template-areas: "logoSet region" "logoSet utility";
}
#mainhead #mainhead-inner #mh-niilogo {
  grid-area: logoSet;
  position: relative;
}
#mainhead #mainhead-inner #mh-niilogo img {
  height: 68px;
  max-width: 100%;
  display: inline-block;
}
#mainhead #mainhead-inner #mh-100logo {
  grid-area: logoSet;
  position: relative;
  width: 95px;
  height: 68px;
  margin-left: 116px;
  text-indent: -5000px;
  background: url(/images/interface/100th-logo-dark_small.png) no-repeat 0 0;
  background-size: 100%;
}
#mainhead #mainhead-inner #mh-100logo a {
  display: block;
  width: 100%;
  height: 100%;
}
#mainhead #mainhead-inner #mh-gempo {
  grid-area: region;
  display: inline;
  gap: 0 32px;
  font-size: 0.77778rem;
  text-align: right;
}
#mainhead #mainhead-inner #mh-gempo p {
  padding: 0;
  margin: 0;
}
#mainhead #mainhead-inner #mh-utility {
  grid-area: utility;
  font-size: 0.88889rem;
  align-self: flex-end;
  position: relative;
}
#mainhead #mainhead-inner #mh-utility ul {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0 32px;
  margin: 0;
  padding: 0;
}
#mainhead #mainhead-inner #mh-utility ul li {
  list-style: none;
  padding: 0;
  margin: 0;
  white-space: preserve nowrap;
  display: inline-block;
}
#mainhead #mainhead-inner #mh-utility ul li a, #mainhead #mainhead-inner #mh-utility ul li a:link, #mainhead #mainhead-inner #mh-utility ul li a:visited {
  color: #333;
}
#mainhead #mainhead-inner #mh-utility ul #mh-lang .lang-iso {
  outline: 1px solid #666;
  outline-offset: -3px;
  top: 4px;
  left: 0;
  width: 36px;
  line-height: 1;
  height: 26px;
  display: inline-block;
  vertical-align: baseline;
  padding-top: 4px;
  text-align: center;
}
#mainhead #mainhead-inner #mh-utility ul #mh-lang .lang-text {
  display: inline;
}
#mainhead #mainhead-inner #mh-utility ul #mh-lang:hover {
  cursor: pointer;
}
#mainhead #mainhead-inner #mh-utility ul #mh-lang:hover .lang-text {
  text-decoration: underline;
}
#mainhead #mainhead-inner #mh-mobile-search-icon {
  fill: #333;
  margin-top: 7px;
  height: 20px;
  width: 20px;
}
#mainhead #mainhead-inner #mh-mobile-menu {
  display: none;
}
#mainhead #mainhead-inner #mh-global a::after {
  content: "";
  width: 1.25em;
  height: 1.25em;
  display: inline-block;
  vertical-align: text-top;
  margin: 1px 0 0 0.5em;
  background-image: url("/images/icon_global_grey.svg");
  background-size: contain;
}
#mainhead #mainhead-inner .header-utility-search {
  display: block;
  width: 20px;
  height: 20px;
  position: relative;
  background-image: url("/images/interface/icon_search_white.svg");
}
#mainhead #mainhead-inner .header-utility-search span {
  display: none;
}
#mainhead #mainhead-inner ul li#mh-search-button {
  display: block;
  cursor: pointer;
}
#mainhead #mainhead-inner ul li#mh-mobile-button {
  display: none;
}
#mainhead #mainhead-inner ul li#mh-mobile-button svg {
  height: 19px;
  width: 24px;
  position: relative;
  top: 4px;
}

.nav-overlap #mainhead #mainhead-inner #mh-utility a, .nav-overlap #mainhead #mainhead-inner #mh-utility a:link, .nav-overlap #mainhead #mainhead-inner #mh-utility a:visited {
  color: #FFF;
}
.nav-overlap #mainhead #mainhead-inner #mh-utility #mh-mobile-search-icon {
  fill: #FFF;
}
.nav-overlap #mainhead #mainhead-inner #mh-utility #mh-mobile-menu {
  display: none;
}
.nav-overlap #mainhead #mainhead-inner #mh-utility #mh-global a::after {
  background-image: url("/images/icon_global_white.svg");
}
.nav-overlap #mainhead #mainhead-inner #mh-utility .header-utility-search {
  background-image: url("/images/interface/icon_search_white.svg");
}

.nav-overlap #mainhead {
  background: rgba(0, 0, 0, 0.8);
  border-bottom: 1px solid #666;
  color: #FFF;
  position: absolute;
  top: 0;
  left: 0;
}
.nav-overlap #mainhead #dropdown-search {
  background: #000;
  border-bottom: 1px solid #666;
}
.nav-overlap #mainhead #mainhead-inner #mh-100logo {
  background: url(/images/interface/100th-logo-white_small.png) no-repeat 0 0;
  background-size: 100%;
}
.nav-overlap #mainhead #mainhead-inner #mh-utility #mh-lang .lang-iso {
  outline-color: #fff;
}
.nav-overlap #mainhead #mainhead-inner #mh-utility #mh-mobile-button {
  fill: #FFF;
}

@media (min-width: 1080.01px) {
  .nav-overlap #mainnav {
    position: absolute;
    top: 109px;
    left: 0;
    width: 100%;
  }
  .nav-overlap #mainnav > ul {
    background: rgba(0, 0, 0, 0.8);
    border-bottom: 1px solid #666;
  }
  .nav-overlap #mainnav > ul li a, .nav-overlap #mainnav > ul li a:link, .nav-overlap #mainnav > ul li a:visited {
    color: #fff;
  }
  .nav-overlap #mainnav > ul li a::after, .nav-overlap #mainnav > ul li a:link::after, .nav-overlap #mainnav > ul li a:visited::after {
    background-color: #fff;
  }
  .nav-overlap #mainnav > ul li.selected a,
  .nav-overlap #mainnav > ul li.selected a:link,
  .nav-overlap #mainnav > ul li.selected a:visited {
    background: #000;
    border-right: 1px solid #666;
    border-left: 1px solid #666;
  }
  .nav-overlap #mainnav > ul li.selected a::after,
  .nav-overlap #mainnav > ul li.selected a:link::after,
  .nav-overlap #mainnav > ul li.selected a:visited::after {
    content: none;
  }
  #mainnav {
    position: relative;
    font-family: "Roboto", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
    z-index: 2;
  }
  #mainnav #mm-contact {
    position: absolute;
    top: 10px;
    right: 5%;
  }
  #mainnav #mm-contact a,
  #mainnav #mm-contact a:link,
  #mainnav #mm-contact a:visited {
    color: #333;
    text-transform: uppercase;
    font-size: 0.77778rem;
    padding: 0.5rem;
    font-weight: 500;
    background: #FFDE00;
    background: linear-gradient(#FFDE00 0%, #FFDE00 50%, #ff0 100%) repeat-x 0 0%;
    background-size: 100% 200%;
    display: inline-block;
    line-height: 1;
    box-shadow: rgba(0, 0, 0, 0.6) 0 1px 2px;
    transition: background-position 0.25s ease, box-shadow-color 0.25s ease;
    border: 0;
  }
  #mainnav #mm-contact a::after,
  #mainnav #mm-contact a:link::after,
  #mainnav #mm-contact a:visited::after {
    content: none;
  }
  #mainnav #mm-contact a:hover,
  #mainnav #mm-contact a:link:hover,
  #mainnav #mm-contact a:visited:hover {
    background-position: 0 100%;
    box-shadow: rgba(0, 0, 0, 0.8) 0 1px 2px;
  }
  #mainnav > ul {
    background: #fff;
    width: 100%;
    padding: 0 calc(5% - 0.5rem);
    margin: 0 auto;
    display: flex;
    gap: 1em;
    position: relative;
    border-bottom: 1px solid #CCC;
    height: 52px;
  }
  #mainnav > ul li {
    list-style: none;
    display: inline-block;
    white-space: nowrap;
    text-align: center;
  }
  #mainnav > ul li a,
  #mainnav > ul li a:link,
  #mainnav > ul li a:visited {
    padding: 12px 8px 13px 8px;
    border-right: 1px solid transparent;
    border-left: 1px solid transparent;
    display: block;
    color: #333;
  }
  #mainnav > ul li a:hover,
  #mainnav > ul li a:link:hover,
  #mainnav > ul li a:visited:hover {
    text-decoration: none;
  }
  #mainnav > ul li a::after,
  #mainnav > ul li a:link::after,
  #mainnav > ul li a:visited::after {
    content: " ";
    display: block;
    clear: both;
    width: 0;
    height: 1px;
    margin: 0 auto -1px;
    background: #333;
    transition: width 0.25s ease-out;
  }
  #mainnav > ul li a:hover::after,
  #mainnav > ul li a:link:hover::after,
  #mainnav > ul li a:visited:hover::after {
    width: 100%;
  }
  #mainnav > ul li.selected a,
  #mainnav > ul li.selected a:link,
  #mainnav > ul li.selected a:visited {
    background: #f6f6f6;
    border-right: 1px solid #CCC;
    border-left: 1px solid #CCC;
  }
  #mainnav > ul li.selected a::after,
  #mainnav > ul li.selected a:link::after,
  #mainnav > ul li.selected a:visited::after {
    content: none;
  }
}
@media (max-width: 1080px) {
  #mainhead #mainhead-inner #mh-utility #mh-global span {
    display: none;
  }
  #mainhead #mainhead-inner ul li#mh-mobile-button {
    display: block;
    cursor: pointer;
  }
  #mainnav {
    display: none;
    width: 100%;
    height: calc(100% - 109px);
    position: fixed;
    top: 109px;
    background: rgba(0, 0, 0, 0.85);
    z-index: 2;
  }
  #mainnav:has(ul.visible) {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 3rem;
  }
  #mainnav:has(ul.visible) > ul {
    grid-column: 1;
    position: relative;
  }
  #mainnav li {
    list-style: none;
    display: block;
  }
  #mainnav li.subs a::after {
    position: absolute;
    content: "▸";
    display: inline-block;
    right: 8px;
  }
  #mainnav a {
    color: #FFF;
  }
  #mainnav a::after {
    content: url(/images/interface/icon_angle-right-white.svg);
    width: 0.4em;
    display: inline-block;
    margin-left: 8px;
  }
}
@media (max-width: 960px) {
  #mainnav {
    width: 150%;
    transition: transform 0.25s ease-in-out;
  }
  #mainnav:has(ul.visible.level3) {
    transform: translateX(-33.33333%);
  }
}
@media (max-width: 640px) {
  #mainnav {
    top: 81px;
    width: 300%;
    height: calc(100vh - 82px);
  }
  #mainnav:has(ul.visible.level2) {
    transform: translateX(-33.33333%);
  }
  #mainnav:has(ul.visible.level3) {
    transform: translateX(-66.66666%);
  }
  #mainhead {
    height: 81px;
  }
  #mainhead #mainhead-inner {
    gap: 4px 32px;
    height: 40px;
  }
  #mainhead #mainhead-inner #mh-niilogo {
    height: 40px;
    width: 40px;
  }
  #mainhead #mainhead-inner #mh-niilogo a {
    height: 40px;
    width: 60px;
  }
  #mainhead #mainhead-inner #mh-niilogo img {
    height: 40px;
    left: 0;
  }
  #mainhead #mainhead-inner #mh-niilogo span {
    left: 46px;
  }
  #mainhead #mainhead-inner #mh-100logo {
    height: 40px;
    width: 80px;
    margin-left: 80px;
  }
  #mainhead #mainhead-inner #mh-utility ul {
    gap: 0 16px;
  }
  #mainhead #mainhead-inner #mh-utility ul #mh-lang .lang-text {
    display: none;
  }
  #mainhead #mainhead-inner #mh-gempo {
    font-size: 0.66667rem;
    line-height: 1;
  }
}
@media (max-width: 480px) {
  #mainhead #mainhead-inner #mh-100logo {
    display: none;
  }
}
#mainfoot {
  background: #222;
  color: #FFF;
  padding: 2rem 0;
}
#mainfoot a.ext::after {
  content: url(/images/interface/icon_link-ext-white.svg);
}
#mainfoot h3 {
  font-family: "Roboto", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  font-weight: 500;
  margin-bottom: 0;
  font-size: 1rem;
}
#mainfoot #mainfoot-inner {
  padding: 0 5%;
  margin: 0 auto;
  display: grid;
  gap: 1rem 3rem;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}
#mainfoot a {
  color: #FFF;
}
#mainfoot ul {
  padding: 0;
}
#mainfoot li {
  position: relative;
  list-style: none;
}
#mainfoot #mf-logos {
  display: grid;
  padding-bottom: 1rem;
  grid-auto-columns: fit-content(100%) auto;
  grid-template-areas: "nii shedding";
  align-items: start;
  justify-content: space-between;
  align-items: baseline;
  gap: 2rem;
}
#mainfoot #mf-logos #mf-niilogo {
  grid-area: nii;
  vertical-align: bottom;
}
#mainfoot #mf-logos #mf-niilogo img {
  display: inline-block;
}
#mainfoot #mf-logos #mf-shedding-logo {
  grid-area: shedding;
}
#mainfoot #mf-logos #mf-shedding-logo img {
  width: 100%;
  max-width: 240px;
  display: block;
}
#mainfoot #footer-popular-links {
  grid-column: 4;
}
#mainfoot #footer-other-links {
  grid-column: 5;
}
#mainfoot #footer-about-links {
  grid-column: 3;
}
#mainfoot #footer-contact {
  grid-column: 1/3;
  overflow: hidden;
}
#mainfoot ul#footer-contact-social {
  margin: 0.5rem 0 0 0;
  padding: 0.5rem 0;
  outline: 1px solid #999;
  display: grid;
  position: relative;
  gap: 0;
  grid-template-columns: repeat(7, 1fr);
  width: 100%;
}
#mainfoot ul#footer-contact-social li {
  padding: 0;
  margin: 0;
  text-align: center;
  font-size: 0.66667rem;
  font-weight: 300;
}
#mainfoot ul#footer-contact-social li img {
  display: block;
  margin: 0 auto;
  padding: 4px;
}
#mainfoot ul#footer-contact-social li::before {
  content: "";
}
#mainfoot ul#footer-contact-social.i-2 {
  grid-template-columns: repeat(2, 1fr);
}
#mainfoot ul#footer-contact-social.i-3 {
  grid-template-columns: repeat(3, 1fr);
}
#mainfoot ul#footer-contact-social.i-4 {
  grid-template-columns: repeat(4, 1fr);
}
#mainfoot ul#footer-contact-social.i-5 {
  grid-template-columns: repeat(5, 1fr);
}
#mainfoot ul#footer-contact-social.i-6 {
  grid-template-columns: repeat(6, 1fr);
}
#mainfoot #footer-contact-direct p, #mainfoot #footer-contact-direct address {
  margin-top: 0;
  font-weight: 300;
}

.reg-AMS #mainfoot ul#footer-contact-social li span, .reg-EU #mainfoot ul#footer-contact-social li span {
  display: none;
}

#corpfoot {
  grid-area: "corp";
  background: #222;
  color: #FFF;
  font-size: 0.66667rem;
  border-top: 1px solid #666;
}
#corpfoot #corpfoot-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 auto;
  padding: 2rem 5%;
}
#corpfoot #corpfoot-inner a,
#corpfoot #corpfoot-inner a:link,
#corpfoot #corpfoot-inner a:visited {
  color: #FFF;
}
#corpfoot #corpfoot-inner ul {
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 0 1em 0 0;
}
#corpfoot #corpfoot-inner ul li {
  list-style: none;
  margin: 0;
  white-space: nowrap;
}
#corpfoot #corpfoot-inner ul a {
  font-size: 1.14286em;
  font-weight: 300;
}
#corpfoot #corpfoot-inner #copyright {
  margin: 0;
  text-align: right;
}
#corpfoot #othersites {
  clear: both;
}
#corpfoot #fservsupp {
  width: 50%;
  float: left;
  clear: left;
}
#corpfoot #flinks {
  width: 50%;
  float: left;
  clear: right;
}

.linklist h3 {
  margin-top: 0;
}
.linklist h3 a::after {
  content: url(/images/interface/icon_angle-right-white.svg);
  margin-left: 8px;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
}
.linklist ul {
  margin: 0.5rem 0 0 0;
  gap: 0.5rem 2rem;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
}
.linklist ul li {
  width: 100%;
  margin: 0 0 0 0;
  font-weight: 300;
  position: relative;
  font-size: 0.88889rem;
}

@media (min-width: 1600px) {
  #mainfoot #mainfoot-inner {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  }
  #mainfoot #footer-popular-links {
    grid-column: 4;
  }
  #mainfoot #footer-other-links {
    grid-column: 5;
  }
  #mainfoot #footer-about-links {
    grid-column: 3;
  }
  #mainfoot #footer-contact {
    grid-column: 1/3;
    grid-row: 1/4;
    overflow: hidden;
  }
}
@media (max-width: 1080px) {
  #corpfoot #copyright {
    width: 100%;
  }
  #mainfoot #mainfoot-inner {
    grid-template-columns: 1fr 1fr;
  }
  #mainfoot #mainfoot-inner #footer-popular-links {
    grid-column: 2;
    grid-row: 2;
  }
  #mainfoot #mainfoot-inner #footer-other-links {
    grid-column: 2;
    grid-row: 3;
  }
  #mainfoot #mainfoot-inner #footer-about-links {
    grid-column: 2;
    grid-row: 1;
  }
  #mainfoot #mainfoot-inner #footer-contact {
    grid-column: 1;
    grid-row: 1/4;
    overflow: hidden;
  }
  .linklist ul {
    display: flex;
    flex-wrap: wrap;
    font-size: 0.88889rem;
  }
  .linklist ul li {
    width: auto;
  }
  .linklist ul li::before {
    content: "• ";
    position: absolute;
    left: -1.2rem;
  }
}
@media (max-width: 800px) {
  #mainfoot #mainfoot-inner {
    grid-template-columns: 1fr;
  }
  #mainfoot #mainfoot-inner #footer-popular-links {
    grid-column: 1;
    grid-row: 3;
  }
  #mainfoot #mainfoot-inner #footer-other-links {
    grid-column: 1;
    grid-row: 4;
  }
  #mainfoot #mainfoot-inner #footer-about-links {
    grid-column: 1;
    grid-row: 2;
  }
  #mainfoot #mainfoot-inner #footer-contact {
    grid-column: 1;
    grid-row: 1;
    overflow: hidden;
  }
  .linklist ul {
    display: flex;
    flex-wrap: wrap;
  }
  .linklist ul li {
    width: auto;
  }
  .linklist ul li::before {
    content: "• ";
    position: absolute;
    left: -1.2rem;
  }
}
#head-crumb, #foot-crumb {
  margin: 0;
  padding: 0;
  height: 2.66667rem;
  position: relative;
  font-family: "Roboto", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  border-bottom: 1px solid #CCC;
}

#head-crumb {
  background: #fff;
  color: #333;
  z-index: 1;
}

#foot-crumb {
  border-bottom: 1px solid #666;
  background: #222;
}
#foot-crumb ul {
  color: #fff;
}
#foot-crumb ul a, #foot-crumb ul a:link, #foot-crumb ul a:visited {
  color: #fff;
}
#foot-crumb ul li::after {
  content: url("/images/interface/icon_angle-right-white.svg");
}

.breadcrumb ul {
  width: 100%;
  padding: 1em 5% 0;
  margin: 0 auto;
  display: flex;
  font-size: 0.88889rem;
  line-height: 1.25;
  line-height: 1;
  overflow-x: auto;
}
.breadcrumb ul a, .breadcrumb ul a:link, .breadcrumb ul a:visited {
  color: #333;
  font-weight: 400;
}
.breadcrumb ul li {
  display: inline-block;
  list-style: none;
  font-weight: 700;
  max-width: 400px;
  white-space: nowrap;
}
.breadcrumb ul li sup, .breadcrumb ul li sub {
  display: none;
}
.breadcrumb ul li::after {
  content: url("/images/interface/icon_angle-right-grey.svg");
  display: inline-block;
  width: 0.4375em;
  height: 0.875em;
  margin: 0 1em 0.25em;
  vertical-align: middle;
}
.breadcrumb ul li:last-child::after {
  content: "";
}
.breadcrumb:empty {
  display: none;
}

.nav-overlap #head-crumb {
  background-color: rgba(0, 0, 0, 0.8);
  border-bottom: 1px solid #666;
  position: absolute;
  top: 161px;
  width: 100%;
}
.nav-overlap #head-crumb ul {
  color: #fff;
}
.nav-overlap #head-crumb ul a, .nav-overlap #head-crumb ul a:link, .nav-overlap #head-crumb ul a:visited {
  color: #fff;
}
.nav-overlap #head-crumb li::after {
  content: url(/images/interface/icon_angle-right-white.svg);
}
.nav-overlap #head-crumb li:last-child::after {
  content: "";
}

@media (max-width: 1080px) {
  .nav-overlap #head-crumb {
    top: 109px;
  }
}
@media (max-width: 640px) {
  .nav-overlap #head-crumb {
    top: 81px;
  }
}
.application-content {
  max-width: 1600px;
  margin: 0 auto;
}
.application-content h2 {
  position: relative;
  font-weight: 500;
}
.application-content .text-block a, .application-content .text-block a:link, .application-content .text-block a:visited, .application-content .uni-seg-text a, .application-content .uni-seg-text a:link, .application-content .uni-seg-text a:visited {
  font-weight: 500;
}

@keyframes pulse {
  0% {
    outline: 4px solid #FFF;
  }
  50% {
    outline: 4px solid #F90;
  }
  100% {
    outline: 4px solid #FFF;
  }
}
.application-header {
  height: 640px;
  overflow: hidden;
  position: relative;
  contain: layout;
  border-bottom: 2px solid #FFDE00;
}
.application-header .soulution-header-img {
  position: absolute;
  height: 710px;
  width: auto;
  max-width: none;
  transform: translateX(-50%);
  left: 50%;
  bottom: 0;
  transform-origin: 50% 100%;
}
.application-header h1 {
  position: absolute;
  left: 2.5%;
  bottom: 1rem;
  width: auto;
  z-index: 1;
  margin: 0;
  color: #fff;
  padding: 0.5rem 2.5% 3.5rem 2.5%;
  background: rgba(0, 0, 0, 0.65);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  font-weight: 300;
  border: 2px solid rgba(255, 255, 255, 0.5);
}
.application-header .raq {
  position: absolute;
  left: 5%;
  bottom: 2rem;
  margin: 0;
  z-index: 2;
}

.application-intro {
  padding: 1rem 5% 0 5%;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
.application-intro p {
  font-family: "Roboto", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  font-weight: 500;
  font-size: 1rem;
}

.application-nav {
  margin-top: 1.5rem;
  width: 100%;
  padding: 0 calc(5% - 0.5rem);
}

#application-background {
  padding: 1rem 5%;
  border-top: 1px solid #ccc;
  margin-top: -1px;
}
#application-background .text-block *:first-child {
  margin-top: 0;
}
#application-background .img-block {
  float: right;
  width: 49%;
  margin: 0 0 2% 1rem;
}

#application-literature {
  padding: 1rem 5%;
  border-top: 1px solid #ccc;
  margin-top: -1px;
}
#application-literature .related-literature {
  display: flex;
  flex-wrap: wrap;
}
#application-literature .literature-item-compact {
  width: 50%;
}

#application-discussion {
  padding: 2rem 5%;
  border-top: 1px solid #efefef;
}

#application-use-case {
  clear: both;
}
#application-use-case > p.note {
  margin: 1rem 5%;
}
#application-use-case > .key {
  text-align: right;
}
#application-use-case > .key p {
  display: inline-block;
  padding: 0.5rem 1rem;
  outline: 1px solid #CCC;
  margin: 0 5% 1rem 0;
}
#application-use-case .comparison-segment h3 {
  margin: 1.5rem 5% 0.5rem 5%;
}
#application-use-case .caption {
  margin: 1rem 5%;
}
#application-use-case .spec-tables {
  clear: both;
  overflow: scroll;
}
#application-use-case .spec-tables > p {
  margin: 1rem 5%;
}

#application-glossary {
  padding: 2rem 5%;
  background: #efefef;
  color: #333;
}
#application-glossary h2 {
  margin-top: 0;
  font-weight: 500;
}
#application-glossary .application-definitions {
  columns: 3;
  gap: 2% 1rem;
}
#application-glossary .application-definition {
  display: inline-block;
}
#application-glossary .application-definition dt {
  font-family: "Roboto", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  font-weight: 500;
}
#application-glossary .application-definition dd {
  padding: 0;
  margin: 0.5rem 0 1rem 0;
  font-weight: 300;
  font-size: 0.88889rem;
}

#application-applications {
  border-top: 1px solid #efefef;
  padding: 2rem 5%;
}
#application-applications h2 {
  margin-top: 0;
}

.related-applications {
  margin: 2rem -2rem;
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr 1fr 1fr;
}

.comparison-segment h3::after {
  content: "-";
  display: inline-block;
  outline: 1px solid #CCC;
  border-radius: 4px;
  height: 1.33333rem;
  width: 1.33333rem;
  line-height: 1;
  margin-left: 0.5rem;
  text-align: center;
  font-weight: 300;
  cursor: pointer;
  transition: background-color 0.25s ease-in-out;
}
.comparison-segment h3:hover::after {
  background-color: #FD0;
}
.comparison-segment .comparison-table-wrapper {
  max-height: auto;
  overflow: hidden;
  position: relative;
}
.comparison-segment .comparison-table-wrapper .comparison-table-inner {
  transform: translateY(0);
  transition: transform 0.5s ease-in-out;
}
.comparison-segment.collapsed h3::after {
  content: "+";
}
.comparison-segment.collapsed .comparison-table-wrapper {
  max-height: 0;
}
.comparison-segment.collapsed .comparison-table-wrapper .comparison-table-inner {
  transform: translateY(-100%);
}

@media (max-width: 960px) {
  #application-glossary .application-definitions {
    columns: 2;
  }
}
@media (max-width: 720px) {
  #application-background .img-block {
    width: 100%;
    float: none;
    margin: 0 0 1rem 0;
  }
  #application-glossary .application-definitions {
    columns: 1;
  }
  #application-literature .literature-item-compact {
    width: 100%;
  }
}
.applications-category {
  max-width: 1600px;
  margin: 0 auto;
}

.applications-header {
  padding: 2rem 5%;
  max-width: 1600px;
  margin: 0 auto;
}
.applications-header h1 {
  margin: 0 0 1rem 0;
}

.applications-intro {
  padding: 0;
  padding: 0 5%;
}

.applications-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 2rem;
  padding: 2rem 5%;
}

.applications-application {
  display: grid;
  gap: 1rem;
  grid-template-columns: 200px 1fr;
  grid-template-areas: "image copy";
  padding: 1rem 0;
  border-top: 1px solid #CCC;
}
.applications-application .application-blurb h3 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}
.applications-application .application-blurb p {
  margin-top: 0;
}
.applications-application .img-block {
  grid-area: image;
  width: 200px;
}
.applications-application .img-block img {
  display: block;
  border-radius: 4px;
}
.applications-application .img-block figcaption {
  display: none;
}
.applications-application .application-blurb {
  grid-area: copy;
}

.applications-category-list {
  display: grid;
  padding: 2rem calc(5% - 1rem);
  gap: 1rem;
  grid-template-columns: 1fr 1fr;
  grid-template-areas: "ls cl" "ls edu" "ls oem";
  margin: 0 auto;
}
.applications-category-list .applications-solution-category {
  position: relative;
  border-radius: 8px;
  background: #333;
  color: #FFF;
}
.applications-category-list .applications-solution-category img {
  border-radius: 8px 8px 0 0;
  position: relative;
  width: 100%;
}
.applications-category-list .applications-solution-category h3 {
  padding: 1rem 1rem 0 1rem;
  margin: 0;
  color: #FFF;
  position: relative;
  text-shadow: rgba(0, 0, 0, 0.65) 0 2px 0;
}
.applications-category-list .applications-solution-category h3::after {
  content: url(/images/interface/forward-arrow-grey.svg);
  display: inline-block;
  padding-left: 8px;
  height: 6px;
  width: 12px;
  vertical-align: top;
}
.applications-category-list .applications-solution-category .applications-category-blurb {
  padding: 0 1rem;
}
.applications-category-list .applications-solution-category .category-list {
  padding: 0 1rem;
}
.applications-category-list .applications-solution-category .category-list ul {
  padding: 0;
}
.applications-category-list .applications-solution-category .category-list li {
  list-style: none;
  margin-bottom: 0.5rem;
}
.applications-category-list .applications-solution-category#life-sciences {
  grid-area: ls;
  background-color: #4b4f52;
  color: #EEE;
  background: #4b4f52 url(/images/mastheads/Ti2-Life-Sciences3.jpg) no-repeat right bottom;
  background-size: 125% auto;
}
.applications-category-list .applications-solution-category#life-sciences a, .applications-category-list .applications-solution-category#life-sciences a:link, .applications-category-list .applications-solution-category#life-sciences a:visited {
  color: #FFF;
}
.applications-category-list .applications-solution-category#life-sciences li a:hover {
  text-decoration: underline;
}
.applications-category-list .applications-solution-category#life-sciences li a::after {
  content: url("/images/interface/icon_angle-right-white.svg");
  margin-left: 0.5rem;
  vertical-align: middle;
}
.applications-category-list .applications-solution-category#life-sciences h3 {
  color: #FFF;
}
.applications-category-list .applications-solution-category#life-sciences h3::after {
  content: url(/images/interface/forward-arrow-white.svg);
}
.applications-category-list .applications-solution-category#life-sciences .category-list {
  padding-right: 40%;
}
.applications-category-list .applications-solution-category#clinical-research {
  grid-area: cl;
  background-color: #f3f3f4;
  color: #333;
  background: #f3f3f4 url(/images/mastheads/Clinical-background.jpg) no-repeat right top;
  background-size: 100% auto;
  padding-right: 40%;
}
.applications-category-list .applications-solution-category#clinical-research li a:hover {
  text-decoration: underline;
}
.applications-category-list .applications-solution-category#clinical-research li a::after {
  content: url("/images/interface/icon_angle-right-grey.svg");
  width: 8px;
  display: inline-block;
  margin-left: 0.5rem;
  vertical-align: middle;
}
.applications-category-list .applications-solution-category#clinical-research a, .applications-category-list .applications-solution-category#clinical-research a:link, .applications-category-list .applications-solution-category#clinical-research a:visited {
  color: #000;
}
.applications-category-list .applications-solution-category#clinical-research h3 {
  color: #333;
  text-shadow: none;
}
.applications-category-list .applications-solution-category#microscopes-for-education {
  grid-area: edu;
  background-color: #d8d7dd;
  color: #333;
  background: #d8d7dd url(/images/mastheads/education2.jpg) no-repeat 100% 100%;
  background-size: 40% auto;
  padding-right: 40%;
}
.applications-category-list .applications-solution-category#microscopes-for-education h3 {
  color: #333;
  text-shadow: none;
}
.applications-category-list .applications-solution-category#oem {
  grid-area: oem;
  background-color: #323232;
  color: #EEE;
  background: #323232 url(/images/mastheads/oem3.jpg) no-repeat 100% 50%;
  background-size: 65% auto;
  padding-right: 40%;
}
.applications-category-list .applications-solution-category#oem h3 {
  color: #FFF;
}
.applications-category-list .applications-solution-category#oem h3::after {
  content: url(/images/interface/forward-arrow-white.svg);
}

@media (max-width: 1280px) {
  .applications-list {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 1080px) {
  .applications-category-list {
    grid-template-columns: 1fr;
    grid-template-areas: "ls" "cl" "edu" "oem";
  }
  .applications-category-list .applications-solution-category#life-sciences {
    background: #4b4f52 url(/images/mastheads/Ti2-Life-Sciences3.jpg) no-repeat right top;
    background-size: 125% auto;
    padding-right: 40%;
  }
  .applications-category-list .applications-solution-category#life-sciences .category-list {
    padding-right: 0;
  }
  .applications-category-list .applications-solution-category#clinical-research {
    background: #f3f3f4 url(/images/mastheads/Clinical-background.jpg) no-repeat right top;
    background-size: 100% auto;
    padding-right: 40%;
  }
  .applications-category-list .applications-solution-category#microscopes-for-education {
    grid-area: edu;
  }
  .applications-category-list .applications-solution-category#oem {
    grid-area: oem;
  }
}
@media (max-width: 640px) {
  .applications-application {
    grid-template-columns: 120px 1fr;
  }
  .applications-application .img-block {
    width: 120px;
  }
  .applications-application img {
    max-width: 100%;
  }
}
.comparison-table {
  width: 100%;
  max-width: 1600px;
  background: #fff;
}
.comparison-table thead, .comparison-table tr.divider {
  background-color: #e0e0e0;
}
.comparison-table tbody tr.divider {
  color: #333;
}
.comparison-table.non-spec thead th {
  font-style: normal;
}
.comparison-table.non-spec tbody th {
  vertical-align: top;
  text-align: left;
  position: relative;
}
.comparison-table.non-spec tbody th:first-of-type {
  border-top: none;
}
.comparison-table.non-spec tbody td {
  text-align: left;
}
.comparison-table thead th {
  color: #333;
  font-weight: 700;
}
.comparison-table thead a, .comparison-table thead a:link, .comparison-table thead a:visited {
  color: #333;
  font-weight: 700;
}
.comparison-table thead a.int::after, .comparison-table thead a:link.int::after, .comparison-table thead a:visited.int::after {
  content: url(/images/interface/icon_angle-right-grey.svg);
  display: inline-block;
  height: 8px;
  width: 8px;
  margin-left: 4px;
  margin-right: -1rem;
}
.comparison-table td p:first-child {
  margin-top: 0;
}
.comparison-table td p:last-child {
  margin-bottom: 0;
}
.comparison-table td.r-1 {
  background: #d0e778;
}
.comparison-table td.r-2 {
  background: #c6eab0;
}
.comparison-table td.r-3, .comparison-table td.r-4 {
  background: #9fd874;
}
.comparison-table th.defined {
  text-decoration: underline;
  text-decoration-style: dotted;
  cursor: help;
}
.comparison-table th.defined .definition {
  position: absolute;
  font-size: 0.77778rem;
  padding: 0.5rem;
  width: 480px;
  max-width: 75%;
  background: rgba(230, 230, 230, 0.95);
  border-radius: 8px;
  box-shadow: rgba(0, 0, 0, 0.5) 0 2px 2px;
  z-index: 1;
  transform: translateY(-1rem);
  left: -1000px;
  opacity: 0;
}
.comparison-table th.defined:hover .definition {
  left: 20%;
  opacity: 1;
  transform: translateY(0);
  transition: transform 0.25s ease-out 0.5s, opacity 0.25s ease-out 0.5s;
  text-align: left;
}
.comparison-table th.defined::after {
  content: "?";
  line-height: 1;
  padding-top: 0.15rem;
  background: #CCC;
  box-sizing: border-box;
  height: 20px;
  width: 20px;
  text-align: center;
  border-radius: 10px;
  display: inline-block;
  margin-left: 0.5rem;
}
.comparison-table th.defined:hover::after {
  background: #FD0;
}
.comparison-table hr {
  border: 1px solid #CCC;
  border-width: 1px 0 0 0;
  height: 1px;
}
.comparison-table p + ul {
  margin-top: -1em;
}
.comparison-table ul {
  margin-top: 0;
}
.comparison-table ul li {
  list-style: none;
}
.comparison-table ul li::before {
  content: "• ";
}
.comparison-table.yes-no-opt td.yes {
  position: relative;
  text-indent: -5000px;
}
.comparison-table.yes-no-opt td.yes::after {
  content: "●";
  position: absolute;
  left: 0;
  text-indent: 0;
  width: 100%;
}
.comparison-table.yes-no-opt td.no {
  position: relative;
  text-indent: -5000px;
}
.comparison-table.yes-no-opt td.na {
  position: relative;
  background: #999;
  background: url(/images/na-bg.png) repeat 0 0;
}
.comparison-table.yes-no-opt td.opt {
  position: relative;
  text-indent: -5000px;
}
.comparison-table.yes-no-opt td.opt::after {
  content: "○";
  position: absolute;
  left: 0;
  text-indent: 0;
  width: 100%;
}
.comparison-table td.yes, .comparison-table td.yes-plus {
  background: #b9f493;
  border-top-color: #71af4b;
  text-align: center;
}
.comparison-table td.partial, .comparison-table td.partial-plus {
  background: #defcca;
  border-top-color: #c6e1b4;
  text-align: center;
}
.comparison-table td.opt, .comparison-table td.opt-plus {
  background: #fff09f;
  border-top-color: #e7c300;
  text-align: center;
}
.comparison-table img {
  max-width: 100%;
}
.comparison-table col.sidehead {
  width: 33.33333%;
}
.comparison-table tbody.symbols td {
  text-align: center;
}

.comparison-table.ct1 col.colnormal {
  width: 66.66666%;
}

.comparison-table.ct2 col.colnormal {
  width: 33.33333%;
}

.comparison-table.ct3 col.colnormal {
  width: 22.22222%;
}

.comparison-table.ct4 col.sidehead {
  width: 20%;
}
.comparison-table.ct4 col.colnormal {
  width: 20%;
}

.comparison-table.ct5 {
  max-width: none;
}
.comparison-table.ct5 col.sidehead {
  width: 20%;
}
.comparison-table.ct5 col.colnormal {
  width: 16%;
}

.comparison-table.ct6 {
  max-width: none;
}
.comparison-table.ct6 col.sidehead {
  width: 15%;
}
.comparison-table.ct6 col.colnormal {
  width: 14%;
}

.comparison-table.ct7 {
  max-width: none;
}
.comparison-table.ct7 col.sidehead {
  width: 16%;
}
.comparison-table.ct7 col.colnormal {
  width: 12%;
}

.comparison-table.ct8 {
  max-width: none;
}
.comparison-table.ct8 col.sidehead {
  width: 12%;
}
.comparison-table.ct8 col.colnormal {
  width: 11%;
}

.comparison-table.ct2x2 col.colnormal {
  width: 16.66666%;
}

.comparison-table.ct2x5 col.sidehead {
  width: 20%;
}
.comparison-table.ct2x5 col.colnormal {
  width: 12%;
}

@media (max-width: 960px) {
  .comparison-table {
    font-size: 0.88889em;
  }
  .comparison-table th {
    font-weight: 500;
  }
  .comparison-table.ct1 col.colnormal {
    width: auto;
  }
  .comparison-table.ct2 col.colnormal {
    width: auto;
  }
  .comparison-table.ct3 {
    min-width: 450px;
  }
  .comparison-table.ct3 col.colnormal {
    width: auto;
  }
  .comparison-table.ct4 {
    min-width: 600px;
  }
  .comparison-table.ct4 col.sidehead {
    width: auto;
  }
  .comparison-table.ct4 col.colnormal {
    width: auto;
  }
  .comparison-table.ct5 {
    min-width: 750px;
  }
  .comparison-table.ct5 col.sidehead {
    width: auto;
  }
  .comparison-table.ct5 col.colnormal {
    width: auto;
  }
  .comparison-table.ct6 {
    min-width: 900px;
  }
  .comparison-table.ct6 col.sidehead {
    width: auto;
  }
  .comparison-table.ct6 col.colnormal {
    width: auto;
  }
  .comparison-table.ct7 {
    min-width: 1050px;
  }
  .comparison-table.ct7 col.sidehead {
    width: auto;
  }
  .comparison-table.ct7 col.colnormal {
    width: auto;
  }
  .comparison-table.ct8 {
    min-width: 1200px;
  }
  .comparison-table.ct8 col.sidehead {
    width: auto;
  }
  .comparison-table.ct8 col.colnormal {
    width: auto;
  }
  .comparison-table .ct2x5 tbody th[rowspan], .comparison-table .ct2x6 tbody th[rowspan] {
    text-transform: uppercase;
    background: linear-gradient(#ddd, #efefef);
    border-top: 2px solid #666;
    font-weight: 700;
  }
  .comparison-table thead,
  .comparison-table tbody {
    display: block;
  }
  .comparison-table thead tr,
  .comparison-table tbody tr {
    display: flex;
    flex-wrap: wrap;
    clear: both;
  }
  body .comparison-table thead tr th:first-child {
    display: block;
    width: 100%;
    clear: both;
    text-align: center;
  }
  body .comparison-table thead tr td:first-child {
    display: none;
  }
  .comparison-table tbody tr th:first-child {
    display: block;
    width: 100%;
    clear: both;
    text-align: center;
    border-top-color: #999;
    background-color: #f6f6f6;
    position: sticky;
    flex: auto 0 1;
  }
  .comparison-table.ct2 tbody tr.divider th:first-child,
  .comparison-table.ct3 tbody tr.divider th:first-child,
  .comparison-table.ct4 tbody tr.divider th:first-child,
  .comparison-table.ct5 tbody tr.divider th:first-child,
  .comparison-table.ct2x5 tbody tr.divider th:first-child,
  .comparison-table.ct6 tbody tr.divider th:first-child,
  .comparison-table.ct7 tbody tr.divider th:first-child,
  .comparison-table.ct8 tbody tr.divider th:first-child,
  .comparison-table.ct9 tbody tr.divider th:first-child,
  .comparison-table.ct1 thead tr th,
  .comparison-table.ct1 tbody tr.divider th,
  .comparison-table.ct1 thead tr td,
  .comparison-table.ct1 tbody tr td {
    display: block;
    width: 100%;
  }
  .comparison-table.ct2 thead tr th,
  .comparison-table.ct2 tbody tr.divider th,
  .comparison-table.ct2 thead tr td,
  .comparison-table.ct2 tbody tr td {
    display: block;
    width: 50%;
    float: left;
  }
  .comparison-table.ct2 thead tr th[colspan="2"],
  .comparison-table.ct2 tbody tr.divider th[colspan="2"],
  .comparison-table.ct2 thead tr td[colspan="2"],
  .comparison-table.ct2 tbody tr td[colspan="2"] {
    display: block;
    width: 100%;
    float: left;
  }
  .comparison-table.ct3 thead tr th,
  .comparison-table.ct3 tbody tr.divider th,
  .comparison-table.ct3 thead tr td,
  .comparison-table.ct3 tbody tr td {
    display: block;
    width: 33.33333%;
    float: left;
  }
  .comparison-table.ct4 thead tr th,
  .comparison-table.ct4 tbody tr.divider th,
  .comparison-table.ct4 thead tr td,
  .comparison-table.ct4 tbody tr td {
    display: block;
    width: 25%;
    float: left;
  }
  .comparison-table.ct4 thead tr th[colspan="2"],
  .comparison-table.ct4 tbody tr.divider th[colspan="2"],
  .comparison-table.ct4 thead tr td[colspan="2"],
  .comparison-table.ct4 tbody tr td[colspan="2"] {
    display: block;
    width: 50%;
    float: left;
  }
  .comparison-table.ct4 thead tr th[colspan="3"],
  .comparison-table.ct4 tbody tr.divider th[colspan="3"],
  .comparison-table.ct4 thead tr td[colspan="3"],
  .comparison-table.ct4 tbody tr td[colspan="3"] {
    display: block;
    width: 75%;
    float: left;
  }
  .comparison-table.ct4 thead tr th[colspan="4"],
  .comparison-table.ct4 tbody tr.divider th[colspan="4"],
  .comparison-table.ct4 thead tr td[colspan="4"],
  .comparison-table.ct4 tbody tr td[colspan="4"] {
    display: block;
    width: 100%;
    float: left;
  }
  .comparison-table.ct5 thead tr th,
  .comparison-table.ct5 tbody tr.divider th,
  .comparison-table.ct5 thead tr td,
  .comparison-table.ct5 tbody tr td,
  .comparison-table.ct2x5 thead tr th,
  .comparison-table.ct2x5 tbody tr.divider th,
  .comparison-table.ct2x5 thead tr td,
  .comparison-table.ct2x5 tbody tr td {
    display: block;
    width: 20%;
    float: left;
  }
  .comparison-table.ct6 thead tr th,
  .comparison-table.ct6 tbody tr.divider th,
  .comparison-table.ct6 thead tr td,
  .comparison-table.ct6 tbody tr td,
  .comparison-table.ct2x6 thead tr th,
  .comparison-table.ct2x6 tbody tr.divider th,
  .comparison-table.ct2x6 thead tr td,
  .comparison-table.ct2x6 tbody tr td {
    display: block;
    width: 16.66666%;
    float: left;
  }
  .comparison-table.ct7 thead tr th,
  .comparison-table.ct7 tbody tr.divider th,
  .comparison-table.ct7 thead tr td,
  .comparison-table.ct7 tbody tr td {
    display: block;
    width: 14.28571%;
    float: left;
  }
  .comparison-table.ct8 thead tr th,
  .comparison-table.ct8 tbody tr.divider th,
  .comparison-table.ct8 thead tr td,
  .comparison-table.ct8 tbody tr td {
    display: block;
    width: 12.5%;
    float: left;
  }
  .comparison-table.ct2 tbody td[colspan="2"] {
    width: 100%;
  }
  .comparison-table.ct3 tbody td[colspan="3"] {
    width: 100%;
  }
  .comparison-table.ct3 tbody td[colspan="2"] {
    width: 66.66667%;
  }
  .comparison-table tbody ul {
    text-align: left;
  }
  .comparison-table tbody tr td {
    text-align: center;
  }
  .comparison-table.ct2x2 thead th {
    width: 25%;
    display: block;
    float: left;
  }
  .comparison-table.ct2x2 thead th[colspan="2"],
  .comparison-table.ct2x2 thead td[colspan="2"] {
    width: 50%;
  }
  .comparison-table.ct2x2 tbody td {
    display: block;
    float: left;
    width: 25%;
  }
}
.downloads-app-notes .literature-item .app-note-intro {
  width: 90%;
}

.literature-item {
  padding: 2rem 0;
  border-bottom: 1px solid #CCC;
}
.literature-item .li-description {
  margin: 0 auto;
  width: 100%;
}
.literature-item .li-description *:first-child {
  margin-top: 0;
}
.literature-item .app-note-intro {
  display: grid;
  grid-template-columns: 1fr 240px;
  gap: 2rem;
  max-width: 1440px;
  width: 100%;
  margin: 0 auto;
}
.literature-item .app-note-intro .li-file {
  grid-column: 2;
  grid-row: 1;
}
.literature-item .app-note-intro .li-file img {
  box-shadow: #999 0 2px 4px;
}
.literature-item .app-note-intro .li-file .button {
  margin: 1rem auto;
  display: block;
  position: relative;
  padding-left: 2rem;
  overflow: hidden;
}
.literature-item .app-note-intro .li-file .button::before {
  content: url(/images/interface/download.svg);
  height: 100%;
  width: 16px;
  display: block;
  margin-right: 0.5rem;
  vertical-align: bottom;
  background: #666;
  padding: 0.25rem 0.25rem;
  position: absolute;
  left: 0;
  top: 0;
}
.literature-item .app-note-intro .li-intro-content {
  grid-column: 1;
  grid-row: 1;
}
.literature-item .app-note-intro .li-intro-content h3 {
  font-size: 1.66667rem;
  font-weight: 300;
  max-width: 55rem;
}
.literature-item .app-note-intro .li-intro-content h3 + p.date {
  margin-top: -1.5rem;
  color: #666;
}
.literature-item .app-note-feature {
  max-width: 1440px;
  width: 90%;
  margin: 0 auto 2em auto;
  padding: 0;
}

#related-literature-wrapper {
  margin: 0 -1rem;
  border-radius: 4px;
  overflow: hidden;
  background: #efefef;
  outline: 1px solid #CCC;
  position: relative;
  animation-name: lit-expand;
  animation-duration: 0.7s;
  animation-timing-function: ease;
}
#related-literature-wrapper #lit-expander {
  position: absolute;
  bottom: 0px;
  left: 50%;
  max-height: 2000px;
  height: auto;
  transform: translateX(-50%);
  border: 0;
  background: #069;
  background: linear-gradient(#07A, #058);
  font-size: 0.77778rem;
  text-transform: uppercase;
  font-weight: 500;
  cursor: pointer;
  color: #fff;
  padding: 0.25rem 0;
  width: 180px;
  text-align: center;
  border-radius: 8px 8px 0 0;
  box-shadow: rgba(0, 0, 0, 0.5) 0 0 4px;
}
#related-literature-wrapper #lit-expander::before, #related-literature-wrapper #lit-expander::after {
  content: "▲";
  padding: 0 0.5rem;
  display: inline-block;
  position: absolute;
  transition: transform 0.5s ease;
}
#related-literature-wrapper #lit-expander::before {
  left: 0;
}
#related-literature-wrapper #lit-expander::after {
  right: 0;
}
#related-literature-wrapper.collapsed {
  overflow-y: hidden;
  max-height: 480px;
  animation-name: lit-collapse;
  animation-duration: 0.7s;
  animation-timing-function: ease;
}
#related-literature-wrapper.collapsed #lit-expander::before, #related-literature-wrapper.collapsed #lit-expander::after {
  transform: scaleY(-1);
}

@keyframes lit-collapse {
  0% {
    max-height: 2000px;
  }
  100% {
    max-height: 480px;
  }
}
@keyframes lit-expand {
  0% {
    max-height: 480px;
  }
  100% {
    max-height: 2000px;
  }
}
.literature-item-compact {
  position: relative;
  min-height: 166px;
  padding: 1rem;
  border-bottom: 1px solid #CCC;
  margin-bottom: -1px;
}
.literature-item-compact .li-file {
  position: absolute;
  left: 1rem;
  top: 1rem;
  width: 90px;
  height: auto;
}
.literature-item-compact .li-file img {
  width: 100%;
  box-shadow: rgba(0, 0, 0, 0.65) 0 2px 2px;
}
.literature-item-compact .li-description {
  padding-left: 108px;
}
.literature-item-compact .li-description h4.tag {
  font-size: 0.77778rem;
  margin: 0;
  line-height: 1.5rem;
}
.literature-item-compact .li-description h3 {
  margin: 0;
  font-size: 0.88889rem;
  line-height: 1.5rem;
}
.literature-item-compact .li-description p.date {
  margin: 0;
  font-size: 0.88889rem;
  line-height: 1.5rem;
}

@media (max-width: 720px) {
  .literature-item .app-note-intro {
    grid-template-columns: 1fr;
  }
  .literature-item .app-note-intro .li-file {
    grid-column: 1;
    grid-row: 2;
  }
  .literature-item .app-note-intro .li-file img, .literature-item .app-note-intro .li-file .button {
    display: block;
    width: 240px;
    margin: 1rem auto;
  }
  .literature-item .app-note-intro .li-description {
    grid-column: 1;
    grid-row: 1;
  }
  .literature-item .app-note-intro .li-description h3 {
    font-size: 1.11111rem;
    font-weight: 500;
  }
}
#special-feature h2 {
  margin-top: 0;
}

.uni-segments {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  gap: 0 2rem;
}

.uni-head {
  width: 100%;
}
.uni-head h3 {
  position: relative;
}

.universal-key-feature {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  width: 100%;
  position: relative;
  border-top: 1px solid #CCC;
}

.key-feature {
  width: 100%;
  padding: 2rem 5%;
}
.key-feature.content-right, .key-feature.content-left, .key-feature.content-center {
  display: grid;
  gap: 1rem 2rem;
  grid-template-columns: 1fr 1fr;
}
.key-feature.content-right {
  grid-auto-flow: dense;
}
.key-feature.content-right .product-feature-content {
  grid-column: 2;
}
.key-feature.content-right .product-media {
  grid-column: 1;
}
.key-feature.content-left .product-feature-content {
  grid-column: 1;
}
.key-feature.content-left .product-media {
  grid-column: 2;
}
.key-feature.content-center {
  grid-template-columns: 1fr;
}
.key-feature .uni-imagery + .uni-seg-text h3 {
  margin-top: 1rem;
}
.key-feature h3 {
  position: relative;
  margin-top: 0;
  font-size: 1.55556rem;
  font-weight: 400;
  margin-bottom: 1rem;
}
.key-feature h4 {
  font-weight: 500;
}

.uni-segment {
  position: relative;
}
.uni-segment .uni-imagery.i-1 .uni-imagery-inner {
  flex-direction: column;
}
.uni-segment .uni-imagery.width-1-2 {
  width: calc(50% - 1rem);
}
.uni-segment .uni-imagery.width-1-3 {
  width: calc(33.33333% - 1.5rem);
}
.uni-segment .uni-imagery.width-2-3 {
  width: calc(66.66666% - 1rem);
}
.uni-segment .uni-imagery.width-1-4 {
  width: calc(25% - 1.5rem);
}
.uni-segment .uni-imagery.width-3-4 {
  width: calc(75% - 1rem);
}
.uni-segment .uni-imagery .uni-imagery-inner {
  display: flex;
  gap: 1rem;
}
.uni-segment .uni-imagery .img-block {
  width: 100%;
}
.uni-segment .uni-imagery picture {
  display: block;
}
.uni-segment .uni-imagery img {
  width: 100%;
  display: block;
}
.uni-segment .uni-imagery .caption {
  width: 100%;
  margin-top: 0.25rem;
}
.uni-segment.partial-width {
  padding-bottom: 2rem;
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.uni-segment.partial-width h3 {
  font-size: 1.33333rem;
}
.uni-segment.partial-width.width-1-2 {
  width: calc(50% - 1rem);
}
.uni-segment.partial-width.width-1-3 {
  width: calc(33.33333% - 1.5rem);
}
.uni-segment.partial-width.width-2-3 {
  width: calc(66.66666% - 1rem);
}
.uni-segment.partial-width.width-1-4 {
  width: calc(25% - 1.5rem);
}
.uni-segment.partial-width.width-3-4 {
  width: calc(75% - 1rem);
}
.uni-segment.partial-width.width-1-5 {
  width: calc(20% - 1.75rem);
}
.uni-segment.partial-width.width-2-5 {
  width: calc(40% - 1.5rem);
}
.uni-segment.partial-width.width-3-5 {
  width: calc(60% - 1.25rem);
}
.uni-segment.full-width {
  width: 100%;
  display: block;
  padding-top: 1rem;
}
.uni-segment.full-width.imagery-right .uni-imagery {
  float: right;
  margin: 0 0 1rem 2%;
}
.uni-segment.full-width.imagery-left {
  float: left;
  margin: 0 2% 1rem 0;
}
.uni-segment h3:first-child, .uni-segment h4:first-child, .uni-segment h5:first-child {
  margin-top: 0;
  margin-bottom: 1rem;
}
.uni-segment .uni-seg-text {
  max-width: 55rem;
}
.uni-segment .uni-seg-text p:first-child {
  margin-top: 0;
}

@media (max-width: 1280px) {
  .uni-segment.partial-width.width-1-5 {
    width: calc(25% - 1.75rem);
  }
  .uni-segment.partial-width.width-1-3 {
    width: calc(50% - 1rem);
  }
}
@media (max-width: 1080px) {
  .uni-segment.partial-width.width-1-5, .uni-segment .uni-imagery.width-1-5 {
    width: calc(33.33333% - 1.5rem);
  }
  .uni-segment.partial-width.width-1-4, .uni-segment .uni-imagery.width-1-4 {
    width: calc(33.33333% - 1.5rem);
  }
  .uni-segment.partial-width.width-1-3, .uni-segment .uni-imagery.width-1-3 {
    width: calc(50% - 1rem);
  }
  .uni-segment.partial-width.width-2-5, .uni-segment .uni-imagery.width-2-5 {
    width: calc(50% - 1rem);
  }
  .uni-segment.partial-width.width-1-2, .uni-segment .uni-imagery.width-1-2 {
    width: calc(50% - 1rem);
  }
  .uni-segment.partial-width.width-3-5, .uni-segment .uni-imagery.width-3-5 {
    width: 100%;
  }
  .uni-segment.partial-width.width-2-3, .uni-segment .uni-imagery.width-2-3 {
    width: 100%;
    margin: 0;
  }
  .uni-segment.partial-width.width-3-4, .uni-segment .uni-imagery.width-3-4 {
    width: 100%;
    margin: 0;
  }
  .uni-segment.partial-width.width-full.i-2 figure, .uni-segment .uni-imagery.width-full.i-2 figure {
    width: calc(50% - 1rem);
  }
  .uni-segment.partial-width.width-full.i-3 figure, .uni-segment .uni-imagery.width-full.i-3 figure {
    width: calc(50% - 1rem);
  }
  .uni-segment.partial-width.width-full.i-4 figure, .uni-segment .uni-imagery.width-full.i-4 figure {
    width: calc(50% - 1rem);
  }
  .uni-segment.partial-width.width-full.i-5 figure, .uni-segment .uni-imagery.width-full.i-5 figure {
    width: calc(33.33333% - 1.5rem);
  }
  .uni-segment.partial-width.width-full.i-6 figure, .uni-segment .uni-imagery.width-full.i-6 figure {
    width: calc(25% - 1.75rem);
  }
}
@media (max-width: 960px) {
  .uni-segment .uni-imagery {
    float: none;
    margin: 0 0 1rem 0;
  }
  .uni-segment .uni-imagery .uni-imagery-inner {
    flex-wrap: wrap;
  }
  .uni-segment .uni-imagery.width-full.i-3 figure {
    width: calc(50% - 1rem);
    margin: 0;
  }
  .uni-segment .uni-imagery.width-full.i-4 figure {
    width: calc(50% - 1rem);
  }
  .uni-segment .uni-imagery.width-full.i-5 figure {
    width: calc(50% - 1rem);
  }
  .uni-segment .uni-imagery.width-full.i-6 figure {
    width: calc(33.33333% - 1.5rem);
  }
}
@media (max-width: 720px) {
  .uni-segment.partial-width.width-1-5, .uni-segment .uni-imagery.width-1-5 {
    width: calc(50% - 1rem);
  }
  .uni-segment.partial-width.width-1-4, .uni-segment .uni-imagery.width-1-4 {
    width: calc(50% - 1rem);
  }
  .uni-segment.partial-width.width-1-3, .uni-segment .uni-imagery.width-1-3 {
    width: 100%;
    margin: 0;
  }
  .uni-segment.partial-width.width-2-5, .uni-segment .uni-imagery.width-2-5 {
    width: 100%;
    margin: 0;
  }
  .uni-segment.partial-width.width-1-2, .uni-segment .uni-imagery.width-1-2 {
    width: 100%;
    margin: 0;
  }
  .uni-segment.partial-width.width-1-2.i-2 figure, .uni-segment .uni-imagery.width-1-2.i-2 figure {
    width: calc(50% - 1rem);
  }
  .uni-segment figure + .caption {
    margin-top: 0;
  }
}
@media (max-width: 640px) {
  .uni-segment .uni-imagery.width-full.i-2 figure {
    width: 100%;
    margin: 0;
  }
  .uni-segment .uni-imagery.width-full.i-3 figure {
    width: 100%;
    margin: 0;
  }
  .uni-segment .uni-imagery.width-full.i-4 figure {
    width: calc(50% - 1rem);
  }
  .uni-segment .uni-imagery.width-full.i-5 figure {
    width: calc(50% - 1rem);
  }
  .uni-segment .uni-imagery.width-full.i-6 figure {
    width: calc(33.33333% - 1.5rem);
  }
}
img-comparison-slider:hover svg {
  background: rgb(255, 221, 0);
  transition: all 0.25s ease-in-out;
  transform: scale(1);
}
img-comparison-slider:hover svg path {
  fill: #000;
  transition: all 0.25s ease-in-out;
}
img-comparison-slider svg {
  background: rgba(255, 221, 0, 0);
  width: 2.5rem;
  height: 2.5rem;
  padding: 0.25rem;
  border-radius: 1.25rem;
  transition: all 0.25s ease-in-out;
  transform: scale(2);
}
img-comparison-slider svg path {
  fill: #fff;
  transition: all 0.25s ease-in-out;
}
img-comparison-slider figure figcaption {
  position: absolute;
  bottom: 0.5rem;
  margin: 0;
  background: rgba(0, 0, 0, 0.65);
  color: #FFF;
  padding: 0.5rem;
  line-height: 1;
  white-space: nowrap;
  border-radius: 4px;
}
img-comparison-slider figure.before figcaption {
  left: 0.5rem;
}
img-comparison-slider figure.after figcaption {
  right: 0.5rem;
}

.event-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
}

.event-item {
  margin-top: 0;
  min-height: 110px;
  padding-right: 0;
  padding-left: 5.5em;
  padding-top: 1em;
  position: relative;
  padding-bottom: 1em;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 3rem;
}
.event-item.no-img .event-item-details {
  grid-column: 1/4;
}
.event-item .event-item-details {
  grid-column: 1/3;
}
.event-item .date {
  display: block;
  width: 4.5rem;
  height: 4rem;
  font-size: 0.88889rem;
  line-height: 1.3333rem;
  padding-top: 0.66667rem;
  text-align: center;
  position: absolute;
  margin: 0;
  left: 0;
  top: 0.66667rem;
  font-weight: 400;
  outline: 2px solid #CCC;
  outline-offset: -2px;
}
.event-item .date .date-month, .event-item .date .date-days {
  display: block;
}
.event-item .date .date-start, .event-item .date .date-end {
  display: block;
}
.event-item:first-child {
  border-top: 0;
}
.event-item h3 {
  margin: 0;
  font-size: 1em;
  font-family: "Roboto", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  font-weight: 500;
}
.event-item address {
  font-weight: 300;
  font-style: normal;
}
.event-item address p {
  margin: 0;
}
.event-item .event-item-logo {
  grid-column: 3;
  position: relative;
  right: 0;
  width: 100%;
  height: 4.5rem;
}
.event-item .event-item-logo img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left;
}
.event-item .event-item-loc {
  margin-bottom: 0;
}
.event-item .event-item-booth {
  margin: 0;
}
.event-item .event-speakers {
  margin: 0;
}
.event-item .event-speakers span {
  white-space: nowrap;
}
.event-item .event-host {
  margin: 0.6428571429em 0 0;
  font-size: 0.77778em;
  line-height: 1.2857142857;
}

.newsheadline {
  min-height: 90px;
  padding-left: 178px;
  position: relative;
  padding-bottom: 2rem;
}
.newsheadline.no-img {
  padding-left: 0;
  min-height: 0;
}
.newsheadline img {
  position: absolute;
  left: 0;
  top: 0.25rem;
}
.newsheadline h3 {
  font-size: 1rem;
  margin: 0;
}
.newsheadline h3 sup, .newsheadline h3 sub {
  display: none;
}
.newsheadline p.date {
  margin: 0;
  font-size: 0.88889rem;
  font-weight: 300;
}

#news-article .news-body {
  display: grid;
  grid-template-columns: 1fr 396px;
  gap: 3rem;
}

.news-body {
  padding: 2rem min(80px, 5%);
  max-width: 1600px;
  margin: 0 auto;
}
.news-body .news-article {
  width: 100%;
  max-width: 55rem;
}
.news-body .news-article > h2 {
  margin-top: 0;
}
.news-body .news-article > h2 + .date {
  margin-top: -1rem;
  color: #666;
  font-size: 0.88889rem;
}
.news-body .news-article .news-text-heading {
  border-top: 1px solid #999;
  padding-top: 1rem;
  margin-top: 2rem;
}
.news-body .news-article .news-image-block.right {
  float: right;
  margin: 0 0 1rem 1rem;
}
.news-body .news-snippet {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 3rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #CCC;
  margin-bottom: 1rem;
}
.news-body .news-snippet:first-of-type {
  padding-top: 1rem;
  border-top: 1px solid #CCC;
}
.news-body .news-snippet-image {
  grid-column: 1;
  margin-right: -1rem;
}
.news-body .news-snippet-image img {
  display: block;
  width: 100%;
}
.news-body .news-snippet-text {
  grid-column: 2/5;
}
.news-body .news-snippet-text h3 {
  margin: 0;
  font-size: 1.11111rem;
  font-weight: 500;
}
.news-body .news-snippet-text h3 sup, .news-body .news-snippet-text h3 sub {
  display: none;
}
.news-body .news-snippet-text h3 + p.date {
  margin-top: 0;
  font-size: 0.8889rem;
  color: #666;
}
.news-body #news-list h3 {
  font-size: 1rem;
  margin-top: 0;
  text-transform: uppercase;
}
.news-body #news-list ul {
  margin-left: -1rem;
  padding: 0;
  border-top: 1px solid #999;
}
.news-body #news-list li {
  padding: 0.5rem 0 0.5rem 1rem;
  margin: -1px 0 0 0;
  border-bottom: 1px solid #CCC;
  list-style: none;
  font-size: 0.88889rem;
}
.news-body #news-list li sup, .news-body #news-list li sub {
  display: none;
}
.news-body #news-list li .date {
  display: block;
  color: #666;
  font-size: 0.77778rem;
}
.news-body #news-list li.current {
  background: #DEF;
  border-top: 1px solid #069;
}
.news-body hgroup {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #CCC;
}
.news-body hgroup h2 {
  display: inline;
  margin: 0 1rem 0 0;
}
.news-body hgroup p {
  display: inline;
}
.news-body .news-paginate-prev, .news-body .news-paginate-next {
  text-indent: -5000px;
  position: relative;
  display: inline-block;
  height: 17px;
  width: 17px;
  line-height: 1;
  vertical-align: middle;
  transform: translateY(-2px);
  transition: background-color 0.25s ease-in-out;
}
.news-body .news-paginate-prev:hover, .news-body .news-paginate-next:hover {
  background: #FD0;
}
.news-body .news-paginate-prev::after, .news-body .news-paginate-next::after {
  content: url("/images/interface/icon_angle-right-grey.svg");
  position: absolute;
  left: 50%;
  top: 0;
  line-height: 1;
  text-indent: 0;
  display: block;
  height: 17px;
  width: 9px;
  transform: translateX(-50%);
}
.news-body .news-paginate-prev {
  transform: rotate(180deg) translateY(2px);
}
.news-body span.news-paginate-prev, .news-body span.news-paginate-next {
  opacity: 0.5;
}

#event-body {
  width: 90%;
  max-width: 1440px;
  margin: 2rem auto;
}
#event-body .event-products {
  margin: 2rem 0;
  border-top: 1px solid #CCC;
  padding-top: 2rem;
}
#event-body .event-products h2 {
  margin-bottom: 3rem;
}
#event-body .event-info {
  width: 100%;
  background: #efefef;
  padding: 0.5rem 1rem;
  margin: -1rem -1rem 2rem -1rem;
}
#event-body .event-info address {
  display: inline-block;
  margin: 0;
}
#event-body .event-info address::before {
  content: " • ";
}
#event-body .event-info address br {
  display: none;
}
#event-body .event-info address p {
  display: inline-block;
  margin: 0;
}
#event-body .event-info address p::before {
  content: ", ";
}
#event-body .event-info > p {
  display: inline-block;
  margin: 0;
}
#event-body .event-info > p::before {
  content: " • ";
}
#event-body .event-info > p:first-of-type::before {
  content: "";
}

#news-features {
  max-width: 1600px;
  margin: 0 auto;
  padding: 2rem min(80px, 5%);
}
#news-features .feature-list {
  position: relative;
  margin: 0 -1rem;
}

.events-body {
  width: 90%;
  max-width: 1440px;
  padding: 2rem 0;
  margin: 0 auto;
}

.news-nav ul {
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  width: calc(90% + 0.5rem);
  max-width: 1440px;
  margin: 1rem auto;
  line-height: 1;
}
.news-nav ul li {
  font-size: 0.88889rem;
  list-style: none;
  border-right: 1px solid #CCC;
  padding: 0 0.25rem;
}
.news-nav ul li a {
  padding: 0.25rem 0.25rem;
  display: inline-block;
  white-space: nowrap;
}
.news-nav ul li.selected a {
  background: #FD0;
}

@media (max-width: 1280px) {
  #news-features .feature-list, .news-body .news-snippet {
    grid-template-columns: 1fr 1fr 1fr;
  }
  #news-features .feature-list .news-snippet-text, .news-body .news-snippet .news-snippet-text {
    grid-column: 2/4;
  }
  #news-article .news-body {
    grid-template-columns: 100%;
  }
}
@media (max-width: 960px) {
  #news-features .feature-list, .news-body .news-snippet {
    grid-template-columns: 1fr 1fr;
  }
  #news-features .feature-list .news-snippet-text, .news-body .news-snippet .news-snippet-text {
    grid-column: 2/3;
  }
}
@media (max-width: 480px) {
  #news-features .feature-list, .news-body .news-snippet {
    grid-template-columns: 1fr;
  }
  #news-features .feature-list .news-snippet-text, .news-body .news-snippet .news-snippet-text {
    grid-column: 1;
  }
  #news-features .feature-list .news-snippet-image, .news-body .news-snippet .news-snippet-image {
    margin-right: 0;
  }
  .newsheadline {
    padding-left: 0;
  }
  .newsheadline img {
    display: none;
  }
  .event-item {
    display: block;
    padding-left: 0;
  }
  .event-item .date {
    display: block;
    width: auto;
    height: auto;
    line-height: 1.5rem;
    text-align: left;
    position: relative;
    top: 0;
    outline: 0;
  }
  .event-item .date .date-month, .event-item .date .date-days {
    display: inline;
  }
  .event-item .date .date-month::after, .event-item .date .date-start::after {
    content: " ";
  }
  .event-item .date .date-start, .event-item .date .date-end {
    display: inline;
  }
  .event-item .event-item-logo {
    display: none;
  }
}
#hp-mastheads {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: auto;
  gap: 0.5rem;
  background: #FFF;
}
#hp-mastheads .hp-masthead {
  background: #666;
}
#hp-mastheads .hp-masthead::after {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
#hp-mastheads .hp-masthead img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#hp-mastheads .hp-masthead:hover hgroup {
  background: rgb(0, 0, 0);
}
#hp-mastheads .hp-masthead:hover hgroup h3 {
  text-decoration: underline;
}
#hp-mastheads .hp-masthead:hover hgroup h3::after {
  transform: translateX(0.5rem);
}
#hp-mastheads .hp-masthead hgroup {
  position: absolute;
  bottom: 0;
  color: #FFF;
  background: rgba(0, 0, 0, 0.4);
  transition: background-color 0.125s ease-in-out;
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}
#hp-mastheads .hp-masthead hgroup h3 {
  font-size: 1rem;
  letter-spacing: 0.075rem;
  text-transform: uppercase;
  margin: 0 0 0.5rem;
  font-weight: 400;
  transition: color 0.125s ease-in-out;
}
#hp-mastheads .hp-masthead hgroup h3::after {
  content: url("/images/interface/icon_angle-right-white.svg");
  display: inline-block;
  width: 0.4375em;
  height: 0.875em;
  margin: 0.1rem 0 0 0.25em;
  vertical-align: top;
  transition: transform 0.125s ease-in-out;
}
#hp-mastheads .hp-masthead hgroup h4 {
  margin: 0;
  display: inline-block;
  font-weight: 500;
}
#hp-mastheads .hp-masthead hgroup h5 {
  margin: 0;
  display: inline-block;
  font-weight: 300;
}

@keyframes progress {
  from {
    background-position: 100%;
  }
  to {
    background-position: 0%;
  }
}
#hp-mast1 .dark {
  background: #FFF;
}
#hp-mast1 .dark .mast-messaging {
  color: #333;
}

#hp-mast1 {
  grid-area: mast1;
  grid-column: 1/5;
  grid-row: 1;
  width: 100%;
  height: 35vw;
  min-height: 540px;
  max-height: 800px;
  position: relative;
  color: #fff;
  text-align: center;
  z-index: 0;
  margin-bottom: 1rem;
  background: #000;
}
#hp-mast1 .mast-messaging {
  position: absolute;
  left: 10%;
  width: 23%;
  top: 50%;
  transform: translate(0, -20%);
  pointer-events: none;
}
#hp-mast1 .mast-messaging .tagline {
  font-size: 1.33333rem;
  margin-top: 1rem;
}
#hp-mast1 .mast-messaging-logo {
  margin: 0 auto;
}
#hp-mast1 .mast-bg {
  width: 100%;
  height: 100%;
  position: relative;
}
#hp-mast1 .mast-bg img {
  width: 100%;
  height: 100%;
  position: absolute;
  object-fit: cover;
  object-position: left;
  left: 0;
}
#hp-mast1 .hp-mast1-frame {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  opacity: 0;
  z-index: 0;
}
#hp-mast1 .hp-mast1-frame.previous {
  opacity: 0;
  z-index: 1;
  transition: opacity 0s linear 0.5s;
}
#hp-mast1 .hp-mast1-frame.previous .mast-messaging {
  transform: translate(0, -20%);
  transition: transform 0s linear 0.5s;
}
#hp-mast1 .hp-mast1-frame.current {
  opacity: 1;
  z-index: 2;
  transition: opacity 0.5s ease-in-out;
}
#hp-mast1 .hp-mast1-frame.current .mast-messaging {
  transform: translate(0, calc(-50% + 87.5px));
  transition: transform 0.5s ease-out;
}
#hp-mast1 #hp-mast1-pause {
  position: absolute;
  left: 5%;
  bottom: 2rem;
  background: rgba(102, 102, 102, 0.85);
  color: #FFF;
  border: 0;
  border-radius: 0;
  z-index: 2;
  padding: 0.5rem 2rem 0.5rem 0.5rem;
  font-size: 0.77778rem;
  text-transform: uppercase;
  width: 100px;
  font-family: "Roboto", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  cursor: pointer;
  outline: 2px solid rgba(255, 255, 255, 0.5);
  transition: all 0.125s ease-in-out;
}
#hp-mast1 #hp-mast1-pause:hover {
  outline: 2px solid #fd0;
  color: #FD0;
  background: #333;
}
#hp-mast1 #hp-mast1-pause::after {
  display: inline-block;
  height: 14px;
  width: 14px;
  position: absolute;
  right: 0.5rem;
  top: 0.5rem;
}
#hp-mast1 #hp-mast1-pause.paused::after {
  content: url(/images/interface/play.svg);
}
#hp-mast1 #hp-mast1-pause.playing::after {
  content: url(/images/interface/pause.svg);
}
#hp-mast1 #hp-mast1-next, #hp-mast1 #hp-mast1-prev {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
  border: 0;
  text-indent: -5000px;
  width: 3rem;
  cursor: pointer;
  height: calc(100% - 134px);
  background: rgba(0, 0, 0, 0);
  transition: all 0.25s ease-in-out;
}
#hp-mast1 #hp-mast1-next::after, #hp-mast1 #hp-mast1-prev::after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: url("/images/interface/carousel-arrow-white.svg");
  display: block;
  width: 1.25rem;
  color: #FFF;
  text-indent: 0;
  transition: transform 0.25s ease-in-out;
}
#hp-mast1 #hp-mast1-next:hover, #hp-mast1 #hp-mast1-prev:hover {
  background: rgba(0, 0, 0, 0.5);
}
#hp-mast1 #hp-mast1-next {
  text-indent: 5000px;
}
#hp-mast1 #hp-mast1-next:hover::after {
  transform: translate(-10%, -50%);
}
#hp-mast1 #hp-mast1-prev {
  right: auto;
  left: 0;
}
#hp-mast1 #hp-mast1-prev::after {
  transform: translate(-50%, -50%) scaleX(-100%);
}
#hp-mast1 #hp-mast1-prev:hover::after {
  transform: translate(-90%, -50%) scaleX(-100%);
}
#hp-mast1 #hp-mastnav {
  position: absolute;
  width: 100%;
  bottom: -1.75rem;
  padding: 0.33333rem 0;
  z-index: 2;
  margin: 0 auto;
}
#hp-mast1 #hp-mastnav ul {
  position: relative;
  display: inline-flex;
  gap: 0 10px;
  border-radius: 2rem;
  max-width: 100px;
  justify-content: center;
  vertical-align: middle;
  margin: 0;
  padding: 0;
}
#hp-mast1 #hp-mastnav li {
  width: 12px;
  height: 12px;
  border-radius: 10px;
  display: block;
  list-style: none;
  text-indent: -5000px;
  margin: 0;
  background: #CCC;
  cursor: pointer;
  transition: background-color 0.5s ease-in-out;
}
#hp-mast1 #hp-mastnav li:last-child {
  border-width: 0;
}
#hp-mast1 #hp-mastnav li.selected {
  background: #000;
  outline-offset: -1px;
}

.nav-overlap #hp-mast1 {
  height: calc(35vw + 176px);
}

#hp-mast2 {
  grid-column: 1/3;
  width: 100%;
  grid-row: 2;
  height: 30vw;
  max-height: 480px;
  min-height: 240px;
  margin: 0;
  position: relative;
}
#hp-mast2 hgroup {
  width: 55%;
  left: 0;
  padding: 1rem 1rem 1rem 5vw;
}

#hp-mast3 {
  grid-column: 3/5;
  grid-row: 2;
  width: 100%;
  height: 30vw;
  max-height: 480px;
  min-height: 240px;
  position: relative;
}
#hp-mast3 hgroup {
  width: 55%;
  right: 0;
  text-align: left;
  padding: 1rem 5vw 1rem 1rem;
}

#hp-mast4 {
  grid-area: mast4;
  grid-column: 1/5;
  grid-row: 3;
  width: 100%;
  height: 30vw;
  max-height: 480px;
  min-height: 240px;
  position: relative;
}
#hp-mast4 hgroup {
  width: 27.5%;
  left: 0;
  padding: 1rem 1rem 1rem 5vw;
}

#home-page h2 {
  font-size: 1.5555555556em;
  line-height: 1.2857142857;
  margin: 0;
  position: relative;
  font-weight: 500;
}
#home-page h2 a, #home-page h2 a:link, #home-page h2 a:visited {
  color: #333;
}

#hpnews #latest, #hpnews #upcoming, #hpnews #workshops {
  padding: 2rem 5%;
  background: #efefef;
  border-top: 1px solid #fff;
}
#hpnews #upcoming .event-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: auto;
  padding: 0;
}
#hpnews #latest h2 {
  width: 100%;
  margin-bottom: 2rem;
}
#hpnews #latest ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2%;
  margin: 0;
  padding: 0;
}
#hpnews #latest li {
  list-style: none;
  width: 49%;
  margin: 0;
  min-height: 100px;
  padding-bottom: 0;
}
#hpnews #latest li h3 {
  font-weight: 500;
  margin-bottom: 0;
}

#hp-resources {
  width: 100%;
  padding: 2rem 5%;
}
#hp-resources #hp-resources-features {
  margin: 1rem -1rem;
  width: calc(100% + 2rem);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: auto;
  gap: 1rem;
}
#hp-resources h2 {
  grid-column: 1/5;
  width: 100%;
  left: 0;
}

@media (max-width: 1280px) {
  #hp-mast1 .mast-messaging {
    left: 10%;
    width: 40%;
  }
  #hp-mast2 hgroup {
    width: 85%;
  }
  #hp-mast3 hgroup {
    width: 75%;
  }
  #hp-mast4 hgroup {
    width: 42.5%;
  }
  #hp-resources {
    grid-template-columns: 1fr 1fr;
  }
  #hp-resources h2 {
    grid-column: 1/3;
  }
  #hpnews #latest li {
    width: 100%;
  }
  #hpnews #latest li.no-img {
    min-height: 0;
  }
  #hpnews #upcoming .event-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 1080px) {
  #hp-resources #hp-resources-features {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 720px) {
  #hp-mast1 .hp-mast1-frame .mast-messaging {
    left: 50%;
    width: 80%;
    transform: translate(-50%, calc(-30% + 87.5px));
  }
  #hp-mast1 .hp-mast1-frame .mast-bg {
    pointer-events: none;
  }
  #hp-mast1 .hp-mast1-frame .mast-bg a {
    pointer-events: auto;
  }
  #hp-mast1 .hp-mast1-frame .mast-bg img {
    object-position: top;
  }
  #hp-mast1 .hp-mast1-frame .mast-bg::after {
    display: block;
    content: " ";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.65);
  }
  #hp-mast1 .hp-mast1-frame.dark .mast-bg::after {
    background: rgba(255, 255, 255, 0.65);
  }
  #hp-mast1 .hp-mast1-frame.current .mast-messaging {
    transform: translate(-50%, calc(-50% + 87.5px));
  }
  #hp-resources {
    grid-template-columns: 1fr;
  }
  #hp-resources h2 {
    grid-column: 1/2;
  }
  #hpnews #upcoming .event-list {
    display: block;
  }
  #hp-mast2 {
    grid-column: 1/5;
    grid-row: 2;
  }
  #hp-mast2 hgroup {
    width: 75%;
  }
  #hp-mast3 {
    grid-column: 1/5;
    grid-row: 3;
  }
  #hp-mast3 hgroup {
    right: auto;
    left: 0;
    width: 75%;
  }
  #hp-mast4 {
    grid-row: 4;
  }
  #hp-mast4 hgroup {
    width: 75%;
  }
}
@media (max-width: 640px) {
  #hp-resources #hp-resources-features {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media (max-width: 480px) {
  #hp-resources {
    grid-template-columns: 1fr;
  }
  #hp-resources h2 {
    grid-column: 1/2;
  }
  #hp-mast2 hgroup {
    width: 100%;
  }
  #hp-mast3 hgroup {
    width: 100%;
  }
  #hp-mast4 hgroup {
    width: 100%;
  }
}
.e-learning-body {
  max-width: 1440px;
  width: 90%;
  margin: 2rem auto;
}
.e-learning-body .e-learning-lessons {
  display: grid;
  gap: 3rem;
  grid-template-columns: 1fr 1fr;
}
.e-learning-body .e-learning-lessons .article-text-heading {
  grid-column: 1/3;
}
.e-learning-body .e-learning-lessons .article-text-block {
  grid-column: 1;
}
.e-learning-body .e-learning-lessons .article-image-block {
  grid-column: 2;
}
.e-learning-body .e-learning-lessons .article-image-block img {
  outline: 2px solid #CCC;
}
.e-learning-body #e-learning-signup {
  border-top: 1px solid #ccc;
  padding-top: 2rem;
  margin-top: 2rem;
}
.e-learning-body #e-learning-form {
  width: 100%;
  display: block;
  outline: 2px solid #ccc;
  outline-offset: 1rem;
  max-width: 720px;
  height: 720px;
  border: 0;
  margin: 3rem auto 2rem auto;
}
.e-learning-body #e-learning-embed iframe {
  aspect-ratio: 16/9;
  width: 100%;
  border: 0;
}

#downloads-appnotes-home .product-category-header.no-masthead h1 {
  max-width: 1440px;
  margin: 0 auto;
}
#downloads-appnotes-home .product-category-header.no-masthead .raq {
  max-width: 1440px;
  margin: 0 auto;
}

#resources-intro.intro {
  padding: 2rem 5%;
  display: block;
}
#resources-intro.intro *:first-child {
  margin-top: 0;
}
#resources-intro.intro *:last-child {
  margin-bottom: 0;
}

#resources-features {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 1rem;
  padding: 2rem calc(5% - 1rem) 2rem calc(5% - 1rem);
  background: #efefef;
}

#resources-search {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 1rem;
  padding: 2rem calc(5% - 1rem);
  background: #CCC;
}
#resources-search #filter-button {
  display: none;
  font-size: 0;
  line-height: 1;
  margin: 0 0;
  background: #666;
  position: absolute;
  padding: 0.5rem;
  border-radius: 4px 4px 4px 4px;
  overflow: visible;
  height: 36px;
  width: 36px;
  z-index: 1;
  cursor: pointer;
}
#resources-search #filter-button.selected {
  outline: 2px solid #FD0;
}
#resources-search #filter-button::before {
  content: url(/images/interface/filters.svg);
  display: block;
  width: 20px;
  height: 0;
  position: absolute;
  right: 0.5rem;
  top: 0.5rem;
}
#resources-search h2 {
  grid-column: 1/5;
  grid-row: 1;
  margin: 0;
  padding-left: 1rem;
}
#resources-search #resources-search-box {
  grid-column: 1;
  grid-row: 2;
  position: relative;
  margin-left: 1rem;
}
#resources-search #resources-search-box .ais-SearchBox-input {
  width: calc(100% - 2rem);
  height: 2rem;
  display: inline-block;
  appearance: unset;
  vertical-align: top;
  padding: 0.25rem;
  border: 2px solid #666;
  border-width: 2px 0 2px 2px;
  font-size: 1rem;
  border-radius: 4px 0 0 4px;
}
#resources-search #resources-search-box .ais-SearchBox-reset {
  position: absolute;
  top: 0.25rem;
  right: 2.575rem;
}
#resources-search #resources-search-box svg.ais-SearchBox-submitIcon {
  width: 2rem;
  height: 2rem;
  fill: white;
  background: #333;
  padding: 0.5rem;
  border-radius: 0 4px 4px 0;
}
#resources-search #resources-search-stats {
  grid-column: 2/5;
  grid-row: 2;
}
#resources-search #resources-search-filters {
  grid-column: 1;
  grid-row: 3;
  padding-left: 1rem;
}
#resources-search #resources-search-filters h3 {
  margin: 0 0 0.5rem 0;
}
#resources-search #resources-search-filters .filters {
  font-size: 0.88889rem;
}
#resources-search #resources-search-filters .ais-RefinementList-list {
  padding: 0;
  margin: 0 0 2rem 0;
}
#resources-search #resources-search-filters .ais-RefinementList-item {
  list-style: none;
  margin: 0;
  padding: 0.25rem 2.25rem 0.25rem 1.75rem;
  position: relative;
}
#resources-search #resources-search-filters .ais-RefinementList-item:has(input:checked) {
  background: #def;
}
#resources-search #resources-search-filters .ais-RefinementList-item:has(input:checked) .ais-RefinementList-count {
  background: #fff;
  color: #069;
}
#resources-search #resources-search-filters .ais-RefinementList-count {
  position: absolute;
  right: 0.25rem;
  font-size: 0.77778rem;
  color: #999;
  background: #efefef;
  padding: 0.25rem;
  width: 2rem;
  line-height: 1;
  border-radius: 1rem;
  text-align: center;
  display: none;
}
#resources-search #resources-search-filters .ais-RefinementList-checkbox {
  appearance: unset;
  position: absolute;
  top: 0.25rem;
  left: 0.25rem;
  width: 1rem;
  height: 1rem;
  vertical-align: bottom;
  margin-right: 0.5rem;
  border: 1px solid #666;
  background: #FFF;
  border-radius: 2px;
}
#resources-search #resources-search-filters .ais-RefinementList-checkbox:checked::after {
  content: "✔";
  position: absolute;
  top: -5px;
  left: 2px;
  line-height: 1;
  font-size: 1.25rem;
}
#resources-search .ais-Stats {
  padding-left: 1rem;
}
#resources-search #resources-search-results {
  grid-column: 2/5;
  grid-row: 3;
}
#resources-search #resources-search-results .ais-Hits-list {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr 1fr 1fr;
}
#resources-search #resources-search-pagination {
  grid-column: 3;
  grid-row: 4;
  text-align: center;
}
#resources-search #resources-search-pagination ul {
  width: 100%;
  display: block;
}
#resources-search #resources-search-pagination li {
  display: inline-block;
  list-style: none;
  line-height: 1;
}
#resources-search #resources-search-pagination li a, #resources-search #resources-search-pagination li span {
  display: inline-block;
  width: 1rem;
  height: 1.2rem;
}
#resources-search #resources-search-pagination li span {
  color: #999;
}
#resources-search #resources-search-pagination .ais-Pagination-item--selected {
  background: #def;
  border-radius: 2px;
}
#resources-search #resources-search-pagination .ais-Pagination-item--selected a {
  color: #333;
}

.resources-divider {
  width: 90%;
  max-width: 1440px;
  margin: 2rem auto;
}

#resources .feature-list {
  margin: 2rem auto;
  width: calc(90% + 2rem);
  max-width: 1476px;
}

@media (max-width: 1280px) {
  #resources-features, #resources-search {
    grid-template-columns: 1fr 1fr 1fr;
  }
  #resources-search h2 {
    grid-column: 1/4;
  }
  #resources-search #resources-search-results {
    grid-column: 2/4;
  }
  #resources-search #resources-search-results .ais-Hits-list {
    grid-template-columns: 1fr 1fr;
  }
  #resources-search #resources-search-pagination {
    grid-column: 2/4;
  }
}
@media (max-width: 1280px) {
  #resources-features, #resources-search {
    grid-template-columns: 1fr 1fr 1fr;
  }
  #resources-search h2 {
    grid-column: 1/4;
  }
  #resources-search #resources-search-results {
    grid-column: 2/4;
  }
  #resources-search #resources-search-results .ais-Hits-list {
    grid-template-columns: 1fr 1fr;
  }
  #resources-search #resources-search-pagination {
    grid-column: 2/4;
  }
}
@media (max-width: 960px) {
  #resources-features {
    grid-template-columns: 1fr 1fr;
  }
  #resources-search {
    position: relative;
    grid-template-columns: 1fr;
  }
  #resources-search #resources-search-box .ais-SearchBox-input {
    margin-left: 1.5rem;
    width: calc(100% - 3.5rem);
  }
  #resources-search #filter-button {
    display: block;
    margin: 0 auto;
    left: -1rem;
    top: 0;
    box-shadow: none;
  }
  #resources-search h2 {
    grid-column: 1;
  }
  #resources-search #resources-search-stats {
    grid-column: 1;
    grid-row: 4;
  }
  #resources-search #resources-search-box {
    grid-column: 1;
    grid-row: 2;
  }
  #resources-search #resources-search-filters {
    grid-column: 1;
    grid-row: 3;
    background: rgba(47, 47, 47, 0.95);
    color: #FFF;
    border-radius: 4px;
    position: absolute;
    left: calc(-554px - 5vw);
    top: 2rem;
    padding: 1rem;
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    gap: 1rem;
    z-index: 1;
    transition: top 0.5s ease-in, opacity 0.5s ease-in, left 0s ease 0.5s;
    opacity: 0;
  }
  #resources-search #resources-search-filters .ais-RefinementList-checkbox {
    height: 0.66667rem;
    width: 0.66667rem;
    top: 0.5rem;
  }
  #resources-search #resources-search-filters .ais-RefinementList-item:has(input:checked) {
    background: #666;
  }
  #resources-search #resources-search-filters .ais-RefinementList-item:has(input:checked) input {
    appearance: auto;
  }
  #resources-search #resources-search-filters .ais-RefinementList-item:has(input:checked) input::after {
    content: "";
  }
  #resources-search #resources-search-filters h3 {
    font-size: 1rem;
    text-transform: uppercase;
  }
  #resources-search #resources-search-filters.open {
    top: 0rem;
    left: 0;
    opacity: 1;
    transition: top 0.5s ease-out, opacity 0.5s ease-out;
  }
  #resources-search #resources-search-filters > div {
    display: block;
  }
  #resources-search #resources-search-filters ul {
    ovx-height: 200vw;
  }
  #resources-search #resources-search-filters ul li {
    font-size: 0.77778rem;
  }
  #resources-search #resources-search-filters ul li input {
    margin: 0 0.5rem;
  }
  #resources-search #resources-search-results {
    grid-column: 1;
    grid-row: 5;
    min-height: 1500px;
  }
  #resources-search #resources-search-results .ais-Hits-list {
    grid-template-columns: 1fr 1fr;
  }
  #resources-search #resources-search-pagination {
    grid-column: 1;
    grid-row: 6;
  }
}
@media (max-width: 640px) {
  #resources-features {
    grid-template-columns: 1fr;
  }
  #resources-features .feature-resource {
    height: auto;
  }
  #resources-features .feature-resource hgroup {
    position: relative;
    top: 0;
    height: auto;
    background: rgba(0, 0, 0, 0.5);
  }
  #resources-features .feature-resource hgroup::before {
    content: none;
  }
  #resources-search #resources-search-results .ais-Hits-list {
    grid-template-columns: 1fr;
  }
  #resources-search .ais-Hits-item a {
    display: flex;
    flex-wrap: nowrap;
    height: 100%;
    min-height: 120px;
  }
  #resources-search .ais-Hits-item .search-result-image {
    width: 25%;
    height: 100%;
  }
  #resources-search .ais-Hits-item hgroup {
    width: 75%;
  }
}
#product-main-page .filters {
  width: 90%;
  margin: 0 auto;
}
#product-main-page .filters .product-filters {
  margin: 2rem -1rem;
}
#product-main-page header {
  height: 640px;
}
#product-main-page header img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

[v-cloak]#prodlist-wrapper {
  opacity: 0;
}

#prodlist-wrapper.icon {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  width: 90%;
  margin: 0 auto;
  padding-bottom: 2rem;
}
#prodlist-wrapper.icon .product-main-list:not(.product-home-oem) {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
#prodlist-wrapper.icon .product-main-list:not(.product-home-oem) h3 {
  width: 100%;
}
#prodlist-wrapper.icon .product-main-list:not(.product-home-oem) h3 a::after {
  content: url(/images/interface/forward-arrow-grey.svg);
  display: inline-block;
  padding-left: 8px;
  height: 6px;
  width: 12px;
  vertical-align: top;
}
#prodlist-wrapper.icon .product-main-list:not(.product-home-oem) .main-list-item {
  width: 180px;
  height: 260px;
  outline: 2px solid rgba(0, 0, 0, 0);
  transition: outline-color 0.25s ease-out;
}
#prodlist-wrapper.icon .product-main-list:not(.product-home-oem) .main-list-item h4 {
  font-size: 0.77778rem;
  text-align: center;
  font-weight: 500;
  font-family: "Noto Sans", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
}
#prodlist-wrapper.icon .product-main-list:not(.product-home-oem) .main-list-item h4.gated {
  margin-top: 0;
  display: block;
  height: 156px;
  outline: 1px solid #CCC;
  padding: 64px 18px 18px 18px;
}
#prodlist-wrapper.icon .product-main-list:not(.product-home-oem) .main-list-item:hover {
  outline: 2px solid #000;
}
#prodlist-wrapper.icon .product-main-list:not(.product-home-oem) .main-list-item:hover h4 a, #prodlist-wrapper.icon .product-main-list:not(.product-home-oem) .main-list-item:hover h4 a:link, #prodlist-wrapper.icon .product-main-list:not(.product-home-oem) .main-list-item:hover h4 a:visited {
  color: #333;
}
#prodlist-wrapper.icon .product-main-list:not(.product-home-oem) .list-item-img {
  position: relative;
  width: 100%;
  height: 156px;
  padding: 18px;
  border-top: 1px solid #CCC;
  border-bottom: 1px solid #DDD;
  background: linear-gradient(#EEE, #FFF);
}
#prodlist-wrapper.icon .product-main-list:not(.product-home-oem) .list-item-img.img-fill {
  padding: 0;
  overflow: hidden;
}
#prodlist-wrapper.icon .product-main-list:not(.product-home-oem) .list-item-img.img-fill img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
#prodlist-wrapper.icon .product-main-list:not(.product-home-oem) .list-item-img img {
  position: absolute;
  object-fit: contain;
  width: 77%;
  height: 77%;
}

#prodlist-wrapper.text {
  position: relative;
  columns: 3;
  column-gap: 2rem;
  width: 90%;
  margin: 0 auto;
  padding-bottom: 2rem;
}
#prodlist-wrapper.text .product-main-list {
  display: inline-block;
  width: 100%;
  padding-bottom: 2rem;
  border-top: 1px solid #CCC;
}
#prodlist-wrapper.text .product-main-list h3 {
  font-size: 1.1111rem;
}
#prodlist-wrapper.text .product-main-list h3 a::after {
  content: url(/images/interface/forward-arrow-grey.svg);
  display: inline-block;
  padding-left: 8px;
  height: 6px;
  width: 12px;
  vertical-align: top;
}
#prodlist-wrapper.text .product-main-list .main-list-item {
  display: list-item;
  list-style-image: url("/images/interface/icon_angle-right-grey.svg");
  margin-left: 1.5rem;
}
#prodlist-wrapper.text .product-main-list .main-list-item h4 {
  font-size: 0.88889rem;
  font-weight: 500;
  font-family: "Noto Sans", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
}
#prodlist-wrapper.text .product-main-list .main-list-item:hover h4 a, #prodlist-wrapper.text .product-main-list .main-list-item:hover h4 a:link, #prodlist-wrapper.text .product-main-list .main-list-item:hover h4 a:visited {
  color: #333;
}
#prodlist-wrapper.text .product-main-list .main-list-item:hover .list-item-img {
  background-position: 0 0;
  transition: background-position 0.25s ease;
}
#prodlist-wrapper.text .product-main-list .list-item-img {
  display: none;
}

.product-filters {
  background: #333;
  display: grid;
  grid-template-columns: 1fr 80px;
  padding: 0.5rem 0.5rem 0.5rem 0.5rem;
  margin: 0 -1rem;
  border-radius: 3px;
}
.product-filters ul:first-of-type {
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
}
.product-filters ul:first-of-type li {
  list-style: none;
  margin: 0;
  white-space: nowrap;
}
.product-filters ul:first-of-type li button {
  height: 40px;
  padding: 0 1rem;
  color: #FFF;
  background: rgba(0, 0, 0, 0.65);
  border: none;
  border-radius: 0;
  width: 100%;
  font-size: 1rem;
  cursor: pointer;
  outline: 2px solid rgba(255, 255, 255, 0);
  transition: outline-color 0.25s ease-out;
}
.product-filters ul:first-of-type li button:hover {
  outline: 2px solid rgba(255, 255, 255, 0.65);
}
.product-filters ul:first-of-type li button.selected {
  outline: 2px solid #FD0;
  transition: outline-color 0.1s ease-in-out;
}
.product-filters ul:nth-of-type(2) {
  padding: 0;
  display: flex;
  gap: 0.5rem;
  margin: 0;
  flex-direction: row-reverse;
}
.product-filters ul:nth-of-type(2) li {
  width: 40px;
  height: 40px;
  list-style: none;
  margin: 0;
}
.product-filters ul:nth-of-type(2) li:hover {
  outline: 2px solid rgba(255, 255, 255, 0.65);
}
.product-filters ul:nth-of-type(2) li.selected {
  outline: 2px solid #FD0;
  transition: outline-color 0.1s ease-in-out;
}

@media (min-width: 1601px) {
  #product-main-page header div.product-name {
    left: 2.5%;
    transform: none;
  }
}
@media (max-width: 1280px) {
  #prodlist-wrapper.text-view {
    columns: 2;
  }
}
@media (max-width: 960px) {
  .product-filters ul:first-of-type li button {
    padding: 0.33333rem;
    height: 1.66667rem;
    font-size: 0.88889rem;
  }
  .product-filters ul:nth-of-type(2) li {
    height: 1.66667rem;
    width: 1.66667rem;
  }
  #prodlist-wrapper.text {
    columns: 2;
  }
}
@media (max-width: 640px) {
  #prodlist-wrapper.text {
    columns: 1;
  }
  #prodlist-wrapper.icon .product-main-list:not(.product-home-oem) {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }
  #prodlist-wrapper.icon .product-main-list:not(.product-home-oem) h3 {
    grid-column: 1/3;
  }
  #prodlist-wrapper.icon .product-main-list:not(.product-home-oem) .main-list-item {
    width: 100%;
  }
}
.product-body {
  max-width: 1600px;
  margin: 0 auto;
}

.prodsubhead {
  border-top: 1px solid #CCC;
  width: 100%;
  padding: 1rem 5% 1rem 5%;
  margin-bottom: 0;
  background: linear-gradient(#efefef 0, #FFF 60px);
}

#product-banners {
  width: 90%;
  max-width: 1440px;
  margin: 2rem auto;
}
#product-banners img {
  border-radius: 4px;
}

.pf-replacement {
  width: 95%;
  max-width: 1520px;
  padding: 2rem 2.5%;
  margin: 2rem auto;
  background: #efefef;
}

p.product-discontinued {
  background: #333;
  color: #fff;
  margin: 0;
  padding: 1rem 5%;
  text-align: center;
  max-width: 100%;
}
p.product-discontinued span.product-discontinued-replacement {
  display: inline-block;
}
p.product-discontinued span.product-discontinued-replacement::before {
  content: " • ";
}
p.product-discontinued a {
  color: #FD0;
}

#pf-replacement {
  width: 100%;
}

.pf-replacement .pf-replacement-item, #pf-replacement .pf-replacement-item {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 3rem;
}
.pf-replacement .pf-replacement-item h3, #pf-replacement .pf-replacement-item h3 {
  font-size: 1.33333rem;
}

#series-products {
  max-width: 1600px;
  padding: 2rem 5%;
}

#products-intro {
  padding: 2rem 5%;
}
#products-intro.no-img {
  display: block;
}

#products-intro-extra.article-body {
  max-width: 1600px;
  padding: 0 5%;
  margin: 0 auto;
}

.product-kfs-nav {
  padding: 0 5%;
  margin-bottom: -1px;
}

.product-media {
  display: grid;
  gap: 0 1rem;
}
.product-media.img-1 {
  grid-template-columns: 1fr;
}
.product-media.img-2 {
  grid-template-columns: repeat(2, 1fr);
}
.product-media.img-2 .caption {
  grid-column: 1/3;
}
.product-media.img-3 {
  grid-template-columns: repeat(3, 1fr);
}
.product-media.img-3 .caption {
  grid-column: 1/4;
}
.product-media.img-4 {
  grid-template-columns: repeat(4, 1fr);
}
.product-media.img-4 .caption {
  grid-column: 1/5;
}
.product-media.img-5 {
  grid-template-columns: repeat(5, 1fr);
}
.product-media.img-5 .caption {
  grid-column: 1/6;
}
.product-media.img-6 {
  grid-template-columns: repeat(6, 1fr);
}
.product-media.img-6 .caption {
  grid-column: 1/7;
}
.product-media.img-7 {
  grid-template-columns: repeat(7, 1fr);
}
.product-media.img-7 .caption {
  grid-column: 1/8;
}
.product-media.img-8 {
  grid-template-columns: repeat(8, 1fr);
}
.product-media.img-8 .caption {
  grid-column: 1/9;
}
.product-media.img-9 {
  grid-template-columns: repeat(9, 1fr);
}
.product-media.img-9 .caption {
  grid-column: 1/10;
}
.product-media.img-10 {
  grid-template-columns: repeat(10, 1fr);
}
.product-media.img-10 .caption {
  grid-column: 1/11;
}
.product-media .img-block {
  width: 100%;
  padding-bottom: 1rem;
}
.product-media img {
  width: 100%;
  height: auto;
}

.product-feature-content *:first-child {
  margin-top: 0;
}
.product-feature-content p a {
  font-weight: 500;
}

.product-image {
  grid-area: image;
}

.iframe-wrapper {
  display: block;
  position: relative;
  width: 100%;
}

.wrapper360 iframe {
  border: 0;
}

.series-products {
  width: calc(90% + 2rem);
  margin: 2rem auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem;
  margin-top: 2rem;
}
.series-products.sp2, .series-products.sp4 {
  grid-template-columns: 1fr 1fr;
}
.series-products.sp2 .sp-item, .series-products.sp4 .sp-item {
  grid-template-columns: 2fr 3fr;
  grid-template-rows: 1fr;
}
.series-products.sp2 .sp-item .sp-product-image, .series-products.sp4 .sp-item .sp-product-image {
  min-width: 180px;
  max-width: 240px;
  height: auto;
}
.series-products.sp2 .sp-item .sp-product-image img, .series-products.sp4 .sp-item .sp-product-image img {
  object-position: top;
}
.series-products .sp-item {
  padding: 1rem 1rem 3rem 1rem;
  border-radius: 4px;
  overflow: hidden;
  background: #f6f6f6;
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
  grid-template-rows: 240px 1fr;
  position: relative;
}
.series-products .sp-item .sp-logo {
  width: 100%;
  height: 60px;
  position: relative;
  padding-top: 1rem;
}
.series-products .sp-item .sp-logo img {
  object-fit: contain;
  position: absolute;
  max-width: 100%;
  max-height: 100%;
  object-position: bottom;
}
.series-products .sp-content {
  min-width: 240px;
}
.series-products .sp-product-image {
  height: 240px;
  position: relative;
}
.series-products .sp-product-image img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.series-products .learnmore {
  position: absolute;
  left: 0;
  bottom: 0;
  margin: 0;
  width: 100%;
}
.series-products .learnmore a, .series-products .learnmore a:link, .series-products .learnmore a:visited {
  color: #333;
  width: 100%;
  padding: 0.5rem 1rem;
  display: block;
  background: #DEF;
  transition: background-color 0.25s ease-in-out;
}
.series-products .learnmore a:hover, .series-products .learnmore a:link:hover, .series-products .learnmore a:visited:hover {
  background: #FD0;
}

.product-key-features {
  max-width: 1600px;
  width: 100%;
  margin: 0 auto;
}

ul.product-tags {
  display: block;
  margin: 0 0 0.5rem 0;
  padding: 0;
}

ul.product-tags li, .product-tag {
  list-style: none;
  font-size: 0.77778rem;
  display: inline-block;
  background: #efefef;
  height: 1.5rem;
  padding: 0.4rem 0.75rem 0 0.75rem;
  line-height: 1;
  margin-right: 0.25rem;
  margin-bottom: 0.25rem;
}

h3 + ul.product-tags {
  margin-top: -1rem;
}

#specs .specs-body p, #specs .specs-body h3, #specs .specs-body h4, #specs .specs-body h5, #specs .specs-body h6, #specs .specs-body ul, #specs .specs-body ol {
  margin: 1rem 5%;
}
#specs .specs-body table tbody tr td {
  text-align: center;
}
#specs .diagrams-body {
  padding: 0 5%;
}

iframe.precipoint {
  border: 0;
  max-width: 100%;
  outline: 2px solid #CCC;
}

#app-note-search {
  color: #fff;
  background: #333;
  padding: 1rem;
  margin: 0 calc(5% - 1rem) 1rem calc(5% - 1rem);
  border-radius: 8px;
  box-shadow: rgba(0, 0, 0, 0.25) 0 2px 2px;
}
#app-note-search h3 {
  margin: 0 0 0.5rem 0;
  font-weight: 300;
}
#app-note-search fieldset {
  display: grid;
  max-width: 720px;
  grid-template-columns: 1fr 1fr;
  padding: 0;
  border: 0;
  gap: 0.5rem;
  margin: 0 -0.5rem -0.5rem -0.5rem;
}
#app-note-search fieldset select {
  font-family: "Roboto", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem;
  padding: 0.5rem;
  border: 0;
  appearance: initial;
  background: #666;
  color: #FFF;
  box-shadow: rgba(0, 0, 0, 0.25) 0 2px 2px;
}
#app-note-search fieldset select:focus {
  outline: 2px solid #FD0 !important;
}

.literature-body.app-notes-results {
  padding: 0 5% 2rem 5%;
}
.literature-body.app-notes-results .lit-wrap {
  opacity: 1;
  transition: all 0.125s ease-in-out;
  overflow: hidden;
}
.literature-body.app-notes-results .hidden {
  opacity: 0;
  height: 0;
}

.oem-content .cad-form {
  margin: 1rem 0 2rem 0;
}

.oem-content .fui-i {
  background: #333;
  padding: 1rem;
}

.oem-content .fui-i fieldset {
  padding: 0;
  border: 0;
}

.oem-content .fui-i .fui-label-hidden .fui-label, .oem-content .fui-i .fui-row-empty {
  display: none;
}

.oem-content #cad-request {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr 280px;
  width: 90%;
  margin-left: 5%;
}

.oem-content iframe {
  border: none;
  width: 90%;
  height: 1600px;
  margin-top: 2rem;
}

.oem-content .cad-highlight {
  width: 280px;
  position: relative;
  margin-top: 2rem;
}

.oem-content .cad-highlight h4 {
  text-align: center;
}

.oem-content .cad-highlight .cad-highlight-img {
  background: #DEF;
  position: relative;
  border-radius: 8px;
  aspect-ratio: 28/24;
}

.oem-content .cad-highlight .cad-highlight-img img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.oem-content .oem-cad-intro {
  margin: 2rem 5%;
}

.oem-content .icon-view .product-main-list .main-list-item {
  height: 280px;
}

.oem-content .icon-view .product-main-list .main-list-item .list-item-img {
  background: #DEF;
  height: 160px;
  border-radius: 4px;
  overflow: hidden;
  padding: 1rem;
}

.oem-content .icon-view .product-main-list .main-list-item .list-item-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media (min-width: 1601px) {
  .product-nav.tab-nav ul {
    width: 1480px;
    margin: 0 auto;
    padding: 0;
  }
  #product-header {
    overflow: hidden;
  }
  #product-header div.product-name {
    left: 50%;
    transform: translateX(-764px);
    padding: 1rem 40px;
    width: 480px;
  }
  #product-header .masthead-wrap {
    width: 100%;
    height: auto;
    aspect-ratio: 2/1;
    position: relative;
  }
  #product-header img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    object-position: center;
  }
}
@media (max-width: 1280px) {
  #product-header div.product-name {
    width: 50%;
  }
}
@media (max-width: 1080px) {
  .series-products {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 840px) {
  #product-header div.product-name {
    width: 65%;
  }
}
@media (max-width: 720px) {
  .series-products {
    grid-template-columns: 1fr;
  }
  .series-products.sp2, .series-products.sp4 {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .pf-replacement .pf-replacement-item {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem 3rem;
  }
  .pf-replacement .pf-replacement-item img {
    max-width: 240px;
    margin: 1rem auto;
    display: block;
  }
  #product-header div.product-name {
    width: 95%;
  }
}
#product-footer {
  background: #666;
  margin-top: 0;
  color: #FFF;
}
#product-footer #pf-contact {
  max-width: 1440px;
  margin: 0 auto;
  padding: 2rem 0;
  display: grid;
  gap: 1rem 3rem;
  border-bottom: 1px solid #999;
  width: 90%;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
#product-footer #pf-contact div {
  border: 2px solid #999;
  text-align: center;
  margin: 0 -1rem;
  box-shadow: rgba(0, 0, 0, 0.25) 0 2px 2px;
  position: relative;
  transition: all 0.25s ease-in-out;
}
#product-footer #pf-contact div a {
  padding: 1rem;
  display: block;
  padding-top: 56px;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  color: #FFF;
}
#product-footer #pf-contact div#pf-contact-quote {
  background: url(/images/interface/contact-icon-raq.png) no-repeat 50% 18px;
  background-size: auto 40px;
}
#product-footer #pf-contact div#pf-contact-quote:hover {
  background-color: #333;
}
#product-footer #pf-contact div#pf-contact-demo {
  background: url(/images/interface/contact-icon-demo.png) no-repeat 50% 23px;
  background-size: auto 30px;
}
#product-footer #pf-contact div#pf-contact-demo:hover {
  background-color: #333;
}
#product-footer #pf-contact div#pf-contact-service {
  background: url(/images/interface/contact-icon-repair.png) no-repeat 50% 22px;
  background-size: auto 32px;
}
#product-footer #pf-contact div#pf-contact-service:hover {
  background-color: #333;
}
#product-footer #pf-contact div#pf-contact-app-support {
  background: url(/images/interface/contact-icon-app-support.png) no-repeat 50% 18px;
  background-size: auto 40px;
}
#product-footer #pf-contact div#pf-contact-app-support:hover {
  background-color: #333;
}
#product-footer #pf-contact div:hover {
  border-color: #FD0;
}
#product-footer #pf-more {
  max-width: 1440px;
  margin: 0 auto;
  padding: 2rem 0;
  display: grid;
  width: 90%;
  grid-template-columns: 1fr 240px;
}
#product-footer h2 {
  margin-top: 0;
  font-weight: 500;
  font-size: 1.33333rem;
  margin-bottom: 0.5rem;
}
#product-footer h2 a, #product-footer h2 a:link, #product-footer h2 a:visited {
  color: #FFF;
}
#product-footer h2 a::after, #product-footer h2 a:link::after, #product-footer h2 a:visited::after {
  content: url(/images/interface/forward-arrow-white.svg);
  display: inline-block;
  padding-left: 8px;
  height: 6px;
  width: 12px;
  vertical-align: top;
}
#product-footer a, #product-footer a:link, #product-footer a:visited {
  color: #FFF;
}
#product-footer .button {
  width: 100%;
}
#product-footer .button a {
  color: inherit;
}
#product-footer h3 {
  font-size: 0.88889rem;
  font-weight: 300;
}
#product-footer #pf-related {
  width: 100%;
  border-right: 1px solid #999;
}
#product-footer ul li {
  font-weight: 500;
}
#product-footer ul li a {
  font-weight: 300;
}

#relcategory {
  padding-bottom: 1rem;
  grid-column: 1;
  grid-row: 1;
}
#relcategory ul {
  padding: 0;
  overflow: hidden;
}
#relcategory ul li {
  list-style: none;
  display: inline-block;
  position: relative;
  padding-right: 2rem;
}
#relcategory ul li::before {
  content: " | ";
  position: absolute;
  left: -1rem;
}
#relcategory + #relproducts {
  border-top: 1px solid #999;
}

#pf-brochure {
  width: 240px;
  grid-column: 2;
  grid-row: 1/3;
  padding-left: 2rem;
  border-left: 1px solid #999;
}

#relproducts {
  padding-top: 1rem;
  width: 100%;
  grid-column: 1;
  grid-row: 2;
}
#relproducts ul {
  display: flex;
  padding: 0;
  flex-wrap: wrap;
  width: 100%;
  gap: 1rem;
}
#relproducts ul li {
  width: 20%;
  max-width: 180px;
  list-style: none;
}
#relproducts ul li h3 {
  text-align: center;
  color: #fff;
}
#relproducts ul li a:has(.product-thumb) {
  outline: 2px solid rgba(255, 255, 255, 0);
  outline-offset: 0.5rem;
  transition: outline-color 0.25s ease-in-out;
  display: block;
  height: 100%;
}
#relproducts ul li a:has(.product-thumb):hover {
  outline-color: #FFF;
}
#relproducts figure {
  position: relative;
}
#relproducts figure picture {
  width: 100%;
  aspect-ratio: 1/1;
  display: block;
  position: relative;
}
#relproducts figure img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media (max-width: 1280px) {
  #product-footer #pf-contact {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 960px) {
  #product-footer h2 {
    font-size: 1rem;
  }
  #product-footer #pf-brochure {
    grid-row: 1;
  }
  #product-footer #pf-brochure img {
    display: none;
  }
  #product-footer #relproducts {
    grid-row: 2;
    grid-column: 1/3;
  }
}
@media (max-width: 640px) {
  #product-footer #pf-more {
    grid-template-columns: 1fr;
    padding: 0;
  }
  #product-footer #pf-more #pf-brochure {
    grid-column: 1;
    grid-row: 1;
    padding-left: 0;
    border-left: 0;
    border-bottom: 1px solid #999;
    padding: 1rem 0;
    width: 100%;
  }
  #product-footer #pf-more #pf-brochure h2 {
    margin-top: 0;
  }
  #product-footer #pf-more #pf-brochure .brochure-download {
    width: auto;
  }
  #product-footer #pf-more #relcategory {
    padding: 1rem 0;
    grid-column: 1;
    grid-row: 2;
  }
  #product-footer #pf-more #relproducts {
    grid-column: 1;
    grid-row: 3;
    padding: 1rem 0;
  }
  #product-footer #pf-contact {
    grid-template-columns: 1fr;
  }
  #product-footer #pf-contact div {
    padding: 0 0.5rem;
    border: 2px solid #999;
    text-align: left;
    padding-left: 4rem;
    margin: 0 0;
    box-shadow: rgba(0, 0, 0, 0.25) 0 2px 2px;
  }
  #product-footer #pf-contact div#pf-contact-quote {
    background: url(/images/interface/contact-icon-raq.png) no-repeat 9px 13px;
    background-size: auto 30px;
  }
  #product-footer #pf-contact div#pf-contact-demo {
    background: url(/images/interface/contact-icon-demo.png) no-repeat 17px 17px;
    background-size: auto 22px;
  }
  #product-footer #pf-contact div#pf-contact-service {
    background: url(/images/interface/contact-icon-repair.png) no-repeat 13px 17px;
    background-size: auto 24px;
  }
  #product-footer #pf-contact div#pf-contact-app-support {
    background: url(/images/interface/contact-icon-app-support.png) no-repeat 15px 13px;
    background-size: auto 30px;
  }
  #product-footer #pf-contact div a {
    padding-top: 0;
    padding-bottom: 0;
  }
}
#product-category {
  max-width: 1600px;
  margin: 0 auto;
}

.product-category-intro.intro {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  padding-bottom: 1rem;
}
.product-category-intro.intro .product-category-brochure {
  padding-left: 2rem;
  border-left: 1px solid #CCC;
  text-align: center;
}
.product-category-intro.intro .product-category-brochure h2 {
  margin-top: 0;
  font-size: 1rem;
  padding-top: 1rem;
  border-top: 0;
  text-transform: uppercase;
  font-weight: 500;
}

.cs-segment {
  padding: 2rem 5%;
  clear: both;
  padding: 2em 0 0 0;
  background-repeat: no-repeat;
  background-size: cover;
  border-top: 1px solid rgba(128, 128, 128, 0.5);
  margin-top: -1px;
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}

.cs-segment-text {
  padding-left: 10%;
  grid-column: 1;
}

.cs-segment-browse {
  grid-column: 1;
}

.cs-segment-images {
  grid-column: 2;
}
.cs-segment-images img {
  display: block;
}

.product-category-header {
  background: #efefef;
  background: linear-gradient(#efefef, #fff);
  padding: 2rem 5% 0 5%;
}
.product-category-header h1 {
  margin: 0 0 0.5rem 0;
}

.product-category-comparison h2 {
  padding-left: 5%;
}

.product-category-intro {
  padding: 2rem 5%;
}

.product-category-nav {
  padding: 0 calc(5% - 0.5rem);
}

#product-lineup {
  margin: 0 5%;
}

.product-category-header {
  position: relative;
}
.product-category-header img.bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
}
.product-category-header.mh2to1 {
  aspect-ratio: 2/1;
}
.product-category-header.mh3to1 {
  aspect-ratio: 3/1;
}
.product-category-header.mh4to1 {
  aspect-ratio: 4/1;
}
.product-category-header hgroup {
  position: absolute;
  bottom: 1rem;
  color: #FFF;
  text-shadow: #000 0 2px 2px;
}
.product-category-header hgroup h1 {
  margin: 0;
}
.product-category-header hgroup h2 {
  margin-top: 0.5rem;
  margin-bottom: 0;
  font-weight: 500;
  font-size: 1.33333rem;
}

#product-comparison .comparison-table th, #product-comparison .comparison-table td {
  text-align: center;
}
#product-comparison > p.note {
  margin-left: 5%;
}

.product-category-list {
  padding: 2rem 0;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 2rem;
}
.product-category-list .category-list-item {
  position: relative;
}
.product-category-list .category-list-item h3 {
  margin-bottom: 0.5rem;
  position: relative;
}
.product-category-list .category-list-item h3 + .list-item-description p {
  margin-top: 0;
}
.product-category-list .category-list-item h3 .parent-cat {
  font-size: 0.77778rem;
  display: block;
  line-height: 1;
  font-weight: 300;
  position: absolute;
  bottom: -0.5rem;
}
.product-category-list .category-list-item.gated .list-item-img {
  border: 1px solid #999;
  padding: 1rem;
  aspect-ratio: 1;
  margin-top: 0;
  display: flex;
  align-items: center;
}
.product-category-list .category-list-item.gated .list-item-img p {
  margin: 0;
  text-align: center;
  width: 100%;
}
.product-category-list a:has(.category-list-item), .product-category-list a:link:has(.category-list-item), .product-category-list a:visited:has(.category-list-item) {
  transition: outline 0.25s ease-in-out;
  outline: 2px solid rgba(0, 0, 0, 0);
  outline-offset: 0.5rem;
}
.product-category-list a:has(.category-list-item):hover, .product-category-list a:link:has(.category-list-item):hover, .product-category-list a:visited:has(.category-list-item):hover {
  outline-color: #000;
  text-decoration: none;
}
.product-category-list a:has(.category-list-item):hover h3, .product-category-list a:link:has(.category-list-item):hover h3, .product-category-list a:visited:has(.category-list-item):hover h3 {
  text-decoration: underline;
}
.product-category-list:hover a:has(.category-list-item) img, .product-category-list:hover a:link:has(.category-list-item) img, .product-category-list:hover a:visited:has(.category-list-item) img {
  opacity: 0.8;
}
.product-category-list:hover a:hover img, .product-category-list:hover a:link:hover img, .product-category-list:hover a:visited:hover img {
  opacity: 1;
}
.product-category-list .product-thumb {
  width: 100%;
  aspect-ratio: 1/1;
  position: relative;
}
.product-category-list .product-thumb img {
  position: absolute;
  object-fit: contain;
  object-position: bottom;
  width: 100%;
  height: 100%;
}
.product-category-list p.product-new {
  color: #333;
  position: absolute;
  height: 1.25rem;
  padding: 0.25rem 0.5rem 0 0.5rem;
  line-height: 1;
  font-size: 0.77778rem;
  margin: 0;
  text-transform: uppercase;
  font-weight: 700;
  background: #FFDE00;
  transform: translateY(-0.5rem);
}

#special-feature {
  position: relative;
}

#new-literature {
  padding: 1rem 5% 2rem 5%;
  border-top: 1px solid #ccc;
  margin-top: -1px;
}
#new-literature .related-literature {
  display: flex;
  flex-wrap: wrap;
}
#new-literature .literature-item-compact {
  width: 50%;
}

#related-solutions, #more-information {
  width: 90%;
  margin-left: 5%;
  padding-bottom: 2rem;
}
#related-solutions .related-solutions, #related-solutions .more-info-list, #more-information .related-solutions, #more-information .more-info-list {
  margin: 0 -1rem;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 1rem;
}
#related-solutions .related-solutions:hover .feature img, #related-solutions .related-solutions:hover .related-box img, #related-solutions .more-info-list:hover .feature img, #related-solutions .more-info-list:hover .related-box img, #more-information .related-solutions:hover .feature img, #more-information .related-solutions:hover .related-box img, #more-information .more-info-list:hover .feature img, #more-information .more-info-list:hover .related-box img {
  opacity: 0.65;
}
#related-solutions .related-solutions:hover .feature:hover img, #related-solutions .related-solutions:hover .related-box:hover img, #related-solutions .more-info-list:hover .feature:hover img, #related-solutions .more-info-list:hover .related-box:hover img, #more-information .related-solutions:hover .feature:hover img, #more-information .related-solutions:hover .related-box:hover img, #more-information .more-info-list:hover .feature:hover img, #more-information .more-info-list:hover .related-box:hover img {
  opacity: 1;
}

#product-brochures {
  padding: 2rem 5%;
  background: #CCC;
}
#product-brochures h2 {
  margin-top: 0;
}
#product-brochures h3 {
  font-size: 1rem;
  margin-bottom: 0.5rem;
}
#product-brochures h3 a {
  color: #333;
}
#product-brochures h3 + .button {
  margin-top: 0;
}
#product-brochures h3 + .button a {
  color: #333;
}
#product-brochures h3 + .button .filesize {
  font-weight: 300;
}
#product-brochures .cse-brochures-items {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr 1fr 1fr;
}

@media (max-width: 1440px) {
  #related-solutions .related-solutions {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .product-category-list {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (max-width: 1280px) {
  #more-information .more-info-list {
    grid-template-columns: 1fr 1fr 1fr;
  }
  #product-brochures .cse-brochures-items {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 960px) {
  #new-literature .literature-item-compact {
    width: 100%;
  }
  #related-solutions .related-solutions {
    grid-template-columns: 1fr 1fr;
  }
  .product-category-list {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 640px) {
  #more-information .more-info-list {
    grid-template-columns: 1fr 1fr;
  }
  #new-literature .literature-item-compact {
    width: 100%;
    min-height: 0;
  }
  #new-literature .literature-item-compact .li-file {
    display: none;
  }
  #new-literature .literature-item-compact .li-description {
    padding-left: 0;
  }
  .product-category-list {
    grid-template-columns: 1fr;
  }
  #product-brochures .cse-brochures-items {
    grid-template-columns: 1fr;
  }
  #product-brochures .cse-brochures-items .literature-item-compact {
    min-height: 0;
  }
}
@media (max-width: 480px) {
  #related-solutions .related-solutions {
    grid-template-columns: 1fr;
  }
  #more-information .more-info-list {
    grid-template-columns: 1fr;
  }
}
.tab-nav {
  background: #CCC;
  background: linear-gradient(#ccc 65%, #bbb 100%);
  z-index: 0;
  overflow: hidden;
  width: 100%;
}
.tab-nav ul {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 calc(5% - 1rem);
  font-size: 0.88889rem;
}
.tab-nav ul li {
  list-style: none;
  display: inline-block;
  margin: 0;
  padding: 0.5rem 1rem 0 1rem;
  padding-bottom: 0.5rem;
}
.tab-nav ul li.current {
  background: #FFF;
  z-index: 0;
  box-shadow: rgb(0, 0, 0.25) 0 0 8px;
}
.tab-nav ul li.current a, .tab-nav ul li.current a:link, .tab-nav ul li.current a:visited {
  border-bottom: 2px solid #FD0;
}
.tab-nav ul a, .tab-nav ul a:link, .tab-nav ul a:visited {
  color: #333;
  padding-bottom: calc(0.5rem - 2px);
}

.submenu {
  position: absolute;
  width: 100%;
  height: calc(100vh - 176px);
  left: -100%;
  overflow: hidden;
}
.submenu.open {
  left: 0;
}
.submenu.open .inner {
  transform: translateY(0);
  transition: transform 0.25s ease;
  box-shadow: rgba(0, 0, 0, 0.25) 0 4px 4px;
}

#reglang-box {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
}
#reglang-box .menu-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.85);
}
#reglang-box .menu-inner {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  top: 50%;
  width: 90%;
  max-width: 1080px;
  background: #efefef;
  color: #333;
  padding: 2rem;
  box-shadow: rgba(0, 0, 0, 0.5) 0 10px 10px;
}
#reglang-box h2 {
  margin-top: 0;
}
#reglang-box #reglang-groups {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0 3rem;
}
#reglang-box .reglang-group {
  display: inline-block;
  width: 100%;
}
#reglang-box .reglang-group h3 {
  font-size: 1rem;
  margin: 0;
  color: #666;
  font-weight: 300;
}
#reglang-box .reglang-group ul {
  margin-top: 0.5rem;
  padding: 0;
}
#reglang-box .reglang-group li {
  list-style: none;
}
#reglang-box .reglang-group .lang-iso {
  display: inline-block;
  outline: 1px solid #333;
  color: #333;
  width: 2rem;
  text-align: center;
  margin-right: 0.5rem;
  font-size: 0.88889rem;
}
#reglang-box .reglang-group .current {
  background: #FFF;
  outline: 2px solid #fff;
}
#reglang-box .reglang-group .current a {
  color: #333;
}
#reglang-box .reglang-group .current .lang-iso {
  background: #333;
  color: #fff;
}

[v-cloak]#reglang-box {
  display: none;
}

#reglang-box.fade-enter-active, #reglang-box.fade-leave-active {
  transition: all 0.25s ease;
}
#reglang-box.fade-enter-from, #reglang-box.fade-leave-to {
  opacity: 0;
}
#reglang-box.fade-enter-to, #reglang-box.fade-leave-from {
  opacity: 1;
}

@media (min-width: 1080.01px) {
  .submenu {
    position: absolute;
    width: 100%;
    height: calc(100vh - 176px);
    left: -100%;
    overflow: hidden;
  }
  .submenu.open {
    left: 0;
  }
  .submenu.open .inner {
    transform: translateY(0);
    transition: transform 0.25s ease;
    box-shadow: rgba(0, 0, 0, 0.25) 0 4px 4px;
  }
  .submenu .inner {
    background: #f6f6f6;
    border-bottom: 1px solid #CCC;
    padding: 2rem 5%;
    transform: translateY(-100%);
    transition: transform 0.5s ease;
    color: #333;
  }
  .submenu .inner a,
  .submenu .inner a:link,
  .submenu .inner a:visited {
    color: #333;
  }
  .submenu h2 {
    font-size: 1.3333rem;
    margin: 0 0 0.75rem 0;
  }
  .submenu h3 {
    font-size: 1.22222rem;
    font-weight: 500;
    margin: 0 0 0.25rem 0;
    padding-bottom: 0.25rem;
  }
  .submenu h2 a::after,
  .submenu h2 a:link::after,
  .submenu h2 a:visited::after, .submenu h3 a::after,
  .submenu h3 a:link::after,
  .submenu h3 a:visited::after {
    content: url(/images/interface/forward-arrow-grey.svg);
    display: inline-block;
    padding-left: 8px;
    height: 6px;
    width: 12px;
    vertical-align: top;
  }
  .submenu .submenu-list h3 {
    border-bottom: 1px solid #666;
  }
  .submenu .submenu-list ul {
    padding: 0;
    margin-top: 0;
    margin-bottom: 2rem;
  }
  .submenu .submenu-list ul li {
    list-style: none;
    margin-bottom: 0;
  }
  .submenu .submenu-list ul li a,
  .submenu .submenu-list ul li a:link,
  .submenu .submenu-list ul li a:visited {
    padding: 0.25rem 0;
    display: block;
  }
  .submenu .submenu-list a:hover {
    color: #069;
  }
  #dropdown-products .inner {
    display: grid;
    gap: 0 2rem;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-areas: "heading heading heading" "light advanced other";
  }
  #dropdown-products .inner h2 {
    grid-area: heading;
  }
  #dropdown-products .inner #dp-col1 {
    grid-area: light;
  }
  #dropdown-products .inner #dp-col2 {
    grid-area: advanced;
  }
  #dropdown-products .inner #dp-col3 {
    grid-area: other;
  }
  #dropdown-applications .inner {
    display: grid;
    gap: 0 2rem;
    grid-template-columns: 2fr 1fr;
    grid-template-areas: "heading heading" "scopes other";
  }
  #dropdown-applications .inner h2 {
    grid-area: heading;
  }
  #dropdown-applications .inner #da-col1 {
    grid-area: scopes;
  }
  #dropdown-applications .inner #da-col1 ul {
    columns: 2;
    gap: 1rem;
  }
  #dropdown-applications .inner #da-col2 {
    grid-area: other;
  }
  .nav-overlap #mainnav .submenu .inner {
    background: #000;
    border-bottom: 1px solid #666;
    color: #fff;
  }
  .nav-overlap #mainnav .submenu .inner a,
  .nav-overlap #mainnav .submenu .inner a:link,
  .nav-overlap #mainnav .submenu .inner a:visited {
    color: #fff;
  }
  .nav-overlap #mainnav .submenu .inner h2 a::after,
  .nav-overlap #mainnav .submenu .inner h2 a:link::after,
  .nav-overlap #mainnav .submenu .inner h2 a:visited::after, .nav-overlap #mainnav .submenu .inner h3 a::after,
  .nav-overlap #mainnav .submenu .inner h3 a:link::after,
  .nav-overlap #mainnav .submenu .inner h3 a:visited::after {
    content: url(/images/interface/forward-arrow-white.svg);
  }
  .nav-overlap #dropdown-cro .inner .feature {
    outline: 3px solid #666;
  }
  .nav-overlap #dropdown-cro .inner .feature:hover {
    outline: 3px solid #FFF;
  }
  #dropdown-cro .inner .dropdown-cro-list {
    display: grid;
    margin: 1rem -1rem;
    gap: 1rem;
    grid-template-columns: 1fr 1fr 1fr;
  }
  #dropdown-cro .inner .feature {
    background: #222;
    outline: 3px solid #999;
  }
  #dropdown-cro .inner .feature:hover {
    outline: 3px solid #000;
  }
  #dropdown-resources #dp-col2 {
    margin-top: 2rem;
  }
  #dropdown-resources .submenu-list ul {
    margin-top: 1rem;
    display: grid;
    gap: 1rem 3rem;
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
  #dropdown-resources .submenu-list ul li h4 {
    margin: 0;
    font-size: 1.11111rem;
  }
  #dropdown-resources .submenu-list ul li p {
    font-size: 0.77778rem;
    margin: 0;
  }
}
@media (max-width: 1280px) {
  #dropdown-resources .submenu-list ul {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (max-width: 1080px) {
  .submenu:not(#reglang-box) {
    grid-column: 2/4;
    position: relative;
    width: auto;
    left: auto;
    display: none;
    color: #FFF;
  }
  .submenu:not(#reglang-box) h2 {
    font-size: 1.11111rem;
  }
  .submenu:not(#reglang-box) h2 a::after {
    content: url(/images/interface/icon_angle-right-white.svg);
    width: 0.4em;
    display: inline-block;
    margin-left: 8px;
  }
  .submenu:not(#reglang-box) h3 {
    font-size: 1rem;
    font-weight: 400;
  }
  .submenu:not(#reglang-box) h3 a::after {
    content: url(/images/interface/icon_angle-right-white.svg);
    width: 0.4em;
    display: inline-block;
    margin-left: 8px;
  }
  .submenu:not(#reglang-box) h3.showmore::after {
    position: absolute;
    content: "▸";
    display: inline-block;
    right: 8px;
  }
  .submenu:not(#reglang-box).open {
    display: block;
    position: relative;
  }
  .submenu:not(#reglang-box).open .inner {
    width: calc(50% - 1.5rem);
  }
  .submenu:not(#reglang-box) ul {
    font-weight: 300;
  }
  #dropdown-products ul, #dropdown-applications ul {
    display: none;
  }
  #dropdown-products ul.open, #dropdown-applications ul.open {
    padding-left: 0;
    margin: 0;
    display: block;
    position: absolute;
    top: 0;
    left: calc(100% + 3rem);
    width: calc(100% - 1.5rem);
  }
  #dropdown-resources h3 {
    margin-bottom: 0.5rem;
    margin-top: 1.5rem;
  }
  #dropdown-resources ul {
    margin: 0;
    padding-left: 0;
  }
  #dropdown-resources ul li {
    margin-bottom: 0.5rem;
  }
  #dropdown-resources ul li h4 {
    display: inline;
    font-size: 1rem;
    font-weight: 300;
  }
  #dropdown-resources ul li p {
    display: none;
  }
  #dropdown-cro {
    overflow: visible;
  }
  #dropdown-cro .inner > p {
    display: none;
  }
  #dropdown-cro .feature {
    margin: 1rem -1rem;
    aspect-ratio: 5/2;
  }
  #dropdown-cro .feature:hover {
    outline-color: #FFF;
  }
}
@media (max-width: 960px) {
  #dropdown-resources .submenu-list ul {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 640px) {
  #dropdown-resources .submenu-list ul {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
  #dropdown-resources .submenu-list ul li h4 {
    font-size: 1rem;
  }
  #dropdown-resources .submenu-list ul li p {
    display: none;
  }
  #reglang-box #reglang-groups {
    grid-template-columns: 1fr 1fr;
  }
  #reglang-box #reglang-groups #reglang-group1 {
    grid-column: 1;
    grid-row: 1;
  }
  #reglang-box #reglang-groups #reglang-group3 {
    grid-column: 1;
    grid-row: 2;
  }
  #reglang-box #reglang-groups #reglang-group2 {
    grid-column: 2;
    grid-row: 1/3;
  }
}
@media (max-width: 480px) {
  #reglang-box .menu-inner {
    font-size: 0.88889rem;
    padding: 1rem;
  }
  #reglang-box .menu-inner h2 {
    font-size: 1.33333rem;
  }
  #reglang-box .reglang-group .lang-iso {
    display: none;
  }
}
.nav-overlap .masthead-general {
  height: 540px;
}

.masthead-general {
  background: #efefef;
  background: linear-gradient(#efefef, #fff);
  margin: 0 auto;
  position: relative;
  height: 400px;
}
.masthead-general.no-img {
  height: auto;
  padding: 2rem 0 0 0;
}
.masthead-general.no-img hgroup, .masthead-general.no-img .raq {
  position: relative;
  bottom: auto;
  margin: 0.5rem 5% 0 5%;
}
.masthead-general.fixed-heading hgroup, .masthead-general.fixed-heading .raq {
  width: 90%;
  max-width: 1440px;
  margin: 0;
  left: 50%;
  transform: translateX(-50%);
}
.masthead-general.fixed-width {
  width: 100%;
  max-width: 1600px;
}
.masthead-general.fixed-width hgroup, .masthead-general.fixed-width .raq {
  margin: 0.5rem 5% 0 5%;
}
.masthead-general hgroup {
  margin: 0 5%;
  font-weight: 500;
  position: absolute;
  bottom: 1rem;
}
.masthead-general hgroup h1, .masthead-general hgroup h2 {
  margin: 0;
}
.masthead-general hgroup h2 {
  font-size: 1.33333rem;
}
.masthead-general hgroup + .raq {
  margin-top: 0.5rem;
}
.masthead-general:has(.masthead-bg) hgroup {
  color: #FFF;
  text-shadow: rgba(0, 0, 0, 0.8) 0 2px 2px;
}
.masthead-general .masthead-bg img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.masthead {
  position: relative;
  height: 720px;
  max-height: 65vh;
  min-height: 420px;
  border-bottom: 2px solid #666;
  background: #666;
  margin: 0 auto;
}
.masthead.no-masthead {
  height: 480px;
  background: linear-gradient(#666, #CCC);
}
.masthead img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.masthead .masthead-wrap {
  height: 100%;
  position: relative;
}
.masthead .masthead-wrap:has(iframe) {
  object-fit: cover;
  object-position: center;
  min-width: 100vw;
  height: auto;
  min-height: 100%;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

#product-header {
  position: relative;
  overflow: hidden;
}
#product-header img {
  display: block;
  min-width: 100%;
}
#product-header .product-name {
  display: grid;
  gap: 0.5rem;
  grid-template-areas: "heading heading" "raq rad";
  grid-template-columns: 1fr 1fr;
  position: absolute;
  left: 2.5%;
  bottom: 2rem;
  width: 35%;
  min-width: 320px;
  padding: 1rem 2.5%;
  max-width: 95%;
  z-index: 1;
  margin: 0;
  color: #FFF;
  background: rgba(0, 0, 0, 0.65);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  outline: 2px solid rgba(255, 255, 255, 0.5);
}
#product-header .product-name hgroup {
  max-width: 1600px;
  padding: 0;
  grid-area: heading;
}
#product-header .product-name h1 {
  text-indent: -5000px;
  display: block;
  width: auto;
  height: 80px;
  position: relative;
  margin: 0;
}
#product-header .product-name h1 .product-logo {
  position: absolute;
  object-fit: contain;
  object-position: left;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
#product-header .product-name h2 {
  font-size: 1.111111rem;
  margin: 0.5rem 0;
  font-weight: 300;
  font-family: "Roboto", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
}
#product-header .product-name.no-logo h1 {
  text-indent: 0;
  height: auto;
  font-weight: 300;
}
#product-header .raq, #product-header .rad {
  grid-area: raq;
  padding: 0;
  text-align: center;
  width: 100%;
}
#product-header .raq a, #product-header .rad a {
  width: 100%;
  display: block;
}
#product-header .rad {
  grid-area: rad;
  padding: 0;
  text-align: center;
  width: 100%;
}
#product-header .rad a {
  width: 100%;
  display: block;
}
#product-header .product-masthead-caption {
  position: absolute;
  bottom: 0.5rem;
  right: calc(5% - 1rem);
  padding: 0.5rem 1rem;
  font-size: 0.77778rem;
  color: #fff;
  background: rgba(0, 0, 0, 0.5);
  max-width: 50%;
}
#product-header .product-masthead-caption *:first-child {
  margin-top: 0;
}
#product-header .product-masthead-caption *:last-child {
  margin-bottom: 0;
}

#nbil-head hgroup {
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  padding: 1rem 2.5%;
  color: #FFF;
  background: rgba(0, 0, 0, 0.65);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  outline: 2px solid rgba(255, 255, 255, 0.5);
}
#nbil-head hgroup a {
  color: #FFF;
}
#nbil-head hgroup.haslogo img {
  max-width: 360px;
}
#nbil-head hgroup.haslogo h1, #nbil-head hgroup.haslogo h2 {
  margin: 0;
  height: 0;
  width: 0;
  overflow: hidden;
}
#nbil-head hgroup .nbil-others ul {
  padding: 0;
  margin: 0.5rem 0 0 0;
}
#nbil-head hgroup .nbil-others li {
  display: inline;
  list-style: none;
  padding: 0;
}
#nbil-head hgroup .nbil-others li::after {
  content: " • ";
}
#nbil-head hgroup .nbil-others li:last-child::after {
  content: "";
}

@media (max-width: 640px) {
  #product-header .product-name {
    grid-template-areas: "heading" "raq" "rad";
    grid-template-columns: 1fr;
  }
  #product-header .product-name h1 {
    font-size: 1.5rem;
  }
}
@media (max-width: 480px) {
  #product-header .product-name {
    width: 100%;
  }
  #product-header .product-name h1 {
    text-align: center;
  }
}
#contact-europe {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem 3rem;
}
#contact-europe .intro {
  grid-column: 1/4;
  grid-row: 1;
}
#contact-europe #contact-eu-change-region {
  grid-column: 1/4;
  grid-row: 2;
}
#contact-europe #contact-eu-details-left {
  grid-column: 1/3;
  grid-row: 3/5;
}
#contact-europe #contact-eu-direct {
  grid-column: 3;
  grid-row: 3;
}
#contact-europe #contact-eu-europe {
  grid-column: 3;
  grid-row: 4;
}
#contact-europe #contact-eu-form-entries {
  background: rgb(128, 128, 128);
  padding: 1rem;
  margin: 0 -1rem 2rem -1rem;
  color: #FFF;
}
#contact-europe #contact-eu-form-entries table {
  background: transparent;
  border-width: 0;
}
#contact-europe #contact-eu-form-entries table thead th, #contact-europe #contact-eu-form-entries table thead td, #contact-europe #contact-eu-form-entries table tbody th, #contact-europe #contact-eu-form-entries table tbody td {
  background: transparent;
  border-width: 0;
}
#contact-europe #contact-eu-crm-selector {
  margin-bottom: 1rem;
}
#contact-europe #enquiry-type {
  border: 0;
  color: #FFF;
  background: #666;
  padding: 1rem;
  margin: 0 -1rem;
}
#contact-europe #enquiry-type label {
  margin-right: 0.5rem;
}
#contact-europe .contact-eu-address {
  background: #efefef;
  padding: 1rem;
  margin: 1rem -1rem 1rem;
  box-shadow: rgba(0, 0, 0, 0.5) 0 2px 4px;
}
#contact-europe .contact-eu-address h4 {
  margin-top: 0;
}
#contact-europe .euform {
  display: none;
}
#contact-europe .euform.vis {
  display: block;
}
#contact-europe #contact-eu-region-click {
  font-weight: 500;
  cursor: pointer;
}
#contact-europe #contact-eu-region-click:hover {
  text-decoration: underline;
}

#NikonHP {
  display: none;
}

#request-info-page .contact-americas {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 2rem;
  max-width: 1440px;
  width: 90%;
  margin: 2rem auto;
}
#request-info-page .contact-americas .ri-form .intro-content {
  grid-column: 1/3;
  grid-row: 1;
  border: 1px solid #999;
  padding: 1rem;
  margin: 0 auto;
  max-width: 720px;
}
#request-info-page .contact-americas .ri-form .intro-content p:first-child {
  margin-top: 0;
}
#request-info-page .contact-americas .ri-form h2 {
  text-align: center;
}
#request-info-page .contact-americas .ri-form iframe {
  border: none;
  width: 100%;
  max-width: 720px;
  height: 1200px;
  display: block;
  margin: 0 auto;
}
#request-info-page .contact-japan iframe {
  width: calc(90% + 2rem);
  max-width: 1476px;
  display: block;
  margin: 0 auto;
}

.ri-form.aom-form .fui-row .fui-instructions {
  grid-column: 1/3;
}
.ri-form form fieldset {
  padding: 0 0 1rem 0;
  border: 0;
  margin: 0;
}
.ri-form form fieldset:has(#request-city) {
  grid-template-columns: calc(50% - 0.5rem) 2fr 1fr;
}
.ri-form form fieldset input, .ri-form form fieldset select {
  width: 100%;
  font-size: 1rem;
  padding: 0.5rem;
  font-family: "Roboto", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
}
.ri-form form fieldset label span {
  display: none;
}
.ri-form form #contact-error {
  display: none;
}
.ri-form form #ri-email-agree {
  display: block;
  background: rgba(0, 0, 0, 0.1);
  padding: 0.5rem;
}
.ri-form form #ri-email-agree #request-agree {
  padding-left: 2rem;
  position: relative;
}
.ri-form form #ri-email-agree #request-agree input {
  position: absolute;
  top: 0.25rem;
  left: 0;
}
.ri-form form #ri-email-agree #request-agree p {
  margin: 0;
}
.ri-form form #ri-email-agree #request-agree p + p {
  margin-top: 1rem;
}
.ri-form .ri-name-block fieldset {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
}
.ri-form .ri-location-block fieldset {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.5rem;
}
.ri-form .ri-location-block fieldset:first-child, .ri-form .ri-location-block fieldset:last-child {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
}
.ri-form .ri-form-signoff #request-submit {
  margin-top: 1rem;
}

.contact-corporate h2 {
  font-size: 1.33333rem;
}
.contact-corporate dl dt {
  font-size: 0.77778rem;
  text-transform: uppercase;
  color: #999;
}
.contact-corporate dl dd {
  font-size: 0.88889rem;
  padding: 0;
  margin: 0;
}
.contact-corporate dl dd + dt {
  margin-top: 1rem;
}

*[data-conditionally-hidden=true] {
  display: none;
}

.fui-alert {
  border: 2px solid #f66;
  border-radius: 4px;
  padding: 1em;
  text-align: center;
  margin-bottom: 1em;
  background: #444;
}

.fui-row {
  display: flex;
  gap: 0.5em;
  clear: both;
  width: 100%;
  margin-bottom: 1em;
}
.fui-row .fui-error input:not(.button), .fui-row .fui-error select, .fui-row input.fui-error, .fui-row select.fui-error {
  border-color: #F99;
}
.fui-row .fui-error-message {
  color: #fff;
  text-shadow: #000 0 1px 2px;
  font-size: 0.88889em;
  text-align: right;
  background: #444;
  padding: 0.25em 0.5em;
  margin-top: 0.25em;
}
.fui-row .fui-instructions {
  font-size: 0.88889em;
}
.fui-row .fui-instructions *:first-child {
  margin-top: 0;
}
.fui-row .fui-instructions *:last-child {
  margin-bottom: 1em;
}
.fui-row .fui-field {
  width: 100%;
}
.fui-row .fui-field label span.fui-required {
  display: inline-block;
  color: #F66;
  height: auto;
  margin-bottom: 0;
  text-shadow: #000 0 1px 2px;
}
.fui-row .fui-field.fui-type-agree {
  padding: 1em 1em 1em 3em;
  background: rgba(51, 51, 51, 0.2);
  position: relative;
  border-radius: 4px;
}
.fui-row .fui-field.fui-type-agree .fui-checkbox input {
  transform: scale(1.5);
}
.fui-row .fui-field.fui-type-agree legend {
  display: block;
  width: 100%;
  margin-bottom: 1rem;
}
.fui-row .fui-field.fui-type-agree span.fui-required {
  color: #F66;
  height: auto;
  margin-bottom: 0;
  text-shadow: #000 0 1px 2px;
}
.fui-row .fui-field.fui-type-agree .fui-checkbox input {
  position: absolute;
  left: 1em;
  top: 1.25em;
  width: auto;
  outline: 2px solid #333;
  border-radius: 2px;
}
.fui-row .fui-field.fui-type-agree .fui-checkbox label {
  display: inline;
}

.fui-form-container .fui-btn-center {
  text-align: center;
}
.fui-form-container .fui-submit {
  background: #FD0;
  font-size: 0.88889em;
  font-weight: 700;
  box-shadow: rgba(0, 0, 0, 0.25) 0 2px 1px;
  border: 0;
  padding: 0.5em 1em;
  margin: 1em auto;
}

.contact-form button.button, .fui-field-container button.button, .cad-form button.button {
  padding: 0.5em 1em;
  line-height: inherit;
  font-family: auto;
  float: right;
}
.contact-form fieldset, .fui-field-container fieldset, .cad-form fieldset {
  padding: 0 0 0 0;
  border: 0;
  max-width: 100%;
}
.contact-form label, .fui-field-container label, .cad-form label {
  width: 100%;
  display: inline-block;
  margin-right: 0;
}
.contact-form label a, .fui-field-container label a, .cad-form label a {
  text-decoration: underline;
}
.contact-form label span, .fui-field-container label span, .cad-form label span {
  font-size: 0.77778em;
  display: block;
  margin-bottom: 1em;
  height: 0;
  overflow: hidden;
}
.contact-form input:not(.button), .contact-form textarea, .fui-field-container input:not(.button), .fui-field-container textarea, .cad-form input:not(.button), .cad-form textarea {
  font-size: 1em;
  border: 0;
  border-bottom: 4px solid #CCC;
  padding: 0.5em;
  background: #f6f6f6;
  max-width: 100%;
  width: 100%;
}
.contact-form input:not(.button):focus, .contact-form textarea:focus, .fui-field-container input:not(.button):focus, .fui-field-container textarea:focus, .cad-form input:not(.button):focus, .cad-form textarea:focus {
  border-bottom-color: #FD0;
}
.contact-form input:not(.button)::placeholder, .contact-form textarea::placeholder, .fui-field-container input:not(.button)::placeholder, .fui-field-container textarea::placeholder, .cad-form input:not(.button)::placeholder, .cad-form textarea::placeholder {
  color: #888;
  font-style: italic;
}
.contact-form select, .fui-field-container select, .cad-form select {
  background: #f6f6f6;
  display: inline-block;
  padding: 0.5em 1.5em 0.5em 0.5em;
  font-size: 1em;
  border: 0;
  border-bottom: 4px solid #CCC;
  border-radius: 4px;
  -webkit-appearance: none;
  width: 100%;
}
.contact-form select option:first-child, .fui-field-container select option:first-child, .cad-form select option:first-child {
  color: #888;
  font-style: italic;
}
.contact-form select.fix input, .contact-form select.fix textarea, .contact-form select.fix select, .fui-field-container select.fix input, .fui-field-container select.fix textarea, .fui-field-container select.fix select, .cad-form select.fix input, .cad-form select.fix textarea, .cad-form select.fix select {
  border-color: #F99;
}
.contact-form .select-label, .contact-form .fui-field.fui-type-dropdown .fui-input-container, .fui-field-container .select-label, .fui-field-container .fui-field.fui-type-dropdown .fui-input-container, .cad-form .select-label, .cad-form .fui-field.fui-type-dropdown .fui-input-container {
  position: relative;
}
.contact-form .select-label::before, .contact-form .fui-field.fui-type-dropdown .fui-input-container::before, .fui-field-container .select-label::before, .fui-field-container .fui-field.fui-type-dropdown .fui-input-container::before, .cad-form .select-label::before, .cad-form .fui-field.fui-type-dropdown .fui-input-container::before {
  content: "⬍";
  position: absolute;
  right: 0.25em;
  top: 4px;
  z-index: 1;
  color: #999;
  font-size: 1.5em;
  pointer-events: none;
}
.contact-form .ri-form-request, .fui-field-container .ri-form-request, .cad-form .ri-form-request {
  font-size: 1em;
  display: block;
  text-align: center;
  padding: 0;
  margin: 1em 0;
}
.contact-form .ri-form-request p, .fui-field-container .ri-form-request p, .cad-form .ri-form-request p {
  margin-top: 0;
}
.contact-form .ri-form-request label, .fui-field-container .ri-form-request label, .cad-form .ri-form-request label {
  max-width: 500px;
}
.contact-form .ri-form-request input, .contact-form .ri-form-request textarea, .contact-form .ri-form-request select, .fui-field-container .ri-form-request input, .fui-field-container .ri-form-request textarea, .fui-field-container .ri-form-request select, .cad-form .ri-form-request input, .cad-form .ri-form-request textarea, .cad-form .ri-form-request select {
  margin-left: 0;
}
.contact-form .ri-form-request span, .fui-field-container .ri-form-request span, .cad-form .ri-form-request span {
  font-family: "Roboto", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
}
.contact-form .ri-form-request h3, .fui-field-container .ri-form-request h3, .cad-form .ri-form-request h3 {
  font-family: "Roboto", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  font-weight: 300;
  font-size: 1.5em;
}
.contact-form input[type=submit], .fui-field-container input[type=submit], .cad-form input[type=submit] {
  color: #333;
  text-transform: uppercase;
  font-size: 0.77778rem;
  padding: 0.5rem;
  font-weight: 500;
  background: #FFDE00;
  background: linear-gradient(#FFDE00 0%, #FFDE00 50%, #ff0 100%) repeat-x 0 0%;
  background-size: 100% 200%;
  display: inline-block;
  line-height: 1;
  box-shadow: rgba(0, 0, 0, 0.6) 0 1px 2px;
  transition: background-position 0.25s ease, box-shadow-color 0.25s ease;
  border: 0;
}
.contact-form input[type=submit]::after, .fui-field-container input[type=submit]::after, .cad-form input[type=submit]::after {
  content: none;
}
.contact-form input[type=submit]:hover, .fui-field-container input[type=submit]:hover, .cad-form input[type=submit]:hover {
  background-position: 0 100%;
  box-shadow: rgba(0, 0, 0, 0.8) 0 1px 2px;
}

.form-col {
  width: 50%;
  float: left;
}
.form-col:first-of-type {
  margin-right: 5%;
}

input.button {
  border: 0;
  padding: 0.5em 1em;
}

.review-table {
  width: 100%;
}
.review-table th {
  font-weight: 700;
}

#eu-email-form {
  width: 90%;
  max-width: 1440px;
  margin: 0 auto;
}
#eu-email-form form {
  max-width: 960px;
}

#contact-europe {
  width: 90%;
  max-width: 1440px;
  margin: 2rem auto;
}

@media (max-width: 960px) {
  #request-info-page .contact-americas {
    display: grid;
    grid-template-columns: 1fr;
  }
  #contact-europe {
    grid-template-columns: 1fr 1fr;
  }
  #contact-europe .intro {
    grid-column: 1/3;
    grid-row: 1;
  }
  #contact-europe #contact-eu-change-region {
    grid-column: 1/3;
    grid-row: 2;
  }
  #contact-europe #contact-eu-details-left {
    grid-column: 1/3;
    grid-row: 3;
  }
  #contact-europe #contact-eu-direct {
    grid-column: 1;
    grid-row: 4;
  }
  #contact-europe #contact-eu-europe {
    grid-column: 2;
    grid-row: 4;
  }
}
@media (max-width: 800px) {
  .fui-row {
    display: block;
  }
  #contact-europe {
    grid-template-columns: 1fr;
  }
  #contact-europe .intro {
    grid-column: 1;
    grid-row: 1;
  }
  #contact-europe #contact-eu-change-region {
    grid-column: 1;
    grid-row: 2;
  }
  #contact-europe #contact-eu-details-left {
    grid-column: 1;
    grid-row: 3;
  }
  #contact-europe #contact-eu-direct {
    grid-column: 1;
    grid-row: 4;
  }
  #contact-europe #contact-eu-europe {
    grid-column: 1;
    grid-row: 5;
  }
}
#nbil-intro, #imaging {
  max-width: 1600px;
  padding: 2rem 5%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem 2rem;
}
#nbil-intro hgroup, #imaging hgroup {
  grid-column: 1/3;
  grid-row: 1;
}
#nbil-intro #nbil-intro-content, #imaging #nbil-intro-content {
  grid-column: 1;
  grid-row: 2;
}
#nbil-intro #nbil-intro-content *:first-child, #imaging #nbil-intro-content *:first-child {
  margin-top: 0;
}

#nbil-apps {
  width: 100%;
  padding: 2rem 5%;
  max-width: 1600px;
  margin: 0 auto;
}
#nbil-apps #nbil-apps-list {
  display: grid;
  margin: 0 -1rem;
  gap: 1rem;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
#nbil-apps .nbil-app {
  width: 100%;
  position: relative;
  background: #333;
}
#nbil-apps .nbil-app img {
  width: 100%;
  border-radius: 2px;
  display: block;
}
#nbil-apps .nbil-app h4 {
  position: absolute;
  bottom: 0;
  left: 0;
  margin: 0;
  padding: 1rem;
  font-weight: 400;
  font-size: 1rem;
}
#nbil-apps .nbil-app h4 a {
  color: #FFF;
  text-shadow: #000 0 2px 4px;
}

#nbil-apps-list-main {
  padding: 0 5% 2rem 5%;
  max-width: 1600px;
  margin: 0 auto;
}
#nbil-apps-list-main .nbil-app {
  position: relative;
  min-height: 180px;
  padding-left: calc(180px + 1rem);
}
#nbil-apps-list-main .nbil-app h3 {
  margin-top: 0;
}
#nbil-apps-list-main .nbil-app img {
  position: absolute;
  left: 0;
  top: 0;
  background: #333;
  width: 180px;
  aspect-ratio: 1;
}

#nbil-capabilities {
  max-width: 1600px;
  width: 100%;
  padding: 2rem 5%;
  border-top: 1px solid #CCC;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem;
  background: #f6f6f6;
}
#nbil-capabilities h3 {
  margin-top: 0;
}
#nbil-capabilities ul li {
  font-size: 0.88889rem;
}

#nbil-sub-content {
  padding: 0 5% 2rem 5%;
  max-width: 1600px;
  margin: 0 auto;
}

#nbil-facility {
  width: 100%;
  padding: 2rem 5%;
  max-width: 1600px;
  margin: 0 auto;
}

#nbil-map {
  position: relative;
  display: grid;
  grid-template-columns: 240px 240px;
  grid-template-areas: "waypoint1 waypoint2 map" "waypoint3 waypoint4 map" "waypoint5 waypoint6 map";
  gap: 2rem 1rem;
}
#nbil-map #map {
  width: 100%;
  height: 100%;
  grid-area: map;
  min-height: 400px;
}
#nbil-map .nbil-waypoint:nth-last-of-type(2) {
  grid-area: waypoint2;
}

#nbil-app-images {
  background: #f6f6f6;
  width: calc(90% + 2rem);
  padding: 1rem;
  margin: 2rem auto;
  max-width: 1440px;
}
#nbil-app-images .gallery-thumb-items {
  width: 100%;
  padding-bottom: 0;
}

#nbil-contact {
  padding: 2rem;
  width: 100%;
  max-width: 960px;
  margin: 2rem auto 2rem auto;
  border: 1px solid #CCC;
}

.qa {
  margin-bottom: 2rem;
}
.qa::after {
  content: "• • •";
  display: block;
  text-align: center;
  color: #999;
  max-width: 55rem;
}

.nbil-section {
  max-width: 1600px;
  padding: 1rem 5%;
  margin: 0 auto;
}
.nbil-section h3 {
  position: relative;
  margin-top: 0;
  font-size: 1.55556rem;
  font-weight: 400;
}
.nbil-section + .nbil-section {
  border-top: 1px solid #CCC;
}

.solution-related {
  width: 90%;
  margin-left: 5%;
}
.solution-related .related-literature {
  display: flex;
  flex-wrap: wrap;
}
.solution-related .related-literature .literature-item-extra-compact {
  width: 50%;
}

#nbil-news {
  width: 90%;
  max-width: 1440px;
  margin: 0 auto;
}
#nbil-news ul {
  padding: 0;
}
#nbil-news ul li {
  list-style: none;
}

#nbil-contact {
  max-width: 800px;
  width: 90%;
  display: block;
  margin: 2rem auto;
}

.reg-AMS #nbil-contact {
  height: 1120px;
  padding: 2rem min(5%, 80px);
}

@media (max-width: 960px) {
  #nbil-apps #nbil-apps-list {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (max-width: 720px) {
  #nbil-apps #nbil-apps-list {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 640px) {
  .reg-AMS #nbil-contact {
    height: 1300px;
    width: 100%;
  }
}
@media (max-width: 480px) {
  .reg-AMS #nbil-contact {
    height: 1360px;
  }
  #nbil-apps #nbil-apps-list {
    grid-template-columns: 1fr;
  }
  #nbil-apps #nbil-apps-list .nbil-app {
    height: auto;
    min-height: 120px;
  }
  #nbil-apps #nbil-apps-list .nbil-app img {
    position: absolute;
    height: 100%;
    object-fit: cover;
  }
}
.feature, .related-box {
  width: 100%;
  max-width: 480px;
  overflow: hidden;
  aspect-ratio: 16/9;
  position: relative;
  background: #333;
  outline: 3px solid rgba(0, 0, 0, 0);
  outline-offset: 3px;
  transition: outline-color 0.25s ease-out;
}
.feature img, .related-box img {
  width: 100%;
  display: block;
}
.feature:hover, .related-box:hover {
  outline: 3px solid #000;
}
.feature:hover h3, .related-box:hover h3 {
  text-decoration: underline;
}
.feature:hover .feature-text, .related-box:hover .feature-text {
  text-decoration: none;
}

.feature-resource {
  height: 330px;
  overflow: hidden;
  position: relative;
  outline: 3px solid rgba(0, 0, 0, 0);
  outline-offset: 3px;
  transition: outline-color 0.25s ease-out;
}
.feature-resource:hover {
  outline: 3px solid #000;
}
.feature-resource:hover hgroup h3 {
  text-decoration: underline;
}
.feature-resource:hover hgroup sup, .feature-resource:hover hgroup sub {
  display: none;
}
.feature-resource img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.feature-resource hgroup {
  position: absolute;
  top: 150px;
  height: 180px;
  position: absolute;
  padding: 1rem;
  width: 100%;
}
.feature-resource hgroup::before {
  content: " ";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 200px;
  width: 100%;
  background: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 40%);
  z-index: 0;
  transition: opacity 0.25s ease-out;
  background-sizing: 100%;
}
.feature-resource hgroup h3 {
  color: #FFF;
  font-size: 1.1111rem;
  margin: 0 0 0 0;
  text-shadow: #000 0 2px 2px;
  position: relative;
  font-weight: 500;
}
.feature-resource hgroup h3::after {
  content: url(/images/interface/icon_angle-right-white.svg);
  padding-left: 8px;
}
.feature-resource hgroup h4 {
  margin: 0;
  font-size: 1rem;
  color: #FFF;
  position: relative;
  overflow: hidden;
  width: 100%;
  font-weight: 300;
  text-shadow: #000 0 2px 2px;
}
.feature-resource hgroup h4 p {
  display: inline;
  margin: 0;
}

.related-box {
  aspect-ratio: auto;
}
.related-box h3 {
  margin: 0;
  padding: 0.5rem 1rem;
  font-size: 1rem;
  font-weight: 500;
  width: 100%;
  color: #FFF;
  top: 0;
  left: 0;
}
.related-box h4 {
  background: rgba(255, 255, 255, 0.8);
  position: absolute;
  bottom: 0.5rem;
  right: 0.5rem;
  padding: 0.5rem;
  margin: 0;
  line-height: 1;
  font-size: 1rem;
  z-index: 1;
}
.related-box:hover {
  background: #000;
}

.feature h3 {
  margin: 0;
  padding: 0.5rem 1rem;
  font-size: 1rem;
  font-weight: 500;
  width: 100%;
  color: #fff;
  background: rgba(0, 0, 0, 0.65);
  position: absolute;
  top: 0;
  left: 0;
}
.feature.has-text {
  aspect-ratio: auto;
}
.feature.has-text figcaption {
  display: none;
}
.feature.has-text .feature-text {
  padding: 1rem;
  color: #fff;
  font-size: 0.88889rem;
}
.feature.has-text .feature-text *:first-child {
  margin-top: 0;
}
.feature.has-text .feature-text *:last-child {
  margin-bottom: 0;
}

.submenu .feature h3 {
  color: #FFF;
  text-shadow: #000 0 2px 0;
}

.feature-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 1rem;
}
.feature-list.i-3 {
  grid-template-columns: 1fr 1fr 1fr;
}

.feature-box {
  position: relative;
  height: auto;
  display: block;
}
.feature-box:hover {
  outline: 2px solid #000;
}
.feature-box:hover .feature-blurb {
  background: rgba(255, 255, 255, 0.95);
}
.feature-box a .feature-blurb, .feature-box a:link .feature-blurb, .feature-box a:visited .feature-blurb {
  color: #333;
}
.feature-box .feature-image {
  overflow: hidden;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
}
.feature-box .feature-image img {
  position: absolute;
  object-fit: cover;
  min-width: 100%;
  min-height: 100%;
  aspect-ratio: 1/1;
}
.feature-box .feature-blurb {
  width: 100%;
  margin-top: 200px;
  height: calc(100% - 200px);
  background: rgba(255, 255, 255, 0.85);
  padding: 1rem;
  z-index: 1;
  position: relative;
}
.feature-box .feature-blurb h3 {
  font-size: 0.77778rem;
  letter-spacing: 0.075rem;
  text-transform: uppercase;
  margin: 0 0 0.5rem;
  font-weight: 700;
}
.feature-box .feature-blurb h3 .new {
  background: #fff;
  display: inline-block;
  line-height: 1;
  padding: 0.25rem;
  margin: -0.25rem 0 0 -0.25rem;
}
.feature-box .feature-blurb p {
  margin: 0;
  display: inline-block;
  font-weight: 300;
  font-family: "Roboto", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
}

.ais-Hits-item, .feature-normal {
  background: #efefef;
  overflow: hidden;
  box-shadow: #999 0 1px 4px;
  outline: 3px solid rgba(0, 0, 0, 0);
  transition: all 0.25s ease-in-out;
}
.ais-Hits-item img, .feature-normal img {
  min-width: 100%;
}
.ais-Hits-item:hover, .feature-normal:hover {
  outline: 3px solid #000;
  background-color: #FFF;
}
.ais-Hits-item .search-result-image, .feature-normal .search-result-image {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: #CCC;
  position: relative;
}
.ais-Hits-item .search-result-image::after, .feature-normal .search-result-image::after {
  content: " ";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.ais-Hits-item .search-result-image img, .feature-normal .search-result-image img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ais-Hits-item hgroup, .feature-normal hgroup {
  padding: 1rem;
}
.ais-Hits-item hgroup sup, .ais-Hits-item hgroup sub, .feature-normal hgroup sup, .feature-normal hgroup sub {
  display: none;
}
.ais-Hits-item .resources-section-blurb, .feature-normal .resources-section-blurb {
  padding: 0 1rem 1rem 1rem;
  font-weight: 300;
}
.ais-Hits-item .resources-section-blurb *:first-child, .feature-normal .resources-section-blurb *:first-child {
  margin-top: 0;
}
.ais-Hits-item .resources-section-blurb *:last-child, .feature-normal .resources-section-blurb *:last-child {
  margin-bottom: 0;
}
.ais-Hits-item h3, .feature-normal h3 {
  font-size: 0.88889rem;
  font-weight: 400;
  text-transform: uppercase;
  margin: 0;
  color: #333;
}
.ais-Hits-item h4, .feature-normal h4 {
  font-size: 1rem;
  font-weight: 5;
  margin-top: 0.25rem;
  font-weight: 500;
  color: #333;
}
.ais-Hits-item a, .feature-normal a {
  display: block;
  height: 100%;
  width: 100%;
}
.ais-Hits-item a:hover .resources-section-blurb p, .feature-normal a:hover .resources-section-blurb p {
  text-decoration: none;
}

@media (max-width: 1280px) {
  .feature-list, .feature-list.i-3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1rem;
  }
}
@media (max-width: 960px) {
  .feature-list, .feature-list.i-3 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }
}
@media (max-width: 560px) {
  .feature-list, .feature-list.i-3 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.threekitwrap {
  max-width: 100%;
  position: relative;
}
.threekitwrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.gallery-thumb-body {
  padding: 0 5%;
}

.gallery-thumb-items {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  gap: 1rem;
  padding-bottom: 2rem;
}
.gallery-thumb-items.i4 {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
.gallery-thumb-items.i3 {
  width: 75%;
  margin: 0 auto;
  grid-template-columns: 1fr 1fr 1fr;
}
.gallery-thumb-items.i2 {
  width: 50%;
  margin: 0 auto;
  grid-template-columns: 1fr 1fr;
}
.gallery-thumb-items a {
  display: block;
}
.gallery-thumb-items img {
  border-radius: 2px;
  box-shadow: rgba(0, 0, 0, 0.5) 0 2px 2px;
  pointer-events: none;
  width: 100%;
}

#gallery-pop {
  position: fixed;
  top: 0;
  left: -100vw;
  width: 100vw;
  height: 100vh;
  max-height: 100vh;
  overflow: scroll;
  z-index: 5;
  background: rgba(16, 16, 16, 0.85);
  color: #FFF;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}
#gallery-pop.open {
  left: 0;
  opacity: 1;
  transition: opacity 0.25s ease-in-out;
}
#gallery-pop #pop-bg {
  background: #f00;
  width: 100vw;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
#gallery-pop #pop-content {
  width: 100vw;
  height: 100vh;
}
#gallery-pop #pop-content > figure {
  width: 90vw;
  height: auto;
  max-height: 90vh;
  left: 5%;
  position: absolute;
  display: grid;
  grid-template-columns: 280px 1fr;
  background: #000;
  left: 5%;
  top: 50%;
  position: absolute;
  transform: translateY(-50%);
}
#gallery-pop #pop-content > figure picture {
  grid-column: 2;
  grid-row: 1;
  max-height: 90vh;
  max-width: 90vw;
  overflow: scroll;
}
#gallery-pop #pop-content > figure picture img {
  width: 100%;
  height: auto;
  display: block;
}
#gallery-pop #pop-content > figure > figcaption {
  grid-column: 1;
  grid-row: 1;
  padding: 0 1rem;
  color: #eee;
  font-weight: 300;
}
#gallery-pop #pop-content > figure > figcaption .learnmore a {
  padding: 0 0 0 0.5em;
  outline: 0;
}
#gallery-pop #pop-content > figure > figcaption .learnmore a::after {
  content: url(/images/interface/forward-arrow-white.svg);
}
#gallery-pop #pop-content > figure > figcaption a, #gallery-pop #pop-content > figure > figcaption a:link, #gallery-pop #pop-content > figure > figcaption a:visited {
  color: #fff;
  font-weight: 500;
}
#gallery-pop #pop-content > figure > figcaption h3 {
  margin: 1rem 0 0.5rem 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.33333;
}
#gallery-pop #pop-content > figure > figcaption table {
  border: 0;
  width: auto;
}
#gallery-pop #pop-content > figure > figcaption table td, #gallery-pop #pop-content > figure > figcaption table th {
  background: none;
  padding: 0.5rem;
}
#gallery-pop #pop-content.horiz figure {
  grid-template-columns: 1fr;
  grid-template-rows: 1fr auto;
}
#gallery-pop #pop-content.horiz figure picture {
  grid-column: 1;
  grid-row: 1;
}
#gallery-pop #pop-content.horiz figure figcaption {
  grid-column: 1;
  grid-row: 2;
}
#gallery-pop #pop-close {
  color: #fff;
  background: #000;
  border: 2px solid #fff;
  width: 2rem;
  height: 2rem;
  border-radius: 1rem;
  position: absolute;
  top: 1rem;
  right: 1rem;
  font-size: 1.3333rem;
  line-height: 1;
  z-index: 3;
}
#gallery-pop #pop-previous, #gallery-pop #pop-next {
  position: absolute;
  right: 0;
  top: 50%;
  z-index: 2;
  border: 0;
  max-height: 500px;
  text-indent: -5000px;
  width: 3rem;
  cursor: pointer;
  height: 100%;
  background: rgba(0, 0, 0, 0);
  transition: all 0.25s ease-in-out;
  transform: translateY(-50%);
}
#gallery-pop #pop-previous::after, #gallery-pop #pop-next::after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: url("/images/interface/carousel-arrow-white.svg");
  display: block;
  width: 1.25rem;
  color: #FFF;
  text-indent: 0;
  transition: transform 0.25s ease-in-out;
}
#gallery-pop #pop-next:hover::after {
  transform: translate(-10%, -50%);
}
#gallery-pop #pop-previous {
  right: auto;
  left: 0;
}
#gallery-pop #pop-previous::after {
  transform: translate(-50%, -50%) scaleX(-100%);
}
#gallery-pop #pop-previous:hover::after {
  transform: translate(-90%, -50%) scaleX(-100%);
}

@media (max-width: 1280px) {
  .gallery-thumb-items {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
@media (max-width: 960px) {
  .gallery-thumb-items {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .gallery-thumb-items.i4 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (max-width: 640px) {
  .gallery-thumb-items {
    grid-template-columns: 1fr 1fr;
  }
  .gallery-thumb-items.i4 {
    grid-template-columns: 1fr 1fr;
  }
  .gallery-thumb-items.i3 {
    grid-template-columns: 1fr 1fr;
  }
}
.product-interviews {
  position: relative;
  max-width: 1600px;
  margin: 0 auto;
}
.product-interviews .foot-text.caption {
  margin: 2rem 5%;
}

.embed-items {
  display: grid;
  padding: 0 calc(5% - 1rem);
  margin: 0 auto;
  gap: 2rem 1rem;
  grid-template-columns: 1fr 1fr 1fr;
}
.embed-items:hover .embed-image {
  opacity: 0.8;
  transition: all 0.25s ease-in-out;
}
.embed-items.sp2 {
  grid-template-columns: 1fr 1fr;
}
.embed-items .embed-item {
  background: #efefef;
  overflow: hidden;
  outline: 3px solid rgba(0, 0, 0, 0);
  outline-offset: 0.25rem;
  transition: all 0.25s ease-in-out;
}
.embed-items .embed-item:hover {
  outline-color: rgb(0, 0, 0);
}
.embed-items .embed-item:hover a, .embed-items .embed-item:hover a:link, .embed-items .embed-item:hover a:visited {
  text-decoration: none;
}
.embed-items .embed-item:hover a h3, .embed-items .embed-item:hover a:link h3, .embed-items .embed-item:hover a:visited h3 {
  text-decoration: underline;
}
.embed-items .embed-item:hover a .embed-image, .embed-items .embed-item:hover a:link .embed-image, .embed-items .embed-item:hover a:visited .embed-image {
  opacity: 1;
}
.embed-items .embed-item a {
  color: #333;
  display: block;
  height: 100%;
}
.embed-items .embed-item hgroup {
  padding: 1rem 0;
  border-bottom: 1px solid #CCC;
}
.embed-items .embed-item hgroup h5, .embed-items .embed-item hgroup h3, .embed-items .embed-item hgroup h4 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}
.embed-items .embed-item hgroup h3 {
  line-height: 1.25;
  font-weight: 500;
  margin-bottom: 0.25rem;
}
.embed-items .embed-item hgroup h4 {
  font-weight: 300;
  font-size: 1.1111rem;
}
.embed-items .embed-item hgroup h5 {
  text-transform: uppercase;
  font-size: 1rem;
  font-weight: 300;
}
.embed-items .embed-item .embed-content {
  padding: 0 1rem 1rem 1rem;
}
.embed-items .embed-item .embed-image img {
  display: block;
  width: 100%;
  height: auto;
}

.foot-text.caption {
  padding: 1rem 5%;
}

.ci-content, .ail-content {
  max-width: 1600px;
  margin: 0 auto;
}

.ci-header, .ail-header {
  display: grid;
  gap: 0 2rem;
  background: #333;
  color: #FFF;
  margin: 0 2.5vw;
  grid-template-columns: 1fr 1fr;
  border-radius: 8px;
  overflow: hidden;
}
.ci-header.no-img, .ail-header.no-img {
  grid-template-columns: 1fr;
}
.ci-header.no-img .ci-header-content, .ci-header.no-img .ail-header-content, .ail-header.no-img .ci-header-content, .ail-header.no-img .ail-header-content {
  padding: 2rem 2.5vw 2rem 2.5vw;
  max-width: 55rem;
}
.ci-header .ci-header-content, .ci-header .ail-header-content, .ail-header .ci-header-content, .ail-header .ail-header-content {
  padding: 2rem 0 2rem 2.5vw;
}
.ci-header .ci-header-content h2, .ci-header .ail-header-content h2, .ail-header .ci-header-content h2, .ail-header .ail-header-content h2 {
  margin-top: 0;
}
.ci-header .ci-header-content h2 span, .ci-header .ail-header-content h2 span, .ail-header .ci-header-content h2 span, .ail-header .ail-header-content h2 span {
  font-size: 1rem;
  text-transform: uppercase;
  display: block;
}
.ci-header .ci-header-image, .ci-header .ail-header-image, .ail-header .ci-header-image, .ail-header .ail-header-image {
  background: #666;
}
.ci-header .ci-header-image img, .ci-header .ail-header-image img, .ail-header .ci-header-image img, .ail-header .ail-header-image img {
  width: 100%;
  display: block;
}
.ci-header .note, .ail-header .note {
  color: #CCC;
}

.ci-body, .ail-body {
  padding: 2rem 5vw;
}

.ail-body .article-image-block {
  display: flex;
  gap: 1rem;
  padding-bottom: 1rem;
}
.ail-body .article-image-block figure {
  width: 100%;
}
.ail-body .article-image-block:has(.caption) figure {
  width: 50%;
}
.ail-body .article-image-block .caption {
  padding: 2rem;
  background: #CCC;
  font-size: 1rem;
  width: 50%;
}
.ail-body .article-image-block .caption table {
  border: 0;
  width: 100%;
}
.ail-body .article-image-block .caption table td, .ail-body .article-image-block .caption table th {
  border: 0;
}
.ail-body .article-image-block img {
  display: block;
}

@media (max-width: 1080px) {
  .embed-items {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 960px) {
  .ci-header, .ail-header {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 720px) {
  .embed-items, .embed-items.sp2 {
    grid-template-columns: 1fr;
  }
  .ail-body .article-image-block {
    flex-wrap: wrap;
  }
  .ail-body .article-image-block figure {
    width: 100%;
  }
  .ail-body .article-image-block:has(.caption) figure {
    width: 100%;
  }
  .ail-body .article-image-block .caption {
    width: 100%;
  }
}
#selector h2 {
  margin: 2rem 5%;
}

.selector-glossary {
  font-size: 0.88889em;
  padding: 2em 0;
  clear: both;
}
.selector-glossary ul {
  column-count: 3;
  column-gap: 2em;
  padding: 0;
}
.selector-glossary h3 {
  font-family: "Roboto", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  font-size: 1em;
  margin-top: 0;
}
.selector-glossary li {
  border-bottom: 1px solid #efefef;
  list-style: none;
  position: relative;
  padding: 0.5em 0 0.5em 60px;
  display: inline-block;
  width: 100%;
  font-weight: 300;
}
.selector-glossary strong {
  position: absolute;
  top: 0.5em;
  left: 0;
  font-weight: 700;
  padding-right: 0.5em;
  display: inline-block;
  vertical-align: top;
  width: 60px;
}

.selector-main-header {
  padding: 2.5em 5% 2em 5%;
  background: #333;
  position: relative;
  clear: both;
  height: 33.3333vw;
}
.selector-main-header .raq {
  bottom: 2em;
}
.selector-main-header .pmh-bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
.selector-main-header h1 {
  font-family: "Roboto", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  font-size: 2em;
  margin: 0;
  line-height: 1;
  color: #fff;
  font-weight: 500;
  position: absolute;
  bottom: 1em;
}

.mini-compare {
  position: absolute;
  top: 8px;
  right: 1em;
  cursor: pointer;
  opacity: 1;
  transition: opacity 0.5s ease;
}
.mini-compare[disabled] {
  opacity: 0.5;
  cursor: inherit;
}

.selector-body {
  margin: 2em 5% 2em 5%;
  width: 90%;
  position: relative;
}
.selector-body .selector-compare {
  font-family: "Noto Sans", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  position: absolute;
  right: 0;
  top: 0;
  border: 0;
  padding: 0.5em 1em;
  color: #333;
  opacity: 1;
  font-size: 0.7778rem;
  line-height: 1;
  transition: all 0.5s ease;
  cursor: pointer;
  border-radius: 4px;
  background: #FFDE00;
  box-shadow: rgba(0, 0, 0, 0.5) 0 2px 2px;
}
.selector-body .selector-compare[disabled] {
  background: #efefef;
  opacity: 0.5;
  cursor: inherit;
  box-shadow: rgba(0, 0, 0, 0) 0 0 0;
}
.selector-body .selector-list-info {
  font-weight: 300;
  padding-left: 1em;
  padding-bottom: 1em;
  margin-bottom: 0;
}
.selector-body .selector-list-info .item-count {
  font-weight: 700;
}
.selector-body .selector-list {
  border-top: 1px solid #999;
}
.selector-body .selector-item {
  padding: 0;
  border-bottom: 1px solid #999;
  padding-left: 120px;
  position: relative;
  min-height: 120px;
  width: 100%;
  opacity: 1;
  transition: all 0.5s ease-in-out;
}
.selector-body .selector-item.hidden {
  opacity: 0;
  min-height: 0;
  overflow: hidden;
  height: 0;
  border: 0;
  transition: all 0.5s ease-in-out;
}
.selector-body .selector-item.selected h3 {
  background: #FD0;
}
.selector-body .selector-item h3 {
  font-size: 1.11111em;
  background: #e7e7e7;
  background: -moz-linear-gradient(top, #dddddd 0, #e7e7e7 2em);
  background: -webkit-linear-gradient(top, #dddddd 0, #e7e7e7 2em);
  background: linear-gradient(to bottom, #dddddd 0, #e7e7e7 2em);
  color: #333;
  font-weight: 500;
  padding: 0.25em 1em 0.15em 1em;
  margin: 0;
  position: relative;
  cursor: pointer;
}
.selector-body .selector-item h3 .so-material-number {
  font-weight: 300;
  font-size: 0.7em;
  color: #666;
}
.selector-body .selector-item .so-product-select {
  position: absolute;
  font-weight: 300;
  font-size: 0.75em;
  top: 0.5em;
  right: 0.5em;
  color: #fff;
  background: #999;
  line-height: 1;
  padding: 0.3em 1em 0.2em 1em;
  border-radius: 1em;
  pointer-events: none;
}
.selector-body .selector-item .so-product-image {
  position: absolute;
  left: 0;
  top: 10px;
}
.selector-body .selector-item .selector-stats {
  width: 30%;
  float: left;
  margin: 0;
  padding-bottom: 1em;
  border-collapse: collapse;
}
.selector-body .selector-item .selector-stats tr {
  width: 40%;
  display: block;
  float: left;
  border-right: 1px solid #efefef;
}
.selector-body .selector-item .selector-stats tr:last-child {
  margin-right: 0;
  border-bottom: 0;
  width: 40%;
}
.selector-body .selector-item .selector-stats tr:first-child {
  width: 20%;
}
.selector-body .selector-item .selector-stats th {
  display: block;
  width: 100%;
  text-align: center;
  margin: 0;
  border: none;
  padding: 0.25em 0.5em 0 0.5em;
}
.selector-body .selector-item .selector-stats td {
  display: block;
  width: 100%;
  padding: 0 0.5em 0.25em 0.5em;
  border: none;
  text-align: center;
  font-size: 0.88889em;
}
.selector-body .selector-item .selector-ratings {
  width: 70%;
  float: left;
  margin: 0;
  padding-bottom: 1em;
}
.selector-body .selector-item .selector-ratings tr {
  width: 12.5%;
  background: #efefef;
  display: block;
  float: left;
  border-right: 1px solid #FFF;
}
.selector-body .selector-item .selector-ratings tr:last-child {
  margin-right: 0;
  border-bottom: 0;
  border-right: 0;
}
.selector-body .selector-item .selector-ratings tr.r-, .selector-body .selector-item .selector-ratings tr.r-0 {
  opacity: 0.5;
}
.selector-body .selector-item .selector-ratings tr.r-1 {
  background: #d0e778;
}
.selector-body .selector-item .selector-ratings tr.r-2 {
  background: #c6eab0;
}
.selector-body .selector-item .selector-ratings tr.r-3, .selector-body .selector-item .selector-ratings tr.r-4 {
  background: #9fd874;
}
.selector-body .selector-item .selector-ratings th {
  display: block;
  width: 100%;
  padding: 0.25em 0.5em 0 0.5em;
  border: none;
  text-align: center;
}
.selector-body .selector-item .selector-ratings th span {
  font-size: 0.88889em;
  opacity: 0.65;
}
.selector-body .selector-item .selector-ratings td {
  display: block;
  width: 100%;
  padding: 0 0.5em 0.25em 0.5em;
  border: none;
  text-align: center;
  font-size: 0.88889em;
}
.selector-body .selector-applications {
  margin: 0;
  padding: 0.25em 0 0 0;
  clear: both;
  border-top: 1px solid #efefef;
  height: 2em;
}
.selector-body .selector-applications li {
  display: inline;
  font-weight: 300;
  font-size: 0.88889em;
  background: #f6f6f6;
  padding: 0.3em 1em 0.2em 1em;
  line-height: 1;
  white-space: nowrap;
}

.selector-filters {
  margin: 0;
  width: calc(90% + 5em);
  margin: 0 auto;
  padding: 0 0;
  height: 3em;
  background: #666;
  background: -moz-linear-gradient(top, #777 0, #555 2em);
  background: -webkit-linear-gradient(top, #777 0, #555 2em);
  background: linear-gradient(to bottom, #777 0, #555 2em);
  color: #fff;
  position: relative;
  border-radius: 4px 4px 0 0;
}
.selector-filters .selector-filter {
  padding: 0 0 0 0;
  width: 16.66667%;
  float: left;
  position: relative;
  z-index: 1;
}
.selector-filters .selector-filter:first-child {
  border-radius: 4px 0 0 0;
}
.selector-filters .selector-filter:last-of-type {
  border-radius: 0 4px 0 0;
}
.selector-filters .selector-filter:last-of-type h3 {
  border-right: 0;
}
.selector-filters .selector-filter.sf-magnification ul {
  column-count: 3;
  column-gap: 0;
}
.selector-filters .selector-filter:hover {
  background: #777;
}
.selector-filters .selector-filter:hover ul {
  left: auto;
  opacity: 1;
  transition: opacity 0.25s ease-in-out 0.25s;
}
.selector-filters h3 {
  margin: 0;
  font-size: 1em;
  padding-top: 0.75em;
  padding-left: 2.5em;
  font-family: "Roboto", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  text-shadow: #000 0 1px 2px;
  border-right: 1px solid #444;
  height: 3em;
}
.selector-filters h3::after {
  content: "+";
  position: absolute;
  top: 1em;
  right: 0.5em;
  font-size: 1em;
  line-height: 1;
  font-family: "Noto Sans", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  font-weight: 400;
  text-shadow: none;
}
.selector-filters h3 img {
  position: absolute;
  left: 0.5em;
  top: 0.75em;
}
.selector-filters ul {
  opacity: 0;
  position: absolute;
  left: -200vw;
  font-size: 0.88889em;
  font-weight: 300;
  padding: 0;
  margin: 0 0 0.5em -1px;
  border: 1px solid #555;
  border-width: 1px 0 0 1px;
  background-color: rgba(102, 102, 102, 0.95);
  min-width: 240px;
}
.selector-filters ul li {
  display: inline-block;
  list-style: none;
  padding: 0.25em 1em;
  margin-bottom: 0;
  border: 1px solid #555;
  border-width: 0 1px 1px 0;
  width: 100%;
  cursor: pointer;
}
.selector-filters ul li.zero-count {
  color: #999;
}
.selector-filters ul li:hover {
  background: #777;
}
.selector-filters ul li.selected {
  color: #333;
  background: #FFDE00;
}

.selector-comparison p.note {
  margin: 0 5%;
}
.selector-comparison p.note.ct1 {
  margin-left: 33.33333%;
}
.selector-comparison p.note.ct2 {
  margin-left: 33.33333%;
}
.selector-comparison p.note.ct3 {
  margin-left: 33.33333%;
}
.selector-comparison p.note.ct4 {
  margin-left: 20%;
}
.selector-comparison p.note.ct5 {
  margin-left: 20%;
}
.selector-comparison .intro {
  margin: 2rem 5%;
}
.selector-comparison nav {
  padding: 1em 0 0 5%;
  margin: 0;
}
.selector-comparison nav p {
  margin: 0;
}
.selector-comparison nav .go-back {
  color: #333;
}
.selector-comparison nav .go-back::before {
  content: url(/images/interface/icon_angle-right-grey.svg);
  transform: scaleX(-1);
  display: inline-block;
  padding-left: 8px;
  height: 6px;
  width: 8px;
  vertical-align: top;
}
.selector-comparison .comparison-table th, .selector-comparison .comparison-table td {
  text-align: center;
}

#selector-chosen-filters {
  background: #333;
  position: relative;
  padding: 0.5em 1em 0 1em;
  height: 2.25em;
  width: calc(90% + 5em);
  margin: 0 auto;
  border-radius: 0 0 4px 4px;
}
#selector-chosen-filters ul {
  margin: 0;
  line-height: 1;
  padding: 0 118px 0 0;
}
#selector-chosen-filters ul li {
  list-style: none;
  display: inline-block;
  background: #FFDE00;
  border-radius: 1em;
  margin: 0 0.5em 0 0;
  padding: 0.3em 2em 0.2em 1em;
  position: relative;
  font-weight: 500;
  font-size: 0.88889em;
  white-space: nowrap;
  cursor: pointer;
}
#selector-chosen-filters ul li::after {
  content: "✕";
  font-weight: 500;
  position: absolute;
  right: 0.25em;
  top: 0.25em;
  font-size: 0.75em;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  padding: 0.3em 0 0.2em 0;
  width: 1.5em;
  height: 1em;
  display: block;
  border-radius: 1em;
  text-align: center;
}
#selector-chosen-filters #selector-clear-all {
  position: absolute;
  top: 0.5em;
  right: 1em;
  border-radius: 4px;
  text-transform: uppercase;
  font-size: 0.77778em;
  padding: 0.4em 0 0.3em 0;
  text-align: center;
  width: 120px;
  background: #efefef;
  opacity: 1;
  transition: opacity 0.5s ease;
  cursor: pointer;
}
#selector-chosen-filters #selector-clear-all[disabled] {
  opacity: 0;
  cursor: inherit;
}

.selector-list.fa-as li.sa-as {
  background: #FFDE00;
}
.selector-list.fa-cl li.sa-cl {
  background: #FFDE00;
}
.selector-list.fa-clin li.sa-clin {
  background: #FFDE00;
}
.selector-list.fa-conf li.sa-conf {
  background: #FFDE00;
}
.selector-list.fa-edu li.sa-edu {
  background: #FFDE00;
}
.selector-list.fa-tra li.sa-tra {
  background: #FFDE00;
}
.selector-list.fa-multi li.sa-multi {
  background: #FFDE00;
}
.selector-list.fa-sim li.sa-sim {
  background: #FFDE00;
}
.selector-list.fa-storm li.sa-storm {
  background: #FFDE00;
}
.selector-list.fa-re li.sa-re {
  background: #FFDE00;
}
.selector-list.fa-tirf li.sa-tirf {
  background: #FFDE00;
}
.selector-list.fa-tc li.sa-tc {
  background: #FFDE00;
}
.selector-list.BF tr.sr-BF {
  box-shadow: inset #FFDE00 0 0 0 3px;
}
.selector-list.DF tr.sr-DF {
  box-shadow: inset #FFDE00 0 0 0 3px;
}
.selector-list.DIC tr.sr-DIC {
  box-shadow: inset #FFDE00 0 0 0 3px;
}
.selector-list.Fl-vis tr.sr-Fl-vis {
  box-shadow: inset #FFDE00 0 0 0 3px;
}
.selector-list.Fl-uv tr.sr-Fl-uv {
  box-shadow: inset #FFDE00 0 0 0 3px;
}
.selector-list.Fl-nir tr.sr-Fl-nir {
  box-shadow: inset #FFDE00 0 0 0 3px;
}
.selector-list.Pol tr.sr-Pol {
  box-shadow: inset #FFDE00 0 0 0 3px;
}
.selector-list.PC tr.sr-PC {
  box-shadow: inset #FFDE00 0 0 0 3px;
}

.showroom-map {
  width: 100%;
  aspect-ratio: 1.6;
  border: 1px solid #999;
}

.service-image-block:has(.showroom-map) {
  width: 100%;
}

.support-nav.tab-nav {
  width: 100%;
}
.support-nav.tab-nav ul {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 calc(5% - 1rem);
}

.support-body {
  max-width: 1600px;
  padding: 2rem 5%;
  margin: 0 auto;
}
.support-body table.discontinued-products a {
  font-weight: 500;
}
.support-body table.discontinued-products button {
  padding: 0;
  margin-bottom: 0.5rem;
}
.support-body table.discontinued-products button a {
  background: #efefef;
  transition: background-color 0.25s ease;
  cursor: pointer;
}
.support-body table.discontinued-products tr:hover {
  background: #DEF;
  transition: background-color 0.25s ease;
}
.support-body table.discontinued-products tr:hover button a {
  background: #fd0;
}
.support-body table.discontinued-products thead th {
  text-align: left;
}
.support-body table.discontinued-products thead th:first-child {
  text-align: center;
}
.support-body h3 {
  margin-top: 2rem;
}
.support-body #jpn-newsletter {
  max-width: 800px;
  width: 90%;
  margin: 0 5%;
  border: 0;
  height: 1080px;
}
.support-body #jpn-demo {
  max-width: 800px;
  width: 90%;
  margin: 0 5%;
  border: 0;
  height: 1400px;
}
.support-body .button.big-button {
  text-align: center;
  background: none;
  box-shadow: none;
  margin-top: 0;
  margin-bottom: 3em;
}
.support-body .button.big-button a {
  display: inline-block;
  background: #FD0;
  width: auto;
  box-shadow: #999 0 1px 1px;
  min-width: 300px;
  padding: 1rem;
}
.support-body .service-text-block.text-center {
  margin-top: 3rem;
}
.support-body .service-page-body {
  margin-top: 2rem;
}
.support-body .service-image-block::after {
  content: " ";
  height: 0;
  width: 100%;
  display: block;
  clear: both;
}

#support-online-demo #support-feature-3 {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
#support-online-demo #support-feature-3 h3 {
  grid-column: 1/3;
}
#support-online-demo #support-feature-3 .service-text-block.text-left, #support-online-demo #support-feature-3 .service-image-block.image-right {
  width: 100%;
  float: none;
  max-width: none;
}

.support-features {
  display: grid;
  gap: 1rem;
  width: 100%;
  grid-template-columns: 1fr 1fr 1fr;
  margin: 2rem auto;
}
.support-features .support-feature {
  width: 100%;
}
.support-features a {
  width: 100%;
  height: 100%;
  display: block;
  color: #333;
  background: #efefef;
  text-align: center;
  padding: 0.5rem 1rem;
  box-shadow: rgba(0, 0, 0, 0.25) 0 2px 2px;
}
.support-features h3 {
  font-size: 1rem;
  margin: 0;
  position: relative;
  top: 50%;
  font-weight: 500;
  font-family: "Noto Sans", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  transform: translateY(-50%);
}
.support-features h3::after {
  content: url(/images/interface/forward-arrow-grey.svg);
  display: inline-block;
  padding-left: 8px;
  height: 6px;
  width: 12px;
  vertical-align: top;
}

.where-to-service-form, .eu-wts-form {
  color: #fff;
  background: #333;
  padding: 1rem;
  margin: 0 -1rem;
  border-radius: 8px;
  box-shadow: rgba(0, 0, 0, 0.25) 0 2px 2px;
  margin-bottom: 2rem;
}
.where-to-service-form #start-over, .eu-wts-form #start-over {
  margin: 0.5rem;
  padding: 0.66667rem;
}
.where-to-service-form #start-over::before, .eu-wts-form #start-over::before {
  content: "⇤";
  margin-right: 3px;
  font-size: 1.333rem;
  line-height: 0;
  vertical-align: middle;
  display: inline-block;
  padding-bottom: 3px;
}
.where-to-service-form h2, .eu-wts-form h2 {
  margin: 0 0 0.5rem 0;
  font-weight: 300;
}
.where-to-service-form .where-to-service-fields, .eu-wts-form .where-to-service-fields {
  display: flex;
  align-items: flex-end;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.5rem;
  margin: 0 0 -0.5rem 0;
}
.where-to-service-form fieldset, .eu-wts-form fieldset {
  padding: 0;
  border: 0;
  max-width: 280px;
}
.where-to-service-form fieldset select, .eu-wts-form fieldset select {
  font-family: "Roboto", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  margin: 0.5rem 0;
  font-size: 1rem;
  padding: 0.5rem;
  border: 0;
  display: block;
  appearance: initial;
  background: #666;
  color: #FFF;
  box-shadow: rgba(0, 0, 0, 0.25) 0 2px 2px;
}
.where-to-service-form fieldset select:focus, .eu-wts-form fieldset select:focus {
  outline: 2px solid #FD0 !important;
}

.eu-wts-form fieldset {
  max-width: none;
}
.eu-wts-form .note {
  font-size: 0.77778rem;
  color: #CCC;
}

.dealer-records {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem;
  margin-bottom: 2rem;
}
.dealer-records .dealer-address {
  padding: 1rem 1rem 4rem 1rem;
  outline: 2px solid #CCC;
  position: relative;
  transition: opacity 1s ease-in-out;
}
.dealer-records .dealer-address h3 {
  margin-top: 0;
}
.dealer-records .dealer-address h4 {
  font-size: 1rem;
  margin-top: 0.5rem;
}
.dealer-records .dealer-address.auth-agent {
  background: #efefef;
}
.dealer-records .dealer-record-phone tr:has(td:empty) {
  display: none;
}
.dealer-records .dealer-record-web {
  margin: 0;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
}
.dealer-records .dealer-record-web a {
  background: #efefef;
  padding: 1rem;
  display: block;
  line-height: 1;
}

.service-page-body::after {
  content: " ";
  height: 0;
  width: 100%;
  display: block;
  clear: both;
}

h3.service-text-heading {
  clear: both;
}

.service-image-block.image-right {
  float: right;
  max-width: calc(50% - 1rem);
  margin-left: 2rem;
}
.service-image-block.img-2 .segment-wrapper {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr 1fr;
}
.service-image-block.img-3 .segment-wrapper {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr 1fr 1fr;
}

.service-page-feature::after {
  content: " ";
  height: 0;
  width: 100%;
  display: block;
  clear: both;
}

.service-text-block.text-left {
  float: left;
  max-width: calc(50% - 1rem);
}
.service-text-block.text-right {
  float: right;
  max-width: calc(50% - 1rem);
}

h3.service-text-heading {
  margin: 2rem 0 0 0;
}

#service-top {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr 360px;
}

#compatible-products-table td {
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #CCC;
}
#compatible-products-table td:first-child {
  border-left: 1px solid #CCC;
}
#compatible-products-table img {
  display: block;
  margin: 1rem auto;
}
#compatible-products-table a {
  color: #FFF;
}

.wts-records .dealer-record-contacts h4, .dealer-records .dealer-record-contacts h4 {
  font-family: "Roboto", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  font-weight: 500;
  margin-bottom: 0;
}
.wts-records .dealer-record-contacts ul, .dealer-records .dealer-record-contacts ul {
  margin: 0;
  padding: 0;
}
.wts-records .dealer-record-contacts li, .dealer-records .dealer-record-contacts li {
  list-style: none;
}
.wts-records .dealer-record-contacts li a::before, .dealer-records .dealer-record-contacts li a::before {
  content: url(/images/interface/mail.svg);
  display: inline-block;
  width: 16px;
  height: 12px;
  margin-right: 8px;
}
.wts-records .wts-record-phone th, .wts-records .dealer-record-phone th, .dealer-records .wts-record-phone th, .dealer-records .dealer-record-phone th {
  padding-right: 0.5rem;
}

.oem-content {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
.oem-content #products-intro.intro {
  grid-template-columns: 1fr 240px;
}
.oem-content #products-intro.intro > h2 {
  margin-bottom: 1rem;
}
.oem-content #products-intro.intro #oem-brochure {
  border-left: 1px solid #CCC;
  text-align: center;
}
.oem-content #products-intro.intro #oem-brochure h2 {
  margin-top: 0;
  font-size: 1rem;
  padding-top: 0;
  border-top: 0;
  text-transform: uppercase;
  font-weight: 500;
}
.oem-content #products-intro.intro #oem-brochure .button {
  width: 100%;
  max-width: 200px;
}
.oem-content #products-intro.intro .intro-main-image {
  grid-row: 2;
}
.oem-content #products-intro.intro .intro-jumpnav.jumpnav {
  grid-column: 1/4;
  margin: 0 -0.5rem;
}

@media (max-width: 960px) {
  .oem-content #products-intro.intro .intro-main-image {
    grid-column: 2;
  }
}
@media (max-width: 960px) {
  .oem-content #products-intro.intro {
    grid-template-columns: 1fr;
  }
  .oem-content #products-intro.intro .intro-main-image#oem-brochure {
    grid-column: 1;
    grid-row: 3;
    border-left: 0;
  }
  .oem-content #products-intro.intro .intro-main-image#oem-brochure img {
    display: block;
    margin: 0 auto;
  }
  .oem-content #products-intro.intro .intro-main-image#oem-brochure .button {
    clear: both;
  }
}
.intro {
  display: grid;
  gap: 1rem 2rem;
  grid-template-columns: 1fr 1fr 1fr;
}
.intro > h2 {
  font-size: 2rem;
  grid-column: 1/3;
  grid-row: 1;
  font-weight: 300;
  line-height: 1.33333;
  margin-top: 0;
  margin-bottom: 0;
}
.intro.no-img {
  grid-template-columns: 1fr;
}
.intro.no-img .intro-content {
  grid-column: 1/4;
}

.intro-content {
  grid-column: 1/3;
  grid-row: 2;
  width: 100%;
}
.intro-content *:first-child {
  margin-top: 0;
}
.intro-content figure {
  display: flex;
  gap: 1rem;
  max-width: 100%;
}
.intro-content::after {
  content: " ";
  display: block;
  width: 100%;
  height: 0;
  clear: both;
}

.article-extra {
  grid-column: 1/3;
  grid-row: 3;
  display: grid;
  gap: 1rem;
  position: relative;
}
.article-extra .article-image-block {
  display: flex;
  gap: 1rem;
}

.intro-main-image {
  grid-column: 3;
  grid-row: 2/5;
}

.intro-jumpnav {
  margin-bottom: 2rem;
  grid-column: 1/3;
  grid-row: 4;
}
.intro-jumpnav h3 {
  font-size: 0.88889rem;
  text-transform: uppercase;
  margin: 2rem 0 0.5rem 0;
  font-weight: 500;
}

#img-carousel {
  grid-column: 3;
  grid-row: 2;
  position: relative;
  display: block;
  overflow: hidden;
}
#img-carousel ul {
  width: 100%;
  background: #CCC;
  display: flex;
  padding: 0.25rem 0 0 0;
  gap: 0.5rem;
  margin: 0;
  justify-content: center;
}
#img-carousel ul li {
  list-style: none;
  display: block;
}
#img-carousel ul button {
  height: 1.5rem;
  width: 1.5rem;
  border-radius: 2px;
  box-shadow: #999 0 2px 2px;
  border: 0;
  font-family: "Roboto", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  font-size: 0.88889rem;
  background: #f6f6f6;
}
#img-carousel ul button.current {
  background: #FD0;
}
#img-carousel #img-carousel-inner {
  display: grid;
  width: 400%;
  height: auto;
  gap: 0;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  position: relative;
  transition: left 0.5s ease-in-out;
}
#img-carousel #img-carousel-inner.onImg1 {
  left: 0;
}
#img-carousel #img-carousel-inner.onImg2 {
  left: -100%;
}
#img-carousel #img-carousel-inner.onImg3 {
  left: -200%;
}
#img-carousel #img-carousel-inner.onImg4 {
  left: -300%;
}

.lit-webinar-bar, .li-related {
  grid-column: 1/4;
  grid-row: 5;
  padding: 1rem;
  margin: 1rem -1rem;
  border: 1px solid #CCC;
}
.lit-webinar-bar h3, .li-related h3 {
  font-size: 0.88889rem;
  text-transform: uppercase;
  margin: 0;
  font-weight: 500;
}
.lit-webinar-bar p.brochure-download:last-of-type, .li-related p.brochure-download:last-of-type {
  margin-bottom: 0;
}

.li-related {
  grid-column: 3/4;
  padding: 1rem;
  margin: 1rem -1rem;
  border: 1px solid #CCC;
}
.li-related h4 {
  font-size: 0.88889rem;
  text-transform: uppercase;
  display: inline;
  margin: 0;
  font-weight: 500;
}
.li-related ul {
  display: inline;
  padding-left: 0;
}
.li-related ul li {
  display: inline;
  list-style: none;
}
.li-related ul li:not(:last-child)::after {
  content: " • ";
}

.ci-intro p, .ail-intro p {
  font-weight: 300;
}
.ci-intro a, .ail-intro a {
  color: #fff;
  font-weight: 600;
}

@media (max-width: 960px) {
  .intro {
    display: grid;
    gap: 1rem 2rem;
    grid-template-columns: 1fr;
  }
  .intro > h2 {
    font-size: 2rem;
    grid-column: 1/3;
    grid-row: 1;
  }
  .intro .intro-content {
    grid-column: 1;
  }
  .intro .article-extra {
    grid-column: 1;
    grid-row: 4;
  }
  .intro .intro-main-image {
    grid-column: 1;
    grid-row: 3;
  }
  .intro .intro-jumpnav {
    grid-column: 1;
    grid-row: 5;
  }
  .intro .lit-webinar-bar, .intro .li-related {
    grid-column: 1;
    grid-row: 6;
  }
  .intro .li-related {
    grid-column: 1;
  }
}
@media (max-width: 640px) {
  .article-extra .article-image-block {
    flex-wrap: wrap;
  }
  .article-extra .article-image-block figure {
    width: 100%;
  }
}
.webinars-body {
  width: 90%;
  max-width: 1440px;
  position: relative;
  margin: 0 auto;
}

.webinar-table {
  margin: 0 -0.5rem;
}
.webinar-table th {
  text-align: left;
  padding: 1rem 0.5rem;
}
.webinar-table th h3 {
  font-size: 1rem;
  margin: 0 0 0.5rem 0;
  font-weight: 500;
}
.webinar-table th .event-speakers {
  margin-top: 0;
  font-weight: 300;
}
.webinar-table th .event-speakers strong {
  font-weight: 400;
}
.webinar-table td {
  width: 180px;
  padding: 1rem 0.5rem;
}
.webinar-table td.webinar-date {
  text-align: center;
}
.webinar-table td.webinar-date p.webinar-video-embedded, .webinar-table td.webinar-date p.webinar-video-linked {
  text-indent: -5000px;
  display: block;
  width: 100%;
  height: 20px;
  text-align: left;
  margin-top: 0.25em;
  margin-bottom: -0.25em;
}
.webinar-table td.webinar-date p.webinar-video-embedded {
  background: url(/images/embedded-video2.svg) no-repeat center 0;
}
.webinar-table td.webinar-date p.webinar-video-linked {
  background: url(/images/linked-video2.svg) no-repeat center 0;
}

.webinar-info .event-host img {
  max-height: 60px;
}

.webinar {
  padding: 2rem 0 0 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem 3rem;
}
.webinar.has-video {
  grid-template-columns: 1fr 1fr 1fr;
}
.webinar hgroup {
  grid-column: 1/4;
  grid-row: 1;
}
.webinar hgroup h3 {
  font-size: 1.66667rem;
  margin: 0;
}
.webinar hgroup .dateline {
  margin-top: 0;
}
.webinar .webinar-extra {
  grid-column: 3;
  grid-row: 2;
}
.webinar .webinar-extra .video-wrap {
  box-shadow: rgba(0, 0, 0, 0.5) 0 2px 4px;
}
.webinar .webinar-info {
  grid-column: 1/3;
  grid-row: 2;
}
.webinar .webinar-info h4:first-child {
  margin-top: 0;
}
.webinar .webinar-info .event-speakers h5 {
  margin-bottom: 0;
}
.webinar .webinar-info .event-speakers h5 + p {
  margin-top: 0;
}

.webinars-custom-image {
  max-width: 640px;
  margin-top: 2rem;
}

.webinars-custom-content iframe {
  width: 100%;
  max-width: 960px;
  border: 0;
  height: 640px;
}

@media (max-width: 1280px) {
  .webinar {
    grid-template-columns: 1fr;
  }
  .webinar.has-video {
    grid-template-columns: 1fr 1fr;
  }
  .webinar.has-video hgroup {
    grid-column: 1/3;
  }
  .webinar.has-video .webinar-extra {
    grid-column: 2;
  }
  .webinar.has-video .webinar-info {
    grid-column: 1;
  }
}
@media (max-width: 960px) {
  .webinar {
    grid-template-columns: 1fr;
  }
  .webinar.has-video {
    grid-template-columns: 1fr;
  }
  .webinar.has-video .webinar-info {
    grid-column: 1;
    grid-row: 3;
  }
  .webinar.has-video .webinar-extra {
    grid-column: 1;
    grid-row: 2;
  }
  .webinar hgroup {
    grid-column: 1;
    grid-row: 1;
  }
  .webinar .webinar-info {
    grid-column: 1;
    grid-row: 2;
  }
}
@media (max-width: 960px) {
  .webinar {
    grid-template-columns: 1fr;
  }
  .webinar hgroup {
    grid-column: 1;
  }
  .webinar .webinar-extra {
    grid-column: 1;
    grid-row: 2;
  }
  .webinar .webinar-extra .video-wrap {
    width: 100%;
  }
  .webinar .webinar-info {
    grid-row: 3;
  }
}
#product-gate {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 10;
  background: rgba(64, 64, 64, 0.9);
}
#product-gate .gate-inner {
  background: #FFF;
  width: 640px;
  max-width: 90%;
  padding: 2em;
  background: #fff;
  text-align: center;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
#product-gate button {
  cursor: pointer;
  padding: 1em 1em;
  width: 200px;
  border-radius: 4px;
  font-family: "Roboto", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  position: relative;
}
#product-gate button::after {
  content: "›";
  font-weight: 300;
  font-size: 2em;
  vertical-align: baseline;
  line-height: 1;
  position: absolute;
  top: 0.125em;
  right: 0.5em;
}
#product-gate #product-gate-yes {
  background: #fff;
  color: #333;
  border: 1px solid #666;
}
#product-gate #product-gate-no {
  background: #666;
  color: #fff;
  border: 1px solid #666;
}

#centers .jumpnav {
  width: calc(90% + 1rem);
  margin: 0 auto;
  max-width: 1458px;
}
#centers .masthead-general hgroup {
  width: 90%;
  max-width: 1440px;
  left: 45%;
  transform: translateX(-50%);
}

#imagingCentersHome-intro {
  max-width: 1440px;
  margin: 2rem auto;
  width: 90%;
}

.centers-list {
  padding: 0;
  columns: 3;
  column-gap: 3rem;
}
.centers-list li {
  list-style: none;
  margin-bottom: 1rem;
  display: inline-block;
  width: 100%;
}
.centers-list .center-type {
  font-size: 0.77778rem;
  color: #666;
}
.centers-list .center-location {
  font-size: 0.77778rem;
}

.nil-section {
  max-width: 1440px;
  margin: 0 auto;
  width: 90%;
  padding: 2rem 0;
}
.nil-section > h2 {
  margin-top: 0;
}
.nil-section + .nil-section {
  border-top: 1px solid #CCC;
}

#centers-newest, #centers-showrooms {
  margin: 0 -1rem;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem;
}
#centers-newest .centers-feature, #centers-showrooms .centers-feature {
  width: 100%;
  background: #333;
}
#centers-newest .centers-feature a, #centers-showrooms .centers-feature a {
  display: block;
  height: 100%;
}
#centers-newest .centers-feature a:hover, #centers-showrooms .centers-feature a:hover {
  outline: 3px solid #FD0;
}
#centers-newest .centers-feature hgroup, #centers-showrooms .centers-feature hgroup {
  color: #FFF;
  padding: 1rem;
}
#centers-newest .centers-feature hgroup h4, #centers-showrooms .centers-feature hgroup h4 {
  font-size: 1rem;
  font-weight: 500;
  margin: 0;
}
#centers-newest .centers-feature hgroup .center-type, #centers-showrooms .centers-feature hgroup .center-type {
  font-size: 0.77778rem;
  margin: 0;
}
#centers-newest .centers-feature hgroup .center-location, #centers-showrooms .centers-feature hgroup .center-location {
  font-size: 0.77778rem;
  margin: 0;
}
#centers-newest .centers-feature img, #centers-showrooms .centers-feature img {
  width: 100%;
  aspect-ratio: 3/1;
  height: auto;
}

#centers-showrooms .centers-feature img {
  aspect-ratio: 4/3;
}

.ambassadors-profile {
  display: grid;
  gap: 1rem 3rem;
  grid-template-columns: 1fr 1fr 1fr;
}
.ambassadors-profile h3 {
  grid-column: 1/4;
}
.ambassadors-profile h4 {
  margin-top: 0;
}
.ambassadors-profile .ambassadors-profile-blurb {
  grid-column: 2/4;
}
.ambassadors-profile .ambassadors-profile-image {
  grid-column: 1;
}

#centers-map .legend {
  padding: 0;
  display: flex;
  gap: 2rem;
}
#centers-map .legend li {
  list-style: none;
}
#centers-map .legend li * {
  vertical-align: top;
}
#centers-map #map {
  width: 100%;
  height: 540px;
}

#imaging-centers-page .product-main-header img {
  display: block;
  width: 100%;
}
#imaging-centers-page .product-main-header p {
  margin: 0 auto;
  width: 90%;
  max-width: 1440px;
}
#imaging-centers-page .product-main-header hgroup {
  background: #FD0;
  padding: 1rem 0;
  margin: 0 0 2rem 0;
}
#imaging-centers-page .product-main-header.nic hgroup {
  background: #069;
  color: #FFF;
}
#imaging-centers-page .product-main-header h1 {
  width: 90%;
  max-width: 1440px;
  margin: 0 auto;
}
#imaging-centers-page .centers {
  width: 90%;
  margin: 0 auto;
  max-width: 1440px;
}
#imaging-centers-page .center-contact {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem 3rem;
  margin: 2rem -1rem;
  max-width: 1512px;
  padding: 1rem;
  background: #f6f6f6;
  box-shadow: rgba(0, 0, 0, 0.5) 0 2px 2px;
}
#imaging-centers-page .center-contact h2 {
  margin: 0;
  grid-column: 1/4;
}
#imaging-centers-page .center-contact h3 {
  margin: 0 0 0.5rem 0;
  font-size: 0.88889rem;
  color: #666;
  border-bottom: 1px solid #CCC;
}
#imaging-centers-page .center-contact p + h3 {
  margin-top: 1rem;
}
#imaging-centers-page .center-contact address {
  font-style: normal;
}
#imaging-centers-page .center-contact p {
  margin: 0;
}
#imaging-centers-page .center-contact .center-contact-directors a::before {
  content: url(/images/interface/mail.svg);
  display: inline-block;
  width: 20px;
  height: 14px;
  vertical-align: baseline;
  margin-right: 0.33333rem;
}
#imaging-centers-page .center-contact .center-contact-website a::before {
  content: url(/images/interface/ext-arrow-grey.svg);
  display: inline-block;
  width: 14px;
  height: 14px;
  vertical-align: baseline;
  margin-right: 0.33333rem;
}

.center-products .center-item {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 3rem;
  padding-bottom: 2rem;
}
.center-products .center-item-content {
  grid-column: 2/4;
}
.center-products h3 {
  margin-top: 0;
}
.center-products .center-item-description h3 {
  font-size: 1rem;
  font-weight: 500;
}
.center-products ul {
  font-size: 0.88889rem;
}

@media (max-width: 960px) {
  #imaging-centers-page .center-contact {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  #imaging-centers-page .center-contact h2 {
    grid-column: 1/3;
  }
  #imaging-centers-page .center-contact .center-contact-directors {
    grid-row: 2;
  }
  #imaging-centers-page .center-contact .center-contact-address {
    grid-row: 2/4;
  }
  #imaging-centers-page .center-contact .center-contact-website {
    grid-row: 3;
  }
  #centers-newest, #centers-showrooms {
    grid-template-columns: 1fr 1fr;
  }
  .centers-list {
    columns: 2;
  }
  #ambassadors {
    max-width: 100%;
  }
  .ambassadors-profile {
    display: grid;
    gap: 1rem;
    position: relative;
    grid-template-columns: 100%;
  }
  .ambassadors-profile h3 {
    grid-column: 1/4;
  }
  .ambassadors-profile h4 {
    margin-top: 0;
  }
  .ambassadors-profile .ambassadors-profile-blurb {
    grid-column: 1;
  }
  .ambassadors-profile .ambassadors-profile-image {
    grid-column: 1;
  }
  .ambassadors-profile .ambassadors-profile-image figure {
    max-width: 100%;
  }
  .ambassadors-profile .ambassadors-profile-image img {
    max-width: 100%;
  }
}
@media (max-width: 720px) {
  .center-products .center-item {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .center-products .center-item-content {
    grid-column: 1;
  }
  .center-products h3 {
    margin-top: 0;
  }
  .center-products .center-item-description h3 {
    font-size: 1rem;
    font-weight: 500;
  }
  .center-products ul {
    font-size: 0.88889rem;
  }
}
@media (max-width: 640px) {
  #imaging-centers-page .center-contact {
    display: grid;
    grid-template-columns: 1fr;
  }
  #imaging-centers-page .center-contact h2 {
    grid-column: 1;
  }
  #imaging-centers-page .center-contact .center-contact-directors {
    grid-row: 2;
  }
  #imaging-centers-page .center-contact .center-contact-address {
    grid-row: 3;
  }
  #imaging-centers-page .center-contact .center-contact-website {
    grid-row: 4;
  }
  #centers-newest, #centers-showrooms {
    grid-template-columns: 1fr;
  }
  .centers-list {
    columns: 1;
  }
}
#redirect-popup {
  background-color: #CCC;
  max-height: 0;
  overflow: hidden;
  position: relative;
  transition: max-height 0.5s ease-in-out;
  background: linear-gradient(#CCC 0, #efefef 95%, #999 100%);
}
#redirect-popup .redirect-message {
  max-width: 1440px;
  padding: 1rem 0;
  width: 90%;
  margin: 0 auto;
}
#redirect-popup .redirect-message *:first-child {
  margin-top: 0;
}
#redirect-popup .redirect-message *:last-child {
  margin-bottom: 0;
}
#redirect-popup .redirect-message h3 {
  margin-bottom: 0.5rem;
}
#redirect-popup .redirect-message p {
  margin: 0.5rem 0;
}
#redirect-popup .redirect-message #geoip-continue, #redirect-popup .redirect-message #geoip-change {
  min-width: 182px;
  cursor: pointer;
}
#redirect-popup .redirect-message #geoip-continue {
  display: inline-block;
  color: #333;
  text-transform: uppercase;
  font-size: 0.77778rem;
  padding: 0.5rem;
  font-weight: 500;
  background: #FFDE00;
  background: linear-gradient(#FFDE00 0%, #FFDE00 50%, #ff0 100%) repeat-x 0 0%;
  background-size: 100% 200%;
  display: inline-block;
  line-height: 1;
  box-shadow: rgba(0, 0, 0, 0.6) 0 1px 2px;
  transition: background-position 0.25s ease, box-shadow-color 0.25s ease;
  border: 0;
}
#redirect-popup .redirect-message #geoip-continue::after {
  content: none;
}
#redirect-popup .redirect-message #geoip-continue:hover {
  background-position: 0 100%;
  box-shadow: rgba(0, 0, 0, 0.8) 0 1px 2px;
}
#redirect-popup .redirect-message #geoip-change {
  display: inline-block;
  color: #FD0;
  text-transform: uppercase;
  font-size: 0.77778rem;
  padding: 0.5rem;
  font-weight: 500;
  background: #333;
  background: linear-gradient(#000 0%, #000 50%, #666 100%) repeat-x 0 0%;
  background-size: 100% 200%;
  display: inline-block;
  line-height: 1;
  outline: 2px solid #FFDE00;
  outline-offset: -2px;
  box-shadow: rgba(0, 0, 0, 0.6) 0 1px 2px;
  transition: background-position 0.25s ease, box-shadow-color 0.25s ease;
  border: 0;
}
#redirect-popup .redirect-message #geoip-change:hover {
  background-position: 0 100%;
  box-shadow: rgba(0, 0, 0, 0.8) 0 1px 2px;
}
#redirect-popup .redirect-message #geoip-change:hover::after {
  content: none;
}
#redirect-popup .redirect-message #geoip-region {
  display: inline-block;
  appearance: none;
  font-size: 0.77778rem;
  padding: 0.5rem 2rem 0.5rem 0.5rem;
  background: #FFF url(/images/select-indicator.svg) no-repeat right center;
  line-height: 1;
  border-radius: 0;
  border: 0;
  box-shadow: inset #999 0 2px 2px;
}

.loaded #redirect-popup {
  height: auto;
  max-height: 15em;
}
.loaded #redirect-popup:has(.closed) {
  max-height: 0;
}

.section-about {
  width: 100%;
}
.section-about .jumpnav {
  max-width: 1600px;
  padding: 0 calc(5% - 0.5rem);
  margin: 0 auto;
}
.section-about #hpnews {
  max-width: 1600px;
  margin: 0 auto;
}

.about-features {
  width: 90%;
  max-width: 1440px;
  margin: 2rem auto;
}
.about-features .page-section {
  padding-bottom: 2rem;
}
.about-features .page-section + .page-section {
  border-top: 1px solid #999;
}

#careers-intro {
  width: 90%;
  max-width: 1440px;
  margin: 2rem auto;
}

.about-page-body {
  max-width: 1440px;
  width: 90%;
  margin: 2rem auto;
}
.about-page-body h2 {
  max-width: 55rem;
}

.standard-body {
  max-width: 1440px;
  margin: 2rem auto;
  width: 90%;
}
.standard-body #legal-notice {
  outline: 2px solid #ccc;
  outline-offset: calc(1rem - 2px);
  margin: 3rem 0;
  max-width: 55rem;
}

#nestedAccordiontou .touSection h2 {
  border-top: 1px solid #999;
  margin: 0 0 0 0;
  padding: 1rem 0;
  position: relative;
  cursor: pointer;
  max-width: 55rem;
  font-size: 1.33333rem;
}
#nestedAccordiontou .touSection h2::after {
  content: "-";
  font-weight: 300;
  position: absolute;
  right: 1rem;
  top: 0.75rem;
  line-height: 1;
}
#nestedAccordiontou .touSection div {
  max-height: 800px;
  overflow: hidden;
  transition: max-height 1s ease-out;
}
#nestedAccordiontou .touSection.closed h2::after {
  content: "+";
}
#nestedAccordiontou .touSection.closed div {
  max-height: 0;
}

.key-feature {
  width: 100%;
  padding: 2rem 5%;
}
.key-feature.content-right, .key-feature.content-left, .key-feature.content-center {
  display: grid;
  gap: 1rem 2rem;
  grid-template-columns: 1fr 1fr;
}
.key-feature.content-right {
  grid-auto-flow: dense;
}
.key-feature.content-right .product-feature-content {
  grid-column: 2;
}
.key-feature.content-right .product-feature-content.no-img {
  grid-column: 1/3;
}
.key-feature.content-right .product-media {
  grid-column: 1;
}
.key-feature.content-left .product-feature-content {
  grid-column: 1;
}
.key-feature.content-left .product-feature-content.no-img {
  grid-column: 1/3;
}
.key-feature.content-left .product-media {
  grid-column: 2;
}
.key-feature.content-center {
  grid-template-columns: 1fr;
}
.key-feature h3 {
  position: relative;
  margin-top: 0;
  font-size: 1.55556rem;
  font-weight: 500;
}
.key-feature h4 {
  font-weight: 600;
}

@media (max-width: 840px) {
  .key-feature.content-right, .key-feature.content-left {
    grid-template-columns: 1fr;
  }
  .key-feature.content-right {
    grid-auto-flow: dense;
  }
  .key-feature.content-right .product-feature-content {
    grid-column: 1;
  }
  .key-feature.content-right .product-media {
    grid-column: 1;
  }
  .key-feature.content-left .product-feature-content {
    grid-column: 1;
  }
  .key-feature.content-left .product-media {
    grid-column: 1;
  }
  .key-feature.content-center .product-media.img-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 640px) {
  .key-feature.content-left .product-media.img-2, .key-feature.content-left .product-media.img-3, .key-feature.content-right .product-media.img-2, .key-feature.content-right .product-media.img-3, .key-feature.content-center .product-media.img-2, .key-feature.content-center .product-media.img-3 {
    grid-template-columns: 1fr;
  }
  .key-feature.content-left .product-media.img-2 figure, .key-feature.content-left .product-media.img-3 figure, .key-feature.content-right .product-media.img-2 figure, .key-feature.content-right .product-media.img-3 figure, .key-feature.content-center .product-media.img-2 figure, .key-feature.content-center .product-media.img-3 figure {
    grid-column: 1;
  }
  .key-feature.content-left .product-media.img-4, .key-feature.content-left .product-media.img-5, .key-feature.content-left .product-media.img-6, .key-feature.content-right .product-media.img-4, .key-feature.content-right .product-media.img-5, .key-feature.content-right .product-media.img-6, .key-feature.content-center .product-media.img-4, .key-feature.content-center .product-media.img-5, .key-feature.content-center .product-media.img-6 {
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: auto;
  }
  .key-feature.content-left .product-media.img-4 figure:nth-child(odd), .key-feature.content-left .product-media.img-5 figure:nth-child(odd), .key-feature.content-left .product-media.img-6 figure:nth-child(odd), .key-feature.content-right .product-media.img-4 figure:nth-child(odd), .key-feature.content-right .product-media.img-5 figure:nth-child(odd), .key-feature.content-right .product-media.img-6 figure:nth-child(odd), .key-feature.content-center .product-media.img-4 figure:nth-child(odd), .key-feature.content-center .product-media.img-5 figure:nth-child(odd), .key-feature.content-center .product-media.img-6 figure:nth-child(odd) {
    grid-column: 1;
  }
  .key-feature.content-left .product-media.img-4 figure:nth-child(even), .key-feature.content-left .product-media.img-5 figure:nth-child(even), .key-feature.content-left .product-media.img-6 figure:nth-child(even), .key-feature.content-right .product-media.img-4 figure:nth-child(even), .key-feature.content-right .product-media.img-5 figure:nth-child(even), .key-feature.content-right .product-media.img-6 figure:nth-child(even), .key-feature.content-center .product-media.img-4 figure:nth-child(even), .key-feature.content-center .product-media.img-5 figure:nth-child(even), .key-feature.content-center .product-media.img-6 figure:nth-child(even) {
    grid-column: 2;
  }
}
.img-block.video-block {
  width: 100%;
}

.article-image-block.image-right {
  float: right;
  margin-left: 2rem;
}

.article-image-block.image-left {
  float: left;
  margin-right: 2rem;
}

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