#cartsliderrow .cartTableWrapper .th.cart--quantities, #cartsliderrow .cartTableWrapper .shoppingcartquantitytext, #cartsliderrow .cartTableWrapper .quantityChanger, .shoppingcart__wrapper .cartTableWrapper .th.cart--quantities, .shoppingcart__wrapper .cartTableWrapper .shoppingcartquantitytext, .shoppingcart__wrapper .cartTableWrapper .quantityChanger {
    width: 10.14286rem;
  }
  
  #modalQuoteIsCreated {
    visibility: hidden;
    position: relative;
  }
  
  #modalQuoteIsCreated::after {
    content: "Thank you for your request. Fortis will process our request and will contact you for next steps.";
    visibility: visible;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    color: #333;
    background: #f0f0f0;
    padding: 10px;
    z-index: 1;
  }
  
  .search-container {
    display: none;
  }
  
  [name="savequote-38"] {
    display: none;
  }
  
  [name="savequote-39"] {
    display: none;
  }
  
  .my-addresses-link {
    display: none;
  }
  
  .my-orders-link {
    display: none;
  }
  
  /* .updatecartbutton {
    display: none;
  } */
  
  .continueshoppingbutton {
    display: none;
  }
  
  /*  for the vue js app */
  .product-page field:first-of-type {
    width: 100% !important;
    max-width: 100% !important;
  }
  
  
  a.is-loading {
    position: relative;
    color: transparent !important;
    pointer-events: none;
  }
  
  a.is-loading::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.5em;
    height: 1.5em;
    margin-top: -0.75em;
    margin-left: -0.75em;
    border-radius: 50%;
    border: 2px solid #000;
    border-right-color: transparent;
    border-top-color: transparent;
    animation: spinAround 0.5s infinite linear;
  }
  
  @keyframes spinAround {
    from {
      transform: rotate(0deg);
    }
  
    to {
      transform: rotate(359deg);
    }
  }
  
  .invoice-information .modal-card,
  .shipping-information .modal-card,
  .document-information .modal-card {
    position: relative;
    height: 90vh;
    width: min(90%, 70vh) !important;
    margin: 0 auto;
    border: 1px solid #eaeaea;
    overflow: hidden;
    aspect-ratio: 9 / 16;
  }
  
  .invoice-preview-container,
  .document-preview-container {
    position: relative;
    width: 100%;
    height: 100%;
    border: 1px solid #eaeaea;
    overflow: hidden;
  }
  
  .invoice-preview-container .overlay,
  .document-preview-container .overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: white;
    padding: 1rem;
    text-align: center;
    z-index: 5;
  }
  
  .invoice-preview-container .pdf-embed,
  .document-preview-container .pdf-embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  
  .invoice-preview-container .download-btn,
  .document-preview-container .download-btn {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    z-index: 10;
  }
  
  /* popover */
  /* Column filter styles */
  .filter-icon {
    cursor: pointer;
    font-size: 0.8rem;
    color: #888;
    margin-left: 4px;
    display: inline-flex;
  }
  
  .filter-button {
    cursor: pointer;
    background: none;
    border: none;
    border-radius: 4px;
    padding: 4px 8px;
    margin-left: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #888;
    font-size: 0.8rem;
    transition:
      background-color 0.2s,
      color 0.2s;
    position: relative;
    z-index: 5;
    /* Higher z-index to ensure it's clickable */
  }
  
  .filter-button:hover {
    background-color: #f0f0f0;
    color: #3273dc;
  }
  
  .filter-button:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(50, 115, 220, 0.25);
  }
  
  .filter-icon:hover {
    color: #3273dc;
  }
  
  .has-active-filter .column-header-container .filter-icon,
  .has-active-filter .column-header-container .filter-button {
    color: #3273dc;
  }
  
  .has-active-filter .column-header-container .filter-button {
    background-color: rgba(50, 115, 220, 0.1);
  }
  
  .column-header-container {
    display: inline-flex;
    align-items: center;
    flex-grow: 1;
    justify-content: space-between;
    width: 100%;
    padding-right: 8px;
  }
  
  .column-title {
    display: inline-block;
    margin-right: auto;
    /* Push the filter button to the right */
  }
  
  .active-filters {
    border-bottom: 1px solid #f0f0f0;
    padding: 8px 16px;
  }
  
  .active-filters .tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  
  .selected-row-highlight {
    background-color: rgba(50, 115, 220, 0.1) !important;
    transition: background-color 0.5s ease;
  }
  
  /* Filter popover styles */
  .filter-popover {
    position: absolute;
    z-index: 100;
    background-color: white;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    min-width: 250px;
  }
  
  .filter-popover-content {
    padding: 12px;
  }
  
  .filter-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    font-weight: bold;
  }
  
  .close-button {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
  }
  
  .filter-body {
    margin-bottom: 12px;
  }
  
  .filter-footer {
    display: flex;
    justify-content: center;
    margin-top: 16px;
  }
  
  /* Table header styling */
  .header-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    position: relative;
  }
  
  .sort-indicator {
    margin-left: 4px;
    font-size: 0.8rem;
  }
  
  /* Make the entire header clickable for sorting */
  th.cursor-pointer {
    cursor: pointer;
    user-select: none;
  }
  
  /* Ensure the entire header is clickable */
  th.cursor-pointer .header-content {
    cursor: pointer;
  }
  
  /* Highlight header when filter is active */
  .has-active-filter {
    background-color: rgba(50, 115, 220, 0.05);
  }
  
  /* Make sure the filter icon is properly aligned */
  .column-header-container .filter-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  
  /* Skeleton */
  @keyframes pulse {
    50% {
      opacity: 0.5;
    }
  }
  
  .animate-pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
  }
  
  .rounded-md {
    border-radius: 0.375rem;
  }
  
  .bg-primary {
    --primary: 240 5.9% 10%;
    background-color: hsl(var(--primary) / 0.1);
  }
  
  /* Artwork Details Modal */
  
  .artwork-details-container {
    height: 75vh;
    min-height: 600px;
    max-height: 90vh;
  }
  
  .artwork-details-container .columns {
    height: 100%;
  }
  
  .item-details-column,
  .image-viewer-column,
  .thumbnails-column {
    padding: 0.75rem;
    display: flex;
    flex-direction: column;
  }
  
  .panel {
    height: 100%;
    display: flex;
    flex-direction: column;
  }
  
  .panel-block {
    flex: 1;
    overflow: hidden;
  }
  
  .thumbnails-column .panel-block {
    overflow-y: auto;
  }
  
  .panel-heading {
    position: relative;
    padding-right: 8rem;
  }
  
  .panel-controls {
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    gap: 0.25rem;
  }
  
  .field-row {
    margin-bottom: 0.75rem;
    display: flex;
    flex-direction: column;
  }
  
  .field-row strong {
    margin-bottom: 0.25rem;
    font-size: 0.875rem;
    color: #4a4a4a;
  }
  
  .field-row span {
    padding-left: 0.5rem;
    border-left: 3px solid #dbdbdb;
    font-size: 0.875rem;
  }
  
  .canvas-container {
    position: relative;
    background: #f5f5f5;
    border: 1px solid #dbdbdb;
    border-radius: 4px;
    overflow: hidden;
    height: 100%;
    min-height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .artwork-canvas {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
  }
  
  .loading-overlay-artwork,
  .no-selection-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(245, 245, 245, 0.9);
  }
  
  .loader {
    width: 40px;
    height: 40px;
    border: 4px solid #dbdbdb;
    border-top: 4px solid #3273dc;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin: 0 auto 1rem;
  }
  
  @keyframes spin {
    0% {
      transform: rotate(0deg);
    }
  
    100% {
      transform: rotate(360deg);
    }
  }
  
  .zoom-indicator {
    position: absolute;
    bottom: 0.5rem;
    right: 0.5rem;
    background: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 0.25rem 0.5rem;
    border-radius: 3px;
    font-size: 0.75rem;
  }
  
  .thumbnails-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
  }
  
  .thumbnail-item {
    cursor: pointer;
    border: 2px solid transparent;
    border-radius: 4px;
    padding: 0.5rem;
    transition: all 0.2s ease;
    position: relative;
  }
  
  .thumbnail-item:hover {
    border-color: #3273dc;
    background: #f0f8ff;
  }
  
  .thumbnail-item.is-active {
    border-color: #3273dc;
    background: #e3f2fd;
  }
  
  .thumbnail-item figure {
    position: relative;
    margin-bottom: 0.5rem;
  }
  
  .image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.2s ease;
  }
  
  .thumbnail-item:hover .image-overlay {
    opacity: 1;
  }
  
  .image-overlay .icon {
    color: white;
  }
  
  .thumbnail-label {
    font-size: 0.75rem;
    font-weight: 600;
    word-break: break-word;
    line-height: 1.2;
  }
  
  .no-assets {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 200px;
  }
  
  /* Responsive adjustments */
  @media (max-width: 1200px) {
    .artwork-details-container {
      height: 70vh;
      min-height: 500px;
    }
  
    .canvas-container {
      min-height: 300px;
    }
  }
  
  @media (max-width: 768px) {
    .artwork-details-container {
      height: 85vh;
      min-height: 400px;
    }
  
    .columns {
      flex-direction: column;
    }
  
    .canvas-container {
      min-height: 250px;
    }
  
    .thumbnails-grid {
      grid-template-columns: repeat(4, 1fr);
    }
  }
  
  @media (max-width: 480px) {
    .panel-controls {
      position: relative;
      right: auto;
      top: auto;
      transform: none;
      margin-top: 0.5rem;
    }
  
    .panel-heading {
      padding-right: 0.75rem;
      text-align: center;
      flex-direction: column;
      align-items: center;
    }
  }
  
  .loader-spinner-skeleton {
    width: 48px;
    height: 48px;
    border: 5px solid #999;
    border-bottom-color: transparent;
    border-radius: 50%;
    display: inline-block;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-top: -24px;
    margin-left: -24px;
  }
  
  @keyframes rotation {
    0% {
      transform: rotate(0deg);
    }
  
    100% {
      transform: rotate(360deg);
    }
  }
  
  .cursor-pointer {
    cursor: pointer !important;
  }
  
  /* Cart Updates */
  .cart_total--subtotal {
    display: none;
  }
  
  .cart_total--shipping {
    display: none;
  }
  
  .item-image .image img {
    object-fit: contain;
    height: 100%;
  }
  
  .shoppingcart__wrapper .cartform .cartTableWrapper .cart-item-row .cart--pictures .shopping-cart__product__images__item img {
    object-fit: contain;
    height: 100%;
  }
  
  .thumbnail-item img {
    object-fit: contain;
  }
  
  /* landing page */
  .newProductPriceWrapper {
    display: none;
  }
  
  .add-to-cart-buttons-wrapper {
    display: none;
  }
  
  /* My Account */
  .cf_accountlinks_CustomerAddresses {
    display: none;
  }
  
  .customer__section:not(:first-of-type) {
    display: none;
  }
  
  /* Checkout */
  #checkout-confirm-order-load .subtitle,
  #checkout-confirm-order-load .order-summary-body {
      display: none;
  }
  
  .checkout-data-info__orderdetails {
    display:none;
  }
  
  .checkout-data-info__orderid {
    display:none;
  }
  
  #use-same-shipping-address {
    display: none !important;
  }
  
  /* Export button */
  .is-loadingKeepContent {
    min-width: 10rem;
  }
  
  .priceScriptInfo .is-danger {
      background-color: #F7C1C6 !important;
      color: Red;
  }
  
  .priceScriptInfo .is-info {
    background-color: #69afdb !important;
  }
  
  html.page-customer-passwordrecoveryconfirm {
      background: url(/-301791281/Handler/Picture/GU/F/ThemeImages/Color.BlocksCustomerPortal.png);
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat;
      min-height: 100%;
  }
  
  .password-recovery-confirmation {
      position: absolute;
      width: 37rem;
      background: #fff;
      padding: 3rem 0!important;
      right: 0px;
      height: 100%;
      padding-top: 10vh!important;
  }
  
  .password-reset-form input {
      min-width: 100%;
  }
  
  .password-reset-form:before {
      /* content: 'Password must contain 8 characters1 upper case1 lower case1 specialty character @#$%'; */
  }
  
  .password-recovery-confirmation:before {
      content: '';
      display: inline-block;
      height: 9rem;
      width: 9rem;
      background: url(/-559794100/Handler/Picture/GU/F/ThemeImages/FortisLogo1.png);
      background-size: contain;
      background-position: center center;
      background-repeat: no-repeat;
      margin-bottom: 1.5rem;
      margin-left:4.5rem;
  }
  @media screen and (min-width: 1088px) {
   .navbar.ict-navbar .navbar-dropdown {
              top: 100%;
   }
  }
  .navbar>.container {
      justify-content: space-between;
  }
  .header-links-wrapper .adminlinks {
      margin-right: 2rem;
  }
  .registration-page.registration-success.section.is-large .buttons {
      display: none;
  }
  p.registration-page__result {
      font-size: 1.3rem;
      color: #3F51B5;
      font-weight: bold;
  }
  
  #loginmessage-modal {
    display: none !important;
  }
  
  #loginmessage-modal.show-login-modal {
    display: flex !important;
  }
  
  #loginmessage-modal .modal-card-title {
    visibility: hidden;
  }
  

  /* Hide only the first "title is-5 is-spaced" paragraph */
.OpcDeliveryDatePicker 
.deliveryDetails 
.column 
p.title.is-5.is-spaced:first-of-type {
    visibility: hidden;
    position: relative;
}

/* Inject replacement text */
.OpcDeliveryDatePicker 
.deliveryDetails 
.column 
p.title.is-5.is-spaced:first-of-type::after {
    content: "Up to 15 business days";
    visibility: visible;
    position: absolute;
    left: 0;
    top: 0;
}