.glass-page {
  padding: 0 1em;
  max-width: 1200px;
}

#collateral, .collateral, .related-nodes, #events, #page-node, #node-page, #node-page-contact, #node-page-content, .services-tech-list, .services-functional-areas {
  padding: 0 1em;
  max-width: 1024px;
}
@media screen and (max-width: 767px) {
  #collateral, .collateral, .related-nodes, #events, #page-node, #node-page, #node-page-contact, #node-page-content, .services-tech-list, .services-functional-areas {
    max-width: 100%;
  }
}

.form-wrapper, #node-page-header {
  padding: 0 1em;
  max-width: 760px;
}
@media screen and (max-width: 767px) {
  .form-wrapper, #node-page-header {
    max-width: 100%;
  }
}

#collateral, .collateral, .related-nodes, #events, #page-node, .glass-page, .form-wrapper, #node-page, #node-page-contact, #node-page-content, .services-tech-list, .services-functional-areas, .video-wrapper {
  padding: 0 1em;
  margin: 0 auto;
}

body.controller-responses .centered-notification, body.controller-downloads .centered-notification, .video-wrapper .video-thumbnail {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.form-wrapper form.plain, .form-wrapper .form-section-content, .form-field .radio-set-wrapper, .form-field .multiple-choice-wrapper, #node-page-header {
  display: grid;
  gap: 1em;
}

@property --pill-gradient-color-a {
  syntax: "<color>";
  initial-value: white;
  inherits: false;
}
@property --pill-gradient-color-b {
  syntax: "<color>";
  initial-value: white;
  inherits: false;
}
.subservices-grid, .node-list {
  display: grid;
  max-width: 1024px;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr;
  -moz-column-gap: 1vw;
       column-gap: 1vw;
  margin: auto;
  padding: 4vh 4vw;
}
@media screen and (max-width: 767px) {
  .subservices-grid, .node-list {
    grid-template-columns: 1fr;
    padding-left: 0;
    padding-right: 0;
  }
}

.subservice, .subservice-placeholder, .node-list-element {
  display: block;
  position: relative;
  box-shadow: 0 3px 45px #CCCCCC;
  height: 110px;
  border-radius: 100px;
  text-decoration: none;
  background-color: white;
  padding: 10px;
  color: #111111;
  font-size: 11.5px;
  margin: 10px;
}
@media screen and (max-width: 767px) {
  .subservice:last-of-type, .subservice-placeholder:last-of-type, .node-list-element:last-of-type {
    margin-bottom: 0;
  }
}
.subservice :is(h3, .specificity-hack), .subservice-placeholder :is(h3, .specificity-hack), .node-list-element :is(h3, .specificity-hack) {
  color: inherit;
  text-transform: uppercase;
  font-size: 1.17em;
  font-weight: bold;
}

.node-list-element:nth-last-child(1):nth-child(odd) {
  grid-column-end: span 2;
  justify-self: center;
  width: 50%;
}
@media screen and (max-width: 767px) {
  .node-list-element:nth-last-child(1):nth-child(odd) {
    grid-column-end: auto;
    width: auto;
  }
}

.subservice, .subservice-placeholder, .node-list-element {
  --pill-gradient-color-a: white;
  --pill-gradient-color-b: white;
  padding-left: 80px;
  background-image: linear-gradient(to right, var(--pill-gradient-color-a) 40px, var(--pill-gradient-color-b) 160px);
  transition: transform 0.3s ease-in-out, --pill-gradient-color-a 0.3s ease-in-out, --pill-gradient-color-b 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  .subservice, .subservice-placeholder, .node-list-element {
    padding-left: 60px;
  }
}

.subservice.subservice--active, .subservice-placeholder.subservice--active, .subservice:hover, .subservice-placeholder:hover, .node-list-element:hover, .subservice:focus, .subservice-placeholder:focus, .node-list-element:focus {
  --pill-gradient-color-a: rgb(255, 245.5, 205.5);
  --pill-gradient-color-b: #ffd939;
  background-color: #ffd939;
  color: black;
}

.subservice-icon, .node-list-element-icon {
  position: absolute;
  left: 20px;
  top: 25px;
  width: 60px;
  height: 60px;
  background-repeat: no-repeat;
  background-size: cover;
  pointer-events: none;
}
*:hover > .subservice-icon, *:hover > .node-list-element-icon {
  filter: drop-shadow(0 0 3px white);
}

@media screen and (max-width: 767px) {
  .subservice-icon, .node-list-element-icon {
    left: 15px;
    top: 32.5px;
    width: 45px;
    height: 45px;
  }
}

.subservice-description, .node-list-element-description {
  height: 3em;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  white-space: normal;
}
.subservice-description p:nth-of-type(1), .node-list-element-description p:nth-of-type(1) {
  margin-top: 0;
}

.subservice, .subservice-placeholder, .node-list-element {
  padding-right: 69px !important;
}
.subservice .interest-heart, .subservice-placeholder .interest-heart, .node-list-element .interest-heart {
  display: block;
  position: absolute;
  right: 20px;
  top: 35.5px;
  width: 39px;
  height: 39px;
  border: 1px solid #eeeeee;
  border-radius: 39px;
  padding: 0;
  background-color: #fefefe;
  line-height: 39px;
  vertical-align: middle;
  text-align: center;
}
.subservice .interest-heart i, .subservice-placeholder .interest-heart i, .node-list-element .interest-heart i {
  position: relative;
  top: 1px;
  display: inline-block;
  position: relative;
}

.relevance-popup {
  cursor: help;
}
.relevance-popup p {
  font-size: 0.8rem;
}
.relevance-popup h5 {
  display: inline-block;
  font-size: 0.8rem;
  font-weight: bold;
}

.relevance-explanation-score {
  font-weight: bold;
}

.relevance-explanation-weight {
  font-style: italic;
}

.relevance-explanation-emphasis {
  color: #e5ccff;
}

.relevance-explanation-external {
  color: #fff9cc;
}

.relevance-explanation-context {
  color: #ccffd8;
}

.relevance-explanation-interest {
  color: #ffcccc;
}

video {
  border-radius: 5px;
  box-shadow: 0 0 1rem rgba(255, 217, 57, 0.3);
}

.video-wrapper {
  padding: 0;
  position: relative;
  overflow: hidden;
  border-radius: 5px;
  box-shadow: 0 0 1rem rgba(255, 217, 57, 0.3);
}
.video-wrapper .video-thumbnail {
  width: 100%;
  height: 100%;
}

.video--with-thumb .video-thumbnail {
  display: flex;
}

.video-thumbnail {
  display: flex;
  align-items: center;
  justify-content: center;
  display: none;
  background-size: cover;
  background-position: center;
  cursor: pointer;
  height: 100%;
  background-image: var(--thumb-url);
}
.video-thumbnail .play-button-wrapper {
  width: 64px;
}
.video-thumbnail:hover .svg-path-play-button {
  fill: #f00;
  fill-opacity: 1;
  transition: 0.3s ease-in-out;
}

.video-title {
  margin: 1rem auto 0;
  font-size: 1.75rem;
  color: #c6c9cc;
  font-weight: bold;
}

.video-description {
  margin: 0 auto;
  color: #c6c9cc;
}

.promotion-icon, .services-tech-featured-icon {
  background-position: center center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 1025px) {
  .promotion-icon, .services-tech-featured-icon {
    width: 50px;
    height: 50px;
    background-size: 50px 50px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .promotion-icon, .services-tech-featured-icon {
    width: 40px;
    height: 40px;
    background-size: 40px 40px;
  }
}
@media screen and (max-width: 767px) {
  .promotion-icon, .services-tech-featured-icon {
    width: 30px;
    height: 30px;
    background-size: 30px 30px;
  }
}

.services-tech-featured-icon {
  border: 1px solid #ffd939;
  border-radius: 50%;
  background-color: white;
  border-top: 0;
  border-left: 0;
}

.services-tech, .node-page-tech {
  width: 100%;
  background-color: #f9f9f9;
  margin: 20px 0;
  padding: 4rem 0rem;
  text-align: center;
  box-shadow: inset 0 3px 14px -10px rgba(0, 0, 0, 0.5), inset 0 -3px 15px -10px rgba(0, 0, 0, 0.5);
}
.services-tech h4, .node-page-tech h4 {
  text-align: center;
  text-transform: uppercase;
  font-size: 2.5em;
  font-weight: bold;
  letter-spacing: 1px;
  color: #4A4A4A;
}
.services-tech li, .node-page-tech li {
  list-style-type: none;
}
.services-tech.hidden, .node-page-tech.hidden {
  display: none;
}
@media screen and (max-width: 767px) {
  .services-tech, .node-page-tech {
    padding-bottom: 35px;
  }
}

.services-tech-featured {
  vertical-align: top;
  display: inline-block;
  text-align: center;
  width: 20%;
  margin-top: 20px;
  margin-bottom: 20px;
}
@media screen and (min-width: 1025px) {
  .services-tech-featured {
    width: 9%;
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .services-tech-featured {
    width: 45%;
    margin-top: 30px;
  }
}
.services-tech-featured.interested .services-tech-featured-icon {
  border-color: #ffd939;
  border-top: 1px;
  border-left: 1px;
  filter: grayscale(0);
}

.services-tech-featured-name {
  font-size: 0.7em;
  font-weight: normal;
  color: rgb(10, 10, 10);
}

.services-tech-featured-icon {
  border: 1px solid #eee;
  padding: 10px;
  width: 60px;
  height: 60px;
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
  transition: all 0.65s ease-in-out;
}

.services-tech-additional-title {
  background: #f9f9f9;
  color: #777;
  position: relative;
  padding: 0 15px;
  text-transform: uppercase;
  line-height: 20px;
  font-size: 0.825rem;
}

.services-tech-list {
  text-align: center;
  overflow: hidden;
  max-height: 0;
  border-top: 1px solid transparent;
  transition: max-height 0.3s ease-in-out;
  transition-property: max-height, border-top-color;
  margin-top: 1rem;
}
.services-tech-list.container-expanded {
  border-top: 1px solid #ddd;
  max-height: 100vh;
}
.services-tech-list li {
  display: inline-block;
  min-height: 1.5rem;
  vertical-align: top;
  padding: 0.5rem 1rem;
  font-size: 90%;
  letter-spacing: 0;
}

@media screen and (max-width: 767px) {
  .services-tech .more-button, .services-tech-list {
    display: none;
  }
}

.services-tech-description {
  cursor: pointer;
  transition: color 0.65 linear;
  color: #7d7d7d;
}
.services-tech-description:hover {
  color: #4a4a4a;
}

.services-tech-name {
  display: inline-block;
}

.services-tech .more-button, .services-functional-areas .more-button {
  width: 140px;
  background: #fff;
  color: #222;
  border: 1px solid #eee;
  padding: 15px 40px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}

.services-functional-areas {
  padding-top: 20px;
  text-align: center;
}
.services-functional-areas.hidden {
  display: none;
}
.services-functional-areas h4 {
  text-transform: uppercase;
  text-align: center;
}
.services-functional-areas p {
  font-size: small;
  max-width: 28rem;
  margin-inline: auto;
}
@media screen and (min-width: 1025px) {
  .services-functional-areas .more-button {
    margin: 20px 0;
  }
}

ul.functional-areas {
  opacity: 1;
  transition: all 0.25s ease-in;
  max-height: 5000px;
  text-align: left;
}
@media screen and (min-width: 1025px) {
  ul.functional-areas {
    -moz-columns: 5;
         columns: 5;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  ul.functional-areas {
    -moz-columns: 3;
         columns: 3;
  }
}
@media screen and (max-width: 767px) {
  ul.functional-areas {
    -moz-columns: 2;
         columns: 2;
  }
}
ul.functional-areas.hidden {
  max-height: 0px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.25s ease-out;
}

li.functional-area {
  font-size: 90%;
  letter-spacing: 0;
  line-height: 120%;
  padding: 5px 0px;
  list-style-type: none;
}
li.functional-area.low_emphasis {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  padding: 0px 0px;
  transition: max-height 0.35s linear, opacity 0.9s ease-in 0.35s;
}

ul.functional-areas.container-expanded li.low_emphasis {
  position: relative;
  max-height: 50px;
  opacity: 1;
  overflow: visible;
  padding: 5px 0px;
}

#promotions {
  margin: 0;
  margin-bottom: 25px;
}

.promotions {
  position: relative;
  width: 100%;
  min-height: 50px;
  background-color: black;
  color: white;
  text-align: center;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
}
.promotions h3, .promotions h4, .promotions p {
  color: white;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
}
.promotions h3 {
  font-size: 20px;
}
.promotions .wrapper {
  padding-top: 20px;
  padding-bottom: 20px;
  transition: padding 0.64s ease-in-out;
}
.promotions.promotions-closed {
  background-color: black;
  cursor: pointer;
}
.promotions.promotions-closed .promotion-content-closed {
  opacity: 1;
  max-height: 5000px;
  transition: max-height 0.1s linear 0.1s, opacity 0.65s linear 0.5s;
}
.promotions.promotions-closed .promotion-content-open {
  opacity: 0;
  max-height: 0;
  transition: all 0.2s linear;
}

.col-md-12.promotion {
  margin: 0 auto;
}
@media screen and (min-width: 1025px) {
  .col-md-12.promotion {
    max-width: 674px;
  }
}
.col-md-12.promotion .promotion-icon {
  background-position: center center;
}

.promotions-title {
  text-align: center;
}
.promotions-title h4 {
  width: 100%;
  text-align: center;
}

.promotion-icon-wrapper {
  border: 3px #ffd939 solid;
  border-radius: 100%;
  border-width: 0 1px 1px 0px;
  background-color: white;
  background-position: center;
}

.promotion-icon {
  background-size: contain;
  background-position: center;
  background-color: transparent;
}
@media screen and (min-width: 1025px) {
  .promotion-icon {
    background-position: center center;
  }
}
@media screen and (max-width: 767px) {
  .promotion-icon {
    background-position: -16px 17px;
  }
}

@media screen and (min-width: 1025px) {
  .promotion-name {
    margin-top: 40px;
  }
}

.promotion-content-wrapper {
  width: 100%;
  text-align: center;
}
.promotion-content-wrapper .promotion-header h3 {
  text-transform: uppercase;
}

.promotion-toggle {
  position: absolute;
  top: 1em;
  right: 0;
  left: 0;
  font-size: 0.75rem;
  cursor: pointer;
  z-index: 100;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
  font-size: 16px;
  transition: all 0.65s ease-in-out;
}
.promotion-toggle:hover {
  color: white;
}
@media screen and (max-width: 767px) {
  .promotion-toggle {
    text-align: right;
    padding-right: 1em;
    top: 0.5em;
  }
}

@media screen and (min-width: 1025px) {
  .promotion-interests .inquiry_interests {
    -moz-columns: 3;
         columns: 3;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .promotion-interests .inquiry_interests {
    -moz-columns: 2;
         columns: 2;
  }
}
@media screen and (max-width: 767px) {
  .promotion-interests .inquiry_interests {
    column: 1;
  }
}
.promotion-interests .checkbox {
  width: 100%;
  display: inline-block;
}
.promotion-interests label {
  display: inline-block;
}
.promotion-interests span.checkbox {
  margin: 5px 0px;
}

.promotion-content-closed {
  opacity: 0;
  min-height: 60px;
  overflow: hidden;
  transition: all 0s linear;
}
.promotion-content-closed .wrapper {
  padding-top: 20px;
  padding-bottom: 20px;
}
.promotion-content-closed .promotion-description {
  max-height: 0;
}
.promotion-content-closed .promotion-icon {
  opacity: 0;
}
.promotion-content-closed .promotion-content-inline {
  display: flex;
  justify-content: center;
  text-transform: uppercase;
  font-size: 14px;
  color: white;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .promotion-content-closed .promotion-content-inline {
    margin-top: 12px;
  }
}
.promotion-content-closed .promotion-content-inline .promotion-icon {
  opacity: 1;
}
.promotion-content-closed .promotion-content-inline .promotion-icon-wrapper {
  display: inline-block;
  width: 40px;
  height: 40px;
  margin: -9px 10px 0;
}
@media screen and (max-width: 767px) {
  .promotion-content-closed .promotion-content-inline .promotion-icon-wrapper {
    margin: 0;
    position: absolute;
    top: -1px;
    left: 10px;
  }
}
.promotion-content-closed .promotion-content-inline .promotion-icon-wrapper .promotion-icon {
  width: 40px;
  height: 40px;
}
.promotion-content-closed .promotion-content-inline .promotion-content-inline-chevron {
  margin-left: 1em;
  margin-top: 3px;
}
@media screen and (max-width: 767px) {
  .promotion-content-closed .promotion-content-inline .promotion-content-inline-chevron {
    position: absolute;
    right: 25px;
    top: 5px;
  }
}
@media screen and (max-width: 767px) {
  .promotion-content-closed .promotion-content-inline .current-promotion-title {
    font-size: 12px;
    text-align: left;
    margin-left: 70px;
    text-transform: uppercase;
    font-weight: normal;
  }
}
@media screen and (min-width: 1025px) {
  .promotion-content-closed .promotion-content-inline .current-promotion-title {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .promotion-content-closed .promotion-content-inline .current-promotion-name {
    font-size: 16px;
    text-align: left;
    margin-left: 70px;
    margin-top: -3px;
  }
}
@media screen and (min-width: 1025px) {
  .promotion-content-closed .promotion-content-inline .current-promotion-name {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .promotion-content-closed .promotion-content-inline {
    position: relative;
    margin-bottom: 7px;
    flex-direction: column;
  }
}

.promotion-content-open {
  opacity: 1;
  max-height: 1000px;
  overflow: hidden;
  border-radius: 0 7px 7px 0;
  transition: max-height 0.2s linear, opacity 0.56s linear 0.3s;
}
.promotion-content-open .wrapper {
  padding: 0;
}
.promotion-content-open .wrapper .inner-wrapper {
  padding: 50px 30px 20px;
  height: 100%;
  width: 100%;
  color: white;
}

.promotion-interests *:focus {
  outline: none;
}
.promotion-interests label {
  position: relative;
  padding-left: 30px;
  width: 100%;
}
.promotion-interests label > [type=checkbox] {
  width: 100%;
  position: absolute;
  margin: 0;
  border: none;
  background: transparent;
  margin-left: -25px;
  margin-top: 3px;
  cursor: pointer;
}
.promotion-interests label > [type=checkbox] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.promotion-interests label > [type=checkbox]:before {
  display: inline-block;
  content: "\f08a";
  border-radius: 5px;
  cursor: pointer;
  color: #7CBDCF;
  width: 100%;
  height: 100%;
  transition: color 0.65s linear;
}
.promotion-interests label > [type=checkbox]:before:focus {
  outline: none;
}
.promotion-interests label > [type=checkbox]:checked:before {
  content: "\f004";
  transition: color 0.65s linear;
  outline: none;
}
.promotion-interests label > [type=checkbox]:checked:before:focus {
  outline: none;
}

.promotion-layout {
  display: flex;
}
.promotion-layout .promotion-icon-wrapper {
  margin-right: 3em;
  margin-top: 3.5em;
  width: 159px;
  height: 159px;
}
@media screen and (max-width: 767px) {
  .promotion-layout .promotion-icon-wrapper {
    width: 60px;
    height: 60px;
    margin-top: 0;
    margin-right: 1rem;
  }
}
.promotion-layout .promotion-icon-wrapper .promotion-icon {
  background-size: 100%;
  width: 159px;
  height: 159px;
}
@media screen and (max-width: 767px) {
  .promotion-layout .promotion-icon-wrapper .promotion-icon {
    width: 60px;
    height: 60px;
  }
}
.promotion-layout .promotion-content-wrapper {
  flex-grow: 1;
  text-align: left;
}
.promotion-layout .promotion-content-wrapper .promotion-action {
  margin: 2em 0;
}
.promotion-layout .promotion-position-share {
  text-align: left;
}
@media screen and (max-width: 767px) {
  .promotion-layout .promotion-position-share {
    text-align: center;
  }
}
.promotion-layout .promotion-position-share .social-link-container {
  padding-left: 0;
}
.promotion-layout .promotion-position-share p {
  margin: 0;
}
.promotion-layout .promotion-position-share .social-share-button .ssb-icon {
  color: black;
}
.promotion-layout .promotion-position-share .social-share-button .ssb-icon:hover {
  color: #318185;
}
.promotion-layout .promotion-position-share .social-share-button .ssb-icon i.fa-stack-1x {
  top: 8px;
  left: 4px;
}
.promotion-layout.mobile {
  display: none;
}
.promotion-layout.desktop .promotion-content-wrapper {
  margin-top: 1em;
}
@media screen and (max-width: 767px) {
  .promotion-layout.desktop {
    display: none;
  }
  .promotion-layout.mobile {
    display: flex;
    flex-direction: column;
    text-align: left;
  }
  .promotion-layout .promotion-mobile-header {
    display: flex;
    align-items: center;
    padding-top: 32px;
  }
  .promotion-layout .promotion-header {
    width: 100%;
  }
  .promotion-layout .promotion-header h3 {
    font-weight: 100;
    font-size: 1.7rem;
  }
  .promotion-layout .promotion-description {
    margin-top: 2em;
  }
  .promotion-layout .promotion-action {
    margin: 5em 0 2em;
  }
  .promotion-layout .promotion-action .button {
    font-size: 10px;
    margin: 0;
    padding: 16px;
  }
  .promotion-layout .social-share-button {
    display: flex;
    justify-content: space-evenly;
  }
}

.expandable-container-list .row:nth-of-type(even) .second-tier-with-promotion {
  background-color: #f1f5e3;
}

.promotion-container {
  position: relative;
  opacity: 1;
  transition: all 0.65s ease-in-out;
}
.promotion-container.hidden {
  opacity: 0;
}

.promotion-questionnaire .col-md-6 input, .promotion-questionnaire .col-md-4 input {
  margin-bottom: 25px;
}
.promotion-questionnaire .col-md-6:last-child input, .promotion-questionnaire .col-md-4:last-child input {
  margin-bottom: 0;
}

.blocker.current {
  padding: 0;
}

@media screen and (max-width: 767px) {
  .promotion-modal {
    width: 100%;
    max-width: 100%;
  }
}
#node-page-logo {
  width: 100px;
  height: 100px;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  #node-page-logo {
    width: 50px;
    height: 50px;
  }
}

#node-page-header {
  grid-template-columns: 100px 1fr;
  align-items: center;
}
@media screen and (max-width: 767px) {
  #node-page-header {
    grid-template-columns: 50px 1fr;
  }
}

#node-page-header.common-node-header {
  -moz-column-gap: 0;
       column-gap: 0;
  margin-left: -1rem;
}
@media screen and (max-width: 767px) {
  #node-page-header.common-node-header {
    margin-left: -0.5rem;
  }
}

#node-page-description p {
  font-size: 1.3rem;
  line-height: 2.5rem;
  font-weight: 300;
}

#node-page-long-description {
  width: 70%;
}

.node-page-created-by {
  font-weight: bold;
  font-size: 0.9rem;
}

.node-page-created-by-names {
  display: inline-block;
}

#node-page-tagline {
  font-weight: bold;
}

.portfolio-group-links ul, .glass-page, .glass-page-section-inner, .glass-page-section-header, .product-page-ctas .cta--form .cta-heading, .product-page-ctas .cta--form .cta-form-container, .product-page-credits .credits, .node-page-graphics .node-graphics-caption, .frosted-glass, .glass {
  border: 1px solid var(--border-color, rgba(127, 127, 127, 0.8));
}

.portfolio-group-links ul, .glass-page, .glass-page-section-inner, .glass-page-section-header, .product-page-ctas .cta--form .cta-heading, .product-page-ctas .cta--form .cta-form-container, .product-page-credits .credits, .node-page-graphics .node-graphics-caption, .frosted-glass, .glass {
  background-color: rgba(255, 255, 255, 0.1);
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
}
@supports not ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
  .portfolio-group-links ul, .glass-page, .glass-page-section-inner, .glass-page-section-header, .product-page-ctas .cta--form .cta-heading, .product-page-ctas .cta--form .cta-form-container, .product-page-credits .credits, .node-page-graphics .node-graphics-caption, .frosted-glass, .glass {
    background-image: linear-gradient(30deg, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.1) 20%, rgba(255, 255, 255, 0.1) 80%, rgba(255, 255, 255, 0.3)), var(--bg-blurred, linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)));
    background-size: cover;
  }
}

.glass-page {
  --bg-blurred: linear-gradient(to bottom, #343755, #583552);
  display: flex;
  flex-direction: column;
  gap: 3rem;
  position: relative;
  border-radius: 10px;
  padding-top: 3rem;
}
.glass-page :where(section) {
  margin-top: 0;
  margin-bottom: 0;
}

.glass-page-with-bottom-whitespace {
  padding-bottom: 3rem;
}

.glass-page-masked, .glass-page-gutter, .glass-page-fade-bottom {
  -webkit-mask-image: var(--top-right-mask, linear-gradient(red, red)), linear-gradient(red, red), linear-gradient(red, red), linear-gradient(red, red), var(--bottom-mask, linear-gradient(red, red)), var(--bottom-mask, linear-gradient(red, red)), var(--bottom-mask, linear-gradient(red, red));
          mask-image: var(--top-right-mask, linear-gradient(red, red)), linear-gradient(red, red), linear-gradient(red, red), linear-gradient(red, red), var(--bottom-mask, linear-gradient(red, red)), var(--bottom-mask, linear-gradient(red, red)), var(--bottom-mask, linear-gradient(red, red));
  -webkit-mask-position: top right, top left, left var(--gutter-height, var(--gutter-width, 300px)), 1px calc(100% - 1em), left bottom, right bottom, 1px bottom;
          mask-position: top right, top left, left var(--gutter-height, var(--gutter-width, 300px)), 1px calc(100% - 1em), left bottom, right bottom, 1px bottom;
  -webkit-mask-size: var(--gutter-width, 300px) var(--gutter-height, var(--gutter-width, 300px)), calc(100% - var(--gutter-width, 300px) + 0.5px) calc(var(--gutter-height, var(--gutter-width, 300px)) + 1px), 100% calc(100% - var(--gutter-height, var(--gutter-width, 300px)) - var(--fade-height, 20vw) + 1px), calc(100% - 2px) var(--fade-height, 20vw), 1px var(--fade-height, 20vw), 1px var(--fade-height, 20vw), calc(100% - 2px) calc(1em + 1px);
          mask-size: var(--gutter-width, 300px) var(--gutter-height, var(--gutter-width, 300px)), calc(100% - var(--gutter-width, 300px) + 0.5px) calc(var(--gutter-height, var(--gutter-width, 300px)) + 1px), 100% calc(100% - var(--gutter-height, var(--gutter-width, 300px)) - var(--fade-height, 20vw) + 1px), calc(100% - 2px) var(--fade-height, 20vw), 1px var(--fade-height, 20vw), 1px var(--fade-height, 20vw), calc(100% - 2px) calc(1em + 1px);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.glass-page-fade-bottom {
  --bottom-mask: linear-gradient(to bottom, red, transparent);
  border-bottom: none;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

@media screen and (min-width: 1025px) {
  .glass-page-gutter {
    --top-right-mask: url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%201%201%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m5.17e-4%200-5.17e-4%205.17e-4v0.146c5.41e-4%20-0.0422%200.00875-0.0869%200.0264-0.133%200.0015-0.00399-4.48e-4%20-0.012-0.00878-0.0129zm0.101%200c-0.00433%200.00204-0.00967%200.00699-0.0119%200.0119-0.117%200.259%200.0944%200.393%200.288%200.489%200.221%200.109%200.447%200.242%200.595%200.389%200.0099%200.0097%200.0259%200.00316%200.0274-0.0103v-0.87952zm-0.101%200.158v0.842l5.17e-4%205.17e-4h0.999c-4.95e-5%20-5.15e-5%205.12e-5%20-4.64e-4%200-5.17e-4%20-0.0102-0.0106-0.0532-0.0511-0.0672-0.0656-0.14-0.138-0.362-0.271-0.58-0.378-0.1-0.049-0.209-0.109-0.282-0.201-0.0424-0.0537-0.0692-0.121-0.0708-0.197z%22%2F%3E%3C%2Fsvg%3E");
  }
}

.glass-page-section, .product-page-ctas .cta--form, .product-page-credits, .node-page-graphics .node-graphics-caption-wrapper, .glass-page-section-inner, .product-page-ctas .cta--form .cta-form-container, .product-page-credits .credits, .node-page-graphics .node-graphics-caption {
  border: 1px solid var(--border-color);
  padding: 0.9rem;
}

.glass-page-section, .product-page-ctas .cta--form, .product-page-credits, .node-page-graphics .node-graphics-caption-wrapper {
  background-color: hsla(var(--base-color-h), var(--base-color-s), calc(var(--base-color-l) * 0.8), 0.5);
  position: relative;
  border-radius: 0.5rem;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2) inset;
  isolation: isolate;
}

.glass-page-section-inner, .product-page-ctas .cta--form .cta-form-container, .product-page-credits .credits, .node-page-graphics .node-graphics-caption {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  border-radius: 0.3rem;
}

.glass-page-section-header, .product-page-ctas .cta--form .cta-heading {
  position: absolute;
  top: 0.45rem;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 9;
  border-radius: 0.2rem;
  padding: 0.5rem 2rem;
  font-weight: bold;
  font-size: larger;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

.focus-icon, .cutout-icon, .faux-cutout-icon, .node-page-cutout-icon {
  border-radius: 100%;
  width: var(--icon-size, 34px);
  aspect-ratio: 1;
  position: relative;
  background-color: transparent;
  box-shadow: 0 0 0 var(--icon-shadow-width, 20px) var(--icon-border-color, var(--border-color, rgba(127, 127, 127, 0.8)));
}
.focus-icon::before, .cutout-icon::before, .faux-cutout-icon::before, .node-page-cutout-icon::before {
  content: "";
  display: block;
  position: absolute;
  left: 10%;
  top: 10%;
  width: 80%;
  height: 80%;
  border-radius: inherit;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  background-image: var(--icon-url, url(/hyve/icons/filemaker));
  background-color: white;
}

.faux-cutout-icon::after, .node-page-cutout-icon::after {
  content: "";
  position: absolute;
  width: calc(100% + var(--icon-shadow-width, 20px) * 2);
  aspect-ratio: 1;
  border-radius: 100%;
  left: calc(-1 * var(--icon-shadow-width, 20px));
  top: calc(-1 * var(--icon-shadow-width, 20px));
  background: var(--faux-cutout-bg);
}

.node-page-header h1:first-of-type, .product-page-header h1:first-of-type, .underscored-heading--centered, .underscored-heading--gradient, .product-page-featured-use-case .glass-page-section-inner .node-with-graphic-heading, .product-page-use-cases :is(.node-with-graphic, #specificity-hack) .node-with-graphic-heading, .product-page-features :is(.node-with-graphic, #specificity-hack) .node-with-graphic-heading, .product-page-featured-use-case .product-page-credits .credits .node-with-graphic-heading, .product-page-credits .product-page-featured-use-case .credits .node-with-graphic-heading, .underscored-heading {
  position: relative;
}
.node-page-header h1:first-of-type::after, .product-page-header h1:first-of-type::after, .underscored-heading--centered::after, .underscored-heading--gradient::after, .product-page-featured-use-case .glass-page-section-inner .node-with-graphic-heading::after, .product-page-use-cases :is(.node-with-graphic, #specificity-hack) .node-with-graphic-heading::after, .product-page-features :is(.node-with-graphic, #specificity-hack) .node-with-graphic-heading::after, .product-page-featured-use-case .product-page-credits .credits .node-with-graphic-heading::after, .product-page-credits .product-page-featured-use-case .credits .node-with-graphic-heading::after, .underscored-heading::after {
  content: "";
  position: absolute;
  bottom: -0.5em;
  left: 0;
  background-color: #ffd939;
  height: 0.15em;
  width: 3em;
  border-radius: 1em;
}

.underscored-heading--gradient::after, .product-page-featured-use-case .glass-page-section-inner .node-with-graphic-heading::after, .product-page-use-cases :is(.node-with-graphic, #specificity-hack) .node-with-graphic-heading::after, .product-page-features :is(.node-with-graphic, #specificity-hack) .node-with-graphic-heading::after, .product-page-featured-use-case .product-page-credits .credits .node-with-graphic-heading::after, .product-page-credits .product-page-featured-use-case .credits .node-with-graphic-heading::after {
  background-image: radial-gradient(84% 2105% at 26% 16%, var(--underline-gradient-color-a, #ffd939) 0%, var(--underline-gradient-color-b, #e374ff) 100%);
}

.underscored-heading--centered {
  text-align: center;
}
.underscored-heading--centered::after {
  right: 0;
  margin: auto;
}

.product-page-installation-instructions .md-page-image-wrapper, .node-graphics-image-wrapper {
  display: grid;
  grid-template: 1fr;
  border-radius: 0.5rem;
  isolation: isolate;
  overflow: hidden;
}
.product-page-installation-instructions .md-page-image-wrapper img, .node-graphics-image-wrapper img, .product-page-installation-instructions .md-page-image-wrapper svg, .node-graphics-image-wrapper svg, .product-page-installation-instructions .md-page-image-wrapper object, .node-graphics-image-wrapper object {
  grid-row: 1;
  grid-column: 1;
}
.product-page-installation-instructions .md-page-image-wrapper::after, .node-graphics-image-wrapper::after {
  content: "";
  grid-row: 1;
  grid-column: 1;
  box-shadow: inset 0 0 0 4px rgba(255, 255, 255, 0.3);
  border-radius: inherit;
  pointer-events: none;
  z-index: 9;
}

.node-graphics {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 0;
  margin-bottom: 1.5rem;
}

@media screen and (max-width: 767px) {
  .node-graphics-desktop {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .node-graphics-mobile {
    display: none;
  }
}

.node-graphics-all,
.node-graphics-desktop,
.node-graphics-mobile {
  display: flex;
  flex-direction: column;
}

.subservice, .subservice-placeholder {
  color: #4a4a4a !important;
}
.subservice-placeholder .subservice-title, .subservice-placeholder .subservice-description {
  filter: blur(5px);
}
.subservice-placeholder:nth-child(2n) .subservice-title::before {
  content: "Lorem ipsum dolor sit amet";
}
.subservice-placeholder:nth-child(2n) .subservice-description::before {
  content: "Lorem ipsum dolor sit amet, consectetur adipiscing elit";
}
.subservice-placeholder:nth-child(2n+1) .subservice-title::before {
  content: "Et harum quidem rerum facilis est et";
}
.subservice-placeholder:nth-child(2n+1) .subservice-description::before {
  content: "At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum";
}

.prices {
  color: #fefefe;
  display: grid;
  gap: 1em;
  align-content: center;
  justify-content: center;
}
.prices h2 {
  text-align: center;
}
@media screen and (min-width: 1025px) {
  .prices.prices-multiple {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .prices.prices-multiple {
    grid-template-columns: 1fr;
  }
}
.prices.prices-single {
  grid-template-columns: 0.5fr;
}

.price {
  min-width: 327px;
  padding: 2rem;
  text-align: center;
}

.price-info {
  margin-bottom: 1rem;
}
.price-info h2, .price-info p {
  margin: 0;
}

.price-description {
  color: #fefefe !important;
}

.price-button {
  margin-top: 1.5rem;
  width: 100%;
  box-shadow: -0.5rem -0.5rem 1rem rgb(165.9, 162.1, 146.1), 0.5rem 0.5rem 1rem rgb(165.9, 162.1, 146.1), 0 0 0.5rem rgba(255, 255, 255, 0.5);
  font-size: 2rem;
}

.price-value {
  font-size: x-large;
  font-weight: bold;
  vertical-align: middle;
}

.price-value-term {
  font-size: small;
  vertical-align: middle;
}

ul.price-additional li {
  list-style-type: "+ ";
}

.price-additional-value {
  padding: 0 1rem;
  font-weight: bold;
}

.price-additional-count input {
  border: 2px solid black;
  width: 3rem;
  text-align: right;
  margin-left: 1rem;
}

@media screen and (min-width: 1025px) {
  .node-page-section-tight-width {
    margin-left: 20%;
    margin-right: 20%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .node-page-section-tight-width {
    margin-left: 10%;
    margin-right: 10%;
  }
}
@media screen and (max-width: 767px) {
  .node-page-section-tight-width {
    margin-left: 7.5%;
    margin-right: 7.5%;
  }
}

@media screen and (min-width: 1025px) {
  .node-page-section-medium-width, .node-page-graphics, .node-page-marketing-texts, .node-page-events, .product-page-description, .product-page-ctas, .node-page-header, .product-page-header {
    margin-left: 15%;
    margin-right: 15%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .node-page-section-medium-width, .node-page-graphics, .node-page-marketing-texts, .node-page-events, .product-page-description, .product-page-ctas, .node-page-header, .product-page-header {
    margin-left: 10%;
    margin-right: 10%;
  }
}
@media screen and (max-width: 767px) {
  .node-page-section-medium-width, .node-page-graphics, .node-page-marketing-texts, .node-page-events, .product-page-description, .product-page-ctas, .node-page-header, .product-page-header {
    margin-left: 3%;
    margin-right: 3%;
  }
}

@media screen and (min-width: 1025px) {
  .node-page-section-large-width, .node-page-content, .product-page-content {
    margin-left: 7.5%;
    margin-right: 7.5%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .node-page-section-large-width, .node-page-content, .product-page-content {
    margin-left: 5%;
    margin-right: 5%;
  }
}

@media screen and (min-width: 1025px) {
  .node-page-section-expanded-width {
    margin-left: 2%;
    margin-right: 2%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .node-page-section-expanded-width {
    margin-left: 2%;
    margin-right: 2%;
  }
}
@media screen and (max-width: 767px) {
  .node-page-section-expanded-width {
    margin-left: 2%;
    margin-right: 2%;
  }
}

.close-button, .accordion-item.popup-accordion .accordion-item-close, .close-button-dark,
.close-button-mobile {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%3E%3Cline%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%2232%22%20y2%3D%2232%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%2232%22%20x2%3D%2232%22%20y2%3D%220%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: var(--close-button-size, 18px) var(--close-button-size, 18px);
  cursor: pointer;
}

.close-button-mobile {
  width: calc(var(--close-button-size, 18px) * 2);
  aspect-ratio: 1;
  border: 2px solid white;
  border-radius: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  box-shadow: 0 0 10px black;
}

.close-button, .accordion-item.popup-accordion .accordion-item-close, .close-button-dark {
  width: var(--close-button-size, 18px);
  aspect-ratio: 1;
  opacity: 0.5;
  transition: opacity 0.3s ease-in-out;
}
.close-button:hover, .accordion-item.popup-accordion .accordion-item-close:hover, .close-button-dark:hover {
  opacity: 1;
}

.close-button-dark {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%20stroke-width%3D%222%22%3E%3Cline%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%2232%22%20y2%3D%2232%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%2232%22%20x2%3D%2232%22%20y2%3D%220%22%2F%3E%3C%2Fsvg%3E");
}

.close-button-o, .accordion-item.popup-accordion .accordion-item-close {
  padding: 15px;
  background-color: rgba(0, 0, 0, 0.9);
  background-size: calc(var(--close-button-size, 18px) * 0.75) calc(var(--close-button-size, 18px) * 0.75);
  border-radius: 100%;
  opacity: 0.75;
}

.products-page-requirements :is(.accordion-item-label, #specificty-hack) {
  --popup-accordion-item-icon-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%20stroke%3D%22rgba%28255%2C%20255%2C%20255%2C%200.6%29%22%20fill%3D%22none%22%3E%3Ccircle%20stroke%3D%22rgba%28255%2C%20255%2C%20255%2C%200.6%29%22%20cx%3D%2216%22%20cy%3D%2216%22%20r%3D%2215%22%2F%3E%3Cline%20x1%3D%2216%22%20y1%3D%225%22%20x2%3D%2216%22%20y2%3D%2227%22%2F%3E%3Cline%20x1%3D%225%22%20y1%3D%2216%22%20x2%3D%2227%22%20y2%3D%2216%22%2F%3E%3C%2Fsvg%3E");
  --popup-accordion-item-icon-image-active: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%20stroke%3D%22rgba%280%2C%200%2C%200%2C%200.6%29%22%20fill%3D%22%23ffd939%22%3E%3Ccircle%20stroke%3D%22none%22%20cx%3D%2216%22%20cy%3D%2216%22%20r%3D%2215%22%2F%3E%3Cline%20x1%3D%2216%22%20y1%3D%225%22%20x2%3D%2216%22%20y2%3D%2227%22%2F%3E%3Cline%20x1%3D%225%22%20y1%3D%2216%22%20x2%3D%2227%22%20y2%3D%2216%22%2F%3E%3C%2Fsvg%3E");
  background-color: var(--popup-accordion-item-background-color, rgba(0, 0, 0, 0.5));
  color: var(--popup-accordion-item-text-color, var(--button-text-color, white));
}

:is(.popup-accordion--pill, #specificity-hack) .accordion-item-label {
  --popup-accordion-item-icon-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%20stroke%3D%22%23ffd939%22%20fill%3D%22white%22%3E%3Ccircle%20stroke%3D%22rgba%280%2C%200%2C%200%2C%200.2%29%22%20cx%3D%2216%22%20cy%3D%2216%22%20r%3D%2215%22%2F%3E%3Cline%20x1%3D%2216%22%20y1%3D%225%22%20x2%3D%2216%22%20y2%3D%2227%22%2F%3E%3Cline%20x1%3D%225%22%20y1%3D%2216%22%20x2%3D%2227%22%20y2%3D%2216%22%2F%3E%3C%2Fsvg%3E");
  --popup-accordion-item-icon-image-active: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%20stroke%3D%22white%22%20fill%3D%22%23ffd939%22%3E%3Ccircle%20stroke%3D%22rgba%280%2C%200%2C%200%2C%200.2%29%22%20cx%3D%2216%22%20cy%3D%2216%22%20r%3D%2215%22%2F%3E%3Cline%20x1%3D%2216%22%20y1%3D%225%22%20x2%3D%2216%22%20y2%3D%2227%22%2F%3E%3Cline%20x1%3D%225%22%20y1%3D%2216%22%20x2%3D%2227%22%20y2%3D%2216%22%2F%3E%3C%2Fsvg%3E");
  background-color: #eeeeee;
  color: var(--popup-accordion-item-text-color, var(--button-text-color, #222222));
}

.accordion-item.popup-accordion .accordion-item-checkbox:checked + .accordion-item-label, .accordion-item.popup-accordion .accordion-item-label:hover, .accordion-item.popup-accordion .accordion-item-label:active {
  --popup-accordion-item-icon-image: var(--popup-accordion-item-icon-image-active) !important;
}

.accordion-item.popup-accordion {
  position: relative;
  font-size: small;
}
.accordion-item.popup-accordion:is(.accordion-item--no-content, #specificity-hack) .accordion-item-label {
  --popup-accordion-item-icon-image: none;
  --popup-accordion-item-icon-image-active: none;
  --popup-accordion-item-highlight-color: none;
}
.accordion-item.popup-accordion .accordion-item-label {
  --popup-accordion-item-icon-size: 1.5rem 1.5rem;
  --popup-accordion-item-icon-position: center right 1rem;
  --popup-accordion-item-icon-repeat: no-repeat;
  display: flex;
  padding-inline: 1rem 4rem;
  align-items: center;
  background-image: var(--popup-accordion-item-icon-image);
  background-size: var(--popup-accordion-item-icon-size);
  background-position: var(--popup-accordion-item-icon-position);
  background-repeat: var(--popup-accordion-item-icon-repeat);
  font-size: small;
  font-weight: normal;
}
.accordion-item.popup-accordion .accordion-item-label::before {
  content: none;
}
.accordion-item.popup-accordion .accordion-item-content {
  position: absolute;
  overflow: visible;
  min-height: auto;
  width: 120%;
  left: 50%;
  top: 100%;
  padding: 1rem 2rem;
  opacity: 0;
  scale: 0;
  translate: -50%;
  transform-origin: 50% 0;
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  z-index: 9;
}
.accordion-item.popup-accordion .accordion-item-checkbox:checked ~ .accordion-item-content {
  opacity: 1;
  scale: 1;
  box-shadow: 0 3px 20px rgba(0, 0, 0, 0.4), 0 0 2px rgba(0, 0, 0, 0.8);
}
.accordion-item.popup-accordion .accordion-item-close {
  --close-button-size: 0.9rem;
  padding: 12px;
  background-color: transparent;
  border: 1px solid rgba(255, 255, 255, 0.8);
  position: absolute;
  top: 0.5em;
  right: 0.5em;
}
.accordion-item.popup-accordion .accordion-item-close::before {
  content: none;
}

:is(.popup-accordion--pill, #specificity-hack) .accordion-item-label {
  background-image: var(--popup-accordion-item-icon-image, none), linear-gradient(to left, var(--popup-accordion-item-highlight-color, #ffd939) 0, var(--popup-accordion-item-highlight-color, #ffd939) 3.3rem, transparent 3.3rem);
  background-size: var(--popup-accordion-item-icon-size), cover;
  background-position: var(--popup-accordion-item-icon-position), top left;
  background-repeat: var(--popup-accordion-item-icon-repeat), no-repeat;
  border-radius: 20rem;
  min-height: 5.5em;
  padding-left: 2rem;
}
:is(.popup-accordion--pill, #specificity-hack).accordion-item--no-content .accordion-item-label {
  padding-right: 2rem;
  justify-content: center;
}

:is(.popup-accordion--icon-left, #specificity-hack) .accordion-item-label {
  padding-left: 3rem;
  padding-right: 1rem;
}
:is(.popup-accordion--icon-left, #specificity-hack):not(.accordion-item--no-content) .accordion-item-label {
  background-position: center left 1rem;
}

.node-page-header::after, .product-page-header::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  border-bottom: 1px solid var(--border-color);
  mix-blend-mode: overlay;
}
@media screen and (min-width: 1025px) {
  .node-page-header, .product-page-header {
    position: relative;
    padding-left: 10rem;
    margin-top: 4rem;
    padding-bottom: 2rem;
    min-height: 10rem;
  }
}
@media screen and (max-width: 1024px) {
  :is(.node-page-header, .product-page-header, #specificity-hack) {
    display: flex;
    flex-direction: column;
  }
}
.node-page-header h1, .product-page-header h1, .node-page-header h2, .product-page-header h2, .node-page-header h3, .product-page-header h3 {
  padding-top: 0;
  margin-top: 0;
}

.node-page-icon, .product-page-icon {
  width: 8rem;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 3px solid white;
  background-image: var(--icon-url);
  background-size: cover;
  background-color: white;
}
@media screen and (min-width: 768px) {
  .node-page-icon, .product-page-icon {
    position: absolute;
    top: 0;
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .node-page-icon, .product-page-icon {
    align-self: center;
    margin-bottom: 2rem;
  }
}

@media screen and (max-width: 1024px) {
  body .node-page-header, body .product-page-header {
    margin-top: 6rem;
    order: -2;
  }
}
.node-page-header h1, .product-page-header h1, .node-page-header h2, .product-page-header h2, .node-page-header h3, .product-page-header h3 {
  text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.5);
}
.node-page-header p, .product-page-header p {
  color: rgba(255, 255, 255, 0.8);
}

@media screen and (max-width: 1024px) {
  .event-page .node-page-header, .event-page .product-page-header {
    margin-top: 0;
  }
}

.glass-page-no-icon .node-page-header, .glass-page-no-icon .product-page-header {
  padding-left: 0;
}

.node-page-backdrop-striped {
  --bg-detail: url(/assets/backgrounds/services-cutout-bg-sm-2b2716bbd649f9ec0e51c318e14af1923062e6870552bce17f06edfa8406f272.webp);
  --border-color: hsl(var(--base-color-h), calc(var(--base-color-s) / 2.5), calc(var(--base-color-l) / 1.6));
  background-image: url(/assets/backgrounds/nodes-page-bottom-left-c406981728d257f8cc0210bd1054c1ea0d53a5e19c3af985ff74b3c762d6be66.svg), url(/assets/backgrounds/nodes-page-bottom-right-9d579fc2af48d78dafe7e3e0f30dfc59e4e49fedac11e0122fa1d607b7bfbbe9.svg), url(/assets/backgrounds/services-cutout-bg-sm-2b2716bbd649f9ec0e51c318e14af1923062e6870552bce17f06edfa8406f272.webp), linear-gradient(to bottom, rgba(19, 31, 63, 0), #310017 5%, #632848 6%, #0f1139 10%, #305380 13%, #4b85b7 15%, rgba(75, 133, 183, 0) 18%), var(--base-bg-gradient, linear-gradient(to bottom, #171230, #23355c 25%, #171230 50%, #471839 75%, #842046));
  background-size: calc(50vw + 1px), calc(50vw + 1px), auto, 100% 77px, cover;
  background-repeat: no-repeat, no-repeat, no-repeat, repeat, no-repeat;
  background-position-y: calc(100% + 1px), calc(100% + 1px), top, -17px, top;
  background-position-x: left, right, left, 0, 0;
  background-color: #171230;
}
.node-page-backdrop-striped.node-page-backdrop-striped--tinted {
  --base-bg-gradient: linear-gradient(to bottom, hsl(var(--base-color-h), calc(var(--base-color-s) / 2), calc(var(--base-color-l) / 3)), hsl(calc(var(--base-color-h) + 100), calc(var(--base-color-s) / 2), calc(var(--base-color-l) / 3)));
  background-color: var(--base-color);
  background-blend-mode: luminosity, luminosity, luminosity, luminosity, normal;
}

.node-page-backdrop-dissolve {
  --base-color-l: 35%;
  --base-color-hs: var(--base-color-h) var(--base-color-s);
  --border-color: hsl(var(--base-color-h) calc(var(--base-color-s) / 2) calc(var(--base-color-l) * 1.6));
  --popup-accordion-item-background-color: hsl(var(--base-color-hs) calc(var(--base-color-l) / 2) / 0.3);
  --accent-color-h: 209;
  --accent-color-s: 88%;
  --accent-color-l: 51%;
  --accent-color-hsl: var(--accent-color-h) var(--accent-color-s) var(--accent-color-l);
  --accent-color: hsl(var(--accent-color-hsl));
  --accent-color-b-hsl: calc(var(--accent-color-h) + 90) calc(var(--accent-color-s) + 10%) var(--accent-color-l);
  --accent-color-b: hsl(var(--accent-color-b-hsl));
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20100%22%3E%3Cfilter%20id%3D%22f%22%20x%3D%220%22%20y%3D%220%22%20width%3D%22100%25%22%20height%3D%22100%25%22%20color-interpolation-filters%3D%22sRGB%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%221%22%2F%3E%3CfeColorMatrix%20type%3D%22saturate%22%20values%3D%220%22%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20fill%3D%22white%22%20opacity%3D%220.5%22%20filter%3D%22url%28%23f%29%22%3E%3C%2Frect%3E%3C%2Fsvg%3E"), url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20150%22%3E%3Cfilter%20id%3D%22b%22%3E%3CfeGaussianBlur%20in%3D%22SourceGraphic%22%20stdDeviation%3D%225%22%2F%3E%3C%2Ffilter%3E%3Cg%20filter%3D%22url%28%23b%29%22%20fill%3D%22white%22%20opacity%3D%220.5%22%3E%3Crect%20x%3D%2210%22%20y%3D%2220%22%20width%3D%2280%22%20height%3D%2240%22%20rx%3D%2220%22%2F%3E%3Crect%20x%3D%2240%22%20y%3D%2290%22%20width%3D%2220%22%20height%3D%2220%22%20rx%3D%2210%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"), linear-gradient(to top, rgb(254.0004, 254.0004, 254.0004) 0%, rgba(254.0004, 254.0004, 254.0004, 0.999) 6.25%, rgba(254.00805, 254.00805, 254.00805, 0.992) 12.5%, rgba(254.0259, 254.0259, 254.0259, 0.973) 18.75%, rgba(254.0616, 254.0616, 254.0616, 0.9375) 25%, rgba(254.1228, 254.1228, 254.1228, 0.878) 31.25%, rgba(254.21205, 254.21205, 254.21205, 0.789) 37.5%, rgba(254.33445, 254.33445, 254.33445, 0.665) 43.75%, rgba(254.5002, 254.5002, 254.5002, 0.5) 50%, rgba(254.66595, 254.66595, 254.66595, 0.335) 56.25%, rgba(254.78835, 254.78835, 254.78835, 0.211) 62.5%, rgba(254.8776, 254.8776, 254.8776, 0.122) 68.75%, rgba(254.93625, 254.93625, 254.93625, 0.0625) 75%, rgba(254.9745, 254.9745, 254.9745, 0.026) 81.25%, rgba(254.99235, 254.99235, 254.99235, 0.007) 87.5%, rgba(255, 255, 255, 0.0009) 93.75%, rgba(255, 255, 255, 0) 100%), linear-gradient(to top, transparent 0%, var(--base-color) 70%, hsl(calc(var(--base-color-h) + 100), calc(var(--base-color-s) * 1.25), var(--base-color-l)) 100%), linear-gradient(to bottom, transparent 0%, var(--base-color) 50%, hsl(calc(var(--base-color-h) + 100), calc(var(--base-color-s) * 1.25), var(--base-color-l)) 100%), linear-gradient(to right, var(--light-color), var(--base-color) calc(49vw - 512px), var(--base-color) calc(51vw + 512px), var(--light-color));
  background-repeat: repeat, repeat-y, repeat-x, repeat-x, repeat-x, repeat;
  background-size: 100px 100px, 1024px, 9rem 9rem, 7rem 7rem, 30rem 30rem, 100%;
  background-position: left top, center top, left bottom, left top, left bottom, 0 0;
  background-attachment: local;
  background-blend-mode: overlay, soft-light, hard-light, difference, difference, hard-light;
  background-color: var(--base-color);
  padding-bottom: 8rem;
  margin-bottom: -8rem;
  border-bottom-left-radius: 1rem;
  border-bottom-right-radius: 1rem;
}

.node-page-image-background {
  background-image: var(--backdrop-background);
  background-size: cover;
  background-position: center;
  background-repeat: repeat-y;
}

.developer-spotlight {
  --wedge-height: 2.5rem;
  -webkit-mask-image: linear-gradient(red, red), linear-gradient(to right bottom, red 0%, red 50%, transparent 51%, transparent 100%), linear-gradient(to left bottom, red 0%, red 50%, transparent 51%, transparent 100%);
          mask-image: linear-gradient(red, red), linear-gradient(to right bottom, red 0%, red 50%, transparent 51%, transparent 100%), linear-gradient(to left bottom, red 0%, red 50%, transparent 51%, transparent 100%);
  -webkit-mask-size: 100% calc(100% - var(--wedge-height)), 50% var(--wedge-height), 50% var(--wedge-height);
          mask-size: 100% calc(100% - var(--wedge-height)), 50% var(--wedge-height), 50% var(--wedge-height);
  -webkit-mask-position: top left, bottom left, bottom right;
          mask-position: top left, bottom left, bottom right;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.developer-spotlight-container {
  display: flex;
  justify-content: center;
  border-radius: 0.5rem;
  border: 1px solid var(--border-color);
  padding-inline: 2rem;
  padding-bottom: 4rem;
  margin-top: 3rem;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.2) inset;
  -moz-column-gap: 2rem;
       column-gap: 2rem;
  row-gap: 2rem;
  border-bottom: none;
  background-image: linear-gradient(to right bottom, transparent 0%, transparent 48.5%, var(--border-color) 50%, var(--border-color) 100%), linear-gradient(to left bottom, transparent 0%, transparent 48.5%, var(--border-color) 50%, var(--border-color) 100%), linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.1) 100%);
  background-size: 50% var(--wedge-height), 50% var(--wedge-height), 100% 100%;
  background-position: bottom left, bottom right, top left;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .developer-spotlight-container {
    flex-direction: row;
  }
  .developer-spotlight-container .bee-tag {
    margin-top: -1.5rem;
    max-width: 33%;
  }
}
@media screen and (max-width: 767px) {
  .developer-spotlight-container {
    flex-direction: column;
  }
  .developer-spotlight-container .bee-tag:first-child {
    margin-top: -1.5rem;
  }
}
.developer-spotlight-container .bee-tag {
  flex: 1;
  text-decoration: none !important;
}
.developer-spotlight-container .bee-tag:hover .bee-tag-headshot {
  transform: scale(1.05) translateY(-1rem);
  box-shadow: 0 0.5rem 0.5rem rgba(0, 0, 0, 0.5);
}
.developer-spotlight-container .bee-tag-headshot {
  width: 9rem;
  border-width: 0.25rem;
  transition: all 0.3s;
}
.developer-spotlight-container .bee-tag-name {
  font-weight: bold;
  font-size: large;
}
.developer-spotlight-container .bee-tag-title {
  color: white;
}
.developer-spotlight-container .bee-tag-description {
  font-size: small;
  color: white;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .developer-spotlight-container:has(.bee-tag:first-child:last-child) {
    margin-top: 0;
    padding-top: 1.5rem;
    padding-bottom: 5rem;
  }
  .developer-spotlight-container:has(.bee-tag:first-child:last-child) .bee-tag {
    display: grid;
    grid-template: "h n" "h t" "h d";
    max-width: 66%;
    grid-column-gap: 2rem;
    grid-row-gap: 0.5rem;
    margin-top: 0;
  }
  .developer-spotlight-container:has(.bee-tag:first-child:last-child) .bee-tag-headshot {
    grid-area: h;
    width: 11rem;
    align-self: self-start;
    margin-top: -2rem;
  }
  .developer-spotlight-container:has(.bee-tag:first-child:last-child) .bee-tag-name {
    grid-area: n;
  }
  .developer-spotlight-container:has(.bee-tag:first-child:last-child) .bee-tag-title {
    grid-area: t;
  }
  .developer-spotlight-container:has(.bee-tag:first-child:last-child) .bee-tag-description {
    grid-area: d;
    text-align: left;
  }
}

.node-page-backdrop {
  --base-color-h: var(--node-color-h);
  --base-color-s: var(--node-color-s);
  --base-color-l: var(--node-color-l);
  --base-color: hsl(var(--base-color-h), var(--base-color-s), var(--base-color-l));
  --light-color: hsl(var(--base-color-h), var(--base-color-s), 90%);
  --icon-border-color: var(--border-color);
}
.node-page-backdrop.node-page-backdrop--primary-color {
  --base-color-h: var(--primary-color-h);
  --base-color-s: var(--primary-color-s);
}
@media screen and (min-width: 1025px) {
  .node-page-backdrop {
    padding-top: 96px;
  }
}
@media screen and (max-width: 1024px) {
  .node-page-backdrop {
    padding-top: 76.8px;
  }
}

.node-page-main, .product-page-main {
  --faux-cutout-bg: var(--bg-detail, var(--base-color));
  color: white;
  border-color: var(--border-color, #536d82);
}
.node-page-main a:-moz-any-link:not([class*=button]):not(.subservice-grid *):not(.subservice *), .product-page-main a:-moz-any-link:not([class*=button]):not(.subservice-grid *):not(.subservice *) {
  color: #ffd939;
}
.node-page-main a:any-link:not([class*=button]):not(.subservice-grid *):not(.subservice *), .product-page-main a:any-link:not([class*=button]):not(.subservice-grid *):not(.subservice *) {
  color: #ffd939;
}
.node-page-main a:-moz-any-link:not([class*=button]):not(.subservice-grid *):not(.subservice *):hover, .product-page-main a:-moz-any-link:not([class*=button]):not(.subservice-grid *):not(.subservice *):hover {
  text-decoration: underline;
}
.node-page-main a:any-link:not([class*=button]):not(.subservice-grid *):not(.subservice *):hover, .product-page-main a:any-link:not([class*=button]):not(.subservice-grid *):not(.subservice *):hover {
  text-decoration: underline;
}
.node-page-main h1, .product-page-main h1, .node-page-main h2, .product-page-main h2, .node-page-main h3, .product-page-main h3 {
  color: white;
}

.node-page-section:has(> turbo-frame) {
  display: none;
}
.node-page-section:has(> turbo-frame > *) {
  display: unset;
}

@media screen and (min-width: 1025px) {
  .node-page-promotions {
    position: absolute;
    top: 0;
    right: 0;
    width: 300px;
    height: 300px;
    padding-left: 8rem;
    padding-right: 2rem;
    padding-top: 1.4rem;
    clip-path: polygon(-30% 0, 100% 0, 100% 100%);
  }
}
@media screen and (max-width: 1024px) {
  .node-page-promotions {
    order: -1;
    text-align: center;
    border: 3px solid rgba(255, 255, 255, 0.5);
    border-radius: 10px;
    background-color: rgba(0, 0, 0, 0.2);
    padding: 2rem;
  }
}
.node-page-promotions h4 {
  margin-top: 0;
  text-transform: none;
}

.node-page-promotions-icon {
  --icon-size: 26px;
  --icon-shadow-width: 9px;
  position: absolute !important;
  top: 2rem;
  left: 4.5rem;
}
.node-page-promotions-icon::after {
  clip-path: path(evenodd, "M 1 22 a 1 1 0 0 0 42 0  1 1 0 0 0 -42 0 z M 7 22 a 1 1 0 0 0 30 0 1 1 0 0 0 -30 0");
}
@media screen and (max-width: 1024px) {
  .node-page-promotions-icon {
    display: none;
  }
}

.node-page-cutout-icon {
  position: absolute;
}
@media screen and (min-width: 1025px) {
  .node-page-cutout-icon {
    --icon-size: 60px;
    --icon-shadow-width: 16px;
    top: calc(3rem + 90px);
    left: calc(12% + 90px);
  }
  .node-page-cutout-icon::after {
    clip-path: path(evenodd, "M 1 46 a 1 1 0 0 0 90 0  1 1 0 0 0 -90 0 z M 14 46 a 1 1 0 0 0 64 0 1 1 0 0 0 -64 0");
  }
}
@media screen and (max-width: 1024px) {
  .node-page-cutout-icon {
    --icon-size: 68px;
    --icon-shadow-width: 17px;
    top: 3rem;
    left: 50%;
    transform: translateX(-50%);
  }
  .node-page-cutout-icon::after {
    clip-path: path(evenodd, "M 1 51 a 1 1 0 0 0 100 0  1 1 0 0 0 -100 0 z M 15 51 a 1 1 0 0 0 72 0 1 1 0 0 0 -72 0");
  }
}
.node-page-cutout-icon::after {
  background: var(--faux-cutout-bg);
}

body .node-page-back-button {
  position: absolute;
}
@media screen and (min-width: 1025px) {
  body .node-page-back-button {
    top: 1.5rem;
    left: 1.5rem;
  }
}
@media screen and (max-width: 1024px) {
  body .node-page-back-button {
    top: 1em;
    right: 1em;
  }
}

.node-page-graphics .node-graphics {
  margin-top: 1rem;
}
.node-page-graphics .node-graphics-all:has(.node-graphics-caption) .node-graphics-image-wrapper,
.node-page-graphics .node-graphics-desktop:has(.node-graphics-caption) .node-graphics-image-wrapper,
.node-page-graphics .node-graphics-mobile:has(.node-graphics-caption) .node-graphics-image-wrapper {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.node-page-graphics .node-graphics-caption-wrapper {
  padding: 0.45rem;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-top: none;
}
.node-page-graphics .node-graphics-caption {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  text-align: center;
  font-size: smaller;
}
.node-page-graphics .node-graphic-wrapper {
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.25);
}

.node-page-marketing-texts {
  background: white;
  border-radius: 10px;
  padding: 1rem;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.25);
}
.node-page-marketing-texts .marketing-texts-container {
  margin: 0;
  border-radius: 6px;
}

.node-page-events {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 3rem;
}
.node-page-events .related-item {
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.25);
}

.node-page-testimonials {
  padding-left: 10%;
  padding-right: 10%;
}
.node-page-testimonials:has(.testimonials--bundle) {
  padding-inline: 0;
}
.node-page-testimonials .testimonials {
  background: none;
  padding-top: 0;
  padding-bottom: 0;
}
.node-page-testimonials .testimonial {
  padding-top: 3vh;
  padding-left: 3%;
  padding-right: 3%;
  padding-bottom: 0;
}
.node-page-testimonials .testimonial-bubble {
  background-color: white;
  color: #111111;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.25);
}

.node-page-subservices .subservices-grid {
  padding-top: 0;
}

@media screen and (min-width: 1025px) {
  .node-page-backdrop[data-slug=connect-development],
  .node-page-backdrop[data-slug=meet-with-vince],
  .node-page-backdrop[data-slug="50-ways-to-use-claris-filemaker"] {
    padding-bottom: 6rem;
    margin-bottom: -6rem;
  }
}
.node-page-backdrop[data-slug=connect-development] .node-page-main, .node-page-backdrop[data-slug=connect-development] .product-page-main,
.node-page-backdrop[data-slug=meet-with-vince] .node-page-main,
.node-page-backdrop[data-slug=meet-with-vince] .product-page-main,
.node-page-backdrop[data-slug="50-ways-to-use-claris-filemaker"] .node-page-main,
.node-page-backdrop[data-slug="50-ways-to-use-claris-filemaker"] .product-page-main {
  background: linear-gradient(to bottom, #373D5C, rgba(55, 61, 92, 0) 75%);
  padding-bottom: 3rem;
}

.node-page-claris-connect-tech .node-page-tech {
  background: none;
  box-shadow: none;
  padding: 0;
  margin: 0;
  color: inherit;
}
.node-page-claris-connect-tech .node-page-tech * {
  color: inherit;
  text-transform: none;
}
@media screen and (min-width: 1025px) {
  .node-page-claris-connect-tech .node-page-tech-element .interest-heart {
    transition: opacity 0.3s ease-in-out;
    opacity: 0;
  }
  .node-page-claris-connect-tech .node-page-tech-element:hover .interest-heart {
    opacity: 1;
  }
}

.node-page-backdrop[data-slug=tableau-development] .node-graphic-wrapper::after {
  display: none;
}

.path-case-studies article {
  padding: 3rem;
}

.product-page-main .accordion-item-content :is(p, h1, h2, h3, h4, h5, h6, ul, ol):empty {
  display: none;
}
.product-page-main .accordion-item-content :first-child, .product-page-main .accordion-item-content:first-child:empty + * {
  margin-top: 0;
  padding-top: 0;
}
.product-page-main .accordion-item-content :last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}

.comparison-table {
  border: 3px solid rgba(254, 254, 254, 0.5);
  border-radius: 0.5rem;
  overflow: hidden;
}
.comparison-table p {
  color: #fefefe;
  font-weight: 900;
  padding: 1rem;
  text-align: center;
}
.comparison-table thead {
  background: #fefefe;
  color: var(--base-color);
  border-radius: 0.5rem;
}
.comparison-table th, .comparison-table td {
  border: 2px solid rgba(254, 254, 254, 0.5);
}
.comparison-table th {
  padding: 0 0.5rem;
}
.comparison-table td {
  padding: 0.5rem;
  vertical-align: middle;
}
.comparison-table .yellow-grid-check-area {
  display: flex;
  align-items: center;
  justify-content: center;
}
.comparison-table .yellow-grid-check-wrapper {
  border: 1px solid #ffd939;
  border-radius: 50%;
  width: 1.25rem;
  height: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.comparison-table .yellow-grid-check {
  width: 0.875rem;
  height: 0.875rem;
  background-color: #ffd939;
  border: 1px transparent;
  border-radius: 50%;
}

.rich-text ul, .product-page-description ul, .product-page-content ul, .rich-text ol, .product-page-description ol, .product-page-content ol {
  margin-left: 1rem;
}
.rich-text ul, .product-page-description ul, .product-page-content ul {
  list-style: circle;
}
.rich-text ol, .product-page-description ol, .product-page-content ol {
  list-style: decimal;
}
.rich-text pre, .product-page-description pre, .product-page-content pre {
  background-color: rgba(0, 0, 0, 0.75);
  border-radius: 5px;
  padding: 1rem;
  overflow-x: auto;
}

.product-page-actions {
  display: flex;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .product-page-actions {
    flex-direction: row;
    justify-content: start;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 767px) {
  .product-page-actions {
    flex-direction: column;
    align-self: stretch;
    align-items: stretch;
  }
}
:is(.product-page-actions, #specificity-hack) {
  margin-top: 1rem;
}

.product-page-action-button, .products-page-requirements :is(.accordion-item-label, #specificty-hack) {
  flex: 0;
  padding-block: 0.7rem;
  border-radius: 5px;
}
.product-page-action-button i.fa, .products-page-requirements :is(.accordion-item-label, #specificty-hack) i.fa {
  font-size: 150%;
}

.products-page-requirements {
  display: flex;
}
@media screen and (max-width: 767px) {
  .products-page-requirements :is(.accordion-item-label, #specificty-hack) {
    flex: 1;
    display: block;
    text-align: center;
    padding-left: var(--popup-accordion-item-padding-inline, 1rem);
  }
}
.products-page-requirements .accordion-item-content {
  min-width: min(100vw, 18rem);
}

.button--groove:is(.button--groove, .spec.bump.bump.bump) {
  border: 3px solid black;
  box-shadow: 0 0 0 1px var(--button-color, #ffd939), 0 0 0 1px inset var(--button-color, #ffd939);
  border-radius: 3px;
}

.button, .button--caps, .button--block, .button--back, .button--groove, .button--wider, .button--wide, .button--pill, .button--hollow, .button--hollow-thicker, .button--hollow-thick, .button--larger, .button--large, .button--smaller, .button--small, .button--white, .button--black, .button--deep-purple, .button--solid {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0.35em;
  white-space: nowrap;
  cursor: pointer;
  border: none;
  border-radius: 5px;
  padding: 0.75em 1.3em;
  background-color: var(--button-color, #ffd939);
  color: var(--button-text-color, black);
  font-size: inherit;
  font-weight: bold;
  text-decoration: none;
  transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  .button, .button--caps, .button--block, .button--back, .button--groove, .button--wider, .button--wide, .button--pill, .button--hollow, .button--hollow-thicker, .button--hollow-thick, .button--larger, .button--large, .button--smaller, .button--small, .button--white, .button--black, .button--deep-purple, .button--solid {
    text-align: center;
    display: flex;
  }
}
.button:hover, .button--caps:hover, .button--block:hover, .button--back:hover, .button--groove:hover, .button--wider:hover, .button--wide:hover, .button--pill:hover, .button--hollow:hover, .button--hollow-thicker:hover, .button--hollow-thick:hover, .button--larger:hover, .button--large:hover, .button--smaller:hover, .button--small:hover, .button--white:hover, .button--black:hover, .button--deep-purple:hover, .button:focus-visible, .button--caps:focus-visible, .button--block:focus-visible, .button--back:focus-visible, .button--groove:focus-visible, .button--wider:focus-visible, .button--wide:focus-visible, .button--pill:focus-visible, .button--hollow:focus-visible, .button--hollow-thicker:focus-visible, .button--hollow-thick:focus-visible, .button--larger:focus-visible, .button--large:focus-visible, .button--smaller:focus-visible, .button--small:focus-visible, .button--white:focus-visible, .button--black:focus-visible, .button--deep-purple:focus-visible, .button--solid:hover, .button--solid:focus-visible {
  --button-color: var(--button-color-focus, rgb(255, 220.8, 76.8));
  color: var(--button-text-color, black);
}
.button:active, .button--caps:active, .button--block:active, .button--back:active, .button--groove:active, .button--wider:active, .button--wide:active, .button--pill:active, .button--hollow:active, .button--hollow-thicker:active, .button--hollow-thick:active, .button--larger:active, .button--large:active, .button--smaller:active, .button--small:active, .button--white:active, .button--black:active, .button--deep-purple:active, .button--solid:active {
  --button-color: var(--button-color-focus, rgb(255, 224.6, 96.6));
  color: var(--button-text-color, black);
  transform: scale(0.98);
}
.button:disabled, .button--caps:disabled, .button--block:disabled, .button--back:disabled, .button--groove:disabled, .button--wider:disabled, .button--wide:disabled, .button--pill:disabled, .button--hollow:disabled, .button--hollow-thicker:disabled, .button--hollow-thick:disabled, .button--larger:disabled, .button--large:disabled, .button--smaller:disabled, .button--small:disabled, .button--white:disabled, .button--black:disabled, .button--deep-purple:disabled, .button--solid:disabled {
  background-color: #cccccc;
}

.button--deep-purple {
  --button-color: #290186;
  --button-color-opposite: white;
}
.button--deep-purple:hover:not(:disabled), .button--deep-purple:focus-visible {
  --button-color: var(--button-color-focus, rgb(52.3379699248, 1.15, 171.35));
}

.button--black {
  --button-color: #222222;
  --button-color-opposite: white;
}
.button--black:hover:not(:disabled), .button--black:focus-visible {
  --button-color: var(--button-color-focus, #222222);
}

.button--white {
  --button-color: white;
  --button-color-opposite: #222222;
}
.button--white:hover:not(:disabled), .button--white:focus-visible {
  --button-color: var(--button-color-focus, white);
}

:is(.button--white-text, .spec.bump.bump.bump) {
  color: white;
}

:is(.button--black-text, .spec.bump.bump.bump) {
  color: #222222;
}

.button--small {
  font-size: small;
}

.button--smaller {
  font-size: 70%;
}

.button--large {
  font-size: large;
}

.button--larger {
  font-size: larger;
}

.button--hollow, .button--hollow-thicker, .button--hollow-thick {
  background-color: transparent;
  border: 1px solid var(--button-color, #ffd939);
  padding-block: calc(0.75em - 1px);
}
.button--hollow:is(.button--hollow, .button--hollow-thicker, .button--hollow-thick, .spec.bump), .button--hollow-thicker:is(.button--hollow, .button--hollow-thicker, .button--hollow-thick, .spec.bump), .button--hollow-thick:is(.button--hollow, .button--hollow-thicker, .button--hollow-thick, .spec.bump) {
  color: var(--button-color, #ffd939);
}
.button--hollow:is(.button--hollow, .button--hollow-thicker, .button--hollow-thick, .spec.bump):hover:not(:disabled), .button--hollow-thicker:is(.button--hollow, .button--hollow-thicker, .button--hollow-thick, .spec.bump):hover:not(:disabled), .button--hollow-thick:is(.button--hollow, .button--hollow-thicker, .button--hollow-thick, .spec.bump):hover:not(:disabled), .button--hollow:is(.button--hollow, .button--hollow-thicker, .button--hollow-thick, .spec.bump):focus-visible, .button--hollow-thicker:is(.button--hollow, .button--hollow-thicker, .button--hollow-thick, .spec.bump):focus-visible, .button--hollow-thick:is(.button--hollow, .button--hollow-thicker, .button--hollow-thick, .spec.bump):focus-visible {
  color: var(--button-color-opposite, black);
}
.button--hollow:hover, .button--hollow-thicker:hover, .button--hollow-thick:hover, .button--hollow:focus-visible, .button--hollow-thicker:focus-visible, .button--hollow-thick:focus-visible {
  background-color: var(--button-color, #ffd939) !important;
}
.button--hollow:disabled, .button--hollow-thicker:disabled, .button--hollow-thick:disabled {
  border-color: #cccccc !important;
  color: #cccccc !important;
  background-color: rgba(204, 204, 204, 0.25) !important;
}

.button--hollow-thick {
  border-width: 2px;
  padding-block: calc(0.75em - 2px);
}

.button--hollow-thicker {
  border-width: 3px;
  padding-block: calc(0.75em - 3px);
}

.button--pill {
  border-radius: 4em;
}

.button--wide {
  padding-inline: 3em;
}

.button--wider {
  padding-inline: 5em;
}

.button--groove:is(.button--groove, .spec.bump.bump.bump) {
  position: relative;
}
.button--groove:focus-visible {
  outline: 1px solid white;
}

.button--soft-icon {
  position: relative;
}
.button--soft-icon i.fa {
  display: block;
  position: absolute;
  right: 1.5em;
  top: calc(50% - 1em);
  width: 2em;
  height: 2em;
  font-size: 0.6em;
  background: rgba(0, 0, 0, 0.1);
  border-radius: 1em;
  line-height: 2em;
  text-align: center;
  text-indent: 1px;
  vertical-align: middle;
  color: rgba(0, 0, 0, 0.4);
}

.button--back {
  clip-path: polygon(18px 0, 100% 0, 100% 100%, 18px 100%, 0 52%, 0 48%);
  padding-left: 1.75em;
}

.button--block {
  display: flex;
}
.button--block:is(button, input) {
  width: 100%;
}

.button--glow:hover:not(:disabled), .product-page-ctas .button.response-submit:hover:not(:disabled), .button.button--glow:hover:not(:disabled) {
  box-shadow: 0 0 3rem 0 var(--button-color, #ffd939);
}

.button--caps {
  text-transform: uppercase;
}

.form-field {
  position: relative;
  line-height: 1rem;
}
.form-field:not(.other) {
  margin-bottom: 1.75rem;
}
.form-field.with-other-input .custom-field.select .form-field.other {
  margin-top: 0.625rem;
}
.form-field.with-error:not(:focus-within) input:not([type=checkbox]):not([type=radio]), .form-field.with-error:not(:focus-within) .select2-container, .form-field.with-error:not(:focus-within) .text-area {
  border-bottom: 1px solid #cc4b37;
  box-shadow: 0 2px 0 #cc4b37;
}
.form-field input {
  border: 1px solid #ddd;
}
.form-field .text-area textarea {
  min-height: 4rem;
  margin-top: 1.25rem;
  padding: 0 0.4rem 0.4rem;
  border: 1px solid transparent;
}
.form-field input, .form-field textarea, .form-field .text-area, .form-field .select2-container {
  border-radius: 5px;
  background-color: #fefefe;
}
.form-field input, .form-field textarea {
  width: 100%;
  outline: none;
}
.form-field textarea {
  max-width: 100%;
}
.form-field input, .form-field .text-area {
  border-bottom: 1px solid #ffd939;
  box-shadow: 0 2px 0 #ffd939;
  transition: border-bottom, box-shadow 0.3s ease-in-out;
}
.form-field input:focus, .form-field input:focus-within, .form-field .text-area:focus, .form-field .text-area:focus-within {
  border: 1px solid #ffd939;
  box-shadow: 0 0 5px #cccccc;
}
.form-field input.text-input {
  height: 3rem;
  padding: 1.25rem 0.5rem 0.5rem;
}
.form-field input.text-input:focus {
  border: 1px solid #ffd939 !important;
  box-shadow: 0 0 5px #cccccc;
}
.form-field .text-area {
  border: 1px solid #cccccc;
}
.form-field .text-area:focus-within {
  border: 1px solid #ffd939 !important;
  box-shadow: 0 0 5px #cccccc;
}
.form-field .select2-selection__rendered {
  padding-top: 0.4rem;
}
.form-field .radio-set-wrapper, .form-field .multiple-choice-wrapper {
  row-gap: 1rem;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .form-field .radio-set-wrapper, .form-field .multiple-choice-wrapper {
    grid-template-columns: 1fr 1fr;
  }
}
.form-field .radio-set-wrapper input, .form-field .radio-set-wrapper label, .form-field .multiple-choice-wrapper input, .form-field .multiple-choice-wrapper label {
  margin: 0;
}
.form-field .radio-set-wrapper label, .form-field .multiple-choice-wrapper label {
  font-size: 0.875rem;
}
.form-field .radio-set-wrapper .multiple-choice-container, .form-field .multiple-choice-wrapper .multiple-choice-container {
  width: 100%;
}
.form-field .radio-set-wrapper fieldset, .form-field .multiple-choice-wrapper fieldset {
  padding: 0;
}
.form-field .radio-set-wrapper input[type=radio], .form-field .radio-set-wrapper input[type=checkbox], .form-field .multiple-choice-wrapper input[type=radio], .form-field .multiple-choice-wrapper input[type=checkbox] {
  display: none;
}
.form-field .radio-set-wrapper input + .radio-label, .form-field .radio-set-wrapper input + .checkbox-label, .form-field .multiple-choice-wrapper input + .radio-label, .form-field .multiple-choice-wrapper input + .checkbox-label {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 75px;
  background: white;
  border: 1px solid rgba(255, 255, 255, 0.5);
  box-shadow: 0px 0px 20px rgba(4, 35, 132, 0.25);
  border-radius: 10px;
  text-align: center;
}
.form-field .radio-set-wrapper input:checked + .radio-label, .form-field .radio-set-wrapper input:checked + .checkbox-label, .form-field .multiple-choice-wrapper input:checked + .radio-label, .form-field .multiple-choice-wrapper input:checked + .checkbox-label {
  background: #d0e7a0;
}

.form-response-question-prompt {
  color: #fefefe;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 767px) {
  .form-response-question-prompt {
    max-width: 99%;
  }
}

.float-label {
  color: #7d7d7d;
  pointer-events: none;
  height: 1.5rem;
  position: absolute;
  top: 1rem;
  left: 0.5rem;
  transform-origin: left;
  transition: transform 0.2s;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  z-index: 1;
}

.form-field.with-content > .float-label, .form-field:focus-within > .float-label, .form-field:focus-within > .float-label {
  overflow: visible;
  text-overflow: clip;
  transform: scale(0.7) translateY(-1rem);
}
.form-field[data-controller=bz-forms--select]:not(:focus-within) > .float-label {
  transition-delay: 0.2s;
}

.privacy-policy-agreement {
  font-size: 0.9rem;
}

.grecaptcha-badge {
  visibility: hidden;
}

.tooltipster-sidetip.form-errors .tooltipster-box {
  background: #cc4b37;
  border: none;
  border-radius: 6px;
}

.tooltipster-sidetip.form-errors .tooltipster-arrow .tooltipster-arrow-border, .tooltipster-sidetip.form-errors .tooltipster-arrow .tooltipster-arrow-background {
  border-top-color: #cc4b37;
}

.tooltipster-sidetip.multiple-choice-short-descriptions .tooltipster-box {
  background: #ffd939;
  border: none;
  border-radius: 6px;
}

.tooltipster-sidetip.multiple-choice-short-descriptions .tooltipster-content {
  color: #222222;
  line-height: 1.5em;
}

.tooltipster-sidetip.multiple-choice-short-descriptions .tooltipster-arrow .tooltipster-arrow-border, .tooltipster-sidetip.multiple-choice-short-descriptions .tooltipster-arrow .tooltipster-arrow-background {
  border-top-color: #ffd939;
}

.form-response-question-prompt {
  margin: 1rem 0;
  color: #7d7d7d;
}

.checkbox-label, .radio-label {
  display: flex;
}
.checkbox-label:hover, .radio-label:hover {
  background: rgb(236.2, 245.4, 217) !important;
}
.checkbox-label span, .radio-label span {
  width: 100%;
  margin-right: 3.25rem;
  text-align: left;
}

.checkbox-wrapper, .radio-wrapper {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0 1rem;
}
.checkbox-wrapper .checkbox, .checkbox-wrapper .radio, .radio-wrapper .checkbox, .radio-wrapper .radio {
  width: 1rem;
  height: 1rem;
  background: #fefefe;
}
.checkbox-wrapper .radio, .radio-wrapper .radio {
  border-radius: 100%;
}
.checkbox-wrapper .checkbox, .radio-wrapper .checkbox {
  border: 1px solid #eeeeee;
}

.radio-wrapper {
  border-radius: 100%;
  background: #cccccc;
  border: 1px solid #eeeeee;
}

.checkbox-wrapper {
  background: #fefefe;
  border: 1px solid #eeeeee;
}

input:checked + .checkbox-label .checkbox, input:checked + .checkbox-label .radio, input:checked + .radio-label .checkbox, input:checked + .radio-label .radio {
  background: #28ce75;
  border: 1px solid #eeeeee;
}

.float-label {
  margin: 0;
}

.custom-field + .tip, .custom-field .tip {
  display: inline-block;
  margin: 0.5rem 0;
  font-size: 80%;
}

.form-actions-buttons {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.custom-field.select .select2-selection__clear, .custom-field.select-with-hyve-nodes .select2-selection__clear {
  display: none;
}

.text-area-node-recommendations {
  margin-top: 1rem;
  font-weight: bold;
}

.form-wrapper label#privacy-policy-agreement::after, .form-wrapper .g-recaptcha::after {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  font-family: FontAwesome;
  font-size: 1.25rem;
  content: "\f06a";
  background-color: white;
  color: #cc4b37;
  border-radius: 50%;
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  line-height: 1.5rem;
  text-align: center;
  position: relative;
  left: 0.625rem;
  margin-right: -1.5rem;
}
.form-wrapper label.with-error#privacy-policy-agreement::after, .form-wrapper .with-error.g-recaptcha::after {
  opacity: 1;
}

body.controller-responses, body.controller-downloads {
  color: #ddd;
  background-color: #111111;
}
body.controller-responses .field_with_errors, body.controller-downloads .field_with_errors {
  display: inline;
}
body.controller-responses .centered-notification, body.controller-downloads .centered-notification {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
body.controller-responses .centered-notification .thanks, body.controller-responses .centered-notification .additional-forms, body.controller-downloads .centered-notification .thanks, body.controller-downloads .centered-notification .additional-forms {
  padding: 1.5rem 3rem;
  border-radius: 5px;
  background-color: rgba(34, 34, 34, 0.7529411765);
}
body.controller-responses .centered-notification .thanks h4, body.controller-responses .centered-notification .additional-forms h4, body.controller-downloads .centered-notification .thanks h4, body.controller-downloads .centered-notification .additional-forms h4 {
  font-size: 0.875rem;
  letter-spacing: 1px;
  margin: 0;
}
body.controller-responses .centered-notification .additional-forms, body.controller-downloads .centered-notification .additional-forms {
  margin-top: 2rem;
}

@media screen and (min-width: 1025px) {
  .form-wrapper {
    padding-top: calc(var(--nav-size) * 1.5);
  }
}
@media screen and (max-width: 1024px) {
  .form-wrapper {
    padding-top: calc(var(--nav-size) * 1.2);
  }
}
.form-wrapper hr {
  margin: 1.25rem auto;
}
.form-wrapper form.plain, .form-wrapper .form-section-content {
  row-gap: 0;
  grid-template-columns: repeat(12, 1fr);
}
.form-wrapper form.plain .form-field.width-1, .form-wrapper .form-section-content .form-field.width-1 {
  grid-column: span 1;
}
@media screen and (max-width: 767px) {
  .form-wrapper form.plain .form-field.width-1, .form-wrapper .form-section-content .form-field.width-1 {
    grid-column: span 12;
  }
}
.form-wrapper form.plain .form-field.width-2, .form-wrapper .form-section-content .form-field.width-2 {
  grid-column: span 2;
}
@media screen and (max-width: 767px) {
  .form-wrapper form.plain .form-field.width-2, .form-wrapper .form-section-content .form-field.width-2 {
    grid-column: span 12;
  }
}
.form-wrapper form.plain .form-field.width-3, .form-wrapper .form-section-content .form-field.width-3 {
  grid-column: span 3;
}
@media screen and (max-width: 767px) {
  .form-wrapper form.plain .form-field.width-3, .form-wrapper .form-section-content .form-field.width-3 {
    grid-column: span 12;
  }
}
.form-wrapper form.plain .form-field.width-4, .form-wrapper .form-section-content .form-field.width-4 {
  grid-column: span 4;
}
@media screen and (max-width: 767px) {
  .form-wrapper form.plain .form-field.width-4, .form-wrapper .form-section-content .form-field.width-4 {
    grid-column: span 12;
  }
}
.form-wrapper form.plain .form-field.width-5, .form-wrapper .form-section-content .form-field.width-5 {
  grid-column: span 5;
}
@media screen and (max-width: 767px) {
  .form-wrapper form.plain .form-field.width-5, .form-wrapper .form-section-content .form-field.width-5 {
    grid-column: span 12;
  }
}
.form-wrapper form.plain .form-field.width-6, .form-wrapper .form-section-content .form-field.width-6 {
  grid-column: span 6;
}
@media screen and (max-width: 767px) {
  .form-wrapper form.plain .form-field.width-6, .form-wrapper .form-section-content .form-field.width-6 {
    grid-column: span 12;
  }
}
.form-wrapper form.plain .form-field.width-7, .form-wrapper .form-section-content .form-field.width-7 {
  grid-column: span 7;
}
@media screen and (max-width: 767px) {
  .form-wrapper form.plain .form-field.width-7, .form-wrapper .form-section-content .form-field.width-7 {
    grid-column: span 12;
  }
}
.form-wrapper form.plain .form-field.width-8, .form-wrapper .form-section-content .form-field.width-8 {
  grid-column: span 8;
}
@media screen and (max-width: 767px) {
  .form-wrapper form.plain .form-field.width-8, .form-wrapper .form-section-content .form-field.width-8 {
    grid-column: span 12;
  }
}
.form-wrapper form.plain .form-field.width-9, .form-wrapper .form-section-content .form-field.width-9 {
  grid-column: span 9;
}
@media screen and (max-width: 767px) {
  .form-wrapper form.plain .form-field.width-9, .form-wrapper .form-section-content .form-field.width-9 {
    grid-column: span 12;
  }
}
.form-wrapper form.plain .form-field.width-10, .form-wrapper .form-section-content .form-field.width-10 {
  grid-column: span 10;
}
@media screen and (max-width: 767px) {
  .form-wrapper form.plain .form-field.width-10, .form-wrapper .form-section-content .form-field.width-10 {
    grid-column: span 12;
  }
}
.form-wrapper form.plain .form-field.width-11, .form-wrapper .form-section-content .form-field.width-11 {
  grid-column: span 11;
}
@media screen and (max-width: 767px) {
  .form-wrapper form.plain .form-field.width-11, .form-wrapper .form-section-content .form-field.width-11 {
    grid-column: span 12;
  }
}
.form-wrapper form.plain .form-field.width-12, .form-wrapper .form-section-content .form-field.width-12 {
  grid-column: span 12;
}
@media screen and (max-width: 767px) {
  .form-wrapper form.plain .form-field.width-12, .form-wrapper .form-section-content .form-field.width-12 {
    grid-column: span 12;
  }
}
.form-wrapper form.plain .form-section-navigation, .form-wrapper .form-section-content .form-section-navigation {
  grid-column: span 12;
}
.form-wrapper form.plain .form-actions, .form-wrapper .form-section-content .form-actions {
  grid-column: span 12;
}
@media screen and (max-width: 767px) {
  .form-wrapper form.plain .form-actions, .form-wrapper .form-section-content .form-actions {
    text-align: center;
  }
  .form-wrapper form.plain .form-actions .form-actions-buttons, .form-wrapper .form-section-content .form-actions .form-actions-buttons {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .form-wrapper form.plain .form-actions .form-actions-buttons .button.response-clear, .form-wrapper form.plain .form-actions .form-actions-buttons input.response-submit, .form-wrapper .form-section-content .form-actions .form-actions-buttons .button.response-clear, .form-wrapper .form-section-content .form-actions .form-actions-buttons input.response-submit {
    width: 45%;
  }
}
.form-wrapper .form-field.conditional-hide, .form-wrapper section.conditional-hide {
  display: none;
}
.form-wrapper .form-field.with-other-input .select > .required-field-alert, .form-wrapper .form-field.with-other-input .select > .tip {
  display: none;
}
.form-wrapper .conditional-text:has(p) {
  margin-top: 0.25rem;
  padding: 0.25rem;
}
.form-wrapper .conditional-text p {
  margin: 0.25rem 0;
}
.form-wrapper .custom-field {
  position: relative;
}
.form-wrapper .custom-field.file {
  padding: 0.625rem;
}
.form-wrapper .custom-field.multiple-choice, .form-wrapper .custom-field.radio, .form-wrapper .custom-field.file {
  border-radius: 5px;
  background: #fefefe;
  padding: 1rem 3rem 2rem;
}
.form-wrapper .custom-field.multiple-choice .form-response-question-prompt, .form-wrapper .custom-field.radio .form-response-question-prompt, .form-wrapper .custom-field.file .form-response-question-prompt {
  margin-bottom: 0.5rem;
  color: #7d7d7d;
}
.form-wrapper .custom-field.multiple-choice .checkbox-node-short-description {
  display: none;
  font-size: smaller;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .form-wrapper .custom-field.multiple-choice .checkbox-node-short-description {
    display: block;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .form-wrapper .custom-field.multiple-choice .checkbox-node-short-description {
    display: block;
  }
}
.form-wrapper .custom-field.select, .form-wrapper .custom-field.select-with-hyve-nodes, .form-wrapper .custom-field.multiple-choice-with-hyve-nodes {
  border-bottom: 1px solid #ffd939;
  box-shadow: 0 2px 0 #ffd939;
  border-radius: 5px;
}
.form-wrapper .custom-field.select .select2-selection--single, .form-wrapper .custom-field.select .select2-selection--multiple, .form-wrapper .custom-field.select-with-hyve-nodes .select2-selection--single, .form-wrapper .custom-field.select-with-hyve-nodes .select2-selection--multiple, .form-wrapper .custom-field.multiple-choice-with-hyve-nodes .select2-selection--single, .form-wrapper .custom-field.multiple-choice-with-hyve-nodes .select2-selection--multiple {
  border: none;
}
.form-wrapper .custom-field.select .select2-selection__placeholder, .form-wrapper .custom-field.select-with-hyve-nodes .select2-selection__placeholder, .form-wrapper .custom-field.multiple-choice-with-hyve-nodes .select2-selection__placeholder {
  display: none;
}
.form-wrapper .custom-field.select .select2-selection__arrow, .form-wrapper .custom-field.select-with-hyve-nodes .select2-selection__arrow, .form-wrapper .custom-field.multiple-choice-with-hyve-nodes .select2-selection__arrow {
  height: 3rem;
}
.form-wrapper .custom-field.select .select2-selection__rendered, .form-wrapper .custom-field.select-with-hyve-nodes .select2-selection__rendered, .form-wrapper .custom-field.multiple-choice-with-hyve-nodes .select2-selection__rendered {
  line-height: 3.125rem;
}
.form-wrapper .custom-field.select .select2-results__option, .form-wrapper .custom-field.select-with-hyve-nodes .select2-results__option, .form-wrapper .custom-field.multiple-choice-with-hyve-nodes .select2-results__option {
  color: #4a4a4a;
}
.form-wrapper .custom-field.select .select2-results__option--highlighted, .form-wrapper .custom-field.select-with-hyve-nodes .select2-results__option--highlighted, .form-wrapper .custom-field.multiple-choice-with-hyve-nodes .select2-results__option--highlighted {
  background-color: #ffd939;
}
.form-wrapper .custom-field.select .select2-search__field, .form-wrapper .custom-field.select-with-hyve-nodes .select2-search__field, .form-wrapper .custom-field.multiple-choice-with-hyve-nodes .select2-search__field {
  height: 1.5rem;
  font-size: 1rem;
}
.form-wrapper .custom-field.select .select2-selection {
  height: 3.125rem;
}
.form-wrapper .custom-field.select .select2-selection__clear {
  line-height: 2.875rem;
  margin-right: 1.5rem;
}
.form-wrapper .custom-field.select-with-hyve-nodes .form-response-question-prompt, .form-wrapper .custom-field.multiple-choice-with-hyve-nodes .form-response-question-prompt {
  pointer-events: none;
}
.form-wrapper .custom-field.select-with-hyve-nodes .select2-selection, .form-wrapper .custom-field.multiple-choice-with-hyve-nodes .select2-selection {
  min-height: 5.5rem;
  padding-top: 1.5rem;
}
.form-wrapper .custom-field.select-with-hyve-nodes .select2-selection__rendered, .form-wrapper .custom-field.multiple-choice-with-hyve-nodes .select2-selection__rendered {
  line-height: 1.5rem;
}
.form-wrapper .custom-field.select-with-hyve-nodes .select2-selection__clear, .form-wrapper .custom-field.multiple-choice-with-hyve-nodes .select2-selection__clear {
  margin-top: 0;
}
.form-wrapper .custom-field.select-with-hyve-nodes .select2-selection__choice, .form-wrapper .custom-field.multiple-choice-with-hyve-nodes .select2-selection__choice {
  padding: 0;
  position: relative;
  border: 0px;
  background: none;
  border: none;
}
.form-wrapper .custom-field.select-with-hyve-nodes .select2-selection__choice__remove, .form-wrapper .custom-field.multiple-choice-with-hyve-nodes .select2-selection__choice__remove {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  border: none;
}
.form-wrapper .custom-field.select-with-hyve-nodes .select2-selection__choice__remove:hover, .form-wrapper .custom-field.multiple-choice-with-hyve-nodes .select2-selection__choice__remove:hover {
  background-color: transparent;
}
.form-wrapper .custom-field.select-with-hyve-nodes .select2-selection__choice__remove span[aria-hidden=true], .form-wrapper .custom-field.multiple-choice-with-hyve-nodes .select2-selection__choice__remove span[aria-hidden=true] {
  display: none;
}
.form-wrapper .custom-field.select-with-hyve-nodes .select2-results__option--selected, .form-wrapper .custom-field.multiple-choice-with-hyve-nodes .select2-results__option--selected {
  display: none;
}
.form-wrapper .custom-field.select-with-hyve-nodes .node-selection-wrapper, .form-wrapper .custom-field.multiple-choice-with-hyve-nodes .node-selection-wrapper {
  position: relative;
  z-index: 2;
  padding-left: 0.625rem;
  padding-right: 2rem;
  text-transform: uppercase;
  font-size: 0.625rem;
  color: #4a4a4a;
}
.form-wrapper .custom-field.select-with-hyve-nodes .node-selection-background, .form-wrapper .custom-field.multiple-choice-with-hyve-nodes .node-selection-background {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
.form-wrapper .custom-field.multiple-choice > .form-response-question-prompt, .form-wrapper .custom-field.radio > .form-response-question-prompt {
  padding: 0.625rem 0.625rem 0;
}
.form-wrapper .custom-field.multiple-choice .multiple-choice-wrapper, .form-wrapper .custom-field.multiple-choice .radio-set-wrapper, .form-wrapper .custom-field.radio .multiple-choice-wrapper, .form-wrapper .custom-field.radio .radio-set-wrapper {
  padding: 0 0.625rem 0.625rem;
}
.form-wrapper .custom-field.checkbox {
  display: flex;
  align-items: center;
}
.form-wrapper .custom-field.checkbox .form-response-question-prompt {
  color: white;
  margin: 0;
}
.form-wrapper .form-field.single-option-select .select2-selection__arrow {
  display: none;
}
.form-wrapper .checkbox-label, .form-wrapper .radio-label {
  color: #4a4a4a;
}
.form-wrapper .form-field.with-error .required-field-alert {
  opacity: 1;
}
.form-wrapper .form-field.with-error .tip {
  opacity: 0;
}
.form-wrapper .form-field .required-field-alert {
  opacity: 0;
}
.form-wrapper .form-field .tip {
  opacity: 1;
}
.form-wrapper .tip {
  display: inline-block;
  margin-top: 0.5rem;
  font-size: 0.75rem;
}
.form-wrapper .tip.top {
  padding: 0 0.625rem;
}
.form-wrapper .file .tip, .form-wrapper .multiple-choice .tip, .form-wrapper .radio .tip {
  color: #7d7d7d;
}
.form-wrapper .required-field-alert {
  position: absolute;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  font-size: 0.875rem;
  pointer-events: none;
  transition: opacity 0.3s ease-in-out;
}
.form-wrapper .required-field-alert span {
  background: #cc4b37;
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
  color: white;
  font-weight: bold;
  padding: 2px 6px;
}
.form-wrapper .character-limit {
  color: #7d7d7d;
  font-size: 0.625rem;
  position: absolute;
  top: 0.25rem;
  right: 0.625rem;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
.form-wrapper input.text-input:focus + .character-limit, .form-wrapper textarea:focus + .character-limit {
  opacity: 1;
}
.form-wrapper .recaptcha-form-field {
  display: flex;
  justify-content: center;
}
.form-wrapper .recaptcha-branding {
  margin-bottom: 1em;
  color: #fefefe;
  font-size: 0.6rem;
}
.form-wrapper .g-recaptcha {
  display: flex;
  align-items: center;
}
.form-wrapper .file-upload-container {
  border-radius: 5px;
  border: 1px solid #c6c9cc;
}
.form-wrapper .file-upload-container:before {
  font-family: FontAwesome;
  content: "\f093";
  position: absolute;
  top: 50%;
  left: calc(50% - 2rem);
  width: 4rem;
  height: 4rem;
  font-size: 4rem;
  color: #c6c9cc;
  opacity: 1;
  transition: all 0.3s ease-in-out;
}
.form-wrapper .file-upload-container.dz-started:before {
  opacity: 0;
  max-height: 0;
  height: 0;
}
.form-wrapper .file-upload-container a.dz-remove {
  position: absolute;
  top: -0.5rem;
  right: -0.5rem;
  width: 2rem;
  height: 2rem;
  line-height: 2rem;
  border-radius: 1rem;
  background: #cc4b37;
  z-index: 500;
}
.form-wrapper .file-upload-container a.dz-remove:before {
  content: "\f1f8";
  font-family: FontAwesome;
  font-size: 1.25rem;
  color: #fefefe;
}
.form-wrapper .file-upload-container a.dz-remove:hover {
  background: rgb(206.55, 84, 65);
}
.form-wrapper .file-upload-container .dz-image.custom {
  display: flex;
  align-items: center;
  justify-content: center;
}
.form-wrapper .switch .switch-paddle {
  width: 2.5rem;
  height: 1.5rem;
  position: relative;
  float: left !important;
  margin-right: 0.5rem;
  margin-bottom: 0;
  border-radius: 1rem;
  background: #888888;
}
.form-wrapper .switch .switch-paddle:after {
  border-radius: 50%;
  position: absolute;
  top: 0.25rem;
  left: 0.25rem;
  width: 1rem;
  height: 1rem;
  background: #fefefe;
  transition: all 0.3s ease-in-out;
  content: "";
}
.form-wrapper input:checked ~ .switch-paddle {
  background: #318185;
}
.form-wrapper input:checked ~ .switch-paddle:after {
  left: 1.25rem;
}

.product-page-ctas .cta--form .form-wrapper {
  padding-top: 2rem;
}
.product-page-ctas .cta--form .form-section-navigation {
  display: none;
}
.product-page-ctas .cta--form form.plain {
  display: block;
}
.product-page-ctas .cta--form .form-field input, .product-page-ctas .cta--form .form-field .text-area {
  border-bottom: none;
  box-shadow: none;
}
.product-page-ctas .cta--form .form-description {
  margin-bottom: 2rem;
}
.product-page-ctas .cta--form .custom-field:is(.multiple-choice, .radio, #specificity-hack) {
  background: none;
  padding: 0;
}
.product-page-ctas .cta--form .custom-field:is(.multiple-choice, .radio, #specificity-hack) .form-response-question-prompt {
  color: inherit;
}
.product-page-ctas .cta--form .custom-field:is(.multiple-choice, .radio, #specificity-hack) .form-response-question-prompt,
.product-page-ctas .cta--form .custom-field:is(.multiple-choice, .radio, #specificity-hack) .multiple-choice-wrapper,
.product-page-ctas .cta--form .custom-field:is(.multiple-choice, .radio, #specificity-hack) .radio-set-wrapper {
  padding-inline: 0;
  margin-inline: 0;
  padding-top: 0;
}
.product-page-ctas .cta--form .response-clear {
  display: none;
}

.product-page-ctas .cta--form .cta-form-container {
  padding-bottom: 2.5rem;
}
.product-page-ctas .button.response-submit {
  flex: 0;
  background: #ffd939;
  color: #222222;
  padding-block: 0.7rem;
  padding: 1.5rem 5rem;
  border-radius: 5px;
}

.product-page-use-cases :is(.node-with-graphic, #specificity-hack), .product-page-features :is(.node-with-graphic, #specificity-hack), .product-page-featured-use-case .glass-page-section-inner, .product-page-featured-use-case .product-page-credits .credits, .product-page-credits .product-page-featured-use-case .credits {
  margin: 0;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 0.6rem;
  padding: 3rem;
  border: 2px solid white;
  box-shadow: 0px 0 1rem rgba(0, 0, 0, 0.3);
}
.product-page-use-cases :is(.node-with-graphic, #specificity-hack) h2, .product-page-features :is(.node-with-graphic, #specificity-hack) h2, .product-page-featured-use-case .glass-page-section-inner h2, .product-page-featured-use-case .product-page-credits .credits h2, .product-page-credits .product-page-featured-use-case .credits h2 {
  margin-top: 0;
}
.product-page-use-cases .node-with-graphic--with-asset:is(.node-with-graphic, #specificity-hack), .product-page-features .node-with-graphic--with-asset:is(.node-with-graphic, #specificity-hack), .product-page-featured-use-case .node-with-graphic--with-asset.glass-page-section-inner, .product-page-featured-use-case .product-page-credits .node-with-graphic--with-asset.credits, .product-page-credits .product-page-featured-use-case .node-with-graphic--with-asset.credits {
  grid-column: 1/span 2;
}
.product-page-use-cases .node-with-graphic--without-asset:is(.node-with-graphic, #specificity-hack), .product-page-features .node-with-graphic--without-asset:is(.node-with-graphic, #specificity-hack), .product-page-featured-use-case .node-with-graphic--without-asset.glass-page-section-inner, .product-page-featured-use-case .product-page-credits .node-with-graphic--without-asset.credits, .product-page-credits .product-page-featured-use-case .node-with-graphic--without-asset.credits {
  align-items: stretch;
}
.product-page-use-cases :is(.node-with-graphic, #specificity-hack) .node-with-graphic-heading, .product-page-features :is(.node-with-graphic, #specificity-hack) .node-with-graphic-heading, .product-page-featured-use-case .glass-page-section-inner .node-with-graphic-heading, .product-page-featured-use-case .product-page-credits .credits .node-with-graphic-heading, .product-page-credits .product-page-featured-use-case .credits .node-with-graphic-heading {
  line-height: 1.3rem;
  --underline-gradient-color-a: var(--accent-color-b);
  --underline-gradient-color-b: var(--accent-color);
}
.product-page-use-cases :is(.node-with-graphic, #specificity-hack) .node-with-graphic-heading::after, .product-page-features :is(.node-with-graphic, #specificity-hack) .node-with-graphic-heading::after, .product-page-featured-use-case .glass-page-section-inner .node-with-graphic-heading::after, .product-page-featured-use-case .product-page-credits .credits .node-with-graphic-heading::after, .product-page-credits .product-page-featured-use-case .credits .node-with-graphic-heading::after {
  position: unset;
  display: block;
  padding: 0.125rem;
  width: 6.25rem;
  margin-top: 0.6rem;
  margin-inline: auto;
  height: 0em;
}

.product-page-main {
  -webkit-backdrop-filter: none;
          backdrop-filter: none;
  border-color: var(--border-color);
  box-shadow: 0 0 10px hsla(var(--base-color-h), calc(var(--base-color-s) * 0.75), calc(var(--base-color-l) * 0.5), 0.5);
}
.product-page-main p, .product-page-main h1, .product-page-main h2, .product-page-main h3, .product-page-main h4 {
  color: white;
}
.product-page-main a:-moz-any-link:not([class*=button]) {
  color: #ffd939;
}
.product-page-main a:any-link:not([class*=button]), .product-page-main .simple-read-more-label {
  color: #ffd939;
}
.product-page-main a:-moz-any-link:not([class*=button]):hover {
  text-decoration: underline;
}
.product-page-main a:any-link:not([class*=button]):hover, .product-page-main .simple-read-more-label:hover {
  text-decoration: underline;
}
.product-page-main .accordion-item-content {
  margin-bottom: 0;
  padding-inline: 1rem;
  border-radius: 5px;
  background: hsl(var(--base-color-hs) calc(var(--base-color-l) / 2)/0.5);
  box-shadow: 0 0 3rem 0 rgba(0, 0, 0, 0.1) inset;
  font-size: small;
}
.product-page-main .accordion-item-checkbox:checked ~ .accordion-item-content {
  margin-bottom: 0.5em;
  padding-block: 1rem;
}

@media screen and (min-width: 768px) {
  .product-page-description:not(.product-page-description--short) .columned-content {
    -moz-column-count: 2;
         column-count: 2;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    -moz-column-fill: balance;
         column-fill: balance;
  }
  .product-page-description:not(.product-page-description--short) .columned-content:has(p:only-child) {
    -moz-column-count: 1;
         column-count: 1;
  }
  .product-page-description:not(.product-page-description--short) .columned-content p {
    -moz-column-break-inside: avoid;
         break-inside: avoid-column;
  }
  .product-page-description:not(.product-page-description--short) p:first-of-type {
    margin-top: 0;
  }
}
.product-page-description h2, .product-page-description h3, .product-page-description h4, .product-page-description h5 {
  margin-block: 1rem 2rem;
  text-align: center;
}
.product-page-description h2 {
  font-size: 120%;
}
.product-page-description h3 {
  font-size: 110%;
}
.product-page-description h4 {
  font-size: 105%;
}
.product-page-description h5 {
  font-size: 102%;
}

.product-page-content {
  font-size: 90%;
}
.product-page-content h2 {
  font-size: 120%;
}
.product-page-content h1, .product-page-content h2, .product-page-content h3 {
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
}
.product-page-content h1:first-child, .product-page-content h2:first-child, .product-page-content h3:first-child {
  margin-top: 0;
}
.product-page-content h4 {
  font-size: inherit;
}
.product-page-content [class^=underscored-heading] {
  margin-bottom: 2rem;
}
.product-page-content .accordion-item.popup-accordion .accordion-item-label {
  padding-block: 1rem;
}
.product-page-content .node-with-graphic {
  grid-template-rows: min-content;
  -moz-column-gap: 3rem;
       column-gap: 3rem;
}
.product-page-content .node-with-graphic-heading {
  margin-bottom: 1rem;
}
.product-page-content .node-with-graphic-content > p:first-child {
  margin-top: 0;
}
.product-page-content .glass-page-section-inner, .product-page-content .product-page-credits .credits, .product-page-credits .product-page-content .credits {
  -webkit-backdrop-filter: none;
          backdrop-filter: none;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%20150%22%3E%3Cfilter%20id%3D%22b%22%3E%3CfeGaussianBlur%20in%3D%22SourceGraphic%22%20stdDeviation%3D%225%22%2F%3E%3C%2Ffilter%3E%3Cg%20filter%3D%22url%28%23b%29%22%20fill%3D%22white%22%20opacity%3D%220.5%22%3E%3Crect%20x%3D%2210%22%20y%3D%2220%22%20width%3D%2280%22%20height%3D%2240%22%20rx%3D%2220%22%2F%3E%3Crect%20x%3D%2240%22%20y%3D%2290%22%20width%3D%2220%22%20height%3D%2220%22%20rx%3D%2210%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-blend-mode: overlay;
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: -20% center;
}

@media screen and (min-width: 768px) {
  .product-page-why:nth-child(even) .node-with-graphic--with-asset .node-with-graphic-content {
    order: 2;
  }
}
@media screen and (max-width: 767px) {
  .product-page-why .node-with-graphic--with-asset .node-with-graphic-content {
    order: 2;
  }
}

.product-page-why--first {
  font-size: 100%;
}
.product-page-why--first .accordion-item-content {
  mix-blend-mode: color-dodge;
}
.product-page-why--first .glass-page-section-inner, .product-page-why--first .product-page-credits .credits, .product-page-credits .product-page-why--first .credits {
  background-image: radial-gradient(66% 66% at 26% 33%, var(--accent-color) 43%, var(--accent-color-b) 100%);
  box-shadow: -0.5rem -0.5rem 1rem hsl(var(--accent-color-hsl)/0.5), 0.5rem 0.5rem 1rem hsl(var(--accent-color-b-hsl)/0.5), 0 0 0.5rem rgba(255, 255, 255, 0.5);
  border: 2px solid rgba(255, 255, 255, 0.9);
}
.product-page-why--first .node-with-graphic-heading {
  font-size: 150%;
  font-weight: normal;
}

.product-page-use-cases, .product-page-features {
  z-index: 1;
}
.product-page-use-cases .glass-page-section-inner, .product-page-use-cases .product-page-credits .credits, .product-page-credits .product-page-use-cases .credits, .product-page-features .glass-page-section-inner, .product-page-features .product-page-credits .credits, .product-page-credits .product-page-features .credits {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-auto-flow: dense;
}
@media screen and (min-width: 768px) {
  .product-page-use-cases .glass-page-section-inner, .product-page-use-cases .product-page-credits .credits, .product-page-credits .product-page-use-cases .credits, .product-page-features .glass-page-section-inner, .product-page-features .product-page-credits .credits, .product-page-credits .product-page-features .credits {
    padding: 3rem;
    gap: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .product-page-use-cases .glass-page-section-inner, .product-page-use-cases .product-page-credits .credits, .product-page-credits .product-page-use-cases .credits, .product-page-features .glass-page-section-inner, .product-page-features .product-page-credits .credits, .product-page-credits .product-page-features .credits {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.product-page-use-cases .accordion, .product-page-features .accordion {
  display: contents;
}
.product-page-use-cases :is(.node-with-graphic, #specificity-hack) .node-with-graphic-heading, .product-page-features :is(.node-with-graphic, #specificity-hack) .node-with-graphic-heading {
  text-align: left;
}
.product-page-use-cases :is(.node-with-graphic, #specificity-hack) .node-with-graphic-heading::after, .product-page-features :is(.node-with-graphic, #specificity-hack) .node-with-graphic-heading::after {
  margin-left: 0;
}
.product-page-use-cases .simple-read-more-label, .product-page-features .simple-read-more-label {
  display: block;
}

.product-page-ctas .privacy-policy {
  margin-bottom: 1rem;
}
.product-page-ctas .cta--custom-html {
  margin-top: 6rem;
}
@media screen and (min-width: 1025px) {
  .product-page-ctas .cta--custom-html {
    margin-left: 7.5%;
    margin-right: 7.5%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .product-page-ctas .cta--custom-html {
    margin-left: 5%;
    margin-right: 5%;
  }
}
.product-page-ctas .cta--custom-html .cta-long-description {
  text-align: center;
}
.product-page-ctas .cta--custom-html--one-liner {
  text-align: center;
  font-size: 1.25rem;
}

.product-page-credits {
  padding: 0.3rem;
}
@media screen and (min-width: 768px) {
  .product-page-credits {
    border-radius: 10rem;
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }
}
@media screen and (max-width: 767px) {
  .product-page-credits {
    border-radius: 0.5rem;
  }
}
.product-page-credits .credits {
  padding: inherit;
}
@media screen and (min-width: 768px) {
  .product-page-credits .credits {
    border-radius: inherit;
  }
}
@media screen and (max-width: 767px) {
  .product-page-credits .credits {
    border-radius: 0.3rem;
  }
}
.product-page-credits .credits-see-all {
  margin-right: 1em;
}

.product-page-installation-instructions code,
.product-page-installation-instructions .crayon-inline {
  font-family: monospace;
  font-size: larger;
  background: rgba(0, 0, 0, 0.5);
  padding-inline: 0.2em;
  padding-block: 0.1em;
  border-radius: 3px;
}

.product-page-contributors {
  margin-top: 1rem;
  font-size: 80%;
}

#buy h1 {
  text-align: center;
}

.glass-page-portfolio {
  background: transparent !important;
}
.glass-page-portfolio .glass-page-section-inner {
  background-color: transparent !important;
  -webkit-backdrop-filter: none !important;
          backdrop-filter: none !important;
}

.portfolio-title {
  margin-top: 0;
}

.portfolio-group-links {
  display: flex;
  margin: 1rem 0;
  width: 100%;
  overflow-x: auto;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .portfolio-group-links {
    display: none;
  }
}
.portfolio-group-links ul {
  background-color: transparent;
  -webkit-backdrop-filter: none;
          backdrop-filter: none;
  padding: 1rem;
  border-radius: 1rem;
  margin-bottom: 1rem;
  display: inline-grid;
  grid-auto-flow: column;
  gap: 0.5rem;
}
.portfolio-group-links ul a {
  min-width: 5rem;
}
.portfolio-group-links li {
  border-radius: 1.25rem;
  width: 5rem;
  height: 5rem;
  padding: 1rem;
  border: 2px solid #eeeeee;
  background-color: #222222;
  background-image: var(--background-url);
  background-size: cover;
  background-position: center;
  width: 100%;
  display: grid;
  align-content: center;
  justify-content: center;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  transition: box-shadow 0.3s;
}
.portfolio-group-links li.current-page {
  border-color: #ffd939;
}
.portfolio-group-links li.current-page:hover {
  box-shadow: 0 0 10px #ffd939;
}
.portfolio-group-links li:hover {
  border-color: #ffd939;
  box-shadow: 0 0 10px #ffd939;
}

.portfolio-featured-image {
  width: 100%;
  display: grid;
  grid-template-columns: 2rem 1fr 2rem;
  grid-template-rows: 1fr auto;
  gap: 1rem;
  padding-block: 1rem;
}
.portfolio-featured-image.aspect-ratio-16-9 {
  aspect-ratio: 16/9;
  height: auto;
  position: relative;
}
.portfolio-featured-image.aspect-ratio-16-9 .video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.portfolio-featured-image.aspect-ratio-16-9 .video .video-wrapper {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
  max-width: none;
  overflow: hidden;
}
.portfolio-featured-image.aspect-ratio-16-9 .video .video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.portfolio-featured-image.aspect-ratio-16-9 .portfolio-featured-image-inner {
  aspect-ratio: 16/9;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.portfolio-featured-image:not(.aspect-ratio-16-9) {
  height: 60vh;
}
@media screen and (max-width: 767px) {
  .portfolio-featured-image:not(.aspect-ratio-16-9) {
    height: 30vh;
  }
}
.portfolio-featured-image picture, .portfolio-featured-image .image-node-zoom {
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.portfolio-featured-image picture img, .portfolio-featured-image .image-node-zoom img {
  height: 100%;
  width: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 767px) {
  .portfolio-featured-image picture img, .portfolio-featured-image .image-node-zoom img {
    max-height: calc(30vh - 4rem);
  }
}
.portfolio-featured-image a {
  height: 2rem;
  margin: auto 0;
}
.portfolio-featured-image a:hover {
  text-decoration: none !important;
}
.portfolio-featured-image .previous-image {
  grid-column: 1;
  grid-row: 1;
}
.portfolio-featured-image .next-image {
  grid-column: 3;
  grid-row: 1;
}

.portfolio-featured-image-description {
  grid-column: 1/-1;
  grid-row: 2;
  background: #222222;
  border-radius: 1rem;
  padding: 1rem 5rem;
  width: 100%;
  border: 2px solid #595959;
  position: relative;
}
@media screen and (max-width: 767px) {
  .portfolio-featured-image-description {
    display: none;
  }
}

.portfolio-featured-image-description-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.portfolio-group-pagination {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  padding: 0.3rem 0.6rem;
  background-color: #222222;
}

.portfolio-featured-image-inner {
  width: 100%;
  height: 100%;
  position: relative;
}

.previous-image, .next-image {
  border: 2px solid #cccccc;
  font-size: 1.3333333333rem;
  height: 2rem;
  width: 100%;
  margin: auto 0;
  display: grid;
  background: rgba(0, 0, 0, 0.3);
  color: #cccccc;
  justify-content: center;
  align-content: center;
  border-radius: 50%;
  cursor: pointer;
}
.previous-image a:visited, .next-image a:visited {
  color: #cccccc;
}
.previous-image:hover, .next-image:hover {
  border-color: #ffd939;
  color: #ffd939;
}
.previous-image.disabled, .next-image.disabled {
  border-color: rgba(34, 34, 34, 0.5);
  color: rgba(34, 34, 34, 0.5);
  cursor: not-allowed;
}

.previous-image {
  padding-right: 4px;
  padding-top: 1px;
}

.next-image {
  padding-left: 3px;
  padding-top: 1px;
}

.node-type-portfolio-group {
  padding-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .node-type-portfolio-group {
    padding-bottom: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .controller-portfolio article {
    padding-bottom: 2rem;
  }
}
.controller-portfolio #footer {
  margin-top: 0;
}

.portfolio-html-content {
  padding: 0 2rem;
  overflow: scroll;
}
.portfolio-featured-image:not(.aspect-ratio-16-9) .portfolio-html-content {
  height: calc(60vh - 8rem);
}
@media screen and (max-width: 767px) {
  .portfolio-featured-image:not(.aspect-ratio-16-9) .portfolio-html-content {
    height: calc(30vh - 4rem);
  }
}

@media screen and (min-width: 1025px) {
  #services-heading {
    display: none;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  #services-heading {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  #services-heading {
    position: absolute;
    top: 1em;
    width: 100%;
    text-align: center;
    z-index: 1;
  }
  #services-heading h1 {
    color: #fefefe;
    font-size: 60px;
    font-weight: bold;
    margin-bottom: 1rem;
  }
  #services-heading hr {
    width: 180px;
    height: 9px;
    border-radius: 9px;
  }
}
#collateral, .collateral, .related-nodes {
  margin: 4em auto;
}

#events {
  display: flex;
  flex-wrap: wrap;
  gap: 3em;
}
