﻿@charset "UTF-8";
.loading-results {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  font-size: 1.25rem;
  margin: 1rem;
  transition: max-height 0.1s ease-out;
  overflow: hidden;
}
.loading-results .k-progressbar {
  width: 100%;
}
.loading-results.closed {
  max-height: 0;
  transition: max-height 0.1s ease-in;
}

.loader-message {
  display: flex;
  align-items: center;
  gap: 5px;
  font-weight: 500;
}

.background-loading-status {
  position: absolute;
  top: 5px;
  width: 100%;
  font-weight: 500;
  opacity: 0.75;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  overflow: hidden;
  pointer-events: none;
}

.md-formatted {
  /* render tables of images more consistently */
}
.md-formatted p {
  line-height: normal;
  margin-top: 0;
  margin-bottom: 0.3em;
}
.md-formatted li p {
  margin-bottom: 0;
}
.md-formatted a {
  color: var(--accent);
  text-decoration: none;
  font-weight: 500;
  cursor: pointer;
}
.md-formatted a:hover {
  text-decoration: underline;
}
.md-formatted h1, .md-formatted h2, .md-formatted h3, .md-formatted h4, .md-formatted h5, .md-formatted h6 {
  margin-top: 0.5em;
  margin-bottom: 0.3em;
  line-height: normal;
  font-weight: 700;
}
.md-formatted h1 {
  font-size: 1.5em;
}
.md-formatted h2 {
  font-size: 1.25em;
}
.md-formatted h3 {
  font-size: 1.1em;
}
.md-formatted h4, .md-formatted h5, .md-formatted h6 {
  font-size: 1em;
}
.md-formatted table {
  margin-top: 1em;
  margin-bottom: 1em;
  border-collapse: separate;
  border-spacing: 0.5em 0;
}
.md-formatted table th {
  background-color: #16475b;
  color: white;
  padding: 0.3em 0.6em;
  font-weight: 500;
}
.md-formatted table th a {
  color: white;
}
.md-formatted table td:has(img) {
  width: 300px;
}
.md-formatted table td:has(img) img {
  width: 300px;
  height: 250px;
  object-position: center;
  object-fit: cover;
  margin: -1px;
}
.md-formatted.equipment-group-description {
  overflow: auto;
}

/* compact inline form for markdown-generated html, without paragraph breaks */
.md-formatted-inline {
  /* when not displayed display:list-item, <li> tags lose their bullets or numbering. 
      this isn't perfect but it does show some kind of bullet or number when rendering a list
      in compact form. */
}
.md-formatted-inline p, .md-formatted-inline h1, .md-formatted-inline h2, .md-formatted-inline h3, .md-formatted-inline h4, .md-formatted-inline h5, .md-formatted-inline h6, .md-formatted-inline ol, .md-formatted-inline ul, .md-formatted-inline li {
  display: inline;
  font-size: inherit;
  padding: 0;
  margin: 0;
}
.md-formatted-inline pre {
  display: inline;
  white-space: normal;
}
.md-formatted-inline ol {
  counter-reset: LIST-ITEMS 0;
}
.md-formatted-inline ol li:before {
  content: counter(LIST-ITEMS) ")";
  counter-increment: LIST-ITEMS;
  margin-right: 0.3em;
  font-weight: bold;
}
.md-formatted-inline ul li:before {
  content: "•";
  margin-right: 0.5em;
}

/* public inventory */
.equipment-cards {
  font-size: 0.8rem;
  line-height: normal;
}
.equipment-cards .card {
  /*height: 450px;*/
  overflow: hidden;
  margin-bottom: 1em;
  border: 3px solid #154b63;
  border-radius: 0;
}
.equipment-cards .card .card-header {
  background-color: #154b63;
  color: white;
  border-radius: 0;
  padding: 0.2rem 0.6rem 0.4rem 0.6rem;
  font-size: 1rem;
}
.equipment-cards .card .card-header a {
  color: white;
}
.equipment-cards .card .card-body {
  display: flex;
  flex-direction: column;
  padding: 0;
}
.equipment-cards .card .card-body .card-text {
  flex-grow: 1;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  padding: 0.6em 1em;
}
.equipment-cards .card .card-body .card-text p {
  margin-bottom: 0.3em;
  -webkit-line-clamp: 3;
  text-overflow: ellipsis;
}
.equipment-cards .card .card-body .image-wrapper {
  width: 100%;
  height: 200px;
  border-radius: 0;
}
.equipment-cards .card .card-body .image-wrapper img {
  object-fit: cover;
  border-radius: 0;
}

.fadeout-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 24px;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
}

#search-container {
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  gap: 15px;
}
#search-container .imageThumbnail {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  min-width: 130px;
  object-fit: cover;
}
#search-container .bg-info {
  background-color: var(--accent) !important;
}
#search-container .row {
  display: flex;
  flex-direction: row;
}
#search-container .textInput {
  width: 100%;
  border-radius: 3px;
  background-color: white;
  border: 1px solid var(--border);
  padding: 5px;
}
#search-container .textInput:focus, #search-container .textInput:focus-visible, #search-container .textInput:active {
  border: 1px solid var(--border-accent);
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  outline: none;
}
#search-container #resultsContainer {
  flex: 1 0 200px;
  overflow: auto;
}
#search-container #resultsContainer .noResultsContainer {
  padding: 30px;
  text-align: center;
}
#search-container #resultsContainer .selectProductContainer {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 0 0 auto;
  margin-left: 10px;
}
#search-container #resultsContainer .resultsFooter {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#search-container #resultsContainer .buttonsContainer {
  display: flex;
  justify-content: end;
  gap: 5px;
  margin-left: auto;
}
#search-container #resultsContainer .productRow {
  display: flex;
  flex-direction: row;
  min-height: 220px;
  padding: 20px 0;
  border-top: 1px solid var(--border);
  gap: 10px;
  position: relative;
}
#search-container #resultsContainer .productRow.topRow {
  border: none;
}
#search-container #resultsContainer .productRow .quoteButtonContainer {
  position: absolute;
  right: 0;
  z-index: 1;
}
#search-container #resultsContainer .productRow .productLink {
  font-size: 1.4em;
  text-decoration: none;
  line-height: 1.2;
}
#search-container #resultsContainer .productRow .productDescription {
  color: var(--subtext);
  overflow: hidden;
  -webkit-line-clamp: 4;
  display: -webkit-box;
  -webkit-box-orient: vertical;
}
#search-container #resultsContainer .productRow .attributeRow {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  max-height: 8em;
  overflow-x: hidden;
}
#search-container #resultsContainer .productRow .attributeText {
  line-height: 1.2em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 50%;
}
#search-container #resultsContainer .productRow .subheading {
  display: flex;
  border-bottom: 1px solid var(--border);
  margin-bottom: 3px;
  padding-bottom: 6px;
}
#search-container #resultsContainer .productRow .subheading .productCurrency {
  width: 50%;
}
#search-container #resultsContainer .productRow .subheading .productStatus {
  width: 50%;
}
@media screen and (max-width: 660px) {
  #search-container #resultsContainer .productRow .attributeText {
    width: 100%;
  }
}
#search-container #resultsContainer .productRow .attributeColumn {
  max-height: 8em;
  width: 45%;
}
#search-container #resultsContainer .productRow .attributeLabel {
  font-size: 0.9em;
  color: black;
  font-weight: 700;
  display: inline-block;
}
#search-container #resultsContainer .productRow .imgContainer {
  flex: 0 0 auto;
  width: 220px;
  height: 200px;
  display: flex;
  position: relative;
  border: 1px solid var(--border);
  border-radius: 3px;
}
#search-container #resultsContainer .productRow .imgContainer a {
  width: 100%;
  height: 100%;
  text-decoration: none;
}
#search-container #resultsContainer .productRow .imgContainer img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  position: absolute;
  top: 0;
}
#search-container #resultsContainer .productRow .imgContainer .imgOverlay {
  position: absolute;
  height: 32px;
  padding: 4px 10px;
  left: 0;
  right: 0;
  bottom: 0px;
  border-radius: 0 0 3px 3px;
  background-color: var(--accent);
  color: white;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  font-size: 1.2em;
  font-weight: 600;
  text-align: center;
}
#search-container #resultsContainer .productRow .imgContainer .imgOverlay img {
  position: relative;
  height: 100%;
  width: auto;
}
#search-container #resultsContainer .productRow .imgContainer .noImg {
  width: 220px;
  height: 100%;
  justify-content: center;
  align-items: center;
  display: flex;
  text-align: center;
}
#search-container #resultsContainer .productRow .descriptionContainer {
  position: relative;
  flex: 1 0 300px;
  overflow: hidden;
}
#search-container #resultsContainer .productRow .descriptionContainer p {
  margin-bottom: 0.5em;
}
#search-container #resultsContainer .productRow .seeMoreLink {
  margin-top: auto;
  float: right;
}
#search-container .search-header-container {
  border: 1px solid var(--border);
  background: var(--ast-global-color-3);
  z-index: 1;
  width: 100%;
  border-top-width: 0;
  border-radius: 5px;
  padding: 0.5em;
}
#search-container .search-header-container.sticky {
  position: sticky;
  top: 0;
  box-shadow: 0px 0px 5px 0px var(--border);
}
#search-container .search-header-container .search-text-container {
  /*    padding: 15px 10px;*/
  padding-bottom: 0.5rem;
  border-radius: 3px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  color: white;
}
#search-container .search-header-container .search-text-container .searchLabel {
  font-weight: 400;
  font-size: 1em;
  text-align: right;
  white-space: nowrap;
}
#search-container .search-header-container .search-text-container .searchTermInput {
  flex: 120px 1 0;
}
#search-container .search-header-container .search-chip-list-container {
  position: relative;
  margin: 0;
  line-height: 0;
}
#search-container .search-header-container .search-chip-list-container .search-chip-list {
  background: white;
  width: 100%;
  /*            margin: 10px 0;*/
  padding: 4px;
}
#search-container .search-header-container .search-chip-list-container .filters-button {
  position: absolute;
  right: 0;
}
#search-container .search-header-container .search-chip-list-container .k-chip {
  padding: 0.1rem 0.2rem;
  font-weight: 500;
}
#search-container .search-header-container .header-filters-container {
  background-color: var(--cardBackground);
  padding: 0.5rem;
  width: 100%;
  display: flex;
  flex-direction: row;
  gap: 20px;
  justify-content: space-between;
  align-items: flex-end;
}
#search-container .search-header-container .header-filters-container label {
  font-size: small;
  font-weight: 500;
}
#search-container .search-header-container .header-filters-container .sort-by-dropdown {
  flex: 120px 1 0;
  max-width: 280px;
  margin-right: auto;
}
#search-container .search-header-container .header-filters-container .filters-button {
  align-self: end;
}
#search-container .search-header-container .header-filters-container .search-status {
  display: block;
}
#search-container #search-content-container {
  display: flex;
  gap: 20px;
  font-size: 14px;
  position: relative;
  z-index: 1;
  margin-bottom: 20px;
}
#search-container #search-content-container .left-filters-container {
  position: sticky;
  top: 10px;
  overflow-y: auto;
  max-height: calc(100vh - 20px);
  width: 300px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#search-container #search-content-container .left-filters-container.closed {
  display: none;
}
#search-container #search-content-container .left-filters-container .close-button {
  display: none;
}
#search-container #search-content-container .left-filters-container .view-as-list-seo-link {
  text-decoration: none;
  cursor: pointer;
}
#search-container #search-content-container .filtersContainer {
  padding: 8px 10px;
  background-color: var(--cardBackground);
  border: 1px solid var(--border);
  border-radius: 3px;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
#search-container #search-content-container .filtersContainer .cornerLoader {
  position: absolute;
  top: 5px;
  right: 5px;
}
#search-container #search-content-container .filtersContainer .attributeLoader {
  width: 100%;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 12px;
  border-radius: 0;
}
#search-container #search-content-container .filtersContainer .attributeLoader .k-state-selected {
  background-color: #ced4da;
}
#search-container .filtersContainer h4 {
  margin-bottom: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 1.2rem;
}
#search-container .filtersContainer .filterRow {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 0.5em;
  min-height: 25px;
}
#search-container .filtersContainer .filterRow h4 {
  margin-right: 1em;
}
#search-container .filtersContainer .filterRow .k-icon {
  font-size: 16px;
  text-decoration: none;
}
#search-container .filtersContainer .filterRow .k-icon.large {
  font-size: 30px;
}
#search-container .filtersContainer .clearFiltersButton {
  white-space: nowrap;
  font-size: 0.92em;
  color: var(--ast-global-color-3);
  padding: 0.2rem 0.4rem 0.2rem 0.3rem;
  gap: 0.25rem;
}
#search-container .filtersContainer .clearFiltersButton.hide {
  display: none;
}
#search-container .filtersContainer .clearFiltersButton:hover {
  color: var(--ast-global-color-0);
}
#search-container .filtersContainer .attributeBadgesContainer {
  align-content: flex-end;
  align-items: baseline;
}
#search-container .filtersContainer .fixedField {
  /*        width: 100%;*/
}
#search-container .filtersContainer .fixedField .row .col {
  margin-bottom: 1em;
}
#search-container .filtersContainer .fixedField .addAttributeButton {
  width: 100%;
}
#search-container .filtersContainer .filterLabel {
  font-size: 0.9em;
  font-weight: 600;
  flex: 1 0 auto;
}
#search-container .filtersContainer .fixedFieldContents {
  height: fit-content;
  max-height: 260px;
  overflow-y: auto;
  overflow-x: hidden;
  background: #fbfcfd;
  padding: 10px 10px;
  border-radius: 3px;
  border: none;
  box-shadow: 0px 1px 2px 1px #c8c9ca;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  transition: visibility 0s, max-height 0.2s linear;
}
#search-container .filtersContainer .fixedFieldContents .rangeSliderContainer {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin: 10px 0;
}
#search-container .filtersContainer .fixedFieldContents .rangeEndpointEdit {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 0.5rem;
}
#search-container .filtersContainer .fixedFieldContents .rangeEndpointEdit label {
  font-size: smaller;
  font-weight: 500;
  width: 10em;
}
#search-container .filtersContainer .fixedFieldContents .rangeEndpointEdit .k-input-sm .k-input-inner {
  font-size: 0.9rem;
  padding: 0.15rem 0.75rem;
}
#search-container .filtersContainer .fixedFieldContents .fixedFieldItemCount {
  color: var(--subtext);
}
#search-container .filtersContainer .fixedFieldContents .k-chip-sm {
  font-size: 14px;
  width: 100%;
}
#search-container .filtersContainer .contentsAccordion {
  transition: margin-bottom 0.2s linear, max-height 0.2s linear;
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#search-container .filtersContainer .contentsAccordion.collapsed {
  overflow: hidden;
  max-height: 0px;
  transition: margin-bottom 0.2s linear, max-height 0.2s linear;
  margin-bottom: 0;
}

.manufacturer-multiselect-popup {
  font-size: 14px;
}

.equipment-dropdownlist {
  max-height: calc(100vh - 350px) !important;
  overflow: hidden !important;
}

.equipment-dropdownlist .k-popup > .k-list {
  height: inherit !important;
  max-height: calc(100vh - 420px) !important;
}

.admin-edit-page .card-title, .admin-edit-page .k-card-title {
  display: flex;
  flex-direction: row;
  gap: 0.5em;
  margin: 0;
  align-items: center;
  font-weight: 500;
  font-size: 1.1rem;
}
.admin-edit-page .card-title strong, .admin-edit-page .k-card-title strong {
  font-weight: 500;
}
.admin-edit-page .card-header, .admin-edit-page .k-card-header {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  padding: 0.25rem 1rem;
}
.admin-edit-page .card-header.hstack, .admin-edit-page .k-card-header.hstack {
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
.admin-edit-page .card-header .button-container, .admin-edit-page .k-card-header .button-container {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  align-items: center;
  gap: 5px;
}
.admin-edit-page .card-header .button-container .btn, .admin-edit-page .k-card-header .button-container .btn {
  white-space: nowrap;
}
.admin-edit-page .card-header .alert, .admin-edit-page .k-card-header .alert {
  margin: 0;
  padding: 0.2rem 1rem;
}
.admin-edit-page .card-header .header-row, .admin-edit-page .k-card-header .header-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
}
.admin-edit-page .card-header h5, .admin-edit-page .card-header .title, .admin-edit-page .k-card-header h5, .admin-edit-page .k-card-header .title {
  font-weight: 600;
  font-size: 1.2rem;
  margin: 0;
  text-wrap: balance;
  text-align: center;
}
.admin-edit-page .card-header h1, .admin-edit-page .card-header h2, .admin-edit-page .card-header h3, .admin-edit-page .card-header h4, .admin-edit-page .card-header h5, .admin-edit-page .card-header h6, .admin-edit-page .k-card-header h1, .admin-edit-page .k-card-header h2, .admin-edit-page .k-card-header h3, .admin-edit-page .k-card-header h4, .admin-edit-page .k-card-header h5, .admin-edit-page .k-card-header h6 {
  margin: 0;
  flex-grow: 1;
}
.admin-edit-page label {
  font-size: 0.9em;
  font-weight: 600;
}
.admin-edit-page .vstack {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.admin-edit-page .html-preview {
  border: #ced4da 1px solid;
  border-radius: 0.25rem;
  padding: 1rem;
}
.admin-edit-page .expansion-panel-header {
  background-color: #e4e7eb;
  color: var(--accent);
}
.admin-edit-page .expansion-panel-header button {
  font-weight: 600;
  width: 100%;
  justify-content: flex-start;
}
.admin-edit-page .expansion-panel-header button:hover {
  color: var(--accent-active);
}

.admin-labels label {
  font-size: 0.9em;
  font-weight: 600;
}

/* style all Telerik windows and dialogs */
.k-window {
  border-color: #8b8b8b;
  box-shadow: 0px 4px 6px 6px rgba(0, 0, 0, 0.2);
}
.k-window .k-window-titlebar {
  background-color: var(--accent);
  color: white;
  font-weight: 500;
  padding: 0.25rem 1rem;
}

/* This is a known telerik issue: TelerikGrid's built-in LoadingContainer can pop up while a dialog is open--
    the LoadingContainer's overlay blocks everything on the page, including the dialog
*/
div.k-loader-container {
  z-index: 9999; /* anything below 10,000 */
}

.k-window.admin-popup-dialog {
  max-width: 95vw;
  max-height: 95vh;
}
.k-window.admin-popup-dialog .k-window-titlebar {
  cursor: move;
}
.k-window.admin-popup-dialog .k-window-titlebar .k-window-title {
  cursor: move;
}
.k-window.admin-popup-dialog .k-window-content {
  overflow-x: scroll;
}

.attribute-diff-dialog {
  min-width: 40vw;
  min-height: 40vh;
}
.attribute-diff-dialog ul {
  display: flex;
  list-style: none;
  padding-left: 0;
  gap: 1em;
}
.attribute-diff-dialog ul ul {
  display: block;
  font-size: small;
  margin-bottom: 0.5rem;
}

.api-result-dialog {
  min-width: 40vw;
  min-height: 40vh;
}

.k-grid.compact {
  font-size: 0.9rem;
}
.k-grid.compact .k-table {
  font-size: 0.9rem;
}
.k-grid.compact .k-grid-header {
  font-weight: 500;
}
.k-grid.compact .k-grid-header .k-cell-inner > .k-link > .k-sort-icon {
  margin-inline-start: 0;
}
.k-grid.compact .k-grid-header .k-grid-header-menu {
  width: auto;
  height: 100%;
  padding: 0.25rem 0;
}
.k-grid.compact td {
  padding-bottom: 0.1rem;
  padding-top: 0.1rem;
  white-space: nowrap;
}
.k-grid.compact .k-grid-pager {
  padding: 0;
}
.k-grid.compact .k-grid-pager .k-pager-nav {
  height: auto;
}

.k-button.compact {
  padding: 0 0.2rem;
  font-size: 0.8rem;
}

.compact .k-input, .compact .k-picker {
  font-size: 0.9rem;
}
.compact .k-input .k-input-inner, .compact .k-picker .k-input-inner {
  padding: 0.1rem 0.4rem;
}
.compact .k-input .k-input-button, .compact .k-picker .k-input-button {
  padding: 0.1rem 0.25rem;
}

.compact .k-command-cell .k-button, .compact > .k-button, .k-button-sm {
  padding: 0.2rem 0.2rem;
  font-size: 0.9rem;
}

.k-grid.compact .k-command-cell > span {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.2rem;
}

.k-column-resizer {
  border-right: #ced4da 5px double;
}

.k-upload:focus-within {
  border-color: var(--border-accent);
}
.k-upload .k-dropzone.k-hover {
  outline: var(--accent-active) 2px dashed;
}

.k-rounded-md {
  border-radius: 0.25rem;
}

.k-chip-sm {
  padding: 0.1rem 0.2rem;
}

.k-chip-action:hover {
  color: var(--accent-active);
}

.admin-job-status {
  padding: 0.5em 1em;
  border: #47afdc 1px solid;
  background: #ddf0f8;
}
.admin-job-status label {
  font-weight: 500;
}

.link-button {
  display: inline-flex;
  white-space: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  vertical-align: middle;
  padding: 0.25rem 0.75rem;
  line-height: 1.5;
  text-decoration: none;
}

.mini-list {
  font-size: small;
  list-style: square;
  margin: 0;
}

.alert-sm {
  font-size: smaller;
  padding: 0.5em 1em;
}
.alert-sm p {
  margin-bottom: 0.5em;
}

.global-search-input {
  flex-basis: 150px;
  flex-grow: 1;
  display: flex;
  align-items: center;
}

.ipp-product-text {
  color: #606060;
  font-size: 0.95em;
}

.ipp-product-attribute-editor.readonly {
  font-weight: 500;
}

.ipp-measurement-editor {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: baseline;
  gap: 0.5rem;
}
.ipp-measurement-editor.enabled {
  justify-content: space-between;
}
.ipp-measurement-editor .ipp-measurement-value {
  flex: 0 0 6em;
}
.ipp-measurement-editor .ipp-measurement-value.k-input {
  flex: 1 0 8em;
}
.ipp-measurement-editor .ipp-measurement-unit {
  flex: 1 1 6em;
  font-size: small;
  font-weight: bold;
}
.ipp-measurement-editor .ipp-measurement-unit.k-dropdownlist {
  flex: 0 0 9em;
}
.ipp-measurement-editor .ipp-measurement-unit.k-dropdownlist .k-input-inner {
  padding: 0 0 0 0.2rem;
}

.ipp-dropdown-container {
  position: relative;
  display: inline-block;
  width: 100%;
}
.ipp-dropdown-container .ipp-dropdown-content {
  position: absolute;
  z-index: 9;
  width: 100%;
  max-height: 500px;
  background-color: white;
  box-shadow: 0px 2px 3px 0px #aaaaaa;
  border-radius: 3px;
  overflow-y: auto;
}
.ipp-dropdown-container .ipp-dropdown-content p {
  color: black;
  padding: 4px 16px;
  text-decoration: none;
  display: block;
  cursor: pointer;
  margin: 0;
}
.ipp-dropdown-container .ipp-dropdown-content p.selected {
  background-color: #0d6efd;
}
.ipp-dropdown-container .ipp-dropdown-content p:hover {
  background-color: #eeeeee;
}
.ipp-dropdown-container .ipp-selected-dropdown-item {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 0px 10px;
  background-color: #e4e7eb;
  color: #212529;
  border: 1px solid #e4e7eb;
  border-radius: 3px;
  cursor: pointer;
  height: 40px;
}
.ipp-dropdown-container .ipp-selected-dropdown-item.ipp-dropdown:hover {
  background-color: #ced3db;
  border-color: #c7cdd5;
}
.ipp-dropdown-container .ipp-dropdown-icon {
  background: transparent;
  border: none;
}
.ipp-dropdown-container .ipp-dropdown-textbox {
  padding: 0.375rem 0.75rem;
  width: 100%;
  border: 1px solid #ced4da;
  color: #495057;
  background-color: white;
  border-radius: 3px;
}
.ipp-dropdown-container .ipp-dropdown-textbox:focus {
  border-color: var(--border-accent);
  color: #495057;
  background-color: #ffffff;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  outline: none;
}

.compact .ipp-dropdown-container {
  font-size: 0.9rem;
}
.compact .ipp-dropdown-container .ipp-selected-dropdown-item {
  height: auto;
  padding: 0.1rem 0.5rem;
}
.compact .ipp-dropdown-container .ipp-dropdown-textbox {
  padding: 0.1rem 0.25rem;
}
.compact .ipp-dropdown-container .ipp-dropdown-content p {
  padding: 0.1rem 0.5rem;
}

.k-input.compact {
  font-size: 0.875rem;
}

.k-dropdownlist.compact {
  font-size: 0.875rem;
  line-height: 1.2;
}
.k-dropdownlist.compact .k-input-inner {
  padding: 0.1rem 0.5rem;
}
.k-dropdownlist.compact .k-icon-button {
  padding: 0.1rem 0.25rem;
}

.full-window-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9000;
  background-color: transparent;
}

.ipp-multiselect-container {
  position: relative;
  display: inline-block;
}
.ipp-multiselect-container.open {
  z-index: 9002;
}
.ipp-multiselect-container .ipp-multiselect-textbox {
  padding: 0.375rem 0.75rem;
  width: 100%;
  border: 1px solid #ced4da;
  color: #495057;
  background-color: white;
  border-radius: 3px;
}
.ipp-multiselect-container .ipp-multiselect-textbox:focus {
  border-color: var(--border-accent);
  color: #495057;
  background-color: #ffffff;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  outline: none;
}
.ipp-multiselect-container .ipp-multiselect-content {
  position: absolute;
  width: 100%;
  max-height: 500px;
  background-color: white;
  box-shadow: 0px 2px 3px 0px #aaaaaa;
  border-radius: 3px;
  overflow-y: auto;
}
.ipp-multiselect-container .ipp-multiselect-content p {
  color: black;
  padding: 0.25rem 0.5rem;
  text-decoration: none;
  display: block;
  cursor: pointer;
  margin: 0;
}
.ipp-multiselect-container .ipp-multiselect-content p.selected {
  background-color: #b7dff0;
  font-weight: 500;
}
.ipp-multiselect-container .ipp-multiselect-content p:hover {
  background-color: var(--ast-global-color-6);
}
.ipp-multiselect-container .ipp-multiselect-content .ipp-multiselect-group .group-header {
  background-color: var(--accent);
  color: white;
  font-weight: 500;
  padding: 0.5rem 0.5rem;
}
.ipp-multiselect-container .ipp-selected-multiselect-items {
  display: inline-flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  padding: 2px;
  row-gap: 3px;
  column-gap: 3px;
  background-color: white;
  color: #212529;
  border: 1px solid #e4e7eb;
  border-radius: 3px;
  cursor: pointer;
  flex-wrap: wrap;
  position: relative;
  width: 100%;
  overflow: auto;
}
.ipp-multiselect-container .ipp-selected-multiselect-items .ipp-selected-multiselect-item-container {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  position: relative;
  cursor: pointer;
  line-height: 1.25rem;
  padding: 2px 6px;
  border: 1px solid #bcbebf;
  border-radius: 3px;
  background-color: #edeeee;
}
.ipp-multiselect-container .ipp-selected-multiselect-items .ipp-selected-multiselect-item-container:hover {
  background-color: #ced3db;
  border-color: #c7cdd5;
}
.ipp-multiselect-container .ipp-selected-multiselect-items .ipp-selected-multiselect-item-container .ipp-selected-multiselect-item {
  display: flex;
  flex: 1 1 auto;
  flex-flow: row nowrap;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  align-items: center;
}
.ipp-multiselect-container .ipp-selected-multiselect-items .ipp-selected-multiselect-item-container .ipp-icon {
  color: #495057;
  margin-left: 5px;
}
.ipp-multiselect-container .ipp-selected-multiselect-items .ipp-selected-multiselect-item-container .ipp-icon:hover {
  color: black;
}
.ipp-multiselect-container .ipp-selected-multiselect-items.compact {
  font-size: 0.8rem;
}
.ipp-multiselect-container .ipp-selected-multiselect-items.compact .ipp-selected-multiselect-item-container {
  padding: 1px 4px;
}
.ipp-multiselect-container.compact {
  font-size: 0.9rem;
}
.ipp-multiselect-container.compact .ipp-multiselect-content p {
  padding: 0.05rem 0.5rem;
}
.ipp-multiselect-container p.disabled {
  color: #606060;
  font-size: 0.95em;
}

.location-list-item h1 {
  font-size: 0.9em;
  font-weight: 600;
  margin: 0 0 0.3rem 0;
}
.location-list-item p {
  font-size: 0.8em;
  max-height: 3em;
  overflow: hidden;
  margin: 0;
}

.ipp-location-multiselect-dropdown {
  height: auto;
  max-height: 500px;
}

.selected {
  background-color: #f1f1f1;
}

.debugging-info {
  display: none;
  padding: 0.5rem;
  background: #ddeeff;
  max-height: 12rem;
}
.debugging-info pre {
  margin: 0;
}

table.spreadsheet {
  font-size: 0.9em;
}
table.spreadsheet .ar {
  text-align: right;
}
table.spreadsheet tr.even {
  background-color: #f0f0f0;
}

@media print {
  .no-print, .backToList, .backToSearch, .k-grid-toolbar {
    display: none !important;
  }
}
#mobileFilterContainer {
  display: none;
}

#mobileSearchContainer {
  display: none;
}

.modalBackdrop,
.mobileModal {
  display: none;
}

.productLinkContainer {
  margin-right: 148px;
}

.productCurrency {
  font-weight: bold;
  font-size: 18px;
}

.isPartnered {
  font-size: 18px;
}

.capital {
  text-transform: capitalize;
}

.warning, .status-sold, .status-scrap, .status-dcns, .status-dmisc, .status-dresv, .status-dlist {
  font-weight: bold;
  color: red;
  text-transform: uppercase;
}

.status-hold, .status-order, .status-listing {
  font-weight: bold;
  color: darkorange;
  text-transform: uppercase;
}

.flex {
  display: flex;
}

#adminNavMenu {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1030;
  display: flex;
  justify-content: space-between;
}
#adminNavMenu .controls-group {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
  margin: 8px;
  opacity: 0.4;
  transition: opacity 0.3s;
}
#adminNavMenu .controls-group:hover {
  opacity: 1;
}
#adminNavMenu .controls-group .btn {
  height: 100%;
  font-size: 0.9rem;
  padding: 4px 8px;
}
#adminNavMenu a.public-login {
  padding: 8px;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 500;
}

.equipmentTypeList {
  border: 3px solid #154b63;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.equipmentTypeList h2 {
  background-color: #154b63;
  color: white;
  margin: 0;
  padding: 5px 20px;
}
.equipmentTypeList .equipmentTypeListContainer {
  padding: 20px;
  font-weight: 500;
}
.equipmentTypeList .equipmentTypeListContainer .equipmentTypeListColumn {
  display: flex;
  flex-direction: column;
}
.equipmentTypeList .equipmentTypeListContainer .equipmentTypeListColumn .equipmentTypeGroup {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  display: flex;
  flex-direction: column;
  font-size: 90%;
  border: #154b63 1px solid;
  padding: 0.5em;
}
.equipmentTypeList .equipmentTypeListContainer .equipmentTypeListColumn .equipmentTypeGroup h3 {
  margin-top: 0;
  margin-bottom: 0.5em;
}
@media print {
  #adminNavMenu {
    display: none !important;
  }
  #public-site-header {
    display: none !important;
  }
  .public-footer {
    display: none;
  }
  .quoteButtonContainer {
    display: none;
  }
  .h1, h1 {
    font-size: 20px !important;
  }
  nav {
    visibility: hidden;
  }
  .nav-menu {
    display: none !important;
  }
}
@media only screen and (max-width: 1050px) {
  #search-container {
    padding: 0px;
  }
  #search-container #mobileSearchContainer {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
    justify-content: center;
    margin-bottom: 0.5em;
    color: white;
    position: sticky;
    top: 0;
    z-index: 9;
    width: 100%;
  }
  #search-container #mobileFilterContainer {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    position: sticky;
    position: -webkit-sticky;
    top: 68px;
    width: 100%;
    z-index: 10;
    margin-bottom: 0.5em;
    scrollbar-width: none;
    overflow-x: scroll;
  }
  #search-container #mobileFilterContainer .mobilePill {
    background-color: var(--ast-global-color-3);
    color: white;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    user-select: none;
    -webkit-user-select: none;
  }
  #search-container #mobileFilterContainer .mobilePill .innerPill {
    padding: 0.2em 0.6em;
    white-space: nowrap;
  }
  #search-container #mobileFilterContainer .mobilePill .clearButton {
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    position: absolute;
    right: 10px;
    padding: 0 5px;
    background: transparent;
    border: none;
  }
  #search-container #mobileFilterContainer .mobilePill:hover {
    cursor: pointer;
  }
  #search-container #mobileFilterContainer .mobilePill.applied {
    padding-right: 40px;
  }
  #search-container #mobileFilterContainer .mobilePill.hover, #search-container #mobileFilterContainer .mobilePill.applied, #search-container #mobileFilterContainer .mobilePill:active {
    background-color: var(--ast-global-color-3);
    color: white;
  }
  #search-container #mobileFilterContainer::-webkit-scrollbar {
    display: none;
  }
  #search-container .modalBackdrop.open {
    z-index: 99;
    background-color: rgba(0, 0, 0, 0.7);
    position: fixed;
    display: block;
    top: 0;
    left: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
  }
  #search-container .mobileModal {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: fixed;
    bottom: 0;
    left: 0;
    max-height: 0;
    height: 0;
    transition: all 0.3s ease-out;
    background-color: var(--cardBackground);
    width: 100%;
    z-index: 1040;
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
  }
  #search-container .mobileModal .modalHeader {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 10px;
  }
  #search-container .mobileModal .modalHeader span {
    color: black;
    font-size: 1.1em;
  }
  #search-container .mobileModal .modalFilterContainer {
    overflow: auto;
    background-color: white;
    padding: 0 10px;
  }
  #search-container .mobileModal .modalActionsContainer {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-top: 1em;
  }
  #search-container .mobileModal #searchAction {
    border: 1px solid var(---border);
    background-color: var(--accent);
    color: white;
    padding: 10px 15px;
    border-radius: 3px;
    width: 40%;
    text-align: center;
    user-select: none;
    -webkit-user-select: none;
  }
  #search-container .mobileModal #searchAction:hover, #search-container .mobileModal #searchAction:active {
    background-color: var(--accent-active);
  }
  #search-container .mobileModal #closeAction {
    color: var(--ast-global-color-3);
    border: 1px solid var(--ast-global-color-3);
    border-radius: 3px;
    padding: 10px 15px;
    width: 100%;
    text-align: center;
    user-select: none;
    -webkit-user-select: none;
  }
  #search-container .mobileModal #cancelAction {
    border: 1px solid var(--border);
    border-radius: 3px;
    padding: 10px 15px;
    width: 40%;
    text-align: center;
    user-select: none;
    -webkit-user-select: none;
  }
  #search-container .mobileModal #cancelAction:hover,
  #search-container .mobileModal #cancelAction:active,
  #search-container .mobileModal #closeAction:hover,
  #search-container .mobileModal #closeAction:active {
    background-color: #efefef;
  }
  #search-container .mobileModal .selectedFilter {
    padding: 5px 10px;
    border: 1px solid var(--border-accent);
    margin-bottom: 20px;
    border-radius: 3px;
    background-color: white;
    color: black;
  }
  #search-container .mobileModal.ProductType, #search-container .mobileModal.ItemsPerPage, #search-container .mobileModal.Keywords, #search-container .mobileModal.Sort, #search-container .mobileModal.AssetType, #search-container .mobileModal.Material {
    max-height: 500px;
    height: fit-content;
    padding: 25px 15px;
  }
  #search-container .mobileModal.Filter {
    max-height: 100%;
    height: 100%;
    padding: 25px 15px;
  }
  #search-container .mobileModal.Filter .modalFilterContent {
    height: 100%;
    overflow-y: scroll;
  }
  #search-container .search-header-container .search-text-container .searchLabel {
    display: none;
  }
  #search-container .search-header-container .search-text-container .searchButton .k-button-text {
    display: none;
  }
  #search-container .search-header-container .header-filters-container {
    gap: 8px;
  }
  #search-container .search-header-container .header-filters-container .items-per-page {
    display: none;
  }
  #search-container #search-content-container .left-filters-container {
    position: absolute;
    z-index: 1000;
    width: 100%;
    height: fit-content;
    padding: 0.5rem;
    background-color: var(--cardBackground);
    box-shadow: 0 0 8px 4px rgba(34, 34, 34, 0.3333333333);
  }
  #search-container #search-content-container .left-filters-container .close-button {
    display: block;
    z-index: 1001;
    position: absolute;
    right: 0;
    padding: 0 8px;
    cursor: pointer;
  }
  #search-container #search-content-container .left-filters-container .view-as-list-seo-link {
    display: none;
  }
  #search-container #search-content-container #resultsContainer {
    z-index: -1;
  }
  #search-container #search-content-container #resultsContainer .productRow {
    flex-direction: column;
    align-items: center;
    padding: 20px 0px;
  }
  #search-container #search-content-container #resultsContainer .productRow .selectProductContainer {
    position: absolute;
    top: 20px;
    left: 0;
  }
  #search-container #search-content-container #resultsContainer .productRow .productDescription {
    -webkit-line-clamp: 4;
    line-clamp: 4;
  }
  #search-container #search-content-container #resultsContainer .productRow .productLinkContainer {
    text-align: center;
  }
  #search-container #search-content-container #resultsContainer .productRow .productLinkContainer .productLink {
    font-size: 1.3em;
  }
  #search-container #search-content-container #resultsContainer .productRow .attributeText {
    white-space: normal;
    max-width: 100%;
  }
  #search-container #search-content-container #resultsContainer .productRow .attributeRow {
    flex-wrap: nowrap;
    max-height: none;
  }
  #search-container #search-content-container #resultsContainer .productRow .imgContainer .noImg {
    width: 100%;
  }
  #search-container #search-content-container #resultsContainer .productRow .descriptionContainer {
    width: 100%;
    padding: 20px 0;
    flex: none;
  }
  #search-container #search-content-container #resultsContainer .productRow .seeMoreLink {
    position: relative;
  }
  #search-container #search-content-container #resultsContainer .container-fluid > div {
    padding: 0 !important;
  }
  #search-container #search-content-container #resultsContainer .k-pager-wrap.k-floatwrap.telerik-blazor.k-listview-pager {
    justify-content: center;
  }
  #search-container #search-content-container #resultsContainer .k-pager-wrap.k-floatwrap.telerik-blazor.k-listview-pager .k-pager-info.k-label {
    display: none;
  }
  .entry-content h1, h1 {
    margin-top: 10px;
    font-size: 1.7em;
  }
  .container .row.px-4 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .productLinkContainer {
    margin-right: 0;
  }
  .equipmentTypeListContainer {
    flex-direction: column;
  }
}
/* HOME */
h1 {
  font-size: 1.75rem;
}

h2 {
  font-size: 1.25rem;
}

h3 {
  font-size: 1.15rem;
}

.ipp-home-container {
  display: flex;
  flex-direction: row;
}

.ipp-home-nav-container {
  padding: 10px 20px;
  width: 300px;
  overflow: auto;
  max-height: calc(100vh - 80px); /* -80 for header & margin */
}
.ipp-home-nav-container p {
  margin: 0 0 0.4rem 0;
}
.ipp-home-nav-container p a.ipp-link {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  line-height: normal;
}
.ipp-home-nav-container .ipp-home-nav-label {
  font-size: 0.85em;
  font-weight: 700;
  margin-top: 1.5rem;
}

.ipp-home-carousel-container {
  width: 100%;
  height: calc(100vh - 80px); /* -80 for header & margin */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.ipp-home-carousel-container .k-scrollview {
  border: none;
}

.ipp-home-image-container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: auto;
  height: 75vh;
  position: relative;
}

.ipp-home-image {
  min-height: 35vh;
  width: auto;
  object-fit: cover;
  min-width: 35vw;
  max-width: 60vw;
  max-height: 75vh;
  height: auto;
}

a {
  text-decoration: none;
}

.ipp-home-delete-image-button {
  position: absolute;
  top: 10px;
  right: 10px;
}

.ipp-home-admin-options-container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

.ipp-fixedheight-multiselect {
  height: 120px;
  overflow: scroll !important;
}

@media only screen and (max-width: 921px) {
  .ipp-home-nav-container {
    display: none;
  }
}
@media print {
  .ipp-home-admin-options-container {
    display: none;
  }
  .ipp-home-nav-container {
    display: none;
  }
}
body {
  font-family: "Roboto", sans-serif;
}

.ipp-overlay-image {
  opacity: 0.4;
}

.image-wrapper {
  display: block;
  position: relative;
}
.image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.image-wrapper img.overlay {
  position: absolute;
  z-index: 1;
  opacity: 0.5;
}

.slideImage {
  width: 100%;
  height: auto;
}

.imageColumn {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.imageColumn .image-wrapper {
  width: 100%;
}
.imageColumn .image-wrapper img {
  height: auto;
}

.imagePreviewRow {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  width: 100%;
  overflow-x: auto;
}

.imagePreviewBox {
  width: fit-content;
  height: 200px;
}

.imagePreviewBox img {
  width: auto;
  height: 100%;
}

#attributesDetails .arow .attributeValue {
  flex: 1 0 0%;
}

.button-group {
  width: fit-content;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

#confirm-clear-cart-container {
  position: fixed !important;
  left: 98px !important;
}

.parts-list {
  margin-top: 20px;
}
.parts-list table {
  font-size: smaller;
}
.parts-list table .column-1 {
  padding-right: 1em;
}
.parts-list table .column-3 {
  text-align: right;
  padding-right: 1em;
}
.parts-list table td.even {
  background-color: #f0f0f0;
}

@media print {
  @page {
    size: auto;
    margin: 0mm;
  }
  #grid-container {
    display: block !important;
  }
}
#noDetailsFoundContainer {
  text-align: center;
  padding: 5em;
}

.k-icon.k-i-arrow-left {
  font-size: 24px;
}

.ipp-links {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5em 1em;
  margin-bottom: 1em;
}
.ipp-links a {
  cursor: pointer;
  text-decoration: none;
  flex: 0 0 auto;
  font-weight: 600;
}

.backToSearch {
  cursor: pointer;
  text-decoration: none;
  flex: 0 0 auto;
  font-weight: 600;
}

.detailsHeader {
  display: flex;
  flex-direction: row;
  margin-bottom: 2em;
  justify-content: space-between;
  align-items: center;
  gap: 1em;
}
.detailsHeader .productName {
  display: flex;
  gap: 1rem;
}
.detailsHeader .productName h2 {
  text-align: center;
  text-wrap: balance;
  margin: 0;
}

.detailsFooter {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  gap: 1rem;
  margin: 1em 0;
}

#majorComponentsTitle {
  text-align: center;
  font-weight: 400;
}

.quoteButtonContainer {
  flex: 0 0 auto;
}

#grid-container {
  display: grid;
  grid-template-columns: minmax(500px, var(--detailsImagesWidth)) 1fr 380px;
  grid-column-gap: 2em;
  grid-template-areas: "images details components";
}
#grid-container #imagesContainer {
  grid-area: images;
}
#grid-container #imagesContainer #slideshowContainer {
  position: relative;
  margin-bottom: 0.4em;
  border: 1px solid var(--border);
  border-radius: 7px;
}
#grid-container #imagesContainer #slideshowContainer .slideImageContainer {
  justify-content: center;
  align-items: center;
  padding: 0 var(--detailsImgSwipeContainerWidth);
  overflow: hidden;
  position: relative;
}
#grid-container #imagesContainer #slideshowContainer #ippOverlay {
  position: absolute;
  width: auto;
  max-width: var(--detailsImagesWidth);
  min-width: 500px;
  height: var(--detailsRowHeight);
  border-radius: 1px;
  object-fit: cover;
  z-index: 1;
  opacity: 0.4;
  left: 0px;
  top: 0px;
}
#grid-container #imagesContainer #slideshowContainer .slideImage {
  width: auto;
  max-width: var(--detailsImagesWidth);
  min-width: 500px;
  height: var(--detailsRowHeight);
  border-radius: 1px;
  object-fit: contain;
}
#grid-container #imagesContainer #slideshowContainer #ippOverlay:hover {
  transform: scale(1.5);
  left: 0px;
  top: 0px;
}
#grid-container #imagesContainer #slideshowContainer .slideImage:hover {
  transform: scale(1.5);
  position: relative;
}
#grid-container #imagesContainer #imagePreviewRow {
  height: 130px;
  display: flex;
  overflow-x: auto;
  border: 1px solid var(--border);
  border-radius: 3px;
  gap: 5px;
  padding: 5px;
}
#grid-container #imagesContainer #imagePreviewRow .imagePreviewBox {
  height: 100%;
}
#grid-container #imagesContainer #imagePreviewRow .imagePreviewBox .imagePreview {
  width: auto;
  height: 100%;
  object-fit: contain;
  border-radius: 3px;
  cursor: pointer;
}
#grid-container #imagesContainer #imagePreviewRow .imagePreviewBox .imagePreview:hover {
  box-shadow: 0 0 0 1px var(--accent);
}
#grid-container #imagesContainer #imagePreviewRow .imagePreviewBox .imagePreview.active {
  box-shadow: 0 0 0 3px var(--accent-active);
}
#grid-container #imagesContainer .prev, #grid-container #imagesContainer .next {
  cursor: pointer;
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  width: var(--detailsImgSwipeContainerWidth);
  height: 100%;
  padding: 16px;
  color: white;
  font-weight: bold;
  font-size: 22px;
  transition: 0.5s ease;
  user-select: none;
  -webkit-user-select: none;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 2;
  text-decoration: none;
}
#grid-container #imagesContainer .prev {
  left: 0;
  border-radius: 5px 0 0 5px;
}
#grid-container #imagesContainer .next {
  right: 0;
  border-radius: 0 5px 5px 0;
}
#grid-container #imagesContainer .prev:hover, #grid-container #imagesContainer .next:hover {
  background-color: rgba(0, 0, 0, 0.8);
}
#grid-container #imagesContainer .prev:active, #grid-container #imagesContainer .next:active {
  background-color: rgb(0, 0, 0);
}
#grid-container #imagesContainer #detailsNoImages {
  text-align: center;
  margin-top: 2em;
}
#grid-container .fade {
  animation-name: fade;
  animation-duration: 0.8s;
}
@keyframes fade {
  from {
    opacity: 0.4;
  }
  to {
    opacity: 1;
  }
}
#grid-container #componentsContainer {
  grid-area: components;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
#grid-container #majorComponentListContainer {
  height: var(--detailsRowHeight);
  width: 380px;
  min-height: var(--detailsRowHeight);
  max-height: var(--detailsRowHeight);
  display: flex;
  flex-direction: column;
}
#grid-container #stockNumbersContainer {
  height: 100%;
  overflow-y: auto;
  background: var(--cardBackground);
}

.detailsContainer {
  grid-area: details;
  /* html rendered from markdown */
}
.detailsContainer .attributeLabel {
  font-size: 1rem;
  font-weight: 700;
  color: black;
  width: 12em;
}
.detailsContainer .attributeContent {
  width: fit-content;
}
.detailsContainer .descriptionContainer h1 {
  font-size: 1.5rem;
  margin-bottom: 0.8rem;
}
.detailsContainer .descriptionContainer h2 {
  font-size: 1.25rem;
  margin-bottom: 0.8rem;
}
.detailsContainer .descriptionContainer h3 {
  font-size: 1.15rem;
  margin-bottom: 0.8rem;
}
.detailsContainer .descriptionContainer p {
  margin-bottom: 0.8rem;
}
.detailsContainer .descriptionContainer pre code {
  font-weight: 700;
}
.detailsContainer #detailsBottomContainer {
  margin-top: 1rem;
}
.detailsContainer #detailsTopContainer {
  display: flex;
  flex-direction: row;
  height: var(--detailsRowHeight);
}
.detailsContainer #attributesDetails {
  display: flex;
  flex-direction: column;
  overflow-x: auto;
  font-family: Roboto;
  font-size: 1rem;
  max-height: 640px; /* same height as image slider + carousel */
  overflow: hidden;
  position: relative;
}
.detailsContainer #attributesDetails #toggleAttributesButton {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1em 1px 1px 1px;
  font-weight: bold;
  background: linear-gradient(to bottom, transparent, white);
  border: none;
}
.detailsContainer #attributesDetails .attribute-group {
  border: #134a62 1px solid;
}
.detailsContainer #attributesDetails .attribute-group .attribute-group-title {
  padding: 0.1em 0.5em;
  font-size: smaller;
  font-weight: 500;
  background-color: #134a62;
  color: white;
}
.detailsContainer #attributesDetails .attribute-group .arow {
  padding: 0.1em 0.5em;
}
.detailsContainer #attributesDetails .arow {
  line-height: normal;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
}

@media only screen and (max-width: 1500px) {
  #grid-container {
    grid-column-gap: 0;
  }
  .detailsHeader {
    flex-wrap: wrap;
  }
}
@media only screen and (min-width: 992px) {
  .container {
    padding: 0 20px;
  }
}
@media only screen and (min-width: 1200px) {
  .container {
    padding: 0 40px;
  }
}
@media only screen and (min-width: 1400px) {
  .container {
    padding: 0 80px;
  }
}
@media only screen and (min-width: 921px) {
  #grid-container.equipment {
    grid-template-columns: minmax(500px, var(--detailsImagesWidth)) 1fr;
    grid-template-areas: "images details";
  }
}
@media only screen and (max-width: 920px) {
  #grid-container {
    grid-template-columns: 1fr;
    grid-template-areas: "images" "details" "components";
  }
  #grid-container #imagesContainer {
    min-width: 0;
  }
  #grid-container #imagesContainer #slideshowContainer {
    display: none;
  }
  #grid-container #imagesContainer #imagePreviewRow {
    max-width: none;
    width: 100vw;
    border: none;
  }
  #grid-container #imagesContainer #imagePreviewRow .imagePreview {
    max-width: 98vw;
    max-height: 40vh;
  }
  #grid-container #imagesContainer #imagePreviewRow .imagePreview.active {
    border: none;
  }
  #grid-container #majorComponentListContainer {
    min-height: auto;
    height: auto;
    max-height: auto;
  }
  #grid-container #componentsContainer {
    align-items: center;
  }
  .detailsContainer {
    padding: 30px;
  }
  .detailsContainer #attributesDetails {
    height: auto;
    margin-bottom: 1em;
  }
  .detailsContainer #detailsTopContainer {
    height: auto;
  }
  .container .row.px-4 .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
#public-site-header {
  display: flex;
  justify-content: center;
  padding: 1em 0;
  font-family: "Montserrat", sans-serif;
  font-size: 0.85rem;
  font-style: normal;
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
  text-size-adjust: 100%;
  color: var(--ast-global-color-3);
}
#public-site-header a {
  color: var(--accent);
}
#public-site-header a:hover,
#public-site-header a:active {
  color: var(--accent-active);
}
#public-site-header #confirm-clear-cart-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  position: absolute;
  z-index: 12;
  background-color: white;
  width: 260px;
  height: 100px;
  box-shadow: 0 4px 10px 20px rgba(0, 0, 0, 0.1);
  bottom: 40px;
  border: 1px solid var(--accent);
  border-radius: 5px;
  padding: 10px;
}
#public-site-header #clearCartActionsContainer {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
  width: 100%;
}
#public-site-header #hubspot-form-container {
  display: block;
  position: fixed;
  top: 0;
  bottom: 0;
  width: 100%;
  background-color: white;
  z-index: 20;
}
#public-site-header #hubspot-form-container #closeRequestQuoteFormButton {
  position: fixed;
  top: 40px;
  right: calc(50% - 360px);
}
#public-site-header #hubspot-form-container iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
#public-site-header #ipp-desktop-header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 100%;
  padding-right: 40px;
}
#public-site-header #ipp-desktop-header .ipp-logo {
  height: 79px;
}
#public-site-header #ipp-desktop-header .ipp-logo img {
  height: 100%;
}
#public-site-header .public-header-bar-navigation {
  display: flex;
  justify-content: center;
  align-items: center;
}
#public-site-header .public-header-bar-navigation .public-main-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  overflow-wrap: anywhere;
}
#public-site-header .public-header-bar-navigation .public-main-navigation ul li {
  position: relative;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  vertical-align: baseline;
  overflow-wrap: anywhere;
  text-align: left;
  vertical-align: baseline;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
}
#public-site-header .public-header-bar-navigation .public-main-navigation ul li a, #public-site-header .public-header-bar-navigation .public-main-navigation ul li .public-menu-link {
  text-decoration-line: none;
  cursor: pointer;
  height: 100%;
  -webkit-align-items: center;
  -webkit-box-align: center;
  align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  display: flex;
  padding: 0.25rem 0.6rem;
  overflow-wrap: anywhere;
  background-color: rgba(0, 0, 0, 0);
  transition-property: all;
  transition-duration: 0.2s;
  transition-timing-function: linear;
  transition-delay: 0s;
  -webkit-box-direction: normal;
}
#public-site-header .public-menu-link:before {
  content: "";
  position: absolute;
  width: 100%;
  right: 50%;
  bottom: 0;
  height: 1px;
  background-color: transparent;
  transform: scale(0, 0) translate(-50%, 0);
  transition: transform 0.3s ease-in-out, color 0s ease-in-out;
}
#public-site-header .public-menu-link.cart-label {
  padding: 0 10px 0 2px;
}
#public-site-header .public-menu-item:hover > .public-menu-link:before {
  width: calc(100% - 1.2em);
  background-color: currentColor;
  transform: scale(1, 1) translate(50%, 0);
}
#public-site-header .public-menu-item:hover > .cart-menu-container .cart-count {
  color: white;
  background-color: var(--accent-active);
}
#public-site-header .public-menu-item:hover > .cart-menu-container .cart-icon,
#public-site-header .public-menu-item:hover > .public-menu-link {
  color: var(--accent-active);
}
#public-site-header .public-menu-item.cart {
  flex-direction: row;
  margin-left: 20px;
}
#public-site-header .cart-menu-container {
  position: relative;
  display: flex;
  align-items: center;
  cursor: pointer;
}
#public-site-header .cart-menu-container .cart-icon {
  font-size: 2em;
  color: var(--ast-global-color-3);
}
#public-site-header .cart-menu-container .cart-count {
  background-color: var(--accent);
  width: 20px;
  height: 20px;
  border-radius: 10px;
  color: #fff;
  position: absolute;
  top: -5px;
  right: -5px;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 1.4em;
  font-size: 1em;
  font-weight: 100;
}
#public-site-header .cart-menu-container .cart-count.large {
  width: 24px;
  height: 24px;
  border-radius: 12px;
  line-height: 1.6em;
}
#public-site-header .public-icon svg {
  height: 0.6em;
  width: 0.6em;
  position: relative;
  margin-left: 10px;
  fill: currentColor;
}
#public-site-header #public-mobile-header {
  display: none;
}
#public-site-header #cart-details-container {
  background: #ffffff;
  color: black;
  border-radius: 10px;
  position: fixed;
  box-shadow: 0 0px 20px 1px rgba(19, 74, 98, 0.0705882353);
  padding: 8px 10px;
  opacity: 0;
  margin-top: 40px;
  top: 99px;
  right: 10px;
  width: 380px;
  max-height: 80vh;
  z-index: 11;
  visibility: hidden;
  transform: translateY(-0.5em);
  transition: visibility 0.2s ease, transform 0.2s ease;
  border: 1px solid var(--accent);
}
#public-site-header #cart-details-container .cart-header {
  display: flex;
  justify-content: space-between;
  flex-direction: row;
  align-items: center;
}
#public-site-header #cart-details-container .close-cart-icon {
  background: transparent;
  border: none;
}
#public-site-header #cart-details-container .close-cart-icon:hover {
  background: rgba(19, 74, 98, 0.2666666667);
}
#public-site-header #cart-details-container .cart-body {
  display: flex;
  flex-direction: column;
  gap: 1em;
}
#public-site-header #cart-details-container .cart-products-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: var(--cardBackground);
  padding: 10px;
  border-radius: 3px;
  max-height: calc(80vh - 150px);
  overflow: auto;
}
#public-site-header #cart-details-container .cart-item {
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  border-bottom: 1px solid var(--ast-border-color);
  padding: 9px 5px;
}
#public-site-header #cart-details-container .cart-item:last-child {
  border: none;
}
#public-site-header #cart-details-container .cart-thumbnail-container {
  display: flex;
  justify-content: center;
  align-content: center;
  width: 130px;
  height: 100px;
  background-color: rgba(255, 255, 255, 0.8666666667);
  border-radius: 3px;
  text-align: center;
  flex-direction: column;
}
#public-site-header #cart-details-container .cart-thumbnail {
  max-width: 130px;
  height: 100px;
  object-fit: cover;
  border-radius: 3px;
}
#public-site-header #cart-details-container .cart-item-details-container {
  margin-left: 1em;
  flex: 1;
  justify-content: space-between;
  display: flex;
  flex-direction: column;
  height: 100px;
}
#public-site-header #cart-details-container .cart-title {
  font-weight: 500;
  text-decoration: none;
}
#public-site-header #cart-details-container .remove-from-cart {
  color: var(--ast-global-color-3);
  font-size: 0.84em;
  text-align: end;
  cursor: pointer;
  margin-bottom: 0.5rem;
}
#public-site-header #cart-details-container .remove-from-cart:hover {
  color: var(--ast-global-color-0);
}
#public-site-header #cart-details-container .clear-cart-container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  position: relative;
}
#public-site-header #cart-details-container .clear-cart-container a {
  cursor: pointer;
  font-size: 0.94em;
  color: var(--ast-global-color-3);
}
#public-site-header #cart-details-container .clear-cart-container a:hover {
  color: var(--ast-global-color-0);
}
#public-site-header #cart-details-container .request-quote-button {
  width: 100%;
  padding: 0.5em;
}
#public-site-header .button-primary {
  background-color: var(--accent);
  border-color: transparent;
  color: #ffffff;
}
#public-site-header .button-primary:hover {
  background-color: var(--accent-active);
}
#public-site-header #cart-details-container.close {
  animation: fadeout 0.3s;
  -moz-animation: fadeout 0.3s;
  -webkit-animation: fadeout 0.3s;
  -o-animation: fadeout 0.3s;
}
#public-site-header #cart-details-container.open {
  visibility: visible;
  opacity: 1;
  animation: fadein 0.3s;
  -moz-animation: fadein 0.3s;
  -webkit-animation: fadein 0.3s;
  -o-animation: fadein 0.3s;
}

@media only screen and (max-width: 800px) {
  #public-site-header {
    padding: 0;
  }
  #public-site-header #popup #closeRequestQuoteFormButton {
    right: 40px;
  }
}
@media only screen and (max-width: 920px) {
  #public-site-header {
    padding: 0;
  }
  #public-site-header #ipp-desktop-header {
    display: none;
  }
  #public-site-header #public-mobile-header {
    display: block;
    z-index: 1;
    line-height: 20.8px;
    width: 100%;
  }
  #public-site-header #public-mobile-header .public-header-bar-wrap {
    position: relative;
  }
  #public-site-header #public-mobile-header .public-header-bar-wrap .public-primary-header-bar {
    display: grid;
    background-color: #fbfbfb;
    background-image: none;
    color: rgb(51, 51, 51);
    line-height: 3;
    max-width: 100%;
    min-height: 70px;
    padding-left: 20px;
    padding-right: 10px;
    position: relative;
    text-size-adjust: 100%;
    z-index: 4;
    transition: all 0.2s linear;
  }
  #public-site-header #public-mobile-header .public-header-bar-wrap .public-primary-header-bar .public-builder-grid-row {
    display: grid;
    align-items: center;
    column-gap: 5px;
    -webkit-font-smoothing: antialiased;
    grid-template-columns: auto auto;
  }
  #public-site-header #public-mobile-header .public-header-bar-wrap .public-primary-header-bar .public-builder-grid-row .public-header-primary-section-left {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    min-height: 0;
    overflow-wrap: anywhere;
    height: 100%;
  }
  #public-site-header #public-mobile-header .public-header-bar-wrap .public-primary-header-bar .public-builder-grid-row .public-header-primary-section-left .ipp-logo {
    height: 67px;
  }
  #public-site-header #public-mobile-header .public-header-bar-wrap .public-primary-header-bar .public-builder-grid-row .public-header-primary-section-left .ipp-logo img {
    height: 100%;
  }
  #public-site-header #public-mobile-header .public-header-bar-wrap .public-primary-header-bar .public-builder-grid-row .public-header-primary-section-right {
    display: flex;
    align-items: center;
    height: 100%;
    overflow-wrap: anywhere;
    min-height: 0;
    justify-content: flex-end;
  }
  #public-site-header #public-mobile-header .public-header-bar-wrap .public-primary-header-bar .public-builder-grid-row .public-header-primary-section-right .header-row {
    display: flex;
    flex-direction: row;
  }
  #public-site-header #public-mobile-header .public-header-bar-wrap .public-primary-header-bar .public-builder-grid-row .public-header-primary-section-right .public-header-menu-toggle {
    cursor: pointer;
    align-items: center;
    background: var(--accent);
    border-radius: 4px;
    border-width: 0;
    height: 2.1em;
    color: #ffffff;
    padding: 0.5em;
    display: flex;
    width: auto;
    line-height: 1.8571428571;
    overflow-x: visible;
    overflow-y: visible;
    cursor: pointer;
    font-size: 1.4em;
    margin-right: 10px;
    font-stretch: 100%;
    text-indent: 0px;
    vertical-align: middle;
    writing-mode: horizontal-tb;
    word-spacing: 0px;
  }
  #public-site-header #public-mobile-header .public-header-bar-wrap .public-primary-header-bar .public-builder-grid-row .public-header-primary-section-right .public-header-menu-toggle .mobile-menu-toggle-icon {
    display: flex;
    align-self: center;
  }
  #public-site-header #public-mobile-header .public-header-bar-wrap .public-primary-header-bar .public-builder-grid-row .public-header-primary-section-right .public-header-menu-toggle .mobile-menu-toggle-icon .mobile-menu-icon {
    align-content: center;
    align-items: center;
    align-self: center;
    display: flex;
    flex-wrap: wrap;
    text-align: center;
    text-indent: 0px;
    text-rendering: auto;
    text-shadow: none;
    text-size-adjust: 100%;
    text-transform: none;
    word-spacing: 0px;
  }
  #public-site-header #public-mobile-header .public-header-bar-wrap .public-primary-header-bar .public-builder-grid-row .public-header-primary-section-right .public-header-menu-toggle .mobile-menu-toggle-icon .mobile-menu-icon span {
    height: 25px;
    width: 25px;
    transition: none;
  }
  #public-site-header #public-mobile-header .public-header-bar-wrap .public-primary-header-bar .public-builder-grid-row .public-header-primary-section-right .public-header-menu-toggle .mobile-menu-toggle-icon .mobile-menu-icon.hidden {
    display: none;
  }
  #public-site-header #public-mobile-header .public-header-bar-wrap .public-primary-header-bar .public-builder-grid-row .public-header-primary-section-right .public-header-menu-toggle .mobile-menu-toggle-icon .mobile-close-menu-icon {
    display: none;
  }
  #public-site-header #public-mobile-header .public-header-bar-wrap .public-primary-header-bar .public-builder-grid-row .public-header-primary-section-right .public-header-menu-toggle .mobile-menu-toggle-icon.open .mobile-close-menu-icon {
    display: block;
  }
  #public-site-header #public-mobile-header .public-header-bar-wrap .public-primary-header-bar .public-builder-grid-row .public-header-primary-section-right .public-header-menu-toggle .mobile-menu-toggle-icon.open .mobile-open-menu-icon {
    display: none;
  }
  #public-site-header #public-mobile-header .public-mobile-header-container.hidden {
    display: none;
  }
  #public-site-header #public-mobile-header .public-mobile-header-container {
    display: block;
    background-color: #ffffff;
  }
  #public-site-header #public-mobile-header .public-mobile-header-container .public-builder-menu-mobile {
    align-items: center;
    height: auto;
    justify-content: flex-start;
    width: 100%;
  }
  #public-site-header #public-mobile-header .public-mobile-header-container .public-builder-menu-mobile .public-main-header-bar-alignment {
    flex-basis: auto;
    flex-grow: 1;
    flex-shrink: 1;
    order: 4;
    width: 100%;
  }
  #public-site-header #public-mobile-header .public-mobile-header-container .public-builder-menu-mobile .public-main-header-bar-alignment .public-header-bar-navigation {
    display: block;
    line-height: 3;
  }
  #public-site-header #public-mobile-header .public-mobile-header-container .public-builder-menu-mobile .public-main-header-bar-alignment .public-header-bar-navigation .public-main-navigation {
    height: 100%;
  }
  #public-site-header #public-mobile-header .public-mobile-header-container .public-builder-menu-mobile .public-main-header-bar-alignment .public-header-bar-navigation .public-main-navigation ul {
    align-self: center;
    border-width: 0;
    border-top-width: 1px;
    background-color: #ffffff;
    background-image: none;
    border-style: solid;
    border-color: rgb(234, 234, 234);
  }
  #public-site-header #public-mobile-header .public-menu-item.cart {
    margin: 0 10px;
  }
  #public-site-header .public-menu-item {
    flex-direction: column;
    width: 100%;
  }
  #public-site-header .public-menu-item a {
    display: block;
    align-items: center;
    height: 100%;
    width: 100%;
    padding: 14px 20px;
    border-width: 0;
    border-bottom-width: 1px;
    border-style: solid;
    border-bottom-color: rgb(234, 234, 234);
    cursor: pointer;
    transition: all 0.2s linear;
  }
  #public-site-header .public-menu-item:hover > .public-menu-link:before {
    background-color: transparent;
  }
  #public-site-header .public-menu-link.about {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }
  #public-site-header #about-menu-icon {
    position: absolute;
    right: 20px;
    top: 0;
    padding: 0 1.2em;
    height: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    border: none;
    background-color: transparent;
  }
  #public-site-header #cart-details-container {
    margin-top: 0px;
    top: 10px;
    right: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    max-height: 100vh;
    padding: 40px 10px;
    justify-content: space-between;
    display: flex;
    flex-direction: column;
  }
  #public-site-header #cart-details-container .cart-products-container {
    max-height: calc(100vh - 180px);
  }
}
@media (min-width: 922px) {
  #ipp-desktop-header {
    max-width: 1240px;
  }
}
@media (max-width: 544px) {
  html {
    font-size: 85.5%;
  }
}
@keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-moz-keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeout {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-moz-keyframes fadeout {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes fadeout {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.public-footer {
  background-image: linear-gradient(65deg, rgb(218, 218, 218) 2%, rgb(242, 242, 242) 27%, rgb(230, 230, 230) 56%, rgb(242, 242, 242) 80%, rgb(206, 206, 206) 100%);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  background-attachment: fixed;
  font-style: normal;
  font-family: Roboto, sans-serif;
  position: relative;
}
.public-footer a {
  color: var(--ast-global-color-3);
  text-decoration: none;
}
.public-footer a:hover {
  color: #009ade;
}
.public-footer p {
  margin: 0;
}
.public-footer .public-primary-footer-wrap {
  padding: 20px 30px;
  border-color: rgb(230, 230, 230);
  border-top-width: 1px;
  border-top-style: solid;
  width: 100%;
  color: rgb(51, 51, 51);
  display: flex;
  flex-wrap: wrap;
  align-content: center;
}
.public-footer .public-primary-footer-wrap .public-widget-media-image {
  display: flex;
  justify-content: center;
}
.public-footer .public-primary-footer-wrap .public-footer-grid-columns {
  display: grid;
  grid-template-columns: 1fr 1fr 1.5fr;
  column-gap: 35px;
  align-items: flex-start;
  max-width: 1200px;
  row-gap: 10px;
  margin-left: auto;
  margin-right: auto;
}
.public-footer .public-primary-footer-wrap .public-footer-section {
  margin-bottom: 10px;
  position: relative;
  overflow-wrap: anywhere;
}
.public-footer .public-primary-footer-wrap .public-footer-focus-item .public-footer-social-item {
  border-radius: 36px;
  background-color: var(--ast-global-color-3);
  margin-right: 10px;
  display: inline-flex;
  align-content: center;
  align-items: center;
  color: rgb(58, 58, 58);
  cursor: pointer;
  justify-content: center;
  line-height: 1;
  transition: all 0.01s;
  padding: 8px;
}
.public-footer .public-primary-footer-wrap .public-footer-focus-item .public-footer-social-item svg {
  width: 25px;
  height: 25px;
  fill: var(--ast-global-color-5);
}
.public-footer .public-primary-footer-wrap .public-footer-focus-item .public-footer-list {
  line-height: 2rem;
}
.public-footer .public-below-footer-wrap {
  padding: 15px 70px;
  display: grid;
  align-content: center;
  min-height: 20px;
  color: rgb(51, 51, 51);
  width: 100%;
  background-color: rgb(220, 220, 220);
}
.public-footer .public-below-footer-wrap .public-footer-builder-grid-row-container-inner {
  line-height: 1.3em;
}
.public-footer #adminNavMenu {
  position: absolute;
  right: 0;
  bottom: 0;
  top: auto;
  left: auto;
}

@media only screen and (max-width: 920px) {
  .public-footer .public-primary-footer-wrap {
    padding: 30px 20px 20px 20px;
  }
  .public-footer .public-primary-footer-wrap .public-widget-media-image .ipp-footer-logo {
    scale: 0.85;
  }
  .public-footer .public-primary-footer-wrap .public-footer-builder-grid-row-container-inner .public-footer-grid-columns {
    grid-template-columns: repeat(3, 1fr);
    column-gap: 10px;
  }
  .public-footer .public-primary-footer-wrap .public-footer-builder-grid-row-container-inner .public-footer-focus-item .public-footer-social-item svg {
    width: 15px;
    height: 15px;
  }
}
@media only screen and (max-width: 660px) {
  .public-footer .public-primary-footer-wrap {
    margin-bottom: 25px;
  }
  .public-footer .public-primary-footer-wrap .public-widget-media-image .ipp-footer-logo {
    scale: 0.7;
  }
  .public-footer .public-primary-footer-wrap .public-footer-builder-grid-row-container-inner .public-footer-grid-columns {
    column-gap: 20px;
    row-gap: 20px;
    grid-template-columns: 1fr;
  }
  .public-footer .public-primary-footer-wrap .public-footer-builder-grid-row-container-inner .public-widget-text p {
    text-align: center;
  }
  .public-footer .public-primary-footer-wrap .public-footer-builder-grid-row-container-inner .public-footer-focus-item .public-footer-social-inner-wrap {
    text-align: center;
  }
  .public-footer .public-primary-footer-wrap .public-footer-builder-grid-row-container-inner .public-footer-focus-item .public-footer-social-item svg {
    width: 15px;
    height: 15px;
  }
}
:root {
  --ast-global-color-0: #0170B9;
  --ast-global-color-1: #3a3a3a;
  --ast-global-color-2: #3a3a3a;
  --ast-global-color-3: #134a62;
  --ast-global-color-4: #F5F5F5;
  --ast-global-color-5: #FFFFFF;
  --ast-global-color-6: #F2F5F7;
  --ast-global-color-7: #424242;
  --ast-global-color-8: #000000;
  --ast-border-color: #dddddd;
  --border: #ced4da;
  --border-accent: #86b7fe;
  --cardBackground: #f8f9fa;
  --subtext: #707070;
  --accent: var(--ast-global-color-3);
  --accent-active: #059fe3;
  --detailsImagesWidth: 35vw;
  --detailsImgSwipeContainerWidth: 40px;
  --detailsRowHeight: 500px;
  --primary: var(--ast-global-color-3);
  --primary-hover: #6c757d;
  --danger: #dc3545;
  --danger-hover: #bb2d3b;
}

.container {
  max-width: none !important;
}

a.admin-link,
a.textButton,
a.backToList {
  color: #0d6efd;
  text-decoration: none;
  font-size: 90%;
  font-weight: 500;
  cursor: pointer;
}
a.admin-link:hover,
a.textButton:hover,
a.backToList:hover {
  color: #004fa0;
  text-decoration: underline;
}

.product-search-popup .k-popup {
  position: relative;
  padding: 0.5rem 1rem;
  border-radius: 0.25rem;
  overflow-x: hidden;
}
.product-search-popup .k-popup .search-results-list {
  display: table;
}
.product-search-popup .k-popup .search-results-list a {
  text-decoration: none;
  cursor: pointer;
  display: table-row;
}
.product-search-popup .k-popup .search-results-list a:hover {
  text-decoration: underline;
  background-color: var(--ast-border-color);
}
.product-search-popup .k-popup .search-results-list a:first-child {
  font-weight: 500;
  color: var(--accent-active);
}
.product-search-popup .k-popup .search-results-list a > * {
  display: table-cell;
  white-space: nowrap;
  overflow: hidden;
}
.product-search-popup .k-popup .search-results-list a .k-icon {
  min-width: 16px;
  vertical-align: baseline;
}
.product-search-popup .k-popup .search-results-list a .stocknumber {
  text-align: right;
  padding: 0 0.5rem;
  font-weight: 500;
}
.product-search-popup .k-popup .search-results-list a .display-title {
  width: 99%;
}

/* Custom Styles */
/* nav menu */
.fixed-top.nav-menu {
  background-color: var(--accent);
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: sticky;
  margin-bottom: 15px;
  align-items: center;
  padding: 0.4rem 1rem;
  font-size: 18px;
}
.fixed-top.nav-menu .global-search-input {
  max-width: 300px;
}
.fixed-top.nav-menu .k-loader-primary {
  color: #fff;
}
.fixed-top.nav-menu .navbar {
  justify-content: start;
  /* RESPONSIVE NAVBAR MENU */
}
.fixed-top.nav-menu .navbar .adaptive-menu {
  margin-right: auto;
}
.fixed-top.nav-menu .navbar .right-menu {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: auto;
}
.fixed-top.nav-menu .navbar #hamburger-checkbox {
  display: none;
}
.fixed-top.nav-menu .navbar .hamburger {
  display: none;
  font-size: 24px;
  user-select: none;
  cursor: pointer;
}
.fixed-top.nav-menu .k-menu:not(.k-context-menu) > .k-item.k-menu-item {
  color: white;
}
.fixed-top.nav-menu a {
  color: #fff;
  text-decoration: none;
}
.fixed-top.nav-menu li {
  list-style: none;
}
.fixed-top.nav-menu .k-menu-horizontal {
  gap: 0.5rem;
}
.fixed-top.nav-menu .k-menu {
  background-color: transparent;
}
.fixed-top.nav-menu .btn-info {
  color: var(--bs-info);
  background-color: transparent;
  border: none;
}
.fixed-top.nav-menu .btn-info:hover {
  color: #fff;
  background-color: var(--primary-hover);
  border-color: var(--primary-hover);
}
.fixed-top.nav-menu .k-badge {
  font-weight: 500;
}
.fixed-top.nav-menu .controls-group {
  column-gap: 0.5rem;
  width: 100%;
}

@media screen and (max-width: 1050px) {
  .fixed-top.nav-menu {
    position: relative;
  }
}
/* nav links */
.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .show > .nav-link {
  color: #415364;
}
.navbar-dark .navbar-nav .nav-link {
  color: #415364;
}
.navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover {
  color: #415364;
}

@media print {
  nav {
    visibility: hidden;
  }
  .nav-menu {
    display: none !important;
  }
}
.equipment-type-seo-info {
  color: var(--accent);
}
.equipment-type-seo-info h1 {
  font-size: 1.5em;
}
.equipment-type-seo-info h2 {
  font-size: 1.25em;
}

.k-loader-container.k-loader-container-lg {
  align-items: flex-start;
  padding: 20px;
}
a {
  color: var(--accent);
  cursor: pointer;
}
a:hover, a:active {
  color: var(--accent-active);
}

.k-grid .k-grid-content a {
  color: #0d6efd;
}
.k-grid .k-grid-content a:hover {
  color: #004fa0;
  text-decoration: underline;
}

.k-toolbar {
  overflow: visible !important;
}

.k-loader-primary {
  color: var(--accent);
}

.btn-primary, .k-button-solid-primary {
  background-color: var(--primary);
  border-color: var(--primary);
  color: white;
}
.btn-primary:hover, .btn-primary:active, .btn-primary:focus, .k-button-solid-primary:hover, .k-button-solid-primary:active, .k-button-solid-primary:focus {
  background-color: var(--primary-hover);
  border-color: var(--primary-hover);
}
.btn-primary.disabled, .k-button-solid-primary.disabled {
  background-color: var(--ast-global-color-6);
  border-color: var(--ast-global-color-6);
  color: var(--ast-global-color-1);
}
.btn-primary .k-loader, .k-button-solid-primary .k-loader {
  color: white;
}

.btn-warning, .k-button-solid-warning {
  background-color: var(--danger);
  border-color: var(--danger);
  color: white;
}
.btn-warning:hover, .btn-warning:active, .btn-warning:focus, .k-button-solid-warning:hover, .k-button-solid-warning:active, .k-button-solid-warning:focus {
  background-color: var(--danger-hover);
  border-color: var(--danger-hover);
}
.btn-warning .k-loader, .k-button-solid-warning .k-loader {
  color: white;
}

.k-button-solid-base.k-selected {
  background-color: #6c757d;
  border-color: #6c757d;
  color: white;
}

.k-slider .k-slider-selection,
.k-slider .k-draghandle,
.k-list-item.k-selected,
.k-list-item.k-selected,
.k-pager-wrap .k-pager-numbers .k-link.k-state-selected,
.k-pager-wrap .k-pager-numbers .k-link.k-selected,
.k-checkbox:checked,
.k-checkbox.k-checked,
.k-radio.k-checked,
.k-radio-item .k-radio:checked {
  border-color: var(--accent);
  background-color: var(--accent);
}

.checkbox-wrapper {
  cursor: pointer;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5em;
}

.k-checkbox:indeterminate, .k-checkbox-indeterminate {
  background: linear-gradient(to right bottom, #ffffff 51%, #b7dff0 50%);
}

.k-checkbox:hover,
.checkbox-wrapper:hover .k-checkbox,
.k-checkbox:checked:focus,
.k-checkbox.k-checked.k-focus .k-radio:hover,
.k-radio-item:hover .k-radio,
.k-input:focus,
.k-input.k-focus,
.k-input:focus-within {
  border-color: var(--accent);
  box-shadow: 0px 0px 0px 0.2rem rgba(19, 74, 98, 0.3);
}

.k-pager-nav.k-link, .k-pager-refresh {
  border-color: #dee2e6;
  color: var(--accent);
  background-color: #ffffff;
}

.k-pager-nav.k-link:hover,
.k-pager-refresh:hover,
.k-state-hover.k-pager-nav.k-link,
.k-state-hover.k-pager-refresh,
.k-hover.k-pager-nav.k-link,
.k-hover.k-pager-refresh {
  border-color: #d6d9dc;
  color: #0a58ca;
  background-color: #e9ecef;
}

.k-state-selected.k-pager-nav.k-link,
.k-state-selected.k-pager-refresh,
.k-selected.k-pager-nav.k-link,
.k-selected.k-pager-refresh {
  border-color: #0d6efd;
  color: white;
  background-color: #0d6efd;
}

.k-pager-nav.k-link:focus,
.k-pager-refresh:focus,
.k-state-focus.k-pager-nav.k-link,
.k-state-focus.k-pager-refresh,
.k-focus.k-pager-nav.k-link,
.k-focus.k-pager-refresh {
  background-color: #ffffff;
  box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.25);
}

.k-pager-numbers .k-link {
  border-color: #dee2e6;
  color: var(--accent);
  background-color: #ffffff;
}
.k-pager-numbers .k-link:hover, .k-pager-numbers .k-link.k-state-hover, .k-pager-numbers .k-link.k-hover {
  border-color: #d6d9dc;
  color: #0d6efd;
  background-color: #e9ecef;
}
.k-pager-numbers .k-link:focus, .k-pager-numbers .k-link.k-state-focus, .k-pager-numbers .k-link.k-focus {
  background-color: #ffffff;
  box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.25);
}
.k-pager-numbers .k-link.k-state-selected, .k-pager-numbers .k-link.k-selected {
  border-color: #0d6efd;
  color: white;
  background-color: var(--accent);
}

.k-scrollview-pageable > .k-button.k-primary,
.k-scrollview-nav > .k-link.k-primary {
  background-color: var(--accent);
}

.alert {
  padding: 0.75rem 1rem;
}

w-50 {
  width: 50%;
}

.anchor {
  color: var(--accent);
  cursor: pointer;
  text-decoration: underline;
}

#closeRequestQuoteFormButton {
  position: fixed;
  top: 40px;
  right: calc(50% - 360px);
  z-index: 12;
}

#popupiframe {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  z-index: 11;
}

@media (max-width: 768px) {
  .fixed-top.nav-menu .navbar .hamburger {
    display: block;
  }
  .fixed-top.nav-menu .navbar .adaptive-menu {
    display: none;
  }
  .fixed-top.nav-menu .navbar #hamburger-checkbox:checked ~ .adaptive-menu {
    display: flex;
    width: 100%;
  }
  .dropdown {
    left: 50%;
    top: 30px;
    transform: translateX(35%);
  }
  .dropdown li:hover {
    background-color: var(--accent);
  }
}
