/*
 * Copyright 2020 Adobe. All rights reserved.
 * This file is licensed to you under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License. You may obtain a copy
 * of the License at http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by  applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
 * OF ANY KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 */

/* stylelint-disable no-descending-specificity */
@font-face {
  font-family: "Proxima Nova Regular Fallback";
  font-style: normal;
  font-weight: 400;
  src: local("Arial");
  ascent-override: 79.64%;
  descent-override: 21.17%;
  line-gap-override: 0%;
  size-adjust: 99.19%;
}

@font-face {
  font-family: "Proxima Nova ExtraBold Fallback";
  font-style: normal;
  font-weight: 800;
  src: local("Arial");
  ascent-override: 75.77%;
  descent-override: 20.14%;
  line-gap-override: 0%;
  size-adjust: 104.26%;
}

@font-face {
  font-family: "Proxima Nova Light Fallback";
  font-style: normal;
  font-weight: 300;
  src: local("Arial");
  ascent-override: 80.85%;
  descent-override: 21.49%;
  line-gap-override: 0%;
  size-adjust: 97.72%;
}

/* stylelint-disable */
/* Translations classes from One Link */
.OneLinkShow_jp,
main .section.OneLinkShow_jp.columns-2,
.OneLinkShow_de,
main .section.OneLinkShow_de.columns-2,
.OneLinkShow_fr,
main .section.OneLinkShow_fr.columns-2,
.OneLinkShow_ko,
main .section.OneLinkShow_ko.columns-2,
.OneLinkShow_it,
main .section.OneLinkShow_it.columns-2,
.OneLinkShow_es,
main .section.OneLinkShow_es.columns-2,
.OneLinkShow_zh,
main .section.OneLinkShow_zh.columns-2 {
  display: none;
}

/* Will be hidden on translated pages */
.OneLinkHide {
  display: block;
}

/* stylelint-enable */

:root {
  /* colors */
  --text-color: #34393d;
  --text-blue: #008da9;
  --text-dark-gray: #333;
  --text-electric-blue: #007bc4;
  --text-gray2: #606a6c;
  --text-gray: #6a747c;
  --text-green: #6eb43f;
  --text-light-gray: #adb3b7;
  --text-orange: #ee7624;
  --text-white: #fff;
  --heading-color: #00758d;
  --heading-color-blue: #038296;
  --link-color: #337ab7;
  --link-hover-color: #0066a4;
  --background-color: #fff;
  --background-color-blue: #0066a4;
  --background-color-green: #6eb43f;
  --overlay-background-color: #eee;
  --highlight-background-color: #ccc;
  --button-color: #fff;
  --button-hover-color: #0066a4;
  --button-bg-color: #008da9;
  --button-bg-hover-color: #fff;
  --button-secondary-color: #038296;
  --button-secondary-border-color: #4c9eaf;
  --button-secondary-hover-color: #0066a4;
  --button-secondary-bg-color: #038296;
  --button-secondary-bg-hover-color: #fff;
  --grey-background-color: #f0f1f2;
  --dark-gray-background-color: #5b6670;
  --black-background-color: #000;
  --light-gray-background-color: #f3f3f3;
  --light-gray-background-color2: #f2f2f2;
  --light-border-color-gray: #ddd;
  --dark-border-color-gray: #adb3b7;
  --orange-background-color: #ee7624;
  --border-color-gray: #ababab;
  --border-color-green: #6eb43f;
  --header-color-orange: #ee7624;
  --header-mega-menu-border-color: #ffffff80;
  --header-mega-menu-font-color: #ffffffb2;
  --header-mega-menu-product-cards-background-color: #161e2d;
  --header-mega-menu-green: #6eb43f;
  --header-actionable-submenu-text-color: #e6e6e6;
  --accordion-dark-gray-text-color: #454545;
  --accordion-light-gray-border-color: #c5c5c5;
  --accordion-light-gray-background-color: #f6f6f6;
  --accordion-color-white: #fff;
  --carousel-slider-background-color: #b3d8e0;
  --blog-gradient: linear-gradient(90deg, #1591a4 0, #2e9f79 50%, #61b249 100%);
  --blog-gradient-left: linear-gradient(to left, #1591a4 0, #2e9f79 50%, #61b249 100%);

  /* fonts */
  --ff-proxima-regular: "Proxima Nova Regular", "Proxima Nova Regular Fallback", "helvetica neue", helvetica, arial,
    sans-serif;
  --ff-proxima-xbold: "Proxima Nova ExtraBold", "Proxima Nova ExtraBold Fallback", "helvetica neue", helvetica, arial,
    sans-serif;
  --ff-proxima-light: "Proxima Nova Light", "Proxima Nova Light Fallback", "helvetica neue", helvetica, arial,
    sans-serif;
  --fixed-font-family: menlo, monaco, consolas, "courier new", monospace;

  /* font size */
  --heading-font-size-xxl: 36px;
  --heading-font-size-xl: 30px;
  --heading-font-size-l: 24px;
  --heading-font-size-m: 18px;
  --heading-font-size-s: 14px;
  --heading-font-size-xs: 12px;
  --body-font-size-xl: 26px;
  --body-font-size-l: 22px;
  --body-font-size-m: 18px;
  --body-font-size-s: 16px;
  --body-font-size-xs: 14px;
  --list-heading-font-size-l: 24px;
  --list-font-size-l: 20px;
  --list-font-size-m: 18px;
  --list-font-size-s: 14px;

  /* nav height */
  --nav-height: 170px;
  --nav-height-mobile: 70px;

  /* section > div width */
  --section-div-width: 1170px;
}

@media (max-width: 1200px) {
  :root {
    --section-div-width: 970px;
  }
}

@media (max-width: 991px) {
  :root {
    --section-div-width: 750px;
  }
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

@media screen and (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

header {
  height: var(--nav-height);
}

@media (max-width: 991px) {
  header {
    height: var(--nav-height-mobile);
  }
}

body {
  font-size: var(--body-font-size-m);
  margin: 0;
  font-family: var(--ff-proxima-regular);
  line-height: 1.33;
  color: var(--text-color);
  background-color: var(--background-color);
  display: none;
  overflow-x: hidden;
}

.background-gray main {
  background-color: var(--grey-background-color);
}

body.appear {
  display: unset;
}

/* SCREEN READER TEXT */
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/* progressive section appearance */
main .section[data-section-status="loading"],
main .section[data-section-status="initialized"],
main .section[aria-hidden="true"] {
  display: none !important;
  visibility: hidden !important;
}

body.no-scroll {
  overflow: hidden;
  padding-right: 17px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: inherit;
  line-height: 1.1;
  font-weight: 100;
  margin-top: 0;
  scroll-margin: calc(var(--nav-height) + 1em);
}

h1,
h2 {
  font-family: var(--ff-proxima-light);
}

h3,
h4,
h5,
h6 {
  font-family: var(--ff-proxima-regular);
}

h1 {
  font-size: var(--heading-font-size-xxl);
}

h2 {
  font-size: var(--heading-font-size-xl);
}

@media only screen and (max-width: 991px) {
  h2 {
    margin-top: 0;
    margin-bottom: 0;
  }
}

h3 {
  font-size: var(--heading-font-size-l);
}

h2,
h3 {
  margin-block-start: 0;
  margin-block-end: 0;
  margin-top: 20px;
  margin-bottom: 10px;
}

h4 {
  font-size: var(--heading-font-size-m);
}

h5 {
  font-size: var(--heading-font-size-s);
}

h6 {
  font-size: var(--heading-font-size-xs);
}

p,
dl,
ol,
ul,
pre,
blockquote {
  margin-top: 1em;
  margin-bottom: 1em;
}

ul ul {
  margin-top: 0;
}

p:first-child {
  margin-top: 0;
}

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

a:any-link {
  color: var(--link-color);
  text-decoration: none;
}

a:hover {
  color: var(--link-hover-color);
}

a i.fa {
  margin-left: 5px;
}

a i.fa.fa-external-link {
  position: relative;
  top: -5px;
  font-size: 13px;
  margin-left: 2px;
  color: var(--link-color);
}

code,
pre,
samp {
  font-family: var(--fixed-font-family);
  font-size: var(--body-font-size-s);
}

code,
samp {
  padding: 0.125em;
}

pre {
  overflow: scroll;
}

strong {
  font-family: var(--ff-proxima-xbold);
}

em {
  font-style: italic;
}

em strong {
  font-family: var(--ff-proxima-regular);
  font-weight: 700;
}

.text-caption {
  margin: 15px 0 25px;
  font-size: var(--body-font-size-xs);
  display: block;
  color: var(--text-gray);
  font-style: italic;
}

iframe {
  border: 0;
  width: 100%;
}

/* video player styles and overlays */
.video-wrapper {
  margin: 40px auto;
  max-width: 700px;
}

p.video-title {
  font-size: 14px;
  font-style: italic;
  color: var(--text-color);
  font-family: var(--ff-proxima-regular);
  margin-bottom: 20px;
  margin-top: 15px;
  background-color: var(--background-color);
  font-weight: 400;
  text-align: center;
}

@media only screen and (min-width: 768px) {
  .vidyard-close-container {
    top: 50% !important;
    left: 50%;
    margin-left: calc(680px / 2);
    margin-top: calc(-426px / 2);
  }

  .vidyard-close-container:focus {
    outline: none !important;
  }
}

.vidyard-close-x {
  cursor: pointer;
  background-color: rgb(0 0 0 / 50%);
  padding: 10px;
  border-radius: 50%;
  transform: rotate(0deg);
  transition: all 0.3s ease-in-out;
}

.vidyard-close-x:hover {
  transform: rotate(90deg);
}

/* buttons */
a.button:any-link,
button {
  box-sizing: border-box;
  font-family: var(--ff-proxima-regular);
  font-weight: 400;
  font-size: var(--body-font-size-m);
  color: var(--link-color);
  line-height: 18px;
  display: inline-block;
  border: 0;
  border-radius: 0;
  transition: all 0.2s;
  min-width: 140px;
  position: relative;
  height: auto;
  padding: 15px 18px 16px;
  margin-bottom: 0;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
}

a.button:any-link:has(span.icon),
button:has(span.icon) {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

a.button:any-link > span.icon,
button > span.icon {
  line-height: 0;
}

a.button .fa,
a.button i.fa {
  padding: 0 0.25rem;
  color: inherit;
}

a.button:hover,
a.button:focus,
button:hover,
button:focus {
  cursor: pointer;
  color: var(--link-hover-color);
}

button:disabled,
button:disabled:hover {
  background-color: var(--overlay-background-color);
  cursor: unset;
}

a.button.primary,
button.primary {
  color: var(--button-color);
  background-color: var(--button-bg-color);
  border: 0;
  white-space: break-spaces;
  padding: 14px 18px;
  line-height: 21px;
}

.button-container:has(+ .button-container) a.button.primary {
  margin-bottom: 0;
}

a.button.primary:hover,
a.button.primary:focus,
button.primary:hover,
button.primary:focus {
  color: var(--button-hover-color);
  background-color: var(--button-bg-hover-color);
  box-shadow: 0 0 10px 1px rgb(0 0 0 / 20%);
}

a.button.primary:hover .button-border {
  display: block;
  width: 50%;
  margin-bottom: 0;
  position: absolute;
  margin-left: 0;
  height: 4px;
  background: var(--button-hover-color);
  left: 25%;
  bottom: -5px;
}

a.button.secondary,
button.secondary {
  font-style: normal;
  border: 2px solid var(--button-secondary-border-color);
  color: var(--button-secondary-color);
}

a.button.secondary:hover,
a.button.secondary:focus,
button.secondary:hover,
button.secondary:focus {
  color: var(--button-secondary-hover-color);
  background-color: var(--button-secondary-bg-hover-color);
  box-shadow: 0 0 10px 1px rgb(0 0 0 / 20%);
}

main input:not([type='radio'], [type='checkbox']),
main textarea,
main select {
  display: block;
  padding: 5px 15px;
  box-sizing: border-box;
  background-color: var(--background-color);
  border: 1px solid #bebebe;
  border-radius: 0;
  box-shadow: none;
  color: #565656;
  font-size: 15px;
  height: 40px;
  line-height: 1.4286;
  outline: none;
  width: 100% !important;
  max-width: 100% !important;
  font-family: inherit;
}

main textarea {
  height: 100px;
}

main pre {
  background-color: var(--overlay-background-color);
  padding: 1em;
  border-radius: 0.25em;
  overflow-x: auto;
  white-space: pre;
}

main blockquote {
  font-style: italic;
  margin: 3rem;
  text-indent: -1rem;
}

main blockquote p::before {
  content: "“";
  line-height: 0;
}

main blockquote p::after {
  content: "”";
  line-height: 0;
}

hr {
  margin-top: 1.5em;
  margin-bottom: 1.5em;
  border: 0;
  border-bottom: 1px solid var(--overlay-background-color);
}

main img,
main video {
  max-width: 100%;
  width: auto;
  height: auto;
}

main .breadcrumbs-wrapper {
  height: 86px;
}

main .section {
  padding-top: 50px;
  padding-bottom: 50px;
}

main .section > div {
  margin: 0 auto;
  padding: 0 15px;
}

main .section.buttons-in-row {
  padding-top: 0;
  padding-bottom: 0;
}

main .section.buttons-in-row > div {
  padding: 0;
}

@media (max-width: 991px) {
  main .section {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  main .section .default-content-wrapper {
    padding-left: 15px;
    padding-right: 15px;
  }
}

@media (max-width: 767px) {
  main .section.wavecarousel {
    padding-top: 200px;
  }
}

/* Marked as !important as these should not get overriden */
main .section.hero-container,
main .section.hero-advanced-container,
main .section.page-tabs-container,
main .section.html-snippet-container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

main .section > .featured-posts-wrapper {
  padding-top: 40px;
}

main .section.columns-2 {
  display: grid;
  margin: 0 auto;
}

main .section.columns-2 > div {
  width: 100%;
  padding: 0 15px;
}

@media only screen and (max-width: 390px) {
  :root {
    --heading-font-size-xxl: 30px;
    --heading-font-size-xl: 30px;
  }
}

@media only screen and (max-width: 767px) {
  :root {
    --body-font-size-l: 18px;
    --body-font-size-m: 14px;
    --body-font-size-s: 13px;
    --body-font-size-xs: 12px;
  }

  a.button:any-link,
  button {
    font-size: var(--body-font-size-xs);
    padding: 8px 12px;
    width: 100%;
    max-width: 200px;
  }

  main .breadcrumbs-wrapper {
    height: 30px;
  }

  main .section.columns-2 {
    padding: 0;
  }
}

@media only screen and (min-width: 768px) {
  :root {
    --heading-font-size-xxl: 70px;
    --heading-font-size-xl: 70px;
  }

  main .section > div {
    width: 750px;
  }

  main .section.columns-2 {
    grid-template-columns: 1fr;
    padding-left: calc((100vw - 750px) / 2);
    padding-right: calc((100vw - 750px) / 2);
  }

  main .section.columns-2.layout-33-66 {
    grid-template-columns: 33fr 66fr;
  }

  main .section.background-molecules .columns.columns-2-cols > div {
    align-items: flex-start;
  }
}

@media (min-width: 992px) {
  main .section > div {
    width: 970px;
  }

  main .section.columns-2 {
    grid-template-columns: 1fr 1fr;
    padding-left: calc((100vw - 970px) / 2);
    padding-right: calc((100vw - 970px) / 2);
  }
}

@media (min-width: 1200px) {
  main .section > div {
    width: 1170px;
  }

  main .section.columns-2 {
    grid-template-columns: 1fr 1fr;
    padding-left: calc((100vw - 1170px) / 2);
    padding-right: calc((100vw - 1170px) / 2);
  }
}

main .section.highlight {
  background-color: var(--highlight-background-color);
}

main .section.background-grey + .section.wave,
main .section.background-grey-top-half,
main .section.background-grey-bottom-half {
  position: relative;
}

main .section.background-grey + .section.wave {
  margin-bottom: 50px;
}

main .section.background-grey,
main .section.background-grey + .section.wave:not(.background-grey-top-half, .bluegreen) {
  background-color: var(--grey-background-color);
  margin-top: 0;
}

main .section.background-grey-top-half::before,
main .section.background-grey-bottom-half::before,
main .section.background-grey + .section.wave::before {
  content: "";
  background-color: var(--grey-background-color);
  position: absolute;
  left: 0;
  height: 200px;
  width: 100%;
  z-index: -1;
  margin-top: -50px;
}

main .section.background-grey-top-half::before,
main .section.background-grey + .section.wave::before {
  top: 0;
}

main .section.background-grey-bottom-half::before {
  bottom: 0;
}

@media only screen and (max-width: 991px) {
  main .section.background-molecules {
    background-size: auto 50px;
    padding-top: 50px;
  }
}

main .section.full-width .default-content-wrapper,
main .section.full-width .html-snippet-wrapper {
  width: auto;
  padding-left: 0;
  padding-right: 0;
}

main .section.full-width img {
  width: 100%;
}

/* nav */
nav {
  display: block;
}

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

ul.keyword-list li {
  display: inline-block;
  margin-right: 10px;
  position: relative;
  font-size: 18px;
  vertical-align: middle;
}

ul.keyword-list li:not(:last-of-type)::after {
  content: "|";
  display: inline-block;
  margin-left: 10px;
}

/* errors */

main.error .section .hero-wrapper {
  padding: 0;
}

main.error .section > div {
  margin: 0 auto;
  padding: 15px 15px 0;
}

main .section.horizontal-line > div:first-of-type {
  border-top: 1px solid var(--highlight-background-color);
  padding-top: 45px;
}

main .section.horizontal-line {
  padding-top: 0;
}

/* news and publication */
main .event-container {
  --heading-font-size-xxl: 36px;
  --heading-font-size-xl: 30px;
  --heading-font-size-l: 20px;

  padding: 0 15px;
}

main .event-container::after {
  width: 100%;
}

@media (max-width: 767px) {
  main .event-container p {
    --body-font-size-m: 14px;
    --body-font-size-s: 13px;
    --body-font-size-xs: 12px;
  }
}

main .event-container p {
  margin-top: 0;
  margin-bottom: 10px;
  padding: 0;
}

main .event-title,
main .event-container .event-title {
  line-height: 1;
  font-weight: 100;
  padding-top: 40px;
  border-bottom: 1px solid var(--dark-border-color-gray);
  padding-bottom: 20px;
  width: 100%;
}

main .event-container strong {
  font-weight: 700;
}

main .section.tabs[aria-labelledby="order"] strong {
  font-family: var(--ff-proxima-regular);
}

main .section.tabs[aria-labelledby="order"] .default-content-wrapper img {
  display: block;
  margin: 0 auto;
}

.section.title-big > div.default-content-wrapper > h3 {
  font-size: 36px;
}

.section.small-text {
  font-size: var(--body-font-size-xs);
}

.section.space-list li {
  margin-top: 8px;
}

main .default-content-wrapper ol li:not(:last-child),
main .default-content-wrapper ul li:not(:last-child) {
  margin-bottom: 8px;
}

.section.no-paragraph-spacing p {
  margin-top: 0;
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .section.title-big > div.default-content-wrapper > h2 {
    font-size: 70px;
  }
}

.section.title-light > div.default-content-wrapper > h2,
.section.title-light > div.default-content-wrapper > h2 > strong {
  font-family: var(--ff-proxima-light);
}

.section .columns > div > div:first-child > h3 + ul {
  padding-top: 20px;
}

.section .columns > div > div:first-child > h3 + ul,
.section .columns > div > div:first-child > p + ul {
  padding-left: 20px;
}

main .event-container .text-strong {
  padding-top: 15px;
}

main .event-container .event-date {
  font-size: var(--body-font-size-xs);
  font-family: var(--ff-proxima-light);
  font-weight: 600;
  font-style: normal;
  display: block;
  padding-bottom: 30px;
  width: 100%;
}

main .section .default-content-wrapper h2:only-child {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 10px;
}

main .section.tabs .default-content-wrapper h2 {
  padding-bottom: 15px;
}

main .section.buttons-in-row p.button-container {
  margin-top: 0;
}

main .section.buttons-in-row p.button-container,
main .section.wave.orange-buttons p.button-container {
  display: inline-block;
}

main .section.wave.orange-buttons p.button-container {
  margin-top: 20px;
}

main .section.buttons-in-row p.button-container + p.button-container {
  margin-left: 20px;
}

main .section .columns > div > div:first-child > p.button-container {
  margin-left: 0;
}

main .section .columns > div > div:first-child ul + p.button-container,
main .section.columns-2 > div:last-child ul + p.button-container,
main .section.wave.orange-buttons p.button-container + p.button-container {
  margin-left: 20px;
}

/* services & support */

main .section.service-support .default-content-wrapper h2 {
  font-size: 36px;
  padding-top: 90px;
  font-weight: 100;
  line-height: 1;
}

main .section.service-support.support-options h2 {
  font-size: 70px;
}

main .section.related-applications-container h2:first-child {
  padding-top: 26px;
}

@media (max-width: 991px) {
  main .section.service-support.support-options h2 {
    font-size: 36px;
    padding-top: 30px;
  }
}

/* Features Section */
main .section.features-section {
  padding-top: 50px;
  padding-bottom: 30px;
  background:
    url("/images/molecules-left.webp") left bottom,
    url("/images/molecules-right.webp") right top,
    url("/images/molecules-left.png") left bottom,
    url("/images/molecules-right.png") right top;
  background-repeat: no-repeat;
  background-color: var(--light-gray-background-color2);
}

main .section.features-section .default-content-wrapper {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  margin-bottom: 30px;
}

main .section.features-section .default-content-wrapper h2 {
  font-family: var(--ff-proxima-light);
  font-size: var(--heading-font-size-xl);
  margin-bottom: 0;
}

main .section.features-section .default-content-wrapper::after {
  content: "";
  clear: both;
  display: block;
}

main .section.features-section .button-container {
  margin-top: 50px;
}

@media only screen and (max-width: 991px) {
  .section.features-section .default-content-wrapper h2 {
    font-size: 45px;
  }
}

@media only screen and (max-width: 767px) {
  main .section.features-section {
    padding-top: 30px;
  }

  .section.features-section .default-content-wrapper h2 {
    font-size: 36px;
  }

  main .section.features-section .default-content-wrapper em {
    width: 100%;
    padding: 0 15px;
  }

  main .section.buttons-in-row p.button-container,
  main .section.wave.orange-buttons p.button-container {
    display: block;
  }

  main .section.buttons-in-row p.button-container + p.button-container,
  main .section.wave.orange-buttons p.button-container + p.button-container {
    margin-left: 0;
  }
}

@media only screen and (min-width: 992px) {
  .features-section .default-content-wrapper p > em:only-child {
    margin-top: 30px;
    display: block;
    text-align: left;
    font-size: 12px;
    font-style: italic;
    float: right;
    width: 50%;
  }
}

.picture + p > em:only-child,
.blog ol.text-caption,
.columns-wrapper + div > p:first-child > em:only-child,
.vidyard-wrapper + div > p:first-child > em:only-child,
.table-wrapper + div > p:first-child > em:only-child {
  margin: 15px 0 25px;
  font-size: var(--body-font-size-xs);
  display: block;
  color: var(--text-gray);
  font-style: italic;
}

/* Featured Asset section */
main div.section.featured-asset {
  background-image: url("/images/featured-asset-background.webp"), url("/images/featured-asset-background.jpg");
  background-position: center top;
  background-size: cover;
  color: var(--text-white);
  padding-bottom: 100px;
}

main div.section.featured-asset .button-container {
  margin-top: 2em;
}

main div.section.featured-asset a.button.secondary,
main div.section.featured-asset button.secondary {
  border: 2px solid var(--button-color);
  color: var(--button-color);
}

main div.section.featured-asset a.button.secondary:hover,
main div.section.featured-asset a.button.secondary:focus,
main div.section.featured-asset button.secondary:hover,
main div.section.featured-asset button.secondary:focus {
  color: var(--link-hover-color);
}

main div.section.featured-asset .default-content-wrapper h2 {
  margin-top: 0;
  font-family: var(--ff-proxima-regular);
  color: var(--text-green);
}

main div.section.featured-asset .columns h3 {
  font-size: 25px;
}

main div.section.featured-asset .columns > div {
  align-items: unset;
}

main .section .columns.columns-2-cols > div:not(:last-child) {
  margin-bottom: 50px;
}

main .section .columns.no-row-gap > div:not(:last-child) {
  margin-bottom: 0;
}

@media only screen and (max-width: 767px) {
  main div.section.featured-asset {
    padding: 0;
  }

  main div.section.featured-asset > div {
    padding: 30px 15px;
    overflow: hidden;
  }

  main div.section.featured-asset img {
    margin-top: 30px;
  }
}

/* Parallax section */

main .section.background-parallax {
  background-image: url("/images/parallax-background.webp"), url("/images/parallax-background.png");
  background-position: center top;
  background-size: cover;
  color: var(--text-white);
  padding-top: 90px;
  padding-bottom: 100px;
}

main .section.background-parallax a {
  color: var(--text-white);
}

main .section.background-parallax .default-content-wrapper .button-container {
  margin: 60px 30px;
}

main .section.background-parallax .default-content-wrapper .button-container > a {
  color: var(--text-white);
  border-radius: 0;
  padding: 18px 18px 16px;
  border: 1px solid #cbdce8;
}

@media only screen and (max-width: 991px) {
  main div.section.background-parallax {
    padding-top: 67px;
    padding-bottom: 67px;
  }

  main div.section.background-parallax .default-content-wrapper .button-container {
    margin-left: 0;
  }
}

@media only screen and (max-width: 767px) {
  main div.section.background-parallax {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

@media (min-width: 768px) {
  main .section.footer-wave {
    clear: both;
  }
}

/* Wave sections */

main:not(.sidekick-library) div.section.wave {
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  display: flex;
  flex-flow: column wrap;
  align-items: center;
  justify-content: center;
  overflow: visible;
  color: var(--text-white);
  text-align: center;
  clear: both;
}

main:not(.sidekick-library).error div.section.wave {
  color: var(--text-color);
  text-align: unset;
}

main.error div.section.wave:last-child {
  margin-top: 0;
}

main .section.wave.orange-buttons,
main:not(.sidekick-library) div.section.wave:not(.bluegreen):last-child {
  margin: 0;
  padding-bottom: 0;
}

main .section.wave.orange-buttons {
  padding-bottom: 0;
  margin-bottom: 48px;
}

/* stylelint-disable-next-line no-descending-specificity */
main .section.wave.orange-buttons > picture,
main .section.wave.orange-buttons > picture > img,
main:not(.sidekick-library) div.section.wave:last-child picture,
main:not(.sidekick-library) div.section.wave:last-child img {
  width: 100%;
  display: block;
}

main div.section.wave .default-content-wrapper {
  margin-top: 50px;
  padding: 0 15px;
  padding-right: 15px;
}

main div.section.wave .default-content-wrapper h2 {
  font-size: var(--heading-font-size-xl);
  margin-bottom: 30px;
  line-height: 1;
  font-family: var(--ff-proxima-light);
}

main div.section.wave p {
  margin: 0;
}

main div.section.wave .default-content-wrapper p:first-of-type {
  padding: 0 20px 20px;
  margin-bottom: 10px;
}

main .section.columns-2 .default-content-wrapper:has(picture),
main .section.columns-2 .default-content-wrapper:has(.video-wrapper) {
  text-align: center;
}

main div.section.background-molecules-enhance {
  background-image: url("/images/molecules-enhance.png");
  background-repeat: no-repeat;
}

/* WAVE sections variants */

/* BlueGreen Variant */
main div.section.wave.bluegreen {
  background-size: 100% 100%;
}

main div.section.wave.wave-bottom-section {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}

main div.section.wave.bluegreen .default-content-wrapper {
  margin-top: 100px;
  margin-bottom: 100px;
}

main div.section.wave.wave-bottom-section .default-content-wrapper {
  margin-bottom: 0;
}

.application .hero-container + .section > .default-content-wrapper:first-child {
  margin-top: 15px;
}

.technology .section.tabs:not(.wave) .default-content-wrapper + .columns-wrapper,
.application .section.tabs:not(.wave) .default-content-wrapper + .columns-wrapper {
  margin-top: 0;
  padding-top: 0;
}

main div.section.wave.bluegreen .default-content-wrapper h2,
main div.section.wave.bluegreen2 .default-content-wrapper h2 {
  font-family: var(--ff-proxima-regular);
  font-size: 60px;
}

main div.section.wave.bluegreen::after {
  content: none;
}

/* BlueGreen2 Variant */

main div.section.wave.bluegreen2:not([style*='background-image']) {
  min-height: 350px;
  padding-bottom: 150px;
  position: relative;
  background: linear-gradient(
    90deg,
    rgba(21 145 164 / 100%) 0,
    rgba(50 159 121 / 100%) 50%,
    rgba(97 178 73 / 100%) 100%
  ) !important;
  background-image: none;
  margin-bottom: 30px;
}

main div.section.wave.bluegreen2:has(picture img[src*='wave-footer-bg-top.png']) {
  padding-bottom: 0;
}

/* stylelint-disable-next-line no-descending-specificity */
main .section.wave:not(.background-grey-top-half, .bluegreen),
main .section.wave.bluegreen2:not(.background-grey-top-half, .bluegreen) {
  padding-bottom: 0;
}

@media only screen and (min-width: 768px) {
  main div.section.wave.wave-bottom-section {
    min-height: 549px;
  }
}

@media only screen and (min-width: 1500px) {
  main div.section.wave.wave-bottom-section {
    min-height: 700px;
  }
}

@media only screen and (max-width: 767px) {
  main .section.bluegreen {
    background: linear-gradient(
      90deg,
      rgb(21 145 164 / 100%) 0,
      rgb(46 159 121 / 100%) 50%,
      rgb(97 178 73 / 100%) 100%
    ) !important;
    background-image: none;
  }

  main div.section.wave.bluegreen2 {
    padding-bottom: 100px;
  }

  main div.section.wave.bluegreen2::after {
    background-image: none;
  }

  main .section.blue {
    background: #116da7 !important;
    background-image: none;
  }

  main div.section.wave.bluegreen .default-content-wrapper {
    margin-top: 50px;
    margin-bottom: 50px;
  }

  main div.section.wave.bluegreen .default-content-wrapper h2,
  main div.section.wave.bluegreen2 .default-content-wrapper h2 {
    font-size: var(--heading-font-size-xxl);
  }
}

/* Service Support Variant */
main div.section.wave.bg-support-service {
  background-position: 100% 30%;
}

/* Carousel Variant */
main div.section.wave.wavecarousel::after {
  content: none;
}

main div.section.wave.wavecarousel {
  min-height: 550px;
  background-size: 100% 100%;
}

main div.section.wave.wavecarousel.blue {
  background-image: url("/images/wave-background-blue.webp"), url("/images/wave-background-blue.png");
}

main div.section.wave.wavecarousel.bluegreen {
  background-image: url("/images/wave-background-blue-green.webp"), url("/images/wave-background-blue-green.png");
}

main div.section.wave.wavecarousel.blue:not(.no-margin-bottom),
main div.section.wave.wavecarousel.bluegreen:not(.no-margin-bottom) {
  margin-bottom: 40px;
}

main div.section.wave.wavecarousel.blue:not(.no-margin-top),
main div.section.wave.wavecarousel.bluegreen:not(.no-margin-top) {
  margin-top: 30px;
}

main div.section.no-margin-bottom {
  margin-bottom: 0 !important;
}

@media only screen and (max-width: 767px) {
  main div.section.wave.wavecarousel {
    min-height: 100%;
    margin-top: 240px;
  }
}

/* Green secondary buttons */
main div.green-secondary-buttons .button {
  border-color: var(--border-color-green);
}

main div.green-secondary-buttons .button.secondary {
  color: var(--text-color);
}

/* Orange Buttons */
main div.orange-buttons .button {
  height: 50px;
  min-width: 200px;
}

main div.orange-buttons .button.primary:link,
main div.orange-buttons .button.primary:visited {
  color: var(--text-white);
  background: var(--orange-background-color);
  text-transform: none;
}

main div.orange-buttons .button.primary:hover,
main div.orange-buttons .button.primary:active {
  color: var(--text-orange);
  background: var(--background-color);
  box-shadow: 0 0 10px 1px rgb(0 0 0 / 20%);
}

main div.orange-buttons .button.secondary:link,
main div.orange-buttons .button.secondary:visited,
main div.orange-secondary-buttons .button.secondary:link,
main div.orange-secondary-buttons .button.secondary:visited {
  color: var(--text-white);
  background: transparent;
  border: 2px solid var(--text-white);
  text-transform: none;
}

main div.orange-secondary-buttons .button.secondary:link,
main div.orange-secondary-buttons .button.secondary:visited {
  color: var(--text-orange);
  border: 2px solid var(--text-orange);
}

main div.orange-buttons .button.secondary:hover,
main div.orange-buttons .button.secondary:active,
main div.orange-secondary-buttons .button.secondary:hover,
main div.orange-secondary-buttons .button.secondary:active {
  color: var(--text-orange);
  background: var(--background-color);
  box-shadow: 0 0 10px 1px rgb(0 0 0 / 20%);
}

main div.orange-buttons .button.primary > .button-border {
  display: none;
}

main .section.center {
  text-align: center;
}

main .section.background-molecules {
  padding-top: 90px;
  background-image: url("/images/grey_molecules.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: auto 90px;
}

@media only screen and (max-width: 767px) {
  main .section .default-content-wrapper {
    padding: 0 15px;
    overflow: hidden;
  }

  main .section.background-molecules .hero-wrapper::after {
    background-size: auto 50px;
    height: 50px;
  }

  main div.orange-buttons .button {
    min-width: 140px;
    max-width: max-content;
    width: 100%;
    font-size: 12px;
    padding: 9px 12px 10px;
    height: 37px;
  }

  /* ------ */

  main div.section.wave h2 {
    font-size: 40px;
  }
}

/* --list-- */
.list > .filter > .select:not(.open) > .dropdown-menu {
  display: none;
  visibility: hidden;
}

.list > .filter .select:last-of-type {
  margin-bottom: 10px;
}

/* --store-- */
.company-links li.store-link {
  margin-top: 2px;
}

.company-links li.store-link .icon-store > svg {
  margin-top: -2px;
}

.company-links li.cart-link {
  margin: -5px 5px 0 0;
  padding-right: 30px;
}

.company-links li.cart-link i.fa.fa-shopping-cart {
  font-size: 19px;
  color: var(--highlight-background-color);
  position: relative;
  padding-right: 5px;
}

.company-links .cart-count {
  text-align: center;
  vertical-align: middle;
  background-color: var(--orange-background-color);
  color: var(--text-white);
  font-weight: 700;
  line-height: 19px;
  border-radius: 50%;
  position: absolute;
  left: 7px;
  font-size: 10px;
  top: -11px;
  min-width: 21px;
  max-width: 40px;
}

.product .cart-widget {
  display: inline-block;
  margin-right: 8px;
  position: fixed;
  top: 50%;
  right: -110px;
  transform: translateY(-50%);
  background: var(--orange-background-color);
  padding: 16px 24px;
  border-radius: 30px 0 0 30px;
  transition: right 0.3s;
  z-index: 1;
  cursor: pointer;
  font-size: 18px;
}

.product .cart-widget.open {
  right: -15px;
}

.product .cart-widget i {
  margin-right: 15px;
  color: var(--text-white);
}

.product .cart-widget .view-cart-link {
  color: var(--text-white);
}

.product .cart-widget .view-cart-link:hover {
  text-decoration: underline;
}

.product .cart-widget .fa-shopping-cart::before {
  content: "\f07a";
}

.product .cart-widget .cart-count {
  position: absolute;
  top: -12px;
  left: 29px;
  background: var(--background-color);
  color: var(--orange-background-color);
  padding: 0;
  font-size: 75%;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  line-height: 24px;
  text-align: center;
  border: 1px solid var(--orange-background-color);
}

.sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
}

/* videos-and-webinars theme */

.videos-and-webinars main::after {
  margin-top: 100px;
}

.videos-and-webinars .hero.wave .hero-inner p:first-of-type {
  color: var(--heading-color-blue);
  font-size: 25px;
  font-weight: 600;
}

.videos-and-webinars .hero.wave.green-category .hero-inner p:first-of-type {
  color: var(--text-green);
}

.videos-and-webinars .section.hero-container:has(.hero.wave) ~ .section h2 {
  color: var(--text-blue);
  font-family: var(--ff-proxima-regular);
  font-size: 36px;
}

.application .section.tabs:not(.wave) .default-content-wrapper h2 ~ h2:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}

/* stylelint-disable no-descending-specificity */

.homepage h1,
.homepage h2 {
  color: var(--heading-color);
}

.homepage h2 {
  margin-bottom: 30px;
}

.homepage .section > div {
  padding: 70px 15px 0;
}

.application-note main .section:not(.hero-container) {
  padding: 20px 0;
}

@media only screen and (max-width: 767px) {
  .homepage .section > div {
    padding: 50px 15px 0;
  }
}

@media only screen and (max-width: 991px) {
  .product main .section {
    padding: 67px 0 70px;
  }
}

@media only screen and (max-width: 767px) {
  .product main .section {
    padding: 30px 0 45px;
  }

  .product main .video-title {
    font-size: 14px;
  }
}

.product .section.tabs h2 {
  font-family: var(--ff-proxima-regular);
  font-size: 36px;
  margin-top: 0;
}

.product .section.tabs > div > h3 {
  margin: 45px 15px 15px;
}

.product .section.tabs > div > h3 ~ p {
  margin: 0 15px;
}

.product main .section .default-content-wrapper h3 {
  font-family: var(--ff-proxima-xbold);
}

.product p.video-title {
  font-size: 24px;
  font-family: var(--ff-proxima-xbold);
  font-style: normal;
}

.product .section.tabs h2:has(+ h4) {
  font-family: var(--ff-proxima-light);
  margin-bottom: 0;
  padding-bottom: 0;
}

.product .section.tabs h4 {
  font-family: var(--ff-proxima-regular);
  font-size: 30px;
  color: var(--text-gray2);
  margin-top: 0;
}

.product .section.tabs h4:last-child {
  margin-bottom: 45px;
}

.product .section.tabs:not(.feature-section) .default-content-wrapper + .image-list-wrapper {
  margin-top: 50px;
}

/* -- Technology -- */

.application .section h2 {
  font-size: 36px;
}

.product .section > div,
.technology .section > div,
.application .section > div {
  padding-bottom: 20px;
  padding-top: 20px;
}

.product .section > div.default-content-wrapper {
  padding-top: 0;
  padding-bottom: 0;
}

.product .section.tabs .columns-wrapper h2,
.technology
  .section.tabs:not(.wave)
  .default-content-wrapper
  h2:not(#latest-resources, #features, .video-resources-title),
.technology .section.tabs .columns-wrapper h2,
.application
  .section.tabs:not(.wave)
  .default-content-wrapper
  h2:not(#latest-resources, #features, .video-resources-title),
.application .section.tabs .columns-wrapper h2 {
  font-size: 36px;
  font-family: var(--ff-proxima-regular);
  margin-top: 0;
}

.technology .section.tabs .default-content-wrapper p + h2,
.application .section.tabs .default-content-wrapper p + h2 {
  padding-top: 50px;
}

.technology .section.tabs .columns-wrapper p + h2,
.application .section.tabs .columns-wrapper p + h2 {
  padding-top: 20px;
}

.product main .section.tabs:not(.related-applications-container) h2,
.technology main .section.tabs:not(.related-applications-container) h2,
.application main .section.tabs:not(.related-applications-container) h2 {
  margin: 20px 0 10px;
}

.technology .section.tabs h2 + p,
.application .section.tabs h2 + p {
  margin-top: 0;
}

.technology .section .related-links-container,
.application .section .related-links-container {
  padding-bottom: 32px;
}

.technology .section .related-app,
.application .section .related-app {
  margin-top: 35px;
}

.technology .section.resources-container .default-content-wrapper:first-child,
.application .section.resources-container .default-content-wrapper:first-child,
.technology .section.tabs.related-products-container .default-content-wrapper:first-child,
.application .section.tabs.related-products-container .default-content-wrapper:first-child,
.technology .section.tabs.related-applications-container .default-content-wrapper:first-child,
.application .section.tabs.related-applications-container .default-content-wrapper:first-child,
.technology .section.tabs.latest-resources-container .default-content-wrapper:first-child,
.application .section.tabs.latest-resources-container .default-content-wrapper:first-child {
  padding-bottom: 0;
}

.product .section.resources-container .default-content-wrapper:first-child h2,
.technology .section.resources-container .default-content-wrapper:first-child h2,
.application .section.resources-container .default-content-wrapper:first-child h2 {
  padding-bottom: 0;
}

.technology .columns.block.columns-1-cols,
.application .columns.block.columns-1-cols {
  background-color: var(--light-gray-background-color2);
  padding: 15px 26px 15px 32px;
}

.technology .columns.block.columns-1-cols h2,
.application .columns.block.columns-1-cols h2 {
  font-size: 40px;
  text-align: center;
  padding-bottom: 26px;
}

.technology .columns.block.columns-1-cols h3,
.application .columns.block.columns-1-cols h3 {
  font-size: 22px;
  margin: 10px 0;
}

.technology .columns.block.columns-1-cols ul li,
.application .columns.block.columns-1-cols ul li {
  color: var(--link-color);
  line-height: 21px;
  margin-bottom: 10px;
}

.product .section.tabs h2 + h4,
.technology .section.tabs h2 + h4,
.application .section.tabs h2 + h4 {
  font-family: var(--ff-proxima-light);
  margin-bottom: 0;
  padding-bottom: 0;
}

.product .section.tabs h4,
.technology .section.tabs h4,
.application .section.tabs h4 {
  font-family: var(--ff-proxima-regular);
  font-size: 30px;
  color: var(--text-gray2);
  margin-top: 0;
}

.product .section.tabs h4:last-child,
.technology .section.tabs h4:last-child,
.application .section.tabs h4:last-child {
  margin-bottom: 45px;
}

.blend-image img {
  mix-blend-mode: darken;
}

.section.title-center > h2,
.section.title-center > h3,
.section.title-center > h4,
.section.title-center > .default-content-wrapper > h2,
.section.title-center > .default-content-wrapper > h3,
.section.title-center > .default-content-wrapper > h4,
.section.button-center > .default-content-wrapper > p.button-container {
  text-align: center;
}

.background-black,
.background-black img {
  background-color: var(--black-background-color);
}

.background-black h3 {
  color: var(--text-green);
}

.background-black p,
.background-black h4 {
  color: var(--text-white);
}

.section.title-no-spacing > div.default-content-wrapper > h2,
.section.title-no-spacing > div.default-content-wrapper > h3 {
  margin: 0;
  padding: 0;
}

.section.image-title-inline > div.default-content-wrapper > p.picture:first-child,
.section.image-title-inline > div.default-content-wrapper > p.picture:first-child + h2 {
  display: inline;
  vertical-align: middle;
}

.section.image-title-inline > div.default-content-wrapper > p.picture:first-child img {
  height: 60px;
  margin-left: -20px;
}

.section.image-title-inline > div.default-content-wrapper > p.picture:first-child + h2 {
  margin-left: 10px;
}

.section.multicolor-subtitle > div.default-content-wrapper > h3 {
  display: inline-block;
  margin-left: 5px;
  margin-right: 0;
}

.section.multicolor-subtitle > div.default-content-wrapper > h3:first-of-type {
  color: var(--text-green);
}

.section.multicolor-subtitle > div.default-content-wrapper > h3:nth-of-type(2) {
  color: var(--text-orange);
  display: inline;
}

.section.multicolor-subtitle > div.default-content-wrapper > h3:last-of-type {
  color: var(--text-electric-blue);
}

/*
  Category page
*/

/* Button in blue wave carousels */
.category main div.section.wave.blue .button-container {
  margin-top: 30px;
}

.category main div.section.wave.blue .button-container > a {
  color: var(--text-white);
  font-size: var(--body-font-size-m);
  border-radius: 0;
  padding: 15px 40px;
  border: 1px solid #cbdce8;
}

.category .default-content-wrapper h3 {
  font-size: 34px;
}

.category .default-content-wrapper h3 a {
  color: black;
}

.category .default-content-wrapper h2 + h3 {
  font-size: 24px;
}

.category .columns-wrapper h3 + h4,
.category .columns-wrapper h4 + h4 {
  font-size: 20px;
  line-height: 1.5rem;
}

.category-3d-biology .default-content-wrapper h3 {
  font-size: 36px;
}

.category-3d-biology .default-content-wrapper h2 + h3 {
  margin-bottom: 0;
}

.category main .columns-wrapper h3:first-child,
.section.product-titles .default-content-wrapper > h2,
.section.product-titles .default-content-wrapper > h3 {
  font-size: 40px;
}

.section.product-titles .default-content-wrapper > h4 {
  font-size: 30px;
}

.section.blue-title .default-content-wrapper > h2,
.section.blue-title .default-content-wrapper > h3,
.section.blue-subtitle div > h3 {
  color: var(--text-blue);
}

.section.green-title .default-content-wrapper > h2,
.section.green-title .default-content-wrapper > h3 {
  color: var(--text-green);
}

main .section.white-title .default-content-wrapper > h2,
main .section.white-title .default-content-wrapper > h3,
main .section .block.white-title h2,
main .section .block.white-title h3,
main .section .block.white-title h4 {
  color: var(--text-white);
}

main .block.orange-main-title h2,
main .section.orange-title h2,
main .section.orange-title h3,
main .section.orange-title h4 {
  color: var(--text-orange);
}

main .block.electric-blue-main-title h2 {
  color: var(--text-electric-blue);
}

/*
  Customer breakthrough pages
*/

.customer-breakthrough main .default-content-wrapper {
  margin-bottom: 50px;
}

.customer-breakthrough main .hero-container + .section > .default-content-wrapper:first-child {
  margin: 0 auto;
}

.customer-breakthrough main .background-parallax .default-content-wrapper {
  margin-bottom: 0;
}

.customer-breakthrough main .default-content-wrapper p + h2 {
  margin-top: 50px;
}

/*
  Service Support pages
*/

.service-support main .section.features-section .default-content-wrapper {
  text-align: left;
}

/*
  Video Gallery
*/
.video-gallery .section {
  padding-top: 60px;
  padding-bottom: 40px;
}

.video-gallery main .section .default-content-wrapper h2 {
  color: var(--text-blue);
  font-size: 40px;
  margin-bottom: 40px;
  font-family: var(--ff-proxima-light);
}

/*
  Contact us page
*/

.contact main .section.hero-container .hero-inner img {
  object-position: center center;
}

.contact main > .section.columns-container > .columns-wrapper {
  margin-top: 0;
}

@media (min-width: 992px) {
  .contact main .section.hero-container .hero-inner .container {
    padding-top: 100px;
    padding-bottom: 120px;
  }
}

.section.main-title-bold > div.default-content-wrapper > h2,
.section .block.main-title-bold h2 {
  font-family: var(--ff-proxima-xbold);
}

.section.main-title-light > div.default-content-wrapper > h2 {
  font-family: var(--ff-proxima-light);
}

.section.title-regular > div.default-content-wrapper > h2,
.section.title-regular > div.default-content-wrapper > h3 {
  font-family: var(--ff-proxima-regular);
}

main .section.no-padding-bottom {
  padding-bottom: 0;
}

main .section.no-padding-top {
  padding-top: 0;
}

main .section.space-wrappers > div {
  margin-bottom: 50px;
  margin-top: 50px;
}

@media only screen and (max-width: 420px) {
  .section .block.mobile-subtitle-small h3,
  .section.mobile-subtitle-small > div.default-content-wrapper > h3 {
    font-size: 16px;
  }
}

.block.image-auto-size img {
  width: auto;
  height: auto;
}

.list-spacing-8 ul li:not(:last-child) {
  margin-bottom: 8px !important;
}

.list-spacing-10 ul li:not(:last-child) {
  margin-bottom: 10px !important;
}

.list-spacing-16 ul li:not(:last-child) {
  margin-bottom: 16px !important;
}

.list-spacing-16 ul li > ul {
  margin-top: 8px;
}

.list-spacing-16 ul li > ul li:not(:last-child) {
  margin-bottom: 4px !important;
}

.no-indented-list ul,
.no-indented-list ol {
  padding-left: 20px;
}

.disc-sub-heading ol > li > ol,
.disc-sub-heading ol > ol {
  list-style: disc;
}

.lower-alpha-sub-heading ol > li > ol,
.lower-alpha-sub-heading ol > ol {
  list-style: lower-alpha;
}

/* QA LIST */
main .qa-list ul,
.blog main .qa-list ul {
  list-style: none;
  padding-left: 0;
}

main .qa-list ul,
main .qa-list ul > li > ul {
  list-style: none;
  padding-left: 0;
  margin-top: 4px;
}

main .qa-list ul > li,
main .qa-list ul > li > ul > li {
  font-weight: 700;
  position: relative;
  padding-left: 24px;
}

main .qa-list ul > li > ul > li {
  padding-left: 0;
  font-weight: 400;
}

main .qa-list ul > li::before,
main .qa-list ul > li > ul > li::before {
  content: "Q. ";
  position: absolute;
  left: 0;
  top: 0;
}

main .qa-list ul > li > ul > li::before {
  content: "A. ";
  left: -24px;
}

main .section.qa-list .columns-wrapper {
  margin-top: 0;
}

main .qa-list .columns-wrapper .image-right ul li::before {
  display: none;
}

main .columns-separator-line .columns-wrapper .columns {
  border-bottom: 1px solid var(--highlight-background-color);
}

/* technology */
.technology main .default-content-wrapper + div.columns-wrapper {
  margin-top: 0;
  padding-top: 0;
}

/* title with green/theme highlight */
.title-with-green-highlight h2:first-child em,
.title-with-green-highlight h3:first-child em,
.title-with-theme-highlight h2:first-child em,
.title-with-theme-highlight h3:first-child em {
  font-style: normal;
}

.title-with-green-highlight h2:first-child em,
.title-with-green-highlight h3:first-child em {
  color: var(--text-green);
}

.title-with-theme-highlight h2:first-child em,
.title-with-theme-highlight h3:first-child em {
  color: var(--text-blue);
}

.section.title-with-green-highlight .default-content-wrapper h2:first-child,
.section.title-with-green-highlight .default-content-wrapper h3:first-child,
.section.title-with-theme-highlight .default-content-wrapper h2:first-child,
.section.title-with-theme-highlight .default-content-wrapper h3:first-child {
  margin: 0;
  padding-bottom: 20px;
}

.columns.image-center div:has(picture:only-of-type) img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* SLAS PAGES */
main .block.no-margin-top,
main .section.no-margin-top {
  margin-top: 0;
}

.slas-page .section .columns.tutorials-posters > div:not(:last-child) {
  margin: 0;
}

.slas-page .section .columns.tutorials-posters > div:not(.image-left) > div:not(:empty) {
  padding: 20px 0;
  border-bottom: 1px solid;
}

.slas-page .columns.tutorials-posters > div:not(.image-left) > div:not(:empty) p:first-of-type {
  font-weight: bold;
  margin-bottom: 10px;
  text-align: left;
}

.slas-page .section .default-content-wrapper h2 + h3,
.slas-page .columns.tutorials-posters h3,
.slas-page .columns.tutorials-posters h4 {
  font-family: var(--ff-proxima-regular);
  color: var(--text-color);
}

.slas-page main .section h3 {
  padding-top: 0;
}

.slas-page main .section:not(.slas-resource-list, .carousel-container) h3 {
  font-size: 36px;
}

.slas-page .section .default-content-wrapper h2 + h3 {
  text-align: left;
  margin-top: 30px;
}

.slas-page .columns.tutorials-posters h4 {
  margin: 10px 0;
  color: var(--text-green);
}

.slas-page .columns.tutorials-posters p {
  margin: 0;
}

.slas-page .slas-resource-list .columns > div > div h3 {
  padding-top: 0;
  font-size: 24px;
  color: inherit;
  font-weight: bold;
}

.slas-page .slas-resource-list .columns > div > div h3 + ul {
  padding-top: 0;
  padding-left: 20px;
}

/* eBook contact */
.section.background-teal,
.section.ebook-contact {
  background-color: var(--button-secondary-color);
  color: var(--text-white);
}

.section.ebook-contact h3,
.section.ebook-contact a {
  color: inherit;
}

.section.ebook-contact h3 {
  padding-top: 0;
}

.section.ebook-contact .columns > div > div:last-child {
  text-align: center;
}

.section.ebook-contact em > a {
  box-sizing: border-box;
  font-family: var(--ff-proxima-regular);
  font-weight: 400;
  font-size: var(--body-font-size-l);
  font-style: normal;
  line-height: 18px;
  display: inline-block;
  border-radius: 0;
  transition: all 0.2s;
  position: relative;
  padding: 15px 18px 16px;
  margin-bottom: 0;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  height: 50px;
  min-width: 200px;
  color: var(--text-blue);
  background: var(--background-color);
  border: 2px solid var(--text-white);
  text-transform: none;
}

.section.ebook-contact em > a:hover {
  color: var(--text-white);
  background: transparent;
  box-shadow: 0 0 10px 1px rgb(0 0 0 / 20%);
}

/* COMMON STYLING */
.blog main h3,
.blog main .big-sub-heading h4,
.publication.full-article main h3,
.publication.full-article main .big-sub-heading h4 {
  margin-top: 40px;
  margin-bottom: 10px;
  font-size: 30px;
  line-height: 30px;
}

.blog main .section.hero-container + .section:not(.background-molecules),
.publication.full-article main .section.hero-container + .section:not(.background-molecules) {
  padding-top: 0;
}

.blog main .section.block,
.publication.full-article main .section.block {
  padding: 20px 0;
}

.blog main .section.block > div,
.publication.full-article main .section.block > div {
  width: 100%;
}

.blog main .section .default-content-wrapper p.picture,
.publication.full-article main .section .default-content-wrapper p.picture {
  margin-top: 20px;
  margin-bottom: 20px;
}

.blog main .section .default-content-wrapper h3 + p.picture,
.publication.full-article main .section .default-content-wrapper h3 + p.picture {
  margin-bottom: 0;
}

.blog main .section .default-content-wrapper img,
.publication.full-article main .section .default-content-wrapper img {
  display: inline-block;
  vertical-align: middle;
}

.blog main .section.blog-heading .icon-view-all-posts img,
.publication main .section.carousel-heading .icon-view-all-posts img {
  display: block;
  width: 178px;
}

.publication main .section.carousel-heading .icon-view-all-posts .button-container {
  margin-bottom: 0;
}

.share-event ul.button-container li a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}

.social-links li a span[aria-label="X"] img {
  max-width: 21px;
  width: 100%;
  display: block;
}

.customer-breakthrough .social-links li a span.icon-x-blue:is(:empty) {
  background-image: url('/icons/x-blue.svg');
  background-size: 21px;
  width: 21px;
  height: 25px;
  background-position: center;
  background-repeat: no-repeat;
}

.section.events-container .events.block .list {
  padding-top: 0;
}

/* RFQ Form Section */
main .section.tabs.rfq-form-section h2,
main .section.tabs.rfq-form-section h3 {
  font-size: 25px;
}

main .section.tabs.rfq-form-section h2 {
  color: var(--heading-color);
}

main .section.tabs.rfq-form-section h3 {
  font-weight: 600;
  margin-bottom: 40px;
  padding-top: 0;
  margin-top: 20px;
}

main .section.tabs.rfq-form-section ul {
  padding-left: 20px;
}

main .section.rfq-form-section .embed {
  width: 100%;
  color: #fff;
  background-color: #666667;
  padding: 20px 10px 0;
  margin-top: 0;
}

main .section.rfq-form-section .embed h4 {
  margin-bottom: 20px;
  text-align: center;
  padding: 0 20px;
  color: #fff;
}

@media only screen and (min-width: 768px) {
  main .section.tabs.rfq-form-section h2,
  main .section.tabs.rfq-form-section h3 {
    font-size: 45px;
  }

  main .section.rfq-form-section > div {
    width: calc(var(--section-div-width) / 2);
    display: inline-block;
    vertical-align: top;
  }

  main .section.rfq-form-section .default-content-wrapper:first-child {
    margin-left: calc((100vw - var(--section-div-width)) / 2);
    padding-top: 35px;
  }
}

/* Workflow Tab Heading */
.no-list-padding ul,
.section.no-default-padding .default-content-wrapper {
  padding-top: 0;
  padding-bottom: 0;
}

.no-list-margin ul {
  margin-top: 0;
  margin-bottom: 0;
}

.application .columns.workflow-tab-heading.block.columns-1-cols {
  padding: 0;
  background-color: transparent;
}

.application .columns-wrapper:has(> .workflow-tab-heading) {
  margin-top: 0;
  padding: 0;
  margin-bottom: 60px;
}

.application .columns.block.workflow-tab-heading h2 {
  font-family: var(--ff-proxima-light);
  font-size: 34px;
  text-transform: capitalize;
  background: #0066a4;
  padding: 8px 24px;
  color: #fff;
  width: 100%;
  text-align: center;
  margin: 0 auto !important;
  border-radius: 20px;
  line-height: 1.33;
}

@media only scrren and (min-width: 768px) {
  .application .columns.block.workflow-tab-heading h2 {
    font-size: 48px;
  }
}
